public override bool OnMoveOver(Mobile from) { if (from.AccessLevel > AccessLevel.Player) { return(true); } Container pack = from.Backpack; if (pack != null) { Item[] items = pack.FindItemsByType(typeof(ExperimentalGem)); if (items != null) { foreach (Item item in items) { ExperimentalGem gem = (ExperimentalGem)item; if (gem.Active && (gem.CurrentRoom > m_Room || m_Room == Room.RoomZero)) { return(true); } } } } //TODO: Message? return(false); }
public override void Use(Mobile from) { if (from.AccessLevel > AccessLevel.Player) { from.SendMessage("You open the door with your godly powers."); base.Use(from); return; } Container pack = from.Backpack; bool hasGem = false; if (pack != null) { Item[] items = pack.FindItemsByType(typeof(ExperimentalGem)); if (items != null && items.Length > 0) { hasGem = true; foreach (Item item in items) { ExperimentalGem gem = (ExperimentalGem)item; if (gem.Active && (gem.CurrentRoom > m_Room || m_Room == Room.RoomZero)) { base.Use(from); return; } } } else { from.SendLocalizedMessage(1113410); // You must have an active Experimental Gem to enter that room. } } if (hasGem) { from.SendLocalizedMessage(1113411); // You have not yet earned access to that room! } }