aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsilinoron <none@none>2010-08-23 17:11:50 -0700
committersilinoron <none@none>2010-08-23 17:11:50 -0700
commit6601f46fd3914e106db6b40f84c4c1081de5c970 (patch)
treed143ba1503900c50ed6e805f251f08325e15284b /src
parent1d54b8e3d64f6697114e33076c0cc2b422d61537 (diff)
Fix Bladestorm and disarm.
Fixes issue #1899 Fixes issue #2562 Fixes issue #2833 --HG-- branch : trunk
Diffstat (limited to 'src')
-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);
}