1 // ===================================
2 // Master config for core game modes
3 // ===================================
5 // global gametype setting (1 = deathmatch)
9 alias asay_ctf_flagcarrier "say_team flag carrier at %y"
10 alias asay_ctf_haveflag "say_team (%l) have the flag"
11 alias asay_willgo "say_team will go to %y"
12 alias asay_support "say_team (%l) need help, %h%%"
13 alias asay_killed "say_team got killed at %d"
14 alias asay_noammo "say_team (%l) need %W for %w"
15 alias asay_drop "say_team (%l) dropped %w ; impulse 17"
21 alias _cl_hook_gamestart "set _cl_hook_gametype $1; _cl_hook_gamestart_stage2"
22 alias _cl_hook_gamestart_stage2 "cl_hook_gamestart_all; cl_hook_gamestart_${_cl_hook_gametype}"
23 alias cl_hook_gamestart_all
24 alias cl_hook_gamestart_nop //is only called when CSQC unloads before knowing the gametype, very unlikely
25 alias cl_hook_gamestart_dm
26 alias cl_hook_gamestart_tdm
27 alias cl_hook_gamestart_dom
28 alias cl_hook_gamestart_ctf
29 alias cl_hook_gamestart_lms
30 alias cl_hook_gamestart_ca
31 alias cl_hook_gamestart_kh
32 alias cl_hook_gamestart_ons
33 alias cl_hook_gamestart_as
34 alias cl_hook_gamestart_rc
35 alias cl_hook_gamestart_nb
36 alias cl_hook_gamestart_cts
37 alias cl_hook_gamestart_ka
38 alias cl_hook_gamestart_ft
40 alias cl_hook_activeweapon
42 alias _sv_hook_gamestart "set _sv_hook_gametype $1; _sv_hook_gamestart_stage2"
43 alias _sv_hook_gamestart_stage2 "sv_hook_gamestart_all; sv_hook_gamestart_${_sv_hook_gametype}"
44 alias sv_hook_gamestart_all
45 alias sv_hook_gamestart_dm
46 alias sv_hook_gamestart_tdm
47 alias sv_hook_gamestart_dom
48 alias sv_hook_gamestart_ctf
49 alias sv_hook_gamestart_lms
50 alias sv_hook_gamestart_ca
51 alias sv_hook_gamestart_kh
52 alias sv_hook_gamestart_ons
53 alias sv_hook_gamestart_as
54 alias sv_hook_gamestart_rc
55 alias sv_hook_gamestart_nb
56 alias sv_hook_gamestart_cts
57 alias sv_hook_gamestart_ka
58 alias sv_hook_gamestart_ft
59 alias sv_hook_gamerestart
66 // this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
68 set leadlimit_and_fraglimit 0 "if set, leadlimit is ANDed with fraglimit (otherwise ORed)"
69 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)"
70 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)"
71 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)"
72 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)"
73 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)"
74 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)"
75 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)"
76 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)"
77 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)"
78 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)"
79 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)"
80 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)"
83 // =================================
84 // respawn delay/waves/weapon_stay
85 // =================================
86 // when variables are set to anything other than 0, they take over the global setting...
87 // to force disable delay or waves, set them to 0.125
88 set g_ctf_respawn_delay 5
89 set g_ctf_respawn_waves 0
90 set g_ctf_weapon_stay 0
91 set g_dm_respawn_delay 0
92 set g_dm_respawn_waves 0
93 set g_dm_weapon_stay 0
94 set g_dom_respawn_delay 0
95 set g_dom_respawn_waves 0
96 set g_dom_weapon_stay 0
97 set g_lms_respawn_delay 0
98 set g_lms_respawn_waves 0
99 set g_lms_weapon_stay 0
100 set g_tdm_respawn_delay 0
101 set g_tdm_respawn_waves 0
102 set g_tdm_weapon_stay 0
103 set g_ka_respawn_delay 0
104 set g_ka_respawn_waves 0
105 set g_ka_weapon_stay 0
106 set g_kh_respawn_delay 0
107 set g_kh_respawn_waves 0
108 set g_kh_weapon_stay 0
109 set g_ca_respawn_delay 0
110 set g_ca_respawn_waves 0
111 set g_ca_weapon_stay 0
112 set g_nb_respawn_delay 0
113 set g_nb_respawn_waves 0
114 set g_nb_weapon_stay 0
115 set g_as_respawn_delay 0
116 set g_as_respawn_waves 0
117 set g_as_weapon_stay 0
118 set g_ons_respawn_delay 0
119 set g_ons_respawn_waves 0
120 set g_ons_weapon_stay 0
121 set g_rc_respawn_waves 0
122 set g_rc_respawn_delay 0
123 set g_rc_weapon_stay 0
124 set g_cts_respawn_waves 0
125 set g_cts_respawn_delay 0
126 set g_cts_weapon_stay 2
127 set g_ft_respawn_waves 0
128 set g_ft_respawn_delay 0
129 set g_ft_weapon_stay 0
135 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"
141 set g_ca 0 "Clan Arena: Played in rounds, once you're dead you're out! The team with survivors wins the round."
142 set g_ca_point_limit 10 "point limit 10 is standard for clan arena"
143 set g_ca_point_leadlimit 0
144 set g_ca_spectate_enemies 0 "Allow spectating enemy player by dead player during clan arena games."
145 set g_ca_warmup 10 "how long the players will have time to run around the map before the round starts"
146 set g_ca_damage2score_multiplier 0.01
147 set g_ca_round_timelimit 180
148 seta g_ca_teams_override 0
152 // ==================
154 // ==================
155 set g_ctf 0 "Capture The Flag: take the enemy flag and bring it to yours at your base to score"
156 set g_ctf_flag_return_time 15
157 set g_ctf_flag_return_dropped 100
158 set g_ctf_flag_return_damage 0
159 set g_ctf_flag_return_when_unreachable 1 "automatically return the flag if it falls into lava/slime/trigger hurt"
160 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"
161 set g_ctf_flagcarrier_auto_helpme_time 2 "antispam time for the helpme notification"
162 set g_ctf_flagcarrier_selfdamagefactor 1
163 set g_ctf_flagcarrier_selfforcefactor 1
164 set g_ctf_flagcarrier_damagefactor 1
165 set g_ctf_flagcarrier_forcefactor 1
166 set g_ctf_stalemate 1 "show the enemy flagcarrier location after both teams have held the flags a certain amount of time"
167 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"
168 set g_ctf_stalemate_time 60 "time for each flag until stalemate mode is activated"
169 set g_ctf_flagcarrier_waypointforenemy_spotting 1 "show the enemy flagcarrier location if a team mate presses +use to spot them"
170 set g_ctf_dropped_capture_delay 1 "dropped capture delay"
171 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"
172 set g_ctf_flag_damageforcescale 2
173 set g_ctf_portalteleport 0 "allow flag carriers to go through portals made in portal gun without dropping the flag"
174 set g_ctf_reverse 0 "if enabled, flags positions are switched: you have to capture the enemy's flag from your own base by bringing it to your own flag in the enemy base"
175 set g_ctf_flag_collect_delay 1
176 set g_ctf_flag_health 0
177 set g_ctf_flag_dropped_waypoint 2 "show dropped flag waypointsprite when a flag is lost. 1 = team only, 2 = for all players"
178 set g_ctf_flag_dropped_floatinwater 200 "move upwards while in water at this velocity"
179 set g_ctf_throw 1 "throwing allows circumventing carrierkill score, so enable this with care!"
180 set g_ctf_throw_angle_max 90 "maximum upwards angle you can throw the flag"
181 set g_ctf_throw_angle_min -90 "minimum downwards angle you can throw the flag"
182 set g_ctf_throw_punish_count 2
183 set g_ctf_throw_punish_delay 30
184 set g_ctf_throw_punish_time 5
185 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"
186 set g_ctf_throw_velocity_forward 500 "how fast or far a player can throw the flag"
187 set g_ctf_throw_velocity_up 200 "upwards velocity added upon initial throw"
188 set g_ctf_drop_velocity_up 200 "upwards velocity when a flag is dropped (i.e. when a flag carrier dies)"
189 set g_ctf_drop_velocity_side 100 "randomized sideways velocity when a flag is dropped"
190 set g_ctf_pass 1 "allow passing of flags to nearby team mates"
191 set g_ctf_pass_arc 20 "upwards arcing of the flag path to look more like a throw"
192 set g_ctf_pass_arc_max 200 "maximum height for upwards arcing of the flag path to look more like a throw"
193 set g_ctf_pass_directional_max 200 "maximum radius from crosshair for line of sight selection when passing"
194 set g_ctf_pass_directional_min 50 "minimum radius from crosshair for line of sight selection when passing"
195 set g_ctf_pass_radius 500 "maximum radius that you can pass to a team mate in"
196 set g_ctf_pass_wait 2 "delay in seconds between how often players can pass the flag (antispam, essentially)"
197 set g_ctf_pass_request 1 "allow players to request the flag carrier to pass the flag to them"
198 set g_ctf_pass_turnrate 50 "how well the flag follows the best direction to its target while passing"
199 set g_ctf_pass_timelimit 2 "how long a flag can stay trying to pass before it gives up and just becomes dropped"
200 set g_ctf_pass_velocity 750 "how fast or far a player can pass the flag"
201 set g_ctf_allow_vehicle_touch 0 "allow flags to be picked up/captured/returned without even leaving the vehicle"
202 set g_ctf_allow_vehicle_carry 1 "allow players to hold flags inside a vehicle"
204 set g_ctf_shield_max_ratio 0 "shield at most this percentage of a team from the enemy flag (try: 0.4 for 40%)"
205 set g_ctf_shield_min_negscore 20 "shield the player from the flag if he's got this negative amount of points or less"
206 set g_ctf_shield_force 100 "push force of the shield"
208 set g_ctf_flag_red_model "models/ctf/flags.md3"
209 set g_ctf_flag_red_skin 0
210 set g_ctf_flag_blue_model "models/ctf/flags.md3"
211 set g_ctf_flag_blue_skin 1
212 set g_ctf_flag_glowtrails 1
213 set g_ctf_fullbrightflags 0
214 set g_ctf_dynamiclights 0
215 set g_ctf_captimerecord_always 0 "always show capture time information when someone captures the flag"
217 seta g_ctf_ignore_frags 0 "1: regular frags give no points"
218 exec ctfscoring-samual.cfg
221 // ====================
222 // complete the stage
223 // ====================
224 set g_cts 0 "CTS: complete the stage"
225 set g_cts_selfdamage 1 "0 = disable all selfdamage and falldamage in cts"
226 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"
229 // ==========================
230 // deathmatch (ffa or team)
231 // ==========================
232 set g_dm 1 "Deathmatch: killing any other player is one frag, player with most frags wins"
233 set g_tdm_teams 2 "how many teams are in team deathmatch (set by mapinfo)"
234 set g_tdm_team_spawns 0 "when 1, a map can define team spawnpoints for TDM"
235 seta g_tdm_teams_override 0 "how many teams are in team deathmatch"
241 set g_domination 0 "Domination: capture and hold control points to gain points"
242 set g_domination_default_teams 2 "default number of teams for maps that aren't domination-specific"
243 seta g_domination_teams_override 0 "use a specific number of teams in domination games (minimum 2), disables dom_team entities"
244 set g_domination_disable_frags 0 "players can't get frags normally, only get points from kills"
245 set g_domination_point_amt 0 "override: how many points to get per ping"
246 set g_domination_point_fullbright 0 "domination point fullbright"
247 set g_domination_point_rate 0 "override: how often to give those points"
248 set g_domination_point_capturetime 0.1 "how long it takes to capture a point (given no interference)"
249 set g_domination_point_glow 0 "domination point glow (warning, slow)"
250 set g_domination_roundbased 0 "enable round-based domination (capture all control points to win the round)"
251 set g_domination_roundbased_point_limit 5 "capture limit in round-based domination mode"
252 set g_domination_round_timelimit 120
253 set g_domination_warmup 5
254 //set g_domination_balance_team_points 1 "# of points received is based on team sizes"
260 set g_freezetag 0 "Freeze Tag: Freeze the opposing team(s) to win, unfreeze teammates by standing next to them"
261 set g_freezetag_warmup 5 "Time players get to run around before the round starts"
262 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)"
263 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)"
264 set g_freezetag_revive_speed 0.4 "Speed for reviving a frozen teammate"
265 set g_freezetag_revive_clearspeed 1.6 "Speed at which reviving progress gets lost when out of range"
266 set g_freezetag_revive_extra_size 100 "Distance in qu that you can stand from a frozen teammate to keep reviving him"
267 set g_freezetag_revive_falldamage 0 "Enable reviving from this amount of fall damage"
268 set g_freezetag_revive_falldamage_health 40 "Amount of health player has if they revived from falling"
269 set g_freezetag_round_timelimit 180
270 set g_freezetag_frozen_force 0.6 "How much to multiply the force on a frozen player with"
271 set g_freezetag_frozen_maxtime 60 "frozen players will be automatically unfrozen after this time in seconds"
272 seta g_freezetag_teams_override 0
273 set g_freezetag_teams 0
279 set g_keepaway 0 "game mode which focuses around a ball, look at g_keepaway_win_mode for further details"
280 set g_keepaway_score_bckill 1 "enable scoring points (y/n) for ball carrier kills (value is how many points to award)"
281 set g_keepaway_score_killac 1 "amount of points to give when you kill someone while you have the ball"
282 set g_keepaway_score_timeinterval 1 "amount of time it takes between intervals for timepoints to be added to the score"
283 set g_keepaway_score_timepoints 0 "points to add to score per timeinterval, 0 for no points"
284 set g_keepaway_ballcarrier_effects 8 "Add together the numbers you want: EF_ADDITIVE (32) / EF_NODEPTHTEST (8192) / EF_DIMLIGHT (8)"
285 set g_keepaway_ballcarrier_highspeed 1 "speed multiplier done to the person holding the ball (recommended when used with some mutators)"
286 set g_keepaway_ballcarrier_damage 1 "damage multiplier while holding the ball"
287 set g_keepaway_ballcarrier_force 1 "force multiplier while holding the ball"
288 set g_keepaway_ballcarrier_selfdamage 1 "self damage multiplier while holding the ball"
289 set g_keepaway_ballcarrier_selfforce 1 "self force multiplier while holding the ball"
290 set g_keepaway_noncarrier_warn 1 "warn players when they kill without holding the ball"
291 set g_keepaway_noncarrier_damage 1 "damage done to other players if both you and they don't have the ball"
292 set g_keepaway_noncarrier_force 1 "force done to other players if both you and they don't have the ball"
293 set g_keepaway_noncarrier_selfdamage 1 "self damage if you don't have the ball"
294 set g_keepaway_noncarrier_selfforce 1 "self force if you don't have the ball"
295 set g_keepawayball_effects 0 "Add together the numbers you want: EF_ADDITIVE (32) / EF_NODEPTHTEST (8192) / EF_DIMLIGHT (8)"
296 set g_keepawayball_trail_color 254 "particle trail color from player/ball"
297 set g_keepawayball_damageforcescale 3 "Scale of force which is applied to the ball by weapons/explosions/etc"
298 set g_keepawayball_respawntime 10 "if no one picks up the ball, how long to wait until the ball respawns"
299 seta g_keepaway_teams_override 0
300 set g_keepaway_teams 0
306 set g_keyhunt 0 "Key Hunt: collect all keys from the enemies and bring them together to score"
307 set g_balance_keyhunt_delay_return 60
308 set g_balance_keyhunt_delay_round 5
309 set g_balance_keyhunt_delay_tracking 10
310 set g_balance_keyhunt_delay_fadeout 2
311 set g_balance_keyhunt_delay_collect 1.5
312 set g_balance_keyhunt_maxdist 150
313 set g_balance_keyhunt_score_collect 3
314 set g_balance_keyhunt_score_carrierfrag 2
315 set g_balance_keyhunt_score_capture 100
316 set g_balance_keyhunt_score_push 60
317 set g_balance_keyhunt_score_destroyed 50
318 set g_balance_keyhunt_score_destroyed_ownfactor 1
319 set g_balance_keyhunt_dropvelocity 300
320 set g_balance_keyhunt_throwvelocity 400
321 set g_balance_keyhunt_protecttime 0.8
322 set g_balance_keyhunt_damageforcescale 1
323 seta g_keyhunt_teams_override 0
324 set g_keyhunt_teams 0
327 // ===================
329 // ===================
330 set g_lms 0 "Last Man Standing: everyone starts with a certain amount of lives, and the survivor wins"
331 set g_lms_lives_override -1
332 set g_lms_extra_lives 0
333 set g_lms_regenerate 0
334 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"
335 set g_lms_join_anytime 1 "if true, new players can join, but get same amount of lives as the worst player"
341 set g_nexball 0 "Nexball: Basketball and Soccer go Xonotic"
342 set g_nexball_basketball_effects_default 8 "default: dim light. The original version used 1024 (fire) but it gives bad performance"
343 set g_balance_nexball_primary_speed 1000 "launching speed"
344 set g_balance_nexball_primary_refire 0.7 "launching refire"
345 set g_balance_nexball_primary_animtime 0.3 "launching animtime"
346 set g_balance_nexball_secondary_animtime 0.3 "launching animtime"
347 set g_balance_nexball_secondary_speed 3000 "stealing projectile speed"
348 set g_balance_nexball_secondary_lifetime 0.15 "stealing projectile lifetime"
349 set g_balance_nexball_secondary_force 500 "stealing projectile force"
350 set g_balance_nexball_secondary_refire 0.6 "stealing projectile refire"
351 set g_balance_nexball_secondary_animtime 0.3 "stealing projectile animtime"
352 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"
353 set g_nexball_basketball_bouncefactor 0.6 "velocity loss when the ball bounces"
354 set g_nexball_basketball_bouncestop 0.075 "speed at which the ball stops when it hits the ground (multiplied by sv_gravity)"
355 set g_nexball_football_bouncefactor 0.6 "velocity loss when the ball bounces"
356 set g_nexball_football_bouncestop 0.075 "speed at which the ball stops when it hits the ground (multiplied by sv_gravity)"
357 set g_nexball_football_boost_forward 100 "forward velocity boost when the ball is touched"
358 set g_nexball_football_boost_up 200 "vertical velocity boost when the ball is touched"
359 set g_nexball_basketball_delay_hold 20 "time before a player who caught the ball loses it (anti-ballcamp)"
360 set g_nexball_basketball_delay_hold_forteam 60 "time before a ball reset when a team holds the ball for too long"
361 set g_nexball_basketball_teamsteal 1 "1 to allow players to steal from teammates, 0 to disallow"
362 set g_nexball_basketball_carrier_highspeed 0.8 "speed multiplier for the ballcarrier"
363 set g_nexball_meter_period 1 "time to make a full cycle on the power meter"
364 set g_nexball_basketball_meter 1 "use the power meter for basketball"
365 set g_nexball_basketball_meter_minpower 0.5 "minimal multiplier to the launching speed when using the power meter"
366 set g_nexball_basketball_meter_maxpower 1.2 "maximal multiplier to the launching speed when using the power meter"
367 set g_nexball_delay_goal 3 "delay between a goal and a ball reset"
368 set g_nexball_delay_idle 10 "maximal idle time before a reset"
369 set g_nexball_delay_start 3 "time the ball stands on its spawn before being released"
370 set g_nexball_delay_collect 0.5 "time before the same player can catch the ball he launched"
371 set g_nexball_sound_bounce 1 "bouncing sound (0: off)"
372 set g_nexball_basketball_trail 1 "1 to leave a trail"
373 set g_nexball_football_trail 0 "1 to leave a trail"
374 set g_nexball_trail_color 254 "1-256 for different colors (Quake palette, 254 is white)"
375 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"
376 seta g_nexball_safepass_maxdist 5000 "Max distance to allow save fassping (0 to turn off safe passing)"
377 seta g_nexball_safepass_turnrate 0.1 "How fast the safe-pass ball can habge direction"
378 seta g_nexball_safepass_holdtime 0.75 "How long to remeber last teammate you pointed at"
379 seta g_nexball_viewmodel_scale 0.25 "How large the ball for the carrier"
380 seta g_nexball_viewmodel_offset "8 8 0" "Where the ball is located on carrier forward right up"
381 seta g_nexball_tackling 1 "Allow ball theft?"
387 set g_onslaught 0 "Onslaught: take control points towards the enemy generator and then destroy it"
388 set g_onslaught_gen_health 2500
389 set g_onslaught_cp_health 1000
390 set g_onslaught_cp_buildhealth 100
391 set g_onslaught_cp_buildtime 5
392 set g_onslaught_cp_regen 20
393 set g_onslaught_cp_proxydecap 0 "de-capture controlpoints by standing close to them"
394 set g_onslaught_cp_proxydecap_distance 512
395 set g_onslaught_cp_proxydecap_dps 100
396 set g_onslaught_spawn_at_controlpoints 0
397 set g_onslaught_spawn_at_generator 0
403 set g_race 0 "Race: be faster than your opponents"
404 set g_race_qualifying_timelimit 0
405 set g_race_qualifying_timelimit_override -1
406 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)"