aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2023-11-16 13:27:23 +0100
committerOvahlord <dreadkiller@gmx.de>2023-11-16 13:27:23 +0100
commitee7860ce08bc0ddfa8a4a59a4e73a175fa1b7592 (patch)
tree3bf1996d0542810bf9c5a3a4d8a4f8f4f02201c1
parentfae00e6f17965ab4f92cd6d1f6051f49001cbe29 (diff)
Core/Packets: fixed structure of SMSG_QUERY_CREATURE_RESPONSE
-rw-r--r--src/server/game/Server/Packets/QueryPackets.cpp5
-rw-r--r--src/server/game/Server/Packets/QueryPackets.h2
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
3 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/QueryPackets.cpp b/src/server/game/Server/Packets/QueryPackets.cpp
index ef02dfe1c74..9b72b4f5872 100644
--- a/src/server/game/Server/Packets/QueryPackets.cpp
+++ b/src/server/game/Server/Packets/QueryPackets.cpp
@@ -77,6 +77,7 @@ WorldPacket const* QueryCreatureResponse::Write()
_worldPacket.WriteBits(Stats.Title.length() + 1, 11);
_worldPacket.WriteBits(Stats.TitleAlt.length() + 1, 11);
_worldPacket.WriteBits(Stats.CursorName.length() + 1, 6);
+ _worldPacket.WriteBit(Stats.Cilivilan);
_worldPacket.WriteBit(Stats.Leader);
for (std::size_t i = 0; i < Stats.Name.size(); ++i)
@@ -85,6 +86,8 @@ WorldPacket const* QueryCreatureResponse::Write()
_worldPacket.WriteBits(Stats.NameAlt[i].length() + 1, 11);
}
+ _worldPacket.FlushBits();
+
for (std::size_t i = 0; i < Stats.Name.size(); ++i)
{
if (!Stats.Name[i].empty())
@@ -98,7 +101,9 @@ WorldPacket const* QueryCreatureResponse::Write()
_worldPacket << int32(Stats.CreatureType);
_worldPacket << int32(Stats.CreatureFamily);
_worldPacket << int32(Stats.Classification);
+ _worldPacket << uint32(Stats.PetSpellDataId);
_worldPacket.append(Stats.ProxyCreatureID.data(), Stats.ProxyCreatureID.size());
+
_worldPacket << uint32(Stats.Display.CreatureDisplay.size());
_worldPacket << float(Stats.Display.TotalProbability);
diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h
index ac4a9252245..c2ff3f67734 100644
--- a/src/server/game/Server/Packets/QueryPackets.h
+++ b/src/server/game/Server/Packets/QueryPackets.h
@@ -67,9 +67,11 @@ namespace WorldPackets
int32 CreatureType = 0;
int32 CreatureFamily = 0;
int32 Classification = 0;
+ uint32 PetSpellDataId = 0;
CreatureDisplayStats Display;
float HpMulti = 0.0f;
float EnergyMulti = 0.0f;
+ bool Cilivilan = false;
bool Leader = false;
std::vector<int32> QuestItems;
uint32 CreatureMovementInfoID = 0;
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 678f1c55ec9..87ebb14509c 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1929,7 +1929,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_SEASON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_ARENA_TEAM_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_BATTLE_PET_NAME_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_CREATURE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_CREATURE_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_GAME_OBJECT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_GARRISON_PET_NAME_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_GUILD_FOLLOW_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);