Inheritance: BaseSword
        public MaginciaCouncilMember()
            : base(AIType.AI_Melee, FightMode.Agressor, 10, 1, 0.45, 0.8)
        {
            Female = Utility.RandomBool();
            Body = Female ? 401 : 400;
            Title = "the council member";
            Name = NameList.RandomName( Female ? "female" : "male" );
            Hue = Utility.RandomSkinHue();
            SetStr( 41, 55 );
            SetDex( 41, 55 );
            SetInt( 41, 55 );
            Karma = Utility.RandomMinMax( 0, -60 );

            SetSkill( SkillName.Tactics, 25, 47.5 );
            SetSkill( SkillName.MagicResist, 25, 47.5 );
            SetSkill( SkillName.Parry, 25, 47.5 );
            SetSkill( SkillName.Swords, 15, 37.5 );
            SetSkill( SkillName.Macing, 15, 37.5 );
            SetSkill( SkillName.Fencing, 15, 37.5 );
            SetSkill( SkillName.Wrestling, 15, 37.5 );

            Item item = null;
            if ( !Female )
            {
                item = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item = AddRandomFacialHair( item.Hue );
                item = new FancyShirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new LongPants();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new BodySash();
                item.Hue = Utility.RandomRedHue();
                AddItem( item );
                item = new Longsword();
                AddItem( item );
                LootPack.Rich.Generate( this );
            } else {
                item = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item = new FancyShirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new Skirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new BodySash();
                item.Hue = Utility.RandomRedHue();
                AddItem( item );
                item = new Longsword();
                AddItem( item );
                LootPack.Rich.Generate( this );
            }
        }
		public BlueUltimaWeapon() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.15, 0.4 )
		{
			Name = "Ultima Weapon";
			Body = 400;
			Hue = 1175;

			SetStr( 1000 );
			SetDex( 150 );
			SetInt( 1500 );

			SetDamage( 25, 30 );

			SetDamageType( ResistanceType.Physical, 100 );

			SetResistance( ResistanceType.Physical, 50 );
			SetResistance( ResistanceType.Fire, 50 );
			SetResistance( ResistanceType.Cold, 50 );
			SetResistance( ResistanceType.Poison, 50 );
			SetResistance( ResistanceType.Energy, 50 );

			SetSkill( SkillName.Anatomy, 120.0 );
			SetSkill( SkillName.EvalInt, 120.0 );
			SetSkill( SkillName.Forensics, 120.0 );
			SetSkill( SkillName.MagicResist, 120.0 );
			SetSkill( SkillName.Swords, 120.0 );
			SetSkill( SkillName.Tactics, 120.0 );

			Fame = 32000;
			Karma = -32000;

			VirtualArmor = 80;

			int hue = 1175;
			GiveItem( this, hue, new DragonHelm() );
			GiveItem( this, hue, new PlateGorget() );
			GiveItem( this, hue, new DragonChest() );
			GiveItem( this, hue, new DragonLegs() );
			GiveItem( this, hue, new DragonArms() );
			GiveItem( this, hue, new DragonGloves() );

			Longsword sword = new Longsword();
			sword.ItemID = 9934;
			GiveItem( this, hue, sword );

			BaseMount pet = null;

			pet = new Reptalon();
			pet.Hue = 1175;
			pet.Rider = this;

			m_BullRushDelay = DateTime.Now;
			m_EchoStrikeDelay = DateTime.Now;
			m_RallyDelay = DateTime.Now;
			m_Delay = DateTime.Now;
			m_EtherealDrainDelay = DateTime.Now;
		}
Exemple #3
0
        public MilitiaFighter()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            InitStats( 40, 30, 5 );
            Title = "the Militia Fighter";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            Female = false;
            Body = 0x190;
            Name = NameList.RandomName( "male" );

            Utility.AssignRandomHair( this );
            Utility.AssignRandomFacialHair( this, HairHue );

            AddItem( new ThighBoots( 0x1BB ) );
            AddItem( new LeatherChest() );
            AddItem( new LeatherArms() );
            AddItem( new LeatherLegs() );
            AddItem( new LeatherCap() );
            AddItem( new LeatherGloves() );
            AddItem( new LeatherGorget() );

            Item weapon;
            switch ( Utility.Random( 6 ) )
            {
                case 0:
                    weapon = new Broadsword();
                    break;
                case 1:
                    weapon = new Cutlass();
                    break;
                case 2:
                    weapon = new Katana();
                    break;
                case 3:
                    weapon = new Longsword();
                    break;
                case 4:
                    weapon = new Scimitar();
                    break;
                default:
                    weapon = new VikingSword();
                    break;
            }
            weapon.Movable = false;
            AddItem( weapon );

            Item shield = new BronzeShield();
            shield.Movable = false;
            AddItem( shield );

            SetSkill( SkillName.Swords, 20.0 );
        }
        public TheBlackKnight()
            : base(Nation.Vhalurian)
        {
            Name = "The Black Knight";
            SetStr( 150 );
            SetDex( 500 );
            SetInt( 9000 );

            SetDamage( 10, 15 );

            SetHits( 100 );

            SetDamageType( ResistanceType.Blunt, 100 );

            SetSkill( SkillName.Anatomy, 100.0 );
            SetSkill( SkillName.Swords, 100.0 );
            SetSkill( SkillName.Parry, 100.0 );
            SetSkill( SkillName.Tactics, 100.0 );

            this.Fame = 1500;

            this.VirtualArmor = 10;
            this.FightMode = FightMode.Closest;
            int hue = Utility.RandomNeutralHue();

            VhalurianOrnatePlateArms arms = new VhalurianOrnatePlateArms();
            arms.Hue = 1;
            EquipItem( arms );

            VhalurianOrnatePlateChest chest = new VhalurianOrnatePlateChest();
            chest.Hue = 1;
            EquipItem( chest );

            VhalurianOrnatePlateLegs legs = new VhalurianOrnatePlateLegs();
            legs.Hue = 1;
            EquipItem( legs );

            VhalurianOrnatePlateGloves gloves = new VhalurianOrnatePlateGloves();
            gloves.Hue = 1;
            EquipItem( gloves );

            VhalurianOrnatePlateGorget gorget = new VhalurianOrnatePlateGorget();
            gorget.Hue = 1;
            EquipItem( gorget );

            TyreanWingedHelm helm = new TyreanWingedHelm();
            helm.Hue = 1;
            EquipItem( helm );

            Longsword swrd = new Longsword();
            swrd.Hue = 0;
            EquipItem( swrd );
        }
        public MilitiaFighter()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            InitStats( 40, 30, 5 );
            Title = "the Militia Fighter";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            Female = false;
            Body = 0x190;
            Name = NameList.RandomName( "male" );

            Item hair = new Item( Utility.RandomList( 0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2049, 0x204A ) );
            hair.Hue = Utility.RandomHairHue();
            hair.Layer = Layer.Hair;
            hair.Movable = false;
            AddItem( hair );

            Item beard = new Item( Utility.RandomList( 0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D ) );
            beard.Hue = hair.Hue;
            beard.Layer = Layer.FacialHair;
            beard.Movable = false;
            AddItem( beard );

            AddItem( new ThighBoots( 0x1BB ) );
            AddItem( new LeatherChest() );
            AddItem( new LeatherArms() );
            AddItem( new LeatherLegs() );
            AddItem( new LeatherCap() );
            AddItem( new LeatherGloves() );
            AddItem( new LeatherGorget() );

            Item weapon;
            switch ( Utility.Random( 6 ) )
            {
                case 0: weapon = new Broadsword(); break;
                case 1: weapon = new Cutlass(); break;
                case 2: weapon = new Katana(); break;
                case 3: weapon = new Longsword(); break;
                case 4: weapon = new Scimitar(); break;
                default: weapon = new VikingSword(); break;
            }
            weapon.Movable = false;
            AddItem( weapon );

            Item shield = new BronzeShield();
            shield.Movable = false;
            AddItem( shield );

            SetSkill( SkillName.Swords, 20.0 );
        }
 public override void InitOutfit()
 {
     if ( Female )
     {
         Item item = null;
         item = AddRandomHair();
         item.Hue = Utility.RandomHairHue();
         item = new FancyDress();
         item.Hue = Utility.RandomNeutralHue();
         AddItem( item );
         item = new Cloak();
         item.Hue = Utility.RandomNondyedHue();
         AddItem( item );
         item = new BodySash();
         item.Hue = Utility.RandomNondyedHue();
         AddItem( item );
         item = Utility.RandomBool() ? (Item)new Boots() : (Item)new ThighBoots();
         AddItem( item );
         item = new Longsword();
         AddItem( item );
     }
     else
     {
         Item item = null;
         item = AddRandomHair();
         item.Hue = Utility.RandomHairHue();
         item = AddRandomFacialHair( item.Hue );
         item = new FancyShirt();
         item.Hue = Utility.RandomNondyedHue();
         AddItem( item );
         item = new LongPants();
         item.Hue = Utility.RandomNondyedHue();
         AddItem( item );
         item = new Cloak();
         item.Hue = Utility.RandomNondyedHue();
         AddItem( item );
         item = new BodySash();
         item.Hue = Utility.RandomNondyedHue();
         AddItem( item );
         item = Utility.RandomBool() ? (Item)new Boots() : (Item)new ThighBoots();
         AddItem( item );
         item = new Longsword();
         AddItem( item );
     }
 }
        public Balron()
            : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = NameList.RandomName( "balron" );
            Body = 40;
            BaseSoundID = 357;

            SetStr( 986, 1185 );
            SetDex( 177, 255 );
            SetInt( 151, 250 );

            SetHits( 592, 711 );

            SetDamage( 22, 29 );

            SetDamageType( ResistanceType.Physical, 50 );
            SetDamageType( ResistanceType.Fire, 25 );
            SetDamageType( ResistanceType.Energy, 25 );

            SetResistance( ResistanceType.Physical, 65, 80 );
            SetResistance( ResistanceType.Fire, 60, 80 );
            SetResistance( ResistanceType.Cold, 50, 60 );
            SetResistance( ResistanceType.Poison, 100 );
            SetResistance( ResistanceType.Energy, 40, 50 );

            SetSkill( SkillName.Anatomy, 25.1, 50.0 );
            SetSkill( SkillName.EvalInt, 90.1, 100.0 );
            SetSkill( SkillName.Magery, 95.5, 100.0 );
            SetSkill( SkillName.Meditation, 25.1, 50.0 );
            SetSkill( SkillName.MagicResist, 100.5, 150.0 );
            SetSkill( SkillName.Tactics, 90.1, 100.0 );
            SetSkill( SkillName.Wrestling, 90.1, 100.0 );

            Fame = 24000;
            Karma = -24000;

            VirtualArmor = 90;

            Longsword sword = new Longsword();
            BaseRunicTool.ApplyAttributesTo( sword, Utility.Random(6), 10, 80 );
            PackItem( sword );
        }
		public BlacksmithBarterVendor()
			: base( "the blacksmith" )
		{
			SetInterestLevel( TradeGoods.Armor, TradeGoodInterest.VeryHigh );
			SetInterestLevel( TradeGoods.Clothing, TradeGoodInterest.Moderate );
			SetInterestLevel( TradeGoods.Harvest, TradeGoodInterest.Moderate );
			SetInterestLevel( TradeGoods.Shields, TradeGoodInterest.High );
			SetInterestLevel( TradeGoods.Tools, TradeGoodInterest.Moderate );
			SetInterestLevel( TradeGoods.Weapons, TradeGoodInterest.High );

			Longsword sword;

			for( byte i = 0; i < 9; i++ )
			{
				sword = new Longsword();
				sword.Name = i + ": sword";

				BankBox.AddItem( sword );
			}
		}
Exemple #9
0
        public RingWraith()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = "A Ring Wraith";
            Body = 400;
            Hue = 1;

            SetStr( 250, 300 );
            SetDex( 250, 300 );
            SetInt( 250, 300 );

            SetHits( 200, 300 );

            SetDamage( 8, 18 );

            Direction = (Direction)Utility.Random( 8 );

            HoodedShroudOfShadows hood = new HoodedShroudOfShadows();
            hood.Movable = false;
            AddItem(hood);

            Longsword sword = new Longsword();
            sword.Movable = false;
            AddItem(sword);

            SetDamageType( ResistanceType.Physical, 40, 80 );
            SetDamageType( ResistanceType.Fire, 40, 80 );
            SetDamageType( ResistanceType.Poison, 40, 80 );

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

            SetSkill( SkillName.MagicResist, 100.0, 120.0 );
            SetSkill( SkillName.Tactics, 100.0, 120.0 );
            SetSkill( SkillName.Swords, 100.0, 120.0 );
        }
Exemple #10
0
		public Vampire() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Hue = 0x497;
			Body = 0x190;
			Name = "Vampire";

			SetStr( 450 );
			SetDex( 200, 300 );
			SetInt( 150, 200 );
			SetHits( 200, 300 );
			SetStam( 200, 300 );
			SetMana( 150, 200 );
			SetDamage( 10, 20 );

			SetSkill( SkillName.Parry, 75.0, 80.0 );
			SetSkill( SkillName.Poisoning, 90.0, 100.0 );
			SetSkill( SkillName.MagicResist, 75.0, 88.0 );
			SetSkill( SkillName.Swords, 75.0, 85.0 );
			SetSkill( SkillName.Tactics, 80.0, 90.0 );
			SetSkill( SkillName.Wrestling, 67.0, 80.0 );
			SetSkill( SkillName.Magery, 65.0, 80.0 );
            SetSkill(SkillName.EvalInt, 75.0, 85.0);

			Fame = 4000;
			Karma = -4000;
			VirtualArmor = 20;

		    Item temp = new PlateGloves {Movable = false, Hue = 0x0590, Name = "Vampire Plate Gauntlets"};
		    AddItem( temp );
			temp = new PlateArms {Hue = 0x0845, Movable = false, Name = "Vampire Plate Arms"};
		    AddItem( temp );
			temp = new PlateGorget {Movable = false, Hue = 0x0590, Name = "Vampire Plate Gorget"};
		    AddItem( temp );
			temp = new PlateLegs {Movable = false, Hue = 0x0590, Name = "Vampire Plate Legs"};
		    AddItem( temp );
			temp = new PlateChest {Movable = false, Hue = 0x0590, Name = "Vampire Plate Chest"};
		    AddItem( temp );
			temp = new Cloak( 0x1 ) {Movable = false};
		    AddItem( temp );

		    HairItemID = 8252;
		    HairHue = Utility.RandomHairHue();

			BaseSword twep;
			switch( Utility.Random( 8 ) )
			{
				case 0:
					twep = new Broadsword();
					break;
				case 1:
					twep = new Cutlass();
					break;
				case 2:
					twep = new Scimitar();
					break;
				case 3:
					twep = new Katana();
					break;
				case 4:
					twep = new Kryss();
					break;
				case 5:
					twep = new Longsword();
					break;
				case 6:
					twep = new ThinLongsword();
					break;
				default:
					twep = new VikingSword();
					break;
			}
			switch( Utility.Random( 3 ) )
			{
				case 0:
					twep.DamageLevel = WeaponDamageLevel.Ruin;
					break;
				case 1:
					twep.DamageLevel = WeaponDamageLevel.Might;
					break;
				case 2:
					twep.DamageLevel = WeaponDamageLevel.Force;
					break;
			}

			AddItem( twep );
		}
