From 73299773235259a2bd2272f0c54b01a2435b7a01 Mon Sep 17 00:00:00 2001 From: megamage Date: Sun, 7 Jun 2009 10:32:08 -0500 Subject: *Remove rank buff when players leave wintergrasp. --HG-- branch : trunk --- src/game/Wintergrasp.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/game/Wintergrasp.cpp b/src/game/Wintergrasp.cpp index 782ec4ab537..2d76559a1c0 100644 --- a/src/game/Wintergrasp.cpp +++ b/src/game/Wintergrasp.cpp @@ -49,6 +49,9 @@ void LoadTeamPair(TeamPairMap &pairMap, const TeamPair *pair) } } +#define REMOVE_RANK_AURAS(p) (p)->RemoveAura(SPELL_RECRUIT);\ + (p)->RemoveAura(SPELL_CORPORAL);(p)->RemoveAura(SPELL_LIEUTENANT) + typedef std::list AreaPOIList; bool OPvPWintergrasp::SetupOutdoorPvP() @@ -342,8 +345,12 @@ void OPvPWintergrasp::HandlePlayerEnterZone(Player * plr, uint32 zone) void OPvPWintergrasp::HandlePlayerLeaveZone(Player * plr, uint32 zone) { - if(!plr->GetSession()->PlayerLogout() && plr->m_Vehicle) // dismiss in change zone case - plr->m_Vehicle->Dismiss(); + if(!plr->GetSession()->PlayerLogout()) + { + if(plr->m_Vehicle) // dismiss in change zone case + plr->m_Vehicle->Dismiss(); + REMOVE_RANK_AURAS(plr); + } plr->RemoveAura(SPELL_TENACITY); OutdoorPvP::HandlePlayerLeaveZone(plr, zone); UpdateTenacityStack(); @@ -495,9 +502,7 @@ void OPvPWintergrasp::StartBattle() { for(PlayerSet::iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr) { - (*itr)->RemoveAura(SPELL_RECRUIT); - (*itr)->RemoveAura(SPELL_CORPORAL); - (*itr)->RemoveAura(SPELL_LIEUTENANT); + REMOVE_RANK_AURAS(*itr); (*itr)->CastSpell(*itr, SPELL_RECRUIT, true); } } @@ -514,9 +519,7 @@ void OPvPWintergrasp::EndBattle() for(PlayerSet::iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr) { - (*itr)->RemoveAura(SPELL_RECRUIT); - (*itr)->RemoveAura(SPELL_CORPORAL); - (*itr)->RemoveAura(SPELL_LIEUTENANT); + REMOVE_RANK_AURAS(*itr); } } } -- cgit v1.2.3