diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/DungeonFinding/LFGMgr.cpp | 6 | ||||
-rwxr-xr-x | src/server/game/DungeonFinding/LFGMgr.h | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index 357b7f1ecee..5e494c7d986 100755 --- a/src/server/game/DungeonFinding/LFGMgr.cpp +++ b/src/server/game/DungeonFinding/LFGMgr.cpp @@ -318,11 +318,9 @@ void LFGMgr::LoadLFGDungeons(bool reload /* = false */) for (LFGDungeonMap::iterator itr = m_LfgDungeonMap.begin(); itr != m_LfgDungeonMap.end(); ++itr) { LFGDungeonData& dungeon = itr->second; - if (dungeon.type == LFG_TYPE_RANDOM) - continue; // No teleport coords in database, load from areatriggers - if (dungeon.x == 0.0f && dungeon.y == 0.0f && dungeon.z == 0.0f) + if (dungeon.type != LFG_TYPE_RANDOM && dungeon.x == 0.0f && dungeon.y == 0.0f && dungeon.z == 0.0f) { AreaTrigger const* at = sObjectMgr->GetMapEntranceTrigger(dungeon.map); if (!at) @@ -401,7 +399,9 @@ void LFGMgr::Update(uint32 diff) uint64 pguid = itVotes->first; if (pguid != boot.victim) SendLfgBootProposalUpdate(pguid, boot); + SetState(pguid, LFG_STATE_DUNGEON); } + SetState(itBoot->first, LFG_STATE_DUNGEON); m_Boots.erase(itBoot); } } diff --git a/src/server/game/DungeonFinding/LFGMgr.h b/src/server/game/DungeonFinding/LFGMgr.h index 286e82386a7..920949a4564 100755 --- a/src/server/game/DungeonFinding/LFGMgr.h +++ b/src/server/game/DungeonFinding/LFGMgr.h @@ -358,14 +358,12 @@ class LFGMgr void LoadLFGDungeons(bool reload = false); LFGDungeonData const* GetLFGDungeon(uint32 id); LFGDungeonMap& GetLFGDungeonMap(); - - void ClearState(uint64 guid, char const *debugMsg); private: uint8 GetTeam(uint64 guid); uint64 GetGroup(uint64 guid); void RestoreState(uint64 guid, char const *debugMsg); - + void ClearState(uint64 guid, char const *debugMsg); void SetDungeon(uint64 guid, uint32 dungeon); void SetLockedDungeons(uint64 guid, LfgLockMap const& lock); void DecreaseKicksLeft(uint64 guid); |