Jump to content

[11037][Patch] Lifeblood gain bonus based on max health


Feanordev

Recommended Posts

Edit: Updated patch - I had slightly wrong formula - is fine now.

What in topic-name based on 3.2.0 change.

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 9d30e83..b520ea3 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -5540,6 +5540,13 @@ void Aura::HandlePeriodicHeal(bool apply, bool /*Real*/)
            m_modifier.m_amount += ap > holy ? ap : holy;
        }

+        // Lifeblood
+        if (GetSpellProto()->SpellIconID == 3088 && GetSpellProto()->SpellVisual[0] == 8145)
+        {
+            int32 healthBonus = int32 (0.0032f * caster->GetMaxHealth());
+            m_modifier.m_amount += healthBonus;
+        }
+
        //Lifebloom special stacking
        if(GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID && (GetSpellProto()->SpellFamilyFlags & UI64LIT(0x1000000000)) && GetStackAmount() > 1)
            m_modifier.m_amount += (GetStackAmount() == 2) ? m_modifier.m_amount : (m_modifier.m_amount / 2);

Link to comment
Share on other sites

This is per tick addition - WoWWiki says 1.5 or 1.6 - I got from friend that says its more 1.6%

1.6 is 0.016 multiplier however m_amount is for per/tick so we need to divide it by tick-count which is 5

0.016 / 5 is 0.0032 as in above.

I know the tick value should'nt be hardcoded but uhm... Im too lazy (?) or I just think that raw-value for such situations is better ? not sure.

However it was tested ingame and it gives proper values to whole effect.

Link to comment
Share on other sites

×
×
  • 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