From c2722959a97648f3331290c55d014f314fa0e1bf Mon Sep 17 00:00:00 2001 From: Mogadischu Date: Thu, 15 Jan 2015 02:25:19 +0100 Subject: Core/PacketIO: Updated corpse related packet structures --- src/server/game/Entities/Player/Player.cpp | 31 ++++---- src/server/game/Handlers/MiscHandler.cpp | 40 ++++------ src/server/game/Handlers/QueryHandler.cpp | 53 ++++++-------- src/server/game/Maps/MapManager.cpp | 5 +- src/server/game/Server/Packets/MiscPackets.cpp | 52 +++++++++++++ src/server/game/Server/Packets/MiscPackets.h | 97 +++++++++++++++++++++++++ src/server/game/Server/Packets/QueryPackets.cpp | 30 ++++++++ src/server/game/Server/Packets/QueryPackets.h | 44 +++++++++++ src/server/game/Server/Protocol/Opcodes.cpp | 29 ++++---- src/server/game/Server/Protocol/Opcodes.h | 19 ++--- src/server/game/Server/WorldSession.h | 21 ++++-- 11 files changed, 316 insertions(+), 105 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index efc5143bbfd..4f71347045d 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -4794,9 +4794,9 @@ void Player::DeleteOldCharacters(uint32 keepDays) */ void Player::BuildPlayerRepop() { - WorldPacket data(SMSG_PRE_RESURRECT, GetPackGUID().size()); - data << GetPackGUID(); - GetSession()->SendPacket(&data); + WorldPackets::Misc::PreRessurect packet; + packet.PlayerGUID = GetGUID(); + GetSession()->SendPacket(packet.Write()); if (getRace() == RACE_NIGHTELF) CastSpell(this, 20584, true); @@ -4849,12 +4849,9 @@ void Player::BuildPlayerRepop() void Player::ResurrectPlayer(float restore_percent, bool applySickness) { - WorldPacket data(SMSG_DEATH_RELEASE_LOC, 4*4); // remove spirit healer position - data << uint32(-1); - data << float(0); - data << float(0); - data << float(0); - GetSession()->SendPacket(&data); + WorldPackets::Misc::DeathReleaseLoc packet; + packet.MapID = -1; + GetSession()->SendPacket(packet.Write()); // speed change, land walk @@ -5274,12 +5271,10 @@ void Player::RepopAtGraveyard() TeleportTo(ClosestGrave->MapID, ClosestGrave->Loc.X, ClosestGrave->Loc.Y, ClosestGrave->Loc.Z, (ClosestGrave->Facing * M_PI) / 180); // Orientation is initially in degrees if (isDead()) // not send if alive, because it used in TeleportTo() { - WorldPacket data(SMSG_DEATH_RELEASE_LOC, 4*4); // show spirit healer position on minimap - data << ClosestGrave->MapID; - data << ClosestGrave->Loc.X; - data << ClosestGrave->Loc.Y; - data << ClosestGrave->Loc.Z; - GetSession()->SendPacket(&data); + WorldPackets::Misc::DeathReleaseLoc packet; + packet.MapID = ClosestGrave->MapID; + packet.Loc = G3D::Vector3(ClosestGrave->Loc.X, ClosestGrave->Loc.Y, ClosestGrave->Loc.Z); + GetSession()->SendPacket(packet.Write()); } } else if (GetPositionZ() < MAX_MAP_DEPTH) @@ -24330,9 +24325,9 @@ int32 Player::CalculateCorpseReclaimDelay(bool load) void Player::SendCorpseReclaimDelay(uint32 delay) { - WorldPacket data(SMSG_CORPSE_RECLAIM_DELAY, 4); - data << uint32(delay); - GetSession()->SendPacket(&data); + WorldPackets::Misc::CorpseReclaimDelay packet; + packet.Remaining = delay; + GetSession()->SendPacket(packet.Write()); } Player* Player::GetNextRandomRaidMember(float radius) diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 569bcf73ffa..e2c71e65e87 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -61,12 +61,10 @@ #include "ClientConfigPackets.h" #include "MiscPackets.h" -void WorldSession::HandleRepopRequestOpcode(WorldPacket& recvData) +void WorldSession::HandleRepopRequest(WorldPackets::Misc::RepopRequest& packet) { TC_LOG_DEBUG("network", "WORLD: Recvd CMSG_REPOP_REQUEST Message"); - recvData.read_skip(); - if (GetPlayer()->IsAlive() || GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST)) return; @@ -501,14 +499,14 @@ void WorldSession::HandleZoneUpdateOpcode(WorldPacket& recvData) //GetPlayer()->SendInitWorldStates(true, newZone); } -void WorldSession::HandleReturnToGraveyard(WorldPacket& /*recvPacket*/) +void WorldSession::HandlePortGraveyard(WorldPackets::Misc::PortGraveyard& /*packet*/) { if (GetPlayer()->IsAlive() || !GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST)) return; GetPlayer()->RepopAtGraveyard(); } -void WorldSession::HandleRequestCemeteryList(WorldPacket& /*recvPacket*/) +void WorldSession::HandleRequestCemeteryList(WorldPackets::Misc::RequestCemeteryList& /*packet*/) { uint32 zoneId = _player->GetZoneId(); uint32 team = _player->GetTeam(); @@ -529,14 +527,14 @@ void WorldSession::HandleRequestCemeteryList(WorldPacket& /*recvPacket*/) return; } - WorldPacket data(SMSG_REQUEST_CEMETERY_LIST_RESPONSE, 4 + 4 * graveyardIds.size()); - data.WriteBit(0); // Is MicroDungeon (WorldMapFrame.lua) - - data.WriteBits(graveyardIds.size(), 24); - for (uint32 id : graveyardIds) - data << id; - - SendPacket(&data); + WorldPackets::Misc::RequestCemeteryListResponse packet; + packet.IsGossipTriggered = false; + packet.CemeteryID.reserve(graveyardIds.size()); + + for (uint32 id : graveyardIds) + packet.CemeteryID.push_back(id); + + SendPacket(packet.Write()); } void WorldSession::HandleSetSelectionOpcode(WorldPackets::Misc::SetSelection& packet) @@ -761,13 +759,10 @@ void WorldSession::HandleBugOpcode(WorldPacket& recvData) CharacterDatabase.Execute(stmt); } -void WorldSession::HandleReclaimCorpseOpcode(WorldPacket& recvData) +void WorldSession::HandleReclaimCorpse(WorldPackets::Misc::ReclaimCorpse& packet) { TC_LOG_DEBUG("network", "WORLD: Received CMSG_RECLAIM_CORPSE"); - ObjectGuid guid; - recvData >> guid; - if (_player->IsAlive()) return; @@ -798,25 +793,20 @@ void WorldSession::HandleReclaimCorpseOpcode(WorldPacket& recvData) _player->SpawnCorpseBones(); } -void WorldSession::HandleResurrectResponseOpcode(WorldPacket& recvData) +void WorldSession::HandleResurrectResponse(WorldPackets::Misc::ResurrectResponse& packet) { TC_LOG_DEBUG("network", "WORLD: Received CMSG_RESURRECT_RESPONSE"); - ObjectGuid guid; - uint8 status; - recvData >> guid; - recvData >> status; - if (GetPlayer()->IsAlive()) return; - if (status == 0) + if (packet.Response == 0) { GetPlayer()->ClearResurrectRequestData(); // reject return; } - if (!GetPlayer()->IsResurrectRequestedBy(guid)) + if (!GetPlayer()->IsResurrectRequestedBy(packet.Resurrecter)) return; GetPlayer()->ResurrectUsingRequestData(); diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp index 6556532cf98..0a8b7fd5298 100644 --- a/src/server/game/Handlers/QueryHandler.cpp +++ b/src/server/game/Handlers/QueryHandler.cpp @@ -165,38 +165,38 @@ void WorldSession::HandleGameObjectQueryOpcode(WorldPackets::Query::QueryGameObj SendPacket(response.Write()); } -void WorldSession::HandleCorpseQueryOpcode(WorldPacket& /*recvData*/) +void WorldSession::HandleQueryCorpseLocation(WorldPackets::Query::QueryCorpseLocationFromClient& /*packet*/) { - TC_LOG_DEBUG("network", "WORLD: Received MSG_CORPSE_QUERY"); + TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT"); Corpse* corpse = GetPlayer()->GetCorpse(); if (!corpse) { - WorldPacket data(MSG_CORPSE_QUERY, 1); - data << uint8(0); // corpse not found - SendPacket(&data); + WorldPackets::Query::CorpseLocation packet; + packet.Valid = false; // corpse not found + SendPacket(packet.Write()); return; } - uint32 mapid = corpse->GetMapId(); + uint32 mapID = corpse->GetMapId(); float x = corpse->GetPositionX(); float y = corpse->GetPositionY(); float z = corpse->GetPositionZ(); - uint32 corpsemapid = mapid; + uint32 corpseMapID = mapID; // if corpse at different map - if (mapid != _player->GetMapId()) + if (mapID != _player->GetMapId()) { // search entrance map for proper show entrance - if (MapEntry const* corpseMapEntry = sMapStore.LookupEntry(mapid)) + if (MapEntry const* corpseMapEntry = sMapStore.LookupEntry(mapID)) { if (corpseMapEntry->IsDungeon() && corpseMapEntry->CorpseMapID >= 0) { // if corpse map have entrance if (Map const* entranceMap = sMapMgr->CreateBaseMap(corpseMapEntry->CorpseMapID)) { - mapid = corpseMapEntry->CorpseMapID; + mapID = corpseMapEntry->CorpseMapID; x = corpseMapEntry->CorpsePos.X; y = corpseMapEntry->CorpsePos.Y; z = entranceMap->GetHeight(GetPlayer()->GetPhaseMask(), x, y, MAX_HEIGHT); @@ -205,15 +205,13 @@ void WorldSession::HandleCorpseQueryOpcode(WorldPacket& /*recvData*/) } } - WorldPacket data(MSG_CORPSE_QUERY, 1+(6*4)); - data << uint8(1); // corpse found - data << int32(mapid); - data << float(x); - data << float(y); - data << float(z); - data << int32(corpsemapid); - data << uint32(0); // unknown - SendPacket(&data); + WorldPackets::Query::CorpseLocation packet; + packet.Valid = true; + packet.MapID = corpseMapID; + packet.ActualMapID = mapID; + packet.Position = G3D::Vector3(x, y, z); + packet.Transport = ObjectGuid::Empty; // NYI + SendPacket(packet.Write()); } void WorldSession::HandleNpcTextQueryOpcode(WorldPackets::Query::QueryNPCText& packet) @@ -280,19 +278,14 @@ void WorldSession::HandlePageTextQueryOpcode(WorldPackets::Query::QueryPageText& } } -void WorldSession::HandleCorpseMapPositionQuery(WorldPacket& recvData) +void WorldSession::HandleQueryCorpseTransport(WorldPackets::Query::QueryCorpseTransport& packet) { - TC_LOG_DEBUG("network", "WORLD: Recv CMSG_CORPSE_MAP_POSITION_QUERY"); - - uint32 transportGuidLow; - recvData >> transportGuidLow; + TC_LOG_DEBUG("network", "WORLD: Recv CMSG_QUERY_CORPSE_TRANSPORT"); - WorldPacket data(SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE, 4+4+4+4); - data << float(0); - data << float(0); - data << float(0); - data << float(0); - SendPacket(&data); + WorldPackets::Query::CorpseTransportQuery response; + response.Position = G3D::Vector3(0.0f, 0.0f, 0.0f); + response.Facing = 0.0f; + SendPacket(response.Write()); } void WorldSession::HandleQuestNPCQuery(WorldPacket& recvData) diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp index a9acb2ef30a..8c4dd2e0c65 100644 --- a/src/server/game/Maps/MapManager.cpp +++ b/src/server/game/Maps/MapManager.cpp @@ -37,6 +37,7 @@ #include "WorldSession.h" #include "Opcodes.h" #include "AchievementMgr.h" +#include "MiscPackets.h" MapManager::MapManager() { @@ -179,8 +180,8 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck) if (!corpseMap) { - WorldPacket data(SMSG_CORPSE_NOT_IN_INSTANCE); - player->GetSession()->SendPacket(&data); + WorldPackets::Misc::AreaTriggerNoCorpse packet; + player->GetSession()->SendPacket(packet.Write()); TC_LOG_DEBUG("maps", "MAP: Player '%s' does not have a corpse in instance '%s' and cannot enter.", player->GetName().c_str(), mapName); return false; } diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 937bd75c4b9..a8d49f9fafe 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -207,3 +207,55 @@ WorldPacket const* WorldPackets::Misc::RaidDifficultySet::Write() _worldPacket << uint8(Legacy); return &_worldPacket; } + +WorldPacket const* WorldPackets::Misc::CorpseReclaimDelay::Write() +{ + _worldPacket << Remaining; + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Misc::DeathReleaseLoc::Write() +{ + _worldPacket << MapID; + _worldPacket << float(Loc.x); + _worldPacket << float(Loc.y); + _worldPacket << float(Loc.z); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Misc::PreRessurect::Write() +{ + _worldPacket << PlayerGUID; + + return &_worldPacket; +} + +void WorldPackets::Misc::ReclaimCorpse::Read() +{ + _worldPacket >> CorpseGUID; +} + +void WorldPackets::Misc::RepopRequest::Read() +{ + CheckInstance = _worldPacket.ReadBit(); +} + +WorldPacket const* WorldPackets::Misc::RequestCemeteryListResponse::Write() +{ + _worldPacket.WriteBit(IsGossipTriggered); + _worldPacket.FlushBits(); + + _worldPacket << uint32(CemeteryID.size()); + for (uint32 cemetery : CemeteryID) + _worldPacket << cemetery; + + return &_worldPacket; +} + +void WorldPackets::Misc::ResurrectResponse::Read() +{ + _worldPacket >> Resurrecter; + _worldPacket >> Response; +} diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index ae12389e791..cc4453e1177 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -263,6 +263,103 @@ namespace WorldPackets int32 DifficultyID; uint8 Legacy; }; + + class CorpseReclaimDelay : public ServerPacket + { + public: + CorpseReclaimDelay() : ServerPacket(SMSG_CORPSE_RECLAIM_DELAY, 4) { } + + WorldPacket const* Write() override; + + uint32 Remaining = 0; + }; + + class DeathReleaseLoc : public ServerPacket + { + public: + DeathReleaseLoc() : ServerPacket(SMSG_DEATH_RELEASE_LOC, 4 + (3 * 4)) { } + + WorldPacket const* Write() override; + + int32 MapID = 0; + G3D::Vector3 Loc; + }; + + class PortGraveyard final : public ClientPacket + { + public: + PortGraveyard(WorldPacket&& packet) : ClientPacket(CMSG_PORT_GRAVEYARD, std::move(packet)) { } + + void Read() override { } + }; + + class PreRessurect : public ServerPacket + { + public: + PreRessurect() : ServerPacket(SMSG_PRE_RESURRECT, 16) { } + + WorldPacket const* Write() override; + + ObjectGuid PlayerGUID; + }; + + class ReclaimCorpse final : public ClientPacket + { + public: + ReclaimCorpse(WorldPacket&& packet) : ClientPacket(CMSG_RECLAIM_CORPSE, std::move(packet)) { } + + void Read() override; + + ObjectGuid CorpseGUID; + }; + + class RepopRequest final : public ClientPacket + { + public: + RepopRequest(WorldPacket&& packet) : ClientPacket(CMSG_REPOP_REQUEST, std::move(packet)) { } + + void Read() override; + + bool CheckInstance = false; + }; + + class RequestCemeteryList final : public ClientPacket + { + public: + RequestCemeteryList(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_CEMETERY_LIST, std::move(packet)) { } + + void Read() override { } + }; + + class RequestCemeteryListResponse : public ServerPacket + { + public: + RequestCemeteryListResponse() : ServerPacket(SMSG_REQUEST_CEMETERY_LIST_RESPONSE, 1) { } + + WorldPacket const* Write() override; + + bool IsGossipTriggered = false; + std::vector CemeteryID; + }; + + class ResurrectResponse final : public ClientPacket + { + public: + ResurrectResponse(WorldPacket&& packet) : ClientPacket(CMSG_RESURRECT_RESPONSE, std::move(packet)) { } + + void Read() override; + + ObjectGuid Resurrecter; + uint32 Response = 0; + }; + + class AreaTriggerNoCorpse : public ServerPacket + { + public: + AreaTriggerNoCorpse() : ServerPacket(SMSG_AREA_TRIGGER_NO_CORPSE, 0) { } + + WorldPacket const* Write() override { return &_worldPacket; } + }; } } diff --git a/src/server/game/Server/Packets/QueryPackets.cpp b/src/server/game/Server/Packets/QueryPackets.cpp index e3f8dc01335..2cd58f7b13c 100644 --- a/src/server/game/Server/Packets/QueryPackets.cpp +++ b/src/server/game/Server/Packets/QueryPackets.cpp @@ -265,3 +265,33 @@ WorldPacket const* WorldPackets::Query::QueryGameObjectResponse::Write() return &_worldPacket; } + +WorldPacket const* WorldPackets::Query::CorpseLocation::Write() +{ + _worldPacket.WriteBit(Valid); + _worldPacket.FlushBits(); + + _worldPacket << ActualMapID; + _worldPacket << Position.x; + _worldPacket << Position.y; + _worldPacket << Position.z; + _worldPacket << MapID; + _worldPacket << Transport; + + return &_worldPacket; +} + +void WorldPackets::Query::QueryCorpseTransport::Read() +{ + _worldPacket >> Transport; +} + +WorldPacket const* WorldPackets::Query::CorpseTransportQuery::Write() +{ + _worldPacket << Position.x; + _worldPacket << Position.y; + _worldPacket << Position.z; + _worldPacket << Facing; + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h index f2ab09f2b6b..6e1c3ebe83b 100644 --- a/src/server/game/Server/Packets/QueryPackets.h +++ b/src/server/game/Server/Packets/QueryPackets.h @@ -22,6 +22,7 @@ #include "Creature.h" #include "DB2Stores.h" #include "NPCHandler.h" +#include "G3D/Vector3.h" namespace WorldPackets { @@ -253,6 +254,49 @@ namespace WorldPackets bool Allow = false; GameObjectStats Stats; }; + + class QueryCorpseLocationFromClient final : public ClientPacket + { + public: + QueryCorpseLocationFromClient(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT, std::move(packet)) { } + + void Read() override { } + }; + + class CorpseLocation final : public ServerPacket + { + public: + CorpseLocation() : ServerPacket(SMSG_CORPSE_LOCATION, 1 + (5 * 4) + 16) { } + + WorldPacket const* Write() override; + + ObjectGuid Transport; + G3D::Vector3 Position; + int32 ActualMapID = 0; + int32 MapID = 0; + bool Valid = false; + }; + + class QueryCorpseTransport final : public ClientPacket + { + public: + QueryCorpseTransport(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_CORPSE_TRANSPORT , std::move(packet)) { } + + void Read() override; + + ObjectGuid Transport; + }; + + class CorpseTransportQuery final : public ServerPacket + { + public: + CorpseTransportQuery() : ServerPacket(SMSG_CORPSE_TRANSPORT_QUERY, 16) { } + + WorldPacket const* Write() override; + + G3D::Vector3 Position; + float Facing = 0.0f; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 009c3c2a895..7f21315a982 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -278,7 +278,6 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_COMPLETE_MOVIE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CONNECT_TO_FAILED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CONTACT_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleContactListOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CORPSE_MAP_POSITION_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCorpseMapPositionQuery ); DEFINE_HANDLER(CMSG_CREATURE_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Query::QueryCreature, &WorldSession::HandleCreatureQuery); DEFINE_OPCODE_HANDLER_OLD(CMSG_DANCE_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_DB_QUERY_BULK, STATUS_AUTHED, PROCESS_INPLACE, WorldPackets::Query::DBQueryBulk, &WorldSession::HandleDBQueryBulk); @@ -524,12 +523,15 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_STOP_ATTACK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetStopAttack ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAYED_TIME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePlayedTime ); - DEFINE_HANDLER(CMSG_PLAYER_LOGIN, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::PlayerLogin, &WorldSession::HandlePlayerLoginOpcode); + DEFINE_HANDLER(CMSG_PLAYER_LOGIN, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::PlayerLogin, &WorldSession::HandlePlayerLoginOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAYER_VEHICLE_ENTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEnterPlayerVehicle ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAY_DANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_PORT_GRAVEYARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::PortGraveyard, &WorldSession::HandlePortGraveyard); DEFINE_OPCODE_HANDLER_OLD(CMSG_PUSHQUESTTOPARTY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePushQuestToParty ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PVP_LOG_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandlePVPLogDataOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_BATTLEFIELD_STATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryCorpseLocationFromClient, &WorldSession::HandleQueryCorpseLocation); + DEFINE_HANDLER(CMSG_QUERY_CORPSE_TRANSPORT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryCorpseTransport, &WorldSession::HandleQueryCorpseTransport); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_GUILD_MEMBERS_FOR_RECIPE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_GUILD_MEMBER_RECIPES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_GUILD_RECIPES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -556,15 +558,15 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_RANDOMIZE_CHAR_NAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::GenerateRandomCharacterName, &WorldSession::HandleRandomizeCharNameOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_READ_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReadItem ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REALM_NAME_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_RECLAIM_CORPSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReclaimCorpseOpcode ); + DEFINE_HANDLER(CMSG_RECLAIM_CORPSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ReclaimCorpse, &WorldSession::HandleReclaimCorpse); DEFINE_OPCODE_HANDLER_OLD(CMSG_RECRUIT_A_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_REORDER_CHARACTERS, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::ReorderCharacters, &WorldSession::HandleReorderCharacters); DEFINE_HANDLER(CMSG_REPAIR_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::RepairItem, &WorldSession::HandleRepairItemOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_REPOP_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRepopRequestOpcode ); + DEFINE_HANDLER(CMSG_REPOP_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::RepopRequest, &WorldSession::HandleRepopRequest); DEFINE_OPCODE_HANDLER_OLD(CMSG_REPORT_PVP_AFK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReportPvPAFK ); DEFINE_HANDLER(CMSG_REQUEST_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::ClientConfig::RequestAccountData, &WorldSession::HandleRequestAccountData); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_CATEGORY_COOLDOWNS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestCategoryCooldowns ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_CEMETERY_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestCemeteryList ); + DEFINE_HANDLER(CMSG_REQUEST_CEMETERY_LIST, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::RequestCemeteryList, &WorldSession::HandleRequestCemeteryList); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_INSPECT_RATED_BG_STATS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PARTY_MEMBER_STATS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPartyMemberStatsOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PET_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPetInfoOpcode ); @@ -580,8 +582,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_VEHICLE_SWITCH_SEAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSeatsOnControlledVehicle); DEFINE_OPCODE_HANDLER_OLD(CMSG_RESET_FACTION_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_RESET_INSTANCES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleResetInstancesOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_RESURRECT_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleResurrectResponseOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_RETURN_TO_GRAVEYARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReturnToGraveyard ); + DEFINE_HANDLER(CMSG_RESURRECT_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ResurrectResponse, &WorldSession::HandleResurrectResponse); DEFINE_OPCODE_HANDLER_OLD(CMSG_ROLE_POLL_BEGIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRolePollBeginOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ROUTER_CLIENT_LOG_STREAMING_ERROR, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SAVE_CUF_PROFILES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleSaveCUFProfiles ); @@ -680,7 +681,6 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_WORLD_TELEPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWorldTeleportOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_WRAP_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWrapItemOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ZONEUPDATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleZoneUpdateOpcode ); - DEFINE_OPCODE_HANDLER_OLD(MSG_CORPSE_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCorpseQueryOpcode ); DEFINE_OPCODE_HANDLER_OLD(MSG_INSPECT_ARENA_TEAMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInspectArenaTeamsOpcode ); DEFINE_OPCODE_HANDLER_OLD(MSG_LIST_STABLED_PETS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleListStabledPetsOpcode ); DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_CHARM_TELEPORT_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -722,6 +722,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_SPIRIT_HEALER_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_MOVEMENT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_NO_CORPSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_UNIT_DESTROYED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -866,9 +867,9 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONVERT_RUNE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_CHEAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_NOT_IN_INSTANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_RECLAIM_DELAY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_LOCATION, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_RECLAIM_DELAY, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_TRANSPORT_QUERY, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CREATURE_QUERY_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); @@ -880,7 +881,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_DANCE_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DANCE_STUDIO_CREATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DB_REPLY, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEATH_RELEASE_LOC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEATH_RELEASE_LOC, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEBUG_RUNE_REGEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEFENSE_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1218,7 +1219,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_TIME_WARNING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PONG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_POWER_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PRE_RESURRECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PRE_RESURRECT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROCRESIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROPOSE_LEVEL_GRANT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1271,7 +1272,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFRESH_SPELL_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REMOVED_SPELL, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REPORT_PVP_AFK_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_CEMETERY_LIST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_CEMETERY_LIST_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_PVP_REWARDS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESEARCH_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESEARCH_SETUP_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index e1624d076c3..2d606821c5f 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -196,7 +196,6 @@ enum OpcodeClient : uint32 CMSG_COMPLETE_MOVIE = 0xBADD, CMSG_CONNECT_TO_FAILED = 0x0135, CMSG_CONTACT_LIST = 0xBADD, - CMSG_CORPSE_MAP_POSITION_QUERY = 0xBADD, CMSG_CREATURE_QUERY = 0x0505, CMSG_DANCE_QUERY = 0xBADD, CMSG_DB_QUERY_BULK = 0x138B, @@ -465,9 +464,12 @@ enum OpcodeClient : uint32 CMSG_PLAYER_LOGIN = 0x0B1D, CMSG_PLAYER_VEHICLE_ENTER = 0xBADD, CMSG_PLAY_DANCE = 0xBADD, + CMSG_PORT_GRAVEYARD = 0x0D3E, CMSG_PUSHQUESTTOPARTY = 0xBADD, CMSG_PVP_LOG_DATA = 0x08B5, CMSG_QUERY_BATTLEFIELD_STATE = 0x0359, + CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x128A, + CMSG_QUERY_CORPSE_TRANSPORT = 0x0908, CMSG_QUERY_GUILD_MEMBERS_FOR_RECIPE = 0xBADD, CMSG_QUERY_GUILD_MEMBER_RECIPES = 0xBADD, CMSG_QUERY_GUILD_RECIPES = 0xBADD, @@ -497,7 +499,7 @@ enum OpcodeClient : uint32 CMSG_RANDOMIZE_CHAR_NAME = 0x1981, CMSG_READ_ITEM = 0xBADD, CMSG_REALM_NAME_QUERY = 0x1189, - CMSG_RECLAIM_CORPSE = 0xBADD, + CMSG_RECLAIM_CORPSE = 0x1BC4, CMSG_RECRUIT_A_FRIEND = 0x07BA, CMSG_REORDER_CHARACTERS = 0x0DAA, CMSG_REPAIR_ITEM = 0x0B54, @@ -523,8 +525,7 @@ enum OpcodeClient : uint32 CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0xBADD, CMSG_RESET_FACTION_CHEAT = 0xBADD, CMSG_RESET_INSTANCES = 0x0389, - CMSG_RESURRECT_RESPONSE = 0xBADD, - CMSG_RETURN_TO_GRAVEYARD = 0x12EA, + CMSG_RESURRECT_RESPONSE = 0x073E, CMSG_ROLE_POLL_BEGIN = 0xBADD, CMSG_ROUTER_CLIENT_LOG_STREAMING_ERROR = 0x0C10, CMSG_SAVE_CUF_PROFILES = 0x0053, @@ -636,7 +637,6 @@ enum OpcodeClient : uint32 CMSG_WORLD_TELEPORT = 0xBADD, CMSG_WRAP_ITEM = 0xBADD, CMSG_ZONEUPDATE = 0xBADD, - MSG_CORPSE_QUERY = 0xBADD, MSG_GM_BIND_OTHER = 0xBADD, MSG_GM_SHOWLABEL = 0xBADD, MSG_GM_SUMMON = 0xBADD, @@ -694,6 +694,7 @@ enum OpcodeServer : uint32 SMSG_AREA_SPIRIT_HEALER_TIME = 0xBADD, SMSG_AREA_TRIGGER_MESSAGE = 0xBADD, SMSG_AREA_TRIGGER_MOVEMENT_UPDATE = 0xBADD, + SMSG_AREA_TRIGGER_NO_CORPSE = 0x0D3F, SMSG_ARENA_ERROR = 0xBADD, SMSG_ARENA_UNIT_DESTROYED = 0x19E1, SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED = 0xBADD, @@ -844,9 +845,9 @@ enum OpcodeServer : uint32 SMSG_CONVERT_RUNE = 0x1C89, SMSG_COOLDOWN_CHEAT = 0xBADD, SMSG_COOLDOWN_EVENT = 0xBADD, - SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE = 0xBADD, - SMSG_CORPSE_NOT_IN_INSTANCE = 0xBADD, + SMSG_CORPSE_LOCATION = 0x09E1, SMSG_CORPSE_RECLAIM_DELAY = 0x0BE2, + SMSG_CORPSE_TRANSPORT_QUERY = 0x13AB, SMSG_CREATURE_QUERY_RESPONSE = 0x0A26, SMSG_CRITERIA_DELETED = 0xBADD, SMSG_CRITERIA_UPDATE = 0x1904, @@ -859,7 +860,7 @@ enum OpcodeServer : uint32 SMSG_DANCE_QUERY_RESPONSE = 0xBADD, SMSG_DANCE_STUDIO_CREATE_RESULT = 0x178D, SMSG_DB_REPLY = 0x1939, - SMSG_DEATH_RELEASE_LOC = 0xBADD, + SMSG_DEATH_RELEASE_LOC = 0x098C, SMSG_DEBUG_RUNE_REGEN = 0xBADD, SMSG_DEBUG_SERVER_GEO = 0xBADD, SMSG_DEFENSE_MESSAGE = 0x1442, @@ -1217,7 +1218,7 @@ enum OpcodeServer : uint32 SMSG_PLAY_TIME_WARNING = 0xBADD, SMSG_PONG = 0x17CA, SMSG_POWER_UPDATE = 0x0B27, - SMSG_PRE_RESURRECT = 0xBADD, + SMSG_PRE_RESURRECT = 0x0D2E, SMSG_PROCRESIST = 0xBADD, SMSG_PROPOSE_LEVEL_GRANT = 0xBADD, SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 0xBADD, diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index baf5232cd9b..9639d90572c 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -178,6 +178,11 @@ namespace WorldPackets class TutorialSetFlag; class SetDungeonDifficulty; class SetRaidDifficulty; + class PortGraveyard; + class ReclaimCorpse; + class RepopRequest; + class RequestCemeteryList; + class ResurrectResponse; } namespace Movement @@ -200,6 +205,8 @@ namespace WorldPackets class QueryNPCText; class DBQueryBulk; class QueryGameObject; + class QueryCorpseLocationFromClient; + class QueryCorpseTransport; } namespace Quest @@ -648,8 +655,8 @@ class WorldSession void HandleLookingForGroup(WorldPacket& recvPacket); // cemetery/graveyard related - void HandleReturnToGraveyard(WorldPacket& recvPacket); - void HandleRequestCemeteryList(WorldPacket& recvPacket); + void HandlePortGraveyard(WorldPackets::Misc::PortGraveyard& packet); + void HandleRequestCemeteryList(WorldPackets::Misc::RequestCemeteryList& packet); // new inspect void HandleInspectOpcode(WorldPacket& recvPacket); @@ -679,7 +686,7 @@ class WorldSession void HandleSetCollisionHeightAck(WorldPacket& recvPacket); void HandlePingOpcode(WorldPacket& recvPacket); - void HandleRepopRequestOpcode(WorldPacket& recvPacket); + void HandleRepopRequest(WorldPackets::Misc::RepopRequest& packet); void HandleAutostoreLootItemOpcode(WorldPacket& recvPacket); void HandleLootMoneyOpcode(WorldPacket& recvPacket); void HandleLootOpcode(WorldPackets::Loot::LootUnit& packet); @@ -961,10 +968,10 @@ class WorldSession void HandleUnregisterAddonPrefixesOpcode(WorldPacket& recvPacket); void HandleAddonRegisteredPrefixesOpcode(WorldPacket& recvPacket); - void HandleReclaimCorpseOpcode(WorldPacket& recvPacket); - void HandleCorpseQueryOpcode(WorldPacket& recvPacket); - void HandleCorpseMapPositionQuery(WorldPacket& recvPacket); - void HandleResurrectResponseOpcode(WorldPacket& recvPacket); + void HandleReclaimCorpse(WorldPackets::Misc::ReclaimCorpse& packet); + void HandleQueryCorpseLocation(WorldPackets::Query::QueryCorpseLocationFromClient& packet); + void HandleQueryCorpseTransport(WorldPackets::Query::QueryCorpseTransport& packet); + void HandleResurrectResponse(WorldPackets::Misc::ResurrectResponse& packet); void HandleSummonResponseOpcode(WorldPacket& recvData); void HandleJoinChannel(WorldPackets::Channel::JoinChannel& packet); -- cgit v1.2.3