diff options
| author | Shauren <shauren.trinity@gmail.com> | 2015-08-15 14:24:42 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2015-08-15 14:24:42 +0200 |
| commit | 7632e1182584236ab2e8069ac6e3739fd7de47b0 (patch) | |
| tree | 9c4cb3ae09a7963dba094ac0fed20137027fb9b8 /src/server/game/Server | |
| parent | 55acb20f6db06452b8e363f0cb86ff609b1bb3a6 (diff) | |
Core/PacketIO: Updated and enabled CMSG_WORLD_TELEPORT (GM opcode)
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 8 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 13 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Server/WorldSession.h | 3 |
4 files changed, 24 insertions, 2 deletions
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 7c45810bc13..b1799a1aa64 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -545,3 +545,11 @@ void WorldPackets::Misc::SetPvP::Read() { EnablePVP = _worldPacket.ReadBit(); } + +void WorldPackets::Misc::WorldTeleport::Read() +{ + _worldPacket >> MapID; + _worldPacket >> TransportGUID; + _worldPacket >> Pos; + _worldPacket >> Facing; +} diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index ea1d32b73cc..749b9516e82 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -712,6 +712,19 @@ namespace WorldPackets bool EnablePVP = false; }; + + class WorldTeleport final : public ClientPacket + { + public: + WorldTeleport(WorldPacket&& packet) : ClientPacket(CMSG_WORLD_TELEPORT, std::move(packet)) { } + + void Read() override; + + uint32 MapID = 0; + ObjectGuid TransportGUID; + G3D::Vector3 Pos; + float Facing = 0.0f; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 708981b00ec..4dcf5fe9bc4 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -825,7 +825,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_WHO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoRequestPkt, &WorldSession::HandleWhoOpcode); DEFINE_HANDLER(CMSG_WHO_IS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoIsRequest, &WorldSession::HandleWhoIsOpcode); DEFINE_HANDLER(CMSG_WORLD_PORT_RESPONSE, STATUS_TRANSFER, PROCESS_THREADUNSAFE, WorldPackets::Movement::WorldPortResponse, &WorldSession::HandleMoveWorldportAckOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_WORLD_TELEPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWorldTeleportOpcode ); + DEFINE_HANDLER(CMSG_WORLD_TELEPORT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::WorldTeleport, &WorldSession::HandleWorldTeleportOpcode); DEFINE_HANDLER(CMSG_WRAP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::WrapItem, &WorldSession::HandleWrapItem); #undef DEFINE_OPCODE_HANDLER_OLD diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 18f7afab82f..8d31aefe48a 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -371,6 +371,7 @@ namespace WorldPackets class OpeningCinematic; class TogglePvP; class SetPvP; + class WorldTeleport; } namespace Movement @@ -1414,7 +1415,7 @@ class WorldSession void HandleBfExitRequest(WorldPacket& recvData); void HandleWardenDataOpcode(WorldPacket& recvData); - void HandleWorldTeleportOpcode(WorldPacket& recvData); + void HandleWorldTeleportOpcode(WorldPackets::Misc::WorldTeleport& worldTeleport); void HandleMinimapPingOpcode(WorldPackets::Party::MinimapPingClient& packet); void HandleRandomRollOpcode(WorldPackets::Misc::RandomRollClient& packet); void HandleFarSightOpcode(WorldPackets::Misc::FarSight& packet); |
