aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <none@none>2010-09-05 15:25:33 +0200
committerShauren <none@none>2010-09-05 15:25:33 +0200
commit43e4e1f786cfaa5c7cbaaa6c754c7a97b2105907 (patch)
tree27f7f265b8a21caab9870fe272b418982616ecf3
parent77130c910f2e50c697d8743f58d76950520c9268 (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.cpp13
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