Exemple #11
0
        public override void InitOutfit()
        {
            Item item = null;

            int hairHue = Utility.RandomHairHue();
            Utility.AssignRandomHair(this, hairHue);

            item = new Cloak();
            AddItem(item);
            item.Hue = Utility.RandomNondyedHue();

            item = new BodySash();
            AddItem(item);
            item.Hue = Utility.RandomNondyedHue();

            item = Utility.RandomBool() ? (Item)new Boots() : (Item)new ThighBoots();
            AddItem(item);

            item = new Longsword();
            AddItem(item);

            AddLoot(LootPack.FilthyRich);

            if (!Female)
            {
                Utility.AssignRandomFacialHair(this, hairHue);

                item = new FancyShirt();
                AddItem(item);
                item.Hue = Utility.RandomNondyedHue();

                item = new LongPants();
                AddItem(item);
                item.Hue = Utility.RandomNondyedHue();
            }
            else
            {
                item = new FancyDress();
                AddItem(item);
                item.Hue = Utility.RandomNeutralHue();
            }
        }
		public WarMonger ( Ares own ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			owner = own;
			Name = "a war monger";
			Body = 400;
			Hue = 2949;

			AddItem( new DragonLegs() );
			AddItem( new DragonGloves() );
			AddItem( new DragonHelm() );
			AddItem( new DragonChest() );
			MetalKiteShield shield = new MetalKiteShield();
			shield.Hue = 32;
			AddItem( shield );
			Longsword sword = new Longsword();
			sword.Hue = 32;
			PlateGorget gorg = new PlateGorget();
			gorg.Hue = 32;
			AddItem( gorg );
			AddItem( sword );
			Sandals sandals = new Sandals();
			sandals.Hue = 1175;
			AddItem( sandals );

			SetStr( 176, 205 );
			SetDex( 46, 65 );
			SetInt( 46, 70 );

			SetHits( 1060, 1230 );

			SetDamage( 20, 30 );

			SetDamageType( ResistanceType.Physical, 100 );

			SetResistance( ResistanceType.Physical, 35, 45 );
			SetResistance( ResistanceType.Fire, 25, 35 );
			SetResistance( ResistanceType.Cold, 15, 25 );
			SetResistance( ResistanceType.Poison, 5, 15 );
			SetResistance( ResistanceType.Energy, 5, 15 );

			SetSkill( SkillName.MagicResist, 45.1, 60.0 );
			SetSkill( SkillName.Tactics, 50.1, 70.0 );
			SetSkill( SkillName.Swords, 50.1, 70.0 );

			Fame = 3500;
			Karma = -3500;

			VirtualArmor = 40;
			int chance = Utility.Random( 1, 100 );
			if ( chance == 1 )
			{
				int chance2 = Utility.Random( 1, 6 );
				if ( chance2 == 1 )
					PackItem( new AresChest() );
				if ( chance2 == 2 )
					PackItem( new AresLegs() );
				if ( chance2 == 3 )
					PackItem( new AresArms() );
				if ( chance2 == 4 )
					PackItem( new AresCloak() );
				if ( chance2 == 5 )
					PackItem( new AresGloves() );
				if ( chance2 == 6 )
					PackItem( new AresBoots() );
			}
		}
Exemple #13
0
        private void AddEquipment(GuardType type)
        {
            AddItem(new Boots());
            AddItem(new Cloak(1155));
            AddItem(new BodySash(1155));

            switch (type)
            {
                default:
                case GuardType.Archer:
                    {
                        AddItem(new LeatherLegs());
                        AddItem(new StuddedChest());
                        AddItem(new LeatherGloves());
                        AddItem(new LeatherArms());

                        Bow bow = new Bow();
                        bow.Quality = WeaponQuality.Exceptional;

                        AddItem(bow);
                        AddToBackpack(new Arrow(200));
                    } break;
                case GuardType.Cavalry:
                    {
                        AddItem(new PlateLegs());
                        AddItem(new RingmailChest());
                        AddItem(new FancyShirt());
                        AddItem(new PlateGorget());
                        AddItem(new RingmailGloves());

                        BaseWeapon weapon;

                        if (Utility.RandomBool())
                            weapon = new Halberd();
                        else
                            weapon = new Bardiche();

                        weapon.Quality = WeaponQuality.Exceptional;
                        weapon.Resource = CraftResource.Gold;
                        weapon.Speed += 5;

                        AddItem(weapon);
                    } break;

                case GuardType.Pikeman:
                    {
                        AddItem(new RingmailLegs());
                        AddItem(new RingmailChest());
                        AddItem(new RingmailArms());
                        AddItem(new RingmailGloves());
                        AddItem(new PlateGorget());

                        if (Utility.RandomBool())
                            AddItem(new CloseHelm());
                        else
                            AddItem(new NorseHelm());

                        AddItem(new Pike());
                    }
                    break;

                case GuardType.Swordsman:
                    {
                        AddItem(new ChainLegs());
                        AddItem(new ChainChest());
                        AddItem(new RingmailArms());
                        AddItem(new RingmailGloves());
                        AddItem(new PlateGorget());

                        switch (Utility.Random(3))
                        {
                            case 0: AddItem(new CloseHelm()); break;
                            case 1: AddItem(new NorseHelm()); break;
                            case 2: AddItem(new PlateHelm()); break;
                        }

                        BaseWeapon weapon;

                        switch (Utility.Random(4))
                        {
                            default:
                            case 0: weapon = new Broadsword(); break;
                            case 1: weapon = new Longsword(); break;
                            case 2: weapon = new Katana(); break;
                            case 3: weapon = new Axe(); break;
                        }

                        weapon.Quality = WeaponQuality.Exceptional;
                        weapon.Resource = CraftResource.Gold;
                        weapon.Layer = Layer.OneHanded;

                        AddItem(weapon);

                        if (Utility.RandomBool())
                            AddItem(new HeaterShield());
                        else
                            AddItem(new MetalKiteShield());
                    } 
                    break;

                case GuardType.Wizard:
                    {
                        AddItem(new WizardsHat(Utility.RandomGreenHue()));
                        AddItem(new Robe(Utility.RandomGreenHue()));      
   
                        GnarledStaff staff = new GnarledStaff();
                        staff.Attributes.SpellChanneling = 1;
                        staff.Attributes.SpellDamage = Utility.RandomMinMax(4, 8);
                        AddItem(staff);
                    }
                    break;

                case GuardType.Medic:
                    {
                        AddItem(new Bandana(Utility.RandomGreenHue()));
                        AddItem(new Robe(Utility.RandomGreenHue()));

                    } 
                    break;
            }
        }
Exemple #14
0
        public RatmenFortressTreasureChest1() : base(0xE43)
        {
            Name    = "a treasure chest -15-";
            Movable = true;
            Weight  = 1000.0;

            TrapPower = 0;
            Locked    = true;

            RequiredSkill = 15;
            LockLevel     = 15;
            MaxLockLevel  = 20;

            // Gold
            if (Utility.RandomDouble() < 0.25)
            {
                DropItem(new Gold(Utility.Random(20, 300)));
            }

/////////////////////////////////////// Supplies

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Arrow(Utility.Random(9, 13)));
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Bolt(Utility.Random(9, 13)));
            }

            Item ReagentLoot = Loot.RandomReagent();

            ReagentLoot.Amount = Utility.Random(9, 13);
            DropItem(ReagentLoot);

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Bandage(Utility.Random(9, 13)));
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Bedroll());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Bottle(Utility.Random(9, 13)));
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Lockpick(Utility.Random(9, 13)));
            }

            Item PotionLoot = Loot.RandomPotion();

            DropItem(PotionLoot);

/////////////////////////////////////// Tools

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new FishingPole());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Shovel());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Skillet());
            }

