diff options
author | Shauren <none@none> | 2010-09-05 15:25:33 +0200 |
---|---|---|
committer | Shauren <none@none> | 2010-09-05 15:25:33 +0200 |
commit | 43e4e1f786cfaa5c7cbaaa6c754c7a97b2105907 (patch) | |
tree | 27f7f265b8a21caab9870fe272b418982616ecf3 | |
parent | 77130c910f2e50c697d8743f58d76950520c9268 (diff) |
Core/Spells: Bladestorm will now cause the caster to drop flag on battleground
--HG--
branch : trunk
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 5eb28396d85..9636ec581e8 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -4321,19 +4321,18 @@ void AuraEffect::HandleModStateImmunityMask(AuraApplication const * aurApp, uint immunity_list.pop_back(); // delete Disarm target->RemoveAurasByType(SPELL_AURA_MOD_ROOT); target->RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED); + // also drop flag + if (Player* player = target->ToPlayer()) + if (Battleground* bg = player->GetBattleground()) + bg->EventPlayerDroppedFlag(player); } if (apply && GetSpellProto()->AttributesEx & SPELL_ATTR_EX_DISPEL_AURAS_ON_IMMUNITY) - { for (std::list <AuraType>::iterator iter = immunity_list.begin(); iter != immunity_list.end(); ++iter) - { target->RemoveAurasByType(*iter); - } - } + for (std::list <AuraType>::iterator iter = immunity_list.begin(); iter != immunity_list.end(); ++iter) - { - target->ApplySpellImmune(GetId(),IMMUNITY_STATE,*iter, apply); - } + target->ApplySpellImmune(GetId(), IMMUNITY_STATE, *iter, apply); } void AuraEffect::HandleModMechanicImmunity(AuraApplication const * aurApp, uint8 mode, bool apply) const |