aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorw1sht0l1v3 <w1sht0l1v3@gmail.com>2015-04-05 22:03:40 +0300
committerw1sht0l1v3 <w1sht0l1v3@gmail.com>2015-04-05 22:03:40 +0300
commite743f4a479ce7ddd3f13d51ca1c19a591c803fc0 (patch)
tree0610864cafd102e6620c6a05185efabb47f3f7c5 /src
parentc7bc73c1677dfcd031f615b7c1d56be2ca736b78 (diff)
Core/LFGMgr: Fix the case where the last player left in a lfg group would be stuck in party when porting out of the instance.
If you find a better way or think this is wrong feel free to remove it or improve it.
Diffstat (limited to 'src')
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index a2058fffeed..7112aaeaaee 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -1266,6 +1266,14 @@ void LFGMgr::TeleportPlayer(Player* player, bool out, bool fromOpcode /*= false*
if (player->GetMapId() == uint32(dungeon->map))
player->TeleportToBGEntryPoint();
+ // in the case were we are the last in lfggroup then we must disband when porting out of the instance
+ if (group->GetMembersCount() == 1)
+ {
+ group->Disband();
+ TC_LOG_DEBUG("lfg.teleport", "Player %s is last in lfggroup so we disband the group.",
+ player->GetName().c_str());
+ }
+
return;
}