예제 #1
0
        public DraculaBride() : base(AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4)
        {
            BaseSoundID = 0x17F;
            Blessed     = true;

            Name  = "Dolengen";
            Title = "the Countess of Gratz";

            CantWalk  = true;
            Direction = Direction.East;

            Body = 401;

            int GhostHue = 0x47E;

            Hue = GhostHue;

            Utility.AssignRandomHair(this);
            HairHue = GhostHue;

            AddItem(new Sandals());

            switch (Utility.RandomMinMax(0, 2))
            {
            case 0: AddItem(new FancyDress());    break;

            case 1: AddItem(new GildedDress());   break;

            case 2: AddItem(new PlainDress());    break;
            }

            MorphingTime.BlessMyClothes(this);
            MorphingTime.ColorMyClothes(this, GhostHue);
        }
예제 #2
0
        public override void OnAfterSpawn()
        {
            Server.Misc.IntelligentAction.BeforeMyBirth(this);

            if (this.Hue == 1150)
            {
                MorphingTime.BlessMyClothes(this); MorphingTime.ColorMyClothes(this, 1150);
            }
            else if (this.Hue == 0xB97)
            {
                MorphingTime.ColorMyClothes(this, 0xB9A);
            }
            else
            {
                Item helm = new WornHumanDeco();
                helm.Name   = "skull";
                helm.ItemID = 0x1451;
                helm.Hue    = this.Hue;
                helm.Layer  = Layer.Ring;
                AddItem(helm);

                Item hands = new WornHumanDeco();
                hands.Name   = "bony fingers";
                hands.ItemID = 0x1450;
                hands.Hue    = this.Hue;
                hands.Layer  = Layer.Gloves;
                AddItem(hands);
            }

            base.OnAfterSpawn();
        }
예제 #3
0
        public Kull() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = "Spirit of Kull";
            Title       = "the Dragyn Rider";
            BaseSoundID = 412;
            Hue         = 1150;
            Body        = 0x190;

            SetStr(386, 400);
            SetDex(151, 165);
            SetInt(161, 175);

            SetHits(200, 300);

            SetDamage(8, 10);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 35, 45);
            SetResistance(ResistanceType.Fire, 25, 30);
            SetResistance(ResistanceType.Cold, 25, 30);
            SetResistance(ResistanceType.Poison, 10, 20);
            SetResistance(ResistanceType.Energy, 10, 20);

            SetSkill(SkillName.DetectHidden, 100.0);
            SetSkill(SkillName.Anatomy, 125.0);
            SetSkill(SkillName.Poisoning, 60.0, 82.5);
            SetSkill(SkillName.MagicResist, 83.5, 92.5);
            SetSkill(SkillName.Swords, 125.0);
            SetSkill(SkillName.Tactics, 125.0);

            Fame  = 10000;
            Karma = -10000;

            VirtualArmor = 20;

            AddItem(new PlateChest());
            AddItem(new PlateArms());
            AddItem(new PlateLegs());
            AddItem(new PlateGorget());
            AddItem(new PlateGloves());
            AddItem(new OrcHelm());
            AddItem(new Longsword());
            AddItem(new OrderShield());

            MorphingTime.BlessMyClothes(this);
            MorphingTime.ColorMyClothes(this, 0x59B);

            AddItem(new LightSource());
            new GhostDragyn().Rider = this;
            ActiveSpeed             = 0.1;
            PassiveSpeed            = 0.2;
        }
