diff options
Diffstat (limited to 'src/server/game/Handlers/GroupHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/GroupHandler.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp index e28dfac518..0920474e6d 100644 --- a/src/server/game/Handlers/GroupHandler.cpp +++ b/src/server/game/Handlers/GroupHandler.cpp @@ -14,6 +14,7 @@ #include "Opcodes.h" #include "Pet.h" #include "Player.h" +#include "ScriptMgr.h" #include "SocialMgr.h" #include "SpellAuras.h" #include "Util.h" @@ -74,6 +75,9 @@ void WorldSession::HandleGroupInviteOpcode(WorldPacket& recvData) return; } + if (!sScriptMgr->CanGroupInvite(GetPlayer(), membername)) + return; + if (GetPlayer()->IsSpectator() || player->IsSpectator()) { SendPartyResult(PARTY_OP_INVITE, membername, ERR_INVITE_RESTRICTED); @@ -224,6 +228,9 @@ void WorldSession::HandleGroupAcceptOpcode(WorldPacket& recvData) return; } + if (!sScriptMgr->CanGroupAccept(GetPlayer(), group)) + return; + if (group->GetLeaderGUID() == GetPlayer()->GetGUID()) { sLog->outError("HandleGroupAcceptOpcode: player %s(%d) tried to accept an invite to his own group", GetPlayer()->GetName().c_str(), GetPlayer()->GetGUIDLow()); |