aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorMykhailo Redko <ovitnez@gmail.com>2025-02-11 15:47:51 +0200
committerGitHub <noreply@github.com>2025-02-11 14:47:51 +0100
commita827230910fd7e3e64bcb5526e2778b8b4752da4 (patch)
tree4407b3f9cb328d5d762956ea2fe5877161c71187 /src/server/game/Server
parent52af034225e12c5b4d0c9fc437dad3d409b66d5e (diff)
Core/Pets: Implemented sound playback when dismissing warlock pets (#30683)
Diffstat (limited to 'src/server/game/Server')
-rwxr-xr-xsrc/server/game/Server/Packets/PetPackets.cpp14
-rwxr-xr-xsrc/server/game/Server/Packets/PetPackets.h25
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;
+ };
}
}