diff options
author | jackpoz <giacomopoz@gmail.com> | 2019-05-01 18:37:39 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-02 23:45:29 +0100 |
commit | 97be87b7d55dbbc794e83bf6a70eff4df397dd91 (patch) | |
tree | 24d0de38aae93b5f75c76fa79e33b539cbe36bda /src/server/game/DungeonFinding/LFGMgr.cpp | |
parent | c22431936e5bd65474aca4c1fd71e315a20c34cb (diff) |
Core/LFG: Remove dungeon cooldown when completing random dungeons
(cherry picked from commit 24fbbee4b9af7b5226772378dd83b78c103d969d)
Diffstat (limited to 'src/server/game/DungeonFinding/LFGMgr.cpp')
-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 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; |