WriteEntity(MSG_ONE, self);
}
+ if(g_lms)
+ {
+ // Only if the player cannot play at all
+ if(PlayerScore_Add(self, SP_LMS_RANK, 0) == 666)
+ self.frags = FRAGS_SPECTATOR;
+ else
+ self.frags = FRAGS_LMS_LOSER;
+ }
++ else if((g_race && g_race_qualifying) || g_cts)
++ {
++ if(PlayerScore_Add(self, SP_RACE_FASTEST, 0))
++ self.frags = FRAGS_LMS_LOSER;
++ else
++ self.frags = FRAGS_SPECTATOR;
++ }
+ else
+ self.frags = FRAGS_SPECTATOR;
+
DropAllRunes(self);
MUTATOR_CALLHOOK(MakePlayerObserver);
}
if(prev_total_players != total_players)
{
- string teams_missing;
+ string teams_missing = "";
if(!redalive) teams_missing = strcat(teams_missing, ColoredTeamName(COLOR_TEAM1), ", ");
if(!bluealive) teams_missing = strcat(teams_missing, ColoredTeamName(COLOR_TEAM2), ", ");
+ if(freezetag_teams >= 3)
+ if(!yellowalive) teams_missing = strcat(teams_missing, ColoredTeamName(COLOR_TEAM3), ", ");
+ if(freezetag_teams == 4)
+ if(!pinkalive) teams_missing = strcat(teams_missing, ColoredTeamName(COLOR_TEAM4), ", ");
teams_missing = substring(teams_missing, 0, strlen(teams_missing)-2);
FOR_EACH_REALCLIENT(e)
float i;
if(teamscores_entities_count)
- return;
+ return 0;
- if(MUTATOR_CALLHOOK(ForbidPlayerScore_Clear)) return;
- if(g_lms) return;
- if(g_cts) return; // in CTS, you don't lose score by observing
- if(g_race && g_race_qualifying) return; // in qualifying, you don't lose score by observing
++ if(MUTATOR_CALLHOOK(ForbidPlayerScore_Clear)) return 0;
+ if(g_lms) return 0;
- if(g_arena || g_ca) return 0;
+ if(g_cts) return 0; // in CTS, you don't lose score by observing
+ if(g_race && g_race_qualifying) return 0; // in qualifying, you don't lose score by observing
sk = player.scorekeeper;
for(i = 0; i < MAX_SCORE; ++i)