19 int fl =
floor(autocvar_fraglimit);
20 if(fl == 0 || fl > 999)
131 if (it.lms_spectate_warning == 2)
132 it.frags = FRAGS_SPECTATOR;
134 it.frags = FRAGS_PLAYER;
139 it.lms_spectate_warning = 0;
167 if (
time < game_starttime)
174 if(player.lms_spectate_warning)
176 player.lms_spectate_warning = 0;
187 Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_LMS_NOLIVES);
251 frag_target.respawn_time =
time + 2;
264 if (player.lms_spectate_warning < 2)
275 int min_forfeiter_rank = 665;
280 float it_rank = GameRules_scoring_add(it, LMS_RANK, 0);
281 if (it_rank > player_rank && it_rank <= 256)
282 GameRules_scoring_add(it, LMS_RANK, -1);
283 if (it_rank > 256 && it_rank <= min_forfeiter_rank)
284 min_forfeiter_rank = it_rank - 1;
288 float tl = GameRules_scoring_add(it, LMS_LIVES, 0);
289 if(tl < lms_lowest_lives)
290 lms_lowest_lives = tl;
304 Send_Notification(NOTIF_ALL,
NULL, MSG_INFO, INFO_LMS_NOLIVES, player.netname);
306 Send_Notification(NOTIF_ALL,
NULL, MSG_INFO, INFO_LMS_FORFEIT, player.netname);
315 player.lms_spectate_warning = 3;
324 bool is_forced =
M_ARGV(1,
bool);
339 player.lms_spectate_warning = 2;
402 start_items &= ~(IT_UNLIMITED_AMMO | IT_UNLIMITED_SUPERWEAPONS);
403 if(!
cvar(
"g_use_ammunition"))
450 if (ent.classname !=
"item_health_mega")
return false;
455 e.nextthink =
time + 0.1;
456 e.spawnflags = ent.spawnflags;
457 e.noalign = ent.noalign;
470 if(item.itemdef == ITEM_ExtraLife)
483 if (
INGAME(it) && it.lms_spectate_warning < 2)
498 player.lms_spectate_warning = 2;
504 player.lms_spectate_warning = 1;
505 sprint(player,
"WARNING: you won't be able to enter the game again after spectating in LMS. Use the same command again to spectate anyway.\n");
MUTATOR_HOOKFUNCTION(lms, reset_map_global)
int autocvar_g_lms_extra_lives
#define INGAME_STATUS_SET(it, s)
const int CBC_ORDER_EXCLUSIVE
void ClientConnect(entity this)
ClientConnect
float warmup_start_ammo_shells
#define INGAME_STATUS_JOINED
void SetWinners(.float field, float value)
ClientState CS(Client this)
#define FOREACH_CLIENT(cond, body)
void lms_extralife(entity this)
#define GameRules_scoring_add(client, fld, value)
void lms_RemovePlayer(entity player)
void PlayerPreThink(entity this)
float warmup_start_ammo_plasma
#define IS_REAL_CLIENT(v)
entity WinningConditionHelper_winner
the winning player, or NULL if none
float warmup_start_ammo_cells
void SetResource(entity e, Resource res_type, float amount)
Sets the current amount of resource the given entity will have.
float warmup_start_ammo_fuel
float WinningConditionHelper_secondscore
second highest score
void StartItem(entity this, GameItem def)
#define MUTATOR_RETURNVALUE
#define INGAME_STATUS_CLEAR(it)
float warmup_start_armorvalue
bool campaign_bots_may_start
campaign mode: bots shall spawn but wait for the player to spawn before they do anything in other gam...
bool autocvar_g_lms_regenerate
float GetResource(entity e, Resource res_type)
Returns the current amount of resource the given entity has.
const int FRAGS_PLAYER_OUT_OF_GAME
bool autocvar_g_lms_items
float warmup_start_ammo_rockets
bool autocvar_g_lms_join_anytime
bool sv_ready_restart_after_countdown
int WinningCondition_LMS()
const int FRAGS_SPECTATOR
#define IS_BOT_CLIENT(v)
want: (IS_CLIENT(v) && !IS_REAL_CLIENT(v))
float warmup_start_health
string autocvar_g_lms_weaponarena
int autocvar_g_lms_last_join
int autocvar_g_pickup_items
float WinningConditionHelper_topscore
highest score
#define INGAME_JOINING(it)
bool lms_AddPlayer(entity player)
#define INGAME_STATUS_JOINING
void WinningConditionHelper(entity this)
Sets the following results for the current scores entities.
float warmup_start_ammo_nails