diff options
| author | silinoron <none@none> | 2010-08-23 17:11:50 -0700 |
|---|---|---|
| committer | silinoron <none@none> | 2010-08-23 17:11:50 -0700 |
| commit | 6601f46fd3914e106db6b40f84c4c1081de5c970 (patch) | |
| tree | d143ba1503900c50ed6e805f251f08325e15284b /src | |
| parent | 1d54b8e3d64f6697114e33076c0cc2b422d61537 (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.cpp | 8 |
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); } |
