Description:
ID - 33778 Lifebloom (Final Heal)
SPELL_AURA_MOD_HEALING_PCT (By example Mortal Strike - Warrior)
Healing reduction % is applying twice on lifebloom final heal
Related:
https://github.com/TrinityCore/TrinityCore/issues/8311
https://github.com/TrinityCore/TrinityCore/pull/13073
Current behaviour:
When target is afected by SPELL_AURA_MOD_HEALING_PCT (by example Mortal Strike - Warrior), the Final Heal is reduced by 75%
Expected behaviour:
When target is afected by SPELL_AURA_MOD_HEALING_PCT (by example Mortal Strike - Warrior), the Final Heal should be reduced 50%
Steps to reproduce the problem:
Branch(es): 3.3.5
TC rev. hash/commit: 463ed5e1ac6881696124cfaa2eeb49b95a082914
TDB version: TDB335.63
Operating system: Debian
diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp
index 362d477..4662747 100644
--- a/src/server/scripts/Spells/spell_druid.cpp
+++ b/src/server/scripts/Spells/spell_druid.cpp
@@ -303,7 +303,6 @@ public:
if (Unit* caster = GetCaster())
{
healAmount = caster->SpellHealingBonusDone(GetTarget(), GetSpellInfo(), healAmount, HEAL, aurEff->GetSpellEffectInfo(), stack);
- healAmount = GetTarget()->SpellHealingBonusTaken(caster, GetSpellInfo(), healAmount, HEAL, aurEff->GetSpellEffectInfo(), stack);
GetTarget()->CastCustomSpell(GetTarget(), SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, nullptr, nullptr, true, nullptr, aurEff, GetCasterGUID());
@@ -332,7 +331,6 @@ public:
if (Unit* caster = GetCaster())
{
healAmount = caster->SpellHealingBonusDone(target, GetSpellInfo(), healAmount, HEAL, aurEff->GetSpellEffectInfo(), dispelInfo->GetRemovedCharges());
- healAmount = target->SpellHealingBonusTaken(caster, GetSpellInfo(), healAmount, HEAL, aurEff->GetSpellEffectInfo(), dispelInfo->GetRemovedCharges());
target->CastCustomSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, nullptr, nullptr, true, nullptr, nullptr, GetCasterGUID());
// restore mana
Pr it @robinsch
Most helpful comment