23 float roundstarttime = STAT(ROUNDSTARTTIME);
24 if(roundstarttime == -1)
33 float countdown = (inround ? roundstarttime -
time : starttime -
time);
34 float countdown_rounded =
floor(0.5 + countdown);
49 Notification annce_num = Announcer_PickNumber(CNT_ROUNDSTART, countdown_rounded);
52 this.
nextthink = (roundstarttime - (countdown - 1));
57 Notification annce_num = Announcer_PickNumber(CNT_GAMESTART, countdown_rounded);
58 if(!roundstarttime && annce_num !=
NULL)
60 this.
nextthink = (starttime - (countdown - 1));
75 float startTime = STAT(GAMESTARTTIME);
76 float roundstarttime = STAT(ROUNDSTARTTIME);
77 if(roundstarttime > startTime)
78 startTime = roundstarttime;
103 if(
time + 5.0 < startTime)
114 #define ANNOUNCER_CHECKMINUTE(minute) MACRO_BEGIN \ 115 if(announcer_##minute##min) { \ 116 if(timeleft > minute * 60) \ 117 announcer_##minute##min = false; \ 119 if(timeleft < minute * 60 && timeleft > minute * 60 - 1) { \ 120 announcer_##minute##min = true; \ 121 Local_Notification(MSG_ANNCE, ANNCE_REMAINING_MIN_##minute); \ 128 static bool warmup_stage_prev;
150 float warmup_timelimit = STAT(WARMUP_TIMELIMIT);
151 if(warmup_timelimit > 0)
152 timeleft =
max(0, warmup_timelimit -
time);
157 timeleft =
max(0, STAT(TIMELIMIT) * 60 + starttime -
time);
void centerprint_Kill(int id)
entity announcer_countdown
float previous_game_starttime
Checks whether the server initiated a map restart (stat_game_starttime changed)
void Announcer_Gamestart()
string autocvar_cl_announcer
void Announcer_Countdown(entity this)
entity Notification
always last
#define MUTATOR_CALLHOOK(id,...)
float autocvar_cl_announcer_maptime
void Local_Notification(MSG net_type, Notification net_name,...count)
#define ANNOUNCER_CHECKMINUTE(minute)