Jump to content

[FIX] Heroic Fury (Warrior Talent)


Guest aerione_alt

Recommended Posts

  • * What bug does the patch fix? What features does the patch add?
    This patch makes the warrior talent Heroic Fury (60970) properly remove the cooldown for Intercept.
    * For which repository revision was the patch created?
    Created for revision 7326
    * Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.
    No thread I could find.
    * Who has been writing this patch? Please include either forum user names or email addresses.
    Just myself, SLG.

Patch:

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 01ff8aa..40edb8f 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -3940,6 +3940,11 @@ void Aura::HandleModMechanicImmunity(bool apply, bool Real)
            m_target->RemoveAurasDueToSpell(26592);
        }
    }
+
+    // Heroic Fury (remove Intercept cooldown)
+    if( apply && GetId() == 60970 && m_target->GetTypeId()==TYPEID_PLAYER )
+        ((Player*)m_target)->RemoveSpellCooldown(20252);
+
}

void Aura::HandleAuraModEffectImmunity(bool apply, bool Real)

Link to comment
Share on other sites

"Heroic Fury" has no SpellFamilyName (whyever...). So just remove GetSpellProto()->SpellFamilyName == SPELLFAMILY_WARRIOR and it will work. This check is anyway not required if we search for a single spell ^_^.

added: Ok, that's not enough. We have to send an explicit SMSG_CLEAR_COOLDOWN, as it is done with "Readiness". I'm currently trying that.

added2: like that:

From cc048d6a2c6ba41620e3c911aa8f425677664efc Mon Sep 17 00:00:00 2001
From: pasdVn <[email protected]>
Date: Fri, 27 Feb 2009 18:52:08 +0100
Subject: [PATCH] Heroic Fury

---
src/game/SpellAuras.cpp |   11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 55d80d7..d4053a6 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -3971,6 +3971,17 @@ void Aura::HandleModMechanicImmunity(bool apply, bool Real)
            m_target->RemoveAurasDueToSpell(26592);
        }
    }
+
+    // Heroic Fury (remove Intercept cooldown)
+    if( apply && GetId() == 60970 && m_target->GetTypeId() == TYPEID_PLAYER )
+    {
+        ((Player*)m_target)->RemoveSpellCooldown(20252);
+
+        WorldPacket data(SMSG_CLEAR_COOLDOWN, (4+8));
+        data << uint32(20252);
+        data << uint64(m_target->GetGUID());
+        ((Player*)m_target)->GetSession()->SendPacket(&data);
+    }
}

void Aura::HandleAuraModEffectImmunity(bool apply, bool Real)
-- 
1.6.0.2.1172.ga5ed0

Link to comment
Share on other sites

  • 2 months later...

Patch for last revisions

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index f84dd6a..7839408 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -4038,6 +4038,10 @@ void Aura::HandleModMechanicImmunity(bool apply, bool /*Real*/)
            target->RemoveAurasDueToSpell(26592);
        }
    }
+
+    // Heroic Fury (remove Intercept cooldown)
+    if( apply && GetId() == 60970 && m_target->GetTypeId() == TYPEID_PLAYER )
+        ((Player*)m_target)->RemoveSpellCooldown(20252,true);
}

//this method is called whenever we add / remove aura which gives m_target some imunity to some spell effect

Link to comment
Share on other sites

  • 1 month later...
  • 9 months 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