/////////////////////////////////////// Rare Items

            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new DyeTub());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(38))
                {
                case 0: weapon = new Hatchet(); break;

                case 1: weapon = new Bow(); break;

                case 2: weapon = new Crossbow(); break;

                case 3: weapon = new Club(); break;

                case 4: weapon = new Mace(); break;

                case 5: weapon = new Maul(); break;

                case 6: weapon = new Pitchfork(); break;

                case 7: weapon = new ShortSpear(); break;

                case 8: weapon = new GnarledStaff(); break;

                case 9: weapon = new ShepherdsCrook(); break;

                case 10: weapon = new Cutlass(); break;

                case 11: weapon = new Katana(); break;

                case 12: weapon = new Kryss(); break;

                case 13: weapon = new Scimitar(); break;

                case 14: weapon = new AssassinSpike(); break;

                case 15: weapon = new DiamondMace(); break;

                case 16: weapon = new Leafblade(); break;

                case 17: weapon = new MagicalShortbow(); break;

                case 18: weapon = new RadiantScimitar(); break;

                case 19: weapon = new WildStaff(); break;

                case 20: weapon = new Axe(); break;

                case 21: weapon = new ExecutionersAxe(); break;

                case 22: weapon = new Pickaxe(); break;

                case 23: weapon = new TwoHandedAxe(); break;

                case 24: weapon = new WarAxe(); break;

                case 25: weapon = new HeavyCrossbow(); break;

                case 26: weapon = new HammerPick(); break;

                case 27: weapon = new WarMace(); break;

                case 28: weapon = new Spear(); break;

                case 29: weapon = new WarFork(); break;

                case 30: weapon = new BlackStaff(); break;

                case 31: weapon = new QuarterStaff(); break;

                case 32: weapon = new Longsword(); break;

                case 33: weapon = new ElvenCompositeLongbow(); break;

                case 34: weapon = new ElvenMachete(); break;

                case 35: weapon = new ElvenSpellblade(); break;

                case 36: weapon = new RuneBlade(); break;

                default: weapon = new Dagger(); break;
                }

                BaseRunicTool.ApplyAttributesTo(weapon, 4, 12, 15);

                DropItem(weapon);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseArmor armor = Loot.RandomArmor(true);
                switch (Utility.Random(13))
                {
                case 0: armor = new FemaleStuddedChest(); break;

                case 1: armor = new StuddedArms(); break;

                case 2: armor = new StuddedBustierArms(); break;

                case 3: armor = new StuddedGloves(); break;

                case 4: armor = new StuddedGorget(); break;

                case 5: armor = new ChainCoif(); break;

                case 6: armor = new ChainChest(); break;

                case 7: armor = new ChainLegs(); break;

                case 8: armor = new RingmailArms(); break;

                case 9: armor = new RingmailChest(); break;

                case 10: armor = new RingmailGloves(); break;

                case 11: armor = new RingmailLegs(); break;

                default: armor = new StuddedChest(); break;
                }

                BaseRunicTool.ApplyAttributesTo(armor, 4, 12, 15);

                DropItem(armor);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseHat hat = Loot.RandomHat(true);
                switch (Utility.Random(5))
                {
                case 0: hat = new BearMask(); break;

                case 1: hat = new DeerMask(); break;

                case 2: hat = new FeatheredHat(); break;

                case 3: hat = new WizardsHat(); break;

                default: hat = new TribalMask(); break;
                }

                BaseRunicTool.ApplyAttributesTo(hat, 4, 12, 15);

                DropItem(hat);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseClothing clothing = Loot.RandomClothing(true);
                BaseRunicTool.ApplyAttributesTo(clothing, 4, 12, 15);

                DropItem(clothing);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseShield shield = new HeaterShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield, 4, 12, 15);
                }

                DropItem(shield);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel bracelet = new SilverBracelet();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(bracelet, 4, 12, 15);
                }

                DropItem(bracelet);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel earrings = new SilverEarrings();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(earrings, 4, 12, 15);
                }

                DropItem(earrings);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel necklace = new SilverNecklace();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(necklace, 4, 12, 15);
                }

                DropItem(necklace);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel ring = new SilverRing();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(ring, 4, 12, 15);
                }

                DropItem(ring);
            }
        }
        public override void IncreaseTier()
        {
            base.IncreaseTier();

            List<object> list = new List<object>();
            Item c;

            // don't know names above lev 6
            switch ( this.Tier )
            {
                case 1:
                    c = new BookOfChivalry();
                    c.MoveToWorld(new Point3D(2924, 979, -18), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new Longsword();
                    c.MoveToWorld(new Point3D(2923, 980, -18), this.Map);
                    c.Movable = false;
                    c.ItemID = 0x26CF;
                    list.Add(c);

                    c = new Shirt();
                    c.MoveToWorld(new Point3D(2924, 978, -18), this.Map);
                    c.Movable = false;
                    c.ItemID = 0x2662;
                    c.Name = "Crisp White Shirt";
                    list.Add(c);
                    break;
                case 2:
                    c = new GraveDust();
                    c.MoveToWorld(new Point3D(2921, 972, -17), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new NoxCrystal();
                    c.MoveToWorld(new Point3D(2921, 972, -17), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new Static(0xF91);
                    c.MoveToWorld(new Point3D(2921, 972, -17), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new NecromancerSpellbook();
                    c.MoveToWorld(new Point3D(2922, 972, -18), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new AnimateDeadScroll();
                    c.MoveToWorld(new Point3D(2923, 972, -18), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new HorrificBeastScroll();
                    c.MoveToWorld(new Point3D(2923, 972, -18), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new VampiricEmbraceScroll();
                    c.MoveToWorld(new Point3D(2923, 971, -20), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new Static(0xFDD);
                    c.MoveToWorld(new Point3D(2922, 971, -21), this.Map);
                    list.Add(c);

                    c = new Static(0xFDE);
                    c.MoveToWorld(new Point3D(2923, 971, -21), this.Map);
                    list.Add(c);

                    break;
                case 3:
                    c = new JesterSuit();
                    c.MoveToWorld(new Point3D(2919, 985, -16), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new LocalizedStatic(0xE74, 1073424);
                    c.MoveToWorld(new Point3D(2919, 984, -11), this.Map);
                    c.Movable = false;
                    c.Weight = 50.0;
                    c.Hue = 0x113;
                    list.Add(c);

                    c = new JesterHat();
                    c.MoveToWorld(new Point3D(2919, 983, -13), this.Map);
                    c.Movable = false;
                    c.Hue = 0x113;
                    list.Add(c);

                    break;
                case 4:
                    c = new Static(0xD25);
                    c.MoveToWorld(new Point3D(2916, 984, -13), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new Static(0x20D9);
                    c.MoveToWorld(new Point3D(2916, 982, -12), this.Map);
                    c.Name = "Gargoyle";
                    list.Add(c);

                    c = new Static(0x2132);
                    c.MoveToWorld(new Point3D(2914, 982, -9), this.Map);
                    list.Add(c);

                    c = new Static(0x25B6);
                    c.MoveToWorld(new Point3D(2913, 982, -13), this.Map);
                    list.Add(c);

                    c = new Static(0x25B6);
                    c.MoveToWorld(new Point3D(2913, 982, -13), this.Map);
                    list.Add(c);

                    c = new Static(0x222E);
                    c.MoveToWorld(new Point3D(2915, 983, -14), this.Map);
                    list.Add(c);

                    c = new Static(0x2211);
                    c.MoveToWorld(new Point3D(2914, 984, -13), this.Map);
                    list.Add(c);

                    break;
                case 5:
                    c = new LocalizedStatic(0xE30, 1073421);
                    c.MoveToWorld(new Point3D(2911, 983, -12), this.Map);
                    c.Weight = 10.0;
                    list.Add(c);

                    c = new LocalizedStatic(0x2937, 1073422);
                    c.MoveToWorld(new Point3D(2911, 984, -13), this.Map);
                    list.Add(c);

                    c = new LocalizedStatic(0x12AA, 1073423);
                    c.MoveToWorld(new Point3D(2911, 985, -14), this.Map);
                    list.Add(c);

                    c = new Static(0xEAF);
                    c.MoveToWorld(new Point3D(2910, 985, -21), this.Map);
                    c.Weight = 5.0;
                    list.Add(c);

                    c = new Static(0xEAE);
                    c.MoveToWorld(new Point3D(2910, 986, -21), this.Map);
                    c.Weight = 5.0;
                    list.Add(c);

                    break;
                case 6:
                    c = new Tessen();
                    c.MoveToWorld(new Point3D(2910, 966, -17), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new Shuriken();
                    c.MoveToWorld(new Point3D(2910, 965, -17), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new Static(0x2855);
                    c.MoveToWorld(new Point3D(2910, 964, -16), this.Map);
                    c.Weight = 5.0;
                    list.Add(c);

                    c = new Static(0x241D);
                    c.MoveToWorld(new Point3D(2910, 963, -20), this.Map);
                    c.Weight = 5.0;
                    list.Add(c);

                    c = new Static(0x2409);
                    c.MoveToWorld(new Point3D(2910, 963, -17), this.Map);
                    list.Add(c);

                    c = new Static(0x2416);
                    c.MoveToWorld(new Point3D(2909, 965, -17), this.Map);
                    list.Add(c);

                    break;
                case 7:
                    c = new Static(0x3069);
                    c.MoveToWorld(new Point3D(2914, 964, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x306A);
                    c.MoveToWorld(new Point3D(2913, 964, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x306B);
                    c.MoveToWorld(new Point3D(2912, 964, -21), this.Map);
                    list.Add(c);

                    c = new ElvenLoveseatEastAddon();
                    c.MoveToWorld(new Point3D(2913, 966, -21), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new Static(0x2CFC);
                    c.MoveToWorld(new Point3D(2912, 963, -21), this.Map);
                    list.Add(c);

                    c = new LocalizedStatic(0x2D74, 1073425);
                    c.MoveToWorld(new Point3D(2914, 963, -21), this.Map);
                    list.Add(c);

                    break;
                case 8:
                    c = new Static(0x2);
                    c.MoveToWorld(new Point3D(2905, 970, -15), this.Map);
                    list.Add(c);

                    c = new Static(0x3);
                    c.MoveToWorld(new Point3D(2905, 969, -15), this.Map);
                    list.Add(c);

                    c = new OrderShield();
                    c.MoveToWorld(new Point3D(2905, 971, -17), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    c = new Static(0x1579);
                    c.MoveToWorld(new Point3D(2904, 971, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x1613);
                    c.MoveToWorld(new Point3D(2908, 969, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x1614);
                    c.MoveToWorld(new Point3D(2908, 968, -21), this.Map);
                    list.Add(c);

                    break;
                case 9:
                    c = new Static(0x1526);
                    c.MoveToWorld(new Point3D(2905, 976, -15), this.Map);
                    list.Add(c);

                    c = new Static(0x1527);
                    c.MoveToWorld(new Point3D(2905, 975, -15), this.Map);
                    list.Add(c);

                    c = new Static(0x151A);
                    c.MoveToWorld(new Point3D(2905, 972, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x151A);
                    c.MoveToWorld(new Point3D(2905, 977, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x151A);
                    c.MoveToWorld(new Point3D(2908, 972, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x151A);
                    c.MoveToWorld(new Point3D(2908, 977, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x1514);
                    c.MoveToWorld(new Point3D(2904, 975, -17), this.Map);
                    list.Add(c);

                    break;
                case 10:
                    c = new Static(0x15C5);
                    c.MoveToWorld(new Point3D(2904, 982, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x15C5);
                    c.MoveToWorld(new Point3D(2904, 979, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x157B);
                    c.MoveToWorld(new Point3D(2904, 981, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x14E3);
                    c.MoveToWorld(new Point3D(2905, 980, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x14E4);
                    c.MoveToWorld(new Point3D(2905, 981, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x14E5);
                    c.MoveToWorld(new Point3D(2906, 981, -21), this.Map);
                    list.Add(c);

                    c = new Static(0x14E6);
                    c.MoveToWorld(new Point3D(2906, 980, -21), this.Map);
                    list.Add(c);

                    c = new ChaosShield();
                    c.MoveToWorld(new Point3D(2905, 978, -19), this.Map);
                    c.Movable = false;
                    list.Add(c);

                    break;
                case 11:
                    c = new FemaleStuddedChest();
                    c.MoveToWorld(new Point3D(2912, 976, -16), this.Map);
                    c.Movable = false;
                    c.Hue = 0x497;
                    list.Add(c);

                    c = new Static(0x1EA8);
                    c.MoveToWorld(new Point3D(2913, 973, -13), this.Map);
                    c.Hue = 0x497;
                    list.Add(c);

                    c = new Static(0x20F8);
                    c.MoveToWorld(new Point3D(2913, 975, -11), this.Map);
                    c.Hue = 0x113;
                    list.Add(c);

                    c = new Static(0x20E9);
                    c.MoveToWorld(new Point3D(2912, 974, -11), this.Map);
                    c.Name = "Troll";
                    list.Add(c);

                    c = new Static(0x2607);
                    c.MoveToWorld(new Point3D(2913, 974, -11), this.Map);
                    list.Add(c);

                    c = new Static(0x25F9);
                    c.MoveToWorld(new Point3D(2912, 975, -11), this.Map);
                    list.Add(c);

                    break;
                case 12:
                    c = new Static(0x1D8A);
                    c.MoveToWorld(new Point3D(2915, 976, -13), this.Map);
                    list.Add(c);

                    c = new Static(0x1D8B);
                    c.MoveToWorld(new Point3D(2916, 976, -13), this.Map);
                    list.Add(c);

                    c = new Static(0x234D);
                    c.MoveToWorld(new Point3D(2915, 975, -10), this.Map);
                    list.Add(c);

                    c = new WizardsHat();
                    c.MoveToWorld(new Point3D(2915, 974, -13), this.Map);
                    c.Movable = false;
                    list.Add(c);
                    break;
            }

            if (list.Count > 0)
                this.Tiers.Add(list);
        }
Exemple #16
0
        public override bool OnDragDrop( Mobile from, Item dropped )
        {
            PlayerMobile player = from as PlayerMobile;

            if ( player != null )
            {
                QuestSystem qs = player.Quest;

                if ( qs is UzeraanTurmoilQuest )
                {
                    if ( dropped is UzeraanTurmoilHorn )
                    {
                        if ( player.Young )
                        {
                            UzeraanTurmoilHorn horn = (UzeraanTurmoilHorn) dropped;

                            if ( horn.Charges < 10 )
                            {
                                SayTo( from, 1049384 ); // I have recharged the item for you.
                                horn.Charges = 10;
                            }
                            else
                            {
                                SayTo( from, 1049385 ); // That doesn't need recharging yet.
                            }
                        }
                        else
                        {
                            player.SendMessage( "You must be young to have this item recharged." );
                        }

                        return false;
                    }

                    if ( dropped is SchmendrickScrollOfPower )
                    {
                        QuestObjective obj = qs.FindObjective( typeof( ReturnScrollOfPowerObjective ) );

                        if ( obj != null && !obj.Completed )
                        {
                            Container cont = GetNewContainer();

                            cont.DropItem( new TreasureMap( 1 ) );
                            cont.DropItem( new Shovel() );
                            cont.DropItem( new UzeraanTurmoilHorn() );

                            if ( !player.PlaceInBackpack( cont ) )
                            {
                                cont.Delete();
                                player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                                return false;
                            }
                            else
                            {
                                dropped.Delete();
                                obj.Complete();
                                return true;
                            }
                        }
                    }
                    else if ( dropped is QuestFertileDirt )
                    {
                        QuestObjective obj = qs.FindObjective( typeof( ReturnFertileDirtObjective ) );

                        if ( obj != null && !obj.Completed )
                        {
                            Container cont = GetNewContainer();

                            if ( player.Profession == 2 ) // magician
                            {
                                cont.DropItem( new BlackPearl( 20 ) );
                                cont.DropItem( new Bloodmoss( 20 ) );
                                cont.DropItem( new Garlic( 20 ) );
                                cont.DropItem( new Ginseng( 20 ) );
                                cont.DropItem( new MandrakeRoot( 20 ) );
                                cont.DropItem( new Nightshade( 20 ) );
                                cont.DropItem( new SulfurousAsh( 20 ) );
                                cont.DropItem( new SpidersSilk( 20 ) );

                                for ( int i = 0; i < 3; i++ )
                                {
                                    cont.DropItem( Loot.RandomScroll( 0, 23, SpellbookType.Regular ) );
                                }
                            }
                            else
                            {
                                cont.DropItem( new Gold( 300 ) );
                                cont.DropItem( new Bandage( 25 ) );

                                for ( int i = 0; i < 5; i++ )
                                {
                                    cont.DropItem( new LesserHealPotion() );
                                }
                            }

                            if ( !player.PlaceInBackpack( cont ) )
                            {
                                cont.Delete();
                                player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                                return false;
                            }
                            else
                            {
                                dropped.Delete();
                                obj.Complete();
                                return true;
                            }
                        }
                    }
                    else if ( dropped is QuestDaemonBlood )
                    {
                        QuestObjective obj = qs.FindObjective( typeof( ReturnDaemonBloodObjective ) );

                        if ( obj != null && !obj.Completed )
                        {
                            Item reward;

                            if ( player.Profession == 2 ) // magician
                            {
                                Container cont = GetNewContainer();

                                cont.DropItem( new ExplosionScroll( 4 ) );
                                cont.DropItem( new MagicWizardsHat() );

                                reward = cont;
                            }
                            else
                            {
                                BaseWeapon weapon;
                                switch ( Utility.Random( 6 ) )
                                {
                                    case 0:
                                        weapon = new Broadsword();
                                        break;
                                    case 1:
                                        weapon = new Cutlass();
                                        break;
                                    case 2:
                                        weapon = new Katana();
                                        break;
                                    case 3:
                                        weapon = new Longsword();
                                        break;
                                    case 4:
                                        weapon = new Scimitar();
                                        break;
                                    default:
                                        weapon = new VikingSword();
                                        break;
                                }
                                weapon.Slayer = SlayerName.Undead;

                                BaseRunicTool.ApplyAttributesTo( weapon, 3, 20, 40 );

                                reward = weapon;
                            }

                            if ( !player.PlaceInBackpack( reward ) )
                            {
                                reward.Delete();
                                player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                                return false;
                            }
                            else
                            {
                                dropped.Delete();
                                obj.Complete();
                                return true;
                            }
                        }
                    }
                    else if ( dropped is QuestDaemonBone )
                    {
                        QuestObjective obj = qs.FindObjective( typeof( ReturnDaemonBoneObjective ) );

                        if ( obj != null && !obj.Completed )
                        {
                            Container cont = GetNewContainer();
                            cont.DropItem( new BankCheck( 2000 ) );
                            cont.DropItem( new EnchantedSextant() );

                            if ( !player.PlaceInBackpack( cont ) )
                            {
                                cont.Delete();
                                player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                                return false;
                            }
                            else
                            {
                                dropped.Delete();
                                obj.Complete();
                                return true;
                            }
                        }
                    }
                }
            }

            return base.OnDragDrop( from, dropped );
        }
        /// <summary>
        /// This is the function gives weaponry to players.
        /// </summary>
        private static void ArmPlayer(CTFPlayerGameData pgd)
        {
            Mobile m = pgd.Mob;

            if (!m.Alive)
                m.Resurrect();

            for (int i = m.Items.Count - 1; i >= 0; --i)
            {
                Item item = (Item)m.Items[i];
                if (item.Layer == Layer.OuterTorso)
                {
                    item.Delete();
                    break;
                }
            }

            List<Item> armthis = new List<Item>();

            if(GiveRobe)
                armthis.Add(new CTFRobe(pgd.Team));

            Item rankedCloth = null;
            CTFTeam team = pgd.Team;

            // 21 Ranks
            switch (CTFData.GetRank(m))
            {
                default:
                case 0: rankedCloth = new JesterHat(team.Hue); break;
                case 1: rankedCloth = new TallStrawHat(team.Hue); break;
                case 2: rankedCloth = new FloppyHat(team.Hue); break;
                case 3: rankedCloth = new WideBrimHat(team.Hue); break;
                case 4: rankedCloth = new Cap(team.Hue); break;
                case 5: rankedCloth = new SkullCap(team.Hue); break;
                case 6: rankedCloth = new FlowerGarland(team.Hue); break;
                case 7: rankedCloth = new StrawHat(team.Hue); break;
                case 8: rankedCloth = new FeatheredHat(team.Hue); break;
                case 9: rankedCloth = new TricorneHat(team.Hue); break;
                case 10: rankedCloth = new TribalMask(team.Hue); break;
                case 11: rankedCloth = new HornedTribalMask(team.Hue); break;
                case 12: rankedCloth = new BearMask(team.Hue); break;
                case 13: rankedCloth = new DeerMask(team.Hue); break;
                case 14: rankedCloth = new OrcishKinMask(team.Hue); break;
                case 15: rankedCloth = new SavageMask(team.Hue); break;
                case 16: rankedCloth = new WizardsHat(team.Hue); break;
                case 17: rankedCloth = new Bandana(team.Hue); break;
                case 18: rankedCloth = new ClothNinjaHood(team.Hue); break;
                case 19: rankedCloth = new Kasa(team.Hue); break;
                case 20:
                    rankedCloth = new BoneHelm();
                    rankedCloth.Hue = team.Hue;
                    ((BaseArmor)rankedCloth).ArmorAttributes.MageArmor = 1;
                    break;
            }
            if (rankedCloth != null)
            {
                rankedCloth.Movable = false;
                armthis.Add(rankedCloth);
            }

            //Alchemy removed by Blady
            /* 			if (m.Skills[SkillName.Alchemy].Value >= (m_MinSupplySkill + 15)) //80 Alchemy req - by Blady
            {
                for (int i = 0; i < 6; i++) //Amount reduced to 6 by Blady - used to be 10
                {
                    armthis.Add(new ExplosionPotion());
                    armthis.Add(new GreaterHealPotion());
                    armthis.Add(new GreaterCurePotion());
                    armthis.Add(new GreaterAgilityPotion());
                    armthis.Add(new RefreshPotion());
                    armthis.Add(new GreaterStrengthPotion());
                }
            } */

            if (m.Skills[SkillName.Chivalry].Value >= m_MinSupplySkill)
            {
                BookOfChivalry book = new BookOfChivalry();
                book.Content = 1023;//all spells
                armthis.Add(book);
            }

            if (m.Skills[SkillName.Necromancy].Value >= m_MinSupplySkill)
            {
                NecromancerSpellbook book = new NecromancerSpellbook();
                book.Content = 0x1FFFF;
                armthis.Add(book);
            }

            if (m.Skills[SkillName.Magery].Value >= m_MinSupplySkill)
            {
                GnarledStaff gs = new GnarledStaff();
                gs.Attributes.SpellChanneling = 1;
                gs.WeaponAttributes.MageWeapon = 20;
                armthis.Add(gs);

                Spellbook book = new Spellbook();
                book.Content = ulong.MaxValue;
                armthis.Add(book);
            }

            if (m.Skills[SkillName.Healing].Value >= m_MinSupplySkill)
                armthis.Add(new Bandage(1000));

            if (m.Skills[SkillName.Fencing].Value >= m_MinSupplySkill)
            {
                Spear sp = new Spear();
                sp.Attributes.SpellChanneling = 1;
                armthis.Add(sp);

                ShortSpear ssp = new ShortSpear();
                ssp.Attributes.SpellChanneling = 1;
                armthis.Add(ssp);

                WarFork wf = new WarFork();
                wf.Attributes.SpellChanneling = 1;
                armthis.Add(wf);

                Kryss k = new Kryss();
                k.Attributes.SpellChanneling = 1;
                armthis.Add(k);
            }

            if (m.Skills[SkillName.Swords].Value >= m_MinSupplySkill)
            {
                if (m.Skills[SkillName.Lumberjacking].Value >= m_MinSupplySkill)
                {
                    ExecutionersAxe ea = new ExecutionersAxe();
                    ea.Attributes.SpellChanneling = 1;
                    armthis.Add(ea);
                }

                Katana k = new Katana();
                k.Attributes.SpellChanneling = 1;
                armthis.Add(k);

                Longsword ls = new Longsword();
                ls.Attributes.SpellChanneling = 1;
                armthis.Add(ls);

                Cleaver c = new Cleaver();
                c.Attributes.SpellChanneling = 1;
                armthis.Add(c);

                BoneHarvester bh = new BoneHarvester();
                bh.Attributes.SpellChanneling = 1;
                armthis.Add(bh);
            }

            if (m.Skills[SkillName.Macing].Value >= m_MinSupplySkill)
            {
                WarAxe wa = new WarAxe();
                wa.Attributes.SpellChanneling = 1;
                armthis.Add(wa);

                HammerPick hp = new HammerPick();
                hp.Attributes.SpellChanneling = 1;
                armthis.Add(hp);

                QuarterStaff qs = new QuarterStaff();
                qs.Attributes.SpellChanneling = 1;
                armthis.Add(qs);
            }

            if (m.Skills[SkillName.Archery].Value >= m_MinSupplySkill)
            {
                Bow b = new Bow();
                b.Attributes.SpellChanneling = 1;
                armthis.Add(b);

                Crossbow xb = new Crossbow();
                xb.Attributes.SpellChanneling = 1;
                armthis.Add(xb);

                CompositeBow cb = new CompositeBow();
                cb.Attributes.SpellChanneling = 1;
                armthis.Add(cb);

                armthis.Add(new Arrow(150));
                armthis.Add(new Bolt(150));
            }

            if (m.Skills[SkillName.Poisoning].Value >= m_MinSupplySkill)
            {
                for (int i = 0; i < 2; i++)
                    armthis.Add(new GreaterPoisonPotion());
            }

            if (m.Skills[SkillName.Parry].Value >= m_MinSupplySkill)
            {
                MetalKiteShield ks = new MetalKiteShield();
                ks.Attributes.SpellChanneling = 1;
                armthis.Add(ks);
            }

            SunnySystem.ArmPlayer(m, armthis);
        }
		//AIType, Fight Mode, Range Perception, Fighting Range, Active Speed, Passive Speed
		public VampireLord() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Name = "Vampire Lord";
			Body = 0x0190;
			Hue = 0x497;

			SetStr( 750 );
			SetDex( 400, 500 );
			SetInt( 200, 250 );

			SetHits( 350, 400 );
			SetStam( 250, 300 );
			SetMana( 250, 300 );

			SetDamage( 20, 40 );

			SetSkill( SkillName.Poisoning, 90.0, 100.0 );
			SetSkill( SkillName.Tactics, 90.0, 98.0 );
			SetSkill( SkillName.MagicResist, 75.0, 88.0 );
			SetSkill( SkillName.Parry, 85.0, 98.0 );
			SetSkill( SkillName.Wrestling, 67.0, 90.0 );
			SetSkill( SkillName.DetectHidden, 90.0, 100.0 );
			SetSkill( SkillName.Swords, 90.0, 95.0 );
			SetSkill( SkillName.Magery, 95.0, 100.0 );
            SetSkill(SkillName.EvalInt, 95.0, 100.0);

			Fame = 3000;
			Karma = -10000;

			VirtualArmor = 40;

		    Item temp = new PlateGloves {Movable = false, Hue = 0x0492, Name = "Vampire Plate Gauntlets"};
		    AddItem( temp );
			temp = new PlateArms {Hue = 0x0492, Movable = false, Name = "Vampire Plate Arms"};
		    AddItem( temp );
			temp = new PlateGorget {Movable = false, Hue = 0x0492, Name = "Vampire Plate Gorget"};
		    AddItem( temp );
			temp = new PlateLegs {Movable = false, Hue = 0x0492, Name = "Vampire Plate Legs"};
		    AddItem( temp );
			temp = new PlateChest {Movable = false, Hue = 0x0492, Name = "Vampire Plate Chest"};
		    AddItem( temp );
			temp = new PlateHelm {Movable = false, Hue = 0x0492, Name = "Vampire Plate Helm"};
		    AddItem( temp );
			temp = new BodySash {Movable = false, Hue = 0x1, Name = "Vampire Sash"};
		    AddItem( temp );
			temp = new Cloak {Movable = false, Hue = 0x1};
		    AddItem( temp );

            BaseArmor tarm;
            if (Utility.RandomDouble() < 0.3)
            {
                switch (Utility.Random(6))
                {
                    case 0:
                        tarm = new PlateGloves {Hue = 0x492, Name = "Vampire Plate Gauntlets"};
                        break;
                    case 1:
                        tarm = new PlateArms {Hue = 0x492, Name = "Vampire Plate Arms"};
                        break;
                    case 2:
                        tarm = new PlateChest {Hue = 0x492, Name = "Vampire Plate Chest"};
                        break;
                    case 3:
                        tarm = new PlateHelm {Hue = 0x492, Name = "Vampire Plate Helm"};
                        break;
                    case 4:
                        tarm = new PlateLegs {Hue = 0x492, Name = "Vampire Plate Legs"};
                        break;
                    default:
                        tarm = new PlateGorget {Hue = 0x492, Name = "Vampire Plate Gorget"};
                        break;
                }

                tarm.ProtectionLevel = (ArmorProtectionLevel) Utility.RandomMinMax(0, 5);
                AddItem(tarm);
            }

		    BaseSword twep;
			switch( Utility.Random( 8 ) )
			{
				case 0:
					twep = new Broadsword();
					break;
				case 1:
					twep = new Cutlass();
					break;
				case 2:
					twep = new Scimitar();
					break;
				case 3:
					twep = new Katana();
					break;
				case 4:
					twep = new Kryss();
					break;
				case 5:
					twep = new Longsword();
					break;
				case 6:
					twep = new ThinLongsword();
					break;
				default:
					twep = new VikingSword();
					break;
			}
			switch( Utility.Random( 3 ) )
			{
				case 0:
                    twep.DamageLevel = WeaponDamageLevel.Might;
					break;
				case 1:
                    twep.DamageLevel = WeaponDamageLevel.Force;
					break;
				case 2:
					twep.DamageLevel = WeaponDamageLevel.Power;
					break;
			}

			AddItem( twep );
		}
Exemple #19
0
        private void CreateClassic()
        {
            m_MoveSound = 1055;
            m_CaptureSound = 1068;
            m_DeathSound = 0;
            m_CheckSound = 1086;
            m_CheckMateSound = 1088;

            m_Piece.Female = false;
            m_Piece.BodyValue = 0x190;
            m_Piece.AccessLevel = AccessLevel.GameMaster;
            m_Piece.NameHue = 0x3B2;

            if ( m_BChessboard.OverrideMinorHue )
            {
                m_Piece.Hue = Hue;
            }
            else
            {
                m_Piece.Hue = m_BChessboard.SkinHue;
            }

            Item item = null;

            if ( m_Color == ChessColor.White )
            {
            item = new LordBritishSuit();
            m_Piece.AddItem( item );
            item = new OrderShield();
            m_Piece.AddItem( item );
            item = new Longsword();
            m_Piece.AddItem( item );
            }
            else
            {
            item = new LordBlackthorneSuit();
            m_Piece.AddItem( item );
            item = new ChaosShield();
            m_Piece.AddItem( item );
            item = new Longsword();
            m_Piece.AddItem( item );
            }
        }
Exemple #20
0
        public override void IncreaseTier()
        {
            base.IncreaseTier();

            List <object> list = new List <object>();
            Item          c;

            // don't know names above lev 6
            switch (Tier)
            {
            case 1:
                c = new BookOfChivalry();
                c.MoveToWorld(new Point3D(2924, 979, -18), Map);
                c.Movable = false;
                list.Add(c);

                c = new Longsword();
                c.MoveToWorld(new Point3D(2923, 980, -18), Map);
                c.Movable = false;
                c.ItemID  = 0x26CF;
                list.Add(c);

                c = new Shirt();
                c.MoveToWorld(new Point3D(2924, 978, -18), Map);
                c.Movable = false;
                c.ItemID  = 0x2662;
                c.Name    = "Crisp White Shirt";
                list.Add(c);
                break;

            case 2:
                c = new GraveDust();
                c.MoveToWorld(new Point3D(2921, 972, -17), Map);
                c.Movable = false;
                list.Add(c);

                c = new NoxCrystal();
                c.MoveToWorld(new Point3D(2921, 972, -17), Map);
                c.Movable = false;
                list.Add(c);

                c = new Static(0xF91);
                c.MoveToWorld(new Point3D(2921, 972, -17), Map);
                c.Movable = false;
                list.Add(c);

                c = new NecromancerSpellbook();
                c.MoveToWorld(new Point3D(2922, 972, -18), Map);
                c.Movable = false;
                list.Add(c);

                c = new AnimateDeadScroll();
                c.MoveToWorld(new Point3D(2923, 972, -18), Map);
                c.Movable = false;
                list.Add(c);

                c = new HorrificBeastScroll();
                c.MoveToWorld(new Point3D(2923, 972, -18), Map);
                c.Movable = false;
                list.Add(c);

                c = new VampiricEmbraceScroll();
                c.MoveToWorld(new Point3D(2923, 971, -20), Map);
                c.Movable = false;
                list.Add(c);

                c = new Static(0xFDD);
                c.MoveToWorld(new Point3D(2922, 971, -21), Map);
                list.Add(c);

                c = new Static(0xFDE);
                c.MoveToWorld(new Point3D(2923, 971, -21), Map);
                list.Add(c);

                break;

            case 3:
                c = new JesterSuit();
                c.MoveToWorld(new Point3D(2919, 985, -16), Map);
                c.Movable = false;
                list.Add(c);

                c = new LocalizedStatic(0xE74, 1073424);
                c.MoveToWorld(new Point3D(2919, 984, -11), Map);
                c.Movable = false;
                c.Weight  = 50.0;
                c.Hue     = 0x113;
                list.Add(c);

                c = new JesterHat();
                c.MoveToWorld(new Point3D(2919, 983, -13), Map);
                c.Movable = false;
                c.Hue     = 0x113;
                list.Add(c);

                break;

            case 4:
                c = new Static(0xD25);
                c.MoveToWorld(new Point3D(2916, 984, -13), Map);
                c.Movable = false;
                list.Add(c);

                c = new Static(0x20D9);
                c.MoveToWorld(new Point3D(2916, 982, -12), Map);
                c.Name = "Gargoyle";
                list.Add(c);

                c = new Static(0x2132);
                c.MoveToWorld(new Point3D(2914, 982, -9), Map);
                list.Add(c);

                c = new Static(0x25B6);
                c.MoveToWorld(new Point3D(2913, 982, -13), Map);
                list.Add(c);

                c = new Static(0x25B6);
                c.MoveToWorld(new Point3D(2913, 982, -13), Map);
                list.Add(c);

                c = new Static(0x222E);
                c.MoveToWorld(new Point3D(2915, 983, -14), Map);
                list.Add(c);

                c = new Static(0x2211);
                c.MoveToWorld(new Point3D(2914, 984, -13), Map);
                list.Add(c);

                break;

            case 5:
                c = new LocalizedStatic(0xE30, 1073421);
                c.MoveToWorld(new Point3D(2911, 983, -12), Map);
                c.Weight = 10.0;
                list.Add(c);

                c = new LocalizedStatic(0x2937, 1073422);
                c.MoveToWorld(new Point3D(2911, 984, -13), Map);
                list.Add(c);

                c = new LocalizedStatic(0x12AA, 1073423);
                c.MoveToWorld(new Point3D(2911, 985, -14), Map);
                list.Add(c);

                c = new Static(0xEAF);
                c.MoveToWorld(new Point3D(2910, 985, -21), Map);
                c.Weight = 5.0;
                list.Add(c);

                c = new Static(0xEAE);
                c.MoveToWorld(new Point3D(2910, 986, -21), Map);
                c.Weight = 5.0;
                list.Add(c);

                break;

            case 6:
                c = new Tessen();
                c.MoveToWorld(new Point3D(2910, 966, -17), Map);
                c.Movable = false;
                list.Add(c);

                c = new Shuriken();
                c.MoveToWorld(new Point3D(2910, 965, -17), Map);
                c.Movable = false;
                list.Add(c);

                c = new Static(0x2855);
                c.MoveToWorld(new Point3D(2910, 964, -16), Map);
                c.Weight = 5.0;
                list.Add(c);

                c = new Static(0x241D);
                c.MoveToWorld(new Point3D(2910, 963, -20), Map);
                c.Weight = 5.0;
                list.Add(c);

                c = new Static(0x2409);
                c.MoveToWorld(new Point3D(2910, 963, -17), Map);
                list.Add(c);

                c = new Static(0x2416);
                c.MoveToWorld(new Point3D(2909, 965, -17), Map);
                list.Add(c);

                break;

            case 7:
                c = new Static(0x3069);
                c.MoveToWorld(new Point3D(2914, 964, -21), Map);
                list.Add(c);

                c = new Static(0x306A);
                c.MoveToWorld(new Point3D(2913, 964, -21), Map);
                list.Add(c);

                c = new Static(0x306B);
                c.MoveToWorld(new Point3D(2912, 964, -21), Map);
                list.Add(c);

                c = new ElvenLoveseatEastAddon();
                c.MoveToWorld(new Point3D(2913, 966, -21), Map);
                c.Movable = false;
                list.Add(c);

                c = new Static(0x2CFC);
                c.MoveToWorld(new Point3D(2912, 963, -21), Map);
                list.Add(c);

                c = new LocalizedStatic(0x2D74, 1073425);
                c.MoveToWorld(new Point3D(2914, 963, -21), Map);
                list.Add(c);

                break;

            case 8:
                c = new Static(0x2);
                c.MoveToWorld(new Point3D(2905, 970, -15), Map);
                list.Add(c);

                c = new Static(0x3);
                c.MoveToWorld(new Point3D(2905, 969, -15), Map);
                list.Add(c);

                c = new OrderShield();
                c.MoveToWorld(new Point3D(2905, 971, -17), Map);
                c.Movable = false;
                list.Add(c);

                c = new Static(0x1579);
                c.MoveToWorld(new Point3D(2904, 971, -21), Map);
                list.Add(c);

                c = new Static(0x1613);
                c.MoveToWorld(new Point3D(2908, 969, -21), Map);
                list.Add(c);

                c = new Static(0x1614);
                c.MoveToWorld(new Point3D(2908, 968, -21), Map);
                list.Add(c);

                break;

            case 9:
                c = new Static(0x1526);
                c.MoveToWorld(new Point3D(2905, 976, -15), Map);
                list.Add(c);

                c = new Static(0x1527);
                c.MoveToWorld(new Point3D(2905, 975, -15), Map);
                list.Add(c);

                c = new Static(0x151A);
                c.MoveToWorld(new Point3D(2905, 972, -21), Map);
                list.Add(c);

                c = new Static(0x151A);
                c.MoveToWorld(new Point3D(2905, 977, -21), Map);
                list.Add(c);

                c = new Static(0x151A);
                c.MoveToWorld(new Point3D(2908, 972, -21), Map);
                list.Add(c);

                c = new Static(0x151A);
                c.MoveToWorld(new Point3D(2908, 977, -21), Map);
                list.Add(c);

                c = new Static(0x1514);
                c.MoveToWorld(new Point3D(2904, 975, -17), Map);
                list.Add(c);

                break;

            case 10:
                c = new Static(0x15C5);
                c.MoveToWorld(new Point3D(2904, 982, -21), Map);
                list.Add(c);

                c = new Static(0x15C5);
                c.MoveToWorld(new Point3D(2904, 979, -21), Map);
                list.Add(c);

                c = new Static(0x157B);
                c.MoveToWorld(new Point3D(2904, 981, -21), Map);
                list.Add(c);

                c = new Static(0x14E3);
                c.MoveToWorld(new Point3D(2905, 980, -21), Map);
                list.Add(c);

                c = new Static(0x14E4);
                c.MoveToWorld(new Point3D(2905, 981, -21), Map);
                list.Add(c);

                c = new Static(0x14E5);
                c.MoveToWorld(new Point3D(2906, 981, -21), Map);
                list.Add(c);

                c = new Static(0x14E6);
                c.MoveToWorld(new Point3D(2906, 980, -21), Map);
                list.Add(c);

                c = new ChaosShield();
                c.MoveToWorld(new Point3D(2905, 978, -19), Map);
                c.Movable = false;
                list.Add(c);

                break;

            case 11:
                c = new FemaleStuddedChest();
                c.MoveToWorld(new Point3D(2912, 976, -16), Map);
                c.Movable = false;
                c.Hue     = 0x497;
                list.Add(c);

                c = new Static(0x1EA8);
                c.MoveToWorld(new Point3D(2913, 973, -13), Map);
                c.Hue = 0x497;
                list.Add(c);

                c = new Static(0x20F8);
                c.MoveToWorld(new Point3D(2913, 975, -11), Map);
                c.Hue = 0x113;
                list.Add(c);

                c = new Static(0x20E9);
                c.MoveToWorld(new Point3D(2912, 974, -11), Map);
                c.Name = "Troll";
                list.Add(c);

                c = new Static(0x2607);
                c.MoveToWorld(new Point3D(2913, 974, -11), Map);
                list.Add(c);

                c = new Static(0x25F9);
                c.MoveToWorld(new Point3D(2912, 975, -11), Map);
                list.Add(c);

                break;

            case 12:
                c = new Static(0x1D8A);
                c.MoveToWorld(new Point3D(2915, 976, -13), Map);
                list.Add(c);

                c = new Static(0x1D8B);
                c.MoveToWorld(new Point3D(2916, 976, -13), Map);
                list.Add(c);

                c = new Static(0x234D);
                c.MoveToWorld(new Point3D(2915, 975, -10), Map);
                list.Add(c);

                c = new WizardsHat();
                c.MoveToWorld(new Point3D(2915, 974, -13), Map);
                c.Movable = false;
                list.Add(c);
                break;
            }

            if (list.Count > 0)
            {
                Tiers.Add(list);
            }
        }
        public WhisperingHollowChest2() : base(0xE43)
        {
            Name    = "a treasure chest -60-";
            Movable = true;
            Weight  = 1000.0;

            TrapPower = 0;
            Locked    = true;

            RequiredSkill = 60;
            LockLevel     = 60;
            MaxLockLevel  = 80;

/////////////////////////////////// Gold
            if (Utility.RandomDouble() < 0.25)
            {
                DropItem(new Gold(Utility.Random(20, 300)));
            }

/////////////////////////////////////// Supplies

            switch (Utility.Random(18))
            {
            case 0: DropItem(new Board(80)); break;

            case 1: DropItem(new BoltOfCloth(80)); break;

            case 2: DropItem(new Bottle(80)); break;

            case 3: DropItem(new CopperWire(80)); break;

            case 4: DropItem(new Cotton(80)); break;

            case 5: DropItem(new DarkYarn(80)); break;

            case 6: DropItem(new Feather(80)); break;

            case 7: DropItem(new Flax(80)); break;

            case 8: DropItem(new Gears(80)); break;

            case 9: DropItem(new GoldWire(80)); break;

            case 10: DropItem(new IronIngot(80)); break;

            case 11: DropItem(new IronWire(80)); break;

            case 12: DropItem(new Leather(80)); break;

            case 13: DropItem(new LightYarn(80)); break;

            case 14: DropItem(new Shaft(80)); break;

            case 15: DropItem(new SilverWire(80)); break;

            case 16: DropItem(new SpoolOfThread(80)); break;

            case 17: DropItem(new Springs(80)); break;

            case 18: DropItem(new Wool(80)); break;
            }

            switch (Utility.Random(5))
            {
            case 0: DropItem(new ArcaneStone(25)); break;

            case 1: DropItem(new BeetleEgg(25)); break;

            case 2: DropItem(new DragonScale(25)); break;

            case 3: DropItem(new FishScale(25)); break;

            case 4: DropItem(new SerpentScale(25)); break;
            }

            Item ReagentLoot = Loot.RandomReagent();

            ReagentLoot.Amount = Utility.RandomMinMax(25, 50);
            DropItem(ReagentLoot);

            if (Utility.RandomDouble() < 0.05)
            {
                DropItem(new SackFlour());
            }

/////////////////////////////////////// Rare Items

            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new DyeTub());
            }

/////////////////////////////////////// LV 20-30
            if (Utility.RandomDouble() < 0.10)
            {
                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(31))
                {
                case 0: weapon = new DoubleAxe(); break;                      // Lv20

                case 1: weapon = new TwoHandedAxe(); break;                   // Lv25

                case 2: weapon = new WarAxe(); break;                         // Lv30

                case 3: weapon = new CompositeBow(); break;                   // Lv20

                case 4: weapon = new EbonyCrossbow(); break;                  // Lv20

                case 5: weapon = new FireBow(); break;                        // Lv25

                case 6: weapon = new GrassBow(); break;                       // Lv25

                case 7: weapon = new IceBow(); break;                         // Lv25

                case 8: weapon = new LightningBow(); break;                   // Lv25

                case 9: weapon = new EbonyWarBow(); break;                    // Lv30

                case 10: weapon = new PistolCrossbow(); break;                // Lv30

                case 11: weapon = new EbonyDualDaggers(); break;              // Lv20

                case 12: weapon = new Tekagi(); break;                        // Lv25

                case 13: weapon = new ElvenSpellblade(); break;               // Lv30

                case 14: weapon = new WarMace(); break;                       // Lv20

                case 15: weapon = new Tessen(); break;                        // Lv25

                case 16: weapon = new HammerPick(); break;                    // Lv30

                case 17: weapon = new Spear(); break;                         // Lv20

                case 18: weapon = new BoneSpear(); break;                     // Lv25

                case 19: weapon = new BubbleStaff(); break;                   // Lv25

                case 20: weapon = new CrystalStaff(); break;                  // Lv25

                case 21: weapon = new EnergyStaff(); break;                   // Lv25

                case 22: weapon = new FireStaff(); break;                     // Lv25

                case 23: weapon = new VineStaff(); break;                     // Lv25

                case 24: weapon = new BlackStaff(); break;                    // Lv30

                case 25: weapon = new VikingSword(); break;                   // Lv20

                case 26: weapon = new Wakizashi(); break;                     // Lv20

                case 27: weapon = new Daisho(); break;                        // Lv30

                case 28: weapon = new EbonyScimitar(); break;                 // Lv30

                case 29: weapon = new RuneBlade(); break;                     // Lv30

                default: weapon = new Longsword(); break;                     // Lv20
                }

                BaseRunicTool.ApplyAttributesTo(weapon, 2, 5, 50);
                DropItem(weapon);
            }

/////////////////////////////////////// LV 18-27
            if (Utility.RandomDouble() < 0.10)
            {
                BaseArmor armor = Loot.RandomArmor(true);
                switch (Utility.Random(18))
                {
                case 0: armor = new HideFemaleChest(); break;                   // Lv18

                case 1: armor = new HideGloves(); break;                        // Lv18

                case 2: armor = new HideGorget(); break;                        // Lv18

                case 3: armor = new HidePants(); break;                         // Lv18

                case 4: armor = new HidePauldrons(); break;                     // Lv18

                case 5: armor = new StuddedDo(); break;                         // Lv21

                case 6: armor = new StuddedHaidate(); break;                    // Lv21

                case 7: armor = new StuddedHiroSode(); break;                   // Lv21

                case 8: armor = new StuddedMempo(); break;                      // Lv21

                case 9: armor = new StuddedSuneate(); break;                    // Lv21

                case 10: armor = new VikingStuddedArms(); break;                // Lv24

                case 11: armor = new VikingStuddedCap(); break;                 // Lv24

                case 12: armor = new VikingStuddedChest(); break;               // Lv24

                case 13: armor = new VikingStuddedLegs(); break;                // Lv24

                case 14: armor = new ChainChest(); break;                       // Lv27

                case 15: armor = new ChainCoif(); break;                        // Lv27

                case 16: armor = new ChainLegs(); break;                        // Lv27

                default: armor = new HideChest(); break;                        // Lv18
                }

                BaseRunicTool.ApplyAttributesTo(armor, 3, 5, 50);
                DropItem(armor);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseHat hat = Loot.RandomHat(true);
                BaseRunicTool.ApplyAttributesTo(hat, 3, 12, 15);
                DropItem(hat);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseClothing clothing = Loot.RandomClothing(true);
                BaseRunicTool.ApplyAttributesTo(clothing, 3, 12, 15);
                DropItem(clothing);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseShield shield1 = new ElvenShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield1, 3, 5, 50);
                }
                DropItem(shield1);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseShield shield2 = new InfantryShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield2, 3, 5, 50);
                }
                DropItem(shield2);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseShield shield3 = new SpiderShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield3, 3, 5, 50);
                }
                DropItem(shield3);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseShield shield4 = new GrassShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield4, 3, 5, 50);
                }
                DropItem(shield4);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel bracelet = new SilverBracelet();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(bracelet, 3, 12, 15);
                }
                DropItem(bracelet);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel earrings = new SilverEarrings();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(earrings, 3, 12, 15);
                }
                DropItem(earrings);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel necklace = new SilverNecklace();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(necklace, 3, 12, 15);
                }
                DropItem(necklace);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel ring = new SilverRing();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(ring, 3, 12, 15);
                }
                DropItem(ring);
            }
        }
Exemple #22
0
		public DupresKnight() : base( AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
		{
			Name = m_Names[Utility.Random( m_Names.Length )];
			Title = m_Titles[Utility.Random( m_Titles.Length )];
			Body = 0x190;
			Hue = Utility.RandomSkinHue();

			SetStr( 190, 200 );
			SetDex( 50, 75 );
			SetInt( 150, 250  );
			SetHits( 3900, 4100 );
			SetDamage( 22, 28 );
			SetDamageType( ResistanceType.Physical, 100 );

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

			SetSkill( SkillName.EvalInt, 195.0, 220.0 );
			SetSkill( SkillName.Magery, 195.0, 220.0 );
			SetSkill( SkillName.Meditation, 195.0, 200.0 );
			SetSkill( SkillName.MagicResist, 100.0, 120.0 );
			SetSkill( SkillName.Tactics, 195.0, 220.0 );
			SetSkill( SkillName.Wrestling, 195.0, 220.0 );

			VirtualArmor = 70;

            Item longsword = new Longsword();
            longsword.LootType = LootType.Blessed;
            AddItem(longsword);

            Item ph = new PlateHelm();
            ph.LootType = LootType.Blessed;
            AddItem(ph);

            Item pa = new PlateArms();
            pa.LootType = LootType.Blessed;
            AddItem(pa);

            Item pg = new PlateGorget();
            pg.LootType = LootType.Blessed;
            AddItem(pg);

            Item pgl = new PlateGloves();
            pgl.LootType = LootType.Blessed;
            AddItem(pgl);

            Item pl = new PlateLegs();
            pl.LootType = LootType.Blessed;
            AddItem(pl);

            Item pc = new PlateChest();
            pc.LootType = LootType.Blessed;
            AddItem(pc);

            Item mks = new MetalKiteShield();
            mks.LootType = LootType.Blessed;
            mks.Hue = 0x794;
            AddItem(mks);

            Item bs = new BodySash(0x794); // dark purple
            bs.LootType = LootType.Blessed;
            AddItem(bs);

            PackGold( 400, 600 );            
		}
        public FortressCalcifinaBossChest() : base(0x2DF2)
        {
            Name    = "a boss treasure chest -35-";
            Movable = true;
            Weight  = 1000.0;

            TrapPower = 0;
            Locked    = true;

            RequiredSkill = 35;
            LockLevel     = 35;
            MaxLockLevel  = 40;

            // Gold
            if (Utility.RandomDouble() < 0.50)
            {
                DropItem(new Gold(Utility.Random(250, 400)));
            }

/////////////////////////////////////// Jewelry

            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new Agate());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new Beryl());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new ChromeDiopside());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new FireOpal());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new MoonstoneCustom());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new Onyx());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new Opal());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new Pearl());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new TurquoiseCustom());
            }

            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Bloodstone());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Citrine());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Demantoid());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Jasper());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Lolite());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Lupis());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Peridot());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Tsavorite());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Zircon());
            }

            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Amber());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Amethyst());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Andalusite());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Chrysoberyl());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Garnet());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Jade());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Mandarin());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Morganite());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Paraiba());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new TigerEye());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Tourmaline());
            }

            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Alexandrite());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Ametrine());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Kunzite());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Ruby());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Sapphire());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Tanzanite());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Topaz());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Zultanite());
            }

            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Diamond());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Emerald());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new PinkQuartz());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new StarSapphire());
            }

