From 97be87b7d55dbbc794e83bf6a70eff4df397dd91 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Wed, 1 May 2019 18:37:39 +0200 Subject: Core/LFG: Remove dungeon cooldown when completing random dungeons (cherry picked from commit 24fbbee4b9af7b5226772378dd83b78c103d969d) --- src/server/game/DungeonFinding/LFGMgr.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index 9d18eadc1bc..16277601b74 100644 --- a/src/server/game/DungeonFinding/LFGMgr.cpp +++ b/src/server/game/DungeonFinding/LFGMgr.cpp @@ -1451,12 +1451,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; -- cgit v1.2.3