bf327a2416b8118a06e18a9386dec20b8ec8fd08
[divverent/nexuiz.git] / data / defaultNexuiz.cfg
1 // Nexuiz version (formatted for humans)
2 set g_nexuizversion 2.4svn
3
4 //!<showbrand
5 showbrand 3
6 echo
7 echo A warning about this being a SVN development version was set up.
8 echo This build shall be used for development and testing only!
9 echo
10 echo If you want to disable this warning, add the line
11 echo   showbrand 0
12 echo to your autoexec.cfg.
13 echo
14 //!>showbrand
15
16 // changes a cvar and reports it to the server (for the menu to notify the
17 // server about changes)
18 alias setreport "set \"$1\" \"$2\" ; sendcvar \"$1\""
19
20 // detect dedicated server
21 alias "_detect_dedicated_$qport" "$*"
22 alias "_detect_dedicated_0" ""
23 alias if_dedicated "_detect_dedicated_$qport $*"
24
25 // Configuration file version (used to upgrade settings)
26 // 0: first run, or previous start was <2.4.1
27 // later, it's overridden by config.cfg, version ranges are defined in config_update.cfg
28 seta g_configversion 0
29
30 // default.cfg versioning (update using update-cvarcount.sh, run that every time after adding a new cvar)
31 set cvar_check_default 9baebeee18b375c654d6fbb2035525a6
32
33 // Nexuiz version (formatted for machines)
34 // used to determine if a client version is compatible
35 // this doesn't have to be bumped with every release
36 // bump when clients become incompatible or any other perfectly good reason
37 // (e.g. game data incompatibility, engine version incompatibility, etc
38 // note: this automatically filters the server browser, clients of the new
39 // version won't see old servers, and clients of the old version won't see new
40 // servers either
41 //
42 // e.g. Nexuiz 1.5.1 RC1 will be 15101
43 gameversion 20000
44
45 // say aliases
46 alias asay_ctf_flagcarrier "say_team flag carrier at %y"
47 alias asay_ctf_haveflag "say_team (%l) have the flag"
48 alias asay_willgo "say_team will go to %y"
49 alias asay_support "say_team (%l) need help, %h%%"
50 alias asay_killed "say_team got killed at %d"
51 alias asay_noammo "say_team (%l) need %W for %w"
52 alias asay_drop "say_team (%l) dropped %w ; impulse 17"
53
54 // other aliases
55 alias +hook +button6
56 alias -hook -button6
57 alias ready "cmd ready"
58 alias lockteams "sv_cmd lockteams"
59 alias unlockteams "sv_cmd unlockteams"
60 alias nospectators "sv_cmd nospectators"
61 alias cointoss "sv_cmd cointoss"
62 alias timeout "cmd timeout" //use this command to call a timeout
63 alias timein "cmd timein" //use this command to resume the game before timeout is finished
64
65 alias bsp "ls maps/*.bsp"
66 alias chmap "changelevel $*"
67 alias gotomap "sv_cmd gotomap \"$1\""
68
69 alias rec "record demos/$1"
70 alias ply "playdemo $1"
71 alias tdem "timedemo $1"
72
73 alias dropweapon "impulse 17"
74 alias +show_info +button7
75 alias -show_info -button7
76
77 alias team_red "cmd selectteam red; cmd join"
78 alias team_blue "cmd selectteam blue; cmd join"
79 alias team_pink "cmd selectteam pink; cmd join"
80 alias team_yellow "cmd selectteam yellow; cmd join"
81 alias team_auto "cmd selectteam auto; cmd join"
82 bind f6 team_auto
83
84 alias movetoteam_red "sv_cmd movetoteam $1 red"
85 alias movetoteam_blue "sv_cmd movetoteam $1 blue"
86 alias movetoteam_pink "sv_cmd movetoteam $1 pink"
87 alias movetoteam_yellow "sv_cmd movetoteam $1 yellow"
88 alias movetoteam_auto "sv_cmd movetoteam $1 auto"
89
90 // merge lightmaps up to 1024x1024 textures
91 // the default of 2048x2048 is too heavy for my rig (SavageX)
92 mod_q3bsp_lightmapmergepower 3
93
94 // player defaults
95 _cl_color 102
96 _cl_name Player
97 _cl_playermodel models/player/marine.zym
98 _cl_playerskin 0
99 crosshair 5
100 seta crosshair_per_weapon 0
101 seta crosshair_color_override 0 "when 1, crosshair_color_* overrides the per-weapon color"
102 seta crosshair_laser ""
103 seta crosshair_laser_color_red 1
104 seta crosshair_laser_color_green 0.35
105 seta crosshair_laser_color_blue 0.2
106 seta crosshair_laser_color_alpha 0.75
107 seta crosshair_laser_size 0.55
108 seta crosshair_shotgun ""
109 seta crosshair_shotgun_color_red 0.75
110 seta crosshair_shotgun_color_green 0.75
111 seta crosshair_shotgun_color_blue 0.75
112 seta crosshair_shotgun_color_alpha 1
113 seta crosshair_shotgun_size 1.1
114 seta crosshair_uzi ""
115 seta crosshair_uzi_color_red 1
116 seta crosshair_uzi_color_green 1
117 seta crosshair_uzi_color_blue 0.75
118 seta crosshair_uzi_color_alpha 1
119 seta crosshair_uzi_size 1.15
120 seta crosshair_grenadelauncher ""
121 seta crosshair_grenadelauncher_color_red 1
122 seta crosshair_grenadelauncher_color_green 0.5
123 seta crosshair_grenadelauncher_color_blue 0.5
124 seta crosshair_grenadelauncher_color_alpha 1
125 seta crosshair_grenadelauncher_size 1.35
126 seta crosshair_electro ""
127 seta crosshair_electro_color_red 0.35
128 seta crosshair_electro_color_green 0.5
129 seta crosshair_electro_color_blue 1
130 seta crosshair_electro_color_alpha 0.90
131 seta crosshair_electro_size 1
132 seta crosshair_crylink ""
133 seta crosshair_crylink_color_red 0.85
134 seta crosshair_crylink_color_green 0.25
135 seta crosshair_crylink_color_blue 1
136 seta crosshair_crylink_color_alpha 0.85
137 seta crosshair_crylink_size 0.75
138 seta crosshair_nex ""
139 seta crosshair_nex_color_red 0
140 seta crosshair_nex_color_green 1
141 seta crosshair_nex_color_blue 1
142 seta crosshair_nex_color_alpha 0.85
143 seta crosshair_nex_size 0.65
144 seta crosshair_hagar ""
145 seta crosshair_hagar_color_red 1
146 seta crosshair_hagar_color_green 0.75
147 seta crosshair_hagar_color_blue 0.5
148 seta crosshair_hagar_color_alpha 1
149 seta crosshair_hagar_size 1.35
150 seta crosshair_rocketlauncher ""
151 seta crosshair_rocketlauncher_color_red 1
152 seta crosshair_rocketlauncher_color_green 0.85
153 seta crosshair_rocketlauncher_color_blue 0.2
154 seta crosshair_rocketlauncher_color_alpha 1
155 seta crosshair_rocketlauncher_size 1.15
156 seta crosshair_porto ""
157 seta crosshair_porto_color_red 0.5
158 seta crosshair_porto_color_green 1
159 seta crosshair_porto_color_blue 0.5
160 seta crosshair_porto_color_alpha 0.85
161 seta crosshair_porto_size 1
162 seta crosshair_minstanex ""
163 seta crosshair_minstanex_color_red 0.65
164 seta crosshair_minstanex_color_green 0.65
165 seta crosshair_minstanex_color_blue 1
166 seta crosshair_minstanex_color_alpha 1
167 seta crosshair_minstanex_size 0.65
168 seta crosshair_hook ""
169 seta crosshair_hook_color_red 0.65
170 seta crosshair_hook_color_green 1
171 seta crosshair_hook_color_blue 0.85
172 seta crosshair_hook_color_alpha 0.85
173 seta crosshair_hook_size 1
174 seta crosshair_hlac ""
175 seta crosshair_hlac_color_red 1
176 seta crosshair_hlac_color_green 0.65
177 seta crosshair_hlac_color_blue 0.2
178 seta crosshair_hlac_color_alpha 1
179 seta crosshair_hlac_size 2
180 seta crosshair_seeker ""
181 seta crosshair_seeker_color_red 1
182 seta crosshair_seeker_color_green 0.35
183 seta crosshair_seeker_color_blue 0.35
184 seta crosshair_seeker_color_alpha 0.9
185 seta crosshair_seeker_size 2
186 seta crosshair_campingrifle ""
187 seta crosshair_campingrifle_color_red 1
188 seta crosshair_campingrifle_color_green 1
189 seta crosshair_campingrifle_color_blue 0.2
190 seta crosshair_campingrifle_color_alpha 1
191 seta crosshair_campingrifle_size 1
192 fov 90
193 seta cl_zoomfactor 5    "how much +zoom will zoom (1-16)"
194 seta cl_zoomspeed 3.5   "how fast it will zoom (0.5-16), negative values mean instant zoom"
195 seta cl_zoomsensitivity 0       "how zoom changes sensitivity (0 = weakest, 1 = strongest)"
196 freelook 1
197 sensitivity 6
198 v_gamma 1.125000
199 viewsize 110
200 bgmvolume 1
201 volume 0.5
202 // fullscreen 1024x768x32bit
203 vid_bitsperpixel 32
204 vid_fullscreen 1
205 vid_width 1024
206 vid_height 768
207 // 2D resolution 800x600
208 vid_conwidth 800
209 vid_conheight 600
210 set sbar_hudselector 1  "use the new nexuiz hud layout"
211 v_deathtilt 0 // needed for spectators (who are dead to avoid prediction)
212
213 // these settings determine how much the view is affected by movement/damage
214 cl_bobcycle 0 // how long the cycle of up/down view movement takes (only works if cl_bob is not 0), default is 0.6
215 cl_bob 0.02 // how much view moves up/down when moving (does not move if cl_bobcycle is 0, but still enables cl_bobmodel), default is 0.02
216 cl_bobmodel 1 // whether to have gun model move around on screen when moving (only works if cl_bob is not 0), default is 1
217 cl_rollangle 0 // amount of view tilt when strafing, default is 2.0
218 v_kicktime 0 // how long damage kicks of the view last, default is 0.5 seconds
219 gl_polyblend 1 // whether to use screen tints, default is 1
220
221 seta vid_x11_display "" "nexuiz-linux-*.sh will use this to start nexuiz on an other/new X display"
222 // This can have three possible settings:
223 //      ""              run as usual
224 //      ":n"            use DISPLAY=:n, create it if needed
225 //      ":n/layout"     use DISPLAY=:n, create it if needed with ServerLayout layout
226
227 cl_autodemo_nameformat demos/%Y-%m-%d_%H-%M
228
229 // taunts and voices
230 seta cl_autotaunt 0.65
231 seta cl_voice_directional 1     "0 = all voices are non-directional, 1 = all voices are directional, 2 = only taunts are directional"
232 seta cl_voice_directional_taunt_attenuation 0.5
233
234 // server settings
235 hostname "Nexuiz Server"
236 set sv_mapchange_delay 5
237 set minplayers 0
238 sv_cullentities_trace 1
239 r_cullentities_trace 1
240
241 // restart server if all players hit "ready"-button
242 set sv_ready_restart 0
243 set sv_ready_restart_after_countdown 0  "if set to 1 the players and map items are reset after the countdown ended, otherwise they're reset already at the beginning of the countdown"
244 set sv_ready_restart_repeatable 0       "allows the players to restart the game as often as needed"
245
246 //nifreks lockonrestart feature, used in team-based game modes, if set to 1 and all players readied up no other player can then join the game anymore, useful to block spectators from joining
247 set teamplay_lockonrestart 0
248
249 set g_maxplayers 0      "maximum number of players allowed to play at the same time, set to 0 to all players to join the game"
250 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"
251
252 //tournament mod
253 set g_warmup 0  "split the game into a warmup- and match-stage when set to 1"
254 set g_warmup_limit 60   "if set to -1 the warmup-stage is not affected by any timelimit, if set to 0 the usual timelimit also affects warmup-stage, otherwise warmup will be limited to this time (useful for public matches)"
255 set g_warmup_allow_timeout 0    "if set to 0 you cannot use the calltimeout command during the warmup-stage but only during the match stage"
256 set g_warmup_allguns 0  "if set players start with all guns in warmup mode"
257 set g_warmup_start_health 250   "starting values when being in warmup-stage"
258 set g_warmup_start_armor 100
259 set g_warmup_start_ammo_shells 50
260 set g_warmup_start_ammo_nails 150
261 set g_warmup_start_ammo_rockets 50
262 set g_warmup_start_ammo_cells 50
263
264 set g_chat_nospectators 0       "if set the chat sent by spectators or observers while being in match-stage can only seen by other specs/observers"
265 set sv_vote_nospectators 0      "if set only players can call a vote during the match-stage (thus spectators and observers can't call a vote then)"
266
267 alias g_tourney "g_tourney_$1"
268 alias g_tourney_1 "g_warmup 1; g_chat_nospectators 1; sv_vote_nospectators 1"
269 alias g_tourney_0 "g_warmup 0; g_chat_nospectators 0; sv_vote_nospectators 0"
270
271 set sv_timeout 0        "allows a player to call a timeout, this will pause the game for some time"
272 set sv_timeout_length 120       "how long the game will be paused at max, in seconds"
273 set sv_timeout_number 2 "how many timeouts one player is allowed to call (gets reset after a restart)"
274 set sv_timeout_leadtime 4       "how long the players will be informed that a timeout was calledbefore it starts, in seconds"
275 set sv_timeout_resumetime 3     "how long the remaining timeout-time will be after a player called the resumegame command"
276
277 // use default physics
278 exec physics25.cfg
279
280 set sv_pogostick 0      "don't require releasing the space bar for jumping again"
281 set sv_doublejump 0     "allow Quake 2-style double jumps"
282
283 seta sv_precacheplayermodels 1
284 seta sv_precacheweapons 0
285 seta sv_precacheitems 0
286 set sv_spectator_speed_multiplier 1.5
287 seta sv_spectate 1
288 seta sv_defaultcharacter 0
289 seta sv_defaultplayermodel models/player/nexus.zym
290 seta sv_defaultplayerskin 0
291 seta sv_defaultplayermodel_red ""       "\"\" means see sv_defaultplayermodel"
292 seta sv_defaultplayerskin_red 0
293 seta sv_defaultplayermodel_blue ""
294 seta sv_defaultplayerskin_blue 0
295 seta sv_defaultplayermodel_yellow ""
296 seta sv_defaultplayerskin_yellow 0
297 seta sv_defaultplayermodel_pink ""
298 seta sv_defaultplayerskin_pink 0
299 seta sv_defaultplayercolors ""  "set to 16*shirt+pants to force a color, note: it does NOT depend on defaultcharacter! Set to \"\" to disable"
300 set sv_autoscreenshot 0
301 net_messagetimeout 300
302 net_connecttimeout 30
303 sv_jumpstep 1 // step up stairs while jumping, makes it easier to reach ledges
304 set ekg 0       "Throw huge amounts of gibs"
305
306 cl_movement 1
307 cl_stairsmoothspeed 200
308 cl_forwardspeed $sv_maxspeed
309 cl_backspeed $sv_maxspeed
310 cl_sidespeed $sv_maxspeed
311 cl_upspeed $sv_maxspeed
312 cl_movement_accelerate $sv_accelerate
313 cl_movement_airaccel_qw $sv_airaccel_qw
314 cl_movement_airaccel_sideways_friction $sv_airaccel_sideways_friction
315 cl_movement_airaccelerate $sv_airaccelerate
316 cl_movement_edgefriction $edgefriction
317 cl_movement_friction $sv_friction
318 cl_movement_jumpvelocity $sv_jumpvelocity
319 cl_movement_maxairspeed $sv_maxairspeed
320 cl_movement_maxspeed $sv_maxspeed
321 cl_movement_stepheight $sv_stepheight
322 cl_movement_stopspeed $sv_stopspeed
323 cl_movement_track_canjump 0 // till DP bug gets fixed
324 cl_movement_wallfriction $sv_wallfriction
325 cl_movement_wateraccelerate $sv_wateraccelerate
326 cl_movement_waterfriction $sv_waterfriction
327
328 seta cl_autoswitch 1
329 alias autoswitch "set cl_autoswitch $1 ; cmd autoswitch $1"
330
331 seta cl_playerdetailreduction 0 "the higher, the less detailed"
332
333 set bot_number 0        "Minimum number of bots"
334 seta bot_usemodelnames 0        "Use player model names for bot names"
335 set bot_nofire 0        "When set, bots never fire. Mainly for testing in g_waypointeditor mode"
336 seta bot_prefix [BOT]   "Prefix in front of the bot names"
337 seta bot_suffix ""      "Suffix behind the bot names"
338 seta skill_auto 0       "when 1, \"skill\" gets adjusted to match the best player on the map"
339 // general bot AI cvars
340 set bot_ai_thinkinterval 0.05
341 set bot_ai_strategyinterval 2
342 set bot_ai_enemydetectioninterval 0.5
343 set bot_ai_dodgeupdateinterval 0.1
344 set bot_ai_chooseweaponinterval 0.3
345 set bot_ai_dangerdetectioninterval 0.1
346 set bot_ai_dangerdetectionupdates 64
347 set bot_ai_aimskill_blendrate 2
348 set bot_ai_aimskill_fixedrate 15
349 set bot_ai_aimskill_firetolerance_distdegrees 180
350 set bot_ai_aimskill_firetolerance_mindegrees 2
351 set bot_ai_aimskill_firetolerance_maxdegrees 45
352 set bot_ai_aimskill_mouse 1
353 set bot_ai_keyboard_distance 250
354 set bot_ai_keyboard_treshold 0.57
355 set bot_ai_aimskill_offset 1
356 set bot_ai_aimskill_think 1
357 set bot_ai_custom_weapon_priority_distances "200 1000"  "Define close and far distances in any order. Based on the distance to the enemy bots will choose different weapons"
358 set bot_ai_custom_weapon_priority_far "11 7 15 14 4 5 8 13 6 1 3 9 2"   "Desired weapons for far distances ordered by priority"
359 set bot_ai_custom_weapon_priority_mid "11 9 4 5 3 7 15 14 6 13 8 2 1"   "Desired weapons for middle distances ordered by priority"
360 set bot_ai_custom_weapon_priority_close "11 3 9 13 14 8 6 4 2 5 7 15 1" "Desired weapons for close distances ordered by priority"
361 set bot_ai_weapon_combo 1       "Enable bots to do weapon combos"
362 set bot_ai_weapon_combo_threshold 0.3   "Try to make a combo N seconds after the last attack"
363 set bot_ai_friends_aware_pickup_radius "500"    "Bots will not pickup items if a team mate is this distance near the item"
364 // Better don't touch these, there are hard to tweak!
365 set bot_ai_aimskill_order_mix_1st 0.01
366 set bot_ai_aimskill_order_mix_2nd 0.1
367 set bot_ai_aimskill_order_mix_3th 0.01
368 set bot_ai_aimskill_order_mix_4th 0.05
369 set bot_ai_aimskill_order_mix_5th 0.01
370 set bot_ai_aimskill_order_filter_1st 0.2
371 set bot_ai_aimskill_order_filter_2nd 0.2
372 set bot_ai_aimskill_order_filter_3th 0.05
373 set bot_ai_aimskill_order_filter_4th 0.25
374 set bot_ai_aimskill_order_filter_5th 0.3
375
376 // waypoint editor enable
377 set g_waypointeditor 0
378 set bot_ignore_bots 0   "When set, bots don't shoot at other bots"
379 set bot_join_empty 0    "When set, bots also play if no player has joined the server"
380 set bot_vs_human 0      "Bots and humans play in different teams when set. positive values to make an all-bot blue team, set to negative values to make an all-bot red team, the absolute value is the ratio bots vs humans (1 for equal count)"
381
382 alias g_waypointeditor_spawn "impulse 103"
383 alias g_waypointeditor_remove "impulse 104"
384 alias g_waypointeditor_relinkall "impulse 105"
385 alias g_waypointeditor_saveall "impulse 106"
386
387 locs_enable 0
388 pausable 0
389 set g_antilag 2 "AntiLag (0 = no AntiLag, 1 = verified client side hit scan, 2 = server side hit scan in the past, 3 = unverified client side hit scan)"
390 set g_shootfromeye 0
391 set g_shootfromcenter 0
392 set g_weapon_stay 0
393 set g_powerup_superhealth 1
394 set g_powerup_strength 1
395 set g_powerup_shield 1
396 set g_use_ammunition 1
397 set g_pickup_items 1
398 set g_minstagib 0               "enable minstagib"
399 set g_minstagib_extralives 2    "how many extra lives you will get per powerup"
400 set g_minstagib_ammo_start 10   "starting ammo"
401 set g_minstagib_ammo_drop 5     "how much ammo you'll get for weapons or cells"
402 set g_minstagib_invis_alpha 0.05
403 set g_minstagib_speed_jumpheight 1.8
404 set g_minstagib_speed_moverate 1.25
405 set g_vampire 0
406 set g_weaponarena "0"   "put in a list of weapons to enable a weapon arena mode, or try \"all\" or \"most\""
407 set g_shocknex 0
408 set g_laserguided_missile 0
409 set g_midair 0
410 set g_midair_shieldtime 0.3
411 set g_spawnshieldtime 0
412 set g_spawnsound 1
413 set g_spawnpoints_autodrop 0
414 set g_spawnpoints_auto_move_out_of_solid 0
415 set g_forced_respawn 0
416 set g_fullbrightplayers 0
417 set g_fullbrightitems 0
418 set g_casings 2
419 set g_norecoil 0
420 set g_throughfloor 1
421 set g_maplist_mostrecent ""
422 seta g_maplist_mostrecent_count 3       "number of most recent maps that are blocked from being played again"
423 seta g_maplist "aggressor aneurysm basement basementctf bleach bloodprison bloodprisonctf bluesky darkzone dieselpower dismal downer evilspace farewell final_rage reslimed ruiner runningman_1on1remix runningman runningmanctf silvercity skyway slimepit soylent starship stormkeep strength toxic warfare"
424 seta g_maplist_index 0  "this is used internally for saving position in maplist cycle"
425 seta g_maplist_selectrandom 0   "if 1, a random map will be chosen as next map - DEPRECATED in favor of g_maplist_shuffle"
426 seta g_maplist_shuffle 1        "new randomization method: like selectrandom, but avoid playing the same maps in short succession. This works by taking out the first element and inserting it into g_maplist with a bias to the end of the list."
427 // timeout for kill credit when your damage knocks someone into a death trap
428 set g_maplist_check_waypoints 0 "when 1, maps are skipped if there currently are bots, but the map has no waypoints"
429 set g_maxpushtime 8.0
430
431 set g_cloaked 0
432 set g_player_alpha 1
433 set g_player_brightness 0       "set to 2 for brighter players"
434 seta g_balance_cloaked_alpha 0.25
435
436 set welcome_message_time 8
437
438 alias clearmap "disconnect"
439
440 set g_grappling_hook 0
441 set g_balance_grapplehook_health 130
442 exec newhook.cfg
443
444 // this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
445 seta timelimit_override -1      "Time limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
446 seta fraglimit_override -1      "Frag limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
447 seta capturelimit_override -1   "Capture limit limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
448 seta g_ctf_capture_limit -1     "CTF capture limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
449 seta g_domination_point_limit -1        "Domination point limit limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
450 seta g_runematch_point_limit -1 "Runematch point limit limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
451 seta g_keyhunt_point_limit -1   "Keyhunt point limit limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
452 seta g_race_laps_limit -1       "Race laps limit limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
453
454 seta g_ctf_win_mode 0   "0: captures only, 1: captures, then points, 2: points only"
455 seta g_ctf_ignore_frags 0       "1: regular frags give no points"
456
457 // 50% of the spawns shall be far away from any players
458 set g_spawn_furthest 0.5
459 // respawn delay
460 set g_respawn_delay 2
461 set g_respawn_waves 0
462 // when variables are set to 0, they take over the global setting...
463 // to force disable delay or waves, set them to 0.125
464 set g_ctf_respawn_delay 0
465 set g_ctf_respawn_waves 0
466 set g_dm_respawn_delay 0
467 set g_dm_respawn_waves 0
468 set g_dom_respawn_delay 0
469 set g_dom_respawn_waves 0
470 set g_lms_respawn_delay 0
471 set g_lms_respawn_waves 0
472 set g_rune_respawn_delay 0
473 set g_rune_respawn_waves 0
474 set g_tdm_respawn_delay 0
475 set g_tdm_respawn_waves 0
476 // honor g_respawn_mapsettings_delay and g_respawn_mapsettings_waves
477 set g_respawn_mapsettings 1
478
479 // maximum overtime
480 seta timelimit_maxovertime 5
481
482 // common team values
483 set g_tdm 0
484
485 seta teamplay_defaul 4  "default teamplay setting in team games. 1 = no friendly fire, self damage. 2 = friendly fire and self damage enabled. 3 = no friendly fire, but self damage enabled. 4 = obey the following four cvars"
486 seta g_mirrordamage 0.3 "for teamplay 4: mirror damage factor"
487 seta g_friendlyfire 0.1 "for teamplay 4: fiendly fire factor"
488 seta g_teamdamage_threshold 50  "for teamplay 4: threshold over which to apply mirror damage"
489 seta g_teamdamage_resetspeed 30 "for teamplay 4: how fast player's teamdamage count decreases"
490
491 set deathmatch_force_teamplay           0       "Always play TDM instead of DM"
492 seta g_balance_teams                    0       "automatically balance out players entering instead of asking them for their preferred team"
493 seta g_balance_teams_force              0       "automatically balance out teams when players move or disconnect"
494 seta g_balance_teams_prevent_imbalance  0       "prevent players from changing to larger teams"
495 seta g_tdm_teams                        2       "how many teams are in team deathmatch"
496 set g_changeteam_banned                 0       "not allowed to change team"
497 set g_changeteam_fragtransfer           0       "% of frags you get to keep when you change teams (rounded down)"
498
499 // dm
500 set g_dm 1
501 set gamecfg 1   // "deathmatch"
502
503 // ctf
504 set g_ctf 0
505 set g_ctf_flag_returntime 30
506 set g_ctf_flagcarrier_selfdamage 1
507 set g_ctf_flagcarrier_selfforce 1
508 set g_ctf_fullbrightflags 0
509 set g_ctf_dynamiclights 0
510 set g_ctf_allow_drop 1  "dropping allows circumventing carrierkill score, so enable this with care!"
511 set g_ctf_reverse 0     "when 1, bases/flags are switched :P you have to capture your OWN flag by bringing it to the ENEMY's"
512 set g_balance_ctf_delay_collect 1.0
513 set g_balance_ctf_damageforcescale 1
514
515 set g_ctf_shield_max_ratio 0    "shield at most 0% of a team from the enemy flag (try: 0.4 for 40%)"
516 set g_ctf_shield_min_negscore 20        "shield the player from the flag if he's got -20 points or less"
517 set g_ctf_shield_force 100      "push force of the shield"
518
519 exec ctfscoring-div0.cfg
520
521 // runematch
522 set g_runematch                                         0
523 set g_runematch_pointrate                               5
524 set g_runematch_fixedspawns                             1 "use fixed runematch spawns if available"
525 set g_runematch_pointamt                                        1
526 set g_runematch_shuffletime                             30 "how often runes change position"
527 set g_runematch_respawntime                             15 "how soon after being dropped to respawn"
528 set g_runematch_frags_killedby_runeholder               4
529 set g_runematch_frags_killed_runeholder                 5
530 set g_runematch_frags_norune                            0
531 set g_runematch_drop_runes_max                          2 "only drop up to 2 runes, the rest should respawn"
532 set g_runematch_allow_same                              0 "allow matching rune-curse pairs"
533 set g_runematch_rune_alpha                              0.78
534 set g_runematch_rune_effects                            544 "EF_ADDITIVE + EF_FULLBRIGHT = 544"
535 set g_runematch_rune_glow_size                          0
536 set g_runematch_rune_glow_color                         0
537 set g_runematch_rune_color_strength                     1.0
538 // strength/weakness
539 set g_balance_rune_strength_damage                      2.0
540 set g_balance_rune_strength_force                       1.5
541 set g_balance_curse_weak_damage                         0.5
542 set g_balance_curse_weak_force                          0.6
543 set g_balance_rune_strength_combo_damage        0.9
544 set g_balance_rune_strength_combo_force                 1.0
545 // defense/vulner
546 set g_balance_rune_defense_takedamage                   0.5
547 set g_balance_curse_vulner_takedamage                   2.0
548 set g_balance_rune_defense_combo_takedamage             1.0
549 // vampire/empathy
550 set g_balance_rune_vampire_absorb                       0.4
551 set g_balance_curse_empathy_takedamage                  -0.4
552 set g_balance_rune_vampire_combo_absorb                 -0.1
553 set g_balance_rune_vampire_maxhealth                    500
554 set g_balance_curse_empathy_minhealth                   20
555 set g_balance_rune_vampire_combo_minhealth              40
556 // regen/venom
557 set g_balance_rune_regen_hpmod                          1.75
558 set g_balance_curse_venom_hpmod                         0.6
559 set g_balance_rune_regen_combo_hpmod                    0.9
560 set g_balance_rune_regen_regenrate                      3.0
561 set g_balance_curse_venom_rotrate                       3.0
562 set g_balance_rune_regen_combo_regenrate        0.5
563 set g_balance_rune_regen_combo_rotrate                  1.5
564 set g_balance_rune_regen_limitmod                       1
565 set g_balance_curse_venom_limitmod                      1
566 set g_balance_rune_regen_combo_limitmod                 1
567 // speed/slow
568 set g_balance_rune_speed_atkrate                                0.66
569 set g_balance_curse_slow_atkrate                                1.5
570 set g_balance_rune_speed_combo_atkrate                  1.2
571 set g_balance_rune_speed_moverate                       1.25
572 set g_balance_curse_slow_moverate                       0.8
573 set g_balance_rune_speed_combo_moverate                 0.9
574 set g_balance_rune_speed_jumpheight                     1.4
575 set g_balance_curse_slow_jumpheight                     1.0
576 set g_balance_rune_speed_combo_jumpheight               1.0
577
578 // domination
579 set g_domination                        0
580 set g_domination_default_teams          2 "default number of teams for maps that aren't domination-specific"
581 set g_domination_disable_frags          0 "players can't get frags normally, only get points from kills"
582 set g_domination_point_amt              0 "override: how many points to get per ping"
583 set g_domination_point_rate             0 "override: how often to give those points"
584 set g_domination_point_capturetime      0.1 "how long it takes to capture a point (given no interference)"
585 set g_domination_point_glow             0 "domination point glow (warning, slow)"
586 //set g_domination_balance_team_points  1 "# of points received is based on team sizes"
587
588 // last man standing
589 set g_lms 0
590 set g_lms_lives_override -1
591 set g_lms_start_health 250
592 set g_lms_start_armor 100
593 set g_lms_start_ammo_shells 50
594 set g_lms_start_ammo_nails 150
595 set g_lms_start_ammo_rockets 50
596 set g_lms_start_ammo_cells 50
597 set g_lms_regenerate 0
598 set g_lms_campcheck_interval 10
599 set g_lms_campcheck_message "^1Don't    camp!"
600 set g_lms_campcheck_damage 100
601 set g_lms_campcheck_distance 1800
602 set g_lms_last_join 3                   "if g_lms_join_anytime is false, new players can only join if the worst active player has more than (fraglimit - g_lms_last_join) lives"
603 set g_lms_join_anytime 1                "if true, new players can join, but get same amount of lives as the worst player"
604
605 // arena
606 set g_arena 0
607 set g_arena_maxspawned 2        "maximum number of players to spawn at once (the rest is spectating, waiting for their turn)"
608 set g_arena_roundbased 1        "if disabled, the next player will spawn as soon as someone dies"
609 set g_arena_warmup 5            "time, newly spawned players have to prepare themselves in round based matches"
610 set g_arena_powerups 0          "enables powerups (superhealth, strength and shield), which are removed by default"
611
612 // onslaught
613 set g_onslaught 0
614 set g_onslaught_gen_health 10000
615 set g_onslaught_cp_health 1000
616
617 // assault
618 set g_assault 0
619
620 // race
621 set g_race 0
622 set g_race_qualifying 2
623 // Qualifying uses timelimit, and the one with the best time wins. Fraglimit is nonfunctional then.
624 // Normal race uses fraglimit as a limit for the laps.
625 // Special mode: g_race_qualifying 2. First runs a qualifying, after
626 // ready-restart it turns into a race. TODO not done yet (e.g. timing display)
627 set g_race_teams 0      "when 2, 3, or 4, the race is played as a team game (the team members can add up their laps)"
628
629 // server game balance settings
630 set g_balance_armor_regen 0
631 set g_balance_armor_rot 0.1
632 set g_balance_armor_regenlinear 0
633 set g_balance_armor_rotlinear 0
634 set g_balance_armor_stable 100
635 set g_balance_armor_limit 999
636 set g_balance_armor_start 0
637 set g_balance_armor_blockpercent 0.6
638 set g_balance_health_regen 0.1
639 set g_balance_health_rot 0.1
640 set g_balance_health_regenlinear 0
641 set g_balance_health_rotlinear 0
642 set g_balance_health_stable 100
643 set g_balance_health_limit 999
644 set g_balance_health_start 150
645 set g_balance_selfdamagepercent 0.6
646 set g_balance_weaponswitchdelay 0.15
647 // powerup balance settings
648 set g_balance_powerup_invincible_takedamage 0.2
649 set g_balance_powerup_invincible_time 30
650 set g_balance_powerup_strength_damage 3
651 set g_balance_powerup_strength_force 4
652 set g_balance_powerup_strength_time 30
653 set g_balance_powerup_strength_selfdamage 1.5
654 set g_balance_powerup_strength_selfforce 1.5
655
656 // weapon balance settings follow
657 exec weapons.cfg
658
659 set g_balance_falldamage_deadminspeed 150
660 set g_balance_falldamage_minspeed 1400
661 set g_balance_falldamage_factor 0.15
662 set g_balance_falldamage_maxdamage 25
663
664 set g_balance_pause_armor_rot 5
665 set g_balance_pause_health_rot 5
666 set g_balance_pause_health_regen 5
667 set g_balance_pause_armor_rot_spawn 10
668 set g_balance_pause_health_rot_spawn 10
669 set g_balance_pause_health_regen_spawn 0
670
671 set g_bloodloss 0   "amount of health below which blood loss occurs"
672
673 set g_footsteps 0       "serverside footstep sounds"
674
675 // effects
676 r_picmipsprites 0 // Nexuiz uses sprites that should never be picmipped (team mate, typing, waypoints)
677 r_mipsprites 1
678 r_mipskins 1
679 r_shadow_realtime_world_lightmaps 1
680 seta r_ambient 4
681 cl_decals_fadetime 1
682 cl_decals_time 2
683 seta cl_nogibs 0
684 seta cl_gibs_damageforcescale 3.5 "force to push around gibs"
685 seta cl_gibs_lifetime 14 "average lifetime of gibs"
686 seta cl_gibs_velocity_scale 1 "gib throw velocity force scale"
687 seta cl_gibs_velocity_random 1 "gib throw velocity randomness scale"
688 seta cl_gibs_velocity_up 0 "extra z velocity for gibs"
689 cl_stainmaps 0
690 cl_particles_smoke 1
691 r_glsl 1
692 r_glsl_deluxemapping 1
693 r_glsl_offsetmapping 0
694 r_glsl_offsetmapping_reliefmapping 0
695 r_glsl_offsetmapping_scale 0.02
696 // execute normal.cfg to make sure that all effect settings are reset
697 alias menu_sync "" // will be re-aliased later
698 exec normal.cfg
699
700 // misc
701 fs_empty_files_in_pack_mark_deletions 1 // makes patches able to delete files
702 scr_conalpha 0.8
703 scr_conbrightness 0.2
704 scr_screenshot_jpeg 1
705 scr_screenshot_jpeg_quality 0.9
706 sv_maxvelocity 1000000000
707 cl_sound_wizardhit ""
708 cl_sound_hknighthit ""
709 cl_sound_tink1 weapons/tink1.wav
710 cl_sound_ric1 weapons/ric1.wav
711 cl_sound_ric2 weapons/ric2.wav
712 cl_sound_ric3 weapons/ric3.wav
713 cl_sound_r_exp3 ""
714 sv_sound_land ""
715 sv_sound_watersplash ""
716
717 seta cl_hitsound 1
718
719 // startmap_dm is used when running with the -listen or -dedicated commandline options
720 alias startmap_dm "set _sv_init 1; map aggressor"
721
722 // aliases:
723 alias +attack2 +button3
724 alias -attack2 -button3
725 alias +zoom +button4
726 alias -zoom -button4
727 alias +crouch +button5
728 alias -crouch -button5
729 alias weapnext "_weapnext_${_supports_weaponpriority}${sbar_hudselector}${cl_weaponpriority_useforcycling}"
730 alias _weapnext_000 "impulse 10"
731 alias _weapnext_001 "impulse 10"
732 alias _weapnext_010 "impulse 10"
733 alias _weapnext_011 "impulse 10"
734 alias _weapnext_100 "impulse 10"
735 alias _weapnext_101 "impulse 15"
736 alias _weapnext_110 "impulse 18"
737 alias _weapnext_111 "impulse 15"
738 alias weaplast "impulse 11"
739 alias weapprev "_weapprev_${_supports_weaponpriority}${sbar_hudselector}${cl_weaponpriority_useforcycling}"
740 alias _weapprev_000 "impulse 12"
741 alias _weapprev_001 "impulse 12"
742 alias _weapprev_010 "impulse 12"
743 alias _weapprev_011 "impulse 12"
744 alias _weapprev_100 "impulse 12"
745 alias _weapprev_101 "impulse 16"
746 alias _weapprev_110 "impulse 19"
747 alias _weapprev_111 "impulse 16"
748 set _supports_weaponpriority 0  "set to 1 by csqc if supported, and to 0 on disconnect"
749 alias weapbest "impulse 13"
750
751 alias reload "impulse 20"
752
753 // movement
754 bind w +forward
755 bind a +moveleft
756 bind s +back
757 bind d +moveright
758 bind UPARROW +forward
759 bind LEFTARROW +moveleft
760 bind DOWNARROW +back
761 bind RIGHTARROW +moveright
762 bind SHIFT +crouch
763 bind ENTER +jump
764 bind SPACE +jump
765
766 // weapons
767 bind 1 "impulse 1"
768 bind 2 "impulse 2"
769 bind 3 "impulse 3"
770 bind 4 "impulse 4"
771 bind 5 "impulse 5"
772 bind 6 "impulse 6"
773 bind 7 "impulse 7"
774 bind 8 "impulse 8"
775 bind 9 "impulse 9"
776 bind 0 "impulse 14" // cycles the superweapons
777 bind MOUSE1 +attack
778 bind MOUSE2 +attack2
779 bind MOUSE3 +zoom
780 bind MOUSE4 weaplast
781 bind MOUSE5 +hook
782 bind MWHEELUP weapnext
783 bind MWHEELDOWN weapprev
784 bind r reload
785 bind BACKSPACE dropweapon
786 bind g dropweapon
787 bind f +use
788
789 // misc
790 bind e +hook
791 bind ` toggleconsole
792 bind ~ toggleconsole
793 bind TAB +showscores
794 bind ESCAPE togglemenu
795 bind t messagemode
796 bind y messagemode2
797 bind z messagemode2
798 bind u "+con_chat_maximize"
799 bind i +show_info
800 bind PAUSE pause
801 bind F10 quit
802 bind F11 disconnect
803 bind F12 screenshot
804 bind F4 ready
805 bind m radar
806
807 // Gamepad defaults. Tested with Logitech Rumblepad 2, I hope similar ones works as well.
808 bind JOY1 "+crouch"
809 bind JOY2 "+jump"
810 bind JOY3 "weapprev"
811 bind JOY4 "weapnext"
812 bind JOY5 "+attack2"
813 bind JOY6 "+attack"
814 bind JOY7 "+zoom"
815 bind JOY8 "dropweapon"
816 bind JOY9 "menu_showteamselect"
817 bind JOY10 "+show_info"
818 bind JOY11 "+showscores"
819 bind JOY12 "+con_chat_maximize"
820 set joyadvanced "1"
821 set joyadvaxisr "2"
822 set joyadvaxisx "3"
823 set joyadvaxisy "1"
824 set joyadvaxisz "4"
825 set joysidesensitivity "1.0"
826 set joypitchsensitivity "0.9"
827 set joyyawsensitivity "-1.8"
828 // SDL only
829 set joy_deadzoneforward "0.05"
830 set joy_deadzonepitch "0.05"
831 set joy_deadzoneside "0.05"
832 set joy_deadzoneup "0.05"
833 set joy_deadzoneyaw "0.05"
834 set joy_sensitivitypitch "0.9"
835 set joy_sensitivityyaw "-1.8"
836
837 // team say
838 bind kp_ins messagemode
839 bind kp_del messagemode2
840 bind kp_end "+userbind 1"
841 bind kp_downarrow "+userbind 2"
842 bind kp_pgdn "+userbind 3"
843 bind kp_leftarrow "+userbind 4"
844 bind kp_5 "+userbind 6"
845 bind kp_rightarrow "+userbind 7"
846 bind kp_home "+userbind 9"
847 bind kp_uparrow "+userbind 10"
848 bind kp_pgup "+userbind 11"
849 bind kp_multiply "+userbind 12"
850 bind kp_slash "+userbind 13"
851 bind kp_enter "+userbind 16"
852 bind kp_plus "+userbind 17"
853 bind kp_minus "+userbind 18"
854
855 set sv_vote_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick cointoss" "these commands can be voted"
856 set sv_vote_only_commands ""
857 set sv_vote_master_commands ""  "maybe add kickban here (but then sv_vote_master 0)"
858 set rcon_restricted_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick kickban \"sv_cmd bans\" \"sv_cmd unban\" status \"sv_cmd teamstatus\""
859 set sv_vote_call 1      "users can call a vote for the above commands"
860 set sv_vote_master 1    "users can call a vote to become master"
861 set sv_vote_master_password ""  "when set, users can use \"vdo login (password)\" to log in as master"
862 set sv_vote_change 0    "set to 1 to allow to change you vote/mind"
863 set sv_vote_singlecount 0       "set to 1 to count votes once after timeout or to 0 to count with every vote"
864 set sv_vote_timeout 60  "a vote will timeout after this many seconds"
865 set sv_vote_wait 120    "a player can not call a vote again for this many seconds"
866 set sv_vote_majority_factor 0.5 "which quotient of the PLAYERS constitute a majority? (try: 0.667, 0.75 when using the above)"
867 set sv_vote_simple_majority_factor 0    "which quotient of the VOTERS constitute a majority too? (0 = off, otherwise it must be higher than or equal to sv_vote_majority_factor)"
868 // when disabled, don't allow game type changes "note: set these two equal to JUST support simple majorities"
869 set sv_vote_override_mostrecent 0
870 alias vhelp "cmd vote help"
871 alias vstatus "cmd vote status"
872 alias vcall "cmd vote call $*"
873         alias vmap "vcall gotomap $1"
874 alias vstop "cmd vote stop"
875 alias vmaster "cmd vote master"
876 alias vlogin "cmd vote login $*"
877 alias vdo "cmd vote do $*"
878         alias vdomap "vdo gotomap $1"
879 alias vyes "cmd vote yes"
880 alias vno "cmd vote no"
881 alias vdontcare "cmd vote dontcare"
882 alias vabstain "cmd vote abstain"
883 alias lsmaps "cmd lsmaps" // lists all maps on server (for vmap, suggestmap)
884 bind F1 vyes
885 bind F2 vno
886
887 //used for spectate/observer mode
888 alias spec "cmd spectate"
889 bind F3 spec
890
891 // NixNex (No-Items x Nexuiz) - at each time, everyone uses the same weapon,
892 // and in regular intervals, this weapon is cycled
893 set g_nixnex 0
894 set g_nixnex_with_laser 0
895 // TODO these need balancing:
896 set g_balance_nixnex_roundtime 25
897 set g_balance_nixnex_incrtime 1.6
898 // initial ammo
899 set g_balance_nixnex_ammo_shells 15
900 set g_balance_nixnex_ammo_nails 45
901 set g_balance_nixnex_ammo_rockets 15
902 set g_balance_nixnex_ammo_cells 15
903 // ammo increment per second
904 set g_balance_nixnex_ammoincr_shells 2
905 set g_balance_nixnex_ammoincr_nails 6
906 set g_balance_nixnex_ammoincr_rockets 2
907 set g_balance_nixnex_ammoincr_cells 2
908
909 // score log
910 set sv_logscores_console 0              "print scores to server console"
911 set sv_logscores_file 0                 "print scores to file"
912 set sv_logscores_filename scores.log    "filename"
913 set sv_logscores_bots 0                 "exclude bots by default"
914
915 // spam (frag/capture) log
916 set sv_eventlog 0       "the master switch for efficiency reasons"
917 set sv_eventlog_console 1
918 set sv_eventlog_files 0
919 set sv_eventlog_files_timestamps 1
920 seta sv_eventlog_files_counter 0
921 set sv_eventlog_files_nameprefix nexuiz
922 set sv_eventlog_files_namesuffix .log
923
924 set nextmap ""  "override the maplist when switching to the next map"
925 set lastlevel ""
926 set quit_when_empty 0   "set to 1, then the server exits when the next level would start but is empty"
927 set quit_and_redirect ""        "set to an IP to redirect all players at the end of the match to another server. Set to \"self\" to let all players reconnect at the end of the match (use it to make seamless engine updates)"
928
929 // singleplayer campaign
930 set g_campaign 0
931 seta g_campaign_name ""
932 seta g_campaign_index 0
933 set g_campaign_skill 0
934
935 alias singleplayer_start "g_campaign_index 0; set scmenu_campaign_goto 0"
936 alias singleplayer_continue "set scmenu_campaign_goto -1"
937 alias singleplayer_levellist "set scmenu_campaign_dump 1; togglemenu; wait; togglemenu"
938
939 // Green's fullbright skins
940 alias player_fbskin_green "playermodel models/player/nexus.zym; playerskin 6; color 3 3"
941 alias player_fbskin_red "playermodel models/player/nexus.zym; playerskin 6; color 4 4"
942 alias player_fbskin_orange "playermodel models/player/nexus.zym; playerskin 6; color 14 14"
943 alias player_fbskin_off "playermodel models/player/nexus.zym; playerskin 0"
944 alias sv_defaultplayer_fbskin_green "g_fullbrightplayers 1; sv_defaultcharacter 1; sv_defaultplayermodel models/player/nexus.zym; sv_defaultplayerskin 6; sv_defaultplayercolors 51"
945 alias sv_defaultplayer_fbskin_red "g_fullbrightplayers 1; sv_defaultcharacter 1; sv_defaultplayermodel models/player/nexus.zym; sv_defaultplayerskin 6; sv_defaultplayercolors 68"
946 alias sv_defaultplayer_fbskin_orange "g_fullbrightplayers 1; sv_defaultcharacter 1; sv_defaultplayermodel models/player/nexus.zym; sv_defaultplayerskin 6; sv_defaultplayercolors 238"
947 alias sv_defaultplayer_fbskin_off "g_fullbrightplayers 0; sv_defaultcharacter 0; sv_defaultplayerskin 0; sv_defaultplayercolors \"\""
948
949 seta sv_servermodelsonly 1
950
951 cl_curl_enabled 1
952 cl_curl_maxspeed 300
953 sv_curl_defaulturl "http://www.nexuiz.com/contentdownload/getmap.php?file="
954
955 set sv_motd ""
956
957 seta cl_shownames 1     "show player names pointed to (0: never, 1: teamplay only, 2: always)"
958 set sv_allow_shownames 1
959
960 net_banlist ""
961 seta _alientrap_net_banlist ""
962
963 set g_waypoints_for_items 1     "make waypoints out of items, values: 0 = never, 1 = unless the mapper prevents it by worldspawn.spawnflags & 1, 2 = always"
964
965 set g_projectiles_newton_style 2
966 // possible values:
967 //      0: absolute velocity projectiles (like Quake)
968 //      1: relative velocity projectiles, "Newtonian" (like Tribes 2)
969 //      2: relative velocity projectiles, but aim is precorrected so projectiles hit the crosshair (note: strafe rockets then are SLOWER than ones shot while standing, happens in 1 too when aiming correctly which is hard)
970 //      3: absolute velocity + player velocity component in shot direction (note: does NOT yield the right relative velocity, but may be good enough, but it is somewhat prone to sniper rockets)
971 //      4: just add the player velocity length to the absolute velocity (tZork's sniper rockets)
972
973 seta g_maplist_votable 6
974 seta g_maplist_votable_keeptwotime 15
975 seta g_maplist_votable_timeout 30       "note: must be below 50 seconds!"
976 seta g_maplist_votable_suggestions 2
977 seta g_maplist_votable_suggestions_override_mostrecent 0
978 seta g_maplist_votable_nodetail 1       "nodetail only shows total count instead of all vote counts per map, so votes don't influence others that much"
979 seta g_maplist_votable_abstain 0        "when 1, you can abstain from your vote"
980 seta g_maplist_votable_screenshot_dir "maps"    "where to look for map screenshots"
981 alias suggestmap "cmd suggestmap $1"
982
983 set g_chat_flood_spl 3  "normal chat: seconds between lines to not count as flooding"
984 set g_chat_flood_lmax 2 "normal chat: maximum number of lines per chat message at once"
985 set g_chat_flood_burst 2        "normal chat: allow bursts of so many chat lines"
986 set g_chat_flood_spl_team 1     "team chat:seconds between lines to not count as flooding"
987 set g_chat_flood_lmax_team 2    "team chat: maximum number of lines per chat message at once"
988 set g_chat_flood_burst_team 2   "team chat: allow bursts of so many chat lines"
989 set g_chat_flood_notify_flooder 1       "when 0, the flooder still can see his own message"
990 set g_chat_teamcolors 0 "colorize nicknames in team color for chat"
991 set g_voice_flood_spv 4 "normal voices: seconds between voices to not count as flooding"
992 set g_voice_flood_spv_team 2    "team voices: seconds between voices to not count as flooding"
993
994 set g_waypointsprite_normdistance 512
995 set g_waypointsprite_minscale 1
996 set g_waypointsprite_minalpha 0.4
997 set g_waypointsprite_distancealphaexponent 2
998 set g_waypointsprite_timealphaexponent 1
999 set g_waypointsprite_deployed_lifetime 10
1000 set g_waypointsprite_deadlifetime 1
1001 set g_waypointsprite_limitedrange 5120
1002 set g_waypointsprite_stuffbinds 0
1003 set g_waypointsprite_scale 1
1004 alias "g_waypointsprite_personal"       "impulse 30"
1005 alias "g_waypointsprite_personal_p"     "impulse 31"
1006 alias "g_waypointsprite_personal_d"     "impulse 32"
1007 alias "g_waypointsprite_team_helpme"    "impulse 33"
1008 alias "g_waypointsprite_team_here"      "impulse 34"
1009 alias "g_waypointsprite_team_here_p"    "impulse 35"
1010 alias "g_waypointsprite_team_here_d"    "impulse 36"
1011 alias "g_waypointsprite_team_danger"    "impulse 37"
1012 alias "g_waypointsprite_team_danger_p"  "impulse 38"
1013 alias "g_waypointsprite_team_danger_d"  "impulse 39"
1014 alias "g_waypointsprite_clear_personal" "impulse 47"
1015 alias "g_waypointsprite_clear"  "impulse 48"
1016 alias "g_waypointsprite_toggle" "impulse 49"
1017 // key for that?
1018 seta cl_hidewaypoints 0
1019
1020 // command extension
1021 alias qc_cmd    "sv_cmd $*" // menu QC will override this to menu_cmd
1022 alias adminmsg  "sv_cmd adminmsg $*"
1023 alias teamstatus        "cmd teamstatus; sv_cmd teamstatus" // yes, it is broken on listen servers that way, but well, who cares :P
1024 alias printstats        "sv_cmd printstats" // print status on demand
1025 alias g_maplist_add     "qc_cmd maplist add $*"
1026 alias g_maplist_remove  "qc_cmd maplist remove $*"
1027 alias g_maplist_putfirst        "qc_cmd maplist remove $* ; qc_cmd maplist add $*"
1028 alias g_maplist_shufflenow      "qc_cmd maplist shuffle"
1029 alias gametype  "sv_cmd gametype $*"
1030
1031 // key hunt
1032 set g_keyhunt 0
1033 set g_balance_keyhunt_delay_return 60
1034 set g_balance_keyhunt_delay_round 5
1035 set g_balance_keyhunt_delay_tracking 10
1036 set g_balance_keyhunt_delay_fadeout 2
1037 set g_balance_keyhunt_delay_collect 1.5
1038 set g_balance_keyhunt_delay_drop 0.4
1039 set g_balance_keyhunt_maxdist 150
1040 set g_balance_keyhunt_score_collect 3
1041 set g_balance_keyhunt_score_carrierfrag 2
1042 set g_balance_keyhunt_score_capture 100
1043 set g_balance_keyhunt_score_push 60
1044 set g_balance_keyhunt_score_destroyed 50
1045 set g_balance_keyhunt_score_destroyed_ownfactor 1
1046 set g_balance_keyhunt_dropvelocity 300
1047 set g_balance_keyhunt_throwvelocity 400
1048 set g_balance_keyhunt_protecttime 0.8
1049 set g_balance_keyhunt_damageforcescale 1
1050 set g_keyhunt_teams_override 0
1051 set g_keyhunt_teams 0
1052
1053 // so it can be stuffcmd-ed still
1054 set cl_gravity 800      "but ignored anyway"
1055
1056 set g_ban_default_bantime 5400  "90 minutes"
1057 set g_ban_default_masksize 3    "whole 255.255.255.0 networks (set to 4 for single IPs)"
1058 set g_banned_list ""    "format: 1 ip remainingtime ip remainingtime ..."
1059 alias bans "sv_cmd bans"
1060 alias ban "sv_cmd ban $*"         // usage: ban address(maybe incomplete, like 1.2.3) bantime(seconds)
1061 alias kickban "sv_cmd kickban $*" // usage: kickban # playerno bantime(seconds) masksize(bytes)
1062 alias unban "sv_cmd unban $*"     // usage: unban 3 (number from bans)
1063
1064 r_labelsprites_scale 0.40625 // labels sprites get displayed at 0.5x from 640x480 to 1280x1024, and at 1x from 1600x1200 onwards
1065
1066 // settemp subsystem. Do not touch. Usage: settemp variable value, next map resets it.
1067 set settemp_list 0
1068 set settemp_var _settemp_x
1069 alias settemp "settemp_list \"1 $1 $settemp_var $settemp_list\"; set $settemp_var \"${$1}\"; settemp_var ${settemp_var}x; $1 \"$2\""
1070 alias settemp_restore "_settemp_restore_${settemp_list asis}"
1071 alias _settemp_restore_0 "set settemp_var _settemp_x; set settemp_list 0"
1072 alias _settemp_restore_1 "$1 \"${$2}\"; _settemp_restore_${3- asis}"
1073
1074 // usercommands. These can be edited and bound by the menu.
1075 seta "userbind1_press" "say_team quad soon";  seta "userbind1_release" "";  seta "userbind1_description" "team: quad soon"
1076 seta "userbind2_press" "say_team free item %x^7 (l:%y^7); g_waypointsprite_team_here_p";  seta "userbind2_release" "";  seta "userbind2_description" "team: free item, icon"
1077 seta "userbind3_press" "say_team took item (l:%l^7); g_waypointsprite_team_here";  seta "userbind3_release" "";  seta "userbind3_description" "team: took item, icon"
1078 seta "userbind4_press" "say_team negative";  seta "userbind4_release" "";  seta "userbind4_description" "team: negative"
1079 seta "userbind5_press" "say_team positive";  seta "userbind5_release" "";  seta "userbind5_description" "team: positive"
1080 seta "userbind6_press" "say_team need help (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_helpme; cmd voice needhelp";  seta "userbind6_release" "";  seta "userbind6_description" "team: need help, icon"
1081 seta "userbind7_press" "say_team enemy seen (l:%y^7); g_waypointsprite_team_danger_p; cmd voice incoming";  seta "userbind7_release" "";  seta "userbind7_description" "team: enemy seen, icon"
1082 seta "userbind8_press" "say_team flag seen (l:%y^7); g_waypointsprite_team_here_p; cmd voice seenflag";  seta "userbind8_release" "";  seta "userbind8_description" "team: flag seen, icon"
1083 seta "userbind9_press" "say_team defending (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here";  seta "userbind9_release" "";  seta "userbind9_description" "team: defending, icon"
1084 seta "userbind10_press" "say_team roaming (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here";  seta "userbind10_release" "";  seta "userbind10_description" "team: roaming, icon"
1085 seta "userbind11_press" "say_team attacking (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here";  seta "userbind11_release" "";  seta "userbind11_description" "team: attacking, icon"
1086 seta "userbind12_press" "say_team killed flagcarrier (l:%y^7); g_waypointsprite_team_p"; seta "userbind12_release" ""; seta "userbind12_description" "team: killed flag, icon"
1087 seta "userbind13_press" "say_team dropped flag (l:%d^7); g_waypointsprite_team_here_d"; seta "userbind13_release" ""; seta "userbind13_description" "team: dropped flag, icon"
1088 seta "userbind14_press" "say_team dropped gun %w (l:%l^7); g_waypointsprite_team_here; wait; dropweapon"; seta "userbind14_release" ""; seta "userbind14_description" "team: drop gun, icon"
1089 seta "userbind15_press" "say_team dropped flag/key %w (l:%l^7); g_waypointsprite_team_here; wait; +use"; seta "userbind15_release" "-use"; seta "userbind15_description" "team: drop flag/key, icon"
1090 seta "userbind16_press" "say :-) / nice one"; seta "userbind16_release" ""; seta "userbind16_description" "chat: nice one"
1091 seta "userbind17_press" "say good game"; seta "userbind17_release" ""; seta "userbind17_description" "chat: good game"
1092 seta "userbind18_press" "say hi / good luck and have fun"; seta "userbind18_release" ""; seta "userbind18_description" "chat: hi / good luck"
1093 seta "userbind19_press" "+showscores; +con_chat_maximize"; seta "userbind19_release" "-showscores; -con_chat_maximize"; seta "userbind19_description" "scoreboard / chat history"
1094 seta "userbind20_press" "toggle cl_capturevideo"; seta "userbind20_release" ""; seta "userbind20_description" "toggle recording .avi"
1095 seta "userbind21_press" "toggle vid_fullscreen; vid_restart"; seta "userbind21_release" ""; seta "userbind21_description" "toggle fullscreen"
1096 seta "userbind22_press" ""; seta "userbind22_release" ""; seta "userbind22_description" ""
1097 seta "userbind23_press" ""; seta "userbind23_release" ""; seta "userbind23_description" ""
1098 seta "userbind24_press" ""; seta "userbind24_release" ""; seta "userbind24_description" ""
1099 seta "userbind25_press" ""; seta "userbind25_release" ""; seta "userbind25_description" ""
1100 seta "userbind26_press" ""; seta "userbind26_release" ""; seta "userbind26_description" ""
1101 seta "userbind27_press" ""; seta "userbind27_release" ""; seta "userbind27_description" ""
1102 seta "userbind28_press" ""; seta "userbind28_release" ""; seta "userbind28_description" ""
1103 seta "userbind29_press" ""; seta "userbind29_release" ""; seta "userbind29_description" ""
1104 seta "userbind30_press" ""; seta "userbind30_release" ""; seta "userbind30_description" ""
1105 seta "userbind31_press" ""; seta "userbind31_release" ""; seta "userbind31_description" ""
1106 seta "userbind32_press" ""; seta "userbind32_release" ""; seta "userbind32_description" ""
1107 alias _userbind_call "${$1}"
1108 alias +userbind "_userbind_call userbind${1}_press"
1109 alias -userbind "_userbind_call userbind${1}_release"
1110
1111 seta menu_skin "wickedz"
1112 set menu_slowmo 1
1113
1114 // loadfont console     gfx/vera-mono
1115 // loadfont sbar        gfx/vera-mono
1116 loadfont notify      gfx/vera-sans
1117 loadfont chat        gfx/vera-sans
1118 // loadfont centerprint gfx/vera-mono
1119 // loadfont infobar     gfx/vera-mono
1120 loadfont user0       gfx/vera-sans
1121 r_textbrightness 0.2
1122 r_textcontrast 0.8
1123 r_textshadow 1
1124
1125 // good settings for these fonts
1126 con_chat 5
1127 con_chatpos -7
1128 con_chatsize 10
1129 con_chatwidth 0.6
1130 con_notifysize 10
1131 sbar_alpha_bg 0.4
1132 sbar_flagstatus_pos 115
1133
1134 // for menu server list (eventually make them have engine support?)
1135 seta menu_slist_showfull 1
1136 seta menu_slist_showempty 1
1137 set menu_slist_modfilter "!havoc"
1138
1139 // for menu weapon arena
1140 set menu_weaponarena_with_laser 0
1141
1142 // Q3A
1143 set sv_q3acompat_machineshotgunswap 0   "settemp this in mapinfo for instant Q3A map conversion"
1144
1145 seta menu_maxplayers 8  "maxplayers value when the menu starts a game"
1146
1147 // useful vote aliases
1148 set timelimit_increment 5
1149 set timelimit_decrement 5
1150 set timelimit_min 5
1151 set timelimit_max 60
1152 alias extendmatchtime "sv_cmd rpn /timelimit timelimit timelimit_max timelimit timelimit_increment add bound def"
1153 alias reducematchtime "sv_cmd rpn /timelimit timelimit timelimit_decrement sub timelimit_min timelimit bound def"
1154 alias endmatch "timelimit -1"
1155
1156 // useful keybind to maximize the chat area temporarily
1157 set _backup_con_chatvars_set 0
1158 alias _restore_con_chatvars_0 ""
1159 alias _restore_con_chatvars_1 "set _backup_con_chatvars_set 0; con_chatpos $_backup_con_chatpos; con_chat $_backup_con_chat; con_notify $_backup_con_notify; con_chattime $_backup_con_chattime; cl_deathscoreboard $_backup_cl_deathscoreboard; sbar_flagstatus_right $_backup_sbar_flagstatus_right; scr_centertime $_backup_scr_centertime;r_track_sprites $_backup_r_track_sprites"
1160 alias _restore_con_chatvars "_restore_con_chatvars_$_backup_con_chatvars_set"
1161 alias _backup_con_chatvars_0 "set _backup_con_chatvars_set 1; set _backup_con_chatpos $con_chatpos; set _backup_con_chat $con_chat; set _backup_con_notify $con_notify; set _backup_con_chattime $con_chattime; set _backup_cl_deathscoreboard $cl_deathscoreboard; set _backup_sbar_flagstatus_right $sbar_flagstatus_right; set _backup_scr_centertime $scr_centertime;set _backup_r_track_sprites $r_track_sprites"
1162 alias _backup_con_chatvars_1 ""
1163 alias _backup_con_chatvars "_backup_con_chatvars_$_backup_con_chatvars_set"
1164 alias +con_chat_maximize "_backup_con_chatvars; con_chatpos -7; con_chat 100; con_notify 0; con_chattime 3600; cl_deathscoreboard 0; sbar_flagstatus_right 1; scr_centertime 0; r_track_sprites 0"
1165 alias -con_chat_maximize "_restore_con_chatvars"
1166
1167 // tab completion
1168 set con_completion_playdemo     *.dem
1169 set con_completion_timedemo     *.dem
1170 set con_completion_ply          *.dem
1171 set con_completion_tdem         *.dem
1172 set con_completion_exec         *.cfg
1173 set con_completion_chmap        map
1174 set con_completion_gotomap      map
1175 set con_completion_vmap         map
1176 set con_completion_vdomap       map
1177
1178 // these non-saved engine cvars shall be savedG
1179 seta cl_port $cl_port
1180 seta r_showsurfaces $r_showsurfaces
1181 seta r_ambient $r_ambient
1182 seta skill $skill
1183 seta gl_finish $gl_finish
1184 seta v_kicktime $v_kicktime
1185 seta r_subdivisions_tolerance $r_subdivisions_tolerance
1186
1187 // ticrate
1188 // engine default is too CPU intensive on 16p servers, so let's go back
1189 sys_ticrate 0.05
1190
1191 // delay for "kill" to prevent abuse
1192 set g_balance_kill_delay 5
1193
1194 // this feature is currently buggy in the engine (it appears to PREVENT any dropping in lots of maps, leading to weirdly aligned entities, and in some cases even CAUSES them to drop through solid, like in facing worlds nex)
1195 sv_gameplayfix_droptofloorstartsolid 0
1196
1197 gl_texturecompression_color 1
1198 gl_texturecompression_gloss 1
1199 gl_texturecompression_glow 1
1200 gl_texturecompression_lightcubemaps 1
1201 gl_texturecompression_q3bsplightmaps 0
1202 gl_texturecompression_sky 1
1203
1204 set menu_mouse_absolute 0       "TODO make this seta if the engine understands this right"
1205 seta menu_mouse_speed 1
1206 set menu_use_default_hostname 1
1207 alias sethostname "set menu_use_default_hostname 0; hostname $*"
1208
1209 // force fog for people who turn it off in game (set this to like 5 if you suspect people are "cheating" that way)
1210 set sv_foginterval 0
1211
1212 // Audio track names (for old-style "cd loop NUMBER" usage)
1213 cd remap digital-pursuit breakdown-easy brainsukker chaos-fog infight neuronal-diving subcities thru-the-mirror calling-bogus beast-of-insanity
1214 set sv_intermission_cdtrack brainsukker
1215 set menu_cdtrack calling-bogus
1216
1217 // maxidle (in seconds): kick players idle for more than that amount of time
1218 set sv_maxidle 0
1219 // when sv_maxidle is not 0, assume spectators are idle too
1220 set sv_maxidle_spectatorsareidle 0
1221
1222 // CTF capture limit placeholder cvar
1223 set capturelimit 0
1224
1225 // sbar: font size
1226 seta sbar_fontsize 11
1227 seta sbar_width 480
1228 alias sbar_font "loadfont user1 $*; loadfont user2 ${*}-big; sbar_columns_set"
1229 seta sbar_columns default
1230 sbar_font gfx/vera-sans
1231 seta sbar_showbinds 1   "0 disables display of keybinds, 1 enables it, 2 displays longer strings"
1232 seta sbar_showbinds_limit 2     "display so many found keybinds, 0 for unlimited"
1233
1234 // these entities are not referenced by anything directly, they just represent
1235 // teams and are found by find() when needed
1236 prvm_leaktest_ignore_classnames "ctf_team dom_team tdm_team"
1237
1238 sv_allowdownloads_inarchive 1 // for csprogs.dat
1239
1240 set g_jump_grunt 0      "Do you make a grunting noise every time you jump? Is it the same grunting noise every time?"
1241
1242 alias allready "sv_cmd allready"
1243
1244 // note: these cvars use weapon NUMBERS. Use the menu to edit this cvar, or look the numbers up in qcsrc/common/constants.qh.
1245 seta cl_weaponpriority "14 13 9 8 11 7 6 5 4 15 3 2 1 10 12" "default porto and hook as LOW priority, use the weapon key numbers otherwise"
1246 seta cl_weaponpriority_useforcycling 0
1247 // impulse 200, 210, 220:
1248 seta cl_weaponpriority0 "14 9 8 4"    "explosives    (RL Hagar Mortar)"
1249 // impulse 201, 211, 221:
1250 seta cl_weaponpriority1 "13 7 6 5 1"  "energy        (Nex Crylink Electro Laser)"
1251 seta cl_weaponpriority2 "15 11 7 3"   "hitscan exact (Nex MG)"
1252 seta cl_weaponpriority3 "15 11 7 3 2" "hitscan all   (Nex MG Shotgun)"
1253 seta cl_weaponpriority4 "13 8 6 5 2"  "spam          (Hagar Crylink Electro Shotgun)"
1254 seta cl_weaponpriority5 "1 12 10"     "for moving    (Laser Hook Port-O-Launch)"
1255 seta cl_weaponpriority6 ""
1256 seta cl_weaponpriority7 ""
1257 seta cl_weaponpriority8 ""
1258 // impulse 209, 219, 229:
1259 seta cl_weaponpriority9 ""
1260
1261 // NOTE: this only replaces weapons on the map
1262 // use g_start_weapon_* to also replace the on-startup weapons!
1263 // example: g_weaponreplace_nex "nex minstanex", then Nexes become MinstaNexes 50% of the times
1264 // set the cvars to "0" to totally disable a weapon
1265 set g_weaponreplace_laser ""
1266 set g_weaponreplace_shotgun ""
1267 set g_weaponreplace_uzi ""
1268 set g_weaponreplace_grenadelauncher ""
1269 set g_weaponreplace_electro ""
1270 set g_weaponreplace_crylink ""
1271 set g_weaponreplace_nex ""
1272 set g_weaponreplace_hagar ""
1273 set g_weaponreplace_rocketlauncher ""
1274 set g_weaponreplace_porto ""
1275 set g_weaponreplace_minstanex ""
1276 set g_weaponreplace_hook ""
1277 set g_weaponreplace_seeker ""
1278 set g_weaponreplace_hlac ""
1279 set g_weaponreplace_campingrifle ""
1280
1281 seta sv_status_privacy 1        "hide IP addresses from \"status\" replies shown to clients"
1282
1283 seta cl_teamradar 1
1284 seta cl_teamradar_background_alpha 0.4  "set to -1 to disable"
1285 seta cl_teamradar_foreground_alpha 0.8  "alpha of the map"
1286 seta cl_teamradar_scale 4096
1287 seta cl_teamradar_rotation 0    "rotation mode: you set what points up. 0 = player, 1 = west, 2 = south, 3 = east, 4 = north"
1288 seta cl_teamradar_size "128 128"
1289 seta cl_teamradar_position "0 0" "1 1 would be lower right corner, 0.5 0.5 the center (ARGH) :P"
1290 seta cl_teamradar_zoommode 0    "zoom mode: 0 = zoomed by default, 1 = zoomed when +zoom, 2 = always zoomed, 3 = always zoomed out"
1291 alias cl_teamradar_rotate "toggle cl_teamradar_rotation 0 1 2 3 4"
1292
1293 set g_maplist_allow_hidden 1    "allow hidden maps to be, e.g., voted for and in the maplist"
1294
1295 set g_start_delay 0     "delay before the game starts, so everyone can join; recommended to set this to like 15 on a public server"
1296         if_dedicated set g_start_delay 15
1297
1298 alias ons_map           "cl_cmd radar" // legacy alias
1299 alias radar             "cl_cmd radar"
1300 alias sbar_columns_set  "cl_cmd sbar_columns_set $*"
1301 alias sbar_columns_help "cl_cmd sbar_columns_help $*"
1302
1303 alias _gl_flashblend_update_00 "gl_flashblend 1"
1304 alias _gl_flashblend_update_10 "gl_flashblend 0"
1305 alias _gl_flashblend_update_01 "gl_flashblend 0"
1306 alias _gl_flashblend_update_11 "gl_flashblend 0"
1307 alias gl_flashblend_update "_gl_flashblend_update_$r_shadow_realtime_dlight$r_showsurfaces"
1308
1309 set sv_clones 0 "number of clones a player may make (reset by the \"kill\" command)"
1310
1311 set cl_handicap 1       "the higher, the more damage you will receive (client setting)"
1312
1313 exec turrets.cfg
1314
1315 // must be at the bottom of this file:
1316 // alias for switching the teamselect menu
1317 alias menu_showteamselect "menu_cmd directmenu TeamSelect"
1318 alias menu_sync "menu_cmd sync"
1319 bind f5 menu_showteamselect
1320
1321 set g_bugrigs 0
1322 set g_bugrigs_planar_movement 1 "BROTRR bug emulation"
1323 set g_bugrigs_planar_movement_car_jumping 1     "my own bug"
1324 set g_bugrigs_reverse_speeding 1        "BROTRR bug emulation"
1325 set g_bugrigs_reverse_spinning 1        "BROTRR bug emulation"
1326 set g_bugrigs_reverse_stopping 1        "BROTRR bug emulation"
1327 set g_bugrigs_air_steering 1    "NFS bug emulation"
1328 set g_bugrigs_angle_smoothing 5 "smooth the car angle a bit, looks nice"
1329 set g_bugrigs_friction_floor 50 "units/sec friction on floor"
1330 set g_bugrigs_friction_brake 950        "units/sec friction for braking"
1331 set g_bugrigs_friction_air 0.00001      "(very small) v <- v - v^2 * g_bugrigs_friction_air"
1332 set g_bugrigs_accel 800 "acceleration"
1333 set g_bugrigs_speed_ref 400     "reference speed for accel and steer responsiveness"
1334 set g_bugrigs_speed_pow 2       "reference power for accel and steer responsiveness"
1335 set g_bugrigs_steer 1   "steering amount"
1336
1337 set g_touchexplode 0
1338 set g_touchexplode_radius 50
1339 set g_touchexplode_damage 10
1340 set g_touchexplode_edgedamage 0
1341 set g_touchexplode_force 150
1342
1343 sbar_miniscoreboard_size 0 // this mode is broken in current csqc
1344
1345 set g_ban_sync_uri ""   "sync using this ban list provider (empty string to disable)"
1346 set g_ban_sync_interval 5       "sync every 5 minutes"
1347 set g_ban_sync_trusted_servers ""       "request ban lists from these nexuiz servers (do not include your own server there, or unbanning may fail)"
1348 set g_ban_sync_timeout 45       "time out in seconds for the ban sync requests"
1349 set g_ban_sync_trusted_servers_verify 0 "when set to 1, additional bans sent by the servers are ignored, and only bans for the requested IP are used"
1350
1351 set g_showweaponspawns 0        "1: display sprites for weapon spawns found on the map when a weapon key is pressed and the weapon is not available"
1352
1353 alias records "cmd records"
1354
1355 // ballistics use physical units, but qu based
1356 //   Quake-Newton: 1 qN  = 1 qu * 1 g / 1 s^2
1357 //   Quake-Joule:  1 qJ  = 1 qN * 1 qu
1358 //   Quake-Pascal: 1 qPa = 1 qN / 1 qu^2
1359
1360 set g_ballistics_materialconstant 1414213562
1361 // unit: qJ / qu^3 (energy needed per volume unit of solid to push/burn away
1362 // parameter: bullet constant: mass / area in g/qu^2
1363 // = mass / (pi/4 * caliber^2)
1364 // with caliber in inches, mass in grams:
1365 // = 1.273239544735163 * mass / caliber^2
1366 // with caliber in inches, mass in grains:
1367 // = 0.082633246453312 * mass / caliber^2
1368
1369 // bullet max travel distance inside solid:
1370 //   0.5 * v^2 * bulletconstant / g_ballistics_materialconstant
1371
1372 // some bullet constants:
1373 //   http://hypertextbook.com/facts/2000/ShantayArmstrong.shtml
1374 //     second bullet: caliber .45, mass 16.2g, bullet constant 101.859163578813
1375 //     third bullet: caliber .338, mass 16.2g, bullet constant 180.5476053421592
1376 //     fourth bullet: caliber .25, mass 2.3g, bullet constant 46.85521524625399
1377 //   http://en.wikipedia.org/wiki/.50_BMG
1378 //     caliber .5, 360 grains, bullet constant 118.9918748927693
1379 //   AK-47:
1380 //     caliber .3, 62 grains, bullet constant 56.92512533450383
1381 //   .3 winchester magnum:
1382 //     caliber .3, 150 grains, bullet constant 137.7220774221867
1383
1384 set g_ballistics_force 0        "1: make all bullets use the ballistics code instead of hitscan"
1385 set g_ballistics_force_uzi_speed 18000  "speed of uzi bullets if g_ballistics_force is 1"
1386 set g_ballistics_force_uzi_bulletconstant 115   "13.1qu"
1387 set g_ballistics_force_shotgun_speed 12000      "speed of shotgun bullets if g_ballistics_force is 1"
1388 set g_ballistics_force_shotgun_bulletconstant 75        "3.8qu"
1389
1390 set cl_stripcolorcodes 0        "experimental feature (notes: strips ALL color codes from messages!)"
1391
1392 sv_status_show_qcstatus 1 // Nexuiz uses this field instead of frags
1393 set g_full_getstatus_responses 0        "this currently breaks qstat"
1394
1395 // Demo camera
1396 set camera_enable               0       "Enables the camera for demo playback"
1397 set camera_free                 0       "Free camera instead of chasing the player"
1398 set camera_reset                0       "Resets the camera position and switch to chase mode"
1399 set camera_speed_roll           0.9     "Camera rotation speed"
1400 set camera_speed_chase          4       "Camera movement speed on the x/y/z axis while chasing the player"
1401 set camera_speed_free           8       "Camera movement speed on the x/y/z axis in free mode"
1402 set camera_speed_attenuation    30      "Camera movements attenuation factor. Bigger is smoother. Applies to mouse movements."
1403 set camera_mouse_treshold       0.5     "Use to ignore small mouse movements. This allows for smoother camera control"
1404 set camera_chase_smoothly       0       "Attenuate player movements (only in chase mode)"
1405 set camera_look_player          0       "Always look to the player. Mouse input is ignored in this mode."
1406 set camera_look_attenuation     8       "Attenuation of \"looking\" movements, only if camera_look_player is set. Bigger is smoother."
1407 set camera_forward_follows      1       "0: Move the camera forwards without changing altitude. 1: Move towards what you are looking."
1408
1409 // "Gentle mode": show no blood
1410 seta sv_gentle 0        "force gentle mode for everyone, also remove references to acts of killing from the messages"
1411 seta cl_gentle 0        "client side gentle mode (only replaces gibs)"
1412
1413 seta sbar_increment_maptime 0 // set to 1 if you prefer an increasing timer