diff options
| author | MitchesD <majklprofik@seznam.cz> | 2015-07-28 19:09:20 +0200 |
|---|---|---|
| committer | MitchesD <majklprofik@seznam.cz> | 2015-07-28 19:09:20 +0200 |
| commit | 231fb1d322bc1c91f9227d43d3ef672605232154 (patch) | |
| tree | 58a684167fe8455445f990c7653f059fc67d0b15 /src/server/game/Server | |
| parent | 15c8e5fd4d2dcb808da162527c133c02949781ca (diff) | |
Core/PacketIO: updated CMSG_INSTANCE_LOCK_RESPONSE and fixed instance binding of gamemasters
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/InstancePackets.cpp | 5 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/InstancePackets.h | 10 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Server/WorldSession.h | 3 |
4 files changed, 18 insertions, 2 deletions
diff --git a/src/server/game/Server/Packets/InstancePackets.cpp b/src/server/game/Server/Packets/InstancePackets.cpp index 18533ad9edb..5e85e961a21 100644 --- a/src/server/game/Server/Packets/InstancePackets.cpp +++ b/src/server/game/Server/Packets/InstancePackets.cpp @@ -80,3 +80,8 @@ WorldPacket const* WorldPackets::Instance::InstanceSaveCreated::Write() return &_worldPacket; } + +void WorldPackets::Instance::InstanceLockResponse::Read() +{ + AcceptLock = _worldPacket.ReadBit(); +} diff --git a/src/server/game/Server/Packets/InstancePackets.h b/src/server/game/Server/Packets/InstancePackets.h index ebcf8f5f0cf..b137afd7383 100644 --- a/src/server/game/Server/Packets/InstancePackets.h +++ b/src/server/game/Server/Packets/InstancePackets.h @@ -115,6 +115,16 @@ namespace WorldPackets bool Gm = false; }; + + class InstanceLockResponse final : public ClientPacket + { + public: + InstanceLockResponse(WorldPacket&& packet) : ClientPacket(CMSG_INSTANCE_LOCK_RESPONSE, std::move(packet)) { } + + void Read() override; + + bool AcceptLock = false; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index fd7b00301b2..28c676a6e35 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -457,7 +457,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_INITIATE_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::InitiateTrade, &WorldSession::HandleInitiateTradeOpcode); DEFINE_HANDLER(CMSG_INSPECT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::Inspect, &WorldSession::HandleInspectOpcode); DEFINE_HANDLER(CMSG_INSPECT_PVP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::InspectPVPRequest, &WorldSession::HandleInspectPVP); - DEFINE_OPCODE_HANDLER_OLD(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInstanceLockResponse); + DEFINE_HANDLER(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Instance::InstanceLockResponse, &WorldSession::HandleInstanceLockResponse); DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_PURCHASE_REFUND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefund ); DEFINE_HANDLER(CMSG_ITEM_TEXT_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Query::ItemTextQuery, &WorldSession::HandleItemTextQuery); DEFINE_HANDLER(CMSG_JOIN_PET_BATTLE_QUEUE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 9c092ec98a1..885866ac452 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -278,6 +278,7 @@ namespace WorldPackets namespace Instance { class InstanceInfo; + class InstanceLockResponse; class ResetInstances; } @@ -1396,7 +1397,7 @@ class WorldSession void HandleTimeSyncResponse(WorldPackets::Misc::TimeSyncResponse& packet); void HandleWhoIsOpcode(WorldPackets::Who::WhoIsRequest& packet); void HandleResetInstancesOpcode(WorldPackets::Instance::ResetInstances& packet); - void HandleInstanceLockResponse(WorldPacket& recvPacket); + void HandleInstanceLockResponse(WorldPackets::Instance::InstanceLockResponse& packet); // Looking for Dungeon/Raid void HandleLfgSetCommentOpcode(WorldPacket& recvData); |
