diff options
-rwxr-xr-x | src/server/game/Entities/Object/Object.cpp | 2 | ||||
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 16 | ||||
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.h | 2 | ||||
-rwxr-xr-x | src/server/game/Server/Protocol/Handlers/NPCHandler.cpp | 15 | ||||
-rwxr-xr-x | src/server/game/Spells/Spell.cpp | 11 | ||||
-rwxr-xr-x | src/server/game/Spells/Spell.h | 1 |
6 files changed, 23 insertions, 24 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 44c02b4d318..defed2afd31 100755 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -2035,7 +2035,7 @@ void Unit::BuildHeartBeatMsg(WorldPacket *data) const BuildMovementPacket(data); } -void WorldObject::SendMessageToSetInRange(WorldPacket *data, float dist, bool /*bToSelf*/) +void WorldObject::SendMessageToSetInRange(WorldPacket *data, float dist, bool /*self*/) { Trinity::MessageDistDeliverer notifier(this, data, dist); VisitNearbyWorldObject(dist, notifier); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 28b5e574877..abb22caf642 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -16282,6 +16282,22 @@ void Unit::SetAuraStack(uint32 spellId, Unit* target, uint32 stack) aura->SetStackAmount(stack); } +void Unit::SendPlaySpellVisual(uint32 id) +{ + WorldPacket data(SMSG_PLAY_SPELL_VISUAL, 8 + 4); + data << uint64(GetGUID()); + data << uint32(id); // SpellVisualKit.dbc index + SendMessageToSet(&data, false); +} + +void Unit::SendPlaySpellImpact(uint64 guid, uint32 id) +{ + WorldPacket data(SMSG_PLAY_SPELL_IMPACT, 8 + 4); + data << uint64(guid); // target + data << uint32(id); // SpellVisualKit.dbc index + SendMessageToSet(&data, false); +} + void Unit::ApplyResilience(Unit const* victim, float* crit, int32* damage, bool isCrit, CombatRating type) const { // player mounted on multi-passenger mount is also classified as vehicle diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index e04e65bbff8..198b5bd4542 100755 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1485,6 +1485,8 @@ class Unit : public WorldObject Aura * AddAura(uint32 spellId, Unit* target); Aura * AddAura(SpellEntry const *spellInfo, uint8 effMask, Unit* target); void SetAuraStack(uint32 spellId, Unit* target, uint32 stack); + void SendPlaySpellVisual(uint32 id); + void SendPlaySpellImpact(uint64 guid, uint32 id); bool IsDamageToThreatSpell(SpellEntry const* spellInfo) const; diff --git a/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp b/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp index cbe9896065a..3332632d25e 100755 --- a/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp @@ -279,16 +279,9 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket & recv_data) return; _player->ModifyMoney(-int32(nSpellCost)); - - WorldPacket data(SMSG_PLAY_SPELL_VISUAL, 12); // visual effect on trainer - data << uint64(guid); - data << uint32(0xB3); // index from SpellVisualKit.dbc - SendPacket(&data); - - data.Initialize(SMSG_PLAY_SPELL_IMPACT, 12); // visual effect on player - data << uint64(_player->GetGUID()); - data << uint32(0x016A); // index from SpellVisualKit.dbc - SendPacket(&data); + + unit->SendPlaySpellVisual(179); // 53 SpellCastDirected + unit->SendPlaySpellImpact(_player->GetGUID(), 362); // 113 EmoteSalute // learn explicitly or cast explicitly if (trainer_spell->IsCastable()) @@ -296,7 +289,7 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket & recv_data) else _player->learnSpell(spellId, false); - data.Initialize(SMSG_TRAINER_BUY_SUCCEEDED, 12); + WorldPacket data(SMSG_TRAINER_BUY_SUCCEEDED, 12); data << uint64(guid); data << uint32(spellId); // should be same as in packet from client SendPacket(&data); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 70393e0cf9b..5394bef5209 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4213,17 +4213,6 @@ void Spell::SendResurrectRequest(Player* target) target->GetSession()->SendPacket(&data); } -void Spell::SendPlaySpellVisual(uint32 SpellID) -{ - if (m_caster->GetTypeId() != TYPEID_PLAYER) - return; - - WorldPacket data(SMSG_PLAY_SPELL_VISUAL, 8 + 4); - data << uint64(m_caster->GetGUID()); - data << uint32(SpellID); // spell visual id? - m_caster->ToPlayer()->GetSession()->SendPacket(&data); -} - void Spell::TakeCastItem() { if (!m_CastItem || m_caster->GetTypeId() != TYPEID_PLAYER) diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h index 97e2fddff3a..ca95c7cef4c 100755 --- a/src/server/game/Spells/Spell.h +++ b/src/server/game/Spells/Spell.h @@ -461,7 +461,6 @@ class Spell void SendChannelUpdate(uint32 time); void SendChannelStart(uint32 duration); void SendResurrectRequest(Player* target); - void SendPlaySpellVisual(uint32 SpellID); void HandleEffects(Unit *pUnitTarget, Item *pItemTarget, GameObject *pGOTarget, uint32 i); void HandleThreatSpells(uint32 spellId); |