mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 16:38:42 +01:00
Core/Packets: CMSG_NAME_QUERY (QueryPlayerName) handler
This commit is contained in:
@@ -64,15 +64,9 @@ void WorldSession::SendNameQueryOpcode(ObjectGuid guid)
|
||||
SendPacket(&data);
|
||||
}
|
||||
|
||||
void WorldSession::HandleNameQueryOpcode(WorldPacket& recvData)
|
||||
void WorldSession::HandleNameQueryOpcode(WorldPackets::Character::QueryPlayerName& queryPlayerName)
|
||||
{
|
||||
ObjectGuid guid;
|
||||
recvData >> guid;
|
||||
|
||||
// This is disable by default to prevent lots of console spam
|
||||
// TC_LOG_INFO("network", "HandleNameQueryOpcode %u", guid);
|
||||
|
||||
SendNameQueryOpcode(guid);
|
||||
SendNameQueryOpcode(queryPlayerName.Player);
|
||||
}
|
||||
|
||||
void WorldSession::HandleQueryTimeOpcode(WorldPacket & /*recvData*/)
|
||||
|
||||
@@ -303,3 +303,17 @@ void WorldPackets::Character::LoadingScreenNotify::Read()
|
||||
_worldPacket >> MapID;
|
||||
Showing = _worldPacket.ReadBit();
|
||||
}
|
||||
|
||||
void WorldPackets::Character::QueryPlayerName::Read()
|
||||
{
|
||||
_worldPacket >> Player;
|
||||
|
||||
Hint.VirtualRealmAddress.HasValue = _worldPacket.ReadBit();
|
||||
Hint.NativeRealmAddress.HasValue = _worldPacket.ReadBit();
|
||||
|
||||
if (Hint.VirtualRealmAddress.HasValue)
|
||||
_worldPacket >> Hint.VirtualRealmAddress;
|
||||
|
||||
if (Hint.NativeRealmAddress.HasValue)
|
||||
_worldPacket >> Hint.NativeRealmAddress;
|
||||
}
|
||||
|
||||
@@ -25,6 +25,12 @@ namespace WorldPackets
|
||||
{
|
||||
namespace Character
|
||||
{
|
||||
struct PlayerGuidLookupHint
|
||||
{
|
||||
public Optional<uint32> VirtualRealmAddress; ///< current realm (?) (identifier made from the Index, BattleGroup and Region)
|
||||
public Optional<uint32> NativeRealmAddress; ///< original realm (?) (identifier made from the Index, BattleGroup and Region)
|
||||
};
|
||||
|
||||
struct CharacterCreateInfo
|
||||
{
|
||||
/// User specified variables
|
||||
@@ -360,6 +366,17 @@ namespace WorldPackets
|
||||
int32 MapID = -1;
|
||||
bool Showing = false;
|
||||
};
|
||||
|
||||
class QueryPlayerName final : public ClientPacket
|
||||
{
|
||||
public:
|
||||
QueryPlayerName(WorldPacket&& packet) : ClientPacket(CMSG_NAME_QUERY, std::move(packet)) { }
|
||||
|
||||
void Read() override;
|
||||
|
||||
ObjectGuid Player;
|
||||
PlayerGuidLookupHint Hint;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace WorldPackets
|
||||
class CancelTrade final : public ClientPacket
|
||||
{
|
||||
public:
|
||||
CancelTrade(WorldPacket&& packet) : ClientPacket(CMSG_CANCEL_TRADE, std::move(packet) { }
|
||||
CancelTrade(WorldPacket&& packet) : ClientPacket(CMSG_CANCEL_TRADE, std::move(packet)) { }
|
||||
|
||||
void Read() override { }
|
||||
};
|
||||
|
||||
@@ -447,7 +447,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_STOP, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_TIME_SKIPPED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleMoveTimeSkippedOpcode );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_WATER_WALK_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveWaterWalkAck );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_NAME_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleNameQueryOpcode );
|
||||
DEFINE_OPCODE(CMSG_NAME_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::QueryPlayerName, &WorldSession::HandleNameQueryOpcode);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_NEXT_CINEMATIC_CAMERA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleNextCinematicCamera );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_NPC_TEXT_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleNpcTextQueryOpcode );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_OBJECT_UPDATE_FAILED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleObjectUpdateFailedOpcode );
|
||||
|
||||
@@ -90,6 +90,7 @@ namespace WorldPackets
|
||||
class LogoutRequest;
|
||||
class LogoutCancel;
|
||||
class LoadingScreenNotify;
|
||||
class QueryPlayerName;
|
||||
}
|
||||
|
||||
namespace Guild
|
||||
@@ -452,7 +453,7 @@ class WorldSession
|
||||
void HandleCharCreateCallback(PreparedQueryResult result, WorldPackets::Character::CharacterCreateInfo* createInfo);
|
||||
void HandlePlayerLoginOpcode(WorldPackets::Character::PlayerLogin& playerLogin);
|
||||
void HandleContinuePlayerLogin();
|
||||
void HandleLoadScreenOpcode(WorldPacket& recvPacket);
|
||||
void HandleLoadScreenOpcode(WorldPackets::Character::LoadingScreenNotify& loadingScreenNotify);
|
||||
void HandlePlayerLogin(LoginQueryHolder * holder);
|
||||
void HandleCharRenameOpcode(WorldPacket& recvData);
|
||||
void HandleCharRenameCallBack(PreparedQueryResult result, WorldPackets::Character::CharacterRenameInfo const* renameInfo);
|
||||
@@ -568,7 +569,7 @@ class WorldSession
|
||||
void HandleMeetingStoneInfo(WorldPacket& recPacket);
|
||||
void HandleGameobjectReportUse(WorldPacket& recvPacket);
|
||||
|
||||
void HandleNameQueryOpcode(WorldPacket& recvPacket);
|
||||
void HandleNameQueryOpcode(WorldPackets::Character::QueryPlayerName& queryPlayerName);
|
||||
|
||||
void HandleQueryTimeOpcode(WorldPacket& recvPacket);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user