aboutsummaryrefslogtreecommitdiff
path: root/src/game/BattleGround.cpp
diff options
context:
space:
mode:
authorQAston <none@none>2009-05-24 22:54:13 +0200
committerQAston <none@none>2009-05-24 22:54:13 +0200
commit1c505261bc13585924e553eeea7b7a14232eb08f (patch)
tree5cadb31ffd26cab61782ae8beccbf3ac9c9ebacc /src/game/BattleGround.cpp
parentdb834e7c7d10b7738830c2c732414da9933e0ae6 (diff)
*Remove auras with duration lower than 30 sec on arena start.
*Do not remove rougue poisons and dk runes on arena start. *Apply healing bonus for healing stream totem. *Do not duplicate damage bonus in code with the one in db for Seal of Vengenance/Corruption --HG-- branch : trunk
Diffstat (limited to 'src/game/BattleGround.cpp')
-rw-r--r--src/game/BattleGround.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/game/BattleGround.cpp b/src/game/BattleGround.cpp
index b76e0c7835c..7f5a1182cdc 100644
--- a/src/game/BattleGround.cpp
+++ b/src/game/BattleGround.cpp
@@ -404,7 +404,20 @@ void BattleGround::Update(uint32 diff)
for(BattleGroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
if (Player *plr = objmgr.GetPlayer(itr->first))
+ {
plr->RemoveAurasDueToSpell(SPELL_ARENA_PREPARATION);
+ // remove auras with duration lower than 30s
+ Unit::AuraMap & aurMap = plr->GetAuras();
+ for(Unit::AuraMap::iterator iter = aurMap.begin(); iter != aurMap.end();)
+ {
+ if (iter->second->GetAuraDuration()<=30*IN_MILISECONDS)
+ {
+ plr->RemoveAura(iter);
+ }
+ else
+ ++iter;
+ }
+ }
CheckArenaWinConditions();
}
@@ -1109,7 +1122,7 @@ void BattleGround::AddPlayer(Player *plr)
{
plr->RemoveArenaSpellCooldowns();
plr->RemoveArenaAuras();
- plr->RemoveAllEnchantments(TEMP_ENCHANTMENT_SLOT);
+ plr->RemoveArenaEnchantments(TEMP_ENCHANTMENT_SLOT);
if(team == ALLIANCE) // gold
{
if (plr->GetTeam() == HORDE)