void nades_Clear(entity player);
-#define CA_ALIVE_TEAMS_OK() (Team_GetNumberOfAliveTeams() == NumTeams(ca_teams))
float CA_CheckWinner()
{
if(round_handler_GetEndTime() > 0 && round_handler_GetEndTime() - time <= 0)
static int prev_missing_teams_mask;
allowed_to_spawn = true;
CA_count_alive_players();
- if(CA_ALIVE_TEAMS_OK())
+ if (Team_GetNumberOfAliveTeams() == NumTeams(ca_teams))
{
if(prev_missing_teams_mask > 0)
Kill_Notification(NOTIF_ALL, NULL, MSG_CENTER, CPID_MISSING_TEAMS);
bool ca_isEliminated(entity e)
{
- if(e.caplayer == 1 && (IS_DEAD(e) || e.frags == FRAGS_LMS_LOSER))
+ if(e.caplayer == 1 && (IS_DEAD(e) || e.frags == FRAGS_PLAYER_OUT_OF_GAME))
return true;
if(e.caplayer == 0.5)
return true;
{
if (SAME_TEAM(player, e)) return e;
}
- // restart from begining
+ // restart from the beginning
for (entity e = NULL; (e = find(e, classname, STR_PLAYER)); )
{
if (SAME_TEAM(player, e)) return e;
{
entity last_pl = NULL;
FOREACH_CLIENT(IS_PLAYER(it) && it != this, {
- if (!IS_DEAD(it))
- if (SAME_TEAM(this, it))
- if (!last_pl)
- last_pl = it;
- else
- return NULL;
+ if (!IS_DEAD(it) && SAME_TEAM(this, it))
+ {
+ if (!last_pl)
+ last_pl = it;
+ else
+ return NULL;
+ }
});
return last_pl;
}
if (player.killindicator_teamchange == -2) // player wants to spectate
player.caplayer = 0;
if (player.caplayer)
- player.frags = FRAGS_LMS_LOSER;
+ player.frags = FRAGS_PLAYER_OUT_OF_GAME;
if (!warmup_stage)
eliminatedPlayers.SendFlags |= 1;
if (!player.caplayer)
entity frag_attacker = M_ARGV(1, entity);
entity frag_target = M_ARGV(2, entity);
float frag_damage = M_ARGV(7, float);
- float damage_take = bound(0, M_ARGV(4, float), GetResourceAmount(frag_target, RESOURCE_HEALTH));
- float damage_save = bound(0, M_ARGV(5, float), GetResourceAmount(frag_target, RESOURCE_ARMOR));
+ float damage_take = bound(0, M_ARGV(4, float), GetResource(frag_target, RES_HEALTH));
+ float damage_save = bound(0, M_ARGV(5, float), GetResource(frag_target, RES_ARMOR));
float excess = max(0, frag_damage - damage_take - damage_save);
return MUT_SPECCMD_CONTINUE;
}
-MUTATOR_HOOKFUNCTION(ca, WantWeapon)
-{
- M_ARGV(2, bool) = true; // all weapons
-}
-
MUTATOR_HOOKFUNCTION(ca, HideTeamNagger)
{
return true; // doesn't work well with the whole spectator as player thing
MUTATOR_HOOKFUNCTION(ca, SetWeaponArena)
{
+ LOG_INFOF("CA SetWeaponArena %s", autocvar_g_ca_weaponarena);
// most weapons arena
- if (M_ARGV(0, string) == "0" || M_ARGV(0, string) == "") M_ARGV(0, string) = "most";
+ if (M_ARGV(0, string) == "0" || M_ARGV(0, string) == "")
+ M_ARGV(0, string) = autocvar_g_ca_weaponarena;
}