Jump to content

Lifebloom


Guest Shad00w

Recommended Posts

UDB 0.12.0 (390) for MaNGOS 9763 with SD2 SQL for rev. 1677.

Lifebloom: (http://www.wowhead.com/?spell=48451)

http://www.wowwiki.com/Spell_power_coefficient

"The bloom heal can crit" - http://www.wowwiki.com/Lifebloom - from Notes.

"Each time that Lifebloom is cast on a target, the Lifebloom stack is incremented by 1 up to a maximum stack of 3. The entire stack shares a single expiration timer, which is refreshed to max duration every time Lifebloom is recast on the target. Therefore, a single casting of Lifebloom is sufficient to maintain an entire 3-stack.

Each Lifebloom in a stack will bloom if the stack blooms, so if a 3-stack expires the direct heal will be three times that of a single Lifebloom, and the mana returned will likewise be for the whole stack."

BUG : (this does not work)

In the last second spell of the following bloom, bloom is treated as a Heal Over Time, and should be treated as a Direct Heal. For this reason, Bloom can not crit, but should.

And when you stack one, two or three stac of Lifebloom he should heal one, two, or three stack, but now healing only with one stack Lifebloom, and The HoT is enhanced by 6.53% of your spell power per stack per tick. The bloom is enhanced by 38.57% of your spell power.

Link to comment
Share on other sites

+ что б критовал финальный хил

@@ -9745,7 +9761,10 @@ bool Unit::IsSpellCrit(Unit *pVictim, SpellEntry const *spellProto, SpellSchoolM
    switch(spellProto->DmgClass)
    {
        case SPELL_DAMAGE_CLASS_NONE:
-            return false;
+      {
+            if (spellProto->Id != 33778)
+                return false;
+      }
        case SPELL_DAMAGE_CLASS_MAGIC:
        {
            if (schoolMask & SPELL_SCHOOL_MASK_NORMAL)

@@ -3064,13 +3069,12 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
                    if (m_target->IsInWorld() && m_stackAmount > 0)
                    {
                        int32 amount = m_modifier.m_amount / m_stackAmount;
-                        m_target->CastCustomSpell(m_target, 33778, &amount, NULL, NULL, true, NULL, this, GetCasterGUID());
+                              amount = m_target->SpellHealingBonusTaken(caster, GetSpellProto(), amount, SPELL_DIRECT_DAMAGE);
+                              amount *= m_stackAmount;
+                        m_target->CastCustomSpell(m_target, 33778, &m_modifier.m_amount, NULL, NULL, true, NULL, this, GetCasterGUID());

-                        if (Unit* caster = GetCaster())
-                        {
-                            int32 returnmana = (GetSpellProto()->ManaCostPercentage * caster->GetCreateMana() / 100) * m_stackAmount / 2;
-                            caster->CastCustomSpell(caster, 64372, &returnmana, NULL, NULL, true, NULL, this, GetCasterGUID());
-                        }
+                        int32 returnmana = (GetSpellProto()->ManaCostPercentage * caster->GetCreateMana() / 100) * m_stackAmount / 2;
+                        caster->CastCustomSpell(caster, 64372, &returnmana, NULL, NULL, true, NULL, this, GetCasterGUID());
                    }
                }
                return;

Link to comment
Share on other sites

  • 4 weeks later...
×
×
  • 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