From 6601f46fd3914e106db6b40f84c4c1081de5c970 Mon Sep 17 00:00:00 2001 From: silinoron Date: Mon, 23 Aug 2010 17:11:50 -0700 Subject: Fix Bladestorm and disarm. Fixes issue #1899 Fixes issue #2562 Fixes issue #2833 --HG-- branch : trunk --- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/server') 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 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); } -- cgit v1.2.3