예제 #1
0
		public Dracolich () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Name = NameList.RandomName( "dragon" );
			Title = "the dracolich";
			Body = 104;
			BaseSoundID = 0x488;

			SetStr( 898, 1030 );
			SetDex( 68, 200 );
			SetInt( 488, 620 );

			SetHits( 558, 599 );

			SetDamage( 29, 35 );

			SetDamageType( ResistanceType.Physical, 75 );
			SetDamageType( ResistanceType.Fire, 25 );

			SetResistance( ResistanceType.Physical, 75, 80 );
			SetResistance( ResistanceType.Fire, 40, 60 );
			SetResistance( ResistanceType.Cold, 40, 60 );
			SetResistance( ResistanceType.Poison, 70, 80 );
			SetResistance( ResistanceType.Energy, 40, 60 );

			SetSkill( SkillName.EvalInt, 80.1, 100.0 );
			SetSkill( SkillName.Magery, 80.1, 100.0 );
			SetSkill( SkillName.MagicResist, 100.3, 130.0 );
			SetSkill( SkillName.Tactics, 97.6, 100.0 );
			SetSkill( SkillName.Wrestling, 97.6, 100.0 );

			Fame = 22500;
			Karma = -22500;

			VirtualArmor = 80;

			PackNecroReg( 12, 40 );
			PackNecroReg( 12, 40 );

			Item dracoItem = null;

			switch ( Utility.RandomMinMax( 0, 2 ) )
			{
				case 0: dracoItem = Loot.RandomWeapon( false ); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "Dracolich", "IGNORED", MorphingTemplates.TemplateDracolich("weapons") ); PackItem( dracoItem ); break;
				case 1: dracoItem = Loot.RandomJewelry(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "Dracolich", "IGNORED", MorphingTemplates.TemplateDracolich("misc") ); PackItem( dracoItem ); break;
				case 2:
					switch ( Utility.RandomMinMax( 0, 6 ) )
					{
						case 0: dracoItem = new BoneLegs(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Leggings", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 1: dracoItem = new BoneGloves(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Gloves", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 2: dracoItem = new BoneArms(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Arms", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 3: dracoItem = new BoneChest(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Tunic", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 4: dracoItem = new BoneSkirt(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Tunic", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 5: dracoItem = new OrcHelm(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Helm", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 6: dracoItem = new WoodenShield(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Shield", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
					}
				break;
			}
		}
예제 #2
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            Mobile killer = this.LastKiller;

            if (killer != null)
            {
                if (killer is BaseCreature)
                {
                    killer = ((BaseCreature)killer).GetMaster();
                }

                if (killer is PlayerMobile)
                {
                    if (GetPlayerInfo.LuckyKiller(killer.Luck) && Utility.RandomMinMax(1, 4) == 1)
                    {
                        switch (Utility.RandomMinMax(0, 8))
                        {
                        case 0: Item loot1 = new PlateChest(); loot1.Name = "tunic"; MorphingItem.MorphMyItem(loot1, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot1); break;

                        case 1: Item loot2 = new PlateArms(); loot2.Name = "arms"; MorphingItem.MorphMyItem(loot2, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot2); break;

                        case 2: Item loot3 = new PlateLegs(); loot3.Name = "leggings"; MorphingItem.MorphMyItem(loot3, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot3); break;

                        case 3: Item loot4 = new PlateGorget(); loot4.Name = "gorget"; MorphingItem.MorphMyItem(loot4, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot4); break;

                        case 4: Item loot5 = new PlateGloves(); loot5.Name = "guantlets"; MorphingItem.MorphMyItem(loot5, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot5); break;

                        case 5: Item loot6 = new OrcHelm(); loot6.Name = "helm"; MorphingItem.MorphMyItem(loot6, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot6); break;

                        case 6: Item loot7 = new RoyalSword(); loot7.Name = "sword"; MorphingItem.MorphMyItem(loot7, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("weapons")); c.DropItem(loot7); break;

                        case 7: Item loot8 = new ChaosShield(); loot8.Name = "shield"; MorphingItem.MorphMyItem(loot8, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot8); break;

                        case 8: Item loot9 = Loot.RandomJewelry(); MorphingItem.MorphMyItem(loot9, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("misc")); c.DropItem(loot9); break;
                        }
                    }
                }
            }
        }
예제 #3
0
        public override void GenerateLoot()
        {
            Item item = null;

            if (Utility.RandomDouble() > 0.95)
            {
                AddItem(new OrcishKinMask());
            }

            AddLoot(LootPack.Average);

            item = new ThighBoots();
            PackItem(item);
            item = new OrcHelm();
            PackItem(item);

            if (Utility.Random(2) < 1)
            {
                AddLoot(LootPack.Gems);
            }
        }
예제 #4
0
        public SavageAlien() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = "an alien savage";

            Hue = Utility.RandomList(0x6F6, 0x97F, 0x99B, 0x6E4, 0x5E0, 0xB38, 0xB2B);

            string metal = Server.Misc.MorphingTime.GetSpaceAceMetalName();
            string cloth = Server.Misc.MorphingTime.GetSpaceAceClothName();
            string bone  = Server.Misc.MorphingTime.GetSpaceAceBoneName();
            string wood  = Server.Misc.MorphingTime.GetSpaceAceWoodName();

            if (Female = Utility.RandomBool())
            {
                Body = 401;
            }
            else
            {
                Body = 400;
            }

            SetStr(336, 385);
            SetDex(281, 305);
            SetInt(96, 115);

            SetHits(202, 231);
            SetMana(0);

            SetDamage(7, 23);

            SetDamageType(ResistanceType.Physical, 100);

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

            SetSkill(SkillName.MagicResist, 125.1, 140.0);
            SetSkill(SkillName.Tactics, 90.1, 100.0);
            SetSkill(SkillName.Wrestling, 90.1, 100.0);

            SetSkill(SkillName.Fencing, 125.1, 140.0);
            SetSkill(SkillName.Macing, 125.1, 140.0);
            SetSkill(SkillName.Wrestling, 125.1, 140.0);
            SetSkill(SkillName.MagicResist, 67.5, 100.0);
            SetSkill(SkillName.Swords, 125.1, 140.0);
            SetSkill(SkillName.Tactics, 125.1, 140.0);

            Fame  = 10000;
            Karma = -10000;

            VirtualArmor = 50;

            Item cloth1 = new SavageArms();

            MorphingTime.MakeSpaceAceBoneArmor(cloth1, bone, false);
            AddItem(cloth1);
            Item cloth2 = new SavageLegs();

            MorphingTime.MakeSpaceAceBoneArmor(cloth2, bone, false);
            AddItem(cloth2);
            Item cloth3 = new LeatherSkirt();

            cloth3.Name = "skin skirt";
            MorphingTime.MakeSpaceAceBoneArmor(cloth3, bone, true);
            cloth3.Layer = Layer.Waist;
            AddItem(cloth3);

            switch (Utility.RandomMinMax(0, 3))
            {
            case 0: Item cloth4 = new OrcHelm(); MorphingTime.MakeSpaceAceBoneArmor(cloth4, bone, false); AddItem(cloth4); break;

            case 1: Item cloth5 = new SavageHelm(); MorphingTime.MakeSpaceAceBoneArmor(cloth5, bone, false); AddItem(cloth5); break;

            case 2: Item cloth6 = new TribalMask(); cloth6.Name = "skin mask"; MorphingTime.MakeSpaceAceBoneArmor(cloth6, bone, true); AddItem(cloth6); break;
            }

            if (Utility.RandomMinMax(1, 10) == 1)
            {
                Item cloth7 = new SavageChest();
                MorphingTime.MakeSpaceAceBoneArmor(cloth7, bone, false);
                AddItem(cloth7);
            }
            else if (Female)
            {
                Item cloth8 = new FemaleLeatherChest();
                cloth8.Name = "skin tunic";
                MorphingTime.MakeSpaceAceBoneArmor(cloth8, bone, true);
                AddItem(cloth8);
            }

            IntelligentAction.GiveBasicWepShld(this);

            if (this.FindItemOnLayer(Layer.OneHanded) != null)
            {
                if (MaterialInfo.IsAnyKindOfMetalItem(this.FindItemOnLayer(Layer.OneHanded)))
                {
                    MorphingTime.MakeSpaceAceMetalArmorWeapon(this.FindItemOnLayer(Layer.OneHanded), metal);
                }
                else if (MaterialInfo.IsAnyKindOfClothItem(this.FindItemOnLayer(Layer.OneHanded)))
                {
                    MorphingTime.MakeSpaceAceClothArmorWeapon(this.FindItemOnLayer(Layer.OneHanded), cloth);
                }
                else if (MaterialInfo.IsAnyKindOfWoodItem(this.FindItemOnLayer(Layer.OneHanded)))
                {
                    MorphingTime.MakeSpaceAceWoodArmorWeapon(this.FindItemOnLayer(Layer.OneHanded), wood);
                }
            }

            if (this.FindItemOnLayer(Layer.TwoHanded) != null)
            {
                Item hand = this.FindItemOnLayer(Layer.TwoHanded);

                if (hand is BaseShield)
                {
                    switch (Utility.RandomMinMax(1, 4))
                    {
                    case 1: hand.ItemID = 0x1B76; hand.Name = "hull plate";         break;

                    case 2: hand.ItemID = 0x1B76; hand.Name = "deck plate";         break;

                    case 3: hand.ItemID = 0x1B72; hand.Name = "hatch door";         break;

                    case 4: hand.ItemID = 0x1B7B; hand.Name = "hatch cover";        break;
                    }
                    MorphingTime.MakeSpaceAceMetalArmorWeapon(hand, metal);
                }
                else if (MaterialInfo.IsAnyKindOfMetalItem(hand))
                {
                    MorphingTime.MakeSpaceAceMetalArmorWeapon(hand, metal);
                }
                else if (MaterialInfo.IsAnyKindOfClothItem(hand))
                {
                    MorphingTime.MakeSpaceAceClothArmorWeapon(hand, cloth);
                }
                else if (MaterialInfo.IsAnyKindOfWoodItem(hand))
                {
                    MorphingTime.MakeSpaceAceWoodArmorWeapon(hand, wood);
                }
            }
        }