private static void EquipPirateItems(Mobile player) { //Equip the cursed pirate garb. //Cutlass Cutlass cutlass = new Cutlass(); cutlass.Movable = false; cutlass.Skill = SkillName.Swords; cutlass.Layer = Layer.OneHanded; player.AddItem(cutlass); //Fancy Shirt FancyShirt shirt = new FancyShirt(Utility.RandomNeutralHue()); shirt.Movable = false; player.AddItem(shirt); //Long Pants LongPants pants = new LongPants(Utility.RandomNeutralHue()); pants.Movable = false; player.AddItem(pants); //Tricorne Hat TricorneHat hat = new TricorneHat(Utility.RandomNeutralHue()); hat.Movable = false; player.AddItem(hat); //Thigh Boots ThighBoots boots = new ThighBoots(); boots.Movable = false; player.AddItem(boots); }
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 Sailor() : base(AIType.AI_Melee, FightMode.Agressor, 10, 1, 0.45, 0.8) { Female = Utility.RandomBool(); Body = Female ? 401 : 400; Title = "the sailor"; Name = NameList.RandomName( Female ? "female" : "male" ); Hue = Utility.RandomSkinHue(); SetStr( 66, 80 ); SetDex( 66, 80 ); SetInt( 41, 55 ); Karma = Utility.RandomMinMax( 13, -45 ); SetSkill( SkillName.Tactics, 45, 67.5 ); SetSkill( SkillName.MagicResist, 45, 67.5 ); SetSkill( SkillName.Parry, 45, 67.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 Shirt(); item.Hue = 2301; AddItem( item ); item = new ShortPants(); item.Hue = 2301; AddItem( item ); item = new Cutlass(); AddItem( item ); item = new Shoes(); item.Hue = Utility.RandomNeutralHue(); AddItem( item ); PackGold( 15, 100 ); } else { item = AddRandomHair(); item.Hue = Utility.RandomHairHue(); item = new Shirt(); item.Hue = 2301; AddItem( item ); item = new ShortPants(); item.Hue = 2301; AddItem( item ); item = new Cutlass(); AddItem( item ); item = new Shoes(); item.Hue = Utility.RandomNeutralHue(); AddItem( item ); PackGold( 15, 100 ); } }
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 Mercenary( string name ) : base( name, AIType.AI_Melee, 0.01 ) { SpeechHue = Utility.RandomDyedHue(); Hue = Utility.RandomSkinHue(); Item hair = new Item( Utility.RandomList( 0x203B, 0x2049, 0x2048, 0x204A ) ); hair.Hue = Utility.RandomNondyedHue(); hair.Layer = Layer.Hair; hair.Movable = false; AddItem( hair ); if ( Female = Utility.RandomBool() ) Body = 0x191; else { Body = 0x190; if ( Utility.RandomBool() ) { 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 ); } } Item weapon; switch ( Utility.Random( 6 ) ) { case 0: weapon = new Kryss(); break; case 1: weapon = new Scimitar(); break; case 2: weapon = new WarAxe(); break; case 3: weapon = new Cutlass(); break; case 4: weapon = new HammerPick(); break; default: weapon = new WarFork(); break; } AddItem( weapon ); if ( null == Backpack ) { Container pack = new Backpack(); pack.Movable = false; AddItem( pack ); } AddItem( new Robe() ); }
public override void InitOutfit() { AddItem( new FancyShirt() ); AddItem( new LongPants( 0x66D ) ); AddItem( new ThighBoots() ); AddItem( new TricorneHat( 0x1 ) ); AddItem( new BodySash( 0x66D ) ); LeatherGloves gloves = new LeatherGloves(); gloves.Hue = 0x66D; AddItem( gloves ); AddItem( new LongBeard( 0x455 ) ); Item sword = new Cutlass(); sword.Movable = false; AddItem( sword ); }
public DrownedPirate() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.15, 0.4 ) { SpeechHue = Utility.RandomDyedHue(); Title = "the drowned pirate"; Hue = Utility.RandomSkinHue(); Body = 0x190; Name = NameList.RandomName("male"); Hue = 0x2B8; SetStr( 120, 170 ); SetDex( 800, 115 ); SetInt( 20, 35 ); SetHits( 520, 1050 ); SetDamage( 20, 32 ); SetDamageType(ResistanceType.Physical, 40); SetDamageType(ResistanceType.Cold, 60); Cutlass cutlass = new Cutlass(); cutlass.Movable = false; cutlass.Skill = SkillName.Wrestling; AddItem( cutlass ); AddItem( new Shirt( Utility.RandomNeutralHue()) ); AddItem( new ShortPants( Utility.RandomNeutralHue()) ); AddItem( new SkullCap( Utility.RandomRedHue()) ); Utility.AssignRandomHair(this); SetSkill(SkillName.Fencing, 90.5, 115.0); SetSkill(SkillName.Healing, 60.3, 90.0); SetSkill(SkillName.Macing, 90.5, 115.0); SetSkill(SkillName.Poisoning, 60.0, 82.5); SetSkill(SkillName.MagicResist, 72.5, 95.0); SetSkill(SkillName.Swords, 90.5, 115.0); SetSkill(SkillName.Tactics, 90.5, 115.0); Fame = 3000; Karma = -3000; PackItem(new Bandage(Utility.RandomMinMax(1, 15))); }
public override void InitOutfit() { this.AddItem(new FancyShirt()); this.AddItem(new LongPants(0x66D)); this.AddItem(new ThighBoots()); this.AddItem(new TricorneHat(0x1)); this.AddItem(new BodySash(0x66D)); LeatherGloves gloves = new LeatherGloves(); gloves.Hue = 0x66D; this.AddItem(gloves); this.FacialHairItemID = 0x203E; // Long Beard this.FacialHairHue = 0x455; Item sword = new Cutlass(); sword.Movable = false; this.AddItem(sword); }
public DrunkenPirate() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { SpeechHue = Utility.RandomDyedHue(); Title = "the drunken pirate"; Hue = Utility.RandomSkinHue(); Body = 0x190; Name = NameList.RandomName("male"); SetStr( 220, 430 ); SetDex( 100, 115 ); SetInt( 20, 45 ); SetHits( 3500, 6050 ); SetDamage( 10, 32 ); Cutlass cutlass = new Cutlass(); cutlass.Movable = false; cutlass.Skill = SkillName.Wrestling; AddItem( cutlass ); AddItem( new FancyShirt( Utility.RandomNeutralHue()) ); AddItem( new LongPants( Utility.RandomNeutralHue()) ); AddItem( new Boots( Utility.RandomNeutralHue()) ); AddItem( new BodySash( Utility.RandomRedHue()) ); AddItem( new SkullCap( Utility.RandomRedHue()) ); Utility.AssignRandomHair(this); SetSkill( SkillName.MagicResist, 65.0, 67.5 ); SetSkill( SkillName.Swords, 85.0, 117.5 ); SetSkill( SkillName.Tactics, 75.0, 147.5 ); SetSkill( SkillName.Wrestling, 100.0, 139.3 ); Fame = 8000; Karma = -10000; }
public RatmenFortressBossChest() : base(0x2DF2) { Name = "a boss treasure chest -25-"; Movable = true; Weight = 1000.0; TrapPower = 0; Locked = true; RequiredSkill = 25; LockLevel = 25; MaxLockLevel = 30; // 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, 15, 20); 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, 15, 20); 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, 15, 20); DropItem(hat); } if (Utility.RandomDouble() < 0.20) { BaseClothing clothing = Loot.RandomClothing(true); BaseRunicTool.ApplyAttributesTo(clothing, 5, 15, 20); DropItem(clothing); } if (Utility.RandomDouble() < 0.20) { BaseShield shield = new HeaterShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield, 5, 15, 20); } DropItem(shield); } if (Utility.RandomDouble() < 0.20) { BaseJewel bracelet = new SilverBracelet(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(bracelet, 5, 15, 20); } DropItem(bracelet); } if (Utility.RandomDouble() < 0.20) { BaseJewel earrings = new SilverEarrings(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(earrings, 5, 15, 20); } DropItem(earrings); } if (Utility.RandomDouble() < 0.20) { BaseJewel necklace = new SilverNecklace(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(necklace, 5, 15, 20); } DropItem(necklace); } if (Utility.RandomDouble() < 0.20) { BaseJewel ring = new SilverRing(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(ring, 5, 15, 20); } DropItem(ring); } }
public Pirate() : base(AIType.AI_Melee, FightMode.Agressor, 10, 1, 0.45, 0.8) { Female = Utility.RandomBool(); Body = Female ? 401 : 400; Title = "the pirate"; Name = NameList.RandomName( Female ? "female" : "male" ); Hue = Utility.RandomSkinHue(); SetStr( 86, 100 ); SetDex( 86, 100 ); SetInt( 71, 85 ); Karma = 2; SetSkill( SkillName.Tactics, 65, 87.5 ); SetSkill( SkillName.MagicResist, 65, 87.5 ); SetSkill( SkillName.Parry, 65, 87.5 ); SetSkill( SkillName.Swords, 55, 77.5 ); SetSkill( SkillName.Macing, 25, 47.5 ); SetSkill( SkillName.Fencing, 25, 47.5 ); SetSkill( SkillName.Wrestling, 45, 67.5 ); Item item = null; if ( !Female ) { item = AddRandomHair(); item.Hue = Utility.RandomHairHue(); item = AddRandomFacialHair( item.Hue ); item = new Shirt(); item.Hue = Utility.RandomNondyedHue(); AddItem( item ); item = new ShortPants(); item.Hue = Utility.RandomNondyedHue(); AddItem( item ); item = new Cutlass(); AddItem( item ); if ( Utility.RandomBool() ) { item = new Bandana(); } else { item = new SkullCap(); } item.Hue = Utility.RandomRedHue(); AddItem( item ); item = new ThighBoots(); item.Hue = Utility.RandomNeutralHue(); AddItem( item ); PackGold( 15, 100 ); } else { item = AddRandomHair(); item.Hue = Utility.RandomHairHue(); item = new Shirt(); item.Hue = Utility.RandomNondyedHue(); AddItem( item ); item = new ShortPants(); item.Hue = Utility.RandomNondyedHue(); AddItem( item ); item = new Cutlass(); AddItem( item ); if ( Utility.RandomBool() ) { item = new Bandana(); } else { item = new SkullCap(); } item.Hue = Utility.RandomRedHue(); AddItem( item ); item = new ThighBoots(); item.Hue = Utility.RandomNeutralHue(); AddItem( item ); PackGold( 15, 100 ); } }
public static string MakeThisTask() { string task = null; switch (Utility.RandomMinMax(1, 10)) { case 1: task = "Repair"; break; case 2: task = "Fix"; break; case 3: task = "Buff"; break; case 4: task = "Modify"; break; case 5: task = "Polish"; break; case 6: task = "Engrave"; break; case 7: task = "Adjust"; break; case 8: task = "Improve"; break; case 9: task = "Smooth the dents from"; break; case 10: task = "Remove the dents from"; break; } Item item = null; switch (Utility.RandomMinMax(1, 79)) { case 1: item = new AssassinSpike(); break; case 2: item = new Axe(); break; case 3: item = new Bardiche(); break; case 4: item = new Bascinet(); break; case 5: item = new BattleAxe(); break; case 6: item = new BoneHarvester(); break; case 7: item = new Broadsword(); break; case 8: item = new BronzeShield(); break; case 9: item = new Buckler(); break; case 10: item = new ButcherKnife(); break; case 11: item = new ChainChest(); break; case 12: item = new ChainCoif(); break; case 13: item = new ChainLegs(); break; case 14: item = new ChampionShield(); break; case 15: item = new Cleaver(); break; case 16: item = new CloseHelm(); break; case 17: item = new CloseHelm(); break; case 18: item = new CrescentBlade(); break; case 19: item = new CrestedShield(); break; case 20: item = new Cutlass(); break; case 21: item = new Dagger(); break; case 22: item = new DarkShield(); break; case 23: item = new DiamondMace(); break; case 24: item = new DoubleAxe(); break; case 25: item = new DoubleBladedStaff(); break; case 26: item = new DreadHelm(); break; case 27: item = new ElvenMachete(); break; case 28: item = new ElvenShield(); break; case 29: item = new ElvenSpellblade(); break; case 30: item = new ExecutionersAxe(); break; case 31: item = new FemalePlateChest(); break; case 32: item = new GuardsmanShield(); break; case 33: item = new Halberd(); break; case 34: item = new HammerPick(); break; case 35: item = new HeaterShield(); break; case 36: item = new Helmet(); break; case 37: item = new Helmet(); break; case 38: item = new JeweledShield(); break; case 39: item = new Katana(); break; case 40: item = new Kryss(); break; case 41: item = new Lance(); break; case 42: item = new LargeBattleAxe(); break; case 43: item = new Leafblade(); break; case 44: item = new Longsword(); break; case 45: item = new Mace(); break; case 46: item = new Maul(); break; case 47: item = new MetalKiteShield(); break; case 48: item = new MetalShield(); break; case 49: item = new NorseHelm(); break; case 50: item = new NorseHelm(); break; case 51: item = new OrnateAxe(); break; case 52: item = new Pickaxe(); break; case 53: item = new Pike(); break; case 54: item = new Pitchfork(); break; case 55: item = new PlateArms(); break; case 56: item = new PlateChest(); break; case 57: item = new PlateGloves(); break; case 58: item = new PlateGorget(); break; case 59: item = new PlateHelm(); break; case 60: item = new PlateHelm(); break; case 61: item = new PlateLegs(); break; case 62: item = new RadiantScimitar(); break; case 63: item = new RingmailArms(); break; case 64: item = new RingmailChest(); break; case 65: item = new RingmailGloves(); break; case 66: item = new RingmailLegs(); break; case 67: item = new RuneBlade(); break; case 68: item = new Scimitar(); break; case 69: item = new Scythe(); break; case 70: item = new ShortSpear(); break; case 71: item = new SkinningKnife(); break; case 72: item = new Spear(); break; case 73: item = new ThinLongsword(); break; case 74: item = new TwoHandedAxe(); break; case 75: item = new VikingSword(); break; case 76: item = new WarAxe(); break; case 77: item = new WarCleaver(); break; case 78: item = new WarHammer(); break; case 79: item = new WarMace(); break; } if (Utility.RandomMinMax(1, 5) == 1) { bool evil = false; bool orient = false; switch (Utility.RandomMinMax(1, 8)) { case 1: evil = true; break; case 2: orient = true; break; } string sAdjective = "unusual"; string eAdjective = "might"; sAdjective = Server.LootPackEntry.MagicItemAdj("start", orient, evil, item.ItemID); eAdjective = Server.LootPackEntry.MagicItemAdj("end", orient, evil, item.ItemID); string name = "item"; string xName = ContainerFunctions.GetOwner("property"); if (item.Name != null && item.Name != "") { name = item.Name.ToLower(); } if (name == "item") { name = MorphingItem.AddSpacesToSentence((item.GetType()).Name).ToLower(); } switch (Utility.RandomMinMax(0, 5)) { case 0: name = sAdjective + " " + name + " of " + xName; break; case 1: name = name + " of " + xName; break; case 2: name = sAdjective + " " + name; break; case 3: name = sAdjective + " " + name + " of " + xName; break; case 4: name = name + " of " + xName; break; case 5: name = sAdjective + " " + name; break; } task = task + " their " + name; } else { string[] sMetals = new string[] { "iron ", "dull copper ", "shadow iron ", "copper ", "bronze ", "gold ", "agapite ", "verite ", "valorite ", "nepturite ", "obsidian ", "steel ", "brass ", "mithril ", "xormite ", "dwarven " }; string sMetal = sMetals[Utility.RandomMinMax(0, (sMetals.Length - 1))]; string name = "item"; if (item.Name != null && item.Name != "") { name = item.Name.ToLower(); } if (name == "item") { name = MorphingItem.AddSpacesToSentence((item.GetType()).Name).ToLower(); } task = task + " their " + sMetal + name; } item.Delete(); return(task); }
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 ); }
public Squire() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { SpeechHue = Utility.RandomDyedHue(); Nickname = "Master"; SNickname = "Squire"; IsBonded = true; ControlSlots = 4; m_AutoUseHealthPotion = true; m_AutoUseCurePotion = true; m_AutoHealSelf = true; m_AutoHealMaster = true; m_AutoHealOther = true; m_AutoPickupAmmo = true; m_DesperateMasterRun = true; SetStr( 45, 55 ); SetDex( 15, 25 ); SetInt( 10, 15 ); SetSkill( SkillName.Wrestling, 20.0, 30.0 ); SetSkill( SkillName.Anatomy, 20.0, 30.0 ); SetSkill( SkillName.Tactics, 20.0, 30.0 ); SetSkill( SkillName.Swords, 20.0, 30.0 ); SetSkill( SkillName.Macing, 20.0, 30.0 ); SetSkill( SkillName.Fencing, 20.0, 30.0 ); SetSkill( SkillName.Archery, 20.0, 30.0 ); Skills.Cap = 12000; StatCap = 600; if ( Female = Utility.RandomBool() ) { switch ( Utility.Random( 5 ) ) { case 4 : Body = 0x191; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair( this ); break; case 3 : Body = 0x191; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair( this ); break; case 2 : Body = 0x191; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair( this ); break; case 1 : Body = 0x25E; Race = Race.Elf; Hue = Race.RandomSkinHue(); Utility.AssignRandomHair( this, true ); break; case 0 : Body = 0x191; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair( this ); break; } } else { switch ( Utility.Random( 5 ) ) { case 4 : Body = 0x190; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair( this ); break; case 3 : Body = 0x190; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair( this ); break; case 2 : Body = 0x190; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair( this ); break; case 1 : Body = 0x25D; Race = Race.Elf; Hue = Race.RandomSkinHue(); Utility.AssignRandomHair( this, true ); break; case 0 : Body = 0x190; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair( this ); break; } if ( Body == 0x190 ) { Utility.AssignRandomFacialHair( this, HairHue ); } } if ( Body == 0x191 ) { Name = NameList.RandomName( "female" ); } else if ( Body == 0x25E ) { Name = NameList.RandomName( "female elf brigand" ); } else if ( Body == 0x25D ) { Name = NameList.RandomName( "male elf brigand" ); } else { Name = NameList.RandomName( "male" ); } Item weapon; switch ( Utility.Random( 6 ) ) { case 0: weapon = new Kryss(); break; case 1: weapon = new Scimitar(); break; case 2: weapon = new WarAxe(); break; case 3: weapon = new Cutlass(); break; case 4: weapon = new HammerPick(); break; default: weapon = new WarFork(); break; } AddItem( weapon ); AddItem( new RingmailChest() ); AddItem( new RingmailLegs() ); AddItem( new RingmailArms() ); AddItem( new RingmailGloves() ); AddItem( new Boots() ); if ( null == Backpack ) { Container pack = new Backpack(); pack.Movable = false; AddItem( pack ); } }
public CaptainJackSparrow(): base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Body = 0x190; Name = "Captain Jack Sparrow"; Title = "Dread Pirate"; Hue = 0; SetStr( 351, 400 ); SetDex( 151, 165 ); SetInt( 76, 100 ); SetHits( 1500, 1700 ); SetDamage( 25, 35 ); SetDamageType( ResistanceType.Physical, 100 ); SetDamageType( ResistanceType.Cold, 25 ); SetResistance( ResistanceType.Physical, 65 ); SetResistance( ResistanceType.Fire, 30 ); SetResistance( ResistanceType.Cold, 60 ); SetResistance( ResistanceType.Poison, 35 ); SetResistance( ResistanceType.Energy, 25, 35 ); SetSkill( SkillName.Wrestling, 100.0 ); SetSkill( SkillName.Swords, 120.1, 130.0 ); SetSkill( SkillName.Anatomy, 120.1, 130.0 ); SetSkill( SkillName.MagicResist, 90.1, 100.0 ); SetSkill( SkillName.Tactics, 90.1, 100.0 ); Fame = 10000; Karma = -10000; VirtualArmor = 65; Cutlass weapon = new Cutlass(); weapon.Hue = 0x835; weapon.Movable = false; AddItem( weapon ); MetalShield shield = new MetalShield(); shield.Hue = 0x835; shield.Movable = false; AddItem( shield ); TricorneHat hat = new TricorneHat(); hat.Hue = 0x835; AddItem( hat ); BoneArms arms = new BoneArms(); arms.Hue = 0x835; AddItem( arms ); BoneGloves gloves = new BoneGloves(); gloves.Hue = 0x835; AddItem( gloves ); BoneChest tunic = new BoneChest(); tunic.Hue = 0x835; AddItem( tunic ); BoneLegs legs = new BoneLegs(); legs.Hue = 0x835; AddItem( legs ); AddItem( new Boots() ); PackGold(1500, 2000); /*switch (Utility.Random(6)) { case 0: PackItem(new DreadPirateHat()); break; case 1: PackItem(new ShipModelOfTheHMSCape()); break; case 2: PackItem(new CaptainJackSparrowsCutlass()); break; }*/ }
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 UndeadSwordPirateSTR() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.175, 0.2) { Title = "the unrested pirate"; Body = 400; Team = 1; Kills = 10; Hue = Utility.RandomSkinHue(); SpeechHue=1153; this.Body = 0x190; this.Name = NameList.RandomName( "male" ); SetStr( 90, 100 ); SetDex( 85, 100 ); SetInt( 10, 20 ); SetSkill( SkillName.Archery, 95.0, 100.0 ); SetSkill( SkillName.MagicResist, 75.0, 100.0 ); SetSkill( SkillName.Tactics, 90.0, 100.0 ); SetSkill( SkillName.Healing, 75.0, 100.0 ); SetSkill( SkillName.Anatomy, 90.0, 100.0 ); SetSkill(SkillName.Swords, 95.0, 100.0); SetSkill(SkillName.Stealth, 120.0, 180.0); SetSkill(SkillName.Hiding, 120.0, 180.0); Fame = 4500; Karma = -4500; VirtualArmor = 0; Item hair = new Item( Utility.RandomList( 0x203B, 0x2049, 0x2048, 0x204A ) ); hair.Hue = Utility.RandomHairHue(); hair.Layer = Layer.Hair; hair.Movable = false; Item beard = new Item( Utility.RandomList( 0x2040, 0x203E , 0x204C, 0x204B, 0x203F ) ); beard.Hue = hair.Hue; beard.Layer = Layer.FacialHair; beard.Movable = false; AddItem( beard ); AddItem( hair ); PackGold( 70, 95 ); PackItem( new Bandage( 20 ) ); switch ( Utility.Random( 2 ) ) { case 0: { Item scimitar = new Scimitar(); EquipItem( scimitar ); break; } case 1: { Item cutlass = new Cutlass(); EquipItem( cutlass ); break; } } switch ( Utility.Random( 3 ) ) { case 0: { Item fancyshirt = new FancyShirt(); fancyshirt.Hue = Utility.RandomNeutralHue(); EquipItem( fancyshirt ); break; } case 1: { Item doublet = new Doublet(); doublet.Hue = Utility.RandomNeutralHue(); EquipItem( doublet ); break; } case 2: { break; } } switch ( Utility.Random( 2 ) ) { case 0: { Item longpants = new LongPants(); longpants.Hue = Utility.RandomNeutralHue(); EquipItem( longpants ); break; } case 1: { Item shortpants = new ShortPants(); shortpants.Hue = Utility.RandomNeutralHue(); EquipItem( shortpants ); break; } } switch ( Utility.Random( 4 ) ) { case 0: { Item boots = new Boots(); boots.Hue = 0; EquipItem( boots ); break; } case 1: { Item shoes = new Shoes(); shoes.Hue = 1713; EquipItem( shoes ); break; } case 3: { Item thighboots = new ThighBoots(); thighboots.Hue = 0; EquipItem( thighboots ); break; } case 4: { break; } } switch ( Utility.Random( 3 ) ) { case 0: { Item Bandana = new Bandana(); Bandana.Hue = Utility.RandomBirdHue(); EquipItem( Bandana ); break; } case 1: { Item skullcap = new SkullCap(); skullcap.Hue = Utility.RandomBirdHue(); EquipItem( skullcap ); break; } case 3: { break; } } }
public override void InitOutfit() { WipeLayers(); switch( Utility.Random( 2 ) ) { case 0: AddItem( new SkullCap( Utility.RandomRedHue() ) ); break; case 1: AddItem( new TricorneHat( Utility.RandomRedHue() ) ); break; } if ( Utility.RandomBool() ) { Item shirt = new Shirt( Utility.RandomRedHue() ); AddItem( shirt ); } Item sash = new BodySash(0x85); Item hair = new Item( Utility.RandomList( 0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2049, 0x204A ) ); Item pants = new LongPants( Utility.RandomRedHue() ); Item boots = new Boots( Utility.RandomRedHue() ); hair.Hue = Utility.RandomHairHue(); hair.Layer = Layer.Hair; hair.Movable = false; Item sword; if ( Utility.RandomBool() ) sword = new Scimitar(); else sword = new Cutlass(); AddItem( hair ); AddItem( sash ); AddItem( pants ); AddItem( boots ); AddItem( sword ); sword.Movable = false; if( !this.Female ) { 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 ); } }
public AmazonTreeSettlementTreasureChest() : base(0xE43) { Name = "a treasure chest -10-"; Movable = true; Weight = 1000.0; TrapPower = 0; Locked = true; RequiredSkill = 10; LockLevel = 10; MaxLockLevel = 15; // Gold if (Utility.RandomDouble() < 0.25) { DropItem(new Gold(Utility.Random(15, 200))); } /////////////////////////////////////// Supplies if (Utility.RandomDouble() < 0.10) { DropItem(new Arrow(Utility.Random(2, 6))); } if (Utility.RandomDouble() < 0.10) { DropItem(new Bolt(Utility.Random(2, 6))); } Item ReagentLoot = Loot.RandomReagent(); ReagentLoot.Amount = Utility.Random(2, 6); DropItem(ReagentLoot); if (Utility.RandomDouble() < 0.10) { DropItem(new Bandage(Utility.Random(2, 6))); } if (Utility.RandomDouble() < 0.10) { DropItem(new Bedroll()); } if (Utility.RandomDouble() < 0.10) { DropItem(new Bottle(Utility.Random(2, 6))); } if (Utility.RandomDouble() < 0.10) { DropItem(new Lockpick(Utility.Random(2, 6))); } 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.05) { DropItem(new AmazonianFighterBelt()); } if (Utility.RandomDouble() < 0.05) { DropItem(new AmazonianFighterBoots()); } if (Utility.RandomDouble() < 0.05) { DropItem(new AmazonianFighterBustier()); } if (Utility.RandomDouble() < 0.05) { DropItem(new AmazonianFighterGloves()); } if (Utility.RandomDouble() < 0.05) { DropItem(new AmazonianFighterHelmet()); } if (Utility.RandomDouble() < 0.10) { BaseWeapon weapon = Loot.RandomWeapon(true); switch (Utility.Random(21)) { 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; default: weapon = new Dagger(); break; } BaseRunicTool.ApplyAttributesTo(weapon, 2, 10, 15); weapon.DamageLevel = (WeaponDamageLevel)Utility.Random(2); weapon.AccuracyLevel = (WeaponAccuracyLevel)Utility.Random(2); weapon.DurabilityLevel = (WeaponDurabilityLevel)Utility.Random(2); weapon.Quality = WeaponQuality.Regular; DropItem(weapon); } if (Utility.RandomDouble() < 0.10) { BaseArmor armor = Loot.RandomArmor(true); switch (Utility.Random(10)) { case 0: armor = new FemaleLeatherChest(); break; case 1: armor = new LeatherBustierArms(); break; case 2: armor = new LeatherArms(); break; case 3: armor = new LeatherCap(); break; case 4: armor = new LeatherGloves(); break; case 5: armor = new LeatherGorget(); break; case 6: armor = new LeatherLegs(); break; case 7: armor = new LeatherShorts(); break; case 8: armor = new LeatherSkirt(); break; default: armor = new LeatherChest(); break; } BaseRunicTool.ApplyAttributesTo(armor, 3, 10, 15); armor.ProtectionLevel = (ArmorProtectionLevel)Utility.Random(3); armor.Durability = (ArmorDurabilityLevel)Utility.Random(3); armor.Quality = ArmorQuality.Regular; 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, 3, 10, 15); DropItem(hat); } if (Utility.RandomDouble() < 0.10) { BaseClothing clothing = Loot.RandomClothing(true); BaseRunicTool.ApplyAttributesTo(clothing, 3, 10, 15); DropItem(clothing); } if (Utility.RandomDouble() < 0.10) { BaseShield shield = new MetalShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield, 3, 10, 15); } DropItem(shield); } if (Utility.RandomDouble() < 0.10) { BaseJewel bracelet = new GoldBracelet(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(bracelet, 3, 10, 15); } DropItem(bracelet); } if (Utility.RandomDouble() < 0.10) { BaseJewel earrings = new GoldEarrings(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(earrings, 3, 10, 15); } DropItem(earrings); } if (Utility.RandomDouble() < 0.10) { BaseJewel necklace = new GoldNecklace(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(necklace, 3, 10, 15); } DropItem(necklace); } if (Utility.RandomDouble() < 0.10) { BaseJewel ring = new GoldRing(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(ring, 3, 10, 15); } DropItem(ring); } }
public PirateCaptain() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { SpeechHue = Utility.RandomDyedHue(); Title = "the pirate captain"; Hue = Utility.RandomSkinHue(); if ( this.Female = Utility.RandomBool() ) { Body = 0x191; Name = NameList.RandomName( "female" ); Kryss kryss = new Kryss(); kryss.Movable = false; //kryss.Resource = ResourceName.Gold; kryss.Skill = SkillName.Wrestling; Item necklace = new Necklace(); necklace.Name = "a pirate captain's medallion"; necklace.Movable = false; necklace.Hue = 38; AddItem( kryss ); AddItem( new Shirt() ); AddItem( new FancyDress() ); AddItem( new Shoes() ); AddItem( new HeaterShield() ); AddItem( necklace ); AddItem( new FloppyHat() ); } else { Body = 0x190; Name = NameList.RandomName( "male" ); Cutlass cutlass = new Cutlass(); cutlass.Movable = false; //cutlass.Resource = ResourceName.Gold; cutlass.Skill = SkillName.Wrestling; AddItem( cutlass ); AddItem( new FormalShirt() ); AddItem( new LongPants( Utility.RandomNeutralHue()) ); AddItem( new Boots( Utility.RandomNeutralHue()) ); AddItem( new HeaterShield() ); AddItem( new WideBrimHat( Utility.RandomRedHue()) ); } SetStr( 100, 115 ); SetDex( 100, 102 ); SetInt( 50, 65 ); SetHits( 300, 450 ); SetDamage( 25, 37 ); SetSkill( SkillName.MagicResist, 40.0, 53.2 ); SetSkill( SkillName.Tactics, 95.6, 100.0 ); SetSkill( SkillName.Wrestling, 110.0, 120.0 ); Fame = 2000; Karma = -5000; Item hair = new Item( Utility.RandomList( 0x203B, 0x2049, 0x2048, 0x204A ) ); hair.Hue = Utility.RandomNondyedHue(); hair.Layer = Layer.Hair; hair.Movable = false; AddItem( hair ); }
public FortressCalcifinaTreasureChest1() : base(0xE43) { Name = "a treasure chest -25-"; Movable = true; Weight = 1000.0; TrapPower = 0; Locked = true; RequiredSkill = 25; LockLevel = 25; MaxLockLevel = 30; // Gold if (Utility.RandomDouble() < 0.25) { DropItem(new Gold(Utility.Random(40, 400))); } /////////////////////////////////////// Supplies if (Utility.RandomDouble() < 0.15) { DropItem(new Arrow(Utility.Random(15, 20))); } if (Utility.RandomDouble() < 0.15) { DropItem(new Bolt(Utility.Random(15, 20))); } Item ReagentLoot = Loot.RandomReagent(); ReagentLoot.Amount = Utility.Random(15, 20); DropItem(ReagentLoot); if (Utility.RandomDouble() < 0.15) { DropItem(new Bandage(Utility.Random(15, 20))); } if (Utility.RandomDouble() < 0.15) { DropItem(new Bedroll()); } if (Utility.RandomDouble() < 0.15) { DropItem(new Bottle(Utility.Random(15, 20))); } if (Utility.RandomDouble() < 0.15) { DropItem(new Lockpick(Utility.Random(15, 20))); } Item PotionLoot = Loot.RandomPotion(); DropItem(PotionLoot); /////////////////////////////////////// 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.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, 4, 18, 22); DropItem(weapon); } if (Utility.RandomDouble() < 0.15) { 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, 18, 22); DropItem(armor); } if (Utility.RandomDouble() < 0.15) { 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, 18, 22); DropItem(hat); } if (Utility.RandomDouble() < 0.15) { BaseClothing clothing = Loot.RandomClothing(true); BaseRunicTool.ApplyAttributesTo(clothing, 4, 18, 22); DropItem(clothing); } if (Utility.RandomDouble() < 0.15) { BaseShield shield = new MetalKiteShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield, 4, 18, 22); } DropItem(shield); } if (Utility.RandomDouble() < 0.15) { BaseJewel bracelet = new GoldBracelet(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(bracelet, 4, 18, 22); } DropItem(bracelet); } if (Utility.RandomDouble() < 0.15) { BaseJewel earrings = new SilverEarrings(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(earrings, 4, 18, 22); } DropItem(earrings); } if (Utility.RandomDouble() < 0.15) { BaseJewel necklace = new GoldNecklace(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(necklace, 4, 18, 22); } DropItem(necklace); } if (Utility.RandomDouble() < 0.15) { BaseJewel ring = new SilverRing(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(ring, 4, 18, 22); } DropItem(ring); } }
//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 ); }
public MongbatHideoutTreasureChest1() : base(0xE43) { Name = "a treasure chest -40-"; Movable = true; Weight = 1000.0; TrapPower = 0; Locked = true; RequiredSkill = 40; LockLevel = 40; MaxLockLevel = 80; /////////////////////////////////// Gold if (Utility.RandomDouble() < 0.25) { DropItem(new Gold(Utility.Random(20, 300))); } /////////////////////////////////////// Supplies switch (Utility.Random(19)) { case 0: DropItem(new Board(60)); break; case 1: DropItem(new BoltOfCloth(60)); break; case 2: DropItem(new Bottle(60)); break; case 3: DropItem(new CopperWire(60)); break; case 4: DropItem(new Cotton(60)); break; case 5: DropItem(new DarkYarn(60)); break; case 6: DropItem(new Feather(60)); break; case 7: DropItem(new Flax(60)); break; case 8: DropItem(new Gears(60)); break; case 9: DropItem(new GoldWire(60)); break; case 10: DropItem(new IronIngot(60)); break; case 11: DropItem(new IronWire(60)); break; case 12: DropItem(new Leather(60)); break; case 13: DropItem(new LightYarn(60)); break; case 14: DropItem(new Shaft(60)); break; case 15: DropItem(new SilverWire(60)); break; case 16: DropItem(new SpoolOfThread(60)); break; case 17: DropItem(new Springs(60)); break; case 18: DropItem(new Wool(60)); break; } switch (Utility.Random(5)) { case 0: DropItem(new BeetleEgg(15)); break; case 1: DropItem(new FishScale(15)); break; case 2: DropItem(new Nirnroot(15)); break; case 3: DropItem(new SerpentScale(15)); break; case 4: DropItem(new ThunderStone(15)); break; } Item ReagentLoot = Loot.RandomReagent(); ReagentLoot.Amount = Utility.RandomMinMax(5, 10); DropItem(ReagentLoot); if (Utility.RandomDouble() < 0.05) { DropItem(new SackFlour()); } /////////////////////////////////////// Rare Items if (Utility.RandomDouble() < 0.01) { DropItem(new DyeTub()); } /////////////////////////////////////// LV 1-15 if (Utility.RandomDouble() < 0.10) { BaseWeapon weapon = Loot.RandomWeapon(true); switch (Utility.Random(36)) { case 0: weapon = new Hatchet(); break; // Lv1 case 1: weapon = new Axe(); break; // Lv5 case 2: weapon = new BattleAxe(); break; // Lv10 case 3: weapon = new Bow(); break; // Lv1 case 4: weapon = new Crossbow(); break; // Lv1 case 5: weapon = new Balestra(); break; // Lv5 case 6: weapon = new ElvenLeafBow(); break; // Lv5 case 7: weapon = new MagicalShortbow(); break; // Lv10 case 8: weapon = new RepeatingCrossbow(); break; // Lv10 case 9: weapon = new SkinningKnife(); break; // Lv1 case 10: weapon = new Cleaver(); break; // Lv5 case 11: weapon = new Dagger(); break; // Lv5 case 12: weapon = new ButcherKnife(); break; // Lv10 case 13: weapon = new EbonyDagger(); break; // Lv10 case 14: weapon = new Sai(); break; // Lv15 case 15: weapon = new Club(); break; // Lv1 case 16: weapon = new Nunchaku(); break; // Lv1 case 17: weapon = new Mace(); break; // Lv5 case 18: weapon = new Maul(); break; // Lv10 case 19: weapon = new Scepter(); break; // Lv15 case 20: weapon = new Pitchfork(); break; // Lv1 case 21: weapon = new ShortSpear(); break; // Lv5 case 22: weapon = new Pilum(); break; // Lv10 case 23: weapon = new Pike(); break; // Lv15 case 24: weapon = new GnarledStaff(); break; // Lv1 case 25: weapon = new ShepherdsCrook(); break; // Lv1 case 26: weapon = new QuarterStaff(); break; // Lv10 case 27: weapon = new ReptilianStaff(); break; // Lv15 case 28: weapon = new Bokuto(); break; // Lv1 case 29: weapon = new BoneHarvester(); break; // Lv1 case 30: weapon = new Cutlass(); break; // Lv1 case 31: weapon = new ElvenMachete(); break; // Lv1 case 32: weapon = new Kryss(); break; // Lv1 case 33: weapon = new EbonyRapier(); break; // Lv10 case 34: weapon = new Scimitar(); break; // Lv10 default: weapon = new Leafblade(); break; // Lv1 } switch (Utility.Random(14)) { case 0: weapon.Attributes.AttackChance = Utility.RandomMinMax(1, 5); break; case 1: weapon.Attributes.DefendChance = Utility.RandomMinMax(1, 5); break; case 2: weapon.Attributes.Luck = Utility.RandomMinMax(1, 10); break; case 3: weapon.Attributes.WeaponSpeed = Utility.RandomMinMax(1, 25); break; case 4: weapon.WeaponAttributes.HitDispel = Utility.RandomMinMax(2, 10); break; case 5: weapon.WeaponAttributes.HitFireball = Utility.RandomMinMax(2, 10); break; case 6: weapon.WeaponAttributes.HitHarm = Utility.RandomMinMax(2, 10); break; case 7: weapon.WeaponAttributes.HitLeechHits = Utility.RandomMinMax(2, 10); break; case 8: weapon.WeaponAttributes.HitLeechMana = Utility.RandomMinMax(2, 10); break; case 9: weapon.WeaponAttributes.HitLeechStam = Utility.RandomMinMax(2, 10); break; case 10: weapon.WeaponAttributes.HitLightning = Utility.RandomMinMax(2, 10); break; case 11: weapon.WeaponAttributes.HitLowerAttack = Utility.RandomMinMax(2, 10); break; case 12: weapon.WeaponAttributes.HitLowerDefend = Utility.RandomMinMax(2, 10); break; default: weapon.Attributes.WeaponDamage = Utility.RandomMinMax(1, 10); break; } DropItem(weapon); } /////////////////////////////////////// LV 1-15 if (Utility.RandomDouble() < 0.10) { BaseArmor armor = Loot.RandomArmor(true); switch (Utility.Random(39)) { case 0: armor = new LeatherArms(); break; // Lv1 case 1: armor = new LeatherBustierArms(); break; // Lv1 case 2: armor = new LeatherCap(); break; // Lv1 case 3: armor = new LeatherChest(); break; // Lv1 case 4: armor = new LeatherGloves(); break; // Lv1 case 5: armor = new LeatherGorget(); break; // Lv1 case 6: armor = new LeatherLegs(); break; // Lv1 case 7: armor = new LeatherShorts(); break; // Lv1 case 8: armor = new LeatherSkirt(); break; // Lv1 case 9: armor = new FemaleLeafChest(); break; // Lv1 case 10: armor = new LeafArms(); break; // Lv3 case 11: armor = new LeafChest(); break; // Lv3 case 12: armor = new LeafGloves(); break; // Lv3 case 13: armor = new LeafGorget(); break; // Lv3 case 14: armor = new LeafLegs(); break; // Lv3 case 15: armor = new LeafTonlet(); break; // Lv3 case 16: armor = new LeatherDo(); break; // Lv6 case 17: armor = new LeatherHaidate(); break; // Lv6 case 18: armor = new LeatherHiroSode(); break; // Lv6 case 19: armor = new LeatherJingasa(); break; // Lv6 case 20: armor = new LeatherMempo(); break; // Lv6 case 21: armor = new LeatherNinjaHood(); break; // Lv6 case 22: armor = new LeatherNinjaJacket(); break; // Lv6 case 23: armor = new LeatherNinjaMitts(); break; // Lv6 case 24: armor = new LeatherNinjaPants(); break; // Lv6 case 25: armor = new LeatherSuneate(); break; // Lv6 case 26: armor = new EbonsilkArms(); break; // Lv9 case 27: armor = new EbonsilkChest(); break; // Lv9 case 28: armor = new EbonsilkGloves(); break; // Lv9 case 29: armor = new EbonsilkGorget(); break; // Lv9 case 30: armor = new EbonsilkLegs(); break; // Lv9 case 31: armor = new EbonsilkTiara(); break; // Lv9 case 32: armor = new ChitinArms(); break; // Lv12 case 33: armor = new ChitinChest(); break; // Lv12 case 34: armor = new ChitinGloves(); break; // Lv12 case 35: armor = new ChitinGorget(); break; // Lv12 case 36: armor = new ChitinHelmet(); break; // Lv12 case 37: armor = new ChitinLegs(); break; // Lv12 default: armor = new FemaleLeatherChest(); break; // Lv1 } BaseRunicTool.ApplyAttributesTo(armor, 3, 5, 50); DropItem(armor); } if (Utility.RandomDouble() < 0.05) { BaseHat hat = Loot.RandomHat(true); BaseRunicTool.ApplyAttributesTo(hat, 3, 5, 10); DropItem(hat); } if (Utility.RandomDouble() < 0.05) { BaseClothing clothing = Loot.RandomClothing(true); BaseRunicTool.ApplyAttributesTo(clothing, 3, 5, 10); DropItem(clothing); } if (Utility.RandomDouble() < 0.05) { BaseShield shield1 = new Buckler(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield1, 3, 5, 50); } DropItem(shield1); } if (Utility.RandomDouble() < 0.05) { BaseShield shield2 = new WoodenShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield2, 3, 5, 50); } DropItem(shield2); } if (Utility.RandomDouble() < 0.05) { BaseShield shield3 = new AmmoniteShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield3, 3, 5, 50); } DropItem(shield3); } if (Utility.RandomDouble() < 0.05) { BaseShield shield4 = new BronzeShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield4, 3, 5, 50); } DropItem(shield4); } if (Utility.RandomDouble() < 0.05) { BaseShield shield5 = new MetalShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield5, 3, 5, 50); } DropItem(shield5); } if (Utility.RandomDouble() < 0.05) { BaseShield shield6 = new WoodenKiteShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield6, 3, 5, 50); } DropItem(shield6); } if (Utility.RandomDouble() < 0.05) { BaseJewel bracelet = new SilverBracelet(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(bracelet, 3, 5, 10); } DropItem(bracelet); } if (Utility.RandomDouble() < 0.05) { BaseJewel earrings = new SilverEarrings(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(earrings, 3, 5, 10); } DropItem(earrings); } if (Utility.RandomDouble() < 0.05) { BaseJewel necklace = new SilverNecklace(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(necklace, 3, 5, 10); } DropItem(necklace); } if (Utility.RandomDouble() < 0.05) { BaseJewel ring = new SilverRing(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(ring, 3, 5, 10); } DropItem(ring); } }
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 UndeadBlackBart() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.175, 0.2) { Body = 400; Team = 1; Kills = 10; Hue = Utility.RandomSkinHue(); SpeechHue = 1153; this.Body = 0x190; Name = NameList.RandomName( "Male" ); SetStr( 100 ); SetDex( 100 ); SetInt( 20 ); SetSkill( SkillName.Archery, 100.0 ); SetSkill( SkillName.MagicResist, 100.0 ); SetSkill( SkillName.Tactics, 100.0 ); SetSkill( SkillName.Healing, 100.0 ); SetSkill( SkillName.Anatomy, 100.0 ); SetSkill(SkillName.Swords, 100.0); SetSkill(SkillName.Hiding, 120.0, 180.0); SetSkill(SkillName.Stealth, 120.0, 180.0); Fame = 4500; Karma = -4500; VirtualArmor = 0; Item hair = new LongHair(); hair.Hue = 1175; hair.Layer = Layer.Hair; hair.Movable = false; AddItem( hair ); Item beard = new MediumLongBeard(); beard.Hue = 1175; beard.Layer = Layer.FacialHair; beard.Movable = false; AddItem( beard ); PackGold( 120, 160 ); PackItem( new Bandage( 100 ) ); Item fancyshirt = new FancyShirt(); EquipItem( fancyshirt ); Item necklace = new Necklace(); EquipItem( necklace ); Item goldring = new GoldRing(); EquipItem( goldring ); Item longpants = new LongPants(); longpants.Hue = Utility.RandomNeutralHue(); EquipItem( longpants ); Item boots = new Boots(); EquipItem( boots ); Item gloves = new LeatherGloves(); EquipItem( gloves); Item hat = new TricorneHat(); hat.Hue = 1; EquipItem( hat ); switch ( Utility.Random( 2 ) ) { case 0: { Item scimitar = new Scimitar(); EquipItem( scimitar ); break; } case 1: { Item cutlass = new Cutlass(); EquipItem( cutlass ); break; } } }
protected virtual void Assemble(Mobile from) { int quality; if (m_Blade is CurvedBlade) { Cutlass weapon = new Cutlass(); 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; quality = (int)(m_Blade.Durability * 0.85 + m_Hilt.Durability * 0.15); weapon.MaxHitPoints = quality; weapon.HitPoints = quality; weapon.Crafter = from; weapon.CraftersOriginalName = from.Name; quality = (int)(m_Blade.Quality * 0.85 + m_Hilt.Quality * 0.15); 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 { Rapier weapon = new Rapier(); 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; quality = (int)(m_Blade.Durability * 0.85 + m_Hilt.Durability * 0.15); weapon.MaxHitPoints = quality; weapon.HitPoints = quality; weapon.Crafter = from; weapon.CraftersOriginalName = from.Name; quality = (int)(m_Blade.Quality * 0.85 + m_Hilt.Quality * 0.15); 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 override void InitOutfit() { WipeLayers(); // black captain's hat TricorneHat hat = CaptainsHat(); hat.LootType = LootType.Newbied; AddItem(hat); if (Utility.RandomBool()) { Item shirt = new Shirt(Utility.RandomRedHue()); AddItem(shirt); } Item sash = new BodySash(0x85); Item hair = new Item(Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2049, 0x204A)); Item pants = new LongPants(Utility.RandomRedHue()); Item boots = new Boots(Utility.RandomRedHue()); hair.Hue = Utility.RandomHairHue(); hair.Layer = Layer.Hair; hair.Movable = false; Item sword; if (Utility.RandomBool()) sword = new Scimitar(); else sword = new Cutlass(); sword.LootType = LootType.Newbied; AddItem(hair); AddItem(sash); AddItem(pants); AddItem(boots); AddItem(sword); if (!this.Female) { 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); } }
public NewbWarrior() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { SpeechHue = Utility.RandomDyedHue(); Title = "the warrior"; Hue = Utility.RandomSkinHue(); if ( this.Female = Utility.RandomBool() ) { Body = 0x191; Name = NameList.RandomName( "female" ); AddItem( new Skirt( Utility.RandomNeutralHue() ) ); } else { Body = 0x190; Name = NameList.RandomName( "male" ); } SetStr( 86, 100 ); SetDex( 81, 95 ); SetInt( 61, 75 ); SetDamage( 10, 17 ); SetSkill( SkillName.MagicResist, 35.0, 47.5 ); SetSkill( SkillName.Swords, 75.0, 87.5 ); SetSkill( SkillName.Tactics, 75.0, 87.5 ); Fame = 1000; Karma = -1000; // Equip Item toArm = new RingmailChest(); toArm.LootType = LootType.Blessed; AddItem( toArm ); toArm = new RingmailLegs(); toArm.LootType = LootType.Blessed; AddItem( toArm ); toArm = new RingmailArms(); toArm.LootType = LootType.Blessed; AddItem( toArm ); toArm = new RingmailGloves(); toArm.LootType = LootType.Blessed; AddItem( toArm ); toArm = new Cutlass(); toArm.Movable = false; toArm.LootType = LootType.Blessed; AddItem( toArm ); Utility.AssignRandomHair( this ); PackItem( new Gold( Utility.Random( 25, 25 ) ) ); PackItem( new Bandage( Utility.Random( 8, 4 ) ) ); if( Utility.RandomDouble() < 0.15 ) PackItem( NewbLuckArmor() ); }
public TerathanIslandTreasureChest() : base(0x2DF1) { Name = "a treasure chest -30-"; Movable = true; Hue = 285; Weight = 1000.0; TrapPower = 0; Locked = true; RequiredSkill = 30; LockLevel = 30; MaxLockLevel = 35; // Gold if (Utility.RandomDouble() < 0.25) { DropItem(new Gold(Utility.Random(45, 450))); } /////////////////////////////////////// Books if (Utility.RandomDouble() < 0.10) { DropItem(new TamersHandbookVol1()); } if (Utility.RandomDouble() < 0.10) { DropItem(new TamersHandbookVol2()); } if (Utility.RandomDouble() < 0.10) { DropItem(new TamersHandbookVol3()); } if (Utility.RandomDouble() < 0.10) { DropItem(new TamersHandbookVol4()); } if (Utility.RandomDouble() < 0.10) { DropItem(new TamersHandbookVol5()); } /////////////////////////////////////// Meats if (Utility.RandomDouble() < 0.15) { DropItem(new Bacon()); } if (Utility.RandomDouble() < 0.15) { DropItem(new Sausage()); } /////////////////////////////////////// Eating Utensils if (Utility.RandomDouble() < 0.08) { DropItem(new KnifeLeft()); } if (Utility.RandomDouble() < 0.08) { DropItem(new KnifeRight()); } if (Utility.RandomDouble() < 0.08) { DropItem(new PewterMug()); } if (Utility.RandomDouble() < 0.08) { DropItem(new Plate()); } if (Utility.RandomDouble() < 0.08) { DropItem(new SpoonLeft()); } if (Utility.RandomDouble() < 0.08) { DropItem(new SpoonRight()); } /////////////////////////////////////// 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()); } /////////////////////////////////////// Supplies if (Utility.RandomDouble() < 0.15) { DropItem(new Arrow(Utility.Random(17, 22))); } if (Utility.RandomDouble() < 0.15) { DropItem(new Bolt(Utility.Random(17, 22))); } Item ReagentLoot = Loot.RandomReagent(); ReagentLoot.Amount = Utility.Random(17, 22); DropItem(ReagentLoot); if (Utility.RandomDouble() < 0.15) { DropItem(new Bandage(Utility.Random(17, 22))); } if (Utility.RandomDouble() < 0.15) { DropItem(new Bedroll()); } if (Utility.RandomDouble() < 0.15) { DropItem(new Bottle(Utility.Random(17, 22))); } if (Utility.RandomDouble() < 0.15) { DropItem(new Lockpick(Utility.Random(17, 22))); } Item PotionLoot = Loot.RandomPotion(); DropItem(PotionLoot); if (Utility.RandomDouble() < 0.20) { DropItem(new LesserPoisonPotion()); } if (Utility.RandomDouble() < 0.15) { DropItem(new PoisonPotion()); } /////////////////////////////////////// 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.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, 2, 22, 25); weapon.Hue = 285; weapon.WeaponAttributes.HitLeechStam = 5; weapon.Attributes.BonusHits = 10; DropItem(weapon); } if (Utility.RandomDouble() < 0.15) { 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, 3, 22, 25); armor.Hue = 285; armor.Attributes.WeaponDamage = 3; DropItem(armor); } if (Utility.RandomDouble() < 0.15) { 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, 3, 22, 25); hat.Hue = 285; hat.Attributes.BonusHits = 10; hat.Attributes.SpellDamage = 5; hat.Resistances.Energy = 10; DropItem(hat); } if (Utility.RandomDouble() < 0.15) { BaseClothing clothing = Loot.RandomClothing(true); BaseRunicTool.ApplyAttributesTo(clothing, 3, 22, 25); clothing.Hue = 285; clothing.Attributes.BonusHits = 5; clothing.Attributes.DefendChance = 3; clothing.Resistances.Physical = 5; DropItem(clothing); } if (Utility.RandomDouble() < 0.15) { BaseShield shield = new WoodenKiteShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield, 3, 22, 25); } shield.Hue = 285; shield.Attributes.BonusHits = 10; DropItem(shield); } if (Utility.RandomDouble() < 0.15) { BaseJewel bracelet = new GoldBracelet(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(bracelet, 3, 22, 25); } bracelet.Hue = 285; bracelet.Attributes.WeaponDamage = 5; bracelet.Attributes.DefendChance = 2; bracelet.Resistances.Fire = 5; DropItem(bracelet); } if (Utility.RandomDouble() < 0.15) { BaseJewel earrings = new SilverEarrings(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(earrings, 3, 22, 25); } earrings.Hue = 285; earrings.Attributes.WeaponDamage = 5; earrings.Attributes.DefendChance = 3; earrings.Resistances.Cold = 5; DropItem(earrings); } if (Utility.RandomDouble() < 0.15) { BaseJewel necklace = new GoldNecklace(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(necklace, 3, 22, 25); } necklace.Hue = 285; necklace.Attributes.WeaponDamage = 5; necklace.Attributes.DefendChance = 5; necklace.Resistances.Energy = 5; DropItem(necklace); } if (Utility.RandomDouble() < 0.15) { BaseJewel ring = new SilverRing(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(ring, 3, 22, 25); } ring.Hue = 285; ring.Attributes.WeaponDamage = 5; ring.Attributes.DefendChance = 2; ring.Resistances.Poison = 5; DropItem(ring); } }
public Pirate() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { SpeechHue = Utility.RandomDyedHue(); Title = "the pirate"; Hue = Utility.RandomSkinHue(); if ( this.Female = Utility.RandomBool() ) { Body = 0x191; Name = NameList.RandomName( "female" ); Dagger dagger = new Dagger(); dagger.Movable = false; //dagger.Resource = ResourceName.Gold; dagger.Skill = SkillName.Wrestling; Item necklace = new Necklace(); necklace.Name = "a pirate's medallion"; necklace.Movable = false; AddItem( dagger ); AddItem( new Shirt() ); AddItem( new Skirt( Utility.RandomNeutralHue()) ); AddItem( new HalfApron() ); AddItem( new Sandals() ); AddItem( new WoodenShield() ); AddItem( necklace ); } else { Body = 0x190; Name = NameList.RandomName( "male" ); Cutlass cutlass = new Cutlass(); cutlass.Movable = false; //cutlass.Resource = ResourceName.Gold; cutlass.Skill = SkillName.Wrestling; AddItem( cutlass ); AddItem( new FancyShirt() ); AddItem( new LongPants( Utility.RandomNeutralHue()) ); AddItem( new Boots( Utility.RandomNeutralHue()) ); AddItem( new Buckler() ); AddItem( new BodySash( Utility.RandomRedHue()) ); AddItem( new TricorneHat( Utility.RandomRedHue()) ); } SetStr( 90, 100 ); SetDex( 90, 95 ); SetInt( 40, 65 ); SetHits( 200, 350 ); SetDamage( 20, 32 ); SetSkill( SkillName.MagicResist, 25.0, 47.5 ); SetSkill( SkillName.Swords, 65.0, 87.5 ); SetSkill( SkillName.Tactics, 65.0, 87.5 ); SetSkill( SkillName.Wrestling, 100.0, 115.3 ); Fame = 1000; Karma = -3000; Item hair = new Item( Utility.RandomList( 0x203B, 0x2049, 0x2048, 0x204A ) ); hair.Hue = Utility.RandomNondyedHue(); hair.Layer = Layer.Hair; hair.Movable = false; AddItem( hair ); }
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 ); }
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); } }