///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 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 override void InitOutfit() { Name = "Susan Emiyoko"; Body = 606; Female = true; Race = Race.Elf; Hue = 33813; HairItemID = 12225; HairHue = 1109; SetStr(267); SetDex(229); SetInt(168); SetSkill(SkillName.Archery, 80.0, 100.0); SetSkill(SkillName.Anatomy, 59.5, 68.7); SetSkill(SkillName.Fletching, 80.0, 100.0); SetSkill(SkillName.Tactics, 60.0, 83.0); SetSkill(SkillName.Wrestling, 61.0, 93.0); PackGold(14, 46); Yumi weapon = new Yumi(); weapon.Movable = true; weapon.Quality = WeaponQuality.Exceptional; AddItem(weapon); RoyalCirclet helm = new RoyalCirclet(); helm.Movable = true; AddItem(helm); LeatherNinjaMitts gloves = new LeatherNinjaMitts(); gloves.Movable = true; gloves.Hue = 2219; AddItem(gloves); ConfessorDress dress = new ConfessorDress(); dress.Movable = true; dress.Hue = 783; AddItem(dress); Cloak cloak = new Cloak(); cloak.Movable = true; cloak.Hue = 463; AddItem(cloak); AddItem(new HeavyBoots(568)); PackItem(new Arrow(Utility.RandomMinMax(20, 30))); }
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 override void BuildEquipment() { Item weapon = null; switch (TribeType) { default: case EodonTribe.Jukari: SetWearable(new LeatherLegs(), 1175); SetWearable(new Shirt(), 1175); SetWearable(new Torch()); weapon = new Bokuto(); weapon.Hue = 1175; break; case EodonTribe.Kurak: SetWearable(new LeatherDo(), 1175); SetWearable(new FancyShirt(), 1175); SetWearable(new TattsukeHakama()); SetWearable(new Sandals(), 1175); weapon = new Tekagi(); weapon.Hue = 1175; break; case EodonTribe.Barrab: SetWearable(new PlateDo(), 1828); SetWearable(new PlateSuneate(), 1828); SetWearable(new DecorativePlateKabuto(), 1834); SetWearable(new Sandals(), 1828); weapon = new Spear(); weapon.Hue = 1828; break; case EodonTribe.Barako: SetWearable(new BoneChest(), 2407); SetWearable(new LeatherNinjaPants(), 2407); SetWearable(new StuddedHiroSode(), 2407); SetWearable(new BoneGloves(), 2407); SetWearable(new StuddedGorget(), 2407); SetWearable(new Boots(), 2407); weapon = new Scepter(); weapon.Hue = 2407; break; case EodonTribe.Urali: SetWearable(new ChainLegs(), 2576); SetWearable(new DragonChest(), 2576); SetWearable(new DragonArms(), 2576); SetWearable(new MetalShield(), 2576); SetWearable(new Circlet(), 2576); SetWearable(new JinBaori(), 2592); SetWearable(new Waraji(), 2576); break; case EodonTribe.Sakkhra: SetWearable(new StuddedChest(), 2118); SetWearable(new LeatherArms(), 2106); SetWearable(new LeatherGloves(), 2106); SetWearable(new SkullCap(), 2118); SetWearable(new RingmailLegs(), 2106); SetWearable(new ThighBoots(), 2106); weapon = new Yumi(); weapon.Hue = 2118; break; } if (weapon != null) { weapon.LootType = LootType.Blessed; SetWearable(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; } } }