diff options
author | silinoron <none@none> | 2010-07-28 12:20:42 -0700 |
---|---|---|
committer | silinoron <none@none> | 2010-07-28 12:20:42 -0700 |
commit | a9b99157448c7607b7e2e2e1ef005f7e089c90b6 (patch) | |
tree | 8ffd2043ea4380bb4d3d153c2ea6ac4c3a89aa8f /src | |
parent | 783fe4574eb92e2864fed831a612080716ed6ea0 (diff) |
Properly send SMSG_GROUP_INVITE even when the invite fails because the user is already in a group.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Server/Protocol/Handlers/GroupHandler.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp index 4f43ad3c30b..af9cdec40fd 100644 --- a/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp @@ -120,6 +120,19 @@ void WorldSession::HandleGroupInviteOpcode(WorldPacket & recv_data) if (group2 || player->GetGroupInvite()) { SendPartyResult(PARTY_OP_INVITE, membername, ERR_ALREADY_IN_GROUP_S); + + if (group2) + { + // tell the player that they were invited but it failed as they were already in a group + WorldPacket data(SMSG_GROUP_INVITE, 10); // guess size + data << uint8(0); // invited/already in group flag + data << GetPlayer()->GetName(); // max len 48 + data << uint32(0); // unk + data << uint8(0); // count + data << uint32(0); // unk + player->GetSession()->SendPacket(&data); + } + return; } @@ -172,8 +185,6 @@ void WorldSession::HandleGroupInviteOpcode(WorldPacket & recv_data) data << GetPlayer()->GetName(); // max len 48 data << uint32(0); // unk data << uint8(0); // count - //for (int i = 0; i < count; ++i) - // data << uint32(0); data << uint32(0); // unk player->GetSession()->SendPacket(&data); |