aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2019-05-01 18:37:39 +0200
committerjackpoz <giacomopoz@gmail.com>2019-05-01 18:37:39 +0200
commit24fbbee4b9af7b5226772378dd83b78c103d969d (patch)
treeff7806429d15d31b333b109e11476e9423c5b8ec /src
parent69c15f5ae769612c89346c6a308655d0987caae7 (diff)
Core/LFG: Remove dungeon cooldown when completing random dungeons
Diffstat (limited to 'src')
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp10
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;