From d8e5c75b9ec274741ade21bd96f17d5d2be9bc4d Mon Sep 17 00:00:00 2001 From: Ghost Rider Date: Wed, 28 Sep 2016 23:30:28 +0330 Subject: handle it better way --- .../game/Battlefield/Zones/BattlefieldWG.cpp | 25 ++++++++-------------- src/server/game/Battlefield/Zones/BattlefieldWG.h | 2 +- 2 files changed, 10 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index 96e445f2139..3bf1a50ecd6 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -1433,7 +1433,6 @@ void BattlefieldWG::UpdateVehicleCountWG() void BattlefieldWG::UpdateTenacity() { - TeamId team = TEAM_NEUTRAL; uint32 alliancePlayers = m_PlayersInWar[TEAM_ALLIANCE].size(); uint32 hordePlayers = m_PlayersInWar[TEAM_HORDE].size(); int32 newStack = 0; @@ -1449,21 +1448,16 @@ void BattlefieldWG::UpdateTenacity() if (newStack == int32(m_tenacityStack)) return; - if (m_buffedTeam == TEAM_ALLIANCE) // old buff was on alliance - team = TEAM_ALLIANCE; - else if (m_buffedTeam == TEAM_HORDE) // old buff was on horde - team = TEAM_HORDE; - m_tenacityStack = newStack; // Remove old buff - if (team != TEAM_NEUTRAL) + if (m_tenacityTeam != TEAM_NEUTRAL) { - for (auto itr = m_players[team].begin(); itr != m_players[team].end(); ++itr) + for (auto itr = m_players[m_tenacityTeam].begin(); itr != m_players[m_tenacityTeam].end(); ++itr) if (Player* player = ObjectAccessor::FindPlayer(*itr)) if (player->getLevel() >= m_MinLevel) player->RemoveAurasDueToSpell(SPELL_TENACITY); - for (auto itr = m_vehicles[team].begin(); itr != m_vehicles[team].end(); ++itr) + for (auto itr = m_vehicles[m_tenacityTeam].begin(); itr != m_vehicles[m_tenacityTeam].end(); ++itr) if (Creature* creature = GetCreature(*itr)) creature->RemoveAurasDueToSpell(SPELL_TENACITY_VEHICLE); } @@ -1471,8 +1465,7 @@ void BattlefieldWG::UpdateTenacity() // Apply new buff if (newStack) { - team = newStack > 0 ? TEAM_ALLIANCE : TEAM_HORDE; - m_buffedTeam = team; + m_tenacityTeam = newStack > 0 ? TEAM_ALLIANCE : TEAM_HORDE; if (newStack < 0) newStack = -newStack; @@ -1487,27 +1480,27 @@ void BattlefieldWG::UpdateTenacity() if (newStack < 5) buff_honor = 0; - for (auto itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr) + for (auto itr = m_PlayersInWar[m_tenacityTeam].begin(); itr != m_PlayersInWar[m_tenacityTeam].end(); ++itr) if (Player* player = ObjectAccessor::FindPlayer(*itr)) player->SetAuraStack(SPELL_TENACITY, player, newStack); - for (auto itr = m_vehicles[team].begin(); itr != m_vehicles[team].end(); ++itr) + for (auto itr = m_vehicles[m_tenacityTeam].begin(); itr != m_vehicles[m_tenacityTeam].end(); ++itr) if (Creature* creature = GetCreature(*itr)) creature->SetAuraStack(SPELL_TENACITY_VEHICLE, creature, newStack); if (buff_honor != 0) { - for (auto itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr) + for (auto itr = m_PlayersInWar[m_tenacityTeam].begin(); itr != m_PlayersInWar[m_tenacityTeam].end(); ++itr) if (Player* player = ObjectAccessor::FindPlayer(*itr)) player->CastSpell(player, buff_honor, true); - for (auto itr = m_vehicles[team].begin(); itr != m_vehicles[team].end(); ++itr) + for (auto itr = m_vehicles[m_tenacityTeam].begin(); itr != m_vehicles[m_tenacityTeam].end(); ++itr) if (Creature* creature = GetCreature(*itr)) creature->CastSpell(creature, buff_honor, true); } } else - m_buffedTeam = TEAM_NEUTRAL; + m_tenacityTeam = TEAM_NEUTRAL; } WintergraspCapturePoint::WintergraspCapturePoint(BattlefieldWG* battlefield, TeamId teamInControl) : BfCapturePoint(battlefield) diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h index 81a0a158008..a357791468b 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.h +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h @@ -406,9 +406,9 @@ class TC_GAME_API BattlefieldWG : public Battlefield GuidVector KeepCreature[BG_TEAMS_COUNT]; GuidVector OutsideCreature[BG_TEAMS_COUNT]; + TeamId m_tenacityTeam; uint32 m_tenacityStack; uint32 m_saveTimer; - uint8 m_buffedTeam; ObjectGuid m_titansRelicGUID; }; -- cgit v1.2.3