aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2011-07-04 14:46:48 +0100
committerNay <dnpd.dd@gmail.com>2011-07-04 14:46:48 +0100
commitd6782fa826508920f8de22709a32e83611bfdffe (patch)
tree21cdf6632f528ad247ef9fd01069d4adeb3c835f /src
parent40b17fd862f46193930ea647c926abe14a21db38 (diff)
Core/Misc: Refactor SendPlaySpellVisual and SendPlaySpellImpact and move them to Unit (from Spell)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Object/Object.cpp2
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp16
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.h2
-rwxr-xr-xsrc/server/game/Server/Protocol/Handlers/NPCHandler.cpp15
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp11
-rwxr-xr-xsrc/server/game/Spells/Spell.h1
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);