diff options
Diffstat (limited to 'src/game/GroupHandler.cpp')
-rw-r--r-- | src/game/GroupHandler.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/game/GroupHandler.cpp b/src/game/GroupHandler.cpp index cd58b30042c..f973bc24722 100644 --- a/src/game/GroupHandler.cpp +++ b/src/game/GroupHandler.cpp @@ -32,6 +32,7 @@ #include "Util.h" #include "SpellAuras.h" #include "Vehicle.h" +#include "LFG.h" class Aura; @@ -176,6 +177,8 @@ void WorldSession::HandleGroupInviteOpcode(WorldPacket & recv_data) data << uint32(0); // unk player->GetSession()->SendPacket(&data); + SendLfgUpdatePlayer(LFG_UPDATETYPE_REMOVED_FROM_QUEUE); + SendLfgUpdateParty(LFG_UPDATETYPE_REMOVED_FROM_QUEUE); SendPartyResult(PARTY_OP_INVITE, membername, ERR_PARTY_RESULT_OK); } @@ -218,6 +221,14 @@ void WorldSession::HandleGroupAcceptOpcode(WorldPacket & /*recv_data*/) if (!group->AddMember(GetPlayer()->GetGUID(), GetPlayer()->GetName())) return; + SendLfgUpdatePlayer(LFG_UPDATETYPE_REMOVED_FROM_QUEUE); + for (GroupReference *itr = group->GetFirstMember(); itr != NULL; itr = itr->next()) + if (Player *plrg = itr->getSource()) + { + plrg->GetSession()->SendLfgUpdatePlayer(LFG_UPDATETYPE_CLEAR_LOCK_LIST); + plrg->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_CLEAR_LOCK_LIST); + } + group->BroadcastGroupUpdate(); } |