예제 #4
0
        public Vordo() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Body  = 400;
            Name  = "Vordo";
            Title = "of the darkest magic";
            Hue   = 0x47E;

            AddItem(new Robe());
            AddItem(new WizardsHat());
            AddItem(new ThighBoots());

            MorphingTime.BlessMyClothes(this);
            MorphingTime.ColorMyClothes(this, 1194);

            BaseSoundID = 412;

            SetStr(171, 200);
            SetDex(126, 145);
            SetInt(276, 305);

            SetHits(11103, 11120);

            SetDamage(24, 26);

            SetDamageType(ResistanceType.Physical, 10);
            SetDamageType(ResistanceType.Cold, 40);
            SetDamageType(ResistanceType.Energy, 50);

            SetResistance(ResistanceType.Physical, 60, 65);
            SetResistance(ResistanceType.Fire, 50, 60);
            SetResistance(ResistanceType.Cold, 60, 70);
            SetResistance(ResistanceType.Poison, 55, 65);
            SetResistance(ResistanceType.Energy, 50, 60);

            SetSkill(SkillName.Necromancy, 89, 99.1);
            SetSkill(SkillName.SpiritSpeak, 90.0, 99.0);

            SetSkill(SkillName.EvalInt, 100.0);
            SetSkill(SkillName.Magery, 70.1, 80.0);
            SetSkill(SkillName.Meditation, 85.1, 95.0);
            SetSkill(SkillName.MagicResist, 80.1, 100.0);
            SetSkill(SkillName.Tactics, 70.1, 90.0);

            Fame  = 12000;
            Karma = -12000;

            VirtualArmor = 40;
            PackNecroReg(17, 24);

            AddItem(new LightSource());
        }
예제 #5
0
        public GrundulVarg() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = "Grundul Varg";
            Title       = "the Slayer of Men";
            BaseSoundID = 412;
            Hue         = 1150;
            Body        = 0x190;

            SetStr(386, 400);
            SetDex(151, 165);
            SetInt(161, 175);

            SetHits(200, 300);

            SetDamage(8, 10);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 35, 45);
            SetResistance(ResistanceType.Fire, 25, 30);
            SetResistance(ResistanceType.Cold, 25, 30);
            SetResistance(ResistanceType.Poison, 10, 20);
            SetResistance(ResistanceType.Energy, 10, 20);

            SetSkill(SkillName.DetectHidden, 100.0);
            SetSkill(SkillName.Anatomy, 125.0);
            SetSkill(SkillName.Poisoning, 60.0, 82.5);
            SetSkill(SkillName.MagicResist, 83.5, 92.5);
            SetSkill(SkillName.Swords, 125.0);
            SetSkill(SkillName.Tactics, 125.0);

            Fame  = 10000;
            Karma = -10000;

            VirtualArmor = 20;

            AddItem(new PlateChest());
            AddItem(new PlateArms());
            AddItem(new PlateLegs());
            AddItem(new PlateGorget());
            AddItem(new PlateGloves());
            AddItem(new OrcHelm());
            AddItem(new RoyalSword());
            AddItem(new ChaosShield());

            MorphingTime.BlessMyClothes(this);
            MorphingTime.ColorMyClothes(this, 1167);

            AddItem(new LightSource());
        }
예제 #6
0
        public override void OnAfterSpawn()
        {
            Server.Misc.IntelligentAction.ChooseFighter(this, "undead ");

            if (this.Hue == 1150)
            {
                MorphingTime.BlessMyClothes(this); MorphingTime.ColorMyClothes(this, 1150);
            }
            else if (this.Hue == 0xB97)
            {
                MorphingTime.ColorMyClothes(this, 0xB9A);
            }
            else
            {
                Item helm = new WornHumanDeco();
                helm.Name   = "skull";
                helm.ItemID = 0x1451;
                helm.Hue    = this.Hue;
                helm.Layer  = Layer.Helm;
                AddItem(helm);
            }

            base.OnAfterSpawn();
        }
