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:
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