diff options
| author | Mykhailo Redko <ovitnez@gmail.com> | 2025-02-11 15:47:51 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-11 14:47:51 +0100 |
| commit | a827230910fd7e3e64bcb5526e2778b8b4752da4 (patch) | |
| tree | 4407b3f9cb328d5d762956ea2fe5877161c71187 /src/server/game/Server | |
| parent | 52af034225e12c5b4d0c9fc437dad3d409b66d5e (diff) | |
Core/Pets: Implemented sound playback when dismissing warlock pets (#30683)
Diffstat (limited to 'src/server/game/Server')
| -rwxr-xr-x | src/server/game/Server/Packets/PetPackets.cpp | 14 | ||||
| -rwxr-xr-x | src/server/game/Server/Packets/PetPackets.h | 25 |
2 files changed, 39 insertions, 0 deletions
diff --git a/src/server/game/Server/Packets/PetPackets.cpp b/src/server/game/Server/Packets/PetPackets.cpp index 7653e2a2328..1b2ee6532b6 100755 --- a/src/server/game/Server/Packets/PetPackets.cpp +++ b/src/server/game/Server/Packets/PetPackets.cpp @@ -50,3 +50,17 @@ WorldPacket const* WorldPackets::Pet::PetUnlearnedSpell::Write() _worldPacket << uint32(SpellID); return &_worldPacket; } + +WorldPacket const* WorldPackets::Pet::PetActionSound::Write() +{ + _worldPacket << UnitGUID; + _worldPacket << int32(Action); + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Pet::PetDismissSound::Write() +{ + _worldPacket << int32(ModelId); + _worldPacket << ModelPosition; + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/PetPackets.h b/src/server/game/Server/Packets/PetPackets.h index cf175fb6f5a..8893f2497d9 100755 --- 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 "Position.h" #include "ObjectGuid.h" namespace WorldPackets @@ -94,6 +95,30 @@ namespace WorldPackets void Read() override { } }; + + class PetActionSound final : public ServerPacket + { + public: + PetActionSound(ObjectGuid unitGUID, int32 action) + : ServerPacket(SMSG_PET_ACTION_SOUND, 8 + 4), UnitGUID(unitGUID), Action(action) { } + + WorldPacket const* Write() override; + + ObjectGuid UnitGUID; + int32 Action = 0; + }; + + class PetDismissSound final : public ServerPacket + { + public: + PetDismissSound(int32 modelId, Position modelPosition) + : ServerPacket(SMSG_PET_DISMISS_SOUND, 4 + 12), ModelId(modelId), ModelPosition(modelPosition) { } + + WorldPacket const* Write() override; + + int32 ModelId = 0; + TaggedPosition<Position::XYZ> ModelPosition; + }; } } |
