diff options
author | w1sht0l1v3 <w1sht0l1v3@gmail.com> | 2015-04-05 22:03:40 +0300 |
---|---|---|
committer | w1sht0l1v3 <w1sht0l1v3@gmail.com> | 2015-04-05 22:03:40 +0300 |
commit | e743f4a479ce7ddd3f13d51ca1c19a591c803fc0 (patch) | |
tree | 0610864cafd102e6620c6a05185efabb47f3f7c5 /src | |
parent | c7bc73c1677dfcd031f615b7c1d56be2ca736b78 (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.cpp | 8 |
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; } |