// e.g. Xonotic 1.5.1 RC1 will be 15101
set g_xonoticversion git "Xonotic version (formatted for humans)"
-gameversion 600 // 0.6.0
+gameversion 700 // 0.7.0
gameversion_min 0 // git builds see all versions
gameversion_max 65535 // git builds see all versions
alias use "impulse 21"
// for backwards compatibility
+// TODO Remove after 0.8 release!
+cl_particles_forcetraileffects 1
alias dropweapon "impulse 17"
alias +show_info +button7
seta cl_unpress_zoom_on_weapon_switch 1 "automatically unpress zoom when you switch a weapon"
seta cl_unpress_attack_on_weapon_switch 1 "automatically unpress fire and fire1 attack buttons when you switch a weapon"
+seta cl_spawn_event_particles 1 "pointparticles effect whenever a player spawns"
+seta cl_spawn_event_sound 1 "sound effect whenever a player spawns"
+//seta cl_spawn_point_model 0 "place a model at all spawn points" // still needs a model
+seta cl_spawn_point_particles 1 "pointparticles effect at all spawn points" // managed by effects-.cfg files
+
freelook 1
sensitivity 6
v_gamma 1
set g_powerups -1 "if set to 0 the strength and shield (invincibility) will not spawn on the map, if 1 they will spawn in all game modes, -1 is game mode default"
set g_use_ammunition 1 "if set to 0 all weapons have unlimited ammunition"
set g_pickup_items -1 "if set to 0 all items (health, armor, ammo, weapons...) are removed from the map, if 1 they are forced to spawn"
-set g_minstagib 0 "enable minstagib"
-set g_minstagib_extralives 2 "how many extra lives you will get per powerup"
-set g_minstagib_ammo_start 10 "starting ammo"
-set g_minstagib_ammo_drop 5 "how much ammo you'll get for weapons or cells"
-set g_minstagib_invis_alpha 0.15
-set g_minstagib_speed_highspeed 1.5 "speed-multiplier that applies while you carry the invincibility powerup"
-set g_vampire 0 "set to 1 to enable the vampire mode, where the damage done to your opponent gets added to your own health"
set g_weaponarena "0" "put in a list of weapons to enable a weapon arena mode, or try \"all\" or \"most\""
set g_weaponarena_random "0" "if set to a number, only that weapon count is given on every spawn (randomly)"
set g_weaponarena_random_with_laser "1" "additionally, always provide the laser in random weapon arena games"
set g_midair 0 "if set to 1 you can only apply damage to your opponent while he is airborne"
set g_midair_shieldtime 0.3 "number of seconds you are still invincible since you lost contact to the ground"
-set g_spawnsound 1 "set to 0 if you don't want to hear the spawn sound when a player spawns"
set g_spawnpoints_auto_move_out_of_solid 0 "if set to 1 you will see a warning if a spawn point was placed inside a solid"
set g_forced_respawn 0 "if set to 1 and a player died, that player gets automatically respawned once <g_respawn_delay> seconds are over"
set g_fullbrightplayers 0 "brightens up player models (note that the color, skin or model of the players does not change!)"
set g_player_brightness 0 "set to 2 for brighter players"
seta g_balance_cloaked_alpha 0.25
-set g_sandbox 0 "allow players to spawn and edit objects around the map"
-set g_sandbox_info 1 "print object information to the server. 1 prints info about spawned / removed objects, 2 also prints info about edited objects"
-set g_sandbox_readonly 0 "when this mode is active, players cannot modify objects or use any sandbox commands"
-set g_sandbox_storage_name default "name of the selected storage to use"
-set g_sandbox_storage_autosave 5 "storage is automatically saved every specified number of seconds"
-set g_sandbox_storage_autoload 1 "if a storage file exists for the given map, automatically load it at startup"
-set g_sandbox_editor_flood 1 "players must wait this many seconds between spawning objects"
-set g_sandbox_editor_maxobjects 1000 "maximum number of objects that may exist at a time"
-set g_sandbox_editor_free 1 "0 = players can only copy or edit their own objects, 1 = players can copy but not edit other objects, 2 = players can copy and edit all object"
-set g_sandbox_editor_distance_spawn 200 "distance at which objects spawn in front of the player"
-set g_sandbox_editor_distance_edit 300 "distance at which players can edit or remove objects they are looking at"
-set g_sandbox_object_scale_min 0.1 "minimum scale that objects can be set to"
-set g_sandbox_object_scale_max 2 "maximum scale that objects can be set to"
-set g_sandbox_object_material_velocity_min 100 "velocity objects must have while colliding for material effects to be applied"
-set g_sandbox_object_material_velocity_factor 0.002 "velocity range which decides the intensity of material effects"
-set cl_sandbox_clipboard ""
-
seta menu_sandbox_spawn_model ""
seta menu_sandbox_attach_bone ""
seta menu_sandbox_edit_skin 0
set g_grappling_hook 0 "let players spawn with the grappling hook which allows them to pull themselves up"
-set g_invincible_projectiles 0 "set to 1 to disable any damage to projectiles in all balance configs, regardless of g_projectiles_damage"
-set g_dodging 0 "set to 1 to enable dodging in games"
-set g_rocket_flying 0 "set to 1 to enable rocket flying in all balance configs"
-
-seta cl_dodging_timeout 0.2 "determines how long apart (in seconds) two taps on the same direction key are considered a dodge. use 0 to disable"
-
-set sv_dodging_wall_dodging 0 "set to 1 to allow dodging off walls. 0 to disable"
-set sv_dodging_delay 0.5 "determines how long a player has to wait to be able to dodge again after dodging"
-set sv_dodging_up_speed 200 "the jump velocity of the dodge"
-set sv_dodging_horiz_speed 400 "the horizontal velocity of the dodge"
-set sv_dodging_ramp_time 0.1 "a ramp so that the horizontal part of the dodge is added smoothly (seconds)"
-set sv_dodging_height_threshold 10 "the maximum height above ground where to allow dodging"
-set sv_dodging_wall_distance_threshold 10 "the maximum distance from a wall that still allows dodging"
-set sv_dodging_sound 1 "if 1 dodging makes a sound. if 0 dodging is silent"
-
-set g_spawn_furthest 0.5 "this amount of the spawns shall be far away from any players"
+set g_spawn_alloweffects 1 "allow clients to enable spawn point and event effects such as particles and sounds, see cl_spawn_ cvars for more info"
+set g_spawn_furthest 1 "this amount of the spawns shall be far away from any players"
set g_spawn_useallspawns 0 "use all spawns, e.g. also team spawns in non-teamplay, and all spawns, even enemy spawns, in teamplay"
-set g_spawn_near_teammate 0 "if set, players prefer spawns near a team mate"
-set g_spawn_near_teammate_distance 640 "max distance to consider a spawn to be near a team mate"
// respawn delay
set g_respawn_delay 2 "number of seconds you have to wait before you can respawn again"
set g_respawn_waves 0 "respawn in waves (every n seconds), intended to decrease overwhelming base attacks"
vid_gl20 1
r_glsl_deluxemapping 1
r_glsl_offsetmapping 0
+r_glsl_offsetmapping_lod 1
r_glsl_offsetmapping_reliefmapping 0
r_glsl_offsetmapping_scale 0.02
// execute effects-normal.cfg to make sure that all effect settings are reset
//used for spectate/observer mode
bind F3 spec
-// NIX (No Items Xonotic) - at each time, everyone uses the same weapon,
-// and in regular intervals, this weapon is cycled
-set g_nix 0 "No Items Xonotic - instead of pickup items, everyone plays with the same weapon. After some time, a countdown will start, after which everyone will switch to another weapon, and so on"
-set g_nix_with_laser 0 "always carry the laser as an additional weapon in NIX"
-set g_nix_with_healtharmor 0 "when 1, health and armor still show up in NIX"
-set g_nix_with_powerups 0 "when 1, powerups still show up in NIX"
-
// score log
set sv_logscores_console 0 "print scores to server console"
set sv_logscores_file 0 "print scores to file"
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"
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"
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"
-seta "userbind12_press" "say_team killed flagcarrier (l:%y^7); g_waypointsprite_team_p"; seta "userbind12_release" ""; seta "userbind12_description" "team: killed flag, icon"
+seta "userbind12_press" "say_team killed flagcarrier (l:%y^7); g_waypointsprite_team_here_p"; seta "userbind12_release" ""; seta "userbind12_description" "team: killed flag, icon"
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"
seta "userbind14_press" "say_team dropped gun %w^7 (l:%l^7); g_waypointsprite_team_here; wait; dropweapon"; seta "userbind14_release" ""; seta "userbind14_description" "team: drop gun, icon"
// TODO change this to "use" once we can
seta scoreboard_accuracy_border_thickness 1 "accuracy stats border thickness"
seta scoreboard_accuracy_doublerows 0 "use two rows instead of one"
seta scoreboard_accuracy_nocolors 0 "don't use colors displaying accuracy stats"
-seta scoreboard_accuracy 1 "show weapon accuracy stats panel on scoreboard; colors can be configured with accuracy_color* cvars"
+seta scoreboard_accuracy 0 "show weapon accuracy stats panel on scoreboard; colors can be configured with accuracy_color* cvars"
seta scoreboard_color_bg_r 0 "red color component of the scoreboard background"
seta scoreboard_color_bg_g 0.4 "green color component of the scoreboard background"
seta scoreboard_color_bg_b 0.6 "blue color component of the scoreboard background"
seta menu_slist_showempty 1 "show servers even if they are no empty and have no opponents to play against"
seta menu_slist_modfilter "" // set to either: !modname or modname. modname of = means "same as we are running now".
-// for menu weapon arena
-set menu_weaponarena_with_laser 0 "also enable the Laser in this weapon arena"
+seta menu_weaponarena ""
seta menu_maxplayers 16 "maxplayers value when the menu starts a game"
set con_completion_vdomap map
set con_completion_playermodel models/player/*.iqm
+// helper
// these non-saved engine cvars shall be saved
-seta cl_port $cl_port
-seta r_showsurfaces $r_showsurfaces
-seta r_ambient $r_ambient
-seta skill 4
-seta gl_finish $gl_finish
-seta v_kicktime $v_kicktime
-seta r_subdivisions_tolerance $r_subdivisions_tolerance
-seta vid_gl20 $vid_gl20
-seta vid_gl13 $vid_gl13
-seta r_drawviewmodel $r_drawviewmodel
-seta v_idlescale $v_idlescale
-seta net_slist_queriespersecond $net_slist_queriespersecond
+alias makesaved "seta $1 \"${$1 ?}\"
+makesaved cl_maxfps_alwayssleep
+makesaved cl_port
+makesaved gl_finish
+makesaved net_slist_queriespersecond
+makesaved r_ambient
+makesaved r_drawviewmodel
+makesaved r_showsurfaces
+makesaved r_subdivisions_tolerance
+makesaved skill
+makesaved vid_gl13
+makesaved vid_gl20
+makesaved v_idlescale
+makesaved v_kicktime
// ticrate
//sys_ticrate 0.0166667
set sv_foginterval 1 "force enable fog in regular intervals"
-set g_physical_items 0 "1 uses ODE physics for dropped weapons, 2 for all items, requires physics_ode to be enabled"
-set g_physical_items_damageforcescale 3 "how affected physical weapons are by damage"
-set g_physical_items_reset 1 "return map items to their original lotation after being picked up"
-
// Audio track names (for old-style "cd loop NUMBER" usage)
set _cdtrack_first "1"
alias _cdtrack_0 "g_cdtracks_remaplist \"$g_cdtracks_remaplist $1\""
set g_cdtracks_dontusebydefault "rising-of-the-phoenix"
set menu_cdtrack "rising-of-the-phoenix"
-// maxidle (in seconds): kick players idle for more than that amount of time
-set sv_maxidle 0
-// when sv_maxidle is not 0, assume spectators are idle too
-set sv_maxidle_spectatorsareidle 0
+set sv_maxidle 0 "kick players idle for more than this amount of time in seconds"
+set sv_maxidle_spectatorsareidle 0 "when sv_maxidle is not 0, assume spectators are idle too"
// these entities are not referenced by anything directly, they just represent
// teams and are found by find() when needed
set g_bugrigs_speed_pow 2 "reference power for accel and steer responsiveness"
set g_bugrigs_steer 1 "steering amount"
-set g_touchexplode 0
-set g_touchexplode_radius 50
-set g_touchexplode_damage 10
-set g_touchexplode_edgedamage 0
-set g_touchexplode_force 150
-
set g_ban_sync_uri "" "sync using this ban list provider (empty string to disable)"
set g_ban_sync_interval 5 "sync every 5 minutes"
set g_ban_sync_trusted_servers "" "request ban lists from these xonotic servers (do not include your own server there, or unbanning may fail)"
set waypoint_benchmark 0 "quit after waypoint loading to benchmark bot navigation code"
set g_debug_bot_commands 0 "print scripted bot commands before executing"
set g_debug_defaultsounds 0 "always use default sounds"
-set cl_precacheplayermodels 0 "TODO please check if this needs to be 1 or if precaching a model the server already requested is fast enough to do it at runtime"
seta cl_forceplayermodels 0 "make everyone look like your own model (requires server to have sv_defaultcharacter 0)"
seta cl_forceplayercolors 0 "make everyone look like your own color (requires server to have sv_defaultcharacter 0, and is ignored in teamplay with more than two teams)"
seta cl_forcemyplayermodel "" "set to the model file name you want to show yourself as (does not affect how enemies look with cl_forceplayermodels)"
seta cl_forcemyplayercolors 0 "set to the color value (encoding is same as _cl_color) for your own player model (ignored in teamplay; does not affect how enemies look with cl_forceplayermodels)"
seta cl_movement_errorcompensation 1 "try to compensate for prediction errors and reduce preceived lag"
-// debug cvars for keyhunt attaching
-set _angles "0 0 0"
-set _origin "0 0 0"
-
// campaign internal, set when loading a campaign map1G
set _campaign_index ""
set _campaign_name ""
// we REALLY need the end pos nudging DP bug workaround for trace-to-end-of-solid to work
collision_endposnudge 1
+// FIXME remove this when the engine feature FINALLY MAYBE works
+r_glsl_skeletal 0
+
// animation tuning
set cl_lerpanim_maxdelta_framegroups 0.05 // must be faster than fastest weapon refire
set cl_lerpanim_maxdelta_server 0.1 // must be slower than slowest server controlled anim (e.g. animinfo stuff)
set snd_softclip 1
set snd_maxchannelvolume 0
set snd_streaming_length 2
+seta menu_snd_sliderscale 2 "0: decibels; 1: linear percent; 2: 0..10 scale; 3: slider size percent"
seta menu_snd_attenuation_method 1 "Use exponential instead of linear falloff for sound attenuation"
alias snd_attenuation_method_0 "set menu_snd_attenuation_method 0; set snd_soundradius 1200; set snd_attenuation_exponent 1; set snd_attenuation_decibel 0" // Quake default
alias snd_attenuation_method_1 "set menu_snd_attenuation_method 1; set snd_soundradius 2400; set snd_attenuation_exponent 4; set snd_attenuation_decibel 0" // nice approximation for method 2
scr_loadingscreen_background 0
scr_loadingscreen_barcolor "0 0.5 1"
scr_loadingscreen_barheight 12
-scr_loadingscreen_count 14
+scr_loadingscreen_count 1
scr_loadingscreen_firstforstartup 1
scr_loadingscreen_scale 999
scr_loadingscreen_scale_base 1
exec vehicles.cfg
exec crosshairs.cfg
exec gamemodes.cfg
+exec mutators.cfg
exec notifications.cfg
// load console command aliases and settings
set cl_fullbright_items 0 "enable fullbright items (if server allows, controled by g_fullbrightitems)"
set cl_weapon_stay_color "2 0.5 0.5" "Color of picked up weapons when g_weapon_stay > 0"
set cl_weapon_stay_alpha 0.75 "Alpha of picked up weapons when g_weapon_stay > 0"
-
-seta g_superspectate 0 "server side, allows extended spectator functions through the cmd interface. followpowerup, followstrength, followstshield or followfc [red|blue] will transfer spectation to the relevent player, if any"