diff options
| author | Keader <keader.android@gmail.com> | 2017-12-04 08:55:15 -0300 |
|---|---|---|
| committer | Keader <keader.android@gmail.com> | 2017-12-04 08:55:15 -0300 |
| commit | 6598c5d2f3af6f9282686fad844457fd1375785d (patch) | |
| tree | 99c27dab756e0131781573dbb07f81fb1373399d | |
| parent | 0725f608aa7af9dd9857cb695038bfc9700c1e12 (diff) | |
Core/Scripts: Fixed Enervating Brand in Baltharus encounter
Closes #21027
By Mihapro
| -rw-r--r-- | src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
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 24f35115e04..2f9201ec473 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); } }; |
