aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-07 10:32:08 -0500
committermegamage <none@none>2009-06-07 10:32:08 -0500
commit73299773235259a2bd2272f0c54b01a2435b7a01 (patch)
treefb6931477bc5798e0db74747a0ea91096e199639
parent728b2dd09edeb9d037f6801fdaec41d8f3a3e3ef (diff)
*Remove rank buff when players leave wintergrasp.
--HG-- branch : trunk
-rw-r--r--src/game/Wintergrasp.cpp19
1 files changed, 11 insertions, 8 deletions
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<const AreaPOIEntry *> 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);
}
}
}