diff options
author | MitchesD <majklprofik@seznam.cz> | 2015-06-23 15:03:49 +0200 |
---|---|---|
committer | MitchesD <majklprofik@seznam.cz> | 2015-06-23 15:03:49 +0200 |
commit | 66056b2f8ae9c3fbc250a44141a8a6af24ed0816 (patch) | |
tree | 60bf7922c5429458d9e05008a51aed121e35fc9d | |
parent | 37142deae41d443ed690dde6b7691d157e5e3694 (diff) |
Core/PacketIO: updated SMSG_SET_AI_ANIM_KIT and SMSG_SET_PLAY_HOVER_ANIM
-rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 25 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 17 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 22 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 4 |
5 files changed, 49 insertions, 27 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 655af613220..92597cf66ae 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -3112,10 +3112,10 @@ void WorldObject::SetAIAnimKitId(uint16 animKitId) m_aiAnimKitId = animKitId; - WorldPacket data(SMSG_SET_AI_ANIM_KIT, 8 + 2); - data << GetPackGUID(); - data << uint16(animKitId); - SendMessageToSet(&data, true); + WorldPackets::Misc::SetAIAnimKit data; + data.Unit = GetGUID(); + data.AnimKitID = animKitId; + SendMessageToSet(data.Write(), true); } void WorldObject::SetMovementAnimKitId(uint16 animKitId) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index b938c0d039e..e94ab61265c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -16004,28 +16004,11 @@ void Unit::SendSetVehicleRecId(uint32 vehicleId) void Unit::SendSetPlayHoverAnim(bool enable) { - ObjectGuid guid = GetGUID(); - WorldPacket data(SMSG_SET_PLAY_HOVER_ANIM, 10); - data.WriteBit(guid[4]); - data.WriteBit(guid[0]); - data.WriteBit(guid[1]); - data.WriteBit(enable); - data.WriteBit(guid[3]); - data.WriteBit(guid[7]); - data.WriteBit(guid[5]); - data.WriteBit(guid[2]); - data.WriteBit(guid[6]); - - data.WriteByteSeq(guid[3]); - data.WriteByteSeq(guid[2]); - data.WriteByteSeq(guid[1]); - data.WriteByteSeq(guid[7]); - data.WriteByteSeq(guid[0]); - data.WriteByteSeq(guid[5]); - data.WriteByteSeq(guid[4]); - data.WriteByteSeq(guid[6]); + WorldPackets::Misc::SetPlayHoverAnim data; + data.UnitGUID = GetGUID(); + data.PlayHoverAnim = enable; - SendMessageToSet(&data, true); + SendMessageToSet(data.Write(), true); } bool Unit::IsSplineEnabled() const diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index bbd3fcb2ba7..346f7e0e568 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -520,3 +520,20 @@ WorldPacket const* WorldPackets::Misc::LoadCUFProfiles::Write() return &_worldPacket; } + +WorldPacket const* WorldPackets::Misc::SetAIAnimKit::Write() +{ + _worldPacket << Unit; + _worldPacket << uint16(AnimKitID); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Misc::SetPlayHoverAnim::Write() +{ + _worldPacket << UnitGUID; + _worldPacket.WriteBit(PlayHoverAnim); + _worldPacket.FlushBits(); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index 93bac0d208b..858b2962ea9 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -663,6 +663,28 @@ namespace WorldPackets std::vector<CUFProfile const*> CUFProfiles; }; + + class SetAIAnimKit final : public ServerPacket + { + public: + SetAIAnimKit() : ServerPacket(SMSG_SET_AI_ANIM_KIT, 16 + 2) { } + + WorldPacket const* Write() override; + + ObjectGuid Unit; + uint16 AnimKitID = 0; + }; + + class SetPlayHoverAnim final : public ServerPacket + { + public: + SetPlayHoverAnim() : ServerPacket(SMSG_SET_PLAY_HOVER_ANIM, 16 + 1) { } + + WorldPacket const* Write() override; + + ObjectGuid UnitGUID; + bool PlayHoverAnim = false; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 386da54ddca..c44f7b02d66 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1608,7 +1608,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_CURRENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_RESEARCH_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_AI_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_AI_ANIM_KIT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ALL_TASK_PROGRESS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ANIM_TIER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_CURRENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); @@ -1629,7 +1629,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PCT_SPELL_MODIFIER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PET_SPECIALIZATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PLAY_HOVER_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PLAY_HOVER_ANIM, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PROFICIENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_SPELL_CHARGES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_TASK_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); |