From ec97df65287527aa68d2a0bd51a7be99a97bb0f7 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sun, 11 Dec 2022 19:39:11 +0100 Subject: [PATCH] Core/Packets: enabled and added packet structure for SMSG_PET_MODE --- src/server/game/Server/Packets/PetPackets.cpp | 8 ++++++++ src/server/game/Server/Packets/PetPackets.h | 12 ++++++++++++ src/server/game/Server/Protocol/Opcodes.cpp | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/server/game/Server/Packets/PetPackets.cpp b/src/server/game/Server/Packets/PetPackets.cpp index 70e93b0057..265edda684 100644 --- a/src/server/game/Server/Packets/PetPackets.cpp +++ b/src/server/game/Server/Packets/PetPackets.cpp @@ -33,3 +33,11 @@ WorldPacket const* WorldPackets::Pet::PetGuids::Write() return &_worldPacket; } + +WorldPacket const* WorldPackets::Pet::SPetMode::Write() +{ + _worldPacket << PetGUID; + _worldPacket << uint32(PetMode); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/PetPackets.h b/src/server/game/Server/Packets/PetPackets.h index 227941c2a3..279c601128 100644 --- a/src/server/game/Server/Packets/PetPackets.h +++ b/src/server/game/Server/Packets/PetPackets.h @@ -19,6 +19,7 @@ #define PetPackets_h__ #include "Packet.h" +#include "ObjectGuid.h" #include "Position.h" namespace WorldPackets @@ -45,6 +46,17 @@ namespace WorldPackets std::vector PetGUIDs; }; + + class SPetMode final : public ServerPacket + { + public: + SPetMode() : ServerPacket(SMSG_PET_MODE, 8 + 4) { } + + WorldPacket const* Write() override; + + ObjectGuid PetGUID; + uint32 PetMode = 0; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index a8476d2e41..682fede4db 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1103,7 +1103,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_DISMISS_SOUND, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_GUIDS, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_LEARNED_SPELL, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_MODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_MODE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_NAME_INVALID, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_NAME_QUERY_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_REMOVED_SPELL, STATUS_NEVER, CONNECTION_TYPE_REALM);