Jump to content

[alt patch added in [9977]] Improved Water Shield


Guest sasuqui

Recommended Posts

What bug does the patch fix? What features does the patch add?

since 3.2 Improved Water Shield charges are not consumed when talent procs and have 30% chance to proc from chain heal

For which repository revision was the patch created?

9134

Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.

none

Who has been writing this patch? Please include either forum user names or email addresses.

me

please somene test it :D

diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 3a20ec1..902b3d2 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -6491,24 +6491,23 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
                break;
            }
            // Improved Water Shield
            if (dummySpell->SpellIconID == 2287)
            {
-                // Lesser Healing Wave need aditional 60% roll
-                if ((procSpell->SpellFamilyFlags & UI64LIT(0x0000000000000080)) && !roll_chance_i(60))
+                // Lesser Healing Wave need aditional 60% roll and Chain Heal needs 30% roll
+                if (!((procSpell->SpellFamilyFlags & UI64LIT(0x0000000000000080)) && roll_chance_i(60)) &&
+                    !((procSpell->SpellFamilyFlags & UI64LIT(0x0000000000000100)) && roll_chance_i(30)))
                    return false;
                // lookup water shield
                AuraList const& vs = GetAurasByType(SPELL_AURA_PROC_TRIGGER_SPELL);
                for(AuraList::const_iterator itr = vs.begin(); itr != vs.end(); ++itr)
                {
                    if ((*itr)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_SHAMAN &&
                        ((*itr)->GetSpellProto()->SpellFamilyFlags & UI64LIT(0x0000002000000000)))
                    {
                        uint32 spell = (*itr)->GetSpellProto()->EffectTriggerSpell[(*itr)->GetEffIndex()];
                        CastSpell(this, spell, true, castItem, triggeredByAura);
-                        if ((*itr)->DropAuraCharge())
-                            RemoveSingleSpellAurasFromStack((*itr)->GetId());
                        return true;
                    }
                }
                return false;
                break;

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