diff options
author | ModoX <moardox@gmail.com> | 2023-08-13 23:57:47 +0200 |
---|---|---|
committer | ModoX <moardox@gmail.com> | 2023-08-13 23:59:24 +0200 |
commit | 35e5da37bdbbac355e454c5cbabe5991b7966709 (patch) | |
tree | 1bad1794128173f87d25ff764f5d3462caa9005a | |
parent | c2d8c64d366899d7f3ab22b5abd79f44640a70e7 (diff) |
Core/Object: Implemented helper method PlayObjectSound
-rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 15 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Object.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 75f9ec052f4..a83dfea2a48 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -3575,6 +3575,21 @@ void WorldObject::PlayDirectMusic(uint32 musicId, Player* target /*= nullptr*/) SendMessageToSet(WorldPackets::Misc::PlayMusic(musicId).Write(), true); } +void WorldObject::PlayObjectSound(int32 soundKitId, ObjectGuid targetObjectGUID, Player* target /*= nullptr*/, int32 broadcastTextId /*= 0*/) +{ + WorldPackets::Misc::PlayObjectSound pkt; + pkt.TargetObjectGUID = targetObjectGUID; + pkt.SourceObjectGUID = GetGUID(); + pkt.SoundKitID = soundKitId; + pkt.Position = GetPosition(); + pkt.BroadcastTextID = broadcastTextId; + + if (target) + target->SendDirectMessage(pkt.Write()); + else + SendMessageToSet(pkt.Write(), true); +} + void WorldObject::DestroyForNearbyPlayers() { if (!IsInWorld()) diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index b1281a3cff7..7be261600a7 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -580,6 +580,7 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation void PlayDistanceSound(uint32 soundId, Player* target = nullptr); void PlayDirectSound(uint32 soundId, Player* target = nullptr, uint32 broadcastTextId = 0); void PlayDirectMusic(uint32 musicId, Player* target = nullptr); + void PlayObjectSound(int32 soundKitId, ObjectGuid targetObject, Player* target = nullptr, int32 broadcastTextId = 0); void AddObjectToRemoveList(); |