[7299] Implemented circular loop detection for pools in pools

As a result, the last relation that makes the loop is automatically removed.
    An error message is displayed and core go on loading remaining records.

Author: Neo2003

--HG--
branch : trunk
This commit is contained in:
megamage
2009-02-19 18:46:58 -06:00
parent 83adfb5692
commit 72e8c09212
3 changed files with 48 additions and 1 deletions
+1
View File
@@ -91,6 +91,7 @@ class PoolHandler::PoolGroup
void SpawnObject(uint32 limit, bool cache=false);
bool Spawn1Object(uint32 guid);
bool ReSpawn1Object(uint32 guid);
void RemoveOneRelation(uint16 child_pool_id);
private:
typedef std::vector<PoolObject> PoolObjectList;
uint32 CacheValue; // Store the guid of the removed creature/gameobject during a pool update