/////////////////////////////////////// Supplies

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new Arrow(Utility.Random(35, 50)));
            }

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new Bolt(Utility.Random(35, 50)));
            }

            Item ReagentLoot = Loot.RandomReagent();

            ReagentLoot.Amount = Utility.Random(35, 40);
            DropItem(ReagentLoot);

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new Bandage(Utility.Random(25, 40)));
            }

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new Bedroll());
            }

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new Bottle(Utility.Random(15, 25)));
            }

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new Lockpick(Utility.Random(15, 25)));
            }

            Item PotionLoot1 = Loot.RandomPotion();

            DropItem(PotionLoot1);

            Item PotionLoot2 = Loot.RandomPotion();

            DropItem(PotionLoot2);

            Item PotionLoot3 = Loot.RandomPotion();

            DropItem(PotionLoot3);

/////////////////////////////////////// Tools

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new FishingPole());
            }

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new Shovel());
            }

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new Skillet());
            }

/////////////////////////////////////// Rare Items

            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new DyeTub());
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(38))
                {
                case 0: weapon = new Hatchet(); break;

                case 1: weapon = new Bow(); break;

                case 2: weapon = new Crossbow(); break;

                case 3: weapon = new Club(); break;

                case 4: weapon = new Mace(); break;

                case 5: weapon = new Maul(); break;

                case 6: weapon = new Pitchfork(); break;

                case 7: weapon = new ShortSpear(); break;

                case 8: weapon = new GnarledStaff(); break;

                case 9: weapon = new ShepherdsCrook(); break;

                case 10: weapon = new Cutlass(); break;

                case 11: weapon = new Katana(); break;

                case 12: weapon = new Kryss(); break;

                case 13: weapon = new Scimitar(); break;

                case 14: weapon = new AssassinSpike(); break;

                case 15: weapon = new DiamondMace(); break;

                case 16: weapon = new Leafblade(); break;

                case 17: weapon = new MagicalShortbow(); break;

                case 18: weapon = new RadiantScimitar(); break;

                case 19: weapon = new WildStaff(); break;

                case 20: weapon = new Axe(); break;

                case 21: weapon = new ExecutionersAxe(); break;

                case 22: weapon = new Pickaxe(); break;

                case 23: weapon = new TwoHandedAxe(); break;

                case 24: weapon = new WarAxe(); break;

                case 25: weapon = new HeavyCrossbow(); break;

                case 26: weapon = new HammerPick(); break;

                case 27: weapon = new WarMace(); break;

                case 28: weapon = new Spear(); break;

                case 29: weapon = new WarFork(); break;

                case 30: weapon = new BlackStaff(); break;

                case 31: weapon = new QuarterStaff(); break;

                case 32: weapon = new Longsword(); break;

                case 33: weapon = new ElvenCompositeLongbow(); break;

                case 34: weapon = new ElvenMachete(); break;

                case 35: weapon = new ElvenSpellblade(); break;

                case 36: weapon = new RuneBlade(); break;

                default: weapon = new Dagger(); break;
                }

                BaseRunicTool.ApplyAttributesTo(weapon, 5, 22, 25);

                DropItem(weapon);
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseArmor armor = Loot.RandomArmor(true);
                switch (Utility.Random(13))
                {
                case 0: armor = new FemaleStuddedChest(); break;

                case 1: armor = new StuddedArms(); break;

                case 2: armor = new StuddedBustierArms(); break;

                case 3: armor = new StuddedGloves(); break;

                case 4: armor = new StuddedGorget(); break;

                case 5: armor = new ChainCoif(); break;

                case 6: armor = new ChainChest(); break;

                case 7: armor = new ChainLegs(); break;

                case 8: armor = new RingmailArms(); break;

                case 9: armor = new RingmailChest(); break;

                case 10: armor = new RingmailGloves(); break;

                case 11: armor = new RingmailLegs(); break;

                default: armor = new StuddedChest(); break;
                }

                BaseRunicTool.ApplyAttributesTo(armor, 5, 22, 25);

                DropItem(armor);
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseHat hat = Loot.RandomHat(true);
                switch (Utility.Random(5))
                {
                case 0: hat = new BearMask(); break;

                case 1: hat = new DeerMask(); break;

                case 2: hat = new FeatheredHat(); break;

                case 3: hat = new WizardsHat(); break;

                default: hat = new TribalMask(); break;
                }

                BaseRunicTool.ApplyAttributesTo(hat, 5, 22, 25);

                DropItem(hat);
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseClothing clothing = Loot.RandomClothing(true);
                BaseRunicTool.ApplyAttributesTo(clothing, 5, 22, 25);

                DropItem(clothing);
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseShield shield = new MetalKiteShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield, 5, 22, 25);
                }

                DropItem(shield);
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseJewel bracelet = new GoldBracelet();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(bracelet, 5, 22, 25);
                }

                DropItem(bracelet);
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseJewel earrings = new GoldEarrings();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(earrings, 5, 22, 25);
                }

                DropItem(earrings);
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseJewel necklace = new GoldNecklace();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(necklace, 5, 22, 25);
                }

                DropItem(necklace);
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseJewel ring = new GoldRing();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(ring, 5, 22, 25);
                }

                DropItem(ring);
            }
        }
		public AITester( int i ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Name = "Dark Knight";
			Body = 400;
			Hue = 1175;

			SetStr( 1000 );
			SetDex( 150 );
			SetInt( 1500 );

			SetDamage( 25, 30 );

			SetDamageType( ResistanceType.Physical, 100 );

			SetResistance( ResistanceType.Physical, 50 );
			SetResistance( ResistanceType.Fire, 50 );
			SetResistance( ResistanceType.Cold, 50 );
			SetResistance( ResistanceType.Poison, 50 );
			SetResistance( ResistanceType.Energy, 50 );

			if ( i == 0 )
			{
				SetSkill( SkillName.EvalInt, 120.0 );
				SetSkill( SkillName.Magery, 120.0 );
			}
			else if ( i == 1 )
			{
				SetSkill( SkillName.Necromancy, 120.0 );
				SetSkill( SkillName.SpiritSpeak, 120.0 );
			}
			else if ( i == 2 )
			{
				SetSkill( SkillName.Bushido, 120.0 );
				SetSkill( SkillName.Parry, 120.0 );
			}
			else if ( i == 3 )
			{
				SetSkill( SkillName.Ninjitsu, 120.0 );
				SetSkill( SkillName.Hiding, 120.0 );
				SetSkill( SkillName.Stealth, 120.0 );
			}
			else if ( i == 4 )
			{
				SetSkill( SkillName.Spellweaving, 120.0 );
			}

			SetSkill( SkillName.Anatomy, 100.0 );
			SetSkill( SkillName.MagicResist, 120.0 );
			SetSkill( SkillName.Swords, 100.0 );
			SetSkill( SkillName.Tactics, 100.0 );

			Fame = 32000;
			Karma = -32000;

			VirtualArmor = 80;

			int hue = 1175;
			GiveItem( this, hue, new DragonHelm() );
			GiveItem( this, hue, new PlateGorget() );
			GiveItem( this, hue, new DragonChest() );
			GiveItem( this, hue, new DragonLegs() );
			GiveItem( this, hue, new DragonArms() );
			GiveItem( this, hue, new DragonGloves() );

			Longsword sword = new Longsword();
			sword.ItemID = 9934;
			GiveItem( this, hue, sword );
		}
        public HorseTownGuard()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.175, 0.2)
        {
            Title = "the guard";
            Body = 400;
                    Hue = Utility.RandomSkinHue();
            SpeechHue=1153;
            this.Body = 0x190;
            this.Name = NameList.RandomName( "male" );
                    SetStr( 150 );
            SetDex( 100 );
            SetInt( 25 );

            SetSkill( SkillName.MagicResist, 200.0 );
            SetSkill( SkillName.Swords, 100.0 );
            SetSkill( SkillName.Tactics, 100.0 );
            SetSkill( SkillName.Healing, 100.0 );
            SetSkill( SkillName.Anatomy, 100.0 );
            SetSkill( SkillName.Parry, 100.0 );
            SetSkill( SkillName.DetectHidden, 100.0 );

            Fame = 2500;
            Karma = 5000;

            VirtualArmor = 30;

            Item hair = new Item( Utility.RandomList( 0x203B, 0x2049, 0x2048, 0x204A ) );
            hair.Hue = Utility.RandomHairHue();
            hair.Layer = Layer.Hair;
            hair.Movable = false;
            AddItem( hair );
            PackGold( 0 );

            switch ( Utility.Random( 50 ) )
            {
                case 0:
                {
                    Item beard = new Item( Utility.RandomList( 0x2040, 0x204B, 0x203F, 0x2041 ) );
                    beard.Hue = hair.Hue;
                    beard.Layer = Layer.FacialHair;
                    beard.Movable = false;
                    AddItem( beard );
                    break;
                }
            }

            Item platechest = new PlateChest();
            EquipItem( platechest );
            Item platearms = new PlateArms();
            EquipItem( platearms );
            Item platelegs = new PlateLegs();
            EquipItem( platelegs );
            Item plategorget = new PlateGorget();
            EquipItem( plategorget );
            Longsword longsword = new Longsword();
            longsword.Movable = false;
            longsword.MinDamage = 35;
            longsword.MaxDamage = 40;
            EquipItem( longsword );
            Item shield = new MetalKiteShield();
            EquipItem( shield );
            PackItem( new Longsword() );
            PackItem( new Bandage( 100 ) );
            Horse horse = new Horse();
            horse.Rider = this;
            horse.Controled = true;
            horse.ControlMaster = this;
        }
