Fix Bladestorm and disarm.

Fixes issue #1899
Fixes issue #2562
Fixes issue #2833

--HG--
branch : trunk
This commit is contained in:
silinoron
2010-08-23 17:11:50 -07:00
parent 1d54b8e3d6
commit 6601f46fd3

View File

@@ -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);
}