aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authorDDuarte <dnpd.dd@gmail.com>2014-11-10 05:53:05 +0000
committerDDuarte <dnpd.dd@gmail.com>2014-11-10 05:53:05 +0000
commitec7923c2e6f7778d82e8102d38cd54e0827fb840 (patch)
tree9fe805b797f9e1d899e217f5b88c3e7d9dfe81c9 /src/server/game/Server/Packets
parent4b0a97af92b114e37c5eab8e77fec62a8f383247 (diff)
Core/Packets: CMSG_NAME_QUERY (QueryPlayerName) handler
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp14
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h17
-rw-r--r--src/server/game/Server/Packets/TradePackets.h2
3 files changed, 32 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 4027f4c7cac..2adbd3666b0 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -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;
+}
diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h
index 9ac13111241..e85a8aaccb9 100644
--- a/src/server/game/Server/Packets/CharacterPackets.h
+++ b/src/server/game/Server/Packets/CharacterPackets.h
@@ -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;
+ };
}
}
diff --git a/src/server/game/Server/Packets/TradePackets.h b/src/server/game/Server/Packets/TradePackets.h
index e63a22eaebc..aff21ff32dc 100644
--- a/src/server/game/Server/Packets/TradePackets.h
+++ b/src/server/game/Server/Packets/TradePackets.h
@@ -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 { }
};