-funtyped-nil \
-fno-permissive \
-fvariadic-args \
+ -DNOTIFICATIONS_DEBUG \
$(QCCFLAGS_EXTRA) $(QCCFLAGS_WATERMARK)
# xonotic build system overrides this by command line argument to turn off the update-cvarcount step
string durcnt,
string normal,
string gentle,
+ float challow,
float chtype,
float optiona,
float optionb)
break;
}
}
+ notif.nent_challow = challow; // 0: never allowed, 1: allowed in warmup, 2: always allowed
notif.nent_stringcount = max(notif.nent_optiona.nent_stringcount, notif.nent_optionb.nent_stringcount);
notif.nent_floatcount = max(notif.nent_optiona.nent_floatcount, notif.nent_optionb.nent_floatcount);
+ print(sprintf("INIT NOTIF DEBUG: %d %d\n", notif.nent_stringcount, notif.nent_floatcount));
+ print(sprintf("^ optiona: %s %s : %d %d\n",
+ Get_Notif_TypeName(notif.nent_optiona.nent_type),
+ notif.nent_optiona.nent_name,
+ notif.nent_optiona.nent_stringcount,
+ notif.nent_optiona.nent_floatcount));
}
break;
}
default: NOTIF_HIT_UNKNOWN(NOTIF_MAX_ARGS, "Local_Notification_sprintf")
}
}
- return sprintf(strcat(input, "\n"), arg_slot[0], arg_slot[1], arg_slot[2], arg_slot[3], arg_slot[4], arg_slot[5], arg_slot[6]);
+ return sprintf(
+ strcat(input, "\n"),
+ arg_slot[0],
+ arg_slot[1],
+ arg_slot[2],
+ arg_slot[3],
+ arg_slot[4],
+ arg_slot[5],
+ arg_slot[6]
+ );
}
#ifdef CSQC
case MSG_CHOICE:
{
- entity found_choice;
- switch(cvar_string(sprintf("notification_%s", notif.nent_name)))
+ entity found_choice;
+
+ if(notif.nent_challow && (warmup_stage || (notif.nent_challow == 2)))
{
- case 1: found_choice = notif.nent_optiona; break;
- case 2: found_choice = notif.nent_optionb; break;
- default: return; // not enabled anyway
+ switch(cvar_string(sprintf("notification_%s", notif.nent_name)))
+ {
+ case 1: found_choice = notif.nent_optiona; break;
+ case 2: found_choice = notif.nent_optionb; break;
+ default: return; // not enabled anyway
+ }
}
+ else { found_choice = notif.nent_optiona; }
+
Local_Notification_WOVA(
found_choice.nent_type,
found_choice.nent_id,
entity notif = Get_Notif_Ent(net_type, net_name);
if not(notif) { backtrace("Send_Notification: Could not find notification entity!\n"); return; }
+ string s1 = ((0 < notif.nent_stringcount) ? ...(0, string) : "");
+ string s2 = ((1 < notif.nent_stringcount) ? ...(1, string) : "");
+ string s3 = ((2 < notif.nent_stringcount) ? ...(2, string) : "");
+ string s4 = ((3 < notif.nent_stringcount) ? ...(3, string) : "");
+ float f1 = ((0 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 0), float) : 0);
+ float f2 = ((1 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 1), float) : 0);
+ float f3 = ((2 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 2), float) : 0);
+ float f4 = ((3 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 3), float) : 0);
+
+ #ifdef NOTIFICATIONS_DEBUG
+ Debug_Notification(sprintf(
+ "Send_Notification(%d, %s, %s, %s, %s);\n",
+ broadcast,
+ Get_Notif_TypeName(net_type),
+ notif.nent_name,
+ MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
+ sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
+ ));
+ #endif
+
if((notif.nent_stringcount + notif.nent_floatcount) > count)
{
backtrace(sprintf(
return;
}
- string s1 = ((0 < notif.nent_stringcount) ? ...(0, string) : "");
- string s2 = ((1 < notif.nent_stringcount) ? ...(1, string) : "");
- string s3 = ((2 < notif.nent_stringcount) ? ...(2, string) : "");
- string s4 = ((3 < notif.nent_stringcount) ? ...(3, string) : "");
- float f1 = ((0 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 0), float) : 0);
- float f2 = ((1 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 1), float) : 0);
- float f3 = ((2 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 2), float) : 0);
- float f4 = ((3 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 3), float) : 0);
-
- #ifdef NOTIFICATIONS_DEBUG
- Debug_Notification(sprintf(
- "Send_Notification(%d, %s, %s, %s, %s);\n",
- broadcast,
- Get_Notif_TypeName(net_type),
- notif.nent_name,
- MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
- sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
- ));
- #endif
-
if(
server_is_dedicated
&&
if(net_type == MSG_CHOICE)
{
- // float verbose_allowed = (autocvar_notification_server_allows_frag_verbose && ((autocvar_notification_server_allows_frag_verbose == 2) || inWarmupStage));
- // THIS GETS TRICKY... now we have to cycle through each possible player (checking broadcast)
+ // float verbose_allowed = (autocvar_notification_server_allows_frag_verbose && ((autocvar_notification_server_allows_frag_verbose == 2) || warmup_stage));
+ // THIS GETS TRICKY... now we have to cycle through each possible player (checking broadcast)nent_challow
// and then do an individual NOTIF_ONE_ONLY recursive call for each one depending on their option...
// It's slow, but it's better than the alternatives:
// 1. Constantly networking all info and letting client decide
entity found_choice;
#define RECURSE_FROM_CHOICE(ent,action) \
- switch(ent.msg_choice_choices[net_name]) \
+ if(notif.nent_challow && (warmup_stage || (notif.nent_challow == 2))) \
{ \
- case 1: found_choice = notif.nent_optiona; break; \
- case 2: found_choice = notif.nent_optionb; break; \
- default: action; \
+ switch(ent.msg_choice_choices[net_name]) \
+ { \
+ case 1: found_choice = notif.nent_optiona; break; \
+ case 2: found_choice = notif.nent_optionb; break; \
+ default: action; \
+ } \
} \
+ else { found_choice = notif.nent_optiona; } \
Send_Notification_WOVA( \
NOTIF_ONE_ONLY, \
ent, \
found_choice.nent_type, \
found_choice.nent_id, \
+ found_choice.nent_stringcount, \
+ found_choice.nent_floatcount, \
s1, s2, s3, s4, \
f1, f2, f3, f4);
// WOVA = Without Variable Arguments
void Send_Notification_WOVA(
+ float broadcast, entity client,
+ float net_type, float net_name,
+ float stringcount, float floatcount,
+ string s1, string s2, string s3, string s4,
+ float f1, float f2, float f3, float f4)
+{
+ #ifdef NOTIFICATIONS_DEBUG
+ entity notif = Get_Notif_Ent(net_type, net_name);
+ Debug_Notification(sprintf(
+ "Send_Notification_WOVA(%d, %s, %d, %d, %d, %s, %s);\n",
+ broadcast,
+ Get_Notif_TypeName(net_type),
+ notif.nent_name,
+ stringcount,
+ floatcount,
+ MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
+ sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
+ ));
+ #endif
+
+ #define VARITEM(stringc,floatc,args) \
+ if((stringcount == stringc) && (floatcount == floatc)) \
+ { Send_Notification(broadcast, client, net_type, net_name, args); return; }
+ EIGHT_VARS_TO_VARARGS_VARLIST
+ #undef VARITEM
+ Send_Notification(broadcast, client, net_type, net_name); // some notifications don't have any arguments at all
+}
+
+// WOCOVA = Without Counts Or Variable Arguments
+void Send_Notification_WOCOVA(
float broadcast, entity client,
float net_type, float net_name,
string s1, string s2, string s3, string s4,
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
- "Send_Notification_WOVA(%d, %s, %s, %s, %s);\n",
+ "Send_Notification_WOCOVA(%d, %s, %s, %s, %s);\n",
broadcast,
Get_Notif_TypeName(net_type),
notif.nent_name,
string durcnt,
string normal,
string gentle,
+ float challow,
float chtype,
float optiona,
float optionb);
float net_type, float net_name,
...count);
void Send_Notification_WOVA(
+ float broadcast, entity client,
+ float net_type, float net_name,
+ float stringcount, float floatcount,
+ string s1, string s2, string s3, string s4,
+ float f1, float f2, float f3, float f4);
+void Send_Notification_WOCOVA(
float broadcast, entity client,
float net_type, float net_name,
string s1, string s2, string s3, string s4,
MSG_MULTI_NOTIF(1, WEAPON_UZI_MURDER_SNIPE, NO_MSG, INFO_WEAPON_UZI_MURDER_SNIPE, NO_MSG) \
MSG_MULTI_NOTIF(1, WEAPON_UZI_MURDER_SPRAY, NO_MSG, INFO_WEAPON_UZI_MURDER_SPRAY, NO_MSG)
-#define MULTITEAM_CHOICE(default,prefix,teams,chtype,optiona,optionb) \
- MSG_CHOICE_NOTIF(default, prefix##RED, chtype, optiona##RED, optionb##RED) \
- MSG_CHOICE_NOTIF(default, prefix##BLUE, chtype, optiona##BLUE, optionb##BLUE) \
+#define MULTITEAM_CHOICE(default,challow,prefix,teams,chtype,optiona,optionb) \
+ MSG_CHOICE_NOTIF(default, challow, prefix##RED, chtype, optiona##RED, optionb##RED) \
+ MSG_CHOICE_NOTIF(default, challow, prefix##BLUE, chtype, optiona##BLUE, optionb##BLUE) \
#if teams >= 3 \
- MSG_CHOICE_NOTIF(default, prefix##YELLOW, chtype, optiona##YELLOW, optionb##YELLOW) \
+ MSG_CHOICE_NOTIF(default, challow, prefix##YELLOW, chtype, optiona##YELLOW, optionb##YELLOW) \
#endif \
#if teams >= 4 \
- MSG_CHOICE_NOTIF(default, prefix##PINK, chtype, optiona##PINK, optionb##PINK) \
+ MSG_CHOICE_NOTIF(default, challow, prefix##PINK, chtype, optiona##PINK, optionb##PINK) \
#endif
#define MSG_CHOICE_NOTIFICATIONS \
- MSG_CHOICE_NOTIF(1, CHOICE_FRAG, MSG_CENTER, CENTER_DEATH_MURDER_FRAG, CENTER_DEATH_MURDER_FRAG_VERBOSE) \
- MSG_CHOICE_NOTIF(1, CHOICE_FRAGGED, MSG_CENTER, CENTER_DEATH_MURDER_FRAGGED, CENTER_DEATH_MURDER_FRAGGED_VERBOSE) \
- MSG_CHOICE_NOTIF(1, CHOICE_TYPEFRAG, MSG_CENTER, CENTER_DEATH_MURDER_TYPEFRAG, CENTER_DEATH_MURDER_TYPEFRAG_VERBOSE) \
- MSG_CHOICE_NOTIF(1, CHOICE_TYPEFRAGGED, MSG_CENTER, CENTER_DEATH_MURDER_TYPEFRAGGED, CENTER_DEATH_MURDER_TYPEFRAGGED_VERBOSE)
+ MSG_CHOICE_NOTIF(1, 1, CHOICE_FRAG, MSG_CENTER, CENTER_DEATH_MURDER_FRAG, CENTER_DEATH_MURDER_FRAG_VERBOSE) \
+ MSG_CHOICE_NOTIF(1, 1, CHOICE_FRAGGED, MSG_CENTER, CENTER_DEATH_MURDER_FRAGGED, CENTER_DEATH_MURDER_FRAGGED_VERBOSE) \
+ MSG_CHOICE_NOTIF(1, 1, CHOICE_TYPEFRAG, MSG_CENTER, CENTER_DEATH_MURDER_TYPEFRAG, CENTER_DEATH_MURDER_TYPEFRAG_VERBOSE) \
+ MSG_CHOICE_NOTIF(1, 1, CHOICE_TYPEFRAGGED, MSG_CENTER, CENTER_DEATH_MURDER_TYPEFRAGGED, CENTER_DEATH_MURDER_TYPEFRAGGED_VERBOSE)
//MSG_CHOICE_NOTIF(2, CHOICE_)
.float nent_cpid;
.string nent_durcnt;
.string nent_string;
+.float nent_challow;
.entity nent_optiona;
.entity nent_optionb;
"", /* durcnt */ \
"", /* normal */ \
"", /* gentle */ \
+ NO_MSG, /* challow */ \
NO_MSG, /* chtype */ \
NO_MSG, /* optiona */ \
NO_MSG); /* optionb */ \
"", /* durcnt */ \
normal, /* normal */ \
gentle, /* gentle */ \
+ NO_MSG, /* challow */ \
NO_MSG, /* chtype */ \
NO_MSG, /* optiona */ \
NO_MSG); /* optionb */ \
durcnt, /* durcnt */ \
normal, /* normal */ \
gentle, /* gentle */ \
+ NO_MSG, /* challow */ \
NO_MSG, /* chtype */ \
NO_MSG, /* optiona */ \
NO_MSG); /* optionb */ \
"", /* durcnt */ \
"", /* normal */ \
"", /* gentle */ \
+ NO_MSG, /* challow */ \
NO_MSG, /* chtype */ \
NO_MSG, /* optiona */ \
NO_MSG); /* optionb */ \
} \
ACCUMULATE_FUNCTION(RegisterNotifications, RegisterNotification_##name)
-#define MSG_CHOICE_NOTIF(default,name,chtype,optiona,optionb) \
+#define MSG_CHOICE_NOTIF(default,challow,name,chtype,optiona,optionb) \
NOTIF_ADD_AUTOCVAR(name, default) \
+ NOTIF_ADD_AUTOCVAR(name##_ALLOWED, challow) \
float name; \
void RegisterNotification_##name() \
{ \
SET_FIELD_COUNT(name, NOTIF_FIRST, NOTIF_CHOICE_COUNT) \
CHECK_MAX_COUNT(name, NOTIF_CHOICE_MAX, NOTIF_CHOICE_COUNT, "MSG_CHOICE") \
Create_Notification_Entity( \
- default, /* var_default */ \
- autocvar_notification_##name, /* var_cvar */ \
- MSG_CHOICE, /* typeid */ \
- name, /* nameid */ \
- strtoupper(#name), /* namestring */ \
- NO_MSG, /* anncename */ \
- NO_MSG, /* infoname */ \
- NO_MSG, /* centername */ \
- NO_MSG, /* channel */ \
- "", /* snd */ \
- NO_MSG, /* vol */ \
- NO_MSG, /* position */ \
- NO_MSG, /* strnum */ \
- NO_MSG, /* flnum */ \
- "", /* args */ \
- "", /* hudargs */ \
- "", /* icon */ \
- NO_MSG, /* cpid */ \
- "", /* durcnt */ \
- "", /* normal */ \
- "", /* gentle */ \
- chtype, /* chtype */ \
- optiona, /* optiona */ \
- optionb); /* optionb */ \
+ default, /* var_default */ \
+ autocvar_notification_##name, /* var_cvar */ \
+ MSG_CHOICE, /* typeid */ \
+ name, /* nameid */ \
+ strtoupper(#name), /* namestring */ \
+ NO_MSG, /* anncename */ \
+ NO_MSG, /* infoname */ \
+ NO_MSG, /* centername */ \
+ NO_MSG, /* channel */ \
+ "", /* snd */ \
+ NO_MSG, /* vol */ \
+ NO_MSG, /* position */ \
+ NO_MSG, /* strnum */ \
+ NO_MSG, /* flnum */ \
+ "", /* args */ \
+ "", /* hudargs */ \
+ "", /* icon */ \
+ NO_MSG, /* cpid */ \
+ "", /* durcnt */ \
+ "", /* normal */ \
+ "", /* gentle */ \
+ autocvar_notification_##name##_ALLOWED, /* challow */ \
+ chtype, /* chtype */ \
+ optiona, /* optiona */ \
+ optionb); /* optionb */ \
} \
ACCUMULATE_FUNCTION(RegisterNotifications, RegisterNotification_##name)
float accuracy_isgooddamage(entity attacker, entity targ)
{
- if(!inWarmupStage)
+ if(!warmup_stage)
if(IS_CLIENT(targ))
if(targ.deadflag == DEAD_NO)
if(IsDifferentTeam(attacker, targ))
float accuracy_canbegooddamage(entity attacker)
{
- if(!inWarmupStage)
+ if(!warmup_stage)
return TRUE;
return FALSE;
}
if(self.alivetime)
{
- if(!inWarmupStage)
+ if(!warmup_stage)
PlayerStats_Event(self, PLAYERSTATS_ALIVETIME, time - self.alivetime);
self.alivetime = 0;
}
self.nex_charge = autocvar_g_balance_nex_charge_start;
}
- if(inWarmupStage)
+ if(warmup_stage)
{
self.ammo_shells = warmup_start_ammo_shells;
self.ammo_nails = warmup_start_ammo_nails;
self.weaponname = "";
self.switchingweapon = 0;
- if(!inWarmupStage)
+ if(!warmup_stage)
if(!self.alivetime)
self.alivetime = time;
if not(IS_PLAYER(source))
{
if not(intermission_running)
- if(teamsay || (autocvar_g_chat_nospectators == 1) || (autocvar_g_chat_nospectators == 2 && !(inWarmupStage || gameover)))
+ if(teamsay || (autocvar_g_chat_nospectators == 1) || (autocvar_g_chat_nospectators == 2 && !(warmup_stage || gameover)))
teamsay = -1; // spectators
}
{
if(IS_CLIENT(self))
{
- if(inWarmupStage || autocvar_sv_ready_restart || g_race_qualifying == 2)
+ if(warmup_stage || autocvar_sv_ready_restart || g_race_qualifying == 2)
{
if(!readyrestart_happened || autocvar_sv_ready_restart_repeatable)
{
if(timeout_status) { print_to(caller, "^7Error: A timeout is already active."); }
else if(vote_called) { print_to(caller, "^7Error: You can not call a timeout while a vote is active."); }
- else if(inWarmupStage && !g_warmup_allow_timeout) { print_to(caller, "^7Error: You can not call a timeout in warmup-stage."); }
+ else if(warmup_stage && !g_warmup_allow_timeout) { print_to(caller, "^7Error: You can not call a timeout in warmup-stage."); }
else if(time < game_starttime) { print_to(caller, "^7Error: You can not call a timeout while the map is being restarted."); }
else if(caller && (caller.allowed_timeouts < 1)) { print_to(caller, "^7Error: You already used all your timeout calls for this map."); }
else if(caller && !IS_PLAYER(caller)) { print_to(caller, "^7Error: You must be a player to call a timeout."); }
if(to.vote_selection == 0)
nags |= 8;
}
- if(inWarmupStage)
+ if(warmup_stage)
nags |= 16;
if(sendflags & 64)
vote_accept_count = vote_reject_count = vote_abstain_count = 0;
float spectators_allowed = ((autocvar_sv_vote_nospectators != 2)
- || ((autocvar_sv_vote_nospectators == 1) && (inWarmupStage || gameover))
+ || ((autocvar_sv_vote_nospectators == 1) && (warmup_stage || gameover))
|| (autocvar_sv_vote_nospectators == 0));
float vote_player_count = 0, notvoters = 0;
restart_mapalreadyrestarted = 0; // reset this var, needed when cvar sv_ready_restart_repeatable is in use
// disable the warmup global for the server
- inWarmupStage = 0; // once the game is restarted the game is in match stage
+ warmup_stage = 0; // once the game is restarted the game is in match stage
// reset the .ready status of all players (also spectators)
FOR_EACH_REALCLIENT(tmp_player) { tmp_player.ready = 0; }
case CMD_REQUEST_COMMAND:
{
float spectators_allowed = ((autocvar_sv_vote_nospectators != 2)
- || ((autocvar_sv_vote_nospectators == 1) && inWarmupStage)
+ || ((autocvar_sv_vote_nospectators == 1) && warmup_stage)
|| (autocvar_sv_vote_nospectators == 0));
float tmp_playercount = 0;
default: // calling a vote for master
{
float spectators_allowed = ((autocvar_sv_vote_nospectators != 2)
- || ((autocvar_sv_vote_nospectators == 1) && inWarmupStage)
+ || ((autocvar_sv_vote_nospectators == 1) && warmup_stage)
|| (autocvar_sv_vote_nospectators == 0));
if not(autocvar_sv_vote_master_callable) { print_to(caller, "^1Vote to become vote master is not allowed."); }
float g_warmup_allguns;
float g_warmup_allow_timeout;
float g_race_qualifying;
-float inWarmupStage;
+float warmup_stage;
float g_pickup_respawntime_weapon;
float g_pickup_respawntime_superweapon;
float g_pickup_respawntime_ammo;
GiveFrags_randomweapons.classname = "GiveFrags_randomweapons";
}
- if(inWarmupStage)
+ if(warmup_stage)
WEPSET_COPY_EA(GiveFrags_randomweapons, warmup_start_weapons);
else
WEPSET_COPY_EA(GiveFrags_randomweapons, start_weapons);
{
if(deathent.death_msgmurder)
{
- Send_Notification_WOVA(
+ Send_Notification_WOCOVA(
NOTIF_ONE,
notif_target,
MSG_MULTI,
s1, s2, s3, "",
f1, f2, f3, 0
);
- Send_Notification_WOVA(
+ Send_Notification_WOCOVA(
NOTIF_ALL_EXCEPT,
notif_target,
MSG_INFO,
{
if(deathent.death_msgself)
{
- Send_Notification_WOVA(
+ Send_Notification_WOCOVA(
NOTIF_ONE,
notif_target,
MSG_MULTI,
s1, s2, s3, "",
f1, f2, f3, 0
);
- Send_Notification_WOVA(
+ Send_Notification_WOCOVA(
NOTIF_ALL_EXCEPT,
notif_target,
MSG_INFO,
if(death_message)
{
- Send_Notification_WOVA(
+ Send_Notification_WOCOVA(
NOTIF_ONE,
notif_target,
MSG_MULTI,
s1, s2, s3, "",
f1, f2, 0, 0
);
- Send_Notification_WOVA(
+ Send_Notification_WOCOVA(
NOTIF_ALL_EXCEPT,
notif_target,
MSG_INFO,
WinningConditionHelper(); // set worldstatus
- if(inWarmupStage)
+ if(warmup_stage)
return WINNING_NO;
// first check if the game has ended
fraglimit = autocvar_fraglimit;
leadlimit = autocvar_leadlimit;
- if(inWarmupStage || time <= game_starttime) // NOTE: this is <= to prevent problems in the very tic where the game starts
+ if(warmup_stage || time <= game_starttime) // NOTE: this is <= to prevent problems in the very tic where the game starts
{
if(timelimit > 0)
timelimit = 0; // timelimit is not made for warmup
start_ammo_fuel = cvar("g_start_ammo_fuel");
}
- if (inWarmupStage)
+ if (warmup_stage)
{
warmup_start_ammo_shells = start_ammo_shells;
warmup_start_ammo_nails = start_ammo_nails;
sv_autotaunt = cvar("sv_autotaunt");
sv_taunt = cvar("sv_taunt");
- inWarmupStage = cvar("g_warmup");
+ warmup_stage = cvar("g_warmup");
g_warmup_limit = cvar("g_warmup_limit");
g_warmup_allguns = cvar("g_warmup_allguns");
g_warmup_allow_timeout = cvar("g_warmup_allow_timeout");
if ((g_race && g_race_qualifying == 2) || g_arena || g_assault || cvar("g_campaign"))
- inWarmupStage = 0; // these modes cannot work together, sorry
+ warmup_stage = 0; // these modes cannot work together, sorry
g_pickup_respawntime_weapon = cvar("g_pickup_respawntime_weapon");
g_pickup_respawntime_superweapon = cvar("g_pickup_respawntime_superweapon");
if(!g_weapon_stay)
g_weapon_stay = cvar("g_weapon_stay");
- if not(inWarmupStage)
+ if not(warmup_stage)
game_starttime = time + cvar("g_start_delay");
readplayerstartcvars();
void CA_RoundStart()
{
- if(inWarmupStage)
+ if(warmup_stage)
allowed_to_spawn = TRUE;
else
allowed_to_spawn = FALSE;
float i;
if (damage <= 0)
return;
- if(inWarmupStage)
+ if(warmup_stage)
return;
if (attacker != self)
{
#endif
self.lasthealth = self.health;
}
- else if not(inWarmupStage)
+ else if not(warmup_stage)
{
if (attacker == self)
bprint(Team_ColoredFullName(self.team), " generator spontaneously exploded due to overtime!\n");
if(score)
if(scores_label[scorefield] != "")
s.SendFlags |= pow(2, scorefield);
- if(!inWarmupStage)
+ if(!warmup_stage)
PlayerStats_Event(s.owner, strcat(PLAYERSTATS_TOTAL, scores_label[scorefield]), score);
return (s.(scores[scorefield]) += score);
}
game_delay_last = game_delay;
// if in warmup stage and limit for warmup is hit start match
- if (inWarmupStage)
+ if (warmup_stage)
if ((g_warmup_limit > 0 && time >= g_warmup_limit)
|| (g_warmup_limit == 0 && autocvar_timelimit != 0 && time >= autocvar_timelimit * 60))
{