aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2016-12-03 16:50:20 +0100
committerjoschiwald <joschiwald.trinity@gmail.com>2016-12-03 16:50:20 +0100
commit1272e9eea684d1f155709baee44a301ff938ade5 (patch)
treebb9e60542bf8915ebdd7d6efbdd05d50fbd82667 /src
parent7ee0e2ad08fa73a1f71fe12bbac293c9a24dc0c5 (diff)
Core/Packets: added SMSG_PLAY_OBJECT_SOUND packet class
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp10
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h13
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
3 files changed, 24 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp
index dbd8771d9f2..5434de49a67 100644
--- a/src/server/game/Server/Packets/MiscPackets.cpp
+++ b/src/server/game/Server/Packets/MiscPackets.cpp
@@ -434,6 +434,16 @@ void WorldPackets::Misc::ObjectUpdateRescued::Read()
_worldPacket >> ObjectGUID;
}
+WorldPacket const* WorldPackets::Misc::PlayObjectSound::Write()
+{
+ _worldPacket << int32(SoundKitID);
+ _worldPacket << SourceObjectGUID;
+ _worldPacket << TargetObjectGUID;
+ _worldPacket << Position;
+
+ return &_worldPacket;
+}
+
WorldPacket const* WorldPackets::Misc::PlaySound::Write()
{
_worldPacket << int32(SoundKitID);
diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h
index 47dc8ea29eb..654a5ae715f 100644
--- a/src/server/game/Server/Packets/MiscPackets.h
+++ b/src/server/game/Server/Packets/MiscPackets.h
@@ -599,6 +599,19 @@ namespace WorldPackets
ObjectGuid ObjectGUID;
};
+ class PlayObjectSound final : public ServerPacket
+ {
+ public:
+ PlayObjectSound() : ServerPacket(SMSG_PLAY_OBJECT_SOUND, 16 + 16 + 4 + 4 * 4) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid TargetObjectGUID;
+ ObjectGuid SourceObjectGUID;
+ int32 SoundKitID = 0;
+ G3D::Vector3 Position;
+ };
+
class TC_GAME_API PlaySound final : public ServerPacket
{
public:
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index fc636fa7f87..60ce86eee56 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1500,7 +1500,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_SKINNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_TABARD_VENDOR_ACTIVATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_MUSIC, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_OBJECT_SOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_OBJECT_SOUND, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_ONE_SHOT_ANIM_KIT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_ORPHAN_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_SCENE, STATUS_NEVER, CONNECTION_TYPE_REALM);