]> icculus.org git repositories - divverent/nexuiz.git/blob - data/defaultNexuiz.cfg
implement CTF suggestion by [-z-] as comments
[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 // Nexuiz version (formatted for machines)
19 // used to determine if a client version is compatible
20 // this doesn't have to be bumped with every release
21 // bump when clients become incompatible or any other perfectly good reason
22 // (e.g. game data incompatibility, engine version incompatibility, etc
23 // note: this automatically filters the server browser, clients of the new
24 // version won't see old servers, and clients of the old version won't see new
25 // servers either
26 //
27 // e.g. Nexuiz 1.5.1 RC1 will be 15101
28 gameversion 20000
29
30 // say aliases
31 alias asay_ctf_flagcarrier "say_team flag carrier at %y"
32 alias asay_ctf_haveflag "say_team (%l) have the flag"
33 alias asay_willgo "say_team will go to %y"
34 alias asay_support "say_team (%l) need help, %h%%"
35 alias asay_killed "say_team got killed at %d"
36 alias asay_noammo "say_team (%l) need %W for %w"
37 alias asay_drop "say_team (%l) dropped %w ; impulse 17"
38
39 // other aliases
40 alias +hook +button6
41 alias -hook -button6
42 alias ready "cmd ready"
43 alias lockteams "sv_cmd lockteams"
44 alias unlockteams "sv_cmd unlockteams"
45 alias nospectators "sv_cmd nospectators"
46 alias calltimeout "cmd calltimeout" //use this command to call a timeout
47 alias resumegame "cmd resumegame" //use this command if you don't need the remaining time of the timeout anymore
48
49 alias bsp "ls maps/*.bsp"
50 alias chmap "changelevel $*"
51 alias gotomap "sv_cmd gotomap \"$1\""
52 alias reset "exec game_reset.cfg"
53
54 alias rec "record demos/$1"
55 alias ply "playdemo $1"
56 alias tdem "timedemo $1"
57
58 alias dropweapon "impulse 17"
59 alias +show_info +button7
60 alias -show_info -button7
61
62 alias team_red "cmd selectteam red; cmd join"
63 alias team_blue "cmd selectteam blue; cmd join"
64 alias team_pink "cmd selectteam pink; cmd join"
65 alias team_yellow "cmd selectteam yellow; cmd join"
66 alias team_auto "cmd selectteam auto; cmd join"
67 bind f6 team_auto
68
69 alias movetoteam_red "sv_cmd movetoteam $1 red"
70 alias movetoteam_blue "sv_cmd movetoteam $1 blue"
71 alias movetoteam_pink "sv_cmd movetoteam $1 pink"
72 alias movetoteam_yellow "sv_cmd movetoteam $1 yellow"
73 alias movetoteam_auto "sv_cmd movetoteam $1 auto"
74
75 // merge lightmaps up to 1024x1024 textures
76 // the default of 2048x2048 is too heavy for my rig (SavageX)
77 mod_q3bsp_lightmapmergepower 3
78
79 // player defaults
80 _cl_color 102
81 _cl_name Player
82 _cl_playermodel models/player/marine.zym
83 _cl_playerskin 0
84 crosshair 5
85 fov 90
86 seta cl_zoomfactor 5  // how much +zoom will zoom (1-16)
87 seta cl_zoomspeed 3.5 // how fast it will zoom (0.5-16), negative values mean instant zoom
88 seta cl_zoomsensitivity 0 // how zoom changes sensitivity (0 = weakest, 1 = strongest)
89 freelook 1
90 sensitivity 6
91 v_gamma 1.125000
92 viewsize 110
93 bgmvolume 1
94 volume 0.5
95 // fullscreen 1024x768x32bit
96 vid_bitsperpixel 32
97 vid_fullscreen 1
98 vid_width 1024
99 vid_height 768
100 // 2D resolution 800x600
101 vid_conwidth 800
102 vid_conheight 600
103 set sbar_hudselector 0 // use the old nexuiz hud layout
104 v_deathtilt 0 // needed for spectators (who are dead to avoid prediction)
105
106 // these settings determine how much the view is affected by movement/damage
107 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
108 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
109 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
110 cl_rollangle 0 // amount of view tilt when strafing, default is 2.0
111 v_kicktime 0   // how long damage kicks of the view last, default is 0.5 seconds
112 gl_polyblend 1 // whether to use screen tints, default is 1
113
114 // nexuiz-linux-*.sh will use this
115 seta vid_x11_display ""
116 // This can have three possible settings:
117 //   ""            run as usual
118 //   ":n"          use DISPLAY=:n, create it if needed
119 //   ":n/layout"   use DISPLAY=:n, create it if needed with ServerLayout layout
120
121 cl_autodemo_nameformat demos/%Y-%m-%d_%H-%M
122
123 // server settings
124 hostname "Nexuiz Server"
125 set sv_mapchange_delay 5
126 set minplayers 0
127 sv_cullentities_trace 1
128 r_cullentities_trace 1
129
130 // restart server if all players hit "ready"-button
131 set sv_ready_restart 0
132 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
133 set sv_ready_restart_repeatable 0 //allows the players to restart the game as often as needed
134
135 //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
136 set teamplay_lockonrestart 0
137
138 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
139 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
140
141 //tournament mod
142 set g_warmup 0 //split the game into a warmup- and match-stage
143         if_dedicated set g_warmup 1
144 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)
145 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
146 set g_warmup_allguns 0 //if set players start with all guns in warmup mode
147 set g_warmup_start_health 250 //starting values when being in warmup-stage
148 set g_warmup_start_armor 100
149 set g_warmup_start_ammo_shells 50
150 set g_warmup_start_ammo_nails 150
151 set g_warmup_start_ammo_rockets 50
152 set g_warmup_start_ammo_cells 50
153
154 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
155 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)
156
157 alias g_tourney "g_tourney_$1"
158 alias g_tourney_1 "g_warmup 1; g_chat_nospectators 1; sv_vote_nospectators 1"
159 alias g_tourney_0 "g_warmup 0; g_chat_nospectators 0; sv_vote_nospectators 0"
160
161 set sv_timeout 0 //allows a player to call a timeout, this will pause the game for some time
162 set sv_timeout_length 120 //how long the game will be paused at max, in seconds
163 set sv_timeout_number 2 //how many timeouts one player is allowed to call (gets reset after a restart)
164 set sv_timeout_leadtime 4 //how long the players will be informed that a timeout was calledbefore it starts, in seconds
165 set sv_timeout_resumetime 3 //how long the remaining timeout-time will be after a player called the resumegame command
166
167 // use default physics
168 exec physicsQBR.cfg
169
170 set sv_pogostick 0 // don't require releasing the space bar for jumping again
171 set sv_doublejump 0 // allow Quake 2-style double jumps
172
173 seta sv_precacheplayermodels 1
174 seta sv_precacheweapons 0
175 seta sv_precacheitems 0
176 set sv_spectator_speed_multiplier 1.5
177 seta sv_spectate 1
178 seta sv_defaultcharacter 0
179 seta sv_defaultplayermodel models/player/nexus.zym
180 seta sv_defaultplayerskin 0
181 seta sv_defaultplayermodel_red "" // "" means see sv_defaultplayermodel
182 seta sv_defaultplayerskin_red 0
183 seta sv_defaultplayermodel_blue ""
184 seta sv_defaultplayerskin_blue 0
185 seta sv_defaultplayermodel_yellow ""
186 seta sv_defaultplayerskin_yellow 0
187 seta sv_defaultplayermodel_pink ""
188 seta sv_defaultplayerskin_pink 0
189 seta sv_defaultplayercolors "" // set to 16*shirt+pants to force a color, note: it does NOT depend on defaultcharacter! Set to "" to disable
190 set sv_autoscreenshot 0
191 net_messagetimeout 300
192 net_connecttimeout 30
193 sv_jumpstep 1 // step up stairs while jumping, makes it easier to reach ledges
194 set ekg 0
195
196 cl_movement 1
197 cl_stairsmoothspeed 200
198 cl_forwardspeed $sv_maxspeed
199 cl_backspeed $sv_maxspeed
200 cl_sidespeed $sv_maxspeed
201 cl_upspeed $sv_maxspeed
202 cl_movement_accelerate $sv_accelerate
203 cl_movement_airaccel_qw $sv_airaccel_qw
204 cl_movement_airaccel_sideways_friction $sv_airaccel_sideways_friction
205 cl_movement_airaccelerate $sv_airaccelerate
206 cl_movement_edgefriction $edgefriction
207 cl_movement_friction $sv_friction
208 cl_movement_jumpvelocity $sv_jumpvelocity
209 cl_movement_maxairspeed $sv_maxairspeed
210 cl_movement_maxspeed $sv_maxspeed
211 cl_movement_stepheight $sv_stepheight
212 cl_movement_stopspeed $sv_stopspeed
213 cl_movement_track_canjump 0 // till DP bug gets fixed
214 cl_movement_wallfriction $sv_wallfriction
215 cl_movement_wateraccelerate $sv_wateraccelerate
216 cl_movement_waterfriction $sv_waterfriction
217
218 seta cl_autoswitch 1
219 alias autoswitch "set cl_autoswitch $1 ; cmd autoswitch $1"
220
221 seta cl_playerdetailreduction 0 // the higher, the less detailed
222
223 set bot_number 0 // number of bots in server
224 seta bot_usemodelnames 0 // whether bots should be named after the models
225 set bot_nofire 0 // makes bots not attack at all, mainly for testing in g_waypointeditor mode
226 seta bot_prefix [BOT]
227 seta bot_suffix ""
228 seta skill_auto 0 // when 1, "skill" gets adjusted to match the best player on the map
229 // general bot AI cvars
230 set bot_ai_thinkinterval 0.05
231 set bot_ai_strategyinterval 2
232 set bot_ai_enemydetectioninterval 0.5
233 set bot_ai_dodgeupdateinterval 0.1
234 set bot_ai_chooseweaponinterval 0.3
235 set bot_ai_dangerdetectioninterval 0.1
236 set bot_ai_dangerdetectionupdates 64
237 set bot_ai_aimskill_blendrate 2
238 set bot_ai_aimskill_fixedrate 15
239 set bot_ai_aimskill_firetolerance_distdegrees 180
240 set bot_ai_aimskill_firetolerance_mindegrees 2
241 set bot_ai_aimskill_firetolerance_maxdegrees 45
242 set bot_ai_aimskill_mouse 1
243 set bot_ai_keyboard_distance 250
244 set bot_ai_keyboard_treshold 0.57
245 set bot_ai_aimskill_offset 1
246 set bot_ai_aimskill_think 1
247 // Better don't touch these, there are hard to tweak!
248 set bot_ai_aimskill_order_mix_1st 0.01
249 set bot_ai_aimskill_order_mix_2nd 0.1
250 set bot_ai_aimskill_order_mix_3th 0.01
251 set bot_ai_aimskill_order_mix_4th 0.05
252 set bot_ai_aimskill_order_mix_5th 0.01
253 set bot_ai_aimskill_order_filter_1st 0.2
254 set bot_ai_aimskill_order_filter_2nd 0.2
255 set bot_ai_aimskill_order_filter_3th 0.05
256 set bot_ai_aimskill_order_filter_4th 0.25
257 set bot_ai_aimskill_order_filter_5th 0.3
258
259 // waypoint editor enable
260 set g_waypointeditor 0
261 set bot_ignore_bots 0
262 set bot_join_empty 0
263 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)
264
265 alias g_waypointeditor_spawn "impulse 103"
266 alias g_waypointeditor_remove "impulse 104"
267 alias g_waypointeditor_relinkall "impulse 105"
268 alias g_waypointeditor_saveall "impulse 106"
269
270 locs_enable 0
271 pausable 0
272 set g_antilag 1
273 set g_shootfromeye 0
274 set g_shootfromcenter 0
275 set g_weapon_stay 0
276 set g_powerup_superhealth 1
277 set g_powerup_strength 1
278 set g_powerup_shield 1
279 set g_use_ammunition 1
280 set g_pickup_items 1
281 set g_minstagib 0               // enable minstagib
282 set g_minstagib_extralives 2    // how many extra lives you will get per powerup
283 set g_minstagib_ammo_start 10   // starting ammo
284 set g_minstagib_ammo_drop 5     // how much ammo you'll get for weapons or cells
285 set g_minstagib_invis_alpha 0.05
286 set g_minstagib_speed_jumpheight 1.8
287 set g_minstagib_speed_moverate 1.25
288 set g_rocketarena 0
289 set g_vampire 0
290 set g_shocknex 0
291 set g_laserguided_missile 0
292 set g_midair 0
293 set g_midair_shieldtime 0.3
294 set g_spawnshieldtime 0
295 set g_spawnsound 1
296 set g_spawnpoints_autodrop 0
297 set g_spawnpoints_auto_move_out_of_solid 0
298 set g_forced_respawn 0
299 set g_fullbrightplayers 0
300 set g_fullbrightitems 0
301 set g_casings 0
302 set g_norecoil 0
303 set g_throughfloor 1
304 set g_maplist_mostrecent ""
305 seta g_maplist_mostrecent_count 3 // number of most recent maps that are blocked from being played again
306 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"
307 seta g_maplist_index 0 // this is used internally for saving position in maplist cycle
308 seta g_maplist_selectrandom 0 // if 1, a random map will be chosen as next map - DEPRECATED in favor of g_maplist_shuffle
309 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.
310 // timeout for kill credit when your damage knocks someone into a death trap
311 set g_maplist_check_waypoints 0 // when 1, maps are skipped if there currently are bots, but the map has no waypoints
312 set g_maxpushtime 8.0
313
314 set g_cloaked 0
315 set g_player_alpha 1
316 set g_player_brightness 0 // set to 2 for brighter players
317 seta g_balance_cloaked_alpha 0.25
318
319 set welcome_message_time                8
320
321 set exit_cfg empty.cfg
322 alias clearmap  "disconnect; exec $exit_cfg"
323
324 seta g_grappling_hook 0
325 set g_balance_grapplehook_health 130
326 exec newhook.cfg
327
328 // this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
329 seta timelimit_override -1
330 seta fraglimit_override -1
331 seta capturelimit_override -1 // actual captures, if g_ctf_win_mode 0 or 1
332 seta g_ctf_capture_limit -1   // points, if g_ctf_win_mode 2
333 seta g_domination_point_limit -1
334 seta g_runematch_point_limit -1
335 seta g_keyhunt_point_limit -1
336 seta g_race_laps_limit -1
337
338 seta g_ctf_win_mode 2 // 0: captures only, 1: captures, then points, 2: points only, 3: points only, but no frags included
339
340 // 50% of the spawns shall be far away from any players
341 set g_spawn_furthest 0.5
342 // respawn delay
343 set g_respawn_delay 2
344 set g_respawn_waves 0
345 // when variables are set to 0, they take over the global setting...
346 // to force disable delay or waves, set them to 0.125
347 set g_ctf_respawn_delay 0
348 set g_ctf_respawn_waves 0
349 set g_dm_respawn_delay 0
350 set g_dm_respawn_waves 0
351 set g_dom_respawn_delay 0
352 set g_dom_respawn_waves 0
353 set g_lms_respawn_delay 0
354 set g_lms_respawn_waves 0
355 set g_rune_respawn_delay 0
356 set g_rune_respawn_waves 0
357 set g_tdm_respawn_delay 0
358 set g_tdm_respawn_waves 0
359 // honor g_respawn_mapsettings_delay and g_respawn_mapsettings_waves
360 set g_respawn_mapsettings 1
361
362 // maximum overtime
363 seta timelimit_maxovertime 5
364
365 // common team values
366 set  g_tdm                              0
367
368 seta teamplay_default                   4       // default teamplay setting in team games
369   // 1 = no friendly fire, self damage
370   // 2 = friendly fire and self damage enabled
371   // 3 = no friendly fire, but self damage enabled
372   // 4 = obey the following two cvars
373 seta g_mirrordamage 0.2              // for teamplay 4: mirror damage factor
374 seta g_friendlyfire 0.0              // for teamplay 4: fiendly fire factor
375
376 set deathmatch_force_teamplay           0       // always play TDM on dm maps
377 seta g_balance_teams                    0       // automatically balance out players entering instead of asking them for their preferred team
378 seta g_balance_teams_force              0       // automatically balance out teams when players move or disconnect
379 seta g_balance_teams_complain   0   // when 1, complain when team balance is off
380 seta g_balance_teams_prevent_imbalance  0       // prevent players from changing to larger teams
381 seta g_tdm_teams                        2       // how many teams are in team deathmatch
382 set g_changeteam_banned                 0       // not allowed to change team
383 set g_changeteam_fragtransfer           0       // % of frags you get to keep when you change teams (rounded down)
384
385 // dm
386 set g_dm 1
387 set gamecfg 1 // deathmatch
388
389 // ctf
390 set g_ctf                                         0
391 set g_ctf_flag_returntime                        30
392                                                
393 set g_ctf_flagscore_pickup_base                   1
394 set g_ctf_flagscore_pickup_dropped_early          1
395 set g_ctf_flagscore_pickup_dropped_late           5
396 set g_ctf_flagscore_capture                      20
397 set g_ctf_flagscore_kill                          1
398 set g_ctf_flagpenalty_drop                        0
399 set g_ctf_flagpenalty_suicidedrop                 1
400 set g_ctf_flagscore_return                        5
401 set g_ctf_flagscore_return_rogue                 10
402 set g_ctf_flagscore_return_by_killer              5
403 set g_ctf_flagscore_return_rogue_by_killer       10
404 // succeeded capture (pickup capture)            21 (0 for enemy)
405 // failed capture (pickup kill drop return)       1 (6 for enemy)
406 // failed (shot into void) (pickup kill drop)     1 (1 for enemy)
407 // capture retry (kill drop pickup)               1 (1 for enemy)
408 // suicide, then retake (suicidedrop pickup)      0 (0 for enemy)
409
410 // Suggestion by Alien:
411 // set g_ctf_flagscore_pickup_base                   1
412 // set g_ctf_flagscore_pickup_dropped_early          1
413 // set g_ctf_flagscore_pickup_dropped_late           1
414 // set g_ctf_flagscore_capture                      30
415 // set g_ctf_flagscore_kill                          1
416 // set g_ctf_flagpenalty_drop                       -2
417 // set g_ctf_flagpenalty_suicidedrop                -2
418 // set g_ctf_flagscore_return                        5
419 // set g_ctf_flagscore_return_rogue                 10
420 // set g_ctf_flagscore_return_by_killer              6
421 // set g_ctf_flagscore_return_rogue_by_killer       11
422 // // succeeded capture (pickup capture)            31 (0 for enemy)
423 // // failed capture (pickup kill drop return)      -1 (6 or 7 for enemy)
424 // // failed (shot into void) (pickup kill drop)     1 (1 for enemy)
425 // // capture retry (kill drop pickup)              -1 (1 for enemy)
426 // // suicide, then retake (suicidedrop pickup)     -1 (0 for enemy)
427
428 // Suggestion by [-z-]
429 // set g_ctf_flagscore_pickup_base                  -5
430 // set g_ctf_flagscore_pickup_dropped_early          1
431 // set g_ctf_flagscore_pickup_dropped_late           5
432 // set g_ctf_flagscore_capture                      30
433 // set g_ctf_flagscore_kill                          5
434 // set g_ctf_flagpenalty_drop                       -5
435 // set g_ctf_flagpenalty_suicidedrop                -5
436 // set g_ctf_flagscore_return                        3
437 // set g_ctf_flagscore_return_rogue                 10
438 // set g_ctf_flagscore_return_by_killer              3
439 // set g_ctf_flagscore_return_rogue_by_killer       10
440 // // succeeded capture (pickup capture)            25 (0 for enemy)
441 // // failed capture (pickup kill drop return)     -10 (8 for enemy)
442 // // failed (shot into void) (pickup kill drop)   -10 (5 for enemy)
443 // // capture retry (kill drop pickup)          -1..-4 (5 for enemy)
444 // // suicide, then retake (suicidedrop pickup) -1..-4 (0 for enemy)
445
446 set g_ctf_flagcarrier_selfdamage              1
447 set g_ctf_flagcarrier_selfforce               1
448
449 // runematch
450 set g_runematch                                         0
451 set g_runematch_pointrate                               5
452 set g_runematch_pointamt                                        1
453 set g_runematch_shuffletime                             30 // how often runes change position
454 set g_runematch_respawntime                             15 // how soon after being dropped to respawn
455 set g_runematch_frags_killedby_runeholder               4
456 set g_runematch_frags_killed_runeholder                 5
457 set g_runematch_frags_norune                            0
458 set g_runematch_drop_runes_max                          2 // only drop up to 2 runes, the rest should respawn
459 set g_runematch_allow_same                              0 // allow matching rune-curse pairs
460 set g_runematch_rune_alpha                              0.78
461 set g_runematch_rune_effects                            544 // EF_ADDITIVE + EF_FULLBRIGHT
462 set g_runematch_rune_glow_size                          0
463 set g_runematch_rune_glow_color                         0
464 set g_runematch_rune_color_strength                     1.0 //1.5
465 // strength/weakness
466 set g_balance_rune_strength_damage                      2.0 //1.5
467 set g_balance_rune_strength_force                       1.5
468 set g_balance_curse_weak_damage                         0.5 //0.6
469 set g_balance_curse_weak_force                          0.6
470 set g_balance_rune_strength_combo_damage        0.9
471 set g_balance_rune_strength_combo_force                 1.0
472 // defense/vulner
473 set g_balance_rune_defense_takedamage                   0.5
474 set g_balance_curse_vulner_takedamage                   2.0
475 set g_balance_rune_defense_combo_takedamage             1.0
476 // vampire/empathy
477 set g_balance_rune_vampire_absorb                       0.4
478 set g_balance_curse_empathy_takedamage                  -0.4
479 set g_balance_rune_vampire_combo_absorb                 -0.1
480 set g_balance_rune_vampire_maxhealth                    500
481 set g_balance_curse_empathy_minhealth                   20
482 set g_balance_rune_vampire_combo_minhealth              40
483 // regen/venom
484 set g_balance_rune_regen_hpmod                          1.75
485 set g_balance_curse_venom_hpmod                         0.6
486 set g_balance_rune_regen_combo_hpmod                    0.9
487 set g_balance_rune_regen_regenrate                      3.0
488 set g_balance_curse_venom_rotrate                       3.0 //2
489 set g_balance_rune_regen_combo_regenrate        0.5
490 set g_balance_rune_regen_combo_rotrate                  1.5
491 set g_balance_rune_regen_limitmod                       1
492 set g_balance_curse_venom_limitmod                      1
493 set g_balance_rune_regen_combo_limitmod                 1
494 // speed/slow
495 set g_balance_rune_speed_atkrate                                0.66
496 set g_balance_curse_slow_atkrate                                1.5
497 set g_balance_rune_speed_combo_atkrate                  1.2
498 set g_balance_rune_speed_moverate                       1.25
499 set g_balance_curse_slow_moverate                       0.8
500 set g_balance_rune_speed_combo_moverate                 0.9
501 set g_balance_rune_speed_jumpheight                     1.4
502 set g_balance_curse_slow_jumpheight                     1.0
503 set g_balance_rune_speed_combo_jumpheight               1.0
504
505 // domination
506 set g_domination                        0
507 set g_domination_default_teams          2 // default number of teams for maps that aren't domination-specific
508 set g_domination_disable_frags          0 // players can't get frags normally, only get points from kills
509 set g_domination_point_amt              0 // override: how many points to get per ping
510 set g_domination_point_rate             0 // override: how often to give those points
511 set g_domination_point_capturetime      0.1 // how long it takes to capture a point (given no interference)
512 set g_domination_point_glow             0 // domination point glow (warning, slow)
513 //set g_domination_balance_team_points  1 // # of points received is based on team sizes
514
515 // last man standing
516 set g_lms 0
517 set g_lms_lives_override -1
518 set g_lms_start_health 250
519 set g_lms_start_armor 100
520 set g_lms_start_ammo_shells 50
521 set g_lms_start_ammo_nails 150
522 set g_lms_start_ammo_rockets 50
523 set g_lms_start_ammo_cells 50
524 set g_lms_regenerate 0
525 set g_lms_campcheck_interval 10
526 set g_lms_campcheck_message "^1Don't camp!"
527 set g_lms_campcheck_damage 100
528 set g_lms_campcheck_distance 1800
529 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
530 set g_lms_join_anytime 1                // if true, new players can join, but get same amount of lives as the worst player
531
532 // arena
533 set g_arena 0
534 set g_arena_maxspawned 2        // maximum number of players to spawn at once (the rest is spectating, waiting for their turn)
535 set g_arena_roundbased 1        // if disabled, the next player will spawn as soon as someone dies
536 set g_arena_warmup 5            // time, newly spawned  players have to prepare themselves in round based matches
537 set g_arena_powerups 0          // enables powerups (superhealth, strength and shield), which are removed by default
538
539 // onslaught
540 set g_onslaught 0
541 set g_onslaught_gen_health 10000
542 set g_onslaught_cp_health 1000
543
544 // assault
545 set g_assault 0
546
547 // race
548 set g_race 0
549 set g_race_qualifying 1
550 // Qualifying uses timelimit, and the one with the best time wins. Fraglimit is nonfunctional then.
551 // Normal race uses fraglimit as a limit for the laps.
552 // Special mode: g_race_qualifying 2. First runs a qualifying, after
553 // ready-restart it turns into a race. TODO not done yet (e.g. timing display)
554 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)
555
556 // server game balance settings
557 set g_balance_armor_regen 0
558 set g_balance_armor_rot 0.1
559 set g_balance_armor_regenlinear 0
560 set g_balance_armor_rotlinear 0
561 set g_balance_armor_stable 100
562 set g_balance_armor_limit 999
563 set g_balance_armor_start 0
564 set g_balance_armor_blockpercent 0.6
565 set g_balance_health_regen 0.1
566 set g_balance_health_rot 0.1
567 set g_balance_health_regenlinear 0
568 set g_balance_health_rotlinear 0
569 set g_balance_health_stable 100
570 set g_balance_health_limit 999
571 set g_balance_health_start 150
572 set g_balance_selfdamagepercent 0.6
573 set g_balance_weaponswitchdelay 0.15
574 // powerup balance settings
575 set g_balance_powerup_invincible_takedamage 0.2
576 set g_balance_powerup_invincible_time 30
577 set g_balance_powerup_strength_damage 3
578 set g_balance_powerup_strength_force 4
579 set g_balance_powerup_strength_time 30
580 set g_balance_powerup_strength_selfdamage 1.5
581 set g_balance_powerup_strength_selfforce 1.5
582
583 // weapon balance settings follow
584 exec weapons.cfg
585
586 set g_balance_falldamage_deadminspeed 150
587 set g_balance_falldamage_minspeed 1400
588 set g_balance_falldamage_factor 0.15
589 set g_balance_falldamage_maxdamage 25
590
591 set g_balance_pause_armor_rot 5
592 set g_balance_pause_health_rot 5
593 set g_balance_pause_health_regen 5
594 set g_balance_pause_armor_rot_spawn 10
595 set g_balance_pause_health_rot_spawn 10
596 set g_balance_pause_health_regen_spawn 0
597
598 set g_footsteps 0 // serverside footstep sounds
599
600 // effects
601 r_picmipsprites 0 // Nexuiz uses sprites that should never be picmipped (team mate, typing, waypoints)
602 r_mipsprites 1
603 r_mipskins 1
604 r_shadow_realtime_world_lightmaps 1
605 seta r_ambient 4
606 cl_decals_fadetime 1
607 cl_decals_time 2
608 seta cl_nogibs 0
609 cl_stainmaps 0
610 cl_particles_smoke 1
611 r_glsl 1
612 r_glsl_deluxemapping 1
613 r_glsl_offsetmapping 0
614 r_glsl_offsetmapping_reliefmapping 0
615 r_glsl_offsetmapping_scale 0.02
616 // execute normal.cfg to make sure that all effect settings are reset
617 alias menu_sync "" // will be re-aliased later
618 exec normal.cfg
619
620 // misc
621 fs_empty_files_in_pack_mark_deletions 1 // makes patches able to delete files
622 scr_conalpha 0.8
623 scr_conbrightness 0.2
624 scr_screenshot_jpeg 1
625 scr_screenshot_jpeg_quality 0.9
626 sv_maxvelocity 1000000000
627 cl_sound_wizardhit ""
628 cl_sound_hknighthit ""
629 cl_sound_tink1 weapons/tink1.wav
630 cl_sound_ric1 weapons/ric1.wav
631 cl_sound_ric2 weapons/ric2.wav
632 cl_sound_ric3 weapons/ric3.wav
633 cl_sound_r_exp3 ""
634 sv_sound_land ""
635 sv_sound_watersplash ""
636
637 // startmap_dm is used when running with the -listen or -dedicated commandline options
638 alias startmap_dm "set _sv_init 1; map aggressor"
639
640 // aliases:
641 alias +attack2 +button3
642 alias -attack2 -button3
643 alias +zoom +button4
644 alias -zoom -button4
645 alias +crouch +button5
646 alias -crouch -button5
647 alias weapnext "_weapnext_${_supports_weaponpriority}${sbar_hudselector}${cl_weaponpriority_useforcycling}"
648 alias _weapnext_000 "impulse 10"
649 alias _weapnext_001 "impulse 10"
650 alias _weapnext_010 "impulse 10"
651 alias _weapnext_011 "impulse 10"
652 alias _weapnext_100 "impulse 10"
653 alias _weapnext_101 "impulse 15"
654 alias _weapnext_110 "impulse 18"
655 alias _weapnext_111 "impulse 15"
656 alias weaplast "impulse 11"
657 alias weapprev "_weapprev_${_supports_weaponpriority}${sbar_hudselector}${cl_weaponpriority_useforcycling}"
658 alias _weapprev_000 "impulse 12"
659 alias _weapprev_001 "impulse 12"
660 alias _weapprev_010 "impulse 12"
661 alias _weapprev_011 "impulse 12"
662 alias _weapprev_100 "impulse 12"
663 alias _weapprev_101 "impulse 16"
664 alias _weapprev_110 "impulse 19"
665 alias _weapprev_111 "impulse 16"
666 set _supports_weaponpriority 0 // set to 1 by csqc if supported, and to 0 on disconnect
667 alias weapbest "impulse 13"
668
669 // movement
670 bind w +forward
671 bind a +moveleft
672 bind s +back
673 bind d +moveright
674 bind UPARROW +forward
675 bind LEFTARROW +moveleft
676 bind DOWNARROW +back
677 bind RIGHTARROW +moveright
678 bind SHIFT +crouch
679 bind ENTER +jump
680 bind SPACE +jump
681
682 // weapons
683 bind 1 "impulse 1"
684 bind 2 "impulse 2"
685 bind 3 "impulse 3"
686 bind 4 "impulse 4"
687 bind 5 "impulse 5"
688 bind 6 "impulse 6"
689 bind 7 "impulse 7"
690 bind 8 "impulse 8"
691 bind 9 "impulse 9"
692 bind 0 "impulse 14" // cycles the superweapons
693 bind MOUSE1 +attack
694 bind MOUSE2 +attack2
695 bind MOUSE3 +zoom
696 bind MOUSE4 weaplast
697 bind MOUSE5 +hook
698 bind MWHEELUP weapnext
699 bind MWHEELDOWN weapprev
700 bind BACKSPACE dropweapon
701 bind g dropweapon
702 bind f +use
703
704 // misc
705 bind e +hook
706 bind ` toggleconsole
707 bind ~ toggleconsole
708 bind TAB +showscores
709 bind ESCAPE togglemenu
710 bind r messagemode2
711 bind t messagemode
712 bind y messagemode2
713 bind i +show_info
714 bind PAUSE pause
715 bind F10 quit
716 bind F11 disconnect
717 bind F12 screenshot
718 bind F4 ready
719
720 // Gamepad defaults. Tested with Logitech Rumblepad 2, I hope similar ones works as well.
721 bind JOY1 "+crouch"
722 bind JOY2 "+jump"
723 bind JOY3 "weapprev"
724 bind JOY4 "weapnext"
725 bind JOY5 "+attack2"
726 bind JOY6 "+attack"
727 bind JOY7 "+zoom"
728 bind JOY8 "dropweapon"
729 bind JOY9 "menu_showteamselect"
730 bind JOY10 "+show_info"
731 bind JOY11 "+showscores"
732 bind JOY12 "+con_chat_maximize"
733 set joyadvanced "1"
734 set joyadvaxisr "2"
735 set joyadvaxisx "3"
736 set joyadvaxisy "1"
737 set joyadvaxisz "4"
738 set joysidesensitivity "1.0"
739 set joypitchsensitivity "0.9"
740 set joyyawsensitivity "-1.8"
741 // SDL only
742 set joy_deadzoneforward "0.05"
743 set joy_deadzonepitch "0.05"
744 set joy_deadzoneside "0.05"
745 set joy_deadzoneup "0.05"
746 set joy_deadzoneyaw "0.05"
747 set joy_sensitivitypitch "0.9"
748 set joy_sensitivityyaw "-1.8"
749
750 // team say
751 bind kp_ins messagemode
752 bind kp_del messagemode2
753 bind kp_end "+userbind 1"
754 bind kp_downarrow "+userbind 2"
755 bind kp_pgdn "+userbind 3"
756 bind kp_leftarrow "+userbind 4"
757 bind kp_5 "+userbind 6"
758 bind kp_rightarrow "+userbind 7"
759 bind kp_home "+userbind 9"
760 bind kp_uparrow "+userbind 10"
761 bind kp_pgup "+userbind 11"
762 bind kp_multiply "+userbind 12"
763 bind kp_slash "+userbind 13"
764 bind kp_enter "+userbind 15"
765 bind kp_plus "+userbind 16"
766 bind kp_minus "+userbind 17"
767
768 // these commands can be voted
769 set sv_vote_commands "restart timelimit fraglimit chmap gotomap g_grappling_hook sv_defaultplayer_fbskin_green sv_defaultplayer_fbskin_red sv_defaultplayer_fbskin_orange sv_defaultplayer_fbskin_off endmatch reducematchtime extendmatchtime allready"
770 // users can call a vote for the above commands
771 set sv_vote_call 1
772 // users can call a vote to become master
773 set sv_vote_master 1
774 // when set, users can use "vdo login (password)" to log in as master
775 set sv_vote_master_password ""
776 // set to 1 to allow to change you vote/mind
777 set sv_vote_change 0
778 // set to 1 to count votes once after timeout or to 0 to count with every vote
779 set sv_vote_singlecount 0
780 // a vote will timeout after this many seconds
781 set sv_vote_timeout 60
782 // a player can not call a vote again for this many seconds
783 set sv_vote_wait 120
784 // a simple majority suffices to accept a vote (meaning: YES votes > NO votes, otherwise: YES votes > half of the players)
785 set sv_vote_simple_majority 0
786 // which quotient of the players constitute a majority? (try: 0.667, 0.75 when using the above)
787 set sv_vote_majority_factor 0.5
788 // when disabled, don't allow game type changes
789 set sv_vote_override_mostrecent 0
790 alias vhelp "cmd vote help"
791 alias vstatus "cmd vote status"
792 alias vcall "cmd vote call $*"
793         alias vmap "vcall gotomap $1"
794 alias vstop "cmd vote stop"
795 alias vmaster "cmd vote master"
796 alias vlogin "cmd vote login $*"
797 alias vdo "cmd vote do $*"
798         alias vdomap "vdo gotomap $1"
799 alias vyes "cmd vote yes"
800 alias vno "cmd vote no"
801 alias vdontcare "cmd vote dontcare"
802 alias vabstain "cmd vote abstain"
803 alias lsmaps "cmd lsmaps" // lists all maps on server (for vmap, suggestmap)
804 bind F1 vyes
805 bind F2 vno
806
807 //used for spectate/observer mode
808 alias spec "cmd spectate"
809 bind F3 spec
810
811 // alias for switching the teamselect menu
812 alias menu_showteamselect "menu_cmd directmenu TeamSelect"
813 alias menu_sync "menu_cmd sync"
814 bind f5 menu_showteamselect
815
816 // NixNex (No-Items x Nexuiz) - at each time, everyone uses the same weapon,
817 // and in regular intervals, this weapon is cycled
818 set g_nixnex 0
819 set g_nixnex_with_laser 0
820 // TODO these need balancing:
821 set g_balance_nixnex_roundtime 25
822 set g_balance_nixnex_incrtime 1.6
823 // initial ammo
824 set g_balance_nixnex_ammo_shells 15
825 set g_balance_nixnex_ammo_nails 45
826 set g_balance_nixnex_ammo_rockets 15
827 set g_balance_nixnex_ammo_cells 15
828 // ammo increment per second
829 set g_balance_nixnex_ammoincr_shells 2
830 set g_balance_nixnex_ammoincr_nails 6
831 set g_balance_nixnex_ammoincr_rockets 2
832 set g_balance_nixnex_ammoincr_cells 2
833
834 // score log
835 set sv_logscores_console 0              // print scores to server console
836 set sv_logscores_file 0                 // print scores to file
837 set sv_logscores_filename scores.log    // filename
838 set sv_logscores_bots 0                 // exclude bots by default
839
840 // spam (frag/capture) log
841 set sv_eventlog 0 // the master switch for efficiency reasons
842 set sv_eventlog_console 1
843 set sv_eventlog_files 0
844 set sv_eventlog_files_timestamps 1
845 seta sv_eventlog_files_counter 0
846 set sv_eventlog_files_nameprefix nexuiz
847 set sv_eventlog_files_namesuffix .log
848
849 set nextmap "" // override the maplist when switching to the next map
850 set lastlevel ""
851 set quit_when_empty 0 // set to 1, then the server exits when the next level would start but is empty
852 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)
853
854 // singleplayer campaign
855 set g_campaign 0
856 seta g_campaign_name ""
857 seta g_campaign_index 0
858 set g_campaign_skill 0
859
860 alias singleplayer_start "g_campaign_index 0; set scmenu_campaign_goto 0"
861 alias singleplayer_continue "set scmenu_campaign_goto -1"
862 alias singleplayer_levellist "set scmenu_campaign_dump 1; togglemenu; wait; togglemenu"
863
864 // Green's fullbright skins
865 alias player_fbskin_green "playermodel models/player/nexus.zym; playerskin 6; color 3 3"
866 alias player_fbskin_red "playermodel models/player/nexus.zym; playerskin 6; color 4 4"
867 alias player_fbskin_orange "playermodel models/player/nexus.zym; playerskin 6; color 14 14"
868 alias player_fbskin_off "playermodel models/player/nexus.zym; playerskin 0"
869 alias sv_defaultplayer_fbskin_green "g_fullbrightplayers 1; sv_defaultcharacter 1; sv_defaultplayermodel models/player/nexus.zym; sv_defaultplayerskin 6; sv_defaultplayercolors 51"
870 alias sv_defaultplayer_fbskin_red "g_fullbrightplayers 1; sv_defaultcharacter 1; sv_defaultplayermodel models/player/nexus.zym; sv_defaultplayerskin 6; sv_defaultplayercolors 68"
871 alias sv_defaultplayer_fbskin_orange "g_fullbrightplayers 1; sv_defaultcharacter 1; sv_defaultplayermodel models/player/nexus.zym; sv_defaultplayerskin 6; sv_defaultplayercolors 238"
872 alias sv_defaultplayer_fbskin_off "g_fullbrightplayers 0; sv_defaultcharacter 0; sv_defaultplayerskin 0; sv_defaultplayercolors \"\""
873
874 seta sv_servermodelsonly 1
875
876 cl_curl_enabled 1
877 cl_curl_maxspeed 300
878 sv_curl_defaulturl "http://www.nexuiz.com/contentdownload/getmap.php?file="
879
880 set sv_motd ""
881
882 seta cl_shownames 1 // show player names pointed to (0: never, 1: teamplay only, 2: always)
883 set sv_allow_shownames 1
884
885 net_banlist ""
886 seta _alientrap_net_banlist ""
887
888 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
889
890 set g_projectiles_newton_style 2
891 // possible values:
892 //   0: absolute velocity projectiles (like Quake)
893 //   1: relative velocity projectiles, "Newtonian" (like Tribes 2)
894 //   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)
895 //   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)
896 //   4: just add the player velocity length to the absolute velocity (tZork's sniper rockets)
897
898 seta g_maplist_votable 5
899 seta g_maplist_votable_keeptwotime 15
900 seta g_maplist_votable_timeout 30 // note: must be below 50 seconds!
901 seta g_maplist_votable_suggestions 2
902 seta g_maplist_votable_suggestions_override_mostrecent 0
903 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
904 seta g_maplist_votable_abstain 0 // when 1, you can abstain from your vote
905 seta g_maplist_votable_screenshot_dir "maps" // where to look for map screenshots
906 seta g_maplist_textonly 0 // use old style centerprint
907 alias suggestmap "cmd suggestmap $1"
908
909 set g_chat_flood_spl 3            // seconds between lines to not count as flooding
910 set g_chat_flood_lmax 2           // maximum number of lines per chat message at once
911 set g_chat_flood_burst 2          // allow bursts of so many chat lines
912 set g_chat_flood_spl_team 1       // \
913 set g_chat_flood_lmax_team 2      //  } same for say_team
914 set g_chat_flood_burst_team 2     // /
915 set g_chat_flood_notify_flooder 1 // when 0, the flooder still can see his own message
916 set g_chat_teamcolors 0           // colorize nicknames in team color for chat
917
918 set g_waypointsprite_normdistance 512
919 set g_waypointsprite_minscale 1
920 set g_waypointsprite_minalpha 0.4
921 set g_waypointsprite_distancealphaexponent 2
922 set g_waypointsprite_timealphaexponent 1
923 set g_waypointsprite_deployed_lifetime 10
924 set g_waypointsprite_deadlifetime 1
925 set g_waypointsprite_limitedrange 5120
926 set g_waypointsprite_stuffbinds 0
927 alias "g_waypointsprite_personal"       "impulse 30"
928 alias "g_waypointsprite_personal_p"     "impulse 31"
929 alias "g_waypointsprite_personal_d"     "impulse 32"
930 alias "g_waypointsprite_team_helpme"    "impulse 33"
931 alias "g_waypointsprite_team_here"      "impulse 34"
932 alias "g_waypointsprite_team_here_p"    "impulse 35"
933 alias "g_waypointsprite_team_here_d"    "impulse 36"
934 alias "g_waypointsprite_team_danger"    "impulse 37"
935 alias "g_waypointsprite_team_danger_p"  "impulse 38"
936 alias "g_waypointsprite_team_danger_d"  "impulse 39"
937 alias "g_waypointsprite_clear_personal" "impulse 47"
938 alias "g_waypointsprite_clear"          "impulse 48"
939 alias "g_waypointsprite_toggle"         "impulse 49"
940 // key for that?
941 seta cl_hidewaypoints 0
942
943 // command extension
944 alias qc_cmd               "sv_cmd $*" // menu QC will override this to menu_cmd
945 alias adminmsg             "sv_cmd adminmsg $*"
946 alias teamstatus           "cmd teamstatus; sv_cmd teamstatus" // yes, it is broken on listen servers that way, but well, who cares :P
947 alias printstats           "sv_cmd printstats" // print status on demand
948 alias g_maplist_add        "qc_cmd maplist add $*"
949 alias g_maplist_remove     "qc_cmd maplist remove $*"
950 alias g_maplist_putfirst   "qc_cmd maplist remove $* ; qc_cmd maplist add $*"
951 alias g_maplist_shufflenow "qc_cmd maplist shuffle"
952 alias gametype             "sv_cmd gametype $*"
953
954 // key hunt
955 set g_keyhunt 0
956 set g_balance_keyhunt_delay_return 60
957 set g_balance_keyhunt_delay_round 5
958 set g_balance_keyhunt_delay_tracking 10
959 set g_balance_keyhunt_delay_fadeout 2
960 set g_balance_keyhunt_delay_collect 1.5
961 set g_balance_keyhunt_delay_drop 0.4
962 set g_balance_keyhunt_maxdist 150
963 set g_balance_keyhunt_score_collect 3
964 set g_balance_keyhunt_score_carrierfrag 2
965 set g_balance_keyhunt_score_capture 100
966 set g_balance_keyhunt_score_push 60
967 set g_balance_keyhunt_score_destroyed 50
968 set g_balance_keyhunt_score_destroyed_ownfactor 1
969 set g_balance_keyhunt_dropvelocity 300
970 set g_balance_keyhunt_throwvelocity 400
971 set g_balance_keyhunt_protecttime 0.8
972 set g_balance_keyhunt_damageforcescale 1
973 set g_keyhunt_teams_override 0
974 set g_keyhunt_teams 0
975
976 // so it can be stuffcmd-ed still
977 set cl_gravity 800 // but ignored anyway
978
979 set g_ban_default_bantime 5400 // 90 minutes
980 set g_ban_default_masksize 3   // whole 255.255.255.0 networks (set to 4 for single IPs)
981 set g_banned_list ""           // format: 1 ip remainingtime ip remainingtime ...
982 alias bans "sv_cmd bans"
983 alias ban "sv_cmd ban $*"         // usage: ban address(maybe incomplete, like 1.2.3) bantime(seconds)
984 alias kickban "sv_cmd kickban $*" // usage: kickban # playerno bantime(seconds) masksize(bytes)
985 alias unban "sv_cmd unban $*"     // usage: unban 3 (number from bans)
986
987 r_labelsprites_scale 0.40625 // labels sprites get displayed at 0.5x from 640x480 to 1280x1024, and at 1x from 1600x1200 onwards
988
989 // settemp subsystem. Do not touch. Usage: settemp variable value, next map resets it.
990 set settemp_list 0
991 set settemp_var _settemp_x
992 alias settemp "settemp_list \"1 $1 $settemp_var $settemp_list\"; set $settemp_var \"${$1}\"; settemp_var ${settemp_var}x; $1 \"$2\""
993 alias settemp_restore "_settemp_restore_${settemp_list asis}"
994 alias _settemp_restore_0 "set settemp_var _settemp_x; set settemp_list 0"
995 alias _settemp_restore_1 "$1 \"${$2}\"; _settemp_restore_${3- asis}"
996
997 // usercommands. These can be edited and bound by the menu.
998 seta "userbind1_press" "say_team quad soon";  seta "userbind1_release" "";  seta "userbind1_description" "team: quad soon"
999 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"
1000 seta "userbind3_press" "say_team took item (l:%l^7); g_waypointsprite_team_here";  seta "userbind3_release" "";  seta "userbind3_description" "team: took item, icon"
1001 seta "userbind4_press" "say_team negative";  seta "userbind4_release" "";  seta "userbind4_description" "team: negative"
1002 seta "userbind5_press" "say_team positive";  seta "userbind5_release" "";  seta "userbind5_description" "team: positive"
1003 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"
1004 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"
1005 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"
1006 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"
1007 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"
1008 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"
1009 seta "userbind12_press" "say_team killed flagcarrier (l:%y^7); g_waypointsprite_team_p"; seta "userbind12_release" ""; seta "userbind12_description" "team: killed flag, icon"
1010 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"
1011 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, icon"
1012 seta "userbind15_press" "say :-) / nice one"; seta "userbind15_release" ""; seta "userbind15_description" "chat: nice one"
1013 seta "userbind16_press" "say good game"; seta "userbind16_release" ""; seta "userbind16_description" "chat: good game"
1014 seta "userbind17_press" "say hi / good luck and have fun"; seta "userbind17_release" ""; seta "userbind17_description" "chat: hi / good luck"
1015 seta "userbind18_press" "+showscores; +con_chat_maximize"; seta "userbind18_release" "-showscores; -con_chat_maximize"; seta "userbind18_description" "scoreboard / chat history"
1016 seta "userbind19_press" "toggle cl_capturevideo"; seta "userbind19_release" ""; seta "userbind19_description" "toggle recording .avi"
1017 seta "userbind20_press" "toggle vid_fullscreen; vid_restart"; seta "userbind20_release" ""; seta "userbind20_description" "toggle fullscreen"
1018 seta "userbind21_press" ""; seta "userbind21_release" ""; seta "userbind21_description" ""
1019 seta "userbind22_press" ""; seta "userbind22_release" ""; seta "userbind22_description" ""
1020 seta "userbind23_press" ""; seta "userbind23_release" ""; seta "userbind23_description" ""
1021 seta "userbind24_press" ""; seta "userbind24_release" ""; seta "userbind24_description" ""
1022 seta "userbind25_press" ""; seta "userbind25_release" ""; seta "userbind25_description" ""
1023 seta "userbind26_press" ""; seta "userbind26_release" ""; seta "userbind26_description" ""
1024 seta "userbind27_press" ""; seta "userbind27_release" ""; seta "userbind27_description" ""
1025 seta "userbind28_press" ""; seta "userbind28_release" ""; seta "userbind28_description" ""
1026 seta "userbind29_press" ""; seta "userbind29_release" ""; seta "userbind29_description" ""
1027 seta "userbind30_press" ""; seta "userbind30_release" ""; seta "userbind30_description" ""
1028 seta "userbind31_press" ""; seta "userbind31_release" ""; seta "userbind31_description" ""
1029 seta "userbind32_press" ""; seta "userbind32_release" ""; seta "userbind32_description" ""
1030 alias _userbind_call "${$1}"
1031 alias +userbind "_userbind_call userbind${1}_press"
1032 alias -userbind "_userbind_call userbind${1}_release"
1033
1034 seta menu_skin "wickedblack"
1035 set menu_slowmo 1
1036
1037 // loadfont console     gfx/vera-mono
1038 // loadfont sbar        gfx/vera-mono
1039 loadfont notify      gfx/vera-sans
1040 loadfont chat        gfx/vera-sans
1041 // loadfont centerprint gfx/vera-mono
1042 // loadfont infobar     gfx/vera-mono
1043 loadfont user0       gfx/vera-sans
1044 r_textbrightness 0.2
1045 r_textcontrast 0.8
1046 r_textshadow 1
1047
1048 // good settings for these fonts
1049 con_chat 5
1050 con_chatpos -7
1051 con_chatsize 10
1052 con_chatwidth 0.6
1053 con_notifysize 10
1054 sbar_alpha_bg 0.4
1055 sbar_flagstatus_pos 115
1056
1057 // for menu server list (eventually make them have engine support?)
1058 seta menu_slist_showfull 1
1059 seta menu_slist_showempty 1
1060
1061 // Q3A
1062 set sv_q3acompat_machineshotgunswap 0 // settemp this in mapinfo for instant Q3A map conversion
1063
1064 seta menu_maxplayers 8 // maxplayers value when the menu starts a game
1065
1066 // useful vote aliases
1067 set timelimit_increment 5
1068 set timelimit_decrement 5
1069 set timelimit_min 5
1070 set timelimit_max 60
1071 alias extendmatchtime "sv_cmd rpn /timelimit timelimit timelimit_max timelimit timelimit_increment add bound def"
1072 alias reducematchtime "sv_cmd rpn /timelimit timelimit timelimit_decrement sub timelimit_min timelimit bound def"
1073 alias endmatch "timelimit -1"
1074
1075 // useful keybind to maximize the chat area temporarily
1076 set _backup_con_chatvars_set 0
1077 alias _restore_con_chatvars_0 ""
1078 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"
1079 alias _restore_con_chatvars "_restore_con_chatvars_$_backup_con_chatvars_set"
1080 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"
1081 alias _backup_con_chatvars_1 ""
1082 alias _backup_con_chatvars "_backup_con_chatvars_$_backup_con_chatvars_set"
1083 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"
1084 alias -con_chat_maximize "_restore_con_chatvars"
1085
1086 // tab completion
1087 set con_completion_playdemo *.dem
1088 set con_completion_timedemo *.dem
1089 set con_completion_ply      *.dem
1090 set con_completion_tdem     *.dem
1091 set con_completion_exec     *.cfg
1092 set con_completion_chmap    map
1093 set con_completion_gotomap  map
1094 set con_completion_vmap     map
1095 set con_completion_vdomap   map
1096
1097 // these non-saved engine cvars shall be savedG
1098 seta cl_port $cl_port
1099 seta r_showsurfaces $r_showsurfaces
1100 seta r_ambient $r_ambient
1101 seta skill $skill
1102 seta gl_finish $gl_finish
1103 seta v_kicktime $v_kicktime
1104
1105 // ticrate
1106 // engine default is too CPU intensive on 16p servers, so let's go back
1107 sys_ticrate 0.05
1108
1109 // delay for "kill" to prevent abuse
1110 set g_balance_kill_delay 5
1111
1112 // 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)
1113 sv_gameplayfix_droptofloorstartsolid 0
1114
1115 gl_texturecompression_color 1
1116 gl_texturecompression_gloss 1
1117 gl_texturecompression_glow 1
1118 gl_texturecompression_lightcubemaps 1
1119 gl_texturecompression_q3bsplightmaps 0
1120 gl_texturecompression_sky 1
1121
1122 set menu_mouse_absolute 0 // TODO make this seta if the engine understands this right
1123 seta menu_mouse_speed 1
1124
1125 // force fog for people who turn it off in game (set this to like 5 if you suspect people are "cheating" that way)
1126 set sv_foginterval 0
1127
1128 // Audio track names (for old-style "cd loop NUMBER" usage)
1129 cd remap digital-pursuit breakdown-easy brainsukker chaos-fog infight neuronal-diving subcities thru-the-mirror calling-bogus beast-of-insanity
1130 set sv_intermission_cdtrack brainsukker
1131 set menu_cdtrack digital-pursuit
1132
1133 // maxidle (in seconds): kick players idle for more than that amount of time
1134 set sv_maxidle 0
1135 // when sv_maxidle is not 0, assume spectators are idle too
1136 set sv_maxidle_spectatorsareidle 0
1137
1138 // CTF capture limit placeholder cvar
1139 set capturelimit 0
1140
1141 // sbar: font size
1142 seta sbar_fontsize 11
1143 seta sbar_width 480
1144 alias sbar_font "loadfont user1 $*; loadfont user2 ${*}-big; sbar_columns_set"
1145 seta sbar_columns default
1146 sbar_font gfx/vera-sans
1147 seta sbar_showbinds 1 // 0 disables display of keybinds, 1 enables it, 2 displays longer strings
1148 seta sbar_showbinds_limit 2 // display so many found keybinds, 0 for unlimited
1149
1150 // these entities are not referenced by anything directly, they just represent
1151 // teams and are found by find() when needed
1152 prvm_leaktest_ignore_classnames "ctf_team dom_team tdm_team"
1153
1154 sv_allowdownloads_inarchive 1 // for csprogs.dat
1155
1156 set g_jump_grunt 0 // Do you make a grunting noise every time you jump? Is it the same grunting noise every time?
1157
1158 alias allready "sv_cmd allready"
1159
1160 seta cl_weaponpriority "10 9 8 11 7 6 5 4 3 2 1"
1161 seta cl_weaponpriority_useforcycling 0
1162 // impulse 200, 210, 220:
1163 seta cl_weaponpriority0 "9 8 4"      // explosives    (RL Hagar Mortar)
1164 // impulse 201, 211, 221:
1165 seta cl_weaponpriority1 "7 6 5 1"    // energy        (Nex Crylink Electro Laser)
1166 seta cl_weaponpriority2 "7 3"        // hitscan exact (Nex MG)
1167 seta cl_weaponpriority3 "7 3 2"      // hitscan all   (Nex MG Shotgun)
1168 seta cl_weaponpriority4 "8 6 5 2"    // spam          (Hagar Crylink Electro Shotgun)
1169 seta cl_weaponpriority5 ""
1170 seta cl_weaponpriority6 ""
1171 seta cl_weaponpriority7 ""
1172 seta cl_weaponpriority8 ""
1173 // impulse 209, 219, 229:
1174 seta cl_weaponpriority9 ""
1175
1176 // NOTE: this only replaces weapons on the map
1177 // use g_start_weapon_* to also replace the on-startup weapons!
1178 // example: g_weaponreplace_7 "7 11", then Nexes become MinstaNexes 50% of the times
1179 // set the cvars to 0 to totally disable a weapon
1180 set g_weaponreplace_1 ""
1181 set g_weaponreplace_2 ""
1182 set g_weaponreplace_3 ""
1183 set g_weaponreplace_4 ""
1184 set g_weaponreplace_5 ""
1185 set g_weaponreplace_6 ""
1186 set g_weaponreplace_7 ""
1187 set g_weaponreplace_8 ""
1188 set g_weaponreplace_9 ""
1189 set g_weaponreplace_10 ""
1190 set g_weaponreplace_11 ""
1191
1192 seta sv_status_privacy 1 // hide IP addresses from "status" replies shown to clients
1193
1194 // workaround for broken subdivisions in DP
1195 // remove this once DP can subdivide nearby/touching patches the same way
1196 r_subdivisions_mintess 3
1197 r_subdivisions_maxtess 3
1198 r_subdivisions_tolerance 1000000