예제 #7
0
        public LostKnight() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = NameList.RandomName("barb_male");
            Title       = "the lost knight";
            BaseSoundID = 412;
            Hue         = 1;
            Body        = 0x190;

            SetStr(386, 400);
            SetDex(151, 165);
            SetInt(161, 175);

            SetHits(200, 300);

            SetDamage(8, 10);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 35, 45);
            SetResistance(ResistanceType.Fire, 25, 30);
            SetResistance(ResistanceType.Cold, 25, 30);
            SetResistance(ResistanceType.Poison, 10, 20);
            SetResistance(ResistanceType.Energy, 10, 20);

            SetSkill(SkillName.DetectHidden, 100.0);
            SetSkill(SkillName.Anatomy, 125.0);
            SetSkill(SkillName.Poisoning, 60.0, 82.5);
            SetSkill(SkillName.MagicResist, 83.5, 92.5);
            SetSkill(SkillName.Swords, 125.0);
            SetSkill(SkillName.Tactics, 125.0);

            Fame  = 10000;
            Karma = -10000;

            VirtualArmor = 20;

            Item armor1 = new PlateChest();

            AddItem(armor1);
            Item armor2 = new PlateArms();

            AddItem(armor2);
            Item armor3 = new PlateLegs();

            AddItem(armor3);
            Item armor4 = new PlateGorget();

            AddItem(armor4);
            Item armor5 = new PlateGloves();

            AddItem(armor5);
            Item armor6 = new PlateHelm();

            AddItem(armor6);
            Item armor7 = new Longsword();

            AddItem(armor7);
            Item armor8 = new OrderShield();

            AddItem(armor8);

            MorphingTime.BlessMyClothes(this);
            MorphingTime.ColorMyClothes(this, 0x47E);

            if (1 == Utility.RandomMinMax(0, 2))
            {
                switch (Utility.RandomMinMax(0, 7))
                {
                case 0: armor1.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor1, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 1: armor2.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor2, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 2: armor3.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor3, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 3: armor4.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor4, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 4: armor5.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor5, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 5: armor6.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor6, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 6: armor7.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor7, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("weapons")); break;

                case 7: armor8.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor8, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;
                }
            }

            AddItem(new LightSource());
        }
예제 #8
0
        public Murk() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = "Murk";
            Title       = "the Slayer of the Coast";
            BaseSoundID = 412;
            Hue         = 0x430;
            Body        = 0x190;

            FacialHairItemID = 0x204C;       // BEARD
            HairItemID       = 0x203C;       // LONG HAIR
            FacialHairHue    = 0x430;
            HairHue          = 0x430;

            SetStr(386, 400);
            SetDex(151, 165);
            SetInt(161, 175);

            SetHits(200, 300);

            SetDamage(8, 10);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 35, 45);
            SetResistance(ResistanceType.Fire, 25, 30);
            SetResistance(ResistanceType.Cold, 25, 30);
            SetResistance(ResistanceType.Poison, 10, 20);
            SetResistance(ResistanceType.Energy, 10, 20);

            SetSkill(SkillName.DetectHidden, 100.0);
            SetSkill(SkillName.Anatomy, 125.0);
            SetSkill(SkillName.Poisoning, 60.0, 82.5);
            SetSkill(SkillName.MagicResist, 83.5, 92.5);
            SetSkill(SkillName.Swords, 125.0);
            SetSkill(SkillName.Tactics, 125.0);

            Fame  = 10000;
            Karma = -10000;

            VirtualArmor = 20;

            PirateChest MyChest = new PirateChest(12, null);

            MyChest.ContainerOwner = "Murk's Lost Treasure Chest";
            PackItem(MyChest);

            AddItem(new StuddedChest());
            AddItem(new StuddedArms());
            AddItem(new StuddedLegs());
            AddItem(new StuddedGorget());
            AddItem(new StuddedGloves());
            AddItem(new TricorneHat());
            AddItem(new Scimitar());
            AddItem(new Buckler());
            AddItem(new Boots());

            MorphingTime.BlessMyClothes(this);
            MorphingTime.ColorMyClothes(this, 0x430);

            AddItem(new LightSource());
        }
