diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 31 | ||||
-rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 40 | ||||
-rw-r--r-- | src/server/game/Handlers/QueryHandler.cpp | 53 | ||||
-rw-r--r-- | src/server/game/Maps/MapManager.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 52 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 97 | ||||
-rw-r--r-- | src/server/game/Server/Packets/QueryPackets.cpp | 30 | ||||
-rw-r--r-- | src/server/game/Server/Packets/QueryPackets.h | 44 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 29 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.h | 19 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 21 |
11 files changed, 316 insertions, 105 deletions
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<uint8>(); - 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<uint32> 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); |