aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2015-08-08 01:30:42 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2015-08-08 01:30:42 +0200
commita76fdb9d38c78d931375de235171e11ac75c5cbb (patch)
tree23c421c4e64e6dc48ecfa2d9102352f97d32c1d1 /src/server/game/Server
parent32284d3e9ca55ad906fab8eb360da555dc1cfbb3 (diff)
Core/Misc:
- Updated and enabled CMSG_QUEST_PUSH_RESULT opcode - Update QuestPushReason enum for 6.2.0
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/QuestPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/QuestPackets.h16
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
-rw-r--r--src/server/game/Server/WorldSession.h3
4 files changed, 25 insertions, 5 deletions
diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp
index 474b8eef4a0..ac1374d8e7a 100644
--- a/src/server/game/Server/Packets/QuestPackets.cpp
+++ b/src/server/game/Server/Packets/QuestPackets.cpp
@@ -495,10 +495,17 @@ void WorldPackets::Quest::QuestConfirmAccept::Read()
_worldPacket >> QuestID;
}
-WorldPacket const* WorldPackets::Quest::QuestPushResult::Write()
+WorldPacket const* WorldPackets::Quest::QuestPushResultResponse::Write()
{
_worldPacket << SenderGUID;
_worldPacket << uint8(Result);
return &_worldPacket;
}
+
+void WorldPackets::Quest::QuestPushResult::Read()
+{
+ _worldPacket >> SenderGUID;
+ _worldPacket >> QuestID;
+ _worldPacket >> Result;
+}
diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h
index 90f0c39d27b..022458a07eb 100644
--- a/src/server/game/Server/Packets/QuestPackets.h
+++ b/src/server/game/Server/Packets/QuestPackets.h
@@ -485,10 +485,10 @@ namespace WorldPackets
int32 QuestID = 0;
};
- class QuestPushResult final : public ServerPacket
+ class QuestPushResultResponse final : public ServerPacket
{
public:
- QuestPushResult() : ServerPacket(SMSG_QUEST_PUSH_RESULT, 16 + 1) { }
+ QuestPushResultResponse() : ServerPacket(SMSG_QUEST_PUSH_RESULT, 16 + 1) { }
WorldPacket const* Write() override;
@@ -503,6 +503,18 @@ namespace WorldPackets
WorldPacket const* Write() override { return &_worldPacket; }
};
+
+ class QuestPushResult final : public ClientPacket
+ {
+ public:
+ QuestPushResult(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_PUSH_RESULT, std::move(packet)) { }
+
+ void Read() override;
+
+ ObjectGuid SenderGUID;
+ uint32 QuestID = 0;
+ uint8 Result = 0;
+ };
}
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 883a1693cec..f1fc365bbdc 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -648,7 +648,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_QUEST_GIVER_STATUS_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Quest::QuestGiverStatusQuery, &WorldSession::HandleQuestgiverStatusQueryOpcode);
DEFINE_HANDLER(CMSG_QUEST_LOG_REMOVE_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestLogRemoveQuest, &WorldSession::HandleQuestLogRemoveQuest);
DEFINE_HANDLER(CMSG_QUEST_POI_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QuestPOIQuery, &WorldSession::HandleQuestPOIQuery);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_PUSH_RESULT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestPushResult );
+ DEFINE_HANDLER(CMSG_QUEST_PUSH_RESULT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestPushResult, &WorldSession::HandleQuestPushResult);
DEFINE_HANDLER(CMSG_QUEUED_MESSAGES_END, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_RANDOM_ROLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::RandomRollClient, &WorldSession::HandleRandomRollOpcode);
DEFINE_HANDLER(CMSG_READY_CHECK_RESPONSE, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Party::ReadyCheckResponseClient, &WorldSession::HandleReadyCheckResponseOpcode);
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index cf2848a2799..f7d4fa0bbe4 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -476,6 +476,7 @@ namespace WorldPackets
class QuestGiverQueryQuest;
class QuestGiverAcceptQuest;
class QuestLogRemoveQuest;
+ class QuestPushResult;
}
namespace RaF
@@ -1316,7 +1317,7 @@ class WorldSession
void HandleQuestgiverCompleteQuest(WorldPackets::Quest::QuestGiverCompleteQuest& packet);
void HandleQuestgiverQuestAutoLaunch(WorldPacket& recvPacket);
void HandlePushQuestToParty(WorldPacket& recvPacket);
- void HandleQuestPushResult(WorldPacket& recvPacket);
+ void HandleQuestPushResult(WorldPackets::Quest::QuestPushResult& packet);
void HandleChatMessageOpcode(WorldPackets::Chat::ChatMessage& chatMessage);
void HandleChatMessageWhisperOpcode(WorldPackets::Chat::ChatMessageWhisper& chatMessageWhisper);