From 2630a5288a80bbc03aa3dbc868f709a222c3012c Mon Sep 17 00:00:00 2001 From: Keader Date: Mon, 4 Dec 2017 08:55:15 -0300 Subject: Core/Scripts: Fixed Enervating Brand in Baltharus encounter Closes #21027 By Mihapro (cherry picked from commit 6598c5d2f3af6f9282686fad844457fd1375785d) --- .../RubySanctum/boss_baltharus_the_warborn.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp index 76dea026e36..aaadeba12ba 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp @@ -334,16 +334,22 @@ class spell_baltharus_enervating_brand_trigger : public SpellScriptLoader { PrepareSpellScript(spell_baltharus_enervating_brand_trigger_SpellScript); - void CheckDistance() + bool Validate(SpellInfo const* /*spell*/) override { - Unit* caster = GetCaster(); - Unit* target = GetHitUnit(); - target->CastSpell(caster, SPELL_SIPHONED_MIGHT, true); + return ValidateSpellInfo({ SPELL_SIPHONED_MIGHT }); + } + + void HandleSiphonedMight() + { + if (SpellInfo const* spellInfo = GetTriggeringSpell()) + if (Aura* triggerAura = GetCaster()->GetAura(spellInfo->Id)) + if (Unit* caster = triggerAura->GetCaster()) + GetHitUnit()->CastSpell(caster, SPELL_SIPHONED_MIGHT, true); } void Register() override { - OnHit += SpellHitFn(spell_baltharus_enervating_brand_trigger_SpellScript::CheckDistance); + OnHit += SpellHitFn(spell_baltharus_enervating_brand_trigger_SpellScript::HandleSiphonedMight); } }; -- cgit v1.2.3