13#define STATUS_SEND_RESET 1
14#define STATUS_SEND_HUNTERS 2
33 for (
int b = 0; b < 8; ++b, e =
nextent(e))
50 backtrace(
"Can't spawn survivalStatuses again!");
61 it.totalfrags += it.survival_validkills;
62 if(it.survival_validkills)
64 it.survival_validkills = 0;
99 int survivor_count = 0, hunter_count = 0;
107 if(survivor_count > 0 && hunter_count > 0)
137 else if(survivor_count > 0)
174 it.survival_status = 0;
175 it.survival_validkills = 0;
178 int total_hunters = 0;
181 if(total_hunters >= hunter_count)
199 static int prev_missing_players;
207 if (playercount >= 2)
209 if(prev_missing_players > 0)
211 prev_missing_players = -1;
216 if(prev_missing_players > 0)
218 prev_missing_players = -1;
222 if(prev_missing_players != 1)
225 prev_missing_players = 1;
242 field(SP_SURV_SURVIVALS,
"survivals", 0);
265 float frag_deathtype =
M_ARGV(3,
float);
269 if(frag_attacker.survival_status ==
frag_target.survival_status)
281 player.survival_status = 0;
282 player.survival_validkills = 0;
321 CS(it).killcount = 0;
322 it.survival_status = 0;
376 float frag_deathtype =
M_ARGV(3,
float);
396 Damage(frag_attacker, frag_attacker, frag_attacker, 100000, DEATH_MIRRORDAMAGE.m_id,
DMG_NOWEP, frag_attacker.origin,
'0 0 0');
412 bool is_forced =
M_ARGV(1,
bool);
413 if (is_forced &&
INGAME(player))
418 if (player.killindicator_teamchange == -2)
426 player.survival_validkills = 0;
427 player.survival_status = 0;
443 frag_attacker.survival_validkills +=
M_ARGV(2,
float);
451 if(scorefield == SP_KILLS || scorefield == SP_DEATHS || scorefield == SP_SUICIDES || scorefield == SP_DMG || scorefield == SP_DMGTAKEN)
491 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 serialize(T, stream,...)
#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)
#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()