set g_arena_respawn_waves 0
set g_ca_respawn_delay 0
set g_ca_respawn_waves 0
+set g_ca_damage2score_multiplier 0.1
set g_nexball_respawn_delay 0
set g_nexball_respawn_waves 0
set g_as_respawn_delay 0
if(g_keyhunt)
kh_Controller_SetThink(cvar("g_balance_keyhunt_delay_round")+(game_starttime - time), "", kh_StartRound);
- if(g_arena || g_ca)
+ if(g_arena)
if(champion && champion.classname == "player" && player_count > 1)
UpdateFrags(champion, +1);
+ if(g_ca)
+ if(champion && champion.classname == "player" && player_count > 1)
+ TeamScore_AddToTeam(champion.team, SP_SCORE, 1);
+
self = oldself;
}
allowed_to_spawn = 0;
- if(g_ca && (ca_players < required_ca_players || inWarmupStage))
+ if(inWarmupStage)
allowed_to_spawn = 1;
msg = NEWLINES;
void ClientKill (void)
{
- ClientKill_TeamChange(0);
+ if((g_arena || g_ca) && ((champion && champion.classname == "player" && player_count > 1) || player_count == 1)) // don't allow a kill in this case either
+ {
+ // do nothing
+ }
+ else
+ ClientKill_TeamChange(0);
}
void DoTeamChange(float destteam)
readyrestart_happened = 1;
game_starttime = time;
- if(!g_ca)
+ if(!g_ca && !g_arena)
game_starttime += RESTART_COUNTDOWN;
restart_mapalreadyrestarted = 0; //reset this var, needed when cvar sv_ready_restart_repeatable is in use
}
//initiate the restart-countdown-announcer entity
- if(cvar("sv_ready_restart_after_countdown"))
+ if(cvar("sv_ready_restart_after_countdown") && !g_ca && !g_arena)
{
restartTimer = spawn();
restartTimer.think = restartTimer_Think;
if(deathtype & HITTYPE_HEADSHOT)
headshot = 1;
}
+ if(g_ca)
+ PlayerScore_Add(attacker, SP_SCORE, damage * cvar("g_ca_damage2score_multiplier"));
}
}
else