Core/Units: implement function to play animkit.dbc entrys by using smsg play one shot anim kit.

*handle emote command is deprecated for cataclysm; on sniffs i've seen that every npc use the animkit.dbc for playing special emotes.
This commit is contained in:
Northstrider committed 2012-09-12 07:10:49 +02:00
1 parent 9e9ebcbfb3
commit 058789e866
3 files changed
+10

No files matched your search

+8
View File
@@ -14579,6 +14579,14 @@ void Unit::SendDurabilityLoss(Player* receiver, uint32 percent)
receiver->GetSession()->SendPacket(&data);
}
void Unit::PlayOneShotAnimKit(uint32 id)
{
WorldPacket data(SMSG_PLAY_ONE_SHOT_ANIM_KIT, 8+1);
data.appendPackGUID(GetGUID());
data << uint16(id);
SendMessageToSet(&data, true);
}
void Unit::Kill(Unit* victim, bool durabilityLoss)
{
// Prevent killing unit twice (and giving reward from kill twice)
+1
View File
@@ -1426,6 +1426,7 @@ class Unit : public WorldObject
MountCapabilityEntry const* GetMountCapability(uint32 mountType) const;
void SendDurabilityLoss(Player* receiver, uint32 percent);
void PlayOneShotAnimKit(uint32 id);
uint16 GetMaxSkillValueForLevel(Unit const* target = NULL) const { return (target ? getLevelForTarget(target) : getLevel()) * 5; }
void DealDamageMods(Unit* victim, uint32 &damage, uint32* absorb);
@@ -1076,6 +1076,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER(SMSG_PLAY_DANCE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
DEFINE_OPCODE_HANDLER(SMSG_PLAY_MUSIC, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
DEFINE_OPCODE_HANDLER(SMSG_PLAY_OBJECT_SOUND, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
DEFINE_OPCODE_HANDLER(SMSG_PLAY_ONE_SHOT_ANIM_KIT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
DEFINE_OPCODE_HANDLER(SMSG_PLAY_SOUND, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
DEFINE_OPCODE_HANDLER(SMSG_PLAY_SPELL_VISUAL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
DEFINE_OPCODE_HANDLER(SMSG_PLAY_SPELL_VISUAL_KIT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );