aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-08-15 14:24:42 +0200
committerShauren <shauren.trinity@gmail.com>2015-08-15 14:24:42 +0200
commit7632e1182584236ab2e8069ac6e3739fd7de47b0 (patch)
tree9c4cb3ae09a7963dba094ac0fed20137027fb9b8 /src/server/game/Server
parent55acb20f6db06452b8e363f0cb86ff609b1bb3a6 (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.cpp8
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h13
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
-rw-r--r--src/server/game/Server/WorldSession.h3
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);