diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-02-02 00:08:37 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-02-02 00:08:37 +0100 |
| commit | 950db60435e7e513633ff5b22ad7f0ed8b1147e4 (patch) | |
| tree | cb5b9e47570528dea0374f804f829512c89a5410 /src/server/game/Server | |
| parent | d6a2461fc77f156dfe9e62c1c2387815c27e43de (diff) | |
Core/Pets: Updated pet summoning for latest client version (5 Call Pet spells and stable size 200)
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/NPCPackets.cpp | 7 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/NPCPackets.h | 12 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Server/WorldSession.h | 5 |
4 files changed, 22 insertions, 4 deletions
diff --git a/src/server/game/Server/Packets/NPCPackets.cpp b/src/server/game/Server/Packets/NPCPackets.cpp index fc7bd406588..1ddf5378c4e 100644 --- a/src/server/game/Server/Packets/NPCPackets.cpp +++ b/src/server/game/Server/Packets/NPCPackets.cpp @@ -224,5 +224,12 @@ void RequestStabledPets::Read() { _worldPacket >> StableMaster; } + +void SetPetSlot::Read() +{ + _worldPacket >> PetNumber; + _worldPacket >> DestSlot; + _worldPacket >> StableMaster; +} } } diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h index bf16a355b42..320594ffd2f 100644 --- a/src/server/game/Server/Packets/NPCPackets.h +++ b/src/server/game/Server/Packets/NPCPackets.h @@ -264,6 +264,18 @@ namespace WorldPackets ObjectGuid StableMaster; }; + + class SetPetSlot final : public ClientPacket + { + public: + SetPetSlot(WorldPacket&& packet) : ClientPacket(CMSG_SET_PET_SLOT, std::move(packet)) { } + + void Read() override; + + ObjectGuid StableMaster; + uint32 PetNumber = 0; + uint8 DestSlot = 0; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 22b2b2bef06..6be93de627c 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -808,7 +808,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_SET_LOOT_SPECIALIZATION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetLootSpecialization); DEFINE_HANDLER(CMSG_SET_PARTY_ASSIGNMENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetPartyAssignment); DEFINE_HANDLER(CMSG_SET_PARTY_LEADER, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetPartyLeaderOpcode); - DEFINE_HANDLER(CMSG_SET_PET_SLOT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_SET_PET_SLOT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetPetSlot); DEFINE_HANDLER(CMSG_SET_PLAYER_DECLINED_NAMES, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetPlayerDeclinedNames); DEFINE_HANDLER(CMSG_SET_PREFERRED_CEMETERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_PVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetPvP); diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index ace0b3931bb..3e71131fff0 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -547,6 +547,7 @@ namespace WorldPackets class SpiritHealerActivate; class TrainerBuySpell; class RequestStabledPets; + class SetPetSlot; } namespace Party @@ -1403,9 +1404,7 @@ class TC_GAME_API WorldSession void HandleNpcTextQueryOpcode(WorldPackets::Query::QueryNPCText& packet); void HandleBinderActivateOpcode(WorldPackets::NPC::Hello& packet); void HandleRequestStabledPets(WorldPackets::NPC::RequestStabledPets& packet); - void HandleStablePet(WorldPacket& recvPacket); - void HandleUnstablePet(WorldPacket& recvPacket); - void HandleStableSwapPet(WorldPacket& recvPacket); + void HandleSetPetSlot(WorldPackets::NPC::SetPetSlot& setPetSlot); void HandleCanDuel(WorldPackets::Duel::CanDuel& packet); void HandleDuelResponseOpcode(WorldPackets::Duel::DuelResponse& duelResponse); |
