diff options
-rw-r--r-- | src/server/game/Handlers/CalendarHandler.cpp | 10 | ||||
-rw-r--r-- | src/server/game/Server/Packets/CalendarPackets.cpp | 7 | ||||
-rw-r--r-- | src/server/game/Server/Packets/CalendarPackets.h | 12 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 3 |
5 files changed, 25 insertions, 9 deletions
diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp index e4426094748..ef09e2371ad 100644 --- a/src/server/game/Handlers/CalendarHandler.cpp +++ b/src/server/game/Handlers/CalendarHandler.cpp @@ -460,16 +460,12 @@ void WorldSession::HandleCalendarEventModeratorStatus(WorldPackets::Calendar::Ca sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_EVENT_INVALID); } -void WorldSession::HandleCalendarComplain(WorldPacket& recvData) +void WorldSession::HandleCalendarComplain(WorldPackets::Calendar::CalendarComplain& calendarComplain) { ObjectGuid guid = _player->GetGUID(); - uint64 eventId; - ObjectGuid complainGUID; - uint64 inviteId; - - recvData >> complainGUID >> eventId >> inviteId; TC_LOG_DEBUG("network", "CMSG_CALENDAR_COMPLAIN [%s] EventId [" - UI64FMTD "] guid [%s] InviteId [" UI64FMTD "]", guid.ToString().c_str(), eventId, complainGUID.ToString().c_str(), inviteId); + UI64FMTD "] guid [%s] InviteId [" UI64FMTD "]", guid.ToString().c_str(), calendarComplain.EventID, + calendarComplain.InvitedByGUID.ToString().c_str(), calendarComplain.InviteID); // what to do with complains? } diff --git a/src/server/game/Server/Packets/CalendarPackets.cpp b/src/server/game/Server/Packets/CalendarPackets.cpp index ca80093ba00..332b505048b 100644 --- a/src/server/game/Server/Packets/CalendarPackets.cpp +++ b/src/server/game/Server/Packets/CalendarPackets.cpp @@ -466,3 +466,10 @@ WorldPacket const* WorldPackets::Calendar::CalendarEventInviteNotes::Write() return &_worldPacket; } + +void WorldPackets::Calendar::CalendarComplain::Read() +{ + _worldPacket >> InvitedByGUID; + _worldPacket >> EventID; + _worldPacket >> InviteID; +} diff --git a/src/server/game/Server/Packets/CalendarPackets.h b/src/server/game/Server/Packets/CalendarPackets.h index d753113e816..f05f2398455 100644 --- a/src/server/game/Server/Packets/CalendarPackets.h +++ b/src/server/game/Server/Packets/CalendarPackets.h @@ -542,6 +542,18 @@ namespace WorldPackets std::string Notes; bool ClearPending = false; }; + + class CalendarComplain final : public ClientPacket + { + public: + CalendarComplain(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_COMPLAIN, std::move(packet)) { } + + void Read() override; + + ObjectGuid InvitedByGUID; + uint64 InviteID = 0; + uint64 EventID = 0; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 972438a3f36..986287850f9 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -193,7 +193,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_BUY_WOW_TOKEN_START, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CAGE_BATTLE_PET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::BattlePet::CageBattlePet, &WorldSession::HandleCageBattlePet); DEFINE_HANDLER(CMSG_CALENDAR_ADD_EVENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarAddEvent, &WorldSession::HandleCalendarAddEvent); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_COMPLAIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarComplain ); + DEFINE_HANDLER(CMSG_CALENDAR_COMPLAIN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarComplain, &WorldSession::HandleCalendarComplain); DEFINE_HANDLER(CMSG_CALENDAR_COPY_EVENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarCopyEvent, &WorldSession::HandleCalendarCopyEvent); DEFINE_HANDLER(CMSG_CALENDAR_EVENT_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarEventInvite, &WorldSession::HandleCalendarEventInvite); DEFINE_HANDLER(CMSG_CALENDAR_EVENT_MODERATOR_STATUS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarEventModeratorStatus, &WorldSession::HandleCalendarEventModeratorStatus); diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 4c55c93567e..e43b7b812e6 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -159,6 +159,7 @@ namespace WorldPackets class CalendarRemoveInvite; class CalendarUpdateEvent; class SetSavedInstanceExtend; + class CalendarComplain; } namespace Character @@ -1563,7 +1564,7 @@ class WorldSession void HandleCalendarEventRemoveInvite(WorldPackets::Calendar::CalendarRemoveInvite& calendarRemoveInvite); void HandleCalendarEventStatus(WorldPackets::Calendar::CalendarEventStatus& calendarEventStatus); void HandleCalendarEventModeratorStatus(WorldPackets::Calendar::CalendarEventModeratorStatus& calendarEventModeratorStatus); - void HandleCalendarComplain(WorldPacket& recvData); + void HandleCalendarComplain(WorldPackets::Calendar::CalendarComplain& calendarComplain); void HandleCalendarGetNumPending(WorldPackets::Calendar::CalendarGetNumPending& calendarGetNumPending); void HandleCalendarEventSignup(WorldPackets::Calendar::CalendarEventSignUp& calendarEventSignUp); |