diff options
| author | Kandera <KanderaDev@gmail.com> | 2012-04-17 11:45:26 -0400 |
|---|---|---|
| committer | Kandera <KanderaDev@gmail.com> | 2012-04-17 11:45:26 -0400 |
| commit | 839abe4dca9ae326b7c8397212318d98acdbcb05 (patch) | |
| tree | d58454622015b3d749b045fb0f08be36b4f23e31 /src | |
| parent | 17d87c0103703d38eb64f595e8a2155553b39d29 (diff) | |
Core/Spells: fix holy shock cast on friendly opposing team going on cooldown and saying invalid target. spell will now fail with invalid target and not cause a cooldown
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/scripts/Spells/spell_paladin.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index d823c629d4b..9f7f7d847e1 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -285,9 +285,20 @@ class spell_pal_holy_shock : public SpellScriptLoader } } + SpellCastResult CheckCast() + { + Player* caster = GetCaster()->ToPlayer(); + if (GetTargetUnit()) + if (Player* target = GetTargetUnit()->ToPlayer()) + if (caster->GetTeam() != target->GetTeam() && !caster->IsValidAttackTarget(target)) + return SPELL_FAILED_BAD_TARGETS; + return SPELL_CAST_OK; + } + void Register() { // add dummy effect spell handler to Holy Shock + OnCheckCast += SpellCheckCastFn(spell_pal_holy_shock_SpellScript::CheckCast); OnEffectHitTarget += SpellEffectFn(spell_pal_holy_shock_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); } }; |
