aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorMitchesD <majklprofik@seznam.cz>2015-07-28 19:09:20 +0200
committerMitchesD <majklprofik@seznam.cz>2015-07-28 19:09:20 +0200
commit231fb1d322bc1c91f9227d43d3ef672605232154 (patch)
tree58a684167fe8455445f990c7653f059fc67d0b15 /src/server/game/Server
parent15c8e5fd4d2dcb808da162527c133c02949781ca (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.cpp5
-rw-r--r--src/server/game/Server/Packets/InstancePackets.h10
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
-rw-r--r--src/server/game/Server/WorldSession.h3
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);