void OPvPWintergrasp::StartBattle() { m_wartime = true; m_timer = sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_BATTLE_TIME) * MINUTE * IN_MILISECONDS; // Add recruit Aura, Add Tenacity TeamCastSpell(m_defender, SPELL_RECRUIT); TeamCastSpell(OTHER_TEAM(m_defender), SPELL_RECRUIT); UpdateTenacityStack(); }
void OPvPWintergrasp::HandlePlayerEnterZone(Player * plr, uint32 zone) { if (m_wartime && !plr->HasAura(SPELL_RECRUIT) && !plr->HasAura(SPELL_CORPORAL) && !plr->HasAura(SPELL_LIEUTENANT)) plr->CastSpell(plr, SPELL_RECRUIT, true); SendInitWorldStatesTo(plr); OutdoorPvP::HandlePlayerEnterZone(plr, zone); UpdateTenacityStack(); }
void OPvPWintergrasp::HandlePlayerLeaveZone(Player * plr, uint32 zone) { 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(); }
void OPvPWintergrasp::HandlePlayerLeaveZone(Player * plr, uint32 zone) { if (!plr->GetSession()->PlayerLogout()) { if (plr->GetVehicle()) // dismiss in change zone case plr->GetVehicle()->Dismiss(); REMOVE_WARTIME_AURAS(plr); } REMOVE_TENACITY_AURA(plr); OutdoorPvP::HandlePlayerLeaveZone(plr, zone); UpdateTenacityStack(); }