diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Server/Packets/QuestPackets.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Server/Packets/QuestPackets.h | 11 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 |
4 files changed, 24 insertions, 5 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 4a0c7e60196..d121e5bb70b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -16432,10 +16432,10 @@ void Player::SendPushToPartyResponse(Player* player, uint8 msg) { if (player) { - WorldPacket data(SMSG_QUEST_PUSH_RESULT, 8 + 1); - data << player->GetGUID(); - data << uint8(msg); // valid values: 0-8 - SendDirectMessage(&data); + WorldPackets::Quest::QuestPushResult data; + data.SenderGUID = player->GetGUID(); + data.Result = msg; // valid values: 0-8 + SendDirectMessage(data.Write()); TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUEST_PUSH_RESULT"); } } diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp index 7135a79a74e..687ab6402f4 100644 --- a/src/server/game/Server/Packets/QuestPackets.cpp +++ b/src/server/game/Server/Packets/QuestPackets.cpp @@ -494,3 +494,11 @@ void WorldPackets::Quest::QuestConfirmAccept::Read() { _worldPacket >> QuestID; } + +WorldPacket const* WorldPackets::Quest::QuestPushResult::Write() +{ + _worldPacket << SenderGUID; + _worldPacket << uint8(Result); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h index 90568ed36ea..377f0ca6a64 100644 --- a/src/server/game/Server/Packets/QuestPackets.h +++ b/src/server/game/Server/Packets/QuestPackets.h @@ -484,6 +484,17 @@ namespace WorldPackets int32 QuestID = 0; }; + + class QuestPushResult final : public ServerPacket + { + public: + QuestPushResult() : ServerPacket(SMSG_QUEST_PUSH_RESULT, 16 + 1) { } + + WorldPacket const* Write() override; + + ObjectGuid SenderGUID; + uint8 Result = 0; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index cc643919dd5..8ab053f2296 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1523,7 +1523,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_STATUS_MULTIPLE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_LOG_FULL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_POI_QUERY_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_PUSH_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_PUSH_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_ADD_CREDIT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_ADD_PVP_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); |