public void DungeonReset() // register and update spawners method { IPooledEnumerable eable = m_Stone.GetItemsInRange(m_Stone.Size); ArrayList trash = new ArrayList(); //Here we set all spawners to global values(if bool) if (this != null && m_Stone != null && m_UseGlobalRespawn) // error check & global bool { // Find all spawners within the dungeon, and set their values. foreach (Item s in eable) { if (s is Spawner) { Spawner sp = (Spawner)s; sp.MaxDelay = sp.MinDelay = m_RespawnDelay; sp.Respawn(); } /*else if (s is XmlSpawner) //// comment out if XMLSpawner is not installed * { * XmlSpawner sp = (XmlSpawner)s; * sp.MaxDelay = sp.MinDelay = m_RespawnDelay; * sp.Respawn(); * }*//* * else if (s is PremiumSpawner) //// comment out if PremiumSpawner is not installed * { * PremiumSpawner sp = (PremiumSpawner)s; * sp.MaxDelay = sp.MinDelay = m_RespawnDelay; * sp.Respawn(); * }*/ else if (s.Movable || s is Corpse) { trash.Add(s); } else if (s is DungeonDoor) { DungeonDoor dd = (DungeonDoor)s; dd.Locked = true; } } } // delete trash and corpses for (int i = 0; i < trash.Count; i++) { ((Item)trash[i]).Delete(); } }
public void DungeonReset() { IPooledEnumerable eable = m_Stone.GetItemsInRange(m_Stone.Size); ArrayList trash = new ArrayList(); //Here we set all spawners to global values(if bool) if (this != null && m_Stone != null) // error check & global bool { // Find all spawners within the dungeon, and set their values. foreach (Item s in eable) { if (m_UseGlobalRespawn) // control spawners { if (s is Spawner) { Spawner sp = (Spawner)s; sp.MaxDelay = sp.MinDelay = m_RespawnDelay; sp.Respawn(); } else if (s is XmlSpawner) //// comment out if XMLSpawner is not installed { XmlSpawner sp = (XmlSpawner)s; sp.MaxDelay = sp.MinDelay = m_RespawnDelay; sp.Respawn(); } else if (s is PremiumSpawner) //// comment out if PremiumSpawner is not installed { PremiumSpawner sp = (PremiumSpawner)s; sp.MaxDelay = sp.MinDelay = m_RespawnDelay; sp.Respawn(); } } // add trash to the list if (s.Movable || s is Corpse) { trash.Add(s); } // Lock Dungeon Doors. else if (s is DungeonDoor) { DungeonDoor dd = (DungeonDoor)s; dd.Locked = true; } } } // delete trash and corpses for (int i = 0; i < trash.Count; i++) { ((Item)trash[i]).Delete(); } // Reset AFK list and restart the timers. if (m_PlayerMovements != null) { m_PlayerMovements.Clear(); } if (m_AFKTimer != null) { if (m_AFKTimer.Running) { m_AFKTimer.Stop(); } m_AFKTimer.Start(); } }