diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/DungeonFinding/LFGMgr.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index 08a4f88c667..b6863a6e95e 100644 --- a/src/server/game/DungeonFinding/LFGMgr.cpp +++ b/src/server/game/DungeonFinding/LFGMgr.cpp @@ -1429,12 +1429,20 @@ void LFGMgr::FinishDungeon(ObjectGuid gguid, const uint32 dungeonId, Map const* } Player* player = ObjectAccessor::FindPlayer(guid); - if (!player || player->FindMap() != currMap) + if (!player) { TC_LOG_DEBUG("lfg.dungeon.finish", "Group: %s, Player: %s not found in world", gguid.ToString().c_str(), guid.ToString().c_str()); continue; } + if (player->FindMap() != currMap) + { + TC_LOG_DEBUG("lfg.dungeon.finish", "Group: %s, Player: %s is in a different map", gguid.ToString().c_str(), guid.ToString().c_str()); + continue; + } + + player->RemoveAurasDueToSpell(LFG_SPELL_DUNGEON_COOLDOWN); + LFGDungeonData const* dungeonDone = GetLFGDungeon(dungeonId); uint32 mapId = dungeonDone ? uint32(dungeonDone->map) : 0; |