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