Core/PacketIO: updated SMSG_SET_AI_ANIM_KIT and SMSG_SET_PLAY_HOVER_ANIM

This commit is contained in:
MitchesD
2015-06-23 15:03:49 +02:00
parent 37142deae4
commit 66056b2f8a
5 changed files with 49 additions and 27 deletions
+4 -4
View File
@@ -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)
+4 -21
View File
@@ -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]);
WorldPackets::Misc::SetPlayHoverAnim data;
data.UnitGUID = GetGUID();
data.PlayHoverAnim = enable;
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]);
SendMessageToSet(&data, true);
SendMessageToSet(data.Write(), true);
}
bool Unit::IsSplineEnabled() const
@@ -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;
}
@@ -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;
};
}
}
+2 -2
View File
@@ -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);