public override void InitOutfit() { AddItem(new Backpack()); AddItem(new Boots(0x1BB)); Item item; item = new LeatherLegs(); item.Hue = 0x901; AddItem(item); item = new LeatherGloves(); item.Hue = 0x1BB; AddItem(item); item = new LeatherChest(); item.Hue = 0x1BB; AddItem(item); item = new LeatherArms(); item.Hue = 0x901; AddItem(item); item = new CompositeBow(); item.Hue = 0x606; AddItem(item); }
public override void InitOutfit() { Name = "Andora"; Title = "the Ranger"; Body = 401; Female = true; Race = Race.Human; Hue = 0x83F8; HairItemID = 0x203D; HairHue = 351; FacialHairItemID = 0; FacialHairHue = 0; CompositeBow weapon = new CompositeBow(); weapon.Movable = true; AddItem(weapon); LeatherChest chest = new LeatherChest(); chest.Movable = true; AddItem(chest); LeatherGloves gloves = new LeatherGloves(); gloves.Movable = true; AddItem(gloves); AddItem(new Shirt(3)); AddItem(new ThighBoots()); AddItem(new ShortPants(5)); AddItem(new RegalCloak(168)); }
public override void InitOutfit() { this.AddItem(new Backpack()); this.AddItem(new Boots(0x1BB)); Item item; item = new LeatherLegs(); item.Hue = 0x6C8; this.AddItem(item); item = new LeatherGloves(); item.Hue = 0x1BB; this.AddItem(item); item = new LeatherChest(); item.Hue = 0x1BB; this.AddItem(item); item = new LeatherArms(); item.Hue = 0x4C7; this.AddItem(item); item = new CompositeBow(); item.Hue = 0x5DD; this.AddItem(item); }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static Item CreateBowItem() { Item item = null; int nType = Utility.RandomMinMax(0, 7); switch (nType) { case 0: item = new Crossbow(); item.Name = "crossbow"; break; case 1: item = new HeavyCrossbow(); item.Name = "heavy crossbow"; break; case 2: item = new RepeatingCrossbow(); item.Name = "repeating crossbow"; break; case 3: item = new CompositeBow(); item.Name = "composite bow"; break; case 4: item = new Bow(); item.Name = "bow"; break; case 5: item = new ElvenCompositeLongbow(); item.Name = "woodland longbow"; break; case 6: item = new MagicalShortbow(); item.Name = "woodland shortbow"; break; case 7: item = new Yumi(); item.Name = "yumi"; break; } return(item); }
public override void OnAfterSpawn() { base.OnAfterSpawn(); Server.Misc.TavernPatrons.RemoveSomeGear(this, false); Server.Misc.MorphingTime.CheckNecromancer(this); Server.Items.EssenceBase.ColorCitizen(this); Item bow = new Bow(); bow.Delete(); switch (Utility.RandomMinMax(1, 6)) { case 1: bow = new Bow(); break; case 2: bow = new Crossbow(); break; case 3: bow = new HeavyCrossbow(); break; case 4: bow = new CompositeBow(); break; case 5: bow = new Yumi(); break; case 6: bow = new RepeatingCrossbow(); break; } 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 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 override void InitOutfit() { AddItem(new Backpack()); AddItem(new Boots(0x1BB)); Item item; item = new LeatherLegs { Hue = 0x6C8 }; AddItem(item); item = new LeatherGloves { Hue = 0x1BB }; AddItem(item); item = new LeatherChest { Hue = 0x1BB }; AddItem(item); item = new LeatherArms { Hue = 0x4C7 }; AddItem(item); item = new CompositeBow { Hue = 0x5DD }; AddItem(item); }
public ArcherPeacemaker() : base(AIType.AI_Archer, 8) { SetStr(70, 90); SetDex(100, 150); SetInt(20, 35); Item weapon; switch (Utility.Random(4)) { case 0: weapon = new BarbedLongbow(); break; case 1: weapon = new CompositeBow(); break; case 2: weapon = new JukaBow(); break; default: weapon = new Bow(); break; } AddItem(weapon); SetSkill(SkillName.Tactics, 70, 95); SetSkill(SkillName.Archery, 70, 100); SetSkill(SkillName.Fencing, 65, 100); SetSkill(SkillName.MagicResist, 80, 110); SetSkill(SkillName.Macing, 75, 100); SetSkill(SkillName.Wrestling, 65, 100); SetSkill(SkillName.Healing, 65, 75); SetSkill(SkillName.Anatomy, 80, 90); }
public ArcherPeacemaker() : base(AIType.AI_Archer, 8) { SetStr(70, 90); SetDex(100, 150); SetInt(20, 35); Item weapon; switch (Utility.Random(4)) { case 0: weapon = new BarbedLongbow(); break; case 1: weapon = new CompositeBow(); break; case 2: weapon = new JukaBow(); break; default: weapon = new Bow(); break; } AddItem(weapon); AddItem(new Quiver()); Container pack = new Backpack(); pack.Movable = false; pack.DropItem(new Arrow(50)); SetSkill(SkillName.Tactics, 70.1, 95.0); SetSkill(SkillName.Archery, 70.1, 100.0); SetSkill(SkillName.Fencing, 65.1, 100.0); SetSkill(SkillName.MagicResist, 80.1, 110.0); SetSkill(SkillName.Macing, 75.1, 100.0); SetSkill(SkillName.Wrestling, 65.1, 100.0); SetSkill(SkillName.Healing, 65.1, 75.0); SetSkill(SkillName.Anatomy, 80.1, 90.0); }
public override void GenerateLoot() { AddLoot(LootPack.FilthyRich, 5); AddLoot(LootPack.HighScrolls, 3); AddLoot(LootPack.MedScrolls, 4); AddLoot(LootPack.LowScrolls, 6); AddLoot(LootPack.Gems, 5); if (Utility.RandomDouble() < 0.20) { BaseWeapon weapon = Loot.RandomWeapon(true); switch (Utility.Random(33)) { case 0: weapon = new BattleAxe(); break; case 1: weapon = new ExecutionersAxe(); break; case 2: weapon = new LargeBattleAxe(); break; case 3: weapon = new WarAxe(); break; case 4: weapon = new Bow(); break; case 5: weapon = new Crossbow(); break; case 6: weapon = new HeavyCrossbow(); break; case 7: weapon = new WarHammer(); break; case 8: weapon = new WarMace(); break; case 9: weapon = new Bardiche(); break; case 10: weapon = new Halberd(); break; case 11: weapon = new Spear(); break; case 12: weapon = new QuarterStaff(); break; case 13: weapon = new Katana(); break; case 14: weapon = new Longsword(); break; case 15: weapon = new VikingSword(); break; case 16: weapon = new CompositeBow(); break; case 17: weapon = new CrescentBlade(); break; case 18: weapon = new DoubleBladedStaff(); break; case 19: weapon = new Lance(); break; case 20: weapon = new PaladinSword(); break; case 21: weapon = new Scythe(); break; case 22: weapon = new Daisho(); break; case 23: weapon = new Lajatang(); break; case 24: weapon = new NoDachi(); break; case 25: weapon = new Tetsubo(); break; case 26: weapon = new Yumi(); break; case 27: weapon = new ElvenCompositeLongbow(); break; case 28: weapon = new OrnateAxe(); break; case 29: weapon = new RadiantScimitar(); break; case 30: weapon = new WarCleaver(); break; case 31: weapon = new WildStaff(); break; default: weapon = new DiamondMace(); break; } BaseRunicTool.ApplyAttributesTo(weapon, 5, 35, 50); weapon.Hue = 1461; PackItem(weapon); } if (Utility.RandomDouble() < 0.20) { BaseArmor armor = Loot.RandomArmor(true); switch (Utility.Random(5)) { case 0: armor = new CrusaderGauntlets(); break; case 1: armor = new CrusaderGorget(); break; case 2: armor = new CrusaderLeggings(); break; case 3: armor = new CrusaderSleeves(); break; default: armor = new CrusaderBreastplate(); break; } BaseRunicTool.ApplyAttributesTo(armor, 5, 35, 50); armor.Hue = 1461; PackItem(armor); } if (Utility.RandomDouble() < 0.20) { BaseClothing clothing = Loot.RandomClothing(true); BaseRunicTool.ApplyAttributesTo(clothing, 5, 35, 50); clothing.Hue = 1461; PackItem(clothing); } if (Utility.RandomDouble() < 0.10) { BaseShield shield = new MetalKiteShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield, 5, 35, 50); } shield.Hue = 1461; PackItem(shield); } if (Utility.RandomDouble() < 0.10) { BaseJewel bracelet = new GoldBracelet(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(bracelet, 5, 35, 50); } bracelet.Hue = 1461; PackItem(bracelet); } if (Utility.RandomDouble() < 0.10) { BaseJewel earrings = new GoldEarrings(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(earrings, 5, 35, 50); } earrings.Hue = 1461; PackItem(earrings); } if (Utility.RandomDouble() < 0.10) { BaseJewel necklace = new GoldNecklace(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(necklace, 5, 35, 50); } necklace.Hue = 1461; PackItem(necklace); } if (Utility.RandomDouble() < 0.10) { BaseJewel ring = new GoldRing(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(ring, 5, 35, 50); } ring.Hue = 1461; PackItem(ring); } }
public Raider() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Title = "the raider"; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair(this); SetStr(150, 200); SetDex(125, 150); SetInt(95, 110); SetHits(400, 650); SetDamage(21, 28); if (Female = Utility.RandomBool()) { Body = 0x191; Name = NameList.RandomName("female"); EquipItem(new Skirt(Utility.RandomNeutralHue())); } else { Body = 0x190; Name = NameList.RandomName("male"); EquipItem(new ShortPants(Utility.RandomNeutralHue())); } 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 = 7500; Karma = -7500; SetWearable(new TricorneHat()); SetWearable(new LeatherArms()); SetWearable(new FancyShirt()); SetWearable(new Cutlass()); SetWearable(new Boots(Utility.RandomNeutralHue())); SetWearable(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; } SetWearable(bow); ControlSlots = 0; }
public MerchantCrew() : base(AIType.AI_Paladin, FightMode.Aggressor, 10, 1, .2, .4) { Title = "the merchant"; Hue = Race.RandomSkinHue(); if (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 Boots(Utility.RandomNeutralHue())); AddItem(new GoldEarrings()); Fame = 8000; Karma = 8000; }
public AmazonHuntress() : base(AIType.AI_Archer, FightMode.Closest, 5, 1, 0.45, 0.45) { Title = "an Amazon Huntress"; SetSkill(SkillName.Parry, 40.0, 60.0); SetSkill(SkillName.Archery, 40.0, 60.0); SetSkill(SkillName.Tactics, 50.0, 70.0); SetSkill(SkillName.MagicResist, 100.0); AddItem(MakeAmazonArmor(new FemaleLeatherChest())); AddItem(MakeAmazonArmor(new LeatherGloves())); //AddItem( Rehued( new LeatherShorts(), 1437 ) ); AddItem(MakeAmazonArmor(new Boots())); if (Utility.Random(350) == 0) { AddItem(new JadeNecklace()); } if (0.10 > Utility.RandomDouble()) { CompositeBow weapon = new CompositeBow(); double random = Utility.RandomDouble(); if (0.05 > random) { weapon.DamageLevel = WeaponDamageLevel.Vanq; } else if (0.10 > random) { weapon.DamageLevel = WeaponDamageLevel.Force; } AddItem(MakeAmazonArmor(weapon)); } else { AddItem(new Crossbow()); } SetResistance(ResistanceType.Physical, 25, 40); SetResistance(ResistanceType.Fire, 25, 30); SetResistance(ResistanceType.Cold, 25, 30); SetResistance(ResistanceType.Poison, 100, 100); SetResistance(ResistanceType.Energy, 25, 40); Fame = 100; Karma = -3000; SetStr(50, 65); SetDex(50, 55); SetInt(10, 13); SetHits(180, 200); SetDamage(6, 10); SetDamageType(ResistanceType.Physical, 80); SetDamageType(ResistanceType.Fire, 20); VirtualArmor = 30; }
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 PirateCrew() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, .2, .4) { Name = "Orcish Crew"; Body = 0.33 > Utility.RandomDouble() ? 0x8C : Utility.RandomList(0xB5, 0xB6); SetHits(2000); if (Body == 0x8C) // Mage { SetStr(140, 160); SetDex(130, 150); SetInt(170, 190); SetDamage(4, 14); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 30, 40); SetResistance(ResistanceType.Fire, 30, 40); SetResistance(ResistanceType.Cold, 20, 30); SetResistance(ResistanceType.Poison, 30, 40); SetResistance(ResistanceType.Energy, 30, 40); ChangeAIType(AIType.AI_Mage); SetSkill(SkillName.Wrestling, 45.0, 55.0); SetSkill(SkillName.Tactics, 50.0, 60.0); SetSkill(SkillName.MagicResist, 65.0, 75.0); SetSkill(SkillName.Magery, 60.0, 70.0); SetSkill(SkillName.EvalInt, 60.0, 75.0); SetSkill(SkillName.Meditation, 70.0, 90.0); SetSkill(SkillName.Focus, 80.0, 100.0); } else if (Body == 0xB6) // Bomber { SetStr(150, 200); SetDex(90, 110); SetInt(70, 100); SetDamage(1, 8); SetDamageType(ResistanceType.Physical, 75); SetDamageType(ResistanceType.Fire, 25); SetResistance(ResistanceType.Physical, 20, 30); SetResistance(ResistanceType.Fire, 30, 40); SetResistance(ResistanceType.Cold, 15, 25); SetResistance(ResistanceType.Poison, 15, 25); SetResistance(ResistanceType.Energy, 20, 30); SetSkill(SkillName.Wrestling, 60.0, 90.0); SetSkill(SkillName.Tactics, 70.0, 85.0); SetSkill(SkillName.MagicResist, 70.0, 85.0); } else // Archer { SetStr(100, 130); SetDex(100, 130); SetInt(30, 70); SetDamage(5, 7); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 20, 35); SetResistance(ResistanceType.Fire, 30, 40); SetResistance(ResistanceType.Cold, 15, 25); SetResistance(ResistanceType.Poison, 15, 25); SetResistance(ResistanceType.Energy, 20, 30); ChangeAIType(AIType.AI_Archer); SetSkill(SkillName.Tactics, 55.0, 70.0); SetSkill(SkillName.MagicResist, 50.0, 70.0); SetSkill(SkillName.Anatomy, 60.0, 85.0); SetSkill(SkillName.Healing, 60.0, 80.0); SetSkill(SkillName.Archery, 100.0, 120.0); Item bow; switch (Utility.Random(4)) { default: case 0: bow = new CompositeBow(); break; case 1: bow = new Crossbow(); break; case 2: bow = new Bow(); break; case 3: bow = new HeavyCrossbow(); break; } AddItem(bow); } SetSkill(SkillName.DetectHidden, 40.0, 45.0); Fame = 8000; Karma = -8000; }