diff --git a/src/server/game/Handlers/PetitionsHandler.cpp b/src/server/game/Handlers/PetitionsHandler.cpp index 7ce587015..464a9e06c 100644 --- a/src/server/game/Handlers/PetitionsHandler.cpp +++ b/src/server/game/Handlers/PetitionsHandler.cpp @@ -482,6 +482,8 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket& recvData) break; } + sScriptMgr->OnPlayerbotCheckPetitionAccount(_player, found); + if (found) { WorldPacket data(SMSG_PETITION_SIGN_RESULTS, (8 + 8 + 4)); diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 0ea47ff8a..6b82c16b8 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -1722,6 +1722,13 @@ void Map::SendObjectUpdates() WorldPacket packet; // here we allocate a std::vector with a size of 0x10000 for (UpdateDataMapType::iterator iter = update_players.begin(); iter != update_players.end(); ++iter) { + if (!sScriptMgr->OnPlayerbotCheckUpdatesToSend(iter->first)) + { + iter->second.Clear(); + continue; + } + + iter->second.BuildPacket(packet); iter->first->SendDirectMessage(&packet); packet.clear(); // clean the string