From 2e0ffba0bcea53f8b5ce15a51174c34cbc55d202 Mon Sep 17 00:00:00 2001 From: QAston Date: Sat, 11 Apr 2009 18:58:34 +0200 Subject: *Fix beacon of light. *Fix a crash in Spell::CanAutoCast. --HG-- branch : trunk --- src/game/Unit.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/game/Unit.cpp') diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index c287cb1a033..88155b4be51 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5834,6 +5834,34 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger basepoints0 = GetAttackTime(BASE_ATTACK) * int32(ap*0.022f + 0.044f * holy) / 1000; break; } + // Light's Beacon - Beacon of Light + if ( dummySpell->Id == 53651 ) + { + if (Unit * caster = triggeredByAura->GetCaster()) + { + // do not proc when target of beacon of light is healed + if (caster == pVictim) + return false; + if (Aura * aur = caster->GetAura(53563)) + { + if (Unit * paladin = aur->GetCaster()) + { + if (paladin != this) + return false; + basepoints0 = damage; + triggered_spell_id = 53654; + target = caster; + break; + } + else + { + pVictim->RemoveAura(triggeredByAura->GetParentAura()); + return false; + } + } + } + else return false; + } // Judgements of the Wise if (dummySpell->SpellIconID == 3017) { -- cgit v1.2.3