aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchesD <majklprofik@seznam.cz>2015-06-23 15:03:49 +0200
committerMitchesD <majklprofik@seznam.cz>2015-06-23 15:03:49 +0200
commit66056b2f8ae9c3fbc250a44141a8a6af24ed0816 (patch)
tree60bf7922c5429458d9e05008a51aed121e35fc9d
parent37142deae41d443ed690dde6b7691d157e5e3694 (diff)
Core/PacketIO: updated SMSG_SET_AI_ANIM_KIT and SMSG_SET_PLAY_HOVER_ANIM
-rw-r--r--src/server/game/Entities/Object/Object.cpp8
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp25
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp17
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h22
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp4
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);