aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 6605d45d846..5ffc862544c 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -4248,8 +4248,6 @@ void AuraEffect::HandleModStateImmunityMask(AuraApplication const * aurApp, uint
std::list <AuraType> immunity_list;
if (GetMiscValue() & (1<<10))
immunity_list.push_back(SPELL_AURA_MOD_STUN);
- if (GetMiscValue() & (1<<7))
- immunity_list.push_back(SPELL_AURA_MOD_DISARM);
if (GetMiscValue() & (1<<1))
immunity_list.push_back(SPELL_AURA_TRANSFORM);
@@ -4263,10 +4261,16 @@ void AuraEffect::HandleModStateImmunityMask(AuraApplication const * aurApp, uint
if (GetMiscValue() & (1<<9))
immunity_list.push_back(SPELL_AURA_MOD_FEAR);
+ // must be last due to Bladestorm
+ if (GetMiscValue() & (1<<7))
+ immunity_list.push_back(SPELL_AURA_MOD_DISARM);
+
+ // TODO: figure out a better place to put this...
// Patch 3.0.3 Bladestorm now breaks all snares and roots on the warrior when activated.
// however not all mechanic specified in immunity
if (apply && GetId() == 46924)
{
+ immunity_list.pop_back(); // delete Disarm
target->RemoveAurasByType(SPELL_AURA_MOD_ROOT);
target->RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED);
}