Esempio n. 1
0
            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.");
                }
            }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
        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();
            }
        }
Esempio n. 4
0
 public InternalTimer(DungeonControl dc) : base(dc.TimeLimit)
 {
     m_Control = dc;
     Priority  = TimerPriority.TwoFiftyMS;
 }
Esempio n. 5
0
 public DungeonControlMenu(DungeonControl dc) : base("Select an option", m_Options)
 {
     m_DungeonControl = dc;
 }