///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 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 Meiko() { Name = "Meiko"; Title = "the Vampire Slayer"; Body = 0x190; CantWalk = true; Hue = 0x83F8; Item weapon = new RepeatingCrossbow(); weapon.Movable = false; weapon.Hue = 37; AddItem(weapon); Item arms = new PlateArms(); arms.Movable = false; arms.Hue = 1150; AddItem(arms); Item gloves = new PlateGloves(); gloves.Movable = false; gloves.Hue = 1150; AddItem(gloves); Item chest = new PlateChest(); chest.Movable = false; chest.Hue = 1150; AddItem(chest); Item legs = new PlateLegs(); legs.Movable = false; legs.Hue = 1150; AddItem(legs); Item gorget = new PlateGorget(); gorget.Movable = false; gorget.Hue = 1150; AddItem(gorget); Item VampireRobe = new VampireRobe(); VampireRobe.Movable = false; VampireRobe.Hue = 37; AddItem(VampireRobe); int hairHue = 1150; switch (Utility.Random(1)) { case 0: AddItem(new ShortHair(hairHue)); break; } int VandykeHue = 1150; switch (Utility.Random(1)) { case 0: AddItem(new Vandyke(VandykeHue)); break; } Blessed = true; }
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 RangerGuardOfSkaddria() : base(AIType.AI_Archer, FightMode.Closest, 15, 1, 0.1, 0.2) { Title = "Ranger Guard of Skaddria Naddheim"; SetStr(850, 900); SetDex(500, 700); SetInt(100, 200); SetHits(1500, 2000); SetDamage(19, 35); SetSkill(SkillName.Anatomy, 100.0, 100.0); SetSkill(SkillName.Archery, 100.0, 100.0); SetSkill(SkillName.Tactics, 100.0, 100.0); SetSkill(SkillName.MagicResist, 100.0, 100.0); Karma = 10000; m_Timer = new MoveTimer(this); ChangeLocation(); AddItem(new HighBoots(23)); AddItem(new PlumeCloak(313)); StuddedGorget gorget = new StuddedGorget(); gorget.Hue = 23; gorget.Movable = true; AddItem(gorget); StuddedArms arms = new StuddedArms(); arms.Hue = 23; arms.Movable = true; AddItem(arms); StuddedGloves gloves = new StuddedGloves(); gloves.Hue = 313; gloves.Movable = true; AddItem(gloves); if (Female = Utility.RandomBool()) { Body = 401; Name = NameList.RandomName("female"); FemaleStuddedChest chest = new FemaleStuddedChest(); chest.Hue = 313; chest.Movable = true; AddItem(chest); RepeatingCrossbow weapon = new RepeatingCrossbow(); BaseRunicTool.ApplyAttributesTo(weapon, 5, 25, 35); weapon.WeaponAttributes.HitLightning = 25; weapon.Hue = 23; weapon.Movable = true; weapon.Quality = WeaponQuality.Exceptional; AddItem(weapon); PackItem(new Bolt(Utility.RandomMinMax(50, 80))); } else { Body = 400; Name = NameList.RandomName("male"); StuddedChest chest = new StuddedChest(); chest.Hue = 313; chest.Movable = true; AddItem(chest); StuddedLegs legs = new StuddedLegs(); legs.Hue = 313; legs.Movable = true; AddItem(legs); HeavyCrossbow weapon = new HeavyCrossbow(); BaseRunicTool.ApplyAttributesTo(weapon, 5, 25, 35); weapon.WeaponAttributes.HitLightning = 25; weapon.Hue = 23; weapon.Movable = true; weapon.Quality = WeaponQuality.Exceptional; AddItem(weapon); PackItem(new Bolt(Utility.RandomMinMax(50, 80))); } Utility.AssignRandomHair(this); }
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; } } }