예제 #9
0
        public SkeletalPirate() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = "a skeletal pirate";
            BaseSoundID = 451;

            Body = 0x190;
            if (Utility.RandomMinMax(0, 1) == 1)
            {
                Body = 0x191;
            }

            Hue = 0xB97;

            SetStr(196, 250);
            SetDex(76, 95);
            SetInt(36, 60);

            SetHits(118, 150);

            SetDamage(8, 18);

            SetDamageType(ResistanceType.Physical, 40);
            SetDamageType(ResistanceType.Cold, 60);

            SetResistance(ResistanceType.Physical, 35, 45);
            SetResistance(ResistanceType.Fire, 20, 30);
            SetResistance(ResistanceType.Cold, 50, 60);
            SetResistance(ResistanceType.Poison, 20, 30);
            SetResistance(ResistanceType.Energy, 30, 40);

            SetSkill(SkillName.MagicResist, 65.1, 80.0);
            SetSkill(SkillName.Tactics, 85.1, 100.0);
            SetSkill(SkillName.Wrestling, 85.1, 95.0);

            Fame  = 3000;
            Karma = -3000;

            VirtualArmor = 40;

            AddItem(new LongPants());
            AddItem(new FancyShirt());

            switch (Utility.Random(3))
            {
            case 0: AddItem(new Longsword()); break;

            case 1: AddItem(new Cutlass()); break;

            case 2: AddItem(new Dagger()); break;
            }

            MorphingTime.BlessMyClothes(this);
            MorphingTime.ColorMyClothes(this, 0xB9A);

            Item helm = new WornHumanDeco();

            helm.Name   = "skull";
            helm.ItemID = 0x1451;
            helm.Hue    = this.Hue;
            helm.Layer  = Layer.Helm;
            AddItem(helm);

            Item hands = new WornHumanDeco();

            hands.Name   = "bony fingers";
            hands.ItemID = 0x1450;
            hands.Hue    = this.Hue;
            hands.Layer  = Layer.Gloves;
            AddItem(hands);

            Item feet = new WornHumanDeco();

            feet.Name   = "bony feet";
            feet.ItemID = 0x170D;
            feet.Hue    = this.Hue;
            feet.Layer  = Layer.Shoes;
            AddItem(feet);

            int[] list = new int[]
            {
                0x1B11, 0x1B12, 0x1B13, 0x1B14, 0x1B15, 0x1B16, 0x1B19, 0x1B1A, // bone parts
                0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4,                         // skulls
                0x1B17, 0x1B18, 0x1B1B, 0x1B1C,                                 // ribs and spines
                0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles
                0xECA, 0xECB, 0xECC, 0xECD, 0xECE, 0xECF, 0xED0, 0xED1, 0xED2   // bones
            };

            PackItem(new BodyPart(Utility.RandomList(list)));
        }
예제 #10
0
        public GhostWizard() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            switch (Utility.RandomMinMax(0, 1))
            {
            case 0: Body = 401;     break;

            case 1: Body = 400;     break;
            }

            switch (Utility.RandomMinMax(0, 8))
            {
            case 0: Name = "a ghost";               break;

            case 1: Name = "a spirit";              break;

            case 2: Name = "a phantom";             break;

            case 3: Name = "a shadow";              break;

            case 4: Name = "an apparition"; break;

            case 5: Name = "a haunt";               break;

            case 6: Name = "a shade";               break;

            case 7: Name = "a spectre";             break;

            case 8: Name = "a wraith";              break;
            }

            int GhostHue = 0x47E;

            Hue = GhostHue;

            if (1 == Utility.RandomMinMax(1, 2))
            {
                Utility.AssignRandomHair(this); HairHue = GhostHue;
            }

            switch (Utility.RandomMinMax(0, 1))
            {
            case 0: AddItem(new Boots());                 break;

            case 1: AddItem(new ThighBoots());    break;
            }

            if (1 == Utility.RandomMinMax(1, 2))
            {
                AddItem(new Cloak());
            }
            if (1 == Utility.RandomMinMax(1, 2))
            {
                switch (Utility.RandomMinMax(0, 6))
                {
                case 0: AddItem(new WizardsHat());    break;

                case 1: AddItem(new WitchHat());              break;

                case 2: AddItem(new ReaperCowl());    break;

                case 3: AddItem(new ReaperHood());    break;

                case 4: AddItem(new ClothHood());             break;

                case 5: AddItem(new ClothCowl());             break;

                case 6: AddItem(new FancyHood());             break;
                }
            }

            if (Body == 400)
            {
                AddItem(new Robe());
            }
            else
            {
                switch (Utility.RandomMinMax(0, 2))
                {
                case 0: AddItem(new FancyDress());    break;

                case 1: AddItem(new GildedDress());   break;

                case 2: AddItem(new PlainDress());    break;
                }
            }

            MorphingTime.BlessMyClothes(this);
            MorphingTime.ColorMyClothes(this, GhostHue);

            BaseSoundID = 0x482;

            SetStr(81, 105);
            SetDex(91, 115);
            SetInt(96, 120);

            SetHits(49, 63);

            SetDamage(5, 10);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 15, 20);
            SetResistance(ResistanceType.Fire, 5, 10);
            SetResistance(ResistanceType.Poison, 5, 10);
            SetResistance(ResistanceType.Energy, 5, 10);

            SetSkill(SkillName.EvalInt, 75.1, 100.0);
            SetSkill(SkillName.Magery, 75.1, 100.0);
            SetSkill(SkillName.MagicResist, 75.0, 97.5);
            SetSkill(SkillName.Tactics, 65.0, 87.5);
            SetSkill(SkillName.Wrestling, 20.2, 60.0);

            Fame  = 2500;
            Karma = -2500;

            VirtualArmor = 16;
            PackReg(Utility.RandomMinMax(1, 5));
            PackReg(Utility.RandomMinMax(1, 5));
            PackReg(Utility.RandomMinMax(1, 5));

            AddItem(new LightSource());
        }
