aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/AI/PlayerAI/PlayerAI.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/server/game/AI/PlayerAI/PlayerAI.cpp b/src/server/game/AI/PlayerAI/PlayerAI.cpp
index be52282a482..edd59878942 100644
--- a/src/server/game/AI/PlayerAI/PlayerAI.cpp
+++ b/src/server/game/AI/PlayerAI/PlayerAI.cpp
@@ -614,7 +614,21 @@ void PlayerAI::DoRangedAttackIfReady()
if (!rangedAttackSpell)
return;
- me->CastSpell(victim, rangedAttackSpell, TRIGGERED_CAST_DIRECTLY);
+ SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(rangedAttackSpell, me->GetMap()->GetDifficultyID());
+ if (!spellInfo)
+ return;
+
+ Spell* spell = new Spell(me, spellInfo, TRIGGERED_CAST_DIRECTLY);
+ if (spell->CheckPetCast(victim) != SPELL_CAST_OK)
+ {
+ delete spell;
+ return;
+ }
+
+ SpellCastTargets targets;
+ targets.SetUnitTarget(victim);
+ spell->prepare(targets);
+
me->resetAttackTimer(RANGED_ATTACK);
}