if (ca_teams < 2)
ca_teams = cvar("g_ca_teams"); // read the cvar directly as it gets written earlier in the same frame
if (autocvar_g_ca_spectate_enemies == -1)
- observe_blocked = true;
+ observe_blocked_if_eliminated = true;
ca_teams = BITS(bound(2, ca_teams, 4));
GameRules_scoring(ca_teams, SFL_SORT_PRIO_PRIMARY, 0, {
if (CS(e).race_completed) sf |= BIT(0); // forced scoreboard
if (CS(to).spectatee_status) sf |= BIT(1); // spectator ent number follows
if (CS(e).zoomstate) sf |= BIT(2); // zoomed
- if (observe_blocked && INGAME(to))
+ if (observe_blocked_if_eliminated && INGAME(to))
sf |= BIT(3); // observing blocked
if (autocvar_sv_showspectators == 1 || (autocvar_sv_showspectators && IS_SPEC(to)))
sf |= BIT(4); // show spectators
}
CS(this).impulse = 0;
} else if(PHYS_INPUT_BUTTON_ATCK2(this)) {
- if(!observe_blocked || !INGAME(this)) {
+ if(!observe_blocked_if_eliminated || !INGAME(this)) {
this.would_spectate = false;
this.flags &= ~FL_JUMPRELEASED;
TRANSMUTE(Observer, this);
IntrusiveList g_moveables;
STATIC_INIT(g_moveables) { g_moveables = IL_NEW(); }
-bool observe_blocked = false;
+bool observe_blocked_if_eliminated = false; // forbids eliminated players from observing