diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index c108c4fe0b..9af319c7f4 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -15017,14 +15017,14 @@ void Unit::SetAuraStack(uint32 spellId, Unit* target, uint32 stack) aura->SetStackAmount(stack); } -void Unit::SendPlaySpellVisualKit(uint32 id, uint32 unkParam) +void Unit::SendPlaySpellVisualKit(uint32 id, uint32 type, uint32 duration) { ObjectGuid guid = GetGUID(); WorldPacket data(SMSG_PLAY_SPELL_VISUAL_KIT, 4 + 4+ 4 + 8); - data << uint32(0); + data << uint32(duration); data << uint32(id); // SpellVisualKit.dbc index - data << uint32(unkParam); + data << uint32(type); data.WriteBit(guid[4]); data.WriteBit(guid[7]); data.WriteBit(guid[5]); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 943d5fb181..b24b6fdd60 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1596,7 +1596,7 @@ class TC_GAME_API Unit : public WorldObject Aura* AddAura(uint32 spellId, Unit* target); Aura* AddAura(SpellInfo const* spellInfo, uint8 effMask, Unit* target); void SetAuraStack(uint32 spellId, Unit* target, uint32 stack); - void SendPlaySpellVisualKit(uint32 id, uint32 unkParam); + void SendPlaySpellVisualKit(uint32 id, uint32 type, uint32 duration); void DeMorph(); diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp index ed3a8d7946..a83ead5966 100644 --- a/src/server/game/Handlers/NPCHandler.cpp +++ b/src/server/game/Handlers/NPCHandler.cpp @@ -302,8 +302,8 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recvData) _player->ModifyMoney(-int64(nSpellCost)); - trainer->SendPlaySpellVisualKit(179,0); // 53 SpellCastDirected - trainer->SendPlaySpellVisualKit(362, 1); // 113 EmoteSalute + trainer->SendPlaySpellVisualKit(179, 0, 0); // 53 SpellCastDirected + trainer->SendPlaySpellVisualKit(362, 1, 0); // 113 EmoteSalute // learn explicitly or cast explicitly if (trainer_spell->IsCastable())