void OPvPWintergrasp::UpdateClock() { uint32 timer = m_timer / 1000; UpdateClockDigit(timer, 0, 10); UpdateClockDigit(timer, 1, 6); UpdateClockDigit(timer, 2, 10); UpdateClockDigit(timer, 3, 6); if (!m_wartime) UpdateClockDigit(timer, 4, 10); }
void WintergraspScript::OnUpdate(uint32 p_time) { if(!m_Initialized) { m_Initialized = true; sLog.Notice("Wintergrasp", "Server is loading wintergrasp tiles, it might take some time.."); mgr->UpdateAllCells(true, ZONE_WINTERGRASP); sLog.Notice("Wintergrasp", "Finished loading tiles..."); } UpdateClockDigit(m_NextTime-UNIXTIME, m_started ? 0 : 1, 10); if(UNIXTIME >= m_NextTime) { if(m_started) { if(m_FinishTime > p_time) { m_FinishTime -= p_time; UpdateWarZones(); } else { EndBattle(); Herald((char*)format("The battle for Wintergrasp has ended! The Winner is, the %s!", ControllingTeam ? "Horde" : "Alliance").c_str()); } } else StartBattle(); } else { float timeInHours = float((m_NextTime-UNIXTIME)/60); if(timeInHours < 0.7) { float timeInMinutes = floor((timeInHours*60)); if(timeInMinutes == 30 && !ThirtyMinuteHerald) { ThirtyMinuteHerald = true; Herald("The battle for Wintergrasp begins in 30 minutes!"); } else if(timeInMinutes == 15 && !FifteenMinuteHerald) { FifteenMinuteHerald = true; Herald("The battle for Wintergrasp begins in 15 minutes!"); } } else { if(timeInHours == 1 && !FirstHourHerald) { FirstHourHerald = true; Herald("The battle for Wintergrasp begins in 1 hour!"); } } } }