Exemple #26
0
        public WarriorGuard(Mobile target)
            : base(target)
        {
            //10OCT2007 Reorganized Guards *** START ***
            //Reduce stats to a normal level
            //InitStats(1000, 1000, 1000);

            InitStats((Utility.RandomMinMax(50, 75)), (Utility.RandomMinMax(50, 75)), (Utility.RandomMinMax(50, 75)));
            Title = "the guard";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            if (Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");
                AddItem(new FemalePlateChest());
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
                AddItem(new PlateChest());
                AddItem(new PlateArms());

                if (Utility.RandomBool())
                {
                    Utility.AssignRandomFacialHair(this, HairHue);
                }
            }

            AddItem(new PlateGloves());
            AddItem(new PlateGorget());
            AddItem(new PlateLegs());
            AddItem(new Boots());
            AddItem(new NorseHelm());

            AddItem(new BodySash(Utility.RandomNondyedHue()));

            Utility.AssignRandomHair(this);

            switch (Utility.Random(1))  //picks one of the following
            {
                case 0:
                    {
                        Longsword weapon = new Longsword();
                        weapon.Movable = false;
                        weapon.Crafter = this;
                        weapon.Quality = WeaponQuality.Exceptional;

                        AddItem(weapon);
                        AddItem(new MetalShield());
                        break;
                    }
                case 1:
                    {
                        Halberd weapon = new Halberd();
                        weapon.Movable = false;
                        weapon.Crafter = this;
                        weapon.Quality = WeaponQuality.Exceptional;

                        AddItem(weapon); break;
                    }
            }
            //10OCT2007 Reorganized Guards *** END   ***

            Container pack = new Backpack();

            pack.Movable = false;

            pack.DropItem(new Gold(10, 25));

            AddItem(pack);

            Skills[SkillName.Anatomy].Base = 120.0;
            Skills[SkillName.Tactics].Base = 120.0;
            Skills[SkillName.Swords].Base = 120.0;
            Skills[SkillName.MagicResist].Base = 120.0;
            Skills[SkillName.DetectHidden].Base = 100.0;

            this.NextCombatTime = DateTime.Now + TimeSpan.FromSeconds(0.5);
            this.Focus = target;
        }
