13#define STATUS_SEND_RESET 1
14#define STATUS_SEND_HUNTERS 2
31 for (
int b = 0; b < 8; ++b, e =
nextent(e))
48 backtrace(
"Can't spawn survivalStatuses again!");
59 it.totalfrags += it.survival_validkills;
60 if(it.survival_validkills)
62 it.survival_validkills = 0;
97 int survivor_count = 0, hunter_count = 0;
105 if(survivor_count > 0 && hunter_count > 0)
135 else if(survivor_count > 0)
172 it.survival_status = 0;
173 it.survival_validkills = 0;
176 int total_hunters = 0;
179 if(total_hunters >= hunter_count)
197 static int prev_missing_players;
205 if (playercount >= 2)
207 if(prev_missing_players > 0)
209 prev_missing_players = -1;
214 if(prev_missing_players > 0)
216 prev_missing_players = -1;
220 if(prev_missing_players != 1)
223 prev_missing_players = 1;
240 field(SP_SURV_SURVIVALS,
"survivals", 0);
263 float frag_deathtype =
M_ARGV(3,
float);
267 if(frag_attacker.survival_status ==
frag_target.survival_status)
279 player.survival_status = 0;
280 player.survival_validkills = 0;
319 CS(it).killcount = 0;
320 it.survival_status = 0;
374 float frag_deathtype =
M_ARGV(3,
float);
394 Damage(frag_attacker, frag_attacker, frag_attacker, 100000, DEATH_MIRRORDAMAGE.m_id,
DMG_NOWEP, frag_attacker.origin,
'0 0 0');
410 bool is_forced =
M_ARGV(1,
bool);
411 if (is_forced &&
INGAME(player))
416 if (player.killindicator_teamchange == -2)
424 player.survival_validkills = 0;
425 player.survival_status = 0;
441 frag_attacker.survival_validkills +=
M_ARGV(2,
float);
449 if(scorefield == SP_KILLS || scorefield == SP_DEATHS || scorefield == SP_SUICIDES || scorefield == SP_DMG || scorefield == SP_DMGTAKEN)
489 if(targ.survival_status == bot.survival_status)
void bot_relinkplayerlist()
const int CBC_ORDER_FIRST
#define MUTATOR_HOOKFUNCTION(...)
const int CBC_ORDER_EXCLUSIVE
#define BIT(n)
Only ever assign into the first 24 bits in QC (so max is BIT(23)).
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
const int SFL_SORT_PRIO_SECONDARY
Scoring priority (NOTE: PRIMARY is used for fraglimit) NOTE: SFL_SORT_PRIO_SECONDARY value must be lo...
const int SFL_SORT_PRIO_PRIMARY
const int FRAGS_PLAYER_OUT_OF_GAME
void Damage(entity targ, entity inflictor, entity attacker, float damage, int deathtype,.entity weaponentity, vector hitloc, vector force)
void GiveFrags(entity attacker, entity targ, float f, int deathtype,.entity weaponentity)
void EliminatedPlayers_Init(float(entity) isEliminated_func)
void bot_clearqueue(entity bot)
#define PutClientInServer
#define WriteHeader(to, id)
void Net_LinkEntity(entity e, bool docull, float dt, bool(entity this, entity to, int sendflags) sendfunc)
void Send_Notification(NOTIF broadcast, entity client, MSG net_type, Notification net_name,...count)
#define TRANSMUTE(cname, this,...)
#define new_pure(class)
purely logical entities (not linked to the area grid)
void round_handler_Init(float the_delay, float the_count, float the_round_timelimit)
void round_handler_Spawn(bool() canRoundStart_func, bool() canRoundEnd_func, void() roundStart_func)
#define round_handler_IsActive()
#define round_handler_GetEndTime()
#define round_handler_SetEndDelayTime(t)
#define round_handler_GetEndDelayTime()
#define round_handler_IsRoundStarted()
#define round_handler_ResetEndDelayTime()
bool autocvar_sv_spectate
#define ITEM_DAMAGE_NEEDKILL(dt)
ClientState CS(Client this)
const int SURV_STATUS_HUNTER
const int SURV_STATUS_PREY
void nades_RemovePlayer(entity this)
Remove nades and bonus nades from a player.
#define INGAME_STATUS_JOINED
#define INGAME_STATUS_JOINING
#define GameRules_scoring_add(client, fld, value)
#define INGAME_STATUS_CLEAR(it)
#define INGAME_JOINED(it)
#define INGAME_STATUS_SET(it, s)
#define GameRules_scoring(teams, spprio, stprio, fields)
#define INGAME_JOINING(it)
bool surv_isEliminated(entity e)
float autocvar_g_survival_round_enddelay
void surv_LastPlayerForTeam_Notify(entity this)
float autocvar_g_survival_warmup
float autocvar_g_survival_round_timelimit
bool SurvivalStatuses_SendEntity(entity this, entity dest, float sendflags)
#define STATUS_SEND_RESET
bool autocvar_g_survival_punish_teamkill
bool autocvar_g_survival_reward_survival
entity surv_LastPlayerForTeam(entity this)
void Surv_UpdateScores(bool timed_out)
void SurvivalStatuses_Init()
#define STATUS_SEND_HUNTERS
float autocvar_g_survival_hunter_count
#define FOREACH_CLIENT_RANDOM(cond, body)
#define IS_REAL_CLIENT(v)
#define FOREACH_CLIENT(cond, body)
#define IS_BOT_CLIENT(v)
want: (IS_CLIENT(v) && !IS_REAL_CLIENT(v))
void MatchEnd_RestoreSpectatorStatus()