]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - gamemodes-server.cfg
Merge branch 'master' into martin-t/bullet-trails
[xonotic/xonotic-data.pk3dir.git] / gamemodes-server.cfg
1 // ===================================
2 //  Master config for core game modes
3 // ===================================
4
5 // global gametype setting (0 = deathmatch)
6 set gamecfg 0
7
8
9 // =================
10 //  gamestart hooks
11 // =================
12
13 alias _sv_hook_gamestart "set _sv_hook_gametype $1; _sv_hook_gamestart_stage2"
14 alias _sv_hook_gamestart_stage2 "sv_hook_gamestart_all; sv_hook_gamestart_${_sv_hook_gametype}"
15 alias sv_hook_gamestart_all
16 alias sv_hook_gamestart_dm
17 alias sv_hook_gamestart_tdm
18 alias sv_hook_gamestart_dom
19 alias sv_hook_gamestart_ctf
20 alias sv_hook_gamestart_lms
21 alias sv_hook_gamestart_ca
22 alias sv_hook_gamestart_kh
23 alias sv_hook_gamestart_ons
24 alias sv_hook_gamestart_as
25 alias sv_hook_gamestart_rc
26 alias sv_hook_gamestart_nb
27 alias sv_hook_gamestart_cts
28 alias sv_hook_gamestart_ka
29 alias sv_hook_gamestart_ft
30 alias sv_hook_gamestart_inv
31 alias sv_hook_gamerestart
32 alias sv_hook_gameend
33
34
35 // =====================
36 //  gametype vote hooks
37 // =====================
38 // These are called when the mode is switched via gametype vote screen,
39 // earlier than gamestart hooks (useful for enabling per-gamemode mutators)
40 // The _all hook is called before the specific one
41 alias sv_vote_gametype_hook_all
42 alias sv_vote_gametype_hook_as
43 alias sv_vote_gametype_hook_ca
44 alias sv_vote_gametype_hook_ctf
45 alias sv_vote_gametype_hook_cts
46 alias sv_vote_gametype_hook_dm
47 alias sv_vote_gametype_hook_dom
48 alias sv_vote_gametype_hook_ft
49 alias sv_vote_gametype_hook_inv
50 alias sv_vote_gametype_hook_ka
51 alias sv_vote_gametype_hook_kh
52 alias sv_vote_gametype_hook_lms
53 alias sv_vote_gametype_hook_nb
54 alias sv_vote_gametype_hook_ons
55 alias sv_vote_gametype_hook_rc
56 alias sv_vote_gametype_hook_tdm
57
58 // Example preset to allow duel to be used for the gametype voting screen
59 // sv_vote_gametype_*_type Must be set to the name of the gametype the option is based on
60 // sv_vote_gametype_*_name Contains a human-readable name of the gametype
61 // sv_vote_gametype_*_description Contains a longer description
62 //set sv_vote_gametype_duel_type dm
63 //set sv_vote_gametype_duel_name Duel
64 //set sv_vote_gametype_duel_description "One vs One match"
65 //alias sv_vote_gametype_hook_all "set g_maxplayers 0"
66 //alias sv_vote_gametype_hook_duel "set g_maxplayers 2"
67
68
69 // ===========
70 //  leadlimit
71 // ===========
72 // this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
73 set leadlimit 0
74 set leadlimit_and_fraglimit 0 "if set, leadlimit is ANDed with fraglimit (otherwise ORed)"
75 seta timelimit_override -1      "Time limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
76 seta fraglimit_override -1      "Frag limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
77 seta leadlimit_override -1      "Lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
78 seta capturelimit_override -1   "Capture limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
79 seta captureleadlimit_override -1       "Capture llead imit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
80 seta g_domination_point_limit -1        "Domination point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
81 seta g_domination_point_leadlimit -1    "Domination point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
82 seta g_keyhunt_point_limit -1   "Keyhunt point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
83 seta g_keyhunt_point_leadlimit -1       "Keyhunt point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
84 seta g_race_laps_limit -1       "Race laps limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
85 seta g_nexball_goallimit -1 "Nexball goal limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
86 seta g_nexball_goalleadlimit -1 "Nexball goal lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
87 seta g_invasion_point_limit -1 "Invasion point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
88
89
90 // =================================
91 //  respawn delay/waves/weapon_stay
92 // =================================
93 // when variables are set to anything other than 0, they take over the global setting. Negative values force an output value of zero.
94 set g_ctf_respawn_delay_small 1
95 set g_ctf_respawn_delay_small_count 1
96 set g_ctf_respawn_delay_large 5
97 set g_ctf_respawn_delay_large_count 5
98 set g_ctf_respawn_delay_max 0
99 set g_ctf_respawn_waves 0
100 set g_ctf_weapon_stay 0
101 set g_dm_respawn_delay_small 0
102 set g_dm_respawn_delay_small_count 0
103 set g_dm_respawn_delay_large 0
104 set g_dm_respawn_delay_large_count 0
105 set g_dm_respawn_delay_max 0
106 set g_dm_respawn_waves 0
107 set g_dm_weapon_stay 0
108 set g_dom_respawn_delay_small 0
109 set g_dom_respawn_delay_small_count 0
110 set g_dom_respawn_delay_large 0
111 set g_dom_respawn_delay_large_count 0
112 set g_dom_respawn_delay_max 0
113 set g_dom_respawn_waves 0
114 set g_dom_weapon_stay 0
115 set g_lms_respawn_delay_small 0
116 set g_lms_respawn_delay_small_count 0
117 set g_lms_respawn_delay_large 0
118 set g_lms_respawn_delay_large_count 0
119 set g_lms_respawn_delay_max 0
120 set g_lms_respawn_waves 0
121 set g_lms_weapon_stay 0
122 set g_tdm_respawn_delay_small 0
123 set g_tdm_respawn_delay_small_count 0
124 set g_tdm_respawn_delay_large 0
125 set g_tdm_respawn_delay_large_count 0
126 set g_tdm_respawn_delay_max 0
127 set g_tdm_respawn_waves 0
128 set g_tdm_weapon_stay 0
129 set g_ka_respawn_delay_small 0
130 set g_ka_respawn_delay_small_count 0
131 set g_ka_respawn_delay_large 0
132 set g_ka_respawn_delay_large_count 0
133 set g_ka_respawn_delay_max 0
134 set g_ka_respawn_waves 0
135 set g_ka_weapon_stay 0
136 set g_kh_respawn_delay_small 0
137 set g_kh_respawn_delay_small_count 0
138 set g_kh_respawn_delay_large 0
139 set g_kh_respawn_delay_large_count 0
140 set g_kh_respawn_delay_max 0
141 set g_kh_respawn_waves 0
142 set g_kh_weapon_stay 0
143 set g_ca_respawn_delay_small 0
144 set g_ca_respawn_delay_small_count 0
145 set g_ca_respawn_delay_large 0
146 set g_ca_respawn_delay_large_count 0
147 set g_ca_respawn_delay_max 0
148 set g_ca_respawn_waves 0
149 set g_ca_weapon_stay 0
150 set g_nb_respawn_delay_small 0
151 set g_nb_respawn_delay_small_count 0
152 set g_nb_respawn_delay_large 0
153 set g_nb_respawn_delay_large_count 0
154 set g_nb_respawn_delay_max 0
155 set g_nb_respawn_waves 0
156 set g_nb_weapon_stay 0
157 set g_as_respawn_delay_small 0
158 set g_as_respawn_delay_small_count 0
159 set g_as_respawn_delay_large 0
160 set g_as_respawn_delay_large_count 0
161 set g_as_respawn_delay_max 0
162 set g_as_respawn_waves 0
163 set g_as_weapon_stay 0
164 set g_ons_respawn_delay_small 0
165 set g_ons_respawn_delay_small_count 0
166 set g_ons_respawn_delay_large 0
167 set g_ons_respawn_delay_large_count 0
168 set g_ons_respawn_delay_max 0
169 set g_ons_respawn_waves 0
170 set g_ons_weapon_stay 0
171 set g_rc_respawn_delay_small 0
172 set g_rc_respawn_delay_small_count 0
173 set g_rc_respawn_delay_large 0
174 set g_rc_respawn_delay_large_count 0
175 set g_rc_respawn_delay_max 0
176 set g_rc_respawn_waves 0
177 set g_rc_weapon_stay 0
178 set g_cts_respawn_delay_small -1  // CTS shall have instant respawn.
179 set g_cts_respawn_delay_small_count 0
180 set g_cts_respawn_delay_large -1  // CTS shall have instant respawn.
181 set g_cts_respawn_delay_large_count 0
182 set g_cts_respawn_delay_max 0
183 set g_cts_respawn_waves 0
184 set g_cts_weapon_stay 2
185 set g_ft_respawn_delay_small 0
186 set g_ft_respawn_delay_small_count 0
187 set g_ft_respawn_delay_large 0
188 set g_ft_respawn_delay_large_count 0
189 set g_ft_respawn_delay_max 0
190 set g_ft_respawn_waves 0
191 set g_ft_weapon_stay 0
192 set g_inv_respawn_delay_small 0
193 set g_inv_respawn_delay_small_count 0
194 set g_inv_respawn_delay_large 0
195 set g_inv_respawn_delay_large_count 0
196 set g_inv_respawn_delay_max 0
197 set g_inv_respawn_waves 0
198 set g_inv_weapon_stay 0
199
200
201 // =========
202 //  assault
203 // =========
204 set g_assault 0 "Assault: attack the enemy base as fast as you can, then defend the base against the enemy for that time to win"
205
206
207 // ============
208 //  clan arena
209 // ============
210 set g_ca 0 "Clan Arena: Played in rounds, once you're dead you're out! The team with survivors wins the round"
211 seta g_ca_point_limit -1 "Clan Arena point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
212 seta g_ca_point_leadlimit -1 "Clan Arena point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
213 set g_ca_spectate_enemies 0 "Allow spectating enemy player by dead player during clan arena games"
214 set g_ca_warmup 10 "how long the players will have time to run around the map before the round starts"
215 set g_ca_damage2score_multiplier 0.01
216 set g_ca_round_timelimit 180 "round time limit in seconds"
217 seta g_ca_teams_override 0
218 set g_ca_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any"
219 set g_ca_teams 0
220
221
222 // ==================
223 //  capture the flag
224 // ==================
225 set g_ctf 0 "Capture The Flag: take the enemy flag and bring it to yours at your base to score"
226 set g_ctf_oneflag 0 "Allow oneflag CTF mode on maps that support it"
227 set g_ctf_oneflag_reverse 0 "apply reverse mode to oneflag CTF (take flag to enemy bases to cap), overrides g_ctf_reverse only in oneflag, g_ctf_reverse still affects oneflag"
228 set g_ctf_leaderboard 0 "show top capture times in the scoreboard"
229 set g_ctf_flag_return 1 "auto return the flag to base when touched by a teammate"
230 set g_ctf_flag_return_carrying 0 "(manual return mode) auto return the flag to base if touched by a flag carrier"
231 set g_ctf_flag_return_carried_radius 100 "allow flags to be returned by carrier if base is within this radius"
232 set g_ctf_flag_return_time 15 "automatically return the flag to base after this amount of time"
233 set g_ctf_flag_return_dropped 100 "automatically return the flag to base if dropped within this distance from base (in qu)"
234 set g_ctf_flag_return_damage 0 "allow the flag to be damaged, reducing time needed to automatically return to base"
235 set g_ctf_flag_return_damage_delay 0 "how much time the flag takes to automatically return to base if it falls into lava/slime/trigger hurt"
236 set g_ctf_flag_return_when_unreachable 1 "automatically return the flag if it falls into lava/slime/trigger hurt"
237 set g_ctf_flagcarrier_auto_helpme_damage 100 "automatically place a helpme notification on flag carrier waypointsprite if they get hit and their health dips below this value"
238 set g_ctf_flagcarrier_auto_helpme_time 2 "antispam time for the helpme notification"
239 set g_ctf_flagcarrier_selfdamagefactor 1
240 set g_ctf_flagcarrier_selfforcefactor 1
241 set g_ctf_flagcarrier_damagefactor 1
242 set g_ctf_flagcarrier_forcefactor 1
243 set g_ctf_stalemate 1 "show the enemy flagcarrier location after both teams have held the flags a certain amount of time"
244 set g_ctf_stalemate_endcondition 1 "condition for stalemate mode to be finished: 1 = If ONE flag is no longer stale, 2 = If BOTH flags are no longer stale"
245 set g_ctf_stalemate_time 60 "time for each flag until stalemate mode is activated"
246 set g_ctf_flagcarrier_waypointforenemy_spotting 1 "show the enemy flagcarrier location if a team mate presses +use to spot them"
247 set g_ctf_dropped_capture_delay 1 "dropped capture delay"
248 set g_ctf_dropped_capture_radius 100 "allow dropped flags to be automatically captured by base flags if the dropped flag is within this radius of it"
249 set g_ctf_flag_damageforcescale 2
250 set g_ctf_portalteleport 0 "allow flag carriers to go through portals made in portal gun without dropping the flag"
251 set g_ctf_reverse 0 "if enabled, you score by bringing your own flag to an enemy's flag in their base"
252 set g_ctf_flag_collect_delay 1
253 set g_ctf_flag_health 0
254 set g_ctf_flag_dropped_waypoint 2 "show dropped flag waypointsprite when a flag is lost. 1 = team only, 2 = for all players"
255 set g_ctf_flag_dropped_floatinwater 200 "move upwards while in water at this velocity"
256 set g_ctf_throw 1 "throwing allows circumventing carrierkill score, so enable this with care!"
257 set g_ctf_throw_angle_max 90 "maximum upwards angle you can throw the flag"
258 set g_ctf_throw_angle_min -90 "minimum downwards angle you can throw the flag"
259 set g_ctf_throw_punish_count 3
260 set g_ctf_throw_punish_delay 30
261 set g_ctf_throw_punish_time 10
262 set g_ctf_throw_strengthmultiplier 2 "multiplier for velocity when you have the strength... essentially, throw the flag REALLY hard when you have the strength :D"
263 set g_ctf_throw_velocity_forward 500 "how fast or far a player can throw the flag"
264 set g_ctf_throw_velocity_up 200 "upwards velocity added upon initial throw"
265 set g_ctf_drop_velocity_up 200 "upwards velocity when a flag is dropped (i.e. when a flag carrier dies)"
266 set g_ctf_drop_velocity_side 100 "randomized sideways velocity when a flag is dropped"
267 set g_ctf_pass 1 "allow passing of flags to nearby team mates"
268 set g_ctf_pass_arc 20 "upwards arcing of the flag path to look more like a throw"
269 set g_ctf_pass_arc_max 200 "maximum height for upwards arcing of the flag path to look more like a throw"
270 set g_ctf_pass_directional_max 200 "maximum radius from crosshair for line of sight selection when passing"
271 set g_ctf_pass_directional_min 50 "minimum radius from crosshair for line of sight selection when passing"
272 set g_ctf_pass_radius 500 "maximum radius that you can pass to a team mate in"
273 set g_ctf_pass_wait 2 "delay in seconds between how often players can pass the flag (antispam, essentially)"
274 set g_ctf_pass_request 1 "allow players to request the flag carrier to pass the flag to them"
275 set g_ctf_pass_turnrate 50 "how well the flag follows the best direction to its target while passing"
276 set g_ctf_pass_timelimit 2 "how long a flag can stay trying to pass before it gives up and just becomes dropped"
277 set g_ctf_pass_velocity 750 "how fast or far a player can pass the flag"
278 set g_ctf_allow_vehicle_touch 0 "allow flags to be picked up/captured/returned without even leaving the vehicle"
279 set g_ctf_allow_vehicle_carry 1 "allow players to hold flags inside a vehicle"
280 set g_ctf_allow_monster_touch 0 "allow flags to be returned by monsters"
281 set g_ctf_score_ignore_fields 0 "force regular score settings to override per entity specified scores"
282
283 set g_ctf_shield_max_ratio 0    "shield at most this percentage of a team from the enemy flag (try: 0.4 for 40%)"
284 set g_ctf_shield_min_negscore 20        "shield the player from the flag if he's got this negative amount of points or less"
285 set g_ctf_shield_force 100      "push force of the shield"
286
287 set g_ctf_flag_red_model "models/ctf/flags.md3"
288 set g_ctf_flag_red_skin 0
289 set g_ctf_flag_blue_model "models/ctf/flags.md3"
290 set g_ctf_flag_blue_skin 1
291 set g_ctf_flag_yellow_model "models/ctf/flags.md3"
292 set g_ctf_flag_yellow_skin 2
293 set g_ctf_flag_pink_model "models/ctf/flags.md3"
294 set g_ctf_flag_pink_skin 3
295 set g_ctf_flag_neutral_model "models/ctf/flags.md3"
296 set g_ctf_flag_neutral_skin 4
297 set g_ctf_flag_glowtrails 1
298 set g_ctf_fullbrightflags 0
299 set g_ctf_dynamiclights 0
300
301 seta g_ctf_ignore_frags 0       "1: regular frags give no points"
302 exec ctfscoring-samual.cfg
303
304
305 // ====================
306 //  complete the stage
307 // ====================
308 set g_cts 0 "CTS: complete the stage"
309 set g_cts_selfdamage 1 "0 = disable all selfdamage and falldamage in cts"
310 set g_cts_finish_kill_delay 10 "prevent cheating by running back to the start line, and starting out with more speed than otherwise possible"
311 set g_cts_send_rankings_cnt 15 "send this number of map records to clients"
312
313
314 // ==========================
315 //  deathmatch (ffa or team)
316 // ==========================
317 set g_dm 1 "Deathmatch: killing any other player is one frag, player with most frags wins"
318 set g_tdm 0 "Team Deathmatch: the team who kills their opponents most often wins"
319 set g_tdm_on_dm_maps 0 "when this is set, all DM maps automatically support TDM"
320 set g_tdm_teams 2 "how many teams are in team deathmatch (set by mapinfo)"
321 set g_tdm_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any"
322 seta g_tdm_teams_override 0     "how many teams are in team deathmatch"
323 set g_tdm_point_limit -1 "TDM point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
324 set g_tdm_point_leadlimit -1 "TDM point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
325
326
327 // ============
328 //  domination
329 // ============
330 set g_domination                        0 "Domination: capture and hold control points to gain points"
331 set g_domination_default_teams          2 "default number of teams for maps that aren't domination-specific"
332 seta g_domination_teams_override                0 "use a specific number of teams in domination games (minimum 2), disables dom_team entities"
333 set g_domination_disable_frags          0 "players can't get frags normally, only get points from kills"
334 set g_domination_point_amt              0 "override: how many points to get per ping"
335 set g_domination_point_fullbright       0 "domination point fullbright"
336 set g_domination_point_rate             0 "override: how often to give those points"
337 //set g_domination_point_capturetime    0.1 "how long it takes to capture a point (given no interference)"
338 set g_domination_point_glow             0 "domination point glow (warning, slow)"
339 set g_domination_roundbased 0 "enable round-based domination (capture all control points to win the round)"
340 set g_domination_roundbased_point_limit 5 "capture limit in round-based domination mode"
341 set g_domination_round_timelimit 120
342 set g_domination_warmup 5
343 //set g_domination_balance_team_points  1 "# of points received is based on team sizes"
344
345
346 // ===========
347 //  freezetag
348 // ===========
349 set g_freezetag 0 "Freeze Tag: Freeze the opposing team(s) to win, unfreeze teammates by standing next to them"
350 set g_freezetag_warmup 5 "Time players get to run around before the round starts"
351 seta g_freezetag_point_limit -1 "Freeze Tag point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
352 seta g_freezetag_point_leadlimit -1     "Freeze Tag point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
353 set g_freezetag_revive_speed 0.4 "Speed for reviving a frozen teammate"
354 set g_freezetag_revive_clearspeed 1.6 "Speed at which reviving progress gets lost when out of range"
355 set g_freezetag_revive_extra_size 100 "Distance in qu that you can stand from a frozen teammate to keep reviving him"
356 set g_freezetag_revive_nade 1 "Enable reviving from own nade explosion"
357 set g_freezetag_revive_nade_health 40 "Amount of health player has if they revived from their own nade explosion"
358 set g_freezetag_round_timelimit 180 "round time limit in seconds"
359 set g_freezetag_frozen_maxtime 60 "frozen players will be automatically unfrozen after this time in seconds"
360 seta g_freezetag_teams_override 0
361 set g_freezetag_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any"
362 set g_freezetag_teams 0
363
364
365 // ==========
366 //  keepaway
367 // ==========
368 set g_keepaway 0 "game mode which focuses around a ball"
369 set g_keepaway_score_bckill 1 "enable scoring points (y/n) for ball carrier kills (value is how many points to award)"
370 set g_keepaway_score_killac 1 "amount of points to give when you kill someone while you have the ball"
371 set g_keepaway_score_timeinterval 1 "amount of time it takes between intervals for timepoints to be added to the score"
372 set g_keepaway_score_timepoints 0 "points to add to score per timeinterval, 0 for no points"
373 set g_keepaway_ballcarrier_effects 8 "Add together the numbers you want: EF_ADDITIVE (32) / EF_NODEPTHTEST (8192) / EF_DIMLIGHT (8)"
374 set g_keepaway_ballcarrier_highspeed 1 "speed multiplier done to the person holding the ball (recommended when used with some mutators)"
375 set g_keepaway_ballcarrier_damage       1       "damage multiplier while holding the ball"
376 set g_keepaway_ballcarrier_force        1       "force multiplier while holding the ball"
377 set g_keepaway_ballcarrier_selfdamage   1       "self damage multiplier while holding the ball"
378 set g_keepaway_ballcarrier_selfforce    1       "self force multiplier while holding the ball"
379 set g_keepaway_noncarrier_warn  1       "warn players when they kill without holding the ball"
380 set g_keepaway_noncarrier_damage        1       "damage done to other players if both you and they don't have the ball"
381 set g_keepaway_noncarrier_force 1       "force done to other players if both you and they don't have the ball"
382 set g_keepaway_noncarrier_selfdamage    1       "self damage if you don't have the ball"
383 set g_keepaway_noncarrier_selfforce     1       "self force if you don't have the ball"
384 set g_keepawayball_effects 0 "Add together the numbers you want: EF_ADDITIVE (32) / EF_NODEPTHTEST (8192) / EF_DIMLIGHT (8)"
385 set g_keepawayball_trail_color  254     "particle trail color from player/ball"
386 set g_keepawayball_damageforcescale     3 "Scale of force which is applied to the ball by weapons/explosions/etc"
387 set g_keepawayball_respawntime  10      "if no one picks up the ball, how long to wait until the ball respawns"
388
389
390 // ==========
391 //  key hunt
392 // ==========
393 set g_keyhunt 0 "Key Hunt: collect all keys from the enemies and bring them together to score"
394 set g_balance_keyhunt_return_when_unreachable 1 "automatically destroy a key if it falls into lava/slime/trigger hurt"
395 set g_balance_keyhunt_delay_damage_return 5 "time a key takes to automatically destroy itself if it falls into lava/slime/trigger hurt"
396 set g_balance_keyhunt_delay_return 60 "time a key takes to destroy itself if dropped"
397 set g_balance_keyhunt_delay_round 5
398 set g_balance_keyhunt_delay_tracking 10
399 set g_balance_keyhunt_delay_fadeout 2
400 set g_balance_keyhunt_delay_collect 1.5
401 set g_balance_keyhunt_maxdist 150
402 set g_balance_keyhunt_score_collect 3
403 set g_balance_keyhunt_score_carrierfrag 2
404 set g_balance_keyhunt_score_capture 100
405 set g_balance_keyhunt_score_push 60
406 set g_balance_keyhunt_score_destroyed 50
407 set g_balance_keyhunt_score_destroyed_ownfactor 1
408 set g_balance_keyhunt_dropvelocity 300
409 set g_balance_keyhunt_throwvelocity 400
410 set g_balance_keyhunt_protecttime 0.8
411 set g_balance_keyhunt_damageforcescale 1
412 seta g_keyhunt_teams_override 0
413 set g_keyhunt_teams 0
414 set g_keyhunt_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any"
415
416
417 // ===================
418 //  last man standing
419 // ===================
420 set g_lms 0 "Last Man Standing: everyone starts with a certain amount of lives, and the survivor wins"
421 set g_lms_lives_override -1
422 set g_lms_extra_lives 0
423 set g_lms_regenerate 0
424 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"
425 set g_lms_join_anytime 1        "if true, new players can join, but get same amount of lives as the worst player"
426
427
428 // =========
429 //  nexball
430 // =========
431 set g_nexball 0 "Nexball: Basketball and Soccer go Xonotic"
432 set g_nexball_basketball_effects_default     8    "default: dim light. The original version used 1024 (fire) but it gives bad performance"
433 set g_balance_nexball_primary_speed       1000    "launching speed"
434 set g_balance_nexball_primary_refire         0.7  "launching refire"
435 set g_balance_nexball_primary_animtime       0.3  "launching animtime"
436 set g_balance_nexball_secondary_animtime     0.3  "launching animtime"
437 set g_balance_nexball_secondary_speed     3000    "stealing projectile speed"
438 set g_balance_nexball_secondary_lifetime     0.15 "stealing projectile lifetime"
439 set g_balance_nexball_secondary_force      500    "stealing projectile force"
440 set g_balance_nexball_secondary_refire       0.6  "stealing projectile refire"
441 set g_balance_nexball_secondary_animtime     0.3  "stealing projectile animtime"
442 set g_nexball_football_physics  2  "0: Revenant's original movement, 1: 0 but half independant of aiming height, 2: 1 fully independant, -1: first recode try"
443 set g_nexball_basketball_jumppad 1    "whether basketballs should be pushable by jumppads"
444 set g_nexball_basketball_bouncefactor 0.6    "velocity loss when the ball bounces"
445 set g_nexball_basketball_bouncestop   0.075  "speed at which the ball stops when it hits the ground (multiplied by sv_gravity)"
446 set g_nexball_football_jumppad 1    "whether footballs should be pushable by jumppads"
447 set g_nexball_football_bouncefactor   0.6    "velocity loss when the ball bounces"
448 set g_nexball_football_bouncestop     0.075  "speed at which the ball stops when it hits the ground (multiplied by sv_gravity)"
449 set g_nexball_football_boost_forward      100   "forward velocity boost when the ball is touched"
450 set g_nexball_football_boost_up           200   "vertical velocity boost when the ball is touched"
451 set g_nexball_basketball_delay_hold           20    "time before a player who caught the ball loses it (anti-ballcamp)"
452 set g_nexball_basketball_delay_hold_forteam   60    "time before a ball reset when a team holds the ball for too long"
453 set g_nexball_basketball_teamsteal             1    "1 to allow players to steal from teammates, 0 to disallow"
454 set g_nexball_basketball_carrier_highspeed         0.8  "speed multiplier for the ballcarrier"
455 set g_nexball_meter_period                  1    "time to make a full cycle on the power meter"
456 set g_nexball_basketball_meter              1    "use the power meter for basketball"
457 set g_nexball_basketball_meter_minpower   0.5    "minimal multiplier to the launching speed when using the power meter"
458 set g_nexball_basketball_meter_maxpower   1.2    "maximal multiplier to the launching speed when using the power meter"
459 set g_nexball_delay_goal     3    "delay between a goal and a ball reset"
460 set g_nexball_delay_idle     10   "maximal idle time before a reset"
461 set g_nexball_delay_start    3    "time the ball stands on its spawn before being released"
462 set g_nexball_delay_collect  0.5  "time before the same player can catch the ball he launched"
463 set g_nexball_sound_bounce   1    "bouncing sound (0: off)"
464 set g_nexball_basketball_trail  1  "1 to leave a trail"
465 set g_nexball_football_trail    0  "1 to leave a trail"
466 set g_nexball_trail_color     254  "1-256 for different colors (Quake palette, 254 is white)"
467 set g_nexball_playerclip_collisions 1 "make the ball bounce off clips"
468 set g_nexball_radar_showallplayers 1  "1: show every player and the ball on the radar  0: only show teammates and the ball on the radar"
469 seta g_nexball_safepass_maxdist 5000 "Max distance to allow save fassping (0 to turn off safe passing)"
470 seta g_nexball_safepass_turnrate 0.1 "How fast the safe-pass ball can habge direction"
471 seta g_nexball_safepass_holdtime 0.75 "How long to remeber last teammate you pointed at"
472 seta g_nexball_viewmodel_scale 0.25 "How large the ball for the carrier"
473 seta g_nexball_viewmodel_offset "8 8 0" "Where the ball is located on carrier forward right up"
474 seta g_nexball_tackling 1 "Allow ball theft?"
475
476
477 // ===========
478 //  onslaught
479 // ===========
480 set g_onslaught 0 "Onslaught: take control points towards the enemy generator and then destroy it"
481 set g_onslaught_point_limit 1 "Onslaught point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
482 set g_onslaught_warmup 5
483 set g_onslaught_round_timelimit 500
484 set g_onslaught_teleport_radius 200 "Allows teleporting from a control point to another"
485 set g_onslaught_teleport_wait 5 "Time before player can teleport again"
486 set g_onslaught_spawn_choose 1 "Allow players to choose the control point to be spawned at"
487 set g_onslaught_click_radius 500 "When choosing from the map, this level of precision is required"
488
489 set g_onslaught_gen_health 2500
490 set g_onslaught_allow_vehicle_touch 0
491 set g_onslaught_cp_health 1000
492 set g_onslaught_cp_buildhealth 100
493 set g_onslaught_cp_buildtime 5
494 set g_onslaught_cp_regen 20
495 set g_onslaught_cp_proxydecap 0 "de-capture controlpoints by standing close to them"
496 set g_onslaught_cp_proxydecap_distance 512
497 set g_onslaught_cp_proxydecap_dps 100
498 set g_onslaught_shield_force 100
499 set g_onslaught_spawn_at_controlpoints 0
500 set g_onslaught_spawn_at_controlpoints_chance 0.5
501 set g_onslaught_spawn_at_controlpoints_random 0
502 set g_onslaught_spawn_at_generator 0
503 set g_onslaught_spawn_at_generator_chance 0
504 set g_onslaught_spawn_at_generator_random 0
505
506
507 // ======
508 //  race
509 // ======
510 set g_race 0 "Race: be faster than your opponents"
511 set g_race_qualifying_timelimit 0
512 set g_race_qualifying_timelimit_override -1 "qualifying session time limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
513 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)"
514
515 // ==========
516 //  invasion
517 // ==========
518 set g_invasion 0 "Invasion: survive against waves of monsters"
519 set g_invasion_round_timelimit 120 "maximum time to kill all monsters"
520 set g_invasion_warmup 10 "time between waves to prepare for battle"
521 set g_invasion_monster_count 10 "number of monsters on first wave (increments)"
522 set g_invasion_zombies_only 0 "only spawn zombies"
523 set g_invasion_spawn_delay 0.25
524 set g_invasion_spawnpoint_spawn_delay 0.5
525 set g_invasion_teams 0 "number of teams in invasion (note: use mapinfo to set this)"
526 set g_invasion_team_spawns 1 "use team spawns in teamplay invasion mode"
527 set g_invasion_type 0 "type of invasion mode - 0: round-based, 1: hunting, 2: complete the stage (note: use mapinfo to set this)"