Exemple #27
0
        public FighterPeacemaker() : base(AIType.AI_Melee, 1)
        {
            SetStr(220, 300);
            SetDex(40, 60);
            SetInt(40, 60);

            Item weapon;
            switch (Utility.Random(6))
            {
                case 0: weapon = new Broadsword(); break;
                case 1: weapon = new Cutlass(); break;
                case 2: weapon = new Katana(); break;
                case 3: weapon = new Longsword(); break;
                case 4: weapon = new Scimitar(); break;
                default: weapon = new VikingSword(); break;
            }
            AddItem(weapon);

            AddItem(new MetalShield());

            SetDamageType(ResistanceType.Physical, 100);

            SetSkill(SkillName.Tactics, 70.1, 95.0);
            SetSkill(SkillName.Swords, 70.1, 100.0);
            SetSkill(SkillName.Fencing, 65.1, 100.0);
            SetSkill(SkillName.MagicResist, 80.1, 110.0);
            SetSkill(SkillName.Macing, 75.1, 100.0);
            SetSkill(SkillName.Wrestling, 65.1, 100.0);
            SetSkill(SkillName.Parry, 70.1, 100.0);
            SetSkill(SkillName.Healing, 65.1, 75.0);
            SetSkill(SkillName.Anatomy, 80.1, 90.0);
        }
        public VampireKnight()
            : base(AIType.AI_Stealth, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            if ( Female = Utility.RandomBool() )
            {
                Body = 0x191;
                Name = NameList.RandomName( "female" );
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName( "male" );
            }
            Hue = 1150;
            BaseSoundID = 0x4B0;

            SetStr( 100, 105 );
            SetDex( 128, 131 );
            SetInt( 60, 62 );

            SetHits( 220, 230 );

            SetDamage( 15, 22 );

            SetDamageType( ResistanceType.Physical, 50 );
            SetDamageType( ResistanceType.Cold, 50 );

            SetResistance( ResistanceType.Physical, 44 );
            SetResistance( ResistanceType.Fire, -10 );
            SetResistance( ResistanceType.Cold, 35 );
            SetResistance( ResistanceType.Poison, 35 );
            SetResistance( ResistanceType.Energy, 35 );

            SetSkill( SkillName.SpiritSpeak, 100.0 );
            SetSkill( SkillName.Necromancy, 50.0 );
            SetSkill( SkillName.Focus, 90.1, 100.0 );
            SetSkill( SkillName.MagicResist, 100.0 );
            SetSkill( SkillName.Tactics, 105.0 );
            SetSkill( SkillName.Anatomy, 105.0 );
            SetSkill( SkillName.Macing, 100.1, 120.0 );
            SetSkill( SkillName.Fencing, 100.1, 120.0 );
            SetSkill( SkillName.Parry, 100.0 );

            Fame = 9000;
            Karma = -14000;

            VirtualArmor = 5;

            AddItem( new LeatherChest() );
            AddItem( new LeatherLegs() );
            AddItem( new LeatherArms() );
            AddItem( new LeatherCap() );
            AddItem( new LeatherGloves() );
            AddItem( new LeatherGorget() );
            switch ( Utility.Random( 6 ))
            {
                case 0:
                {
                    Maul bozdugan = new Maul();
                    bozdugan.Movable = false;
                    bozdugan.WeaponAttributes.HitLeechHits = 100;
                    AddItem( bozdugan );
                    AddItem( new WoodenKiteShield() );
                    break;
                }
                case 1:
                {
                    Mace chuk = new Mace();
                    chuk.Movable = false;
                    chuk.WeaponAttributes.HitLeechHits = 100;
                    AddItem( chuk );
                    AddItem( new WoodenKiteShield() );
                    break;
                }
                case 2:
                {
                    BladedStaff bstaff = new BladedStaff();
                    bstaff.Movable = false;
                    bstaff.WeaponAttributes.HitLeechHits = 100;
                    AddItem( bstaff );
                    break;
                }
                case 3:
                {
                    Spear kopie = new Spear();
                    kopie.Movable = false;
                    kopie.WeaponAttributes.HitLeechHits = 100;
                    AddItem( kopie );
                    break;
                }
                case 4:
                {
                    Pike pika = new Pike();
                    pika.Movable = false;
                    pika.WeaponAttributes.HitLeechHits = 100;
                    AddItem( pika );
                    break;
                }
                case 5:
                {
                    Longsword mech = new Longsword();
                    mech.Movable = false;
                    mech.WeaponAttributes.HitLeechHits = 100;
                    AddItem( mech );
                    AddItem( new WoodenKiteShield() );
                    break;
                }
            }

            Item hair = new Item( Utility.RandomList( 0x203B, 0x2049, 0x2048, 0x204A ) );
            hair.Hue = Utility.RandomNondyedHue();
            hair.Layer = Layer.Hair;
            AddItem( hair );

            BaseMount horse = new SkeletalMount();
            horse.Rider = this;
            horse.Hue = 1;
            horse.Team = this.Team;
        }
        public WarriorGuard(Mobile target) : base(target)
        {
            InitStats(1000, 1000, 1000);

            SpeechHue = 0;

            Hue = Utility.RandomSkinHue();

            #region Armor
            for (int i = 0; i < m_GuardArmor.Length; ++i)
            {
                m_GuardArmor[i].Resource = GuardTheme;
                AddItem(m_GuardArmor[i]);
                m_GuardArmor[i].Movable = false;
            }
            #endregion

            #region Cloth
            BaseClothing bC = null;

            switch (Utility.Random(3))
            {
                case 0:
                    bC = new Doublet();
                    break;
                case 1:
                    bC = new Tunic();
                    break;
                case 2:
                    bC = new BodySash();
                    bC.Layer = Layer.Earrings;
                    break;
            }

            if (bC != null)
            {
                bC.Resource = GuardTheme;
                AddItem(bC);
                bC.Movable = false;
            }
            #endregion

            #region Male/Female
            if (Female = Utility.RandomBool())
            {
                Body = 0x191;
                if (string.IsNullOrEmpty(Name))
                {
                    Name = NameList.RandomName("female");
                    Title = "the guard";
                }

                FemalePlateChest ar = new FemalePlateChest();
                ar.Resource = GuardTheme;
                AddItem(ar);
                ar.Movable = false;
            }
            else
            {
                Body = 0x190;
                if (string.IsNullOrEmpty(Name))
                {
                    Name = NameList.RandomName("male");
                    Title = "the guard";
                }

                PlateChest ar = new PlateChest();
                ar.Resource = GuardTheme;
                AddItem(ar);
                ar.Movable = false;
            }
            #endregion

            Utility.AssignRandomHair(this);

            if (Utility.RandomBool())
                Utility.AssignRandomFacialHair(this, HairHue);

            #region Weapon
            BaseWeapon weapon;

            switch(Utility.Random(2))
            {
                case 1: weapon = new Halberd(); break;
                case 2:
                    weapon = new Longsword();
                    BaseShield shield = new OrderShield();
                    shield.Resource = GuardTheme;
                    AddItem(shield);
                    shield.Movable = false;
                    break;
                default:
                    weapon = new Halberd(); break;
            }

            weapon.Crafter = this;
            weapon.Resource = GuardTheme;
            weapon.Quality = WeaponQuality.Exceptional;
            weapon.Speed = 300;
            weapon.MinDamage = 10000;
            weapon.MaxDamage = 10000;
            AddItem(weapon);
            weapon.Movable = false;
            #endregion

            Container pack = new Backpack();
            pack.Movable = false;
            pack.DropItem(new Gold(10, 25));
            AddItem(pack);

            Skills[SkillName.Anatomy].Base = 120.0;
            Skills[SkillName.Tactics].Base = 125.0;
            Skills[SkillName.Swords].Base = 100.0;
            Skills[SkillName.MagicResist].Base = 120.0;
            Skills[SkillName.DetectHidden].Base = 100.0;

            //if (Utility.RandomDouble() <= 0.1)
            //    new Horse().Rider = this;

            NextCombatTime = DateTime.Now + TimeSpan.FromSeconds(1.10);
            Focus = target;
        }
