set sv_vote_master_callable 0 "When set, users can use \"vmaster\" to call a vote to become master of voting commands"
set sv_vote_master_password "" "when set, users can use \"vlogin PASSWORD\" to log in as master, then run master commands directly using vdo"
set sv_vote_master_playerlimit 2 "Minimum number of players needed for a player to be allowed to vote for master"
-set sv_vote_no_stops_vote 1 "Allow the vote caller to stop his own vote simply by voting no"
+set sv_vote_no_stops_vote 1 "Allow the vote caller to stop their own vote simply by voting no"
set sv_vote_singlecount 0 "set to 1 to count votes once after timeout or to 0 to count with every vote"
set sv_vote_timeout 24 "a vote will timeout after this many seconds"
-set sv_vote_wait 120 "a player can not call a vote again for this many seconds when his vote was not accepted"
-set sv_vote_stop 15 "a player can not call a vote again for this many seconds when he stopped this vote (e.g. to correct it)"
+set sv_vote_wait 120 "a player can not call a vote again for this many seconds when their vote was not accepted"
+set sv_vote_stop 15 "a player can not call a vote again for this many seconds when they stopped this vote (e.g. to correct it)"
set sv_vote_majority_factor 0.5 "What percentage of the PLAYERS constitute a majority? (Must be at least 0.5, recommended: 0.5)"
set sv_vote_majority_factor_of_voted 0.5 "What percentage of the VOTERS constitute a majority too? (Must be at least 0.5, recommended: 0.5)"
set sv_vote_gamestart 0 "Allow voting during map change"
set g_ctf_score_ignore_fields 0 "force regular score settings to override per entity specified scores"
set g_ctf_shield_max_ratio 0 "shield at most this percentage of a team from the enemy flag (try: 0.4 for 40%)"
-set g_ctf_shield_min_negscore 20 "shield the player from the flag if he's got this negative amount of points or less"
+set g_ctf_shield_min_negscore 20 "shield the player from the flag if they've got this negative amount of points or less"
set g_ctf_shield_force 100 "push force of the shield"
set g_ctf_flag_red_model "models/ctf/flags.md3"
set g_nexball_delay_goal 3 "delay between a goal and a ball reset"
set g_nexball_delay_idle 10 "maximal idle time before a reset"
set g_nexball_delay_start 3 "time the ball stands on its spawn before being released"
-set g_nexball_delay_collect 0.5 "time before the same player can catch the ball he launched"
+set g_nexball_delay_collect 0.5 "time before the same player can catch the ball they launched"
set g_nexball_sound_bounce 1 "bouncing sound (0: off)"
set g_nexball_basketball_trail 1 "1 to leave a trail"
set g_nexball_football_trail 0 "1 to leave a trail"
// ========
// midair
// ========
-set g_midair 0 "if set to 1 you can only apply damage to your opponent while he is airborne"
+set g_midair 0 "if set to 1 you can only apply damage to your opponent while they are airborne"
set g_midair_shieldtime 0.3 "number of seconds you are still invincible since you lost contact to the ground"
}
if(this.state && !this.owner.csqcmodel_isdead)
{
- // if the player was dead but is now alive, it means he respawned
- // if so, clear his damage effects, or damages from his dead body will be copied back
+ // if the player was dead but is now alive, it means they respawned
+ // if so, clear their damage effects, or damages from their dead body will be copied back
this.owner.total_damages = max(0, this.owner.total_damages - 1);
delete(this);
return;
}
// always send origin of players even if they stand still otherwise
- // if a teammate isn't in my pvs and his health (or view angle or name
- // etc...) changes then his tag disappears
+ // if a teammate isn't in my pvs and their health (or view angle or name
+ // etc...) changes then their tag disappears
if (IS_PLAYER(this.owner))
this.SendFlags |= BIT(ENTCS_PROP_ORIGIN_id);
ctf_Handle_Pickup(flag, toucher, PICKUP_BASE); // toucher just stole the neutral flag
}
else if(CTF_SAMETEAM(toucher, flag) && (toucher.flagcarried) && DIFF_TEAM(toucher.flagcarried, flag) && is_not_monster)
- ctf_Handle_Capture(flag, toucher, CAPTURE_NORMAL); // toucher just captured the enemies flag to his base
+ ctf_Handle_Capture(flag, toucher, CAPTURE_NORMAL); // toucher just captured the enemies flag to their base
else if(CTF_DIFFTEAM(toucher, flag) && (toucher.flagcarried) && CTF_SAMETEAM(toucher.flagcarried, toucher) && (!toucher.ctf_captureshielded) && autocvar_g_ctf_flag_return_carrying && (time > toucher.next_take_time) && is_not_monster)
{
ctf_Handle_Return(toucher.flagcarried, toucher); // return their current flag
case FLAG_DROPPED:
{
if(CTF_SAMETEAM(toucher, flag) && ctf_Immediate_Return_Allowed(flag, toucher))
- ctf_Handle_Return(flag, toucher); // toucher just returned his own flag
+ ctf_Handle_Return(flag, toucher); // toucher just returned their own flag
else if(is_not_monster && (!toucher.flagcarried) && ((toucher != flag.ctf_dropper) || (time > flag.ctf_droptime + autocvar_g_ctf_flag_collect_delay)))
ctf_Handle_Pickup(flag, toucher, PICKUP_DROPPED); // toucher just picked up a dropped enemy flag
break;
{
if (head.ctf_status == FLAG_CARRY)
{
- // adjust rating of our flag carrier depending on his health
+ // adjust rating of our flag carrier depending on their health
head = head.tag_entity;
float f = bound(0, (GetResource(head, RES_HEALTH) + GetResource(head, RES_ARMOR)) / 100, 2) - 1;
ratingscale += ratingscale * f * 0.1;
TeamScore_AddToTeam(this.goalentity.team, ST_SCORE, fragamt);
TeamScore_AddToTeam(this.goalentity.team, ST_DOM_TICKS, fragamt);
- // give credit to the individual player, if he is still there
+ // give credit to the individual player, if they are still there
if (this.enemy.playerid == this.enemy_playerid)
{
GameRules_scoring_add(this.enemy, SCORE, fragamt);
if(ITEM_DAMAGE_NEEDKILL(frag_deathtype)
|| frag_deathtype == DEATH_TEAMCHANGE.m_id || frag_deathtype == DEATH_AUTOTEAMCHANGE.m_id)
{
- // let the player die, he will be automatically frozen when he respawns
+ // let the player die, they will be automatically frozen when they respawn
if (STAT(FROZEN, frag_target) != FROZEN_NORMAL)
{
freezetag_Add_Score(frag_target, frag_attacker);
{
if(lostkey.kh_previous_owner)
kh_Scores_Event(lostkey.kh_previous_owner, NULL, "pushed", 0, -autocvar_g_balance_keyhunt_score_push);
- // don't actually GIVE him the -nn points, just log
+ // don't actually GIVE them the -nn points, just log
kh_Scores_Event(attacker, NULL, "push", autocvar_g_balance_keyhunt_score_push, 0);
GameRules_scoring_add(attacker, KH_PUSHES, 1);
//centerprint(attacker, "Your push is the best!"); // does this really need to exist?
if(lostkey.kh_previous_owner)
kh_Scores_Event(lostkey.kh_previous_owner, NULL, "destroyed", 0, -autocvar_g_balance_keyhunt_score_destroyed);
- // don't actually GIVE him the -nn points, just log
+ // don't actually GIVE them the -nn points, just log
if(lostkey.kh_previous_owner.playerid == lostkey.kh_previous_owner_playerid)
GameRules_scoring_add(lostkey.kh_previous_owner, KH_DESTROYS, 1);
else
{
// a winner!
- // and assign him his first place
+ // and assign them their first place
GameRules_scoring_add(first_player, LMS_RANK, 1);
first_player.winning = 1;
return WINNING_YES;
spawnfunc(info_null)
{
delete(this);
- // if anything breaks, tell the mapper to fix his map! info_null is meant to remove itself immediately.
+ // if anything breaks, tell the mapper to fix their map! info_null is meant to remove itself immediately.
}
#endif
}
void trigger_gravity_check_think(entity this)
{
- // This spawns when a player enters the gravity zone and checks if he left.
+ // This spawns when a player enters the gravity zone and checks if they left.
// Each frame, this.count is set to 2 by trigger_gravity_touch() and decreased by 1 here.
// It the player has left the gravity trigger, this will be allowed to reach 0 and indicate that.
if(this.count <= 0)
and ti.
*/
- // push him so high...
+ // push them so high...
vz = sqrt(fabs(2 * grav * jumpheight)); // NOTE: sqrt(positive)!
// we start with downwards velocity only if it's a downjump and the jump apex should be outside the jump!
wait: prevent triggering again for this amount of time (default: 5) - applies to target2, target3, target4.
---------NOTES----------
If spawned without any key specified in itemkeys, this trigger will display an error and remove itself.
-message2 and noise2 will be resent to the player every 2 seconds while he is in the trigger zone.
+message2 and noise2 will be resent to the player every 2 seconds while they are in the trigger zone.
*/
spawnfunc(trigger_keylock)
{
if(!database)
{
// set the object's owner via player UID
- // if the player does not have an UID, the owner cannot be stored and his objects may be edited by anyone
+ // if the player does not have an UID, the owner cannot be stored and their objects may be edited by anyone
if(this.crypto_idfp != "")
e.crypto_idfp = strzone(this.crypto_idfp);
else
print_to(player, "^3physics value ^7- object physics, 0 = static, 1 = movable, 2 = physical");
print_to(player, "^3force value ^7- amount of force applied to objects that are shot");
print_to(player, "^3material value ^7- sets the material of the object. Default materials are: metal, stone, wood, flesh");
- print_to(player, "^7\"^2object_claim^7\" sets the player as the owner of the object, if he has the right to edit it");
+ print_to(player, "^7\"^2object_claim^7\" sets the player as the owner of the object, if they have the right to edit it");
print_to(player, "^7\"^2object_info ^3value^7\" shows public information about the object");
print_to(player, "^3object ^7- prints general information about the object, such as owner and creation / editing date");
print_to(player, "^3mesh ^7- prints information about the object's mesh, including skeletal bones");
{
// update the owner's name
// Do this before checking if you're already the owner and skipping if such, so we
- // also update the player's nickname if he changed it (but has the same player UID)
+ // also update the player's nickname if they changed it (but has the same player UID)
if(e.netname != player.netname)
{
strcpy(e.netname, player.netname);
if (weaponLocked(it)) continue;
if (it == player) continue;
- tested++; // i consider a teammate to be available when he passes the checks above
+ tested++; // i consider a teammate to be available when they pass the checks above
vector horiz_vel = vec2(it.velocity);
- // when walking slowly sideways, we assume the player wants a clear shot ahead - spawn behind him according to where he's looking
- // when running fast, spawn behind him according to his direction of movement to prevent colliding with the newly spawned player
+ // when walking slowly sideways, we assume the player wants a clear shot ahead - spawn behind them according to where they're looking
+ // when running fast, spawn behind them according to their direction of movement to prevent colliding with the newly spawned player
vector forward = '0 0 0'; vector right = '0 0 0'; vector up = '0 0 0';
if (vdist(horiz_vel, >, autocvar_sv_maxspeed + 50))
{
if (trace_fraction != 1.0) goto skip;
// 400 is about the height of a typical laser jump (in overkill)
- // not traceline because we need space for the whole player, not just his origin
+ // not traceline because we need space for the whole player, not just their origin
tracebox(horizontal_trace_endpos, STAT(PL_MIN, player), STAT(PL_MAX, player), horizontal_trace_endpos - 400 * up, MOVE_NORMAL, it);
vector vectical_trace_endpos = trace_endpos;
//te_lightning1(NULL, horizontal_trace_endpos, vectical_trace_endpos);
if (pointcontents(vectical_trace_endpos) != CONTENT_EMPTY) goto skip; // no lava or slime (or water which i assume would be annoying anyway)
if (tracebox_hits_trigger_hurt(horizontal_trace_endpos, STAT(PL_MIN, player), STAT(PL_MAX, player), vectical_trace_endpos)) goto skip;
- // make sure the spawned player will have floor ahead (or at least a wall - he shouldn't fall as soon as he starts moving)
+ // make sure the spawned player will have floor ahead (or at least a wall - they shouldn't fall as soon as they start moving)
// top front of player's bbox - highest point we know is not inside solid
vector floor_test_start = vectical_trace_endpos + up * STAT(PL_MAX, player).z + forward * STAT(PL_MAX, player).x;
traceline(floor_test_start, floor_test_start + forward * 100 - up * 128, MOVE_NOMONSTERS, it);
void W_MineLayer_ProximityExplode(entity this)
{
- // make sure no friend is in the mine's radius. If there is any, explosion is delayed until he's at a safe distance
+ // make sure no friend is in the mine's radius. If there is any, explosion is delayed until they're at a safe distance
if(WEP_CVAR(minelayer, protection) && this.mine_explodeanyway == 0)
{
entity head;
this.mine_explodeanyway = 1; // make the mine super aggressive -- Samual: Rather, make it not care if a team mate is near.
}
- // a player's mines shall explode if he disconnects or dies
+ // a player's mines shall explode if they disconnect or die
// TODO: Do this on team change too -- Samual: But isn't a player killed when they switch teams?
if(!IS_PLAYER(this.realowner) || IS_DEAD(this.realowner) || STAT(FROZEN, this.realowner))
{
o1 = o1 - v1 * (d / dv);
}
- // put him out of solid
+ // put them out of solid
tracebox(o1 - player.view_ofs, player.mins, player.maxs, o1 - player.view_ofs, MOVE_NOMONSTERS, player);
if(trace_startsolid)
{
me.TR(me);
me.TDempty(me, 0.2);
me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_instagib", "1", _("InstaGib"),
- _("Players will be given only one weapon, which can instantly kill the opponent with a single shot. If the player runs out of ammo, he will have 10 seconds to find some or if he fails to do so, face death. The secondary fire mode does not inflict any damage but is good for doing trickjumps.")));
+ _("Players will be given only one weapon, which can instantly kill the opponent with a single shot. If the player runs out of ammo, they will have 10 seconds to find some or if they fail to do so, face death. The secondary fire mode does not inflict any damage but is good for doing trickjumps.")));
e.cvarOffValue = "0";
me.TR(me);
me.TDempty(me, 0.2);
if (trace_ent == this.enemy || trace_fraction == 1)
if (vdist(targ_pos - this.origin, <, 1000))
{
- // remain tracking him for a shot while (case he went after a small corner or pilar
+ // remain tracking them for a shot while (case they went after a small corner or pilar
this.havocbot_chooseenemy_finished = time + 0.5;
return;
}
float timeout_time; // contains the time in seconds that the active timeout has left
float timeout_leadtime; // contains the number of seconds left of the leadtime (before the timeout starts)
.float allowed_timeouts; // contains the number of allowed timeouts for each player
-.vector lastV_angle; // used when pausing the game in order to force the player to keep his old view angle fixed
+.vector lastV_angle; // used when pausing the game in order to force the player to keep their old view angle fixed
// allow functions to be used in other code like world.qc and teamplay.qc
void timeout_handler_think(entity this);
{
// PlayerScore_Clear(it);
CS(it).killcount = 0;
- // stop the player from moving so that he stands still once he gets respawned
+ // stop the player from moving so that they stand still once they get respawned
it.velocity = '0 0 0';
it.avelocity = '0 0 0';
CS(it).movement = '0 0 0';
// These are ALWAYS lethal
// No damage modification here
- // Instead, prepare the victim for his death...
+ // Instead, prepare the victim for their death...
if(deathtype == DEATH_TEAMCHANGE.m_id || deathtype == DEATH_AUTOTEAMCHANGE.m_id)
{
SetResourceExplicit(targ, RES_ARMOR, 0);
}
}
}
- // if we replace someone, will we be banned longer than him (so long-term
+ // if we replace someone, will we be banned longer than them (so long-term
// bans never get overridden by short-term bans)
if(i < ban_count)
if(ban_expire[i] > time + bantime)
/**/
MUTATOR_HOOKABLE(ForbidRandomStartWeapons, EV_ForbidRandomStartWeapons);
-/** called when a player spawns as player, after shared setup, before his weapon is chosen (so items may be changed in here) */
+/** called when a player spawns as player, after shared setup, before their weapon is chosen (so items may be changed in here) */
#define EV_PlayerSpawn(i, o) \
/** player spawning */ i(entity, MUTATOR_ARGV_0_entity) \
/** spot that was used, or NULL */ i(entity, MUTATOR_ARGV_1_entity) \
/**/
MUTATOR_HOOKABLE(ClientDisconnect, EV_ClientDisconnect);
-/** called when a player dies to e.g. remove stuff he was carrying. */
+/** called when a player dies to e.g. remove stuff they were carrying. */
#define EV_PlayerDies(i, o) \
/** inflictor */ i(entity, MUTATOR_ARGV_0_entity) \
/** attacker */ i(entity, MUTATOR_ARGV_1_entity) \
/**/
MUTATOR_HOOKABLE(FragCenterMessage, EV_FragCenterMessage);
-/** called when a player dies to e.g. remove stuff he was carrying */
+/** called when a player dies to e.g. remove stuff they were carrying */
#define EV_PlayHitsound(i, o) \
/** victim */ i(entity, MUTATOR_ARGV_0_entity) \
/** attacker */ i(entity, MUTATOR_ARGV_1_entity) \
/**/
MUTATOR_HOOKABLE(AllowMobSpawning, EV_AllowMobSpawning);
-/** called when a player gets damaged to e.g. remove stuff he was carrying. */
+/** called when a player gets damaged to e.g. remove stuff they were carrying. */
#define EV_PlayerDamage_SplitHealthArmor(i, o) \
/** inflictor */ i(entity, MUTATOR_ARGV_0_entity) \
/** attacker */ i(entity, MUTATOR_ARGV_1_entity) \
}
if (prevpos)
{
- // player improved his existing record, only have to iterate on ranks between new and old recs
+ // player improved their existing record, only have to iterate on ranks between new and old recs
for (i = prevpos; i > newpos; --i)
{
db_put(ServerProgsDB, strcat(map, record_type, "time", ftos(i)), ftos(race_readTime(map, i - 1)));
if(pl > race_highest_place_spawn)
pl = 0;
if(pl == 0 && !player.race_started)
- pl = race_highest_place_spawn; // use last place if he has not even touched finish yet
+ pl = race_highest_place_spawn; // use last place if they have not even touched finish yet
if(spot.race_place != pl)
return '-1 0 0';
}
// TODO for fireBullet, find how far the shot will penetrate and aim at that
// for fireRailgunbullet, find the farthest target and aim at that
// this will avoid issues when another player is passing in front of you when you shoot
- // (currently such a shot will hit him but then miss the original target)
+ // (currently such a shot will hit them but then miss the original target)
ent.dphitcontentsmask = DPCONTENTS_BODY | DPCONTENTS_CORPSE;
}
else
set teamplay_lockonrestart 0 "lock teams once all players readied up and the game restarted (no new players can join after restart unless using the server-command unlockteams)"
set g_maxplayers 0 "maximum number of players allowed to play at the same time, 0 means unlimited, -1 uses the map setting or unlimited if not set (rounded to multiple of team number)"
-set g_maxplayers_spectator_blocktime 5 "if the players voted for the \"nospectators\" command, this setting defines the number of seconds a observer/spectator has time to join the game before he gets kicked"
+set g_maxplayers_spectator_blocktime 5 "if the players voted for the \"nospectators\" command, this setting defines the number of seconds a observer/spectator has time to join the game before they get kicked"
// tournament mod
set g_warmup 0 "split the game into a warmup- and match-stage, -1 means stay in warmup until enough (set by map, lower bound of 2 or 2 per team) players join, then g_warmup_limit and readiness apply"
set g_chat_flood_spl_tell 1 "private chat: seconds between lines to not count as flooding"
set g_chat_flood_lmax_tell 2 "private chat: maximum number of lines per chat message at once"
set g_chat_flood_burst_tell 2 "private chat: allow bursts of so many chat lines"
-set g_chat_flood_notify_flooder 1 "when 0, the flooder still can see his own message"
+set g_chat_flood_notify_flooder 1 "when 0, the flooder still can see their own message"
set g_chat_teamcolors 0 "colorize nicknames in team color for chat"
set g_chat_tellprivacy 1 "when disabled, tell messages are also sent to the server console log... otherwise they're kept private between players."
set g_nick_flood_timeout 120 "time after which nick flood protection resets (set to 0 to disable nick flood checking)"