set g_warmup_majority_factor 0.8 "minimum percentage of players ready needed for warmup to end"
set g_chat_nospectators 0 "if 0 spec/observer chat is always visible to the player, if 1 it is never visible to players, if 2 it is only visible to players during warmup stage"
-set sv_vote_nospectators 0 "if set only players can call a vote (thus spectators and observers can't call a vote)"
+set sv_vote_nospectators 0 "Only players can call a vote (thus spectators and observers can't call a vote): 0 = all people can vote, 1 = spectators can vote in warmup stage, 2 = only players can vote (no exceptions)."
alias g_tourney "g_tourney_$1"
alias g_tourney_1 "g_warmup 1; g_chat_nospectators 2; sv_vote_nospectators 1"
seta g_race_laps_limit -1 "Race laps limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta g_nexball_goallimit -1 "Nexball goal limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta g_nexball_goalleadlimit -1 "Nexball goal lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
+seta g_nexball_safepass_maxdist 5000 // Max distance to allow save fassping (0 to turn off safe passing)
+seta g_nexball_safepass_turnrate 0.1 // How fast the safe-pass ball can habge direction
+seta g_nexball_safepass_holdtime 0.75 // How long to remeber last teammate you pointed at
+seta g_nexball_viewmodel_scale 0.25 // How large the ball for the carrier
+seta g_nexball_viewmodel_offset "8 8 0" // Where the ball is located on carrier "forward right up"
+seta g_nexball_tackling 1 // Allow ball theft?
+
seta g_ctf_ignore_frags 0 "1: regular frags give no points"
set g_tdm_respawn_delay 0
set g_tdm_respawn_waves 0
set g_tdm_weapon_stay 0
+set g_ka_respawn_delay 0
+set g_ka_respawn_waves 0
+set g_ka_weapon_stay 0
set g_kh_respawn_delay 0
set g_kh_respawn_waves 0
set g_kh_weapon_stay 0
set g_ca_weapon_stay 0
set g_ca_damage2score_multiplier 0.01
set g_ca_round_timelimit 180
-set g_nexball_respawn_delay 0
-set g_nexball_respawn_waves 0
-set g_nexball_weapon_stay 0
+set g_nb_respawn_delay 0
+set g_nb_respawn_waves 0
+set g_nb_weapon_stay 0
set g_as_respawn_delay 0
set g_as_respawn_waves 0
set g_as_weapon_stay 0
set g_cts_selfdamage 1 "0 = disable all selfdamage and falldamage in cts"
set g_cts_finish_kill_delay 10 "prevent cheating by running back to the start line, and starting out with more speed than otherwise possible"
set g_cts_weapon_stay 2
-set g_freezetag_respawn_waves 0
-set g_freezetag_respawn_delay 0
-set g_freezetag_weapon_stay 0
-set g_keepaway_respawn_delay 0
-set g_keepaway_respawn_waves 0
-set g_keepaway_weapon_stay 0
+set g_ft_respawn_waves 0
+set g_ft_respawn_delay 0
+set g_ft_weapon_stay 0
// overtime
seta timelimit_overtime 2 "duration in minutes of one added overtime, added to the timelimit"
set con_completion_vdomap map
set con_completion_playermodel models/player/*.iqm
-// these non-saved engine cvars shall be savedG
+// these non-saved engine cvars shall be saved
seta cl_port $cl_port
seta r_showsurfaces $r_showsurfaces
seta r_ambient $r_ambient
seta vid_gl13 $vid_gl13
seta r_drawviewmodel $r_drawviewmodel
seta v_idlescale $v_idlescale
+seta net_slist_queriespersecond $net_slist_queriespersecond
// ticrate
//sys_ticrate 0.0166667
set sv_foginterval 1 "force enable fog in regular intervals"
+set g_physical_items 0 "1 uses ODE physics for dropped weapons, 2 for all items, requires physics_ode to be enabled"
+set g_physical_items_damageforcescale 3 "how affected physical weapons are by damage"
+set g_physical_items_reset 1 "return map items to their original lotation after being picked up"
+
// Audio track names (for old-style "cd loop NUMBER" usage)
set _cdtrack_first "1"
alias _cdtrack_0 "g_cdtracks_remaplist \"$g_cdtracks_remaplist $1\""
set g_hitplots 0 "when set to 1, hitplots are stored by the server to provide a means of proving that a triggerbot was used"
seta g_hitplots_individuals "" "the individuals, by IP, that should have their hitplots recorded"
-set menu_updatecheck 1
+set menu_updatecheck 1 "check for updates"
+set menu_updatecheck_getpacks 1 "get update packs from update server"
set bot_navigation_ignoreplayers 0 // FIXME remove this once the issue is solved
set bot_sound_monopoly 0 "when enabled, only bots can make any noise"
-set sv_loddistance1 1024
-set sv_loddistance2 4096
-seta cl_playerdetailreduction 0 "the higher, the less detailed player models are displayed (LOD)"
+set cl_loddistance1 1024
+set cl_loddistance2 3072
+seta cl_playerdetailreduction 1 "the higher, the less detailed player models are displayed (LOD)"
+seta cl_modeldetailreduction 1 "the higher, the less detailed certain map models are displayed (LOD)"
set g_mapinfo_settemp_acl "+*" "ACL for mapinfo setting cvars"
alias cl_hook_gamestart_ons
alias cl_hook_gamestart_as
alias cl_hook_gamestart_rc
-alias cl_hook_gamestart_nexball
+alias cl_hook_gamestart_nb
alias cl_hook_gamestart_cts
alias cl_hook_gamestart_ka
-alias cl_hook_gamestart_freezetag
+alias cl_hook_gamestart_ft
alias cl_hook_gameend
alias cl_hook_activeweapon
alias sv_hook_gamestart_ons
alias sv_hook_gamestart_as
alias sv_hook_gamestart_rc
-alias sv_hook_gamestart_nexball
+alias sv_hook_gamestart_nb
alias sv_hook_gamestart_cts
alias sv_hook_gamestart_ka
-alias sv_hook_gamestart_freezetag
+alias sv_hook_gamestart_ft
alias sv_hook_gamerestart
alias sv_hook_gameend
// campaign internal, set when loading a campaign map1G
set _campaign_index ""
set _campaign_name ""
+set _campaign_testrun 0 "To verify the campaign file, set this to 1, then start the first campaign level from the menu. If you end up in the menu again, it's good, if you get a QC crash, it's bad."
// debug
set _independent_players 0 "DO NOT TOUCH"
scr_loadingscreen_background 0
scr_loadingscreen_barcolor "0 0.5 1"
scr_loadingscreen_barheight 12
-scr_loadingscreen_count 13
+scr_loadingscreen_count 14
+scr_loadingscreen_firstforstartup 1
scr_loadingscreen_scale 999
scr_loadingscreen_scale_base 1
scr_loadingscreen_scale_limit 2