예제 #11
0
        public GhostPirate() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            switch (Utility.RandomMinMax(0, 1))
            {
            case 0: Body = 401;     break;

            case 1: Body = 400;     break;
            }

            switch (Utility.RandomMinMax(0, 8))
            {
            case 0: Name = "a ghost";               break;

            case 1: Name = "a spirit";              break;

            case 2: Name = "a phantom";             break;

            case 3: Name = "a shadow";              break;

            case 4: Name = "a apparition";  break;

            case 5: Name = "a haunt";               break;

            case 6: Name = "a shade";               break;

            case 7: Name = "a spectre";             break;

            case 8: Name = "a wraith";              break;
            }

            int GhostHue = 0x47E;

            Hue = GhostHue;

            if (1 == Utility.RandomMinMax(1, 2))
            {
                Utility.AssignRandomHair(this); HairHue = GhostHue;
            }

            switch (Utility.RandomMinMax(0, 1))
            {
            case 0: AddItem(new Boots());                 break;

            case 1: AddItem(new ThighBoots());    break;
            }

            switch (Utility.Random(1))
            {
            case 0: AddItem(new LongPants(Utility.RandomRedHue())); break;

            case 1: AddItem(new ShortPants(Utility.RandomRedHue())); break;
            }
            switch (Utility.Random(3))
            {
            case 0: AddItem(new FancyShirt(Utility.RandomRedHue())); break;

            case 1: AddItem(new Shirt(Utility.RandomRedHue())); break;

            case 2: AddItem(new Doublet(Utility.RandomRedHue())); break;
            }
            switch (Utility.Random(3))
            {
            case 0: AddItem(new Bandana(Utility.RandomRedHue())); break;

            case 1: AddItem(new SkullCap(Utility.RandomRedHue())); break;
            }

            switch (Utility.Random(3))
            {
            case 0: AddItem(new Longsword()); break;

            case 1: AddItem(new Cutlass()); break;

            case 2: AddItem(new Dagger()); break;
            }

            MorphingTime.BlessMyClothes(this);
            MorphingTime.ColorMyClothes(this, GhostHue);

            BaseSoundID = 0x482;

            SetStr(86, 100);
            SetDex(81, 95);
            SetInt(61, 75);

            SetDamage(10, 23);

            SetSkill(SkillName.Fencing, 66.0, 97.5);
            SetSkill(SkillName.Macing, 65.0, 87.5);
            SetSkill(SkillName.MagicResist, 65.0, 87.5);
            SetSkill(SkillName.Swords, 65.0, 87.5);
            SetSkill(SkillName.Tactics, 65.0, 87.5);
            SetSkill(SkillName.Wrestling, 15.0, 37.5);

            Fame  = 1000;
            Karma = -1000;

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 15, 20);
            SetResistance(ResistanceType.Cold, 20, 30);
            SetResistance(ResistanceType.Poison, 5, 10);

            VirtualArmor = 18;

            AddItem(new LightSource());
        }