From 9e9ebcbfb3b45e07f05e9cc23a8820eda7b2fbf3 Mon Sep 17 00:00:00 2001 From: Northstrider Date: Wed, 12 Sep 2012 07:07:29 +0200 Subject: Core/Protocol: *added 4 opcode names (thx fabi for the names) *added opcode value for smsg_play_one_shot_anim_kit --- src/server/game/Server/Protocol/Opcodes.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index 3dd142da8f3..379ea2542ca 100755 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -1166,6 +1166,7 @@ enum Opcodes SMSG_PLAY_DANCE = 0x4704, SMSG_PLAY_MUSIC = 0x4B06, SMSG_PLAY_OBJECT_SOUND = 0x2635, + SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x4A35, SMSG_PLAY_SOUND = 0x2134, SMSG_PLAY_SPELL_VISUAL = 0x10B1, SMSG_PLAY_SPELL_VISUAL_KIT = 0x55A5, @@ -1243,12 +1244,15 @@ enum Opcodes SMSG_SERVER_MESSAGE = 0x6C04, SMSG_SERVER_PERF = 0x74B6, SMSG_SETUP_RESEARCH_HISTORY = 0x0000, + SMSG_SET_AI_ANIM_KIT = 0x0000, SMSG_SET_DF_FAST_LAUNCH_RESULT = 0x35B6, SMSG_SET_FACTION_ATWAR = 0x4216, SMSG_SET_FACTION_STANDING = 0x0126, SMSG_SET_FACTION_VISIBLE = 0x2525, SMSG_SET_FLAT_SPELL_MODIFIER = 0x2834, SMSG_SET_FORCED_REACTIONS = 0x4615, + SMSG_SET_MELEE_ANIM_KIT = 0x0000, + SMSG_SET_MOVEMENT_ANIM_KIT = 0x0000, SMSG_SET_PCT_SPELL_MODIFIER = 0x0224, SMSG_SET_PHASE_SHIFT = 0x70A0, SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x2B25, -- cgit v1.2.3 From 058789e866d95c69f3611c6b30593facf2e2abf2 Mon Sep 17 00:00:00 2001 From: Northstrider Date: Wed, 12 Sep 2012 07:10:49 +0200 Subject: 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. --- src/server/game/Entities/Unit/Unit.cpp | 8 ++++++++ src/server/game/Entities/Unit/Unit.h | 1 + src/server/game/Server/Protocol/Opcodes.cpp | 1 + 3 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 99d43a2e33d..288d741589d 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -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) diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index b57f148c3d6..102754f1d81 100755 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -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); diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 1b458920817..1448f046213 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -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 ); -- cgit v1.2.3 From f139243de5ea13080c5eaab33d596873e45174de Mon Sep 17 00:00:00 2001 From: Northstrider Date: Wed, 12 Sep 2012 20:39:36 +0200 Subject: Core/Units: pakcet guid change for recent function --- src/server/game/Entities/Unit/Unit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 288d741589d..688c15841f1 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -14581,7 +14581,7 @@ void Unit::SendDurabilityLoss(Player* receiver, uint32 percent) void Unit::PlayOneShotAnimKit(uint32 id) { - WorldPacket data(SMSG_PLAY_ONE_SHOT_ANIM_KIT, 8+1); + WorldPacket data(SMSG_PLAY_ONE_SHOT_ANIM_KIT, 7+2); data.appendPackGUID(GetGUID()); data << uint16(id); SendMessageToSet(&data, true); -- cgit v1.2.3