Jump to content

[s1129][One] Lifebloom final heal not stackable


Recommended Posts

Posted

Hi,

This patch fixes the bug, that the bloom (final heal) of lifeboom (druid heal spell) should not be affected by the number of stacks of that spell. While the periodic healing stacks, the final heal should always be the same for 1, 2 or 3 stacks in TBC (patch 2.4.3).

Quote from patch notes 2.1.0:

The final heal, however, is still unaffected by stacking multiple applications of this spell.
To my knowledge, this never changed and wowwiki still claims the same in august 2008 [1]. It had been correctly implemented in Mangos 8xxx but got changed for 3.x.x and never was corrected in the Mangos ONE branch so far.

The patch was written by me.

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index e17c285..8297038 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -2652,6 +2652,13 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
                            ((*itr)->GetSpellProto()->SpellFamilyFlags & UI64LIT(0x1000000000)))
                            return;

+                    // this is only roughly correct, used as fallback in case GetCaster fails (still includes talents twice/thrice) 
+                    m_modifier.m_amount -= (m_stackAmount - 1) * 600;
+                    if (Unit* caster = GetCaster()) {
+                        // this is correct calculation
+                        m_modifier.m_amount = caster->SpellHealingBonusDone(target, GetSpellProto(), 600, SPELL_DIRECT_DAMAGE);
+                        m_modifier.m_amount = target->SpellHealingBonusTaken(caster, GetSpellProto(), m_modifier.m_amount, SPELL_DIRECT_DAMAGE);
+                    }
                    // final heal
                    if(target->IsInWorld())
                        target->CastCustomSpell(target, 33778, &m_modifier.m_amount, NULL, NULL, true, NULL, this, GetCasterGUID());

References:

[1] http://www.wowwiki.com/index.php?title=Lifebloom&oldid=1587267

  • 2 weeks later...
  • 2 weeks later...
Posted

I think i see better way implement this using existed code with small changes.

Main problem with your patch: must used spell aura bonuses apply time spell power, not current time caster spell power.

Also not safe as you right note already expected caster presense for final heal.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use