protected override void OnTarget(Mobile from, object targeted) { if (targeted is DungeonControl) { DungeonControl dc = (DungeonControl)targeted; if (dc.Active) { from.SendMessage("This dungeon is already active. Try again later!"); } else if (dc.Serial != m_Key.KeyValue) { from.SendMessage("The key won't fit in the lock."); } else { from.SendMessage("You place the key in the lock... and it turns!"); dc.Start(); m_Key.Delete(); InternalTimer timer = new InternalTimer(dc); timer.Start(); } } else { from.SendMessage("It doesn't seem to work on that."); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); m_Control = (DungeonControl)World.FindItem((Serial)reader.ReadInt()); if (reader.ReadBool()) { m_SpawnerLink = (DungeonSpawner)World.FindItem((Serial)reader.ReadInt()); } if (reader.ReadBool()) { m_Chest = (MetalGoldenTreasureChest)World.FindItem((Serial)reader.ReadInt()); } if (m_Control == null) { Delete(); } else { InternalTimer timer = new InternalTimer(this); timer.Start(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); m_Control = (DungeonControl)World.FindItem((Serial)reader.ReadInt()); if (m_Control == null) { Delete(); } else { InternalTimer timer = new InternalTimer(this); timer.Start(); } }
public InternalTimer(DungeonControl dc) : base(dc.TimeLimit) { m_Control = dc; Priority = TimerPriority.TwoFiftyMS; }
public DungeonControlMenu(DungeonControl dc) : base("Select an option", m_Options) { m_DungeonControl = dc; }