public override void InitOutfit( Faction faction ) { new Horse().Rider = this; AddItem( new StuddedChest() ); AddItem( new StuddedArms() ); AddItem( new StuddedGloves() ); AddItem( new StuddedGorget() ); AddItem( new StuddedLegs() ); AddItem( new Boots() ); AddItem( new SkullCap() ); Bow bow = new Bow(); bow.Movable = false; bow.Crafter = this; bow.Quality = WeaponQuality.Exceptional; AddItem( bow ); Container pack = new Backpack(); pack.Movable = false; Arrow arrows = new Arrow( 250 ); arrows.LootType = LootType.Newbied; pack.DropItem( arrows ); pack.DropItem( new Gold( 10, 25 ) ); AddItem( pack ); }
public ArcherGuard( Mobile target ) : base( target ) { InitStats( 100, 125, 25 ); Title = "the guard"; SpeechHue = Utility.RandomDyedHue(); Hue = Utility.RandomSkinHue(); if ( Female = Utility.RandomBool() ) { Body = 0x191; Name = NameList.RandomName( "female" ); } else { Body = 0x190; Name = NameList.RandomName( "male" ); } new Horse().Rider = this; AddItem( new StuddedChest() ); AddItem( new StuddedArms() ); AddItem( new StuddedGloves() ); AddItem( new StuddedGorget() ); AddItem( new StuddedLegs() ); AddItem( new Boots() ); AddItem( new SkullCap() ); Bow bow = new Bow(); bow.Movable = false; bow.Crafter = this; bow.Quality = WeaponQuality.Exceptional; AddItem( bow ); Container pack = new Backpack(); pack.Movable = false; Arrow arrows = new Arrow( 250 ); arrows.LootType = LootType.Newbied; pack.DropItem( arrows ); pack.DropItem( new Gold( 10, 25 ) ); AddItem( pack ); Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 120.0; Skills[SkillName.Archery].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; }
public Guardian() : base( AIType.AI_Archer, FightMode.Aggressor, 10, 1, 0.2, 0.4 ) { InitStats( 100, 125, 25 ); Title = "the guardian"; SpeechHue = 0; Hue = Utility.RandomSkinHue(); if ( Female = Utility.RandomBool() ) { Body = 0x191; Name = NameList.RandomName( "female" ); } else { Body = 0x190; Name = NameList.RandomName( "male" ); } new Orn().Rider = this; PlateChest chest = new PlateChest(); chest.Hue = 0x966; AddItem( chest ); PlateArms arms = new PlateArms(); arms.Hue = 0x966; AddItem( arms ); PlateGloves gloves = new PlateGloves(); gloves.Hue = 0x966; AddItem( gloves ); PlateGorget gorget = new PlateGorget(); gorget.Hue = 0x966; AddItem( gorget ); PlateLegs legs = new PlateLegs(); legs.Hue = 0x966; AddItem( legs ); PlateHelm helm = new PlateHelm(); helm.Hue = 0x966; AddItem( helm ); Bow bow = new Bow(); bow.Movable = false; bow.Crafter = this; bow.Quality = WeaponQuality.Exceptional; AddItem( bow ); PackItem( new Arrow( 250 ) ); PackGold( 250, 500 ); Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 120.0; Skills[SkillName.Archery].Base = 120.0; Skills[SkillName.MagicResist].Base = 120.0; Skills[SkillName.DetectHidden].Base = 100.0; }
public Ranger() : base(AIType.AI_Archer, FightMode.Agressor, 10, 1, 0.45, 0.8) { Female = Utility.RandomBool(); Body = Female ? 401 : 400; Name = NameList.RandomName( Female ? "female" : "male" ); Hue = Utility.RandomSkinHue(); SetStr( 71, 85 ); SetDex( 76, 90 ); SetInt( 61, 75 ); Karma = Utility.RandomMinMax( 13, -45 ); SetSkill( SkillName.Tactics, 65, 87.5 ); SetSkill( SkillName.MagicResist, 65, 87.5 ); SetSkill( SkillName.Parry, 65, 87.5 ); SetSkill( SkillName.Swords, 35, 57.5 ); SetSkill( SkillName.Macing, 35, 57.5 ); SetSkill( SkillName.Fencing, 35, 57.5 ); SetSkill( SkillName.Wrestling, 35, 57.5 ); SetSkill( SkillName.Archery, 55, 77.5 ); SetSkill( SkillName.Hiding, 45, 67.5 ); SetSkill( SkillName.Camping, 55, 77.5 ); SetSkill( SkillName.AnimalLore, 55, 77.5 ); SetSkill( SkillName.Herding, 45, 67.5 ); SetSkill( SkillName.Tracking, 45, 67.5 ); Item item = null; if ( !Female ) { item = AddRandomHair(); item.Hue = Utility.RandomHairHue(); item = AddRandomFacialHair( item.Hue ); item = new Shirt(); item.Hue = Utility.RandomGreenHue(); AddItem( item ); item = new ShortPants(); item.Hue = 443; AddItem( item ); PackGold( 15, 100 ); item = new Bow(); AddItem( item ); item = new Arrow( Utility.RandomMinMax( 5, 25 ) ); PackItem( item ); } else { item = AddRandomHair(); item.Hue = Utility.RandomHairHue(); item = new Shirt(); item.Hue = Utility.RandomGreenHue(); AddItem( item ); item = new Skirt(); item.Hue = 443; AddItem( item ); PackGold( 15, 100 ); item = new Bow(); AddItem( item ); item = new Arrow( Utility.RandomMinMax( 5, 25 ) ); PackItem( item ); } }
public override void InitOutfit() { AddItem( new Kilt( 0x301 ) ); AddItem( new FancyShirt( 0x300 ) ); AddItem( new PonyTail( 0x22 ) ); Bow bow = new Bow(); bow.Movable = false; AddItem( bow ); }
public override void InitOutfit() { AddItem( new Kilt( 0x301 ) ); AddItem( new FancyShirt( 0x300 ) ); HairItemID = 0x203D; // Pony Tail HairHue = 0x22; Bow bow = new Bow(); bow.Movable = false; AddItem( bow ); }
public SoulboundPirateRaider() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "a soulbound pirate raider"; Body = 0x190; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair(this); SetStr(150, 200); SetDex(125, 150); SetInt(95, 110); SetHits(200, 250); SetDamage(15, 25); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 45, 55); SetResistance(ResistanceType.Fire, 45, 55); SetResistance(ResistanceType.Cold, 45, 55); SetResistance(ResistanceType.Poison, 45, 55); SetResistance(ResistanceType.Energy, 45, 55); SetSkill(SkillName.MagicResist, 50.0, 75.5); SetSkill(SkillName.Archery, 90.0, 105.5); SetSkill(SkillName.Tactics, 90.0, 105.5); SetSkill(SkillName.Anatomy, 90.0, 105.5); Fame = 2000; Karma = -2000; AddItem(new TricorneHat()); AddItem(new LeatherArms()); AddItem(new FancyShirt()); AddItem(new ShortPants()); AddItem(new Cutlass()); AddItem(new Boots(Utility.RandomNeutralHue())); AddItem(new GoldEarrings()); Item bow; switch (Utility.Random(4)) { default: case 0: bow = new CompositeBow(); PackItem(new Arrow(25)); break; case 1: bow = new Crossbow(); PackItem(new Bolt(25)); break; case 2: bow = new Bow(); PackItem(new Arrow(25)); break; case 3: bow = new HeavyCrossbow(); PackItem(new Bolt(25)); break; } AddItem(bow); }
public EithkaUlesra() : base( AIType.AI_Archer, FightMode.Closest, 10, 5, 0.2, 0.4 ) { Name = "Eithka Ulesra"; Body = 0x190; Hue = 0x798; SetStr( 100 ); //I've set him up with normal stats since we've defined his Hits and his weapons speed elsewhere. SetDex( 100 ); SetInt( 100 ); SetHits( 250, 350 ); // here are his hits according to the spherescript. random between 250 and 350 SetStam( 350, 450 ); SetDamage( 10, 15 ); //i set his damage to be low since he hits like 3 times a second. This will probably need to be tweaked. SetSkill( SkillName.Archery, 110.0 ); //we dont need to give him uberskillz SetSkill( SkillName.Tactics, 110.0 ); SetSkill( SkillName.MagicResist, 100.0 ); Fame = 3900; Karma = -4000; VirtualArmor = 70; //this might need to be tweaked //Here we add his loot. I'm omitting his gloves since that's later in his dress. //no here do you NOT add the loot, onyl whats in hes backpack. Container pack = new Backpack(); pack.Movable = false; pack.DropItem( new Arrow( 50 ) ); AddItem( pack ); //Now we dress him Item shroud = new HoodedShroudOfShadows(); //since we want a custom shroud, we define it here. shroud.Movable = false; //this way we dont let the shroud drop shroud.Hue = 0x798; //omg more props AddItem( shroud ); //add the item Item smurfshoes = new Sandals(); //since sandals are already a class i've named it smurfshoes. It doesnt matter what we call it. smurfshoes.Movable = false; // leet shoes for the players? GM tailoring kthx. smurfshoes.Hue = 0x798; // more props AddItem( smurfshoes ); //add the item Bow weapon = new Bow(); //same thing. define the weapon. weapon.Skill = SkillName.Archery; //props weapon.Hue = 0x798; //we're leet weapon.Speed = 90; //set the speed to 5 higher than the cho ku no. weapon.DamageLevel = WeaponDamageLevel.Force; //bow of force weapon.Movable = false; // not for players AddItem( weapon ); //add the weapon Item gloves = new PlateGloves(); // here we add his gloves. this time we let them drop gloves.Hue = 0x798; //omg more props AddItem( gloves ); //add the item }
public PirateCrew() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, .2, .4) { Name = NameList.RandomName("orc"); Body = Utility.RandomList(17, 182, 7, 138, 140); bool mage = 0.33 > Utility.RandomDouble(); SetStr(100, 125); SetDex(125, 150); SetInt(250, 400); SetHits(250, 400); SetDamage(15, 25); if (mage) { ChangeAIType(AIType.AI_Mage); SetSkill(SkillName.Magery, 100.0, 120.0); SetSkill(SkillName.EvalInt, 100.0, 120.0); SetSkill(SkillName.Meditation, 100.0, 120.0); SetSkill(SkillName.MagicResist, 100.0, 120.0); } SetSkill(SkillName.Archery, 100.0, 120.0); SetSkill(SkillName.Tactics, 100.0, 120.0); SetSkill(SkillName.Wrestling, 100.0, 120.0); SetSkill(SkillName.Anatomy, 100.0, 120.0); SetDamageType(ResistanceType.Physical, 70); SetResistance(ResistanceType.Physical, 45, 55); SetResistance(ResistanceType.Fire, 45, 55); SetResistance(ResistanceType.Cold, 45, 55); SetResistance(ResistanceType.Poison, 45, 55); SetResistance(ResistanceType.Energy, 45, 55); Item bow; switch (Utility.Random(4)) { default: case 0: bow = new CompositeBow(); PackItem(new Arrow(25)); break; case 1: bow = new Crossbow(); PackItem(new Bolt(25)); break; case 2: bow = new Bow(); PackItem(new Arrow(25)); break; case 3: bow = new HeavyCrossbow(); PackItem(new Bolt(25)); break; } AddItem(bow); Fame = 8000; Karma = -8000; }
public Centaur() : base( AIType.AI_Archer, FightMode.Agressor, 10, 1, 0.2, 0.4 ) { Name = NameList.RandomName( "centaur" ); Body = 101; BaseSoundID = 678; SetStr( 221, 288 ); SetDex( 142, 239 ); SetInt( 91, 100 ); SetDamage( 13, 24 ); SetSkill( SkillName.Anatomy, 95.1, 113.0 ); SetSkill( SkillName.Archery, 95.1, 99.8 ); SetSkill( SkillName.MagicResist, 56.3, 73.0 ); SetSkill( SkillName.Tactics, 90.1, 100.0 ); SetSkill( SkillName.Wrestling, 95.5, 99.8 ); Fame = 6500; Karma = 0; VirtualArmor = 50; switch ( Utility.Random( 8 )) { case 0: PackWeapon( 0, 3 ); break; case 1: PackArmor( 0, 4 ); break; case 2: PackItem( new Katana() ); break; case 3: PackItem( new BodySash() ); break; case 4: PackItem( new Halberd() ); break; case 5: PackItem( new ChainChest() ); break; case 6: PackItem( new StuddedChest() ); break; case 7: PackItem( new ChainLegs() ); break; } Bow bow = new Bow(); bow.Movable = false; bow.Crafter = this; bow.Quality = WeaponQuality.Exceptional; AddItem( bow ); PackGold( 250, 300 ); PackItem( new Arrow( Utility.RandomMinMax( 25, 50 ) ) ); }
public GoblinArcher() : base(AIType.AI_Archer, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "a goblin Archer"; BodyValue = 292; BaseSoundID = 594; SetStr( 26, 35 ); SetDex( 76, 85 ); SetInt( 35 ); SetHits( 8, 12 ); SetMana( 0 ); SetDamage( 2, 4 ); SetDamageType( ResistanceType.Piercing, 100 ); SetResistance( ResistanceType.Blunt, 10, 15 ); SetResistance( ResistanceType.Piercing, 10, 20 ); SetResistance( ResistanceType.Slashing, 10, 20 ); SetResistance( ResistanceType.Fire, 10, 20 ); SetResistance( ResistanceType.Cold, 15, 25 ); SetResistance( ResistanceType.Poison, 30, 40 ); SetResistance( ResistanceType.Energy, 15, 25 ); SetSkill( SkillName.Poisoning, 40.1, 60.0 ); SetSkill( SkillName.MagicResist, 0.0 ); SetSkill( SkillName.Tactics, 30.1, 50.0 ); SetSkill( SkillName.UnarmedFighting, 40.1, 50.0 ); Fame = 800; Karma = -800; VirtualArmor = 0; Bow bow = new Bow(); AddItem( bow ); EquipItem( bow ); PackItem( new Arrow( Utility.RandomMinMax( 10, 20 ) ) ); }
public GoatmanArcher() : base(AIType.AI_Archer, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "a Goatman Archer"; Body = 42; BaseSoundID = 461; SetStr( 66, 75 ); SetDex( 135, 150 ); SetInt( 35 ); SetHits( 45, 51 ); SetMana( 0 ); SetDamage( 4, 6 ); SetDamageType( ResistanceType.Piercing, 100 ); SetResistance( ResistanceType.Blunt, 20, 25 ); SetResistance( ResistanceType.Piercing, 30, 40 ); SetResistance( ResistanceType.Slashing, 30, 40 ); SetResistance( ResistanceType.Fire, 10, 20 ); SetResistance( ResistanceType.Cold, 15, 25 ); SetResistance( ResistanceType.Poison, 30, 40 ); SetResistance( ResistanceType.Energy, 15, 25 ); SetSkill( SkillName.MagicResist, 40.0 ); SetSkill( SkillName.Tactics, 80.1, 100.0 ); SetSkill( SkillName.UnarmedFighting, 80.1, 100.0 ); SetSkill( SkillName.Archery, 80.1, 100.0 ); Fame = 1600; Karma = -1600; VirtualArmor = 10; Bow bow = new Bow(); AddItem( bow ); EquipItem( bow ); PackItem( new Arrow( Utility.RandomMinMax( 10, 20 ) ) ); }
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); } }
public ArcherGuard( Mobile target ) : base( target ) { Summoned = true; 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); Container pack = new Backpack(); pack.Movable = false; pack.DropItem(new Gold(10, 25)); AddItem(pack); #region Weapon BaseWeapon weapon; Item ammo; switch (Utility.Random(3)) { case 1: weapon = new Bow(); ammo = new Arrow(250); break; case 2: weapon = new Crossbow(); ammo = new Bolt(250); break; case 3: weapon = new HeavyCrossbow(); ammo = new Bolt(250); break; default: weapon = new Bow(); ammo = new Arrow(250); break; } weapon.Crafter = this; weapon.Resource = GuardTheme; weapon.Quality = WeaponQuality.Exceptional; weapon.Speed = 1; weapon.MinDamage = 10000; weapon.MaxDamage = 10000; AddItem(weapon); weapon.Movable = false; AddItem(ammo); ammo.LootType = LootType.Blessed; #endregion Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 125.0; Skills[SkillName.Archery].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.0); Focus = target; }
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; } }
public Martoo() : base( AIType.AI_Archer, FightMode.Closest, 10, 1, 0.1, 0.2) { Name = "Martoo Saul"; //Title= ""; Hue= 2221; Body = 400; SpeechHue= 2306; BaseSoundID = 0; Team = 0; //new EtherealHorse().Rider = this; SetStr( 295, 395); SetDex( 175, 225); SetInt( 0, 0); SetHits(330, 475); SetSkill( SkillName.Tactics, 100.7, 100.4); SetSkill( SkillName.MagicResist, 150.4, 150.7); SetSkill( SkillName.Archery, 110.4, 110.7); SetSkill( SkillName.Anatomy, 110.4, 110.7); SetSkill( SkillName.Parry, 75.1, 100.1); Fame=15000; Karma=-15000; VirtualArmor= 85; Item Bow = new Bow(); Bow.Movable=false; Bow.Hue=2224; EquipItem( Bow ); //Item BoneHelm = new BoneHelm(); //BoneHelm.Movable=false; //BoneHelm.Hue=38; //EquipItem( BoneHelm ); Item HoodedShroudOfShadows = new HoodedShroudOfShadows(); HoodedShroudOfShadows.Movable=false; HoodedShroudOfShadows.Hue=1367; HoodedShroudOfShadows.Name="death shroud"; EquipItem( HoodedShroudOfShadows ); Item StuddedGloves = new StuddedGloves(); StuddedGloves.Movable=false; StuddedGloves.Hue=1; EquipItem( StuddedGloves ); //Item LongPants = new LongPants(); //LongPants.Movable=false; //LongPants.Hue=1; //EquipItem( LongPants ); Item Sandals = new Sandals(); Sandals.Movable=false; Sandals.Hue=1; EquipItem( Sandals ); //Item Cloak = new Cloak(); //Cloak.Movable=false; //Cloak.Hue=0xFFFF; //EquipItem( Cloak ); Item hair = new Item( 0x203B); hair.Hue = 2306; hair.Layer = Layer.Hair; hair.Movable = false; AddItem( hair ); Container pack = new Backpack(); pack.DropItem( new Arrow( Utility.RandomMinMax( 25, 35 ) ) ); pack.DropItem( new Arrow( Utility.RandomMinMax( 25, 35 ) ) ); PackItem( new Arrow( Utility.RandomMinMax( 50, 70 ) ) ); PackGold( 600, 3300); PackArmor( 0, 5 ); PackWeapon( 0, 5 ); PackArmor( 0, 2 ); PackWeapon( 0, 2 ); switch ( Utility.Random( 2 )) { case 0: PackItem( new MartooSoul() ); break; } }
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 override void GenerateLoot() { AddLoot(LootPack.FilthyRich); Bow weapon = new Bow {DamageLevel = WeaponDamageLevel.Force, Hue = 0x798}; AddItem(weapon); }
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 static void EquipFreeSoldier(Armament a, Mobile m) { if (a == Armament.LightCavalry) a = (Armament)1; else if (a == Armament.HeavyCavalry) a = (Armament)3; int chance = Utility.RandomMinMax(1, 6); Nation nation = Nation.Vhalurian; switch (chance) { case 1: nation = Nation.Alyrian; break; case 2: nation = Nation.Azhuran; break; case 3: nation = Nation.Khemetar; break; case 4: nation = Nation.Mhordul; break; case 5: nation = Nation.Tyrean; break; case 6: nation = Nation.Vhalurian; break; } m.Language = "Common"; m.Female = Utility.RandomBool(); if (m.Female) { m.Body = 0x191; (m as Soldier).BaseName = RandomName(nation, true) + RandomSurname(nation, true); } else { m.Body = 0x190; (m as Soldier).BaseName = BaseKhaerosMobile.RandomName(nation, false) + RandomSurname(nation, false); } m.Hue = BaseKhaerosMobile.AssignRacialHue(nation); m.HairItemID = BaseKhaerosMobile.AssignRacialHair(nation, m.Female); int hairhue = BaseKhaerosMobile.AssignRacialHairHue(nation); m.HairHue = hairhue; if (!m.Female) { m.FacialHairItemID = BaseKhaerosMobile.AssignRacialFacialHair(nation); m.FacialHairHue = hairhue; } else m.FacialHairItemID = 0; if (m.Backpack == null) m.AddItem(new Backpack()); m.Name = ((m as Soldier).BaseName + " the Free Soldier"); ChainChest cc = new ChainChest(); m.EquipItem(cc); PlateArms pa = new PlateArms(); m.EquipItem(pa); TyreanHalfPlateGloves thpg = new TyreanHalfPlateGloves(); m.EquipItem(thpg); PlateGorget pg = new PlateGorget(); m.EquipItem(pg); PlateLegs pl = new PlateLegs(); m.EquipItem(pl); m.EquipItem(new Cloak(Utility.RandomMinMax(1873, 1908))); m.EquipItem(new Tunic(Utility.RandomMinMax(1873, 1908))); int RandomWeapons = Utility.Random(3); switch (RandomWeapons) { case 0: Broadsword sword = new Broadsword(); m.EquipItem(sword); MetalShield shield = new MetalShield(); m.EquipItem(shield); break; case 1: WarHammer wh = new WarHammer(); m.EquipItem(wh); break; case 2: Bow b = new Bow(); m.EquipItem(b); m.AddToBackpack(new Arrow(Utility.Random(20))); (m as BaseCreature).AI = AIType.AI_Archer; break; } }
private static void AddThemeLoot(LockableContainer cont, int level, ChestThemeType type) { MonsterStatuette mx = null; //switch to add in theme treasures switch (type) { case ChestThemeType.Solen: { //drop are special weapon QuarterStaff special = new QuarterStaff(); special.Name = "Chitanous Staff"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); //go into dropping normal loot int onlyonedrop = Utility.RandomMinMax(0, 1); if (onlyonedrop == 0) { cont.DropItem(new Seed(PlantType.Hedge, 0, false)); //new solen seed } if (onlyonedrop == 1) { cont.DropItem(new WaterBucket()); //new waterbucket } if (Utility.RandomDouble() <= 0.30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[0]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[1]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Brigand: { //drop are special weapon Katana special = new Katana(); special.Name = "Bandit's Blade"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0, 1); if (onlyonedrop == 0) { cont.DropItem(new Brazier(true)); //new movable brazier } if (onlyonedrop == 1) { cont.DropItem(new DecorativeBow(Utility.RandomMinMax(0, 3))); //random decorative bow type } for (int i = 0; i < level * 5; ++i) { cont.DropItem(new PowderOfTranslocation()); //drop powder of translocation } if (Utility.RandomDouble() <= 0.30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[2]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[3]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Savage: { //drop are special weapon ShortSpear special = new ShortSpear(); special.Name = "Ornate Ritual Spear"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int rug = Utility.RandomMinMax(0, 1); int onlyonedrop = Utility.RandomMinMax(0, 1); if (onlyonedrop == 0) { cont.DropItem(new SkullPole()); //new skull pole } if (onlyonedrop == 1) { if (rug == 0) { cont.DropItem(new BrownBearRugEastDeed()); //new rug east } if (rug == 1) { cont.DropItem(new BrownBearRugSouthDeed()); //new rug south } } if (Utility.RandomDouble() <= .30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[4]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[5]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Undead: { Halberd special = new Halberd(); special.Name = "Soul Reaver"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0, 1); if (onlyonedrop == 0) { cont.DropItem(new BoneContainer(Utility.RandomMinMax(0, 2))); //new bone container 3 differnt types 0-2 } int stone = Utility.RandomMinMax(0, 3); // get random gravestone type to drop if (onlyonedrop == 1) { if (stone == 0) { cont.DropItem(new GraveStone1()); } if (stone == 1) { cont.DropItem(new GraveStone2()); } if (stone == 2) { cont.DropItem(new GraveStone3()); } if (stone == 3) { cont.DropItem(new GraveStone4()); } } for (int i = 0; i < level * 5; ++i) { cont.DropItem(new Moonstone()); //drop moonstones } if (Utility.RandomDouble() <= 0.30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[6]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[7]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Pirate: { Bow special = new Bow(); special.Name = "Bow of the Buccaneer"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0, 1); PirateHat hat = new PirateHat(); hat.Hue = 0x1; int oars = Utility.RandomMinMax(0, 1); //2 oar types if (onlyonedrop == 0) { if (oars == 0) { cont.DropItem(new Oars1()); } if (oars == 1) { cont.DropItem(new Oars2()); } } if (onlyonedrop == 1) { cont.DropItem(new GenieBottle(false)); //lamp currently disabled genie not done } if (Utility.RandomDouble() <= 0.50) { cont.DropItem(hat); // 50% chance at black piratehat } if (Utility.RandomDouble() <= 0.30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[8]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[9]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Dragon: { WarFork special = new WarFork(); special.Name = "Claw of the Dragon"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0, 1); //new dragonhead trophydeed type if (onlyonedrop == 0) { cont.DropItem(new TrophyDeed(8757, 8756, "a dragon head trophy", "a dragon head trophy", 10)); } int armor = Utility.RandomMinMax(0, 2); // drop 1 piece of dragonarmor if (onlyonedrop == 1) { if (armor == 0) { cont.DropItem(new HangingDragonChest()); } if (armor == 1) { cont.DropItem(new HangingDragonLegs()); } if (armor == 2) { cont.DropItem(new HangingDragonArms()); } } if (Utility.RandomDouble() <= 0.30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[10]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[11]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Lizardmen: { if (Utility.RandomBool()) { cont.DropItem(new LizardmansStaff()); } else { cont.DropItem(new LizardmansMace()); } } break; case ChestThemeType.Ettin: { cont.DropItem(new EttinHammer()); } break; case ChestThemeType.Ogre: { cont.DropItem(new OgresClub()); } break; case ChestThemeType.Ophidian: { cont.DropItem(new OphidianBardiche()); } break; case ChestThemeType.Skeleton: { switch (Utility.Random(3)) { case 0: cont.DropItem(new SkeletonScimitar()); break; case 1: cont.DropItem(new SkeletonAxe()); break; case 2: cont.DropItem(new BoneMageStaff()); break; } } break; case ChestThemeType.Ratmen: { if (Utility.RandomBool()) { cont.DropItem(new RatmanSword()); } else { cont.DropItem(new RatmanAxe()); } } break; case ChestThemeType.Orc: { switch (Utility.Random(3)) { case 0: cont.DropItem(new OrcClub()); break; case 1: cont.DropItem(new OrcMageStaff()); break; case 2: cont.DropItem(new OrcLordBattleaxe()); break; } } break; case ChestThemeType.Terathan: { switch (Utility.Random(3)) { case 0: cont.DropItem(new TerathanStaff()); break; case 1: cont.DropItem(new TerathanSpear()); break; case 2: cont.DropItem(new TerathanMace()); break; } } break; case ChestThemeType.FrostTroll: { switch (Utility.Random(3)) { case 0: cont.DropItem(new FrostTrollClub()); break; case 1: cont.DropItem(new TrollAxe()); break; case 2: cont.DropItem(new TrollMaul()); break; } } break; } //end switch }
private void Process( Mobile from ) { Item rewardItem; switch( m_Skill.SkillID ) { case 0: // alchemy rewardItem = new MortarPestle(); break; case 7: // Blacksmithy rewardItem = new GMSmithHammer(); break; case 8: // Bowcraft/fletching rewardItem = new Bow(); break; case 11: // Carpentry switch (m_Itemid) { case 4138: rewardItem = new Hammer(); break; case 4148: rewardItem = new Saw(); break; case 4146: rewardItem = new SmoothingPlane(); break; case 4325: rewardItem = new Froe(); break; case 4326: rewardItem = new Inshave(); break; case 4324: rewardItem = new DrawKnife(); break; default: return; } break; case 23: // Inscription rewardItem = new ScribesPen(); break; case 25: // Magery rewardItem = new Spellbook(); ( rewardItem as Spellbook ).Content = ulong.MaxValue; (rewardItem as Spellbook).LootType = LootType.Blessed; break; case 34: // Tailoring rewardItem = new RewardDyeTub(); break; case 35: // Animal Taming rewardItem = new ShepherdsCrook(); break; case 44: //Lumberjacking rewardItem = new Hatchet(); break; case 45: // Mining rewardItem = new Pickaxe(); break; //Bardic skills case 9: case 15: case 22: case 29: switch (m_Itemid) { case 3740: rewardItem = new Drums(); break; case 3761: rewardItem = new Harp(); break; case 3762: rewardItem = new LapHarp(); break; case 3763: rewardItem = new Lute(); break; case 3741: rewardItem = new Tambourine(); break; case 3742: rewardItem = new TambourineTassel(); break; default: return; } break; //"Thieving" skills case 21: case 28: case 33: case 47: rewardItem = new Cloak(); break; default: return; } rewardItem.Hue = m_CurrentHue; rewardItem.LootType = LootType.Blessed; if( m_Name != "" ) rewardItem.Name = m_Name; if( rewardItem is RewardDyeTub ) { var tub = (RewardDyeTub)rewardItem; tub.DyedHue = rewardItem.Hue; tub.Redyable = false; tub.LootType = LootType.Blessed; tub.Owner = from; } else if( rewardItem is GMSmithHammer ) { var hammer = (GMSmithHammer)rewardItem; hammer.Owner = from; } from.AddToBackpack( rewardItem ); // Log RewardLogging.WriteLine( from, m_Skill, m_Name, m_CurrentHue ); }
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 = "Enhance"; break; case 4: task = "Modify"; break; case 5: task = "Restring"; break; case 6: task = "Engrave"; break; case 7: task = "Adjust"; break; case 8: task = "Improve"; break; case 9: task = "Align"; break; case 10: task = "Balance"; break; } if (Utility.RandomMinMax(1, 5) == 1) { Item item = null; switch (Utility.RandomMinMax(1, 7)) { case 1: item = new Bow(); break; case 2: item = new Crossbow(); break; case 3: item = new HeavyCrossbow(); break; case 4: item = new RepeatingCrossbow(); break; case 5: item = new CompositeBow(); break; case 6: item = new MagicalShortbow(); break; case 7: item = new ElvenCompositeLongbow(); break; } 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; } item.Delete(); task = task + " their " + name; } else { string[] sWoods = new string[] { " ", " ash wood ", " cherry wood ", " ebony wood ", " golden oak ", " hickory ", " mahogany ", " oak ", " pine ", " ghost wood ", " rosewood ", " walnut wood ", " petrified wood ", " diftwood ", " elven wood " }; string sWood = sWoods[Utility.RandomMinMax(0, (sWoods.Length - 1))]; task = task + " their" + sWood; switch (Utility.RandomMinMax(1, 8)) { case 1: task = task + "bow"; break; case 2: task = task + "crossbow"; break; case 3: task = task + "longbow"; break; case 4: task = task + "shortbow"; break; case 5: task = task + "repeating crossbow"; break; case 6: task = task + "heavy crossbow"; break; case 7: task = task + "composite longbow"; break; case 8: task = task + "composite shortbow"; break; } } return(task); }
public override void GenerateLoot() { PlateChest chest = new PlateChest(); chest.Hue = 0x966; AddItem( chest ); PlateArms arms = new PlateArms(); arms.Hue = 0x966; AddItem( arms ); PlateGloves gloves = new PlateGloves(); gloves.Hue = 0x966; AddItem( gloves ); PlateGorget gorget = new PlateGorget(); gorget.Hue = 0x966; AddItem( gorget ); PlateLegs legs = new PlateLegs(); legs.Hue = 0x966; AddItem( legs ); PlateHelm helm = new PlateHelm(); helm.Hue = 0x966; AddItem( helm ); Bow bow = new Bow(); bow.Movable = false; bow.Crafter = this; bow.Quality = WeaponQuality.Exceptional; AddItem( bow ); PackItem( new Arrow( 250 ) ); PackGold( 250, 500 ); }
public static void CreateItem(ItemInfo info, Mobile m) { if (m == null) return; Item item = null; BaseCreature bc = null; switch (info.IncrID) { case 0: item = new BlackPearl(999); break; case 1: item = new Bloodmoss(999); break; case 2: item = new MandrakeRoot(999); break; case 3: item = new Garlic(999); break; case 4: item = new Ginseng(999); break; case 5: item = new Nightshade(999); break; case 6: item = new SpidersSilk(999); break; case 7: item = new SulfurousAsh(999); break; case 8: item = new Bag(); ((Bag)item).DropItem( new BlackPearl(100) ); ((Bag)item).DropItem( new Bloodmoss(100) ); ((Bag)item).DropItem( new MandrakeRoot(100) ); ((Bag)item).DropItem( new Garlic(100) ); ((Bag)item).DropItem( new Ginseng(100) ); ((Bag)item).DropItem( new Nightshade(100) ); ((Bag)item).DropItem( new SpidersSilk(100) ); ((Bag)item).DropItem( new SulfurousAsh(100) ); break; case 9: item = new BatWing(999); break; case 10: item = new GraveDust(999); break; case 11: item = new DaemonBlood(999); break; case 12: item = new NoxCrystal(999); break; case 13: item = new PigIron(999); break; case 14: item = new Bag(); ((Bag)item).DropItem( new BatWing(100) ); ((Bag)item).DropItem( new GraveDust(100) ); ((Bag)item).DropItem( new DaemonBlood(100) ); ((Bag)item).DropItem( new NoxCrystal(100) ); ((Bag)item).DropItem( new PigIron(100) ); break; case 15: for (int i=0; i < 2; i++) //The last potion is dropped later { item = new RefreshPotion(); m.AddToBackpack(item); } item = new RefreshPotion(); break; case 16: for (int i=0; i < 2; i++) //The last potion is dropped later { item = new RefreshPotion(); m.AddToBackpack(item); } item = new LesserCurePotion(); break; case 17: for (int i=0; i < 2; i++) //The last potion is dropped later { item = new RefreshPotion(); m.AddToBackpack(item); } item = new LesserHealPotion(); break; case 18: for (int i=0; i < 2; i++) //The last potion is dropped later { item = new RefreshPotion(); m.AddToBackpack(item); } item = new NightSightPotion(); break; case 19: item = new Bandage(50); break; case 20: item = new Bandage(200); break; case 21: item = new Bandage(1000); break; case 22: item = new Arrow(100); break; case 23: item = new Arrow(1000); break; case 24: item = new Bolt(100); break; case 25: item = new Bolt(1000); break; case 26: bc = new Horse(); break; case 27: bc = new PackLlama(); break; case 28: item = new Club(); BaseRunicTool.ApplyAttributesTo((BaseWeapon)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 29: item = new WarFork(); BaseRunicTool.ApplyAttributesTo((BaseWeapon)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 30: item = new Katana(); BaseRunicTool.ApplyAttributesTo((BaseWeapon)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 31: item = new Bow(); BaseRunicTool.ApplyAttributesTo((BaseWeapon)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 32: item = new MetalKiteShield(); BaseRunicTool.ApplyAttributesTo((BaseShield)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 33: item = new WoodenShield(); BaseRunicTool.ApplyAttributesTo((BaseShield)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 34: item = new LeatherChest(); BaseRunicTool.ApplyAttributesTo((BaseArmor)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 35: item = new LeatherGloves(); BaseRunicTool.ApplyAttributesTo((BaseArmor)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 36: item = new LeatherGorget(); BaseRunicTool.ApplyAttributesTo((BaseArmor)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 37: item = new LeatherLegs(); BaseRunicTool.ApplyAttributesTo((BaseArmor)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 38: item = new LeatherCap(); BaseRunicTool.ApplyAttributesTo((BaseArmor)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 39: item = new LeatherArms(); BaseRunicTool.ApplyAttributesTo((BaseArmor)item, Utility.RandomMinMax(1, 4), 40, 80); break; case 40: item = new Gold(300); break; case 41: item = new Gold(3000); break; case 42: item = new Server.Engines.BulkOrders.BulkOrderBook(); break; case 43: item = new Drums(); ((BaseInstrument)item).Quality = InstrumentQuality.Exceptional; break; case 44: item = new TambourineTassel(); ((BaseInstrument)item).Quality = InstrumentQuality.Exceptional; break; case 45: item = new Server.Multis.SmallDragonBoatDeed(); break; case 46: item = new Server.Multis.LargeDragonBoatDeed(); break; } if (item != null) { m.AddToBackpack(item); m.SendMessage("Here are the goods you requested."); } else if (bc != null) { bc.Controlled = true; bc.ControlMaster = m; bc.MoveToWorld( m.Location, m.Map ); m.SendMessage("Here is the pet you requested."); } else { m.SendMessage("That item is not available. Please report the bug at the site that will open in your browser."); m.LaunchBrowser( "http://bug.casiopia.net/" ); m.AddToBackpack( new VeriteGem(info.Price) ); } }
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 ArcherGuard(Mobile target) : base(target) { //10OCT2007 Reorganized Guards *** START *** //Reduce stats to a normal level //InitStats(100, 125, 25); 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"); switch (Utility.Random(2)) { case 0: AddItem(new LeatherSkirt()); break; case 1: AddItem(new LeatherShorts()); break; } switch (Utility.Random(4)) { case 0: AddItem(new FemaleLeatherChest()); break; case 1: AddItem(new FemaleStuddedChest()); break; case 2: AddItem(new LeatherBustierArms()); break; case 3: AddItem(new StuddedBustierArms()); break; } } else { Body = 0x190; Name = NameList.RandomName("male"); AddItem(new StuddedChest()); AddItem(new StuddedArms()); if (Utility.RandomBool()) { Utility.AssignRandomFacialHair(this, HairHue); } } new Horse().Rider = this; AddItem(new StuddedGloves()); AddItem(new StuddedGorget()); AddItem(new StuddedLegs()); AddItem(new Boots()); AddItem(new FeatheredHat(Utility.RandomNondyedHue())); AddItem(new BodySash(Utility.RandomNondyedHue())); Utility.AssignRandomHair(this); switch (Utility.Random(1)) //picks one of the following { case 0: { Bow bow = new Bow(); bow.Movable = false; bow.Crafter = this; bow.Quality = WeaponQuality.Exceptional; AddItem(bow); Container pack = new Backpack(); pack.Movable = false; Arrow arrows = new Arrow(250); pack.DropItem(arrows); pack.DropItem(new Gold(10, 25)); AddItem(pack); break; } case 1: { Crossbow crossbow = new Crossbow(); crossbow.Movable = false; crossbow.Crafter = this; crossbow.Quality = WeaponQuality.Exceptional; AddItem(crossbow); Container pack = new Backpack(); pack.Movable = false; Bolt bolt = new Bolt(250); pack.DropItem(bolt); pack.DropItem(new Gold(10, 25)); AddItem(pack); break; } } //10OCT2007 Reorganized Guards *** END *** Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 120.0; Skills[SkillName.Archery].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; }
private static void AddThemeLoot (LockableContainer cont, int level, ChestThemeType type) { MonsterStatuette mx = null; //switch to add in theme treasures switch ( type ) { case ChestThemeType.Solen: { //drop are special weapon QuarterStaff special = new QuarterStaff(); special.Name = "Chitanous Staff"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); //go into dropping normal loot int onlyonedrop = Utility.RandomMinMax(0,1); if(onlyonedrop ==0 )cont.DropItem(new Seed(PlantType.Hedge,0,false)); //new solen seed if(onlyonedrop ==1 )cont.DropItem(new WaterBucket() ); //new waterbucket if (Utility.RandomDouble() <= 0.30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[0]); if(whichone == 1)mx = new MonsterStatuette (m_Monster[1]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Brigand: { //drop are special weapon Katana special = new Katana(); special.Name = "Bandit's Blade"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0,1); if(onlyonedrop ==0 )cont.DropItem(new Brazier(true)); //new movable brazier if(onlyonedrop ==1 )cont.DropItem(new DecorativeBow(Utility.RandomMinMax(0,3))); //random decorative bow type for ( int i = 0; i < level * 5; ++i ) { cont.DropItem (new PowderOfTranslocation() ); //drop powder of translocation } if (Utility.RandomDouble() <= 0.30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[2]); if(whichone == 1)mx = new MonsterStatuette (m_Monster[3]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Savage: { //drop are special weapon ShortSpear special = new ShortSpear(); special.Name = "Ornate Ritual Spear"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int rug = Utility.RandomMinMax(0,1); int onlyonedrop = Utility.RandomMinMax(0,1); if(onlyonedrop ==0 )cont.DropItem(new SkullPole() ); //new skull pole if(onlyonedrop ==1 ) { if(rug == 0) cont.DropItem(new BrownBearRugEastDeed() ); //new rug east if(rug == 1) cont.DropItem(new BrownBearRugSouthDeed() ); //new rug south } if (Utility.RandomDouble() <= .30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[4]); if(whichone == 1)mx = new MonsterStatuette (m_Monster[5]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Undead: { Halberd special = new Halberd(); special.Name = "Soul Reaver"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0,1); if(onlyonedrop ==0 )cont.DropItem(new BoneContainer(Utility.RandomMinMax(0,2))); //new bone container 3 differnt types 0-2 int stone = Utility.RandomMinMax(0,3); // get random gravestone type to drop if(onlyonedrop ==1 ) { if(stone == 0) cont.DropItem(new GraveStone1()); if(stone == 1) cont.DropItem(new GraveStone2()); if(stone == 2) cont.DropItem(new GraveStone3()); if(stone == 3) cont.DropItem(new GraveStone4()); } for ( int i = 0; i < level * 5; ++i ) { cont.DropItem(new Moonstone()); //drop moonstones } if (Utility.RandomDouble() <= 0.30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[6]); if(whichone == 1)mx = new MonsterStatuette (m_Monster[7]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Pirate: { Bow special = new Bow(); special.Name = "Bow of the Buccaneer"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0,1); PirateHat hat = new PirateHat(); hat.Hue = 0x1; int oars = Utility.RandomMinMax(0,1); //2 oar types if(onlyonedrop ==0 ) { if(oars == 0) cont.DropItem(new Oars1()); if(oars == 1) cont.DropItem(new Oars2()); } if(onlyonedrop == 1 )cont.DropItem(new GenieBottle(false) ); //lamp currently disabled genie not done if (Utility.RandomDouble() <= 0.50 )cont.DropItem(hat); // 50% chance at black piratehat if (Utility.RandomDouble() <= 0.30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[8]); if(whichone == 1) mx = new MonsterStatuette (m_Monster[9]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Dragon: { WarFork special = new WarFork(); special.Name = "Claw of the Dragon"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0,1); //new dragonhead trophydeed type if(onlyonedrop ==0 ) cont.DropItem(new TrophyDeed(8757, 8756, "a dragon head trophy", "a dragon head trophy", 10 )); int armor = Utility.RandomMinMax(0,2); // drop 1 piece of dragonarmor if(onlyonedrop == 1 ) { if(armor == 0) cont.DropItem(new HangingDragonChest()); if(armor == 1) cont.DropItem(new HangingDragonLegs()); if(armor == 2) cont.DropItem(new HangingDragonArms()); } if (Utility.RandomDouble() <= 0.30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[10]); if(whichone == 1)mx = new MonsterStatuette (m_Monster[11]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Lizardmen: { if (Utility.RandomBool()) cont.DropItem( new LizardmansStaff() ); else cont.DropItem( new LizardmansMace() ); } break; case ChestThemeType.Ettin: { cont.DropItem( new EttinHammer() ); } break; case ChestThemeType.Ogre: { cont.DropItem( new OgresClub() ); } break; case ChestThemeType.Ophidian: { cont.DropItem( new OphidianBardiche() ); } break; case ChestThemeType.Skeleton: { switch (Utility.Random(3)) { case 0: cont.DropItem( new SkeletonScimitar() ); break; case 1: cont.DropItem( new SkeletonAxe() ); break; case 2: cont.DropItem( new BoneMageStaff() ); break; } } break; case ChestThemeType.Ratmen: { if (Utility.RandomBool()) cont.DropItem( new RatmanSword() ); else cont.DropItem( new RatmanAxe() ); } break; case ChestThemeType.Orc: { switch (Utility.Random(3)) { case 0: cont.DropItem( new OrcClub() ); break; case 1: cont.DropItem( new OrcMageStaff() ); break; case 2: cont.DropItem( new OrcLordBattleaxe() ); break; } } break; case ChestThemeType.Terathan: { switch (Utility.Random(3)) { case 0: cont.DropItem( new TerathanStaff() ); break; case 1: cont.DropItem( new TerathanSpear() ); break; case 2: cont.DropItem( new TerathanMace() ); break; } } break; case ChestThemeType.FrostTroll: { switch (Utility.Random(3)) { case 0: cont.DropItem( new FrostTrollClub() ); break; case 1: cont.DropItem( new TrollAxe() ); break; case 2: cont.DropItem( new TrollMaul() ); break; } } break; }//end switch }
public override void GenerateLoot() { AddLoot(LootPack.Average); PackGold(100, 150); Bow weapon = new Bow(); weapon.DamageLevel = WeaponDamageLevel.Might; weapon.Hue = 2956; AddItem(weapon); }
public ZaythalorFarmHouseTreasureChest() : base(0xE43) { Name = "a treasure chest"; Movable = true; Weight = 1000.0; TrapPower = 0; Locked = false; RequiredSkill = 0; LockLevel = 0; MaxLockLevel = this.RequiredSkill; // Gold if (Utility.RandomDouble() < 0.25) { DropItem(new Gold(Utility.Random(25, 50))); } DropItem(new OneGoldBar()); /////////////////////////////////////// Supplies if (Utility.RandomDouble() < 0.15) { DropItem(new Arrow(Utility.Random(1, 5))); } Item ReagentLoot = Loot.RandomReagent(); ReagentLoot.Amount = Utility.Random(1, 5); DropItem(ReagentLoot); if (Utility.RandomDouble() < 0.15) { DropItem(new Bandage(Utility.Random(1, 5))); } if (Utility.RandomDouble() < 0.15) { DropItem(new Bedroll()); } if (Utility.RandomDouble() < 0.10) { DropItem(new Bottle(Utility.Random(1, 5))); } if (Utility.RandomDouble() < 0.20) { DropItem(new Lockpick(Utility.Random(1, 5))); } 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.15) { DropItem(new FineOpalPendant()); } if (Utility.RandomDouble() < 0.15) { DropItem(new TamersHandbookVol2()); } if (Utility.RandomDouble() < 0.15) { DropItem(new Tanzanite()); } if (Utility.RandomDouble() < 0.15) { DropItem(new CrackedHitFireballGem()); } if (Utility.RandomDouble() < 0.25) { BaseWeapon weapon = Loot.RandomWeapon(true); switch (Utility.Random(7)) { case 0: weapon = new Hatchet(); break; case 1: weapon = new Bow(); break; case 2: weapon = new Club(); break; case 3: weapon = new Pitchfork(); break; case 4: weapon = new GnarledStaff(); break; case 5: weapon = new ShepherdsCrook(); break; default: weapon = new Dagger(); break; } BaseRunicTool.ApplyAttributesTo(weapon, 3, 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); } }
public override void OnResponse( NetState state, RelayInfo info ) //Function for GumpButtonType.Reply Buttons { Mobile from = state.Mobile; PlayerMobile pm = from as PlayerMobile; PlayerModule module = pm.PlayerModule; m_cost = 50;//MOD COST OF WEAPON HERE!! Item wep = from.FindItemOnLayer( Layer.FirstValid ); Item weps = from.FindItemOnLayer( Layer.TwoHanded ); Container pack = from.Backpack; if ( wep !=null ) pack.TryDropItem( from, wep, false ); if ( weps !=null ) pack.TryDropItem( from, weps, false ); switch ( info.ButtonID ) { case 0: //Cancel { from.SendMessage( "You decide against spending your skill points." ); //from.SendGump( new LevelGump( from ) ); break; } case 1: //Katana { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Katana kat = new Katana(); ( ( Item )kat ).Name = "Katana [Level Item]"; kat.Identified = true;//Prevents others from being used in the upgrading! kat.LootType = LootType.Blessed; from.EquipItem( kat ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 2: //Broad Sword { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Broadsword bs = new Broadsword(); bs.Identified = true; bs.Name = "Broadsword"; bs.LootType = LootType.Blessed; from.EquipItem( bs ); from.SendMessage( 102, "You chose a Broadsword" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 3: //Scimitar { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Scimitar sc = new Scimitar(); sc.Identified = true; sc.Name = "Scimitar"; sc.LootType = LootType.Blessed; from.EquipItem( sc ); from.SendMessage( 102, "You chose a Scimitar" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 4: //Viking sword { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; VikingSword vs = new VikingSword(); vs.Identified = true; vs.Name = "Vikingsword"; vs.LootType = LootType.Blessed; from.EquipItem( vs ); from.SendMessage( 102, "You chose a Viking Sword" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 5: //Halberd { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Halberd hb = new Halberd(); hb.Identified = true; hb.Name = "Halberd"; hb.LootType = LootType.Blessed; from.EquipItem( hb ); from.SendMessage( 102, "You chose a Halberd" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 6: //Bardiche { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Bardiche bd = new Bardiche(); bd.Identified = true; bd.Name = "Bardiche"; bd.LootType = LootType.Blessed; from.EquipItem( bd ); from.SendMessage( 102, "You chose a Bardiche" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 7: //Double Axe { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; DoubleAxe da = new DoubleAxe(); da.Identified = true; da.Name = "Double Axe"; da.LootType = LootType.Blessed; from.EquipItem( da ); from.SendMessage( 102, "You chose a Double Axe" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 8: //Large Battle Axe { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; LargeBattleAxe lba = new LargeBattleAxe(); lba.Identified = true; lba.Name = "Large Battle Axe"; lba.LootType = LootType.Blessed; from.EquipItem( lba ); from.SendMessage( 102, "You chose a Large Battle Axe" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 9: //Axe { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Axe a = new Axe(); a.Identified = true; a.Name = "Axe"; a.LootType = LootType.Blessed; from.EquipItem( a ); from.SendMessage( 102, "You chose an Axe" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 10: //Kryss { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Kryss k = new Kryss(); k.Identified = true; k.Name = "Kryss"; k.LootType = LootType.Blessed; from.EquipItem( k ); from.SendMessage( 102, "You chose a Kryss" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 11: //War Fork { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; WarFork wf = new WarFork(); wf.Identified = true; wf.Name = "War Fork"; wf.LootType = LootType.Blessed; from.EquipItem( wf ); from.SendMessage( 102, "You chose a War Fork" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 12: //Dagger { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Dagger d = new Dagger(); d.Identified = true; d.Name = "Dagger"; d.LootType = LootType.Blessed; from.EquipItem( d ); from.SendMessage( 102, "You chose a Dagger" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 13: //Pike { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Pike p = new Pike(); p.Identified = true; p.Name = "Pike"; p.LootType = LootType.Blessed; from.EquipItem( p ); from.SendMessage( 102, "You chose a Pike" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 14: //Short Spear { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; ShortSpear ss = new ShortSpear(); ss.Identified = true; ss.Name = "Short Spear"; ss.LootType = LootType.Blessed; from.EquipItem( ss ); from.SendMessage( 102, "You chose a Short Spear" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 15: //Long Spear { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Spear ls = new Spear(); ls.Identified = true; ls.Name = "Long Spear"; ls.LootType = LootType.Blessed; from.EquipItem( ls ); from.SendMessage( 102, "You chose a Long Spear" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 16: //Pitchfork { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Pitchfork p = new Pitchfork(); p.Identified = true; p.Name = "Pitchfork"; p.LootType = LootType.Blessed; from.EquipItem( p ); from.SendMessage( 102, "You chose a Pitchfork" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 17: //lance { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Lance l = new Lance(); l.Identified = true; l.Name = "Lance"; l.LootType = LootType.Blessed; from.EquipItem( l ); from.SendMessage( 102, "You chose a Lance" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 18: //Sai's { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Sai s = new Sai(); s.Identified = true; s.Name = "Sai"; s.LootType = LootType.Blessed; from.EquipItem( s ); from.SendMessage( 102, "You chose Sai's" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 19: //War Mace { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; WarMace wm = new WarMace(); wm.Identified = true; wm.Name = "War Mace"; wm.LootType = LootType.Blessed; from.EquipItem( wm ); from.SendMessage( 102, "You chose a War Mace" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 20: //War Hammer { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; WarHammer wh = new WarHammer(); wh.Identified = true; wh.Name = "War Hammer"; wh.LootType = LootType.Blessed; from.EquipItem( wh ); from.SendMessage( 102, "You chose a War Hammer" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 21: //Maul { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Maul w = new Maul(); w.Identified = true; w.Name = "Maul"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Maul" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 22: //Club { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Club w = new Club(); w.Identified = true; w.Name = "Club"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Club" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 23: //Q Staff { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; QuarterStaff w = new QuarterStaff(); w.Identified = true; w.Name = "Quarter Staff"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Quarter Staff" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 24: //G Staff { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; GnarledStaff w = new GnarledStaff(); w.Identified = true; w.Name = "Gnarled Staff"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Gnarled Staff" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 25: //B Staff { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; BlackStaff w = new BlackStaff(); w.Identified = true; w.Name = "BlackStaff"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Black Staff" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 26: //Hammer Pick { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; HammerPick w = new HammerPick(); w.Identified = true; w.Name = "Hammer Pick"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Hammer Pick" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 27: //War Axe { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; WarAxe w = new WarAxe(); w.Identified = true; w.Name = "War Axe"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a War Axe" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 28: //Bow { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Bow w = new Bow(); w.Identified = true; w.Name = "Bow"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Bow" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 29: //Composite Bow { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; CompositeBow w = new CompositeBow(); w.Identified = true; w.Name = "Composite Bow"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Composite Bow" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 30: //Crossbow { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Crossbow w = new Crossbow(); w.Identified = true; w.Name = "Crossbow"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Crossbow" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 31: //Heavy Crossbow { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; HeavyCrossbow w = new HeavyCrossbow(); w.Identified = true; w.Name = "Heavy Crossbow"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Heavy Crossbow" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 32: //Repeating Crossbow { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; RepeatingCrossbow w = new RepeatingCrossbow(); w.Identified = true; w.Name = "Repeating Crossbow"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Repeating Crossbow" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } case 33: //Yumi { if ( module.SkillPts < m_cost ) from.SendMessage( 37, "Not enough skill points!" ); else { module.SkillPts -= m_cost; Yumi w = new Yumi(); w.Identified = true; w.Name = "Yumi"; w.LootType = LootType.Blessed; from.EquipItem( w ); from.SendMessage( 102, "You chose a Yumi" ); } from.SendGump( new WepUpgradeGump( from ) ); break; } } }
public MerchantCrew() : base(AIType.AI_Paladin, FightMode.Aggressor, 10, 1, .2, .4) { Title = "the merchant"; Hue = Race.RandomSkinHue(); if (this.Female = Utility.RandomBool()) { Body = 0x191; Name = NameList.RandomName("female"); AddItem(new Skirt(Utility.RandomNeutralHue())); } else { Body = 0x190; Name = NameList.RandomName("male"); AddItem(new ShortPants(Utility.RandomNeutralHue())); } bool magery = 0.33 > Utility.RandomDouble(); SetStr(100, 125); SetDex(125, 150); SetInt(250, 400); SetHits(250, 400); SetDamage(15, 25); if (magery) { ChangeAIType(AIType.AI_Mage); SetSkill(SkillName.Magery, 100.0, 120.0); SetSkill(SkillName.EvalInt, 100.0, 120.0); SetSkill(SkillName.Meditation, 100.0, 120.0); SetSkill(SkillName.MagicResist, 100.0, 120.0); } SetSkill(SkillName.Archery, 100.0, 120.0); SetSkill(SkillName.Chivalry, 100.0, 120.0); SetSkill(SkillName.Focus, 100.0, 120.0); SetSkill(SkillName.Tactics, 100.0, 120.0); SetSkill(SkillName.Wrestling, 100.0, 120.0); SetSkill(SkillName.Anatomy, 100.0, 120.0); SetDamageType(ResistanceType.Physical, 70); SetResistance(ResistanceType.Physical, 45, 55); SetResistance(ResistanceType.Fire, 45, 55); SetResistance(ResistanceType.Cold, 45, 55); SetResistance(ResistanceType.Poison, 45, 55); SetResistance(ResistanceType.Energy, 45, 55); Item bow; switch (Utility.Random(4)) { default: case 0: bow = new CompositeBow(); PackItem(new Arrow(25)); break; case 1: bow = new Crossbow(); PackItem(new Bolt(25)); break; case 2: bow = new Bow(); PackItem(new Arrow(25)); break; case 3: bow = new HeavyCrossbow(); PackItem(new Bolt(25)); break; } AddItem(bow); AddItem(new TricorneHat()); AddItem(new FancyShirt()); AddItem(new ShortPants()); AddItem(new Boots(Utility.RandomNeutralHue())); AddItem(new GoldEarrings()); Fame = 8000; Karma = 8000; }
public bool DropWeapon( int minLevel, int maxLevel ) { if ( 1.0 <= Utility.RandomDouble() ) return false; if ( maxLevel > 2 ) maxLevel = 2; Cap( ref minLevel, 0, 2 ); Cap( ref maxLevel, 0, 2 ); BaseWeapon weapon = new Broadsword(); double random = Utility.RandomDouble(); if ( random >= .75 ) { weapon = new WarFork(); } else if ( random >= .50 ) { weapon = new WarMace(); } else if ( random >= .25 ) { weapon = new Bow(); Arrow arrows = new Arrow(); arrows.Amount = 25; DropItem( arrows ); } if ( weapon == null ) return false; weapon.DamageLevel = (WeaponDamageLevel)RandomMinMaxScaled( minLevel, maxLevel ); weapon.AccuracyLevel = (WeaponAccuracyLevel)RandomMinMaxScaled( 0, maxLevel ); weapon.DurabilityLevel = (WeaponDurabilityLevel)RandomMinMaxScaled( 0, maxLevel ); DropItem( weapon ); return true; }
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 NewbArcher() : base(AIType.AI_Archer, FightMode.Closest, 10, 1, 0.2, 0.4) { SpeechHue = Utility.RandomDyedHue(); Title = "the archer"; 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( 146, 160 ); SetDex( 121, 135 ); SetInt( 61, 75 ); SetDamage( 10, 17 ); SetSkill( SkillName.MagicResist, 35.0, 47.5 ); SetSkill( SkillName.Archery, 85.0, 97.5 ); SetSkill( SkillName.Tactics, 75.0, 87.5 ); Fame = 3000; Karma = -3000; // Equip Item toArm = new StuddedChest(); toArm.LootType = LootType.Blessed; AddItem( toArm ); toArm = new StuddedLegs(); toArm.LootType = LootType.Blessed; AddItem( toArm ); toArm = new StuddedArms(); toArm.LootType = LootType.Blessed; AddItem( toArm ); toArm = new StuddedGloves(); toArm.LootType = LootType.Blessed; AddItem( toArm ); toArm = new Bow(); toArm.Movable = false; toArm.LootType = LootType.Blessed; AddItem( toArm ); Utility.AssignRandomHair( this ); PackItem( new Bandage( Utility.Random( 8, 4 ) ) ); PackItem( new Arrow( Utility.Random( 30, 20 ) ) ); if( Utility.RandomDouble() < 0.2 ) PackItem( NewbWarrior.NewbLuckArmor() ); }
/// <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); }
public TownChestBowyer() : 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.15) { DropItem(new Bow()); } if (Utility.RandomDouble() < 0.15) { DropItem(new Crossbow()); } if (Utility.RandomDouble() < 0.08) { DropItem(new HeavyCrossbow()); } if (Utility.RandomDouble() < 0.08) { DropItem(new CompositeBow()); } if (Utility.RandomDouble() < 0.08) { DropItem(new RepeatingCrossbow()); } if (Utility.RandomDouble() < 0.08) { DropItem(new ElvenCompositeLongbow()); } if (Utility.RandomDouble() < 0.08) { DropItem(new MagicalShortbow()); } if (Utility.RandomDouble() < 0.25) { DropItem(new Arrow(Utility.Random(50, 100))); } if (Utility.RandomDouble() < 0.25) { DropItem(new Bolt(Utility.Random(50, 100))); } /////////////////////////////////////// Rare Items if (Utility.RandomDouble() < 0.25) { BaseWeapon weapon = Loot.RandomWeapon(true); switch (Utility.Random(4)) { case 0: weapon = new CompositeBow(); break; case 1: weapon = new ElvenCompositeLongbow(); break; case 2: weapon = new MagicalShortbow(); break; default: weapon = new Bow(); break; } BaseRunicTool.ApplyAttributesTo(weapon, 5, 10, 15); DropItem(weapon); } if (Utility.RandomDouble() < 0.25) { BaseWeapon crossbow = Loot.RandomWeapon(true); switch (Utility.Random(3)) { case 0: crossbow = new HeavyCrossbow(); break; case 1: crossbow = new RepeatingCrossbow(); break; default: crossbow = new Crossbow(); break; } BaseRunicTool.ApplyAttributesTo(crossbow, 5, 10, 15); DropItem(crossbow); } }
public SpriteArcher() : base( AIType.AI_Archer, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Sprite Archer"; Hue = 0x045e; Body = 0x191; Female = true; AddItem( new LongHair( 0x0597 ) ); AddItem( new Arrow( Utility.Random( 20, 40 ) ) ); SetStr( 86, 90 ); SetDex( 91, 100 ); SetInt( 71, 85 ); SetHits( 86, 90 ); SetStam( 91, 100 ); SetMana( 0 ); SetDamage( 6, 10 ); SetDamageType( ResistanceType.Physical, 100 ); SetSkill( SkillName.Archery, 65.0, 88.0 ); SetSkill( SkillName.MagicResist, 50.0, 60.0 ); SetSkill( SkillName.Tactics, 75.0, 85.0 ); SetSkill( SkillName.Wrestling, 35.0, 58.0 ); Fame = Utility.RandomMinMax( 1700, 3700 ); Karma = Utility.RandomMinMax( -1500, -6000 ); VirtualArmor = 5; Item temp; temp = new ThighBoots(); temp.Hue = 0x0599; temp.Movable = false; AddItem( temp ); temp = new LeatherChest(); temp.Hue = 0x0595; temp.Movable = false; AddItem( temp ); temp = new LeatherGloves(); temp.Hue = 0x0595; temp.Movable = false; AddItem( temp ); temp = new LeatherLegs(); temp.Hue = 0x0595; temp.Movable = false; AddItem( temp ); temp = new Cloak(); temp.Hue = 0x0599; temp.Movable = false; AddItem( temp ); temp = new Bow(); AddItem( temp ); }
public GrimmochDrummel() : base( AIType.AI_Archer, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Title = "the Cursed"; Hue = 0x8596; Body = 0x190; Name = "Grimmoch Drummel"; HairItemID = 0x204A; //Krisna Bow bow = new Bow(); bow.Movable = false; AddItem( bow ); AddItem( new Boots( 0x8A4 ) ); AddItem( new BodySash( 0x8A4 ) ); Backpack backpack = new Backpack(); backpack.Movable = false; AddItem( backpack ); LeatherGloves gloves = new LeatherGloves(); LeatherChest chest = new LeatherChest(); gloves.Hue = 0x96F; chest.Hue = 0x96F; AddItem( gloves ); AddItem( chest ); SetStr( 111, 120 ); SetDex( 151, 160 ); SetInt( 41, 50 ); SetHits( 180, 207 ); SetMana( 0 ); SetDamage( 13, 16 ); SetResistance( ResistanceType.Physical, 35, 45 ); SetResistance( ResistanceType.Fire, 25, 30 ); SetResistance( ResistanceType.Cold, 45, 55 ); SetResistance( ResistanceType.Poison, 30, 40 ); SetResistance( ResistanceType.Energy, 20, 25 ); SetSkill( SkillName.Archery, 90.1, 110.0 ); SetSkill( SkillName.Swords, 60.1, 70.0 ); SetSkill( SkillName.Tactics, 90.1, 100.0 ); SetSkill( SkillName.MagicResist, 60.1, 70.0 ); SetSkill( SkillName.Anatomy, 90.1, 100.0 ); Fame = 5000; Karma = -1000; PackItem( new Arrow( 40 ) ); if ( 3 > Utility.Random( 100 ) ) PackItem( new FireHorn() ); if ( 1 > Utility.Random( 3 ) ) PackItem( Loot.RandomGrimmochJournal() ); }
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); } }