Exemple #30
0
		public override bool OnDragDrop( Mobile from, Item dropped )
		{
            // trigger returns true if returnoverride
            if (XmlScript.HasTrigger(this, TriggerName.onDragDrop) && UberScriptTriggers.Trigger(this, from, TriggerName.onDragDrop, dropped))
                return true;
            PlayerMobile player = from as PlayerMobile;

			if ( player != null )
			{
				QuestSystem qs = player.Quest;

				if ( qs is UzeraanTurmoilQuest )
				{
					if ( dropped is UzeraanTurmoilHorn )
					{
						if ( player.Young )
						{
							UzeraanTurmoilHorn horn = (UzeraanTurmoilHorn)dropped;

							if ( horn.Charges < 10 )
							{
								SayTo( from, 1049384 ); // I have recharged the item for you.
								horn.Charges = 10;
							}
							else
							{
								SayTo( from, 1049385 ); // That doesn't need recharging yet.
							}
						}
						else
						{
							player.SendLocalizedMessage( 1114333 ); //You must be young to have this item recharged.
						}

						return false;
					}

					if ( dropped is SchmendrickScrollOfPower )
					{
						QuestObjective obj = qs.FindObjective( typeof( ReturnScrollOfPowerObjective ) );

						if ( obj != null && !obj.Completed )
						{
							Container cont = GetNewContainer();

							cont.DropItem( new TreasureMap( player.Young ? 0 : 1, Map.Felucca ) );
							cont.DropItem( new Shovel() );
							cont.DropItem( new UzeraanTurmoilHorn() );

							if ( !player.PlaceInBackpack( cont ) )
							{
								cont.Delete();
								player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
								return false;
							}
							else
							{
								dropped.Delete();
								obj.Complete();
								return true;
							}
						}
					}
					else if ( dropped is QuestFertileDirt )
					{
						QuestObjective obj = qs.FindObjective( typeof( ReturnFertileDirtObjective ) );

						if ( obj != null && !obj.Completed )
						{
							Container cont = GetNewContainer();

							if ( player.Profession == 2 ) // magician
							{
								cont.DropItem( new BlackPearl( 20 ) );
								cont.DropItem( new Bloodmoss( 20 ) );
								cont.DropItem( new Garlic( 20 ) );
								cont.DropItem( new Ginseng( 20 ) );
								cont.DropItem( new MandrakeRoot( 20 ) );
								cont.DropItem( new Nightshade( 20 ) );
								cont.DropItem( new SulfurousAsh( 20 ) );
								cont.DropItem( new SpidersSilk( 20 ) );

								for ( int i = 0; i < 3; i++ )
									cont.DropItem( Loot.RandomScroll( 0, 23, SpellbookType.Regular ) );
							}
							else
							{
								cont.DropItem( new Gold( 300 ) );
								cont.DropItem( new Bandage( 25 ) );

								for ( int i = 0; i < 5; i++ )
									cont.DropItem( new LesserHealPotion() );
							}

							if ( !player.PlaceInBackpack( cont ) )
							{
								cont.Delete();
								player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
								return false;
							}
							else
							{
								dropped.Delete();
								obj.Complete();
								return true;
							}
						}
					}
					else if ( dropped is QuestDaemonBlood )
					{
						QuestObjective obj = qs.FindObjective( typeof( ReturnDaemonBloodObjective ) );

						if ( obj != null && !obj.Completed )
						{
							Item reward;

							if ( player.Profession == 2 ) // magician
							{
								Container cont = GetNewContainer();

								cont.DropItem( new ExplosionScroll( 4 ) );
								cont.DropItem( new MagicWizardsHat() );

								reward = cont;
							}
							else
							{
								BaseWeapon weapon;
								switch ( Utility.Random( 6 ) )
								{
									case 0: weapon = new Broadsword(); break;
									case 1: weapon = new Cutlass(); break;
									case 2: weapon = new Katana(); break;
									case 3: weapon = new Longsword(); break;
									case 4: weapon = new Scimitar(); break;
									default: weapon = new VikingSword(); break;
								}

                                int damageLevel = BaseCreature.RandomMinMaxScaled(2, 4);
                                if (PseudoSeerStone.Instance != null && PseudoSeerStone.Instance._HighestDamageLevelSpawn < damageLevel)
                                {
                                    damageLevel = PseudoSeerStone.Instance._HighestDamageLevelSpawn;
                                }
                                weapon.DamageLevel = (WeaponDamageLevel)damageLevel;
								weapon.AccuracyLevel = (WeaponAccuracyLevel)BaseCreature.RandomMinMaxScaled( 2, 4 );
								weapon.DurabilityLevel = (WeaponDurabilityLevel)BaseCreature.RandomMinMaxScaled( 2, 4 );

								weapon.Slayer = SlayerName.Silver;

								reward = weapon;
							}

							if ( !player.PlaceInBackpack( reward ) )
							{
								reward.Delete();
								player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
								return false;
							}
							else
							{
								dropped.Delete();
								obj.Complete();
								return true;
							}
						}
					}
					else if ( dropped is QuestDaemonBone )
					{
						QuestObjective obj = qs.FindObjective( typeof( ReturnDaemonBoneObjective ) );

						if ( obj != null && !obj.Completed )
						{
							Container cont = GetNewContainer();
							cont.DropItem( new BankCheck( 2000 ) );
							cont.DropItem( new EnchantedSextant() );

							if ( !player.PlaceInBackpack( cont ) )
							{
								cont.Delete();
								player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
								return false;
							}
							else
							{
								dropped.Delete();
								obj.Complete();
								return true;
							}
						}
					}
				}
			}

			return base.OnDragDrop( from, dropped );
		}
        public override void OnResponse(Mobile from, string text)
        {
            if (text == null)
                return;

            int index = 0;

            if (int.TryParse(text, out index))
            {
                if (index < 1 || index > 2)
                {
                    from.SendMessage("Invalid code.");
                    return;
                }

                if (index == 1)
                {
                    Longsword weapon = new Longsword();
                    weapon.NewCrafting = true;
                    weapon.QualityDamage = m_Hilt.Damage + m_Blade.Damage;
                    weapon.QualitySpeed = m_Hilt.Speed + m_Blade.Speed;
                    weapon.QualityAccuracy = m_Hilt.Attack + m_Blade.Attack;
                    weapon.QualityDefense = m_Hilt.Defense + m_Blade.Defense;
                    weapon.Resource = m_Blade.Resource;
                    int quality = (int)(m_Blade.Durability * 0.8 + m_Hilt.Durability * 0.2);
                    weapon.MaxHitPoints = quality; weapon.HitPoints = quality;
                    weapon.Crafter = from;
                    weapon.CraftersOriginalName = from.Name;
                    quality = (int)(m_Blade.Quality * 0.8 + m_Hilt.Quality * 0.2);
                    if (quality == 500)
                        weapon.Quality = WeaponQuality.Legendary;
                    if (quality < 500)
                        weapon.Quality = WeaponQuality.Masterwork;
                    if (quality < 450)
                        weapon.Quality = WeaponQuality.Illustrious;
                    if (quality < 400)
                        weapon.Quality = WeaponQuality.Extraordinary;
                    if (quality < 350)
                        weapon.Quality = WeaponQuality.Remarkable;
                    if (quality < 300)
                        weapon.Quality = WeaponQuality.Exceptional;
                    if (quality < 250)
                        weapon.Quality = WeaponQuality.Superior;
                    if (quality < 200)
                        weapon.Quality = WeaponQuality.Regular;
                    if (quality < 150)
                        weapon.Quality = WeaponQuality.Inferior;
                    if (quality < 100)
                        weapon.Quality = WeaponQuality.Low;
                    if (quality < 50)
                        weapon.Quality = WeaponQuality.Poor;
                    weapon.BetaNerf = true;
                    weapon.InvalidateProperties();
                    from.AddToBackpack(weapon);
                    weapon.AddItem(m_Blade);
                    weapon.AddItem(m_Hilt);
                }
                else if (index == 2)
                {
                    TyreanBroadsword weapon = new TyreanBroadsword();
                    weapon.NewCrafting = true;
                    weapon.QualityDamage = m_Hilt.Damage + m_Blade.Damage;
                    weapon.QualitySpeed = m_Hilt.Speed + m_Blade.Speed;
                    weapon.QualityAccuracy = m_Hilt.Attack + m_Blade.Attack;
                    weapon.QualityDefense = m_Hilt.Defense + m_Blade.Defense;
                    weapon.Resource = m_Blade.Resource;
                    int quality = (int)(m_Blade.Durability * 0.8 + m_Hilt.Durability * 0.2);
                    weapon.MaxHitPoints = quality; weapon.HitPoints = quality;
                    weapon.Crafter = from;
                    weapon.CraftersOriginalName = from.Name;
                    quality = (int)(m_Blade.Quality * 0.8 + m_Hilt.Quality * 0.2);
                    if (quality == 500)
                        weapon.Quality = WeaponQuality.Legendary;
                    if (quality < 500)
                        weapon.Quality = WeaponQuality.Masterwork;
                    if (quality < 450)
                        weapon.Quality = WeaponQuality.Illustrious;
                    if (quality < 400)
                        weapon.Quality = WeaponQuality.Extraordinary;
                    if (quality < 350)
                        weapon.Quality = WeaponQuality.Remarkable;
                    if (quality < 300)
                        weapon.Quality = WeaponQuality.Exceptional;
                    if (quality < 250)
                        weapon.Quality = WeaponQuality.Superior;
                    if (quality < 200)
                        weapon.Quality = WeaponQuality.Regular;
                    if (quality < 150)
                        weapon.Quality = WeaponQuality.Inferior;
                    if (quality < 100)
                        weapon.Quality = WeaponQuality.Low;
                    if (quality < 50)
                        weapon.Quality = WeaponQuality.Poor;
                    weapon.BetaNerf = true;
                    weapon.InvalidateProperties();
                    from.AddToBackpack(weapon);
                    weapon.AddItem(m_Blade);
                    weapon.AddItem(m_Hilt);
                }
            }
        }
        protected override void OnTarget(Mobile from, object targeted)
        {
            if (!(targeted is BaseAttackPiece))
                return;

            m_Blade = targeted as BaseAttackPiece;

            if (m_Blade is ShortBlade)
            {
                Dagger weapon = new Dagger();
                weapon.NewCrafting = true;
                weapon.QualityDamage = m_Hilt.Damage + m_Blade.Damage;
                weapon.QualitySpeed = m_Hilt.Speed + m_Blade.Speed;
                weapon.QualityAccuracy = m_Hilt.Attack + m_Blade.Attack;
                weapon.QualityDefense = m_Hilt.Defense + m_Blade.Defense;
                weapon.Resource = m_Blade.Resource;
                int quality = (int)(m_Blade.Durability * 0.6 + m_Hilt.Durability * 0.4);
                weapon.MaxHitPoints = quality; weapon.HitPoints = quality;
                weapon.Crafter = from;
                weapon.CraftersOriginalName = from.Name;
                quality = (int)(m_Blade.Quality * 0.6 + m_Hilt.Quality * 0.4);
                if (quality == 500)
                    weapon.Quality = WeaponQuality.Legendary;
                if (quality < 500)
                    weapon.Quality = WeaponQuality.Masterwork;
                if (quality < 450)
                    weapon.Quality = WeaponQuality.Illustrious;
                if (quality < 400)
                    weapon.Quality = WeaponQuality.Extraordinary;
                if (quality < 350)
                    weapon.Quality = WeaponQuality.Remarkable;
                if (quality < 300)
                    weapon.Quality = WeaponQuality.Exceptional;
                if (quality < 250)
                    weapon.Quality = WeaponQuality.Superior;
                if (quality < 200)
                    weapon.Quality = WeaponQuality.Regular;
                if (quality < 150)
                    weapon.Quality = WeaponQuality.Inferior;
                if (quality < 100)
                    weapon.Quality = WeaponQuality.Low;
                if (quality < 50)
                    weapon.Quality = WeaponQuality.Poor;
                weapon.BetaNerf = true;
                weapon.InvalidateProperties();
                from.AddToBackpack(weapon);
                weapon.AddItem(m_Blade);
                weapon.AddItem(m_Hilt);
            }
            if (m_Blade is CurvedBlade && ((PlayerMobile)from).Nation == Nation.Khemetar)
                from.Prompt = new SCrucHCurvedBladePrompt(from, m_Hilt, (CurvedBlade)m_Blade);
            if (m_Blade is MediumBlade)
            {
                if (((PlayerMobile)from).Nation == Nation.Vhalurian)
                    from.Prompt = new SCrucHMediumBladePrompt(from, m_Hilt, (MediumBlade)m_Blade);
                else
                {
                    Shortsword weapon = new Shortsword();
                    weapon.NewCrafting = true;
                    weapon.QualityDamage = m_Hilt.Damage + m_Blade.Damage;
                    weapon.QualitySpeed = m_Hilt.Speed + m_Blade.Speed;
                    weapon.QualityAccuracy = m_Hilt.Attack + m_Blade.Attack;
                    weapon.QualityDefense = m_Hilt.Defense + m_Blade.Defense;
                    weapon.Resource = m_Blade.Resource;
                    int quality = (int)(m_Blade.Durability * 0.65 + m_Hilt.Durability * 0.35);
                    weapon.MaxHitPoints = quality; weapon.HitPoints = quality;
                    weapon.Crafter = from;
                    weapon.CraftersOriginalName = from.Name;
                    quality = (int)(m_Blade.Quality * 0.65 + m_Hilt.Quality * 0.35);
                    if (quality == 500)
                        weapon.Quality = WeaponQuality.Legendary;
                    if (quality < 500)
                        weapon.Quality = WeaponQuality.Masterwork;
                    if (quality < 450)
                        weapon.Quality = WeaponQuality.Illustrious;
                    if (quality < 400)
                        weapon.Quality = WeaponQuality.Extraordinary;
                    if (quality < 350)
                        weapon.Quality = WeaponQuality.Remarkable;
                    if (quality < 300)
                        weapon.Quality = WeaponQuality.Exceptional;
                    if (quality < 250)
                        weapon.Quality = WeaponQuality.Superior;
                    if (quality < 200)
                        weapon.Quality = WeaponQuality.Regular;
                    if (quality < 150)
                        weapon.Quality = WeaponQuality.Inferior;
                    if (quality < 100)
                        weapon.Quality = WeaponQuality.Low;
                    if (quality < 50)
                        weapon.Quality = WeaponQuality.Poor;
                    weapon.BetaNerf = true;
                    weapon.InvalidateProperties();
                    from.AddToBackpack(weapon);
                    weapon.AddItem(m_Blade);
                    weapon.AddItem(m_Hilt);
                }
            }
            if (m_Blade is LongBlade)
            {
                if (((PlayerMobile)from).Nation == Nation.Tyrean)
                    from.Prompt = new SCrucHLongBladePrompt(from, m_Hilt, (LongBlade)m_Blade);
                else
                {
                    Longsword weapon = new Longsword();
                    weapon.NewCrafting = true;
                    weapon.QualityDamage = m_Hilt.Damage + m_Blade.Damage;
                    weapon.QualitySpeed = m_Hilt.Speed + m_Blade.Speed;
                    weapon.QualityAccuracy = m_Hilt.Attack + m_Blade.Attack;
                    weapon.QualityDefense = m_Hilt.Defense + m_Blade.Defense;
                    weapon.Resource = m_Blade.Resource;
                    int quality = (int)(m_Blade.Durability * 0.8 + m_Hilt.Durability * 0.2);
                    weapon.MaxHitPoints = quality; weapon.HitPoints = quality;
                    weapon.Crafter = from;
                    weapon.CraftersOriginalName = from.Name;
                    quality = (int)(m_Blade.Quality * 0.8 + m_Hilt.Quality * 0.2);
                    if (quality == 500)
                        weapon.Quality = WeaponQuality.Legendary;
                    if (quality < 500)
                        weapon.Quality = WeaponQuality.Masterwork;
                    if (quality < 450)
                        weapon.Quality = WeaponQuality.Illustrious;
                    if (quality < 400)
                        weapon.Quality = WeaponQuality.Extraordinary;
                    if (quality < 350)
                        weapon.Quality = WeaponQuality.Remarkable;
                    if (quality < 300)
                        weapon.Quality = WeaponQuality.Exceptional;
                    if (quality < 250)
                        weapon.Quality = WeaponQuality.Superior;
                    if (quality < 200)
                        weapon.Quality = WeaponQuality.Regular;
                    if (quality < 150)
                        weapon.Quality = WeaponQuality.Inferior;
                    if (quality < 100)
                        weapon.Quality = WeaponQuality.Low;
                    if (quality < 50)
                        weapon.Quality = WeaponQuality.Poor;
                    weapon.BetaNerf = true;
                    weapon.InvalidateProperties();
                    from.AddToBackpack(weapon);
                    weapon.AddItem(m_Blade);
                    weapon.AddItem(m_Hilt);
                }
            }
        }
		public HeadlessHorseman() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Name = "The Headless Horseman";
			Body = 185;
			BaseSoundID = 0x47F;
			Hue = 0x4001;
			
			SetStr( 430, 500 );
			SetDex( 90, 120 );
			SetInt( 700, 800 );

			SetHits( 5000, 10000 );
			SetMana( 5000 );

			SetDamage( 20, 35 );

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

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

			SetSkill( SkillName.Anatomy, 120.0 );
			SetSkill( SkillName.EvalInt, 100.0 );
			SetSkill( SkillName.Magery, 100.0 );
			SetSkill( SkillName.Meditation, 120.0 );
			SetSkill( SkillName.MagicResist, 100.0 );
			SetSkill( SkillName.Tactics, 120.0 );
			SetSkill( SkillName.Swords, 120.0 );

			Fame = 30000;
			Karma = -30000;
            
			VirtualArmor = 60;

			PlateChest chest = new PlateChest();
			chest.Hue = 1345;
			chest.Movable = false;
			AddItem( chest );
			
			PlateArms arms = new PlateArms();
			arms.Hue = 1345;
			arms.Movable = false;
			AddItem( arms );
			
			PlateGloves gloves = new PlateGloves();
			gloves.Hue = 1345;
			gloves.Movable = false;
			AddItem( gloves );
			
			PlateGorget gorget = new PlateGorget();
			gorget.Hue = 1345;
			gorget.Movable = false;
			AddItem( gorget );
			
			PlateLegs legs = new PlateLegs();
			legs.Hue = 1345;
			legs.Movable = false;
			AddItem( legs );

			Cloak cloak = new Cloak();
			cloak.Hue = 1175;
			cloak.Movable = false;
			AddItem( cloak );
			
			Longsword weapon = new Longsword();
            weapon.Hue = 1175;
			weapon.Movable = false;
			AddItem( weapon );
			
			Lantern lantern = new Lantern();
			lantern.Movable = false;
			lantern.Ignite();
			AddItem( lantern );			
			
			ThighBoots boots = new ThighBoots();
			boots.Movable = false;
			AddItem( boots );
			

			new Nightmare().Rider = this;
		}
Exemple #34
0
        public static void EquipSociety(Armament a, Mobile m)
        {
            if (a == Armament.LightCavalry)
                a = (Armament)1;
            else if (a == Armament.HeavyCavalry)
                a = (Armament)3;

            switch (a)
            {
                case Armament.Light:
                    {
                        LeatherChest chest = new LeatherChest();
                        chest.Resource = CraftResource.BeastLeather;
                        chest.Hue = 2830;

                        LeatherArms arms = new LeatherArms();
                        arms.Resource = CraftResource.BeastLeather;
                        arms.Hue = 2830;

                        LeatherLegs legs = new LeatherLegs();
                        legs.Resource = CraftResource.BeastLeather;
                        legs.Hue = 2830;

                        LeatherGorget gorget = new LeatherGorget();
                        gorget.Resource = CraftResource.BeastLeather;
                        gorget.Hue = 2830;

                        LeatherGloves gloves = new LeatherGloves();
                        gloves.Resource = CraftResource.BeastLeather;
                        gloves.Hue = 2830;

                        ThighBoots boots = new ThighBoots();
                        boots.Resource = CraftResource.BeastLeather;
                        boots.Hue = 2830;

                        m.EquipItem(chest);
                        m.EquipItem(arms);
                        m.EquipItem(legs);
                        m.EquipItem(gorget);
                        m.EquipItem(gloves);
                        m.EquipItem(boots);

                        Shortsword ss = new Shortsword();
                        ss.Resource = CraftResource.Bronze;
                        m.EquipItem(ss);

                        VhalurianMetalKiteShield shield = new VhalurianMetalKiteShield();
                        shield.Resource = CraftResource.Bronze;
                        shield.Name = "Society of Rymaliel Kite Shield";
                        shield.Hue = 2413;
                        shield.ItemID = 15726;
                        m.EquipItem(shield);

                        break;
                    }
                case Armament.Medium:
                    {
                        ChainChest chest = new ChainChest();
                        chest.Resource = CraftResource.Bronze;
                        chest.Hue = 2830;

                        ChainArms arms = new ChainArms();
                        arms.Resource = CraftResource.Bronze;
                        arms.Hue = 2830;

                        ChainLegs legs = new ChainLegs();
                        legs.Resource = CraftResource.Bronze;
                        legs.Hue = 2830;

                        ChainGorget gorget = new ChainGorget();
                        gorget.Resource = CraftResource.Bronze;
                        gorget.Hue = 2830;

                        ChainGloves gloves = new ChainGloves();
                        gloves.Resource = CraftResource.Bronze;
                        gloves.Hue = 2830;

                        VhalurianMetalKiteShield shield = new VhalurianMetalKiteShield();
                        shield.Resource = CraftResource.Bronze;
                        shield.Name = "Society of Rymaliel Kite Shield";
                        shield.Hue = 2413;
                        shield.ItemID = 15726;
                        m.EquipItem(shield);

                        FlangedMace fm = new FlangedMace();
                        fm.Resource = CraftResource.Bronze;
                        m.EquipItem(fm);

                        ThighBoots boots = new ThighBoots();
                        boots.Resource = CraftResource.BeastLeather;
                        boots.Hue = 2989;

                        m.EquipItem(chest);
                        m.EquipItem(arms);
                        m.EquipItem(legs);
                        m.EquipItem(gorget);
                        m.EquipItem(gloves);
                        m.EquipItem(shield);
                        m.EquipItem(fm);
                        m.EquipItem(boots);

                        break;
                    }
                case Armament.Heavy:
                    {
                        PlateChest chest = new PlateChest();
                        chest.Resource = CraftResource.Bronze;
                        chest.Hue = 2830;

                        PlateArms arms = new PlateArms();
                        arms.Resource = CraftResource.Bronze;
                        arms.Hue = 2830;

                        PlateLegs legs = new PlateLegs();
                        legs.Resource = CraftResource.Bronze;
                        legs.Hue = 2830;

                        PlateGorget gorget = new PlateGorget();
                        gorget.Resource = CraftResource.Bronze;
                        gorget.Hue = 2830;

                        PlateGloves gloves = new PlateGloves();
                        gloves.Resource = CraftResource.Bronze;
                        gloves.Hue = 2830;

                        CloseHelm helm = new CloseHelm();
                        helm.Resource = CraftResource.Bronze;
                        helm.Hue = 2830;

                        VhalurianMetalKiteShield shield = new VhalurianMetalKiteShield();
                        shield.Resource = CraftResource.Bronze;
                        shield.Name = "Society of Rymaliel Kite Shield";
                        shield.Hue = 2413;
                        shield.ItemID = 15726;
                        m.EquipItem(shield);

                        Longsword sword = new Longsword();
                        sword.Resource = CraftResource.Iron;

                        m.EquipItem(chest);
                        m.EquipItem(arms);
                        m.EquipItem(legs);
                        m.EquipItem(gorget);
                        m.EquipItem(gloves);
                        m.EquipItem(shield);
                        m.EquipItem(helm);
                        m.EquipItem(sword);

                        m.EquipItem(new ElegantCloak(2751));

                        break;
                    }
                case Armament.Ranged:
                    {
                        LeatherChest chest = new LeatherChest();
                        chest.Resource = CraftResource.BeastLeather;
                        chest.Hue = 2830;

                        LongPants legs = new LongPants();
                        legs.Resource = CraftResource.Wool;
                        legs.Hue = 2830;

                        LeatherGorget gorget = new LeatherGorget();
                        gorget.Resource = CraftResource.BeastLeather;
                        gorget.Hue = 2830;

                        LeatherGloves gloves = new LeatherGloves();
                        gloves.Resource = CraftResource.BeastLeather;
                        gloves.Hue = 2830;

                        ThighBoots boots = new ThighBoots();
                        boots.Resource = CraftResource.BeastLeather;
                        boots.Hue = 2830;

                        WingedHelm helm = new WingedHelm();
                        helm.Resource = CraftResource.Copper;

                        CompositeBow bow = new CompositeBow();
                        bow.Resource = CraftResource.Ash;

                        m.EquipItem(chest);
                        m.EquipItem(legs);
                        m.EquipItem(gorget);
                        m.EquipItem(gloves);
                        m.EquipItem(boots);
                        m.EquipItem(helm);
                        m.EquipItem(bow);

                        if (m is BaseCreature)
                        {
                            BaseCreature bc = m as BaseCreature;
                            bc.AI = AIType.AI_Archer;
                            bc.PackItem(new Arrow(Utility.RandomMinMax(10, 20)));
                        }

                        break;
                    }
            }

            Surcoat coat = new Surcoat();
            coat.ItemID = 15483;
            coat.Name = "A Surcoat of the Society of Rymaliel";
            m.EquipItem(coat);
        }
Exemple #35
0
        public TownChestWeaponsmith() : base(0xE43)
        {
            Name    = "a metal chest -20-";
            Movable = true;
            Weight  = 1000.0;

            Hue = 83;

            TrapPower = 0;
            Locked    = true;

            RequiredSkill = 20;
            LockLevel     = 20;
            MaxLockLevel  = 25;

            // Gold
            if (Utility.RandomDouble() < 0.25)
            {
                DropItem(new Gold(Utility.Random(1, 50)));
            }

            // Supplies

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Axe());
            }

            if (Utility.RandomDouble() < 0.05)
            {
                DropItem(new DoubleAxe());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new LargeBattleAxe());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Mace());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Maul());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new WarMace());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new ShortSpear());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Spear());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Longsword());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Scimitar());
            }

            if (Utility.RandomDouble() < 0.10)
            {
                DropItem(new Arrow(Utility.Random(25, 30)));
            }

/////////////////////////////////////// Rare Items

            if (Utility.RandomDouble() < 0.15)
            {
                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(38))
                {
                case 0: weapon = new Hatchet(); break;

                case 1: weapon = new Bow(); break;

                case 2: weapon = new Crossbow(); break;

                case 3: weapon = new Club(); break;

                case 4: weapon = new Mace(); break;

                case 5: weapon = new Maul(); break;

                case 6: weapon = new Pitchfork(); break;

                case 7: weapon = new ShortSpear(); break;

                case 8: weapon = new GnarledStaff(); break;

                case 9: weapon = new ShepherdsCrook(); break;

                case 10: weapon = new Cutlass(); break;

                case 11: weapon = new Katana(); break;

                case 12: weapon = new Kryss(); break;

                case 13: weapon = new Scimitar(); break;

                case 14: weapon = new AssassinSpike(); break;

                case 15: weapon = new DiamondMace(); break;

                case 16: weapon = new Leafblade(); break;

                case 17: weapon = new MagicalShortbow(); break;

                case 18: weapon = new RadiantScimitar(); break;

                case 19: weapon = new WildStaff(); break;

                case 20: weapon = new Axe(); break;

                case 21: weapon = new ExecutionersAxe(); break;

                case 22: weapon = new Pickaxe(); break;

                case 23: weapon = new TwoHandedAxe(); break;

                case 24: weapon = new WarAxe(); break;

                case 25: weapon = new HeavyCrossbow(); break;

                case 26: weapon = new HammerPick(); break;

                case 27: weapon = new WarMace(); break;

                case 28: weapon = new Spear(); break;

                case 29: weapon = new WarFork(); break;

                case 30: weapon = new BlackStaff(); break;

                case 31: weapon = new QuarterStaff(); break;

                case 32: weapon = new Longsword(); break;

                case 33: weapon = new ElvenCompositeLongbow(); break;

                case 34: weapon = new ElvenMachete(); break;

                case 35: weapon = new ElvenSpellblade(); break;

                case 36: weapon = new RuneBlade(); break;

                default: weapon = new Dagger(); break;
                }
                BaseRunicTool.ApplyAttributesTo(weapon, 5, 15, 20);

                DropItem(weapon);
            }
        }