diff options
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
-rw-r--r-- | src/server/game/Groups/Group.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index f05e465deee..74a26f6a7b8 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -374,10 +374,13 @@ uint32 Group::RemoveMember(const uint64 &guid, const uint8 &method) if (method == 1) { data.Initialize(SMSG_GROUP_UNINVITE, 0); - player->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_LEADER); player->GetSession()->SendPacket(&data); } + player->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_LEADER); + if (isLFGGroup() && player->GetMap()->IsDungeon()) + player->TeleportToBGEntryPoint(); + //we already removed player from group and in player->GetGroup() is his original group! if (Group* group = player->GetGroup()) { @@ -448,6 +451,8 @@ void Group::Disband(bool hideDestroy) else player->SetGroup(NULL); + if (isLFGGroup() && player->GetMap()->IsDungeon()) + player->TeleportToBGEntryPoint(); player->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_GROUP_DISBAND); player->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_LEADER); } |