diff options
author | Rat <gmstreetrat@gmail.com> | 2015-03-29 15:36:56 +0200 |
---|---|---|
committer | Rat <gmstreetrat@gmail.com> | 2015-03-29 15:36:56 +0200 |
commit | 3d84ab74b0fa7bcc8e8b2775e1919c071fa7b6fb (patch) | |
tree | fc28e70dd0dd24a5e96e3e8e925fbdeee34dd173 /src/server/game/Handlers/MiscHandler.cpp | |
parent | 3660c3a37f7f5a61e14f28c09f94f57fe6315788 (diff) |
Core/Phases: updated packet handling to new format
Diffstat (limited to 'src/server/game/Handlers/MiscHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 33 |
1 files changed, 7 insertions, 26 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 7d0236fe9eb..e8e6febbe34 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -1399,32 +1399,13 @@ void WorldSession::HandleUITimeRequest(WorldPackets::Misc::UITimeRequest& /*requ void WorldSession::SendSetPhaseShift(std::set<uint32> const& phaseIds, std::set<uint32> const& terrainswaps, std::set<uint32> const& worldMapAreaSwaps) { - WorldPacket data(SMSG_PHASE_SHIFT_CHANGE, 1 + 8 + 4 + 4 + 4 + 4 + 2 * phaseIds.size() + 4 + terrainswaps.size() * 2); - - data << _player->GetGUID(); // Client - data << uint32(phaseIds.size() ? 0 : 8); // PhaseShiftFlags - - data << uint32(phaseIds.size()); // PhaseShiftCount - data << _player->GetGUID(); // PersonalGUID - for (std::set<uint32>::const_iterator itr = phaseIds.begin(); itr != phaseIds.end(); ++itr) - { - data << uint16(1); // PhaseFlags - data << uint16(*itr); // Id - } - - data << uint32(terrainswaps.size()) * 2; // Active terrain swaps - for (std::set<uint32>::const_iterator itr = terrainswaps.begin(); itr != terrainswaps.end(); ++itr) - data << uint16(*itr); - - data << uint32(0); // Inactive terrain swaps - //for (uint8 i = 0; i < inactiveSwapsCount; ++i) - // data << uint16(0); - - data << uint32(worldMapAreaSwaps.size()) * 2; - for (auto mapSwap : worldMapAreaSwaps) - data << uint16(mapSwap); // WorldMapArea.dbc id (controls map display) - - SendPacket(&data); + WorldPackets::Misc::PhaseShift phaseShift; + phaseShift.ClientGUID = _player->GetGUID(); + phaseShift.PersonalGUID = _player->GetGUID(); + phaseShift.PhaseShifts = phaseIds; + phaseShift.VisibleMapIDs = terrainswaps; + phaseShift.UiWorldMapAreaIDSwaps = worldMapAreaSwaps; + SendPacket(phaseShift.Write()); } // Battlefield and Battleground |