From 7746287ee12e615358eb1a9a1b221fcd66fd1b86 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Thu, 14 Nov 2024 03:37:23 -0300 Subject: [PATCH] fix(Core/Spells): Fix Lay on Hands healing bypassing Cyclone (#20552) * fix(Core/Spells): Fix Lay on Hands healing bypassing Cyclone * and mana as well --- src/server/game/Spells/SpellEffects.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 72570afac..811dea160 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -1885,6 +1885,12 @@ void Spell::EffectEnergize(SpellEffIndex effIndex) if (!unitTarget->IsAlive()) return; + if (unitTarget->HasUnitState(UNIT_STATE_ISOLATED)) + { + m_caster->SendSpellDamageImmune(unitTarget, GetSpellInfo()->Id); + return; + } + if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS)) return; @@ -3679,6 +3685,12 @@ void Spell::EffectHealMaxHealth(SpellEffIndex /*effIndex*/) if (!unitTarget || !unitTarget->IsAlive()) return; + if (unitTarget->HasUnitState(UNIT_STATE_ISOLATED)) + { + m_caster->SendSpellDamageImmune(unitTarget, GetSpellInfo()->Id); + return; + } + int32 addhealth = 0; // damage == 0 - heal for caster max health