Core/Packets: converted SMSG_DURABILITY_DAMAGE_DEATH, SMSG_PLAY_ONE_SHOT_ANIM_KIT, SMSG_SET_AI_ANIM_KIT, SMSG_SET_MOVEMENT_ANIM_KIT and SMSG_SET_MELEE_ANIM_KIT to packet class

This commit is contained in:
Ovahlord committed 2020-04-07 16:29:30 +02:00
1 parent eb81e8f4a3
commit b5bdf61e5f
4 files changed
+113 -19

No files matched your search

+12 -12
View File
@@ -2821,10 +2821,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 packet;
packet.Unit = GetGUID();
packet.AnimKitID = animKitId;
SendMessageToSet(packet.Write(), true);
}
void WorldObject::SetMovementAnimKitId(uint16 animKitId)
@@ -2837,10 +2837,10 @@ void WorldObject::SetMovementAnimKitId(uint16 animKitId)
m_movementAnimKitId = animKitId;
WorldPacket data(SMSG_SET_MOVEMENT_ANIM_KIT, 8 + 2);
data << GetPackGUID();
data << uint16(animKitId);
SendMessageToSet(&data, true);
WorldPackets::Misc::SetMovementAnimKit packet;
packet.Unit = GetGUID();
packet.AnimKitID = animKitId;
SendMessageToSet(packet.Write(), true);
}
void WorldObject::SetMeleeAnimKitId(uint16 animKitId)
@@ -2853,8 +2853,8 @@ void WorldObject::SetMeleeAnimKitId(uint16 animKitId)
m_meleeAnimKitId = animKitId;
WorldPacket data(SMSG_SET_MELEE_ANIM_KIT, 8 + 2);
data << GetPackGUID();
data << uint16(animKitId);
SendMessageToSet(&data, true);
WorldPackets::Misc::SetMeleeAnimKit packet;
packet.Unit = GetGUID();
packet.AnimKitID = animKitId;
SendMessageToSet(packet.Write(), true);
}
+8 -7
View File
@@ -39,6 +39,7 @@
#include "Item.h"
#include "Log.h"
#include "LootMgr.h"
#include "MiscPackets.h"
#include "MotionMaster.h"
#include "MovementGenerator.h"
#include "MovementPackets.h"
@@ -11604,17 +11605,17 @@ bool Unit::InitTamedPet(Pet* pet, uint8 level, uint32 spell_id)
void Unit::SendDurabilityLoss(Player* receiver, uint32 percent)
{
WorldPacket data(SMSG_DURABILITY_DAMAGE_DEATH, 4);
data << uint32(percent);
receiver->SendDirectMessage(&data);
WorldPackets::Misc::DurabilityDamageDeath packet;
packet.Percent = percent;
receiver->SendDirectMessage(packet.Write());
}
void Unit::PlayOneShotAnimKitId(uint16 animKitId)
{
WorldPacket data(SMSG_PLAY_ONE_SHOT_ANIM_KIT, 7+2);
data << GetPackGUID();
data << uint16(animKitId);
SendMessageToSet(&data, true);
WorldPackets::Misc::PlayOneShotAnimKit packet;
packet.Unit = GetGUID();
packet.AnimKitID = animKitId;
SendMessageToSet(packet.Write(), true);
}
void Unit::Kill(Unit* victim, bool durabilityLoss)
@@ -185,3 +185,42 @@ WorldPacket const* WorldPackets::Misc::OverrideLight::Write()
return &_worldPacket;
}
WorldPacket const* WorldPackets::Misc::DurabilityDamageDeath::Write()
{
_worldPacket << int32(Percent);
return &_worldPacket;
}
WorldPacket const* WorldPackets::Misc::PlayOneShotAnimKit::Write()
{
_worldPacket << Unit.WriteAsPacked();
_worldPacket << uint16(AnimKitID);
return &_worldPacket;
}
WorldPacket const* WorldPackets::Misc::SetAIAnimKit::Write()
{
_worldPacket << Unit.WriteAsPacked();
_worldPacket << uint16(AnimKitID);
return &_worldPacket;
}
WorldPacket const* WorldPackets::Misc::SetMeleeAnimKit::Write()
{
_worldPacket << Unit.WriteAsPacked();
_worldPacket << uint16(AnimKitID);
return &_worldPacket;
}
WorldPacket const* WorldPackets::Misc::SetMovementAnimKit::Write()
{
_worldPacket << Unit.WriteAsPacked();
_worldPacket << uint16(AnimKitID);
return &_worldPacket;
}
@@ -216,6 +216,60 @@ namespace WorldPackets
int32 TransitionMilliseconds = 0;
int32 OverrideLightID = 0;
};
class DurabilityDamageDeath final : public ServerPacket
{
public:
DurabilityDamageDeath() : ServerPacket(SMSG_DURABILITY_DAMAGE_DEATH, 4) { }
WorldPacket const* Write() override;
int32 Percent = 0;
};
class PlayOneShotAnimKit final : public ServerPacket
{
public:
PlayOneShotAnimKit() : ServerPacket(SMSG_PLAY_ONE_SHOT_ANIM_KIT, 8 + 2) { }
WorldPacket const* Write() override;
ObjectGuid Unit;
uint16 AnimKitID = 0;
};
class SetAIAnimKit final : public ServerPacket
{
public:
SetAIAnimKit() : ServerPacket(SMSG_SET_AI_ANIM_KIT, 8 + 2) { }
WorldPacket const* Write() override;
ObjectGuid Unit;
uint16 AnimKitID = 0;
};
class SetMovementAnimKit final : public ServerPacket
{
public:
SetMovementAnimKit() : ServerPacket(SMSG_SET_MOVEMENT_ANIM_KIT, 8 + 2) { }
WorldPacket const* Write() override;
ObjectGuid Unit;
uint16 AnimKitID = 0;
};
class SetMeleeAnimKit final : public ServerPacket
{
public:
SetMeleeAnimKit() : ServerPacket(SMSG_SET_MELEE_ANIM_KIT, 8 + 2) { }
WorldPacket const* Write() override;
ObjectGuid Unit;
uint16 AnimKitID = 0;
};
}
}