diff options
author | QAston <none@none> | 2009-05-24 22:54:13 +0200 |
---|---|---|
committer | QAston <none@none> | 2009-05-24 22:54:13 +0200 |
commit | 1c505261bc13585924e553eeea7b7a14232eb08f (patch) | |
tree | 5cadb31ffd26cab61782ae8beccbf3ac9c9ebacc /src/game/BattleGround.cpp | |
parent | db834e7c7d10b7738830c2c732414da9933e0ae6 (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.cpp | 15 |
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) |