diff options
Diffstat (limited to 'src/game/OutdoorPvPHP.cpp')
| -rw-r--r-- | src/game/OutdoorPvPHP.cpp | 52 |
1 files changed, 6 insertions, 46 deletions
diff --git a/src/game/OutdoorPvPHP.cpp b/src/game/OutdoorPvPHP.cpp index 60ceb7f4e3c..c3855b4f90a 100644 --- a/src/game/OutdoorPvPHP.cpp +++ b/src/game/OutdoorPvPHP.cpp @@ -117,11 +117,14 @@ bool OutdoorPvPHP::Update(uint32 diff) if(changed = OutdoorPvP::Update(diff)) { if(m_AllianceTowersControlled == 3) - BuffTeam(ALLIANCE); + TeamApplyBuff(TEAM_ALLIANCE, AllianceBuff, HordeBuff); else if(m_HordeTowersControlled == 3) - BuffTeam(HORDE); + TeamApplyBuff(TEAM_HORDE, HordeBuff, AllianceBuff); else - BuffTeam(0); + { + TeamCastSpell(TEAM_ALLIANCE, -AllianceBuff); + TeamCastSpell(TEAM_HORDE, -HordeBuff); + } SendUpdateWorldState(HP_UI_TOWER_COUNT_A, m_AllianceTowersControlled); SendUpdateWorldState(HP_UI_TOWER_COUNT_H, m_HordeTowersControlled); } @@ -328,49 +331,6 @@ void OutdoorPvPObjectiveHP::HandlePlayerLeave(Player *plr) OutdoorPvPObjective::HandlePlayerLeave(plr); } -void OutdoorPvPHP::BuffTeam(uint32 team) -{ - if(team == ALLIANCE) - { - for(std::set<uint64>::iterator itr = m_PlayerGuids[0].begin(); itr != m_PlayerGuids[0].end(); ++itr) - { - if(Player * plr = objmgr.GetPlayer(*itr)) - if(plr->IsInWorld()) plr->CastSpell(plr,AllianceBuff,true); - } - for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr) - { - if(Player * plr = objmgr.GetPlayer(*itr)) - if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(HordeBuff); - } - } - else if(team == HORDE) - { - for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr) - { - if(Player * plr = objmgr.GetPlayer(*itr)) - if(plr->IsInWorld()) plr->CastSpell(plr,HordeBuff,true); - } - for(std::set<uint64>::iterator itr = m_PlayerGuids[0].begin(); itr != m_PlayerGuids[0].end(); ++itr) - { - if(Player * plr = objmgr.GetPlayer(*itr)) - if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(AllianceBuff); - } - } - else - { - for(std::set<uint64>::iterator itr = m_PlayerGuids[0].begin(); itr != m_PlayerGuids[0].end(); ++itr) - { - if(Player * plr = objmgr.GetPlayer(*itr)) - if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(AllianceBuff); - } - for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr) - { - if(Player * plr = objmgr.GetPlayer(*itr)) - if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(HordeBuff); - } - } -} - void OutdoorPvPHP::HandleKillImpl(Player *plr, Unit * killed) { if(killed->GetTypeId() != TYPEID_PLAYER) |
