public MyCircusTentMenu(Mobile from, MyCircusTentEastAddonDeed tent) : base(5109, 1) { m_From = from; i_Tent = tent; }
protected override void OnTarget(Mobile from, object targeted) { object obj = targeted; if (obj is HueStone) { Item iStone = targeted as Item; from.RevealingAction(); from.PlaySound(0x1FA); if (iStone.Hue == 0) { iStone.Hue = 0x483; iStone.Name = "Illusionist Stone ( dark green )"; } else if (iStone.Hue == 0x483) { iStone.Hue = 0x484; iStone.Name = "Illusionist Stone ( dark blue )"; } else if (iStone.Hue == 0x484) { iStone.Hue = 0x485; iStone.Name = "Illusionist Stone ( dark red )"; } else if (iStone.Hue == 0x485) { iStone.Hue = 0x486; iStone.Name = "Illusionist Stone ( dark purple )"; } else if (iStone.Hue == 0x486) { iStone.Hue = 0x487; iStone.Name = "Illusionist Stone ( dark yellow )"; } else if (iStone.Hue == 0x487) { iStone.Hue = 0x488; iStone.Name = "Illusionist Stone ( dark bluegreen )"; } else if (iStone.Hue == 0x488) { iStone.Hue = 0x48A; iStone.Name = "Illusionist Stone ( blue green )"; } else if (iStone.Hue == 0x48A) { iStone.Hue = 0x48B; iStone.Name = "Illusionist Stone ( purple green )"; } else if (iStone.Hue == 0x48B) { iStone.Hue = 0x48C; iStone.Name = "Illusionist Stone ( green blue )"; } else if (iStone.Hue == 0x48C) { iStone.Hue = 0x493; iStone.Name = "Illusionist Stone ( green purple )"; } else if (iStone.Hue == 0x493) { iStone.Hue = 0x494; iStone.Name = "Illusionist Stone ( blue red )"; } else if (iStone.Hue == 0x494) { iStone.Hue = 0x495; iStone.Name = "Illusionist Stone ( bright blue )"; } else if (iStone.Hue == 0x495) { iStone.Hue = 0x497; iStone.Name = "Illusionist Stone ( darkness )"; } else if (iStone.Hue == 0x497) { iStone.Hue = 0x498; iStone.Name = "Illusionist Stone ( blue darkness )"; } else if (iStone.Hue == 0x498) { iStone.Hue = 0; iStone.Name = "Illusionist Stone ( colorless )"; } else if (iStone.Hue == 0xB96) { iStone.Hue = 0x47E; iStone.Name = "Illusionist Stone ( winter snow )"; } else if (iStone.Hue == 0x47E) { iStone.Hue = 0x47F; iStone.Name = "Illusionist Stone ( winter ice )"; } else if (iStone.Hue == 0x47F) { iStone.Hue = 0x480; iStone.Name = "Illusionist Stone ( solid ice )"; } else if (iStone.Hue == 0x480) { iStone.Hue = 0x481; iStone.Name = "Illusionist Stone ( snow white )"; } else if (iStone.Hue == 0x481) { iStone.Hue = 0x482; iStone.Name = "Illusionist Stone ( dark snow )"; } else if (iStone.Hue == 0x482) { iStone.Hue = 0x4AB; iStone.Name = "Illusionist Stone ( frost )"; } else if (iStone.Hue == 0x4AB) { iStone.Hue = 0xB83; iStone.Name = "Illusionist Stone ( jade )"; } else if (iStone.Hue == 0xB83) { iStone.Hue = 0xB93; iStone.Name = "Illusionist Stone ( darker jade )"; } else if (iStone.Hue == 0xB93) { iStone.Hue = 0xB94; iStone.Name = "Illusionist Stone ( dark jade )"; } else if (iStone.Hue == 0xB94) { iStone.Hue = 0xB95; iStone.Name = "Illusionist Stone ( medium jade )"; } else if (iStone.Hue == 0xB95) { iStone.Hue = 0xB96; iStone.Name = "Illusionist Stone ( light jade )"; } else if (iStone.Hue == 0x492) { iStone.Hue = 0x48F; iStone.Name = "Illusionist Stone ( green light )"; } else if (iStone.Hue == 0x48F) { iStone.Hue = 0x490; iStone.Name = "Illusionist Stone ( purple light )"; } else if (iStone.Hue == 0x490) { iStone.Hue = 0x491; iStone.Name = "Illusionist Stone ( brown light )"; } else if (iStone.Hue == 0x491) { iStone.Hue = 0x48D; iStone.Name = "Illusionist Stone ( ice light )"; } else if (iStone.Hue == 0x48D) { iStone.Hue = 0x48E; iStone.Name = "Illusionist Stone ( fire light )"; } else if (iStone.Hue == 0x48E) { iStone.Hue = 0x499; iStone.Name = "Illusionist Stone ( gold )"; } else if (iStone.Hue == 0x499) { iStone.Hue = 0x4AA; iStone.Name = "Illusionist Stone ( rose red )"; } else if (iStone.Hue == 0x4AA) { iStone.Hue = 0x4AC; iStone.Name = "Illusionist Stone ( sun )"; } else if (iStone.Hue == 0x4AC) { iStone.Hue = 0x489; iStone.Name = "Illusionist Stone ( fire )"; } else if (iStone.Hue == 0x489) { iStone.Hue = 0x496; iStone.Name = "Illusionist Stone ( blaze )"; } else if (iStone.Hue == 0x496) { iStone.Hue = 0x492; iStone.Name = "Illusionist Stone ( slickness )"; } else if (iStone.Hue == 0x9C3) { iStone.Hue = 0x7E3; iStone.Name = "Illusionist Stone ( nightmare )"; } else if (iStone.Hue == 0x7E3) { iStone.Hue = 0x1; iStone.Name = "Illusionist Stone ( pitch black )"; } else if (iStone.Hue == 0x1) { iStone.Hue = 0x81C; iStone.Name = "Illusionist Stone ( moonlight )"; } else if (iStone.Hue == 0x81C) { iStone.Hue = 0x81B; iStone.Name = "Illusionist Stone ( dark nights )"; } else if (iStone.Hue == 0x81B) { iStone.Hue = 0xB97; iStone.Name = "Illusionist Stone ( necrotic flesh )"; } else if (iStone.Hue == 0xB97) { iStone.Hue = 0x6F3; iStone.Name = "Illusionist Stone ( bloody hell )"; } else if (iStone.Hue == 0x6F3) { iStone.Hue = 0xB85; iStone.Name = "Illusionist Stone ( bloodstone )"; } else if (iStone.Hue == 0xB85) { iStone.Hue = 0x5B5; iStone.Name = "Illusionist Stone ( dark blood )"; } else if (iStone.Hue == 0x5B5) { iStone.Hue = 0x9C2; iStone.Name = "Illusionist Stone ( ghostly )"; } else if (iStone.Hue == 0x9C2) { iStone.Hue = 0x9C3; iStone.Name = "Illusionist Stone ( ghostly bright )"; } else { iStone.Hue = 0; iStone.Name = "Illusionist Stone ( colorless )"; } m_Dye.NType = iStone.Name; from.SendMessage("The Illusionist Stone magically changed color."); } else if (obj is Item) { Item iDye = targeted as Item; if (!iDye.IsChildOf(from.Backpack)) { from.SendMessage("You can only use this stone on things in your pack."); } else if ((iDye is Gold) && (iDye.Amount > 499)) { m_Dye.NCharges = m_Dye.NCharges + 1; if (iDye.Amount == 500) { iDye.Delete(); } else { iDye.Amount = iDye.Amount - 500; } from.RevealingAction(); from.PlaySound(0x2E6); string sCount = "charges"; if (m_Dye.NCharges == 1) { sCount = "charge"; } from.PrivateOverheadMessage(MessageType.Regular, 0x44, false, "This stone now has " + m_Dye.NCharges.ToString() + " " + sCount + ".", from.NetState); } else if ((iDye is Gold) && (iDye.Amount < 500)) { from.PrivateOverheadMessage(MessageType.Regular, 0x44, false, "I do not have enough gold to charge this stone.", from.NetState); } else if ((iDye.IsChildOf(from.Backpack)) && (m_Dye.NCharges > 0)) { if (iDye is DDRelicRugAddonDeed) { DDRelicRugAddonDeed relic = (DDRelicRugAddonDeed)iDye; relic.RelicColor = m_Dye.Hue; } else if ((iDye is MyTentEastAddonDeed) || (iDye is MyTentSouthAddonDeed)) { if (iDye is MyTentEastAddonDeed) { MyTentEastAddonDeed tent = (MyTentEastAddonDeed)iDye; tent.TentColor = m_Dye.Hue; } else { MyTentSouthAddonDeed tent = (MyTentSouthAddonDeed)iDye; tent.TentColor = m_Dye.Hue; } } else if ((iDye is MyCircusTentEastAddonDeed) || (iDye is MyCircusTentSouthAddonDeed)) { if (iDye is MyCircusTentEastAddonDeed) { MyCircusTentEastAddonDeed tent = (MyCircusTentEastAddonDeed)iDye; tent.TentColor1 = m_Dye.Hue; } else { MyCircusTentSouthAddonDeed tent = (MyCircusTentSouthAddonDeed)iDye; tent.TentColor1 = m_Dye.Hue; } } iDye.Hue = m_Dye.Hue; from.RevealingAction(); from.PlaySound(0x1FA); m_Dye.NCharges = m_Dye.NCharges - 1; } else if (m_Dye.NCharges < 1) { from.PrivateOverheadMessage(MessageType.Regular, 0x44, false, "This illusionist stone has no charges.", from.NetState); } else { from.SendMessage("You cannot use the stone on that."); } } else { from.SendMessage("You cannot use the stone on that."); } }
protected override void OnTarget(Mobile from, object targeted) { if (targeted is Item) { Item item = (Item)targeted; if (item is IDyable && m_Tub.AllowDyables) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (item.Parent is Mobile) { from.SendLocalizedMessage(500861); // Can't Dye clothing that is being worn. } else if (((IDyable)item).Dye(from, m_Tub)) { from.PlaySound(0x23E); } } else if (FurnitureAttribute.Check(item)) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else { bool okay = (item.IsChildOf(from.Backpack)); if (!okay) { if (item.Parent == null) { BaseHouse house = BaseHouse.FindHouseAt(item); if (house == null || (!house.IsLockedDown(item) && !house.IsSecure(item))) { from.SendLocalizedMessage(501022); // Furniture must be locked down to paint it. } else if (!house.IsCoOwner(from)) { from.SendLocalizedMessage(501023); // You must be the owner to use this item. } else { okay = true; } } else { from.SendLocalizedMessage(1048135); // The furniture must be in your backpack to be painted. } } if (okay) { item.Hue = m_Tub.DyedHue; from.PlaySound(0x23E); } } } else if ((item is Runebook || item is RecallRune) && m_Tub.AllowRunebooks) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (!item.Movable) { from.SendLocalizedMessage(1049776); // You cannot dye runes or runebooks that are locked down. } else { item.Hue = m_Tub.DyedHue; from.PlaySound(0x23E); } } else if (item is ILevelable || item is IGiftable || item is RibbonTree || item is RibbonTreeSmall || item is DragonOrbStatue || item is BaseBoatDeed || item is HouseDeed || item is HousePlacementTool || item is BaseDockedBoat || item is MagicCloak || item is MagicHat || item is Pillows || item is ResearchBag || item is ColoredWallTorch || item is MagicPigment || item is BaseQuiver || item is MagicBelt || item is MagicSash || item is MagicBoots || item is MagicRobe || item is HairDyeBottle || item is HairDyePotion || item is ThrowingGloves || item is BagOfTricks || item is LevelPugilistGloves || item is LevelThrowingGloves || item is GiftPugilistGloves || item is GiftThrowingGloves || item is PugilistGlove || item is PugilistGloves) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (!item.Movable) { from.SendLocalizedMessage(1042083); // You cannot dye that. } else if (item.Parent is Mobile) { from.SendLocalizedMessage(500861); // Can't Dye clothing that is being worn. } else { item.Hue = m_Tub.DyedHue; from.PlaySound(0x23E); } if ((item is BaseBoatDeed || item is BaseDockedBoat) && item.Hue < 1) { item.Hue = 0x5BE; } } else if (item is DDRelicRugAddonDeed) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (!item.Movable) { from.SendLocalizedMessage(1042083); // You cannot dye that. } else { item.Hue = m_Tub.DyedHue; DDRelicRugAddonDeed relic = (DDRelicRugAddonDeed)item; relic.RelicColor = m_Tub.DyedHue; from.PlaySound(0x23E); } } else if (item is HenchmanFamiliarItem || item is WaxPainting || item is WaxSculptors || item is WaxSculptorsD || item is WaxSculptorsE || item is ColorCandleShort || item is ColorCandleLong) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (!item.Movable) { from.SendLocalizedMessage(1042083); // You cannot dye that. } else { item.Hue = m_Tub.DyedHue; from.PlaySound(0x23E); } } else if ((item is MyTentEastAddonDeed) || (item is MyTentSouthAddonDeed)) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (!item.Movable) { from.SendLocalizedMessage(1042083); // You cannot dye that. } else { item.Hue = m_Tub.DyedHue; if (item is MyTentEastAddonDeed) { MyTentEastAddonDeed tent = (MyTentEastAddonDeed)item; tent.TentColor = m_Tub.DyedHue; } else { MyTentSouthAddonDeed tent = (MyTentSouthAddonDeed)item; tent.TentColor = m_Tub.DyedHue; } from.PlaySound(0x23E); } } else if ((item is MyCircusTentEastAddonDeed) || (item is MyCircusTentSouthAddonDeed)) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (!item.Movable) { from.SendLocalizedMessage(1042083); // You cannot dye that. } else { item.Hue = m_Tub.DyedHue; if (item is MyCircusTentEastAddonDeed) { MyCircusTentEastAddonDeed tent = (MyCircusTentEastAddonDeed)item; tent.TentColor1 = m_Tub.DyedHue; } else { MyCircusTentSouthAddonDeed tent = (MyCircusTentSouthAddonDeed)item; tent.TentColor1 = m_Tub.DyedHue; } from.PlaySound(0x23E); } } else if (item is MonsterStatuette && m_Tub.AllowStatuettes) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (!item.Movable) { from.SendLocalizedMessage(1049779); // You cannot dye statuettes that are locked down. } else { item.Hue = m_Tub.DyedHue; from.PlaySound(0x23E); } } else if (item is BaseArmor && (Server.Misc.MaterialInfo.IsAnyKindOfClothItem(item) || item is ElvenBoots) && m_Tub.AllowLeather) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (!item.Movable) { from.SendLocalizedMessage(1042419); // You may not dye leather items which are locked down. } else if (item.Parent is Mobile) { from.SendLocalizedMessage(500861); // Can't Dye clothing that is being worn. } else { item.Hue = m_Tub.DyedHue; from.PlaySound(0x23E); } } else if (item is BaseArmor && (Server.Misc.MaterialInfo.IsAnyKindOfMetalItem(item) || Server.Misc.MaterialInfo.IsAnyKindOfWoodItem(item)) && m_Tub.AllowArmor) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (!item.Movable) { from.SendLocalizedMessage(1042083); // You cannot dye that. } else if (item.Parent is Mobile) { from.SendMessage("Can't Dye armor that is equipped."); } else { item.Hue = m_Tub.DyedHue; from.PlaySound(0x23E); } } else if (item is BaseWeapon && m_Tub.AllowWeapons) { if (!from.InRange(m_Tub.GetWorldLocation(), 1) || !from.InRange(item.GetWorldLocation(), 1)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (!item.Movable) { from.SendLocalizedMessage(1042083); // You cannot dye that. } else if (item.Parent is Mobile) { from.SendMessage("Can't Dye weapons that are equipped."); } else { item.Hue = m_Tub.DyedHue; from.PlaySound(0x23E); } } else { from.SendLocalizedMessage(m_Tub.FailMessage); } } else { from.SendLocalizedMessage(m_Tub.FailMessage); } }