X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=gamemodes.cfg;h=b6cbe92cfcba116c79de77e667e30d35d2c6601a;hb=79f8e8d5cfdd67d25f574bebec19d0a6f31eb20a;hp=5f512c34fc650206212dccc6831850f9bf32c3c0;hpb=264bfe3c675e13957c0188c75276af431f8a433f;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/gamemodes.cfg b/gamemodes.cfg index 5f512c34f..b6cbe92cf 100644 --- a/gamemodes.cfg +++ b/gamemodes.cfg @@ -18,6 +18,7 @@ alias asay_drop "say_team (%l) dropped %w ; impulse 17" // ================= // gamestart hooks // ================= +seta cl_matchcount 0 // incremented by cl_hook_gameend and used by playerstats to know when to alias _cl_hook_gamestart "set _cl_hook_gametype $1; _cl_hook_gamestart_stage2" alias _cl_hook_gamestart_stage2 "cl_hook_gamestart_all; cl_hook_gamestart_${_cl_hook_gametype}" alias cl_hook_gamestart_all @@ -27,7 +28,6 @@ alias cl_hook_gamestart_tdm alias cl_hook_gamestart_dom alias cl_hook_gamestart_ctf alias cl_hook_gamestart_lms -alias cl_hook_gamestart_arena alias cl_hook_gamestart_ca alias cl_hook_gamestart_kh alias cl_hook_gamestart_ons @@ -37,8 +37,8 @@ alias cl_hook_gamestart_nb alias cl_hook_gamestart_cts alias cl_hook_gamestart_ka alias cl_hook_gamestart_ft -alias cl_hook_gamestart_td -alias cl_hook_gameend +alias cl_hook_gamestart_inv +alias cl_hook_gameend "rpn /cl_matchcount dup load 1 + =" // increase match count every time a game ends alias cl_hook_activeweapon alias _sv_hook_gamestart "set _sv_hook_gametype $1; _sv_hook_gamestart_stage2" @@ -49,7 +49,6 @@ alias sv_hook_gamestart_tdm alias sv_hook_gamestart_dom alias sv_hook_gamestart_ctf alias sv_hook_gamestart_lms -alias sv_hook_gamestart_arena alias sv_hook_gamestart_ca alias sv_hook_gamestart_kh alias sv_hook_gamestart_ons @@ -59,11 +58,33 @@ alias sv_hook_gamestart_nb alias sv_hook_gamestart_cts alias sv_hook_gamestart_ka alias sv_hook_gamestart_ft -alias sv_hook_gamestart_td +alias sv_hook_gamestart_inv alias sv_hook_gamerestart alias sv_hook_gameend +// ===================== +// gametype vote hooks +// ===================== +// these are called when the mode is switched via gametype vote screen, earlier than gamestart hooks (useful for enabling per-gamemode mutators) +alias sv_vote_gametype_hook_all +alias sv_vote_gametype_hook_as +alias sv_vote_gametype_hook_ca +alias sv_vote_gametype_hook_ctf +alias sv_vote_gametype_hook_cts +alias sv_vote_gametype_hook_dm +alias sv_vote_gametype_hook_dom +alias sv_vote_gametype_hook_ft +alias sv_vote_gametype_hook_inv +alias sv_vote_gametype_hook_ka +alias sv_vote_gametype_hook_kh +alias sv_vote_gametype_hook_lms +alias sv_vote_gametype_hook_nb +alias sv_vote_gametype_hook_ons +alias sv_vote_gametype_hook_rc +alias sv_vote_gametype_hook_tdm + + // =========== // leadlimit // =========== @@ -75,8 +96,6 @@ seta fraglimit_override -1 "Frag limit overriding the mapinfo specified one (use 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)" 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)" 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)" -seta g_arena_point_limit -1 "Arena point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" -seta g_arena_point_leadlimit -1 "Arena point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" 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)" 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)" 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)" @@ -84,71 +103,118 @@ seta g_keyhunt_point_leadlimit -1 "Keyhunt point lead limit overriding the mapin 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)" 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)" 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)" +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)" // ================================= // respawn delay/waves/weapon_stay // ================================= -// when variables are set to anything other than 0, they take over the global setting... -// to force disable delay or waves, set them to 0.125 -set g_ctf_respawn_delay 0 +// when variables are set to anything other than 0, they take over the global setting. Negative values force an output value of zero. +set g_ctf_respawn_delay_small 1 +set g_ctf_respawn_delay_small_count 1 +set g_ctf_respawn_delay_large 5 +set g_ctf_respawn_delay_large_count 5 +set g_ctf_respawn_delay_max 0 set g_ctf_respawn_waves 0 set g_ctf_weapon_stay 0 -set g_dm_respawn_delay 0 +set g_dm_respawn_delay_small 0 +set g_dm_respawn_delay_small_count 0 +set g_dm_respawn_delay_large 0 +set g_dm_respawn_delay_large_count 0 +set g_dm_respawn_delay_max 0 set g_dm_respawn_waves 0 set g_dm_weapon_stay 0 -set g_dom_respawn_delay 0 +set g_dom_respawn_delay_small 0 +set g_dom_respawn_delay_small_count 0 +set g_dom_respawn_delay_large 0 +set g_dom_respawn_delay_large_count 0 +set g_dom_respawn_delay_max 0 set g_dom_respawn_waves 0 set g_dom_weapon_stay 0 -set g_lms_respawn_delay 0 +set g_lms_respawn_delay_small 0 +set g_lms_respawn_delay_small_count 0 +set g_lms_respawn_delay_large 0 +set g_lms_respawn_delay_large_count 0 +set g_lms_respawn_delay_max 0 set g_lms_respawn_waves 0 set g_lms_weapon_stay 0 -set g_tdm_respawn_delay 0 +set g_tdm_respawn_delay_small 0 +set g_tdm_respawn_delay_small_count 0 +set g_tdm_respawn_delay_large 0 +set g_tdm_respawn_delay_large_count 0 +set g_tdm_respawn_delay_max 0 set g_tdm_respawn_waves 0 set g_tdm_weapon_stay 0 -set g_ka_respawn_delay 0 +set g_ka_respawn_delay_small 0 +set g_ka_respawn_delay_small_count 0 +set g_ka_respawn_delay_large 0 +set g_ka_respawn_delay_large_count 0 +set g_ka_respawn_delay_max 0 set g_ka_respawn_waves 0 set g_ka_weapon_stay 0 -set g_kh_respawn_delay 0 +set g_kh_respawn_delay_small 0 +set g_kh_respawn_delay_small_count 0 +set g_kh_respawn_delay_large 0 +set g_kh_respawn_delay_large_count 0 +set g_kh_respawn_delay_max 0 set g_kh_respawn_waves 0 set g_kh_weapon_stay 0 -set g_arena_respawn_delay 0 -set g_arena_respawn_waves 0 -set g_arena_weapon_stay 0 -set g_ca_respawn_delay 0 +set g_ca_respawn_delay_small 0 +set g_ca_respawn_delay_small_count 0 +set g_ca_respawn_delay_large 0 +set g_ca_respawn_delay_large_count 0 +set g_ca_respawn_delay_max 0 set g_ca_respawn_waves 0 set g_ca_weapon_stay 0 -set g_nb_respawn_delay 0 +set g_nb_respawn_delay_small 0 +set g_nb_respawn_delay_small_count 0 +set g_nb_respawn_delay_large 0 +set g_nb_respawn_delay_large_count 0 +set g_nb_respawn_delay_max 0 set g_nb_respawn_waves 0 set g_nb_weapon_stay 0 -set g_as_respawn_delay 0 +set g_as_respawn_delay_small 0 +set g_as_respawn_delay_small_count 0 +set g_as_respawn_delay_large 0 +set g_as_respawn_delay_large_count 0 +set g_as_respawn_delay_max 0 set g_as_respawn_waves 0 set g_as_weapon_stay 0 -set g_ons_respawn_delay 0 +set g_ons_respawn_delay_small 0 +set g_ons_respawn_delay_small_count 0 +set g_ons_respawn_delay_large 0 +set g_ons_respawn_delay_large_count 0 +set g_ons_respawn_delay_max 0 set g_ons_respawn_waves 0 set g_ons_weapon_stay 0 +set g_rc_respawn_delay_small 0 +set g_rc_respawn_delay_small_count 0 +set g_rc_respawn_delay_large 0 +set g_rc_respawn_delay_large_count 0 +set g_rc_respawn_delay_max 0 set g_rc_respawn_waves 0 -set g_rc_respawn_delay 0 set g_rc_weapon_stay 0 +set g_cts_respawn_delay_small -1 // CTS shall have instant respawn. +set g_cts_respawn_delay_small_count 0 +set g_cts_respawn_delay_large -1 // CTS shall have instant respawn. +set g_cts_respawn_delay_large_count 0 +set g_cts_respawn_delay_max 0 set g_cts_respawn_waves 0 -set g_cts_respawn_delay 0 set g_cts_weapon_stay 2 +set g_ft_respawn_delay_small 0 +set g_ft_respawn_delay_small_count 0 +set g_ft_respawn_delay_large 0 +set g_ft_respawn_delay_large_count 0 +set g_ft_respawn_delay_max 0 set g_ft_respawn_waves 0 -set g_ft_respawn_delay 0 set g_ft_weapon_stay 0 -set g_td_respawn_waves 0 -set g_td_respawn_delay 0 -set g_td_weapon_stay 0 - - -// ======= -// arena -// ======= -set g_arena 0 "Arena: many one-on-one rounds are played to find the winner" -set g_arena_maxspawned 2 "maximum number of players to spawn at once (the rest is spectating, waiting for their turn)" -set g_arena_roundbased 1 "if disabled, the next player will spawn as soon as someone dies" -set g_arena_round_timelimit 180 -set g_arena_warmup 5 "time, newly spawned players have to prepare themselves in round based matches" +set g_inv_respawn_delay_small 0 +set g_inv_respawn_delay_small_count 0 +set g_inv_respawn_delay_large 0 +set g_inv_respawn_delay_large_count 0 +set g_inv_respawn_delay_max 0 +set g_inv_respawn_waves 0 +set g_inv_weapon_stay 0 // ========= @@ -160,18 +226,18 @@ set g_assault 0 "Assault: attack the enemy base as fast as you can, then defend // ============ // clan arena // ============ -set g_ca 0 "Clan Arena: Played in rounds, once you're dead you're out! The team with survivors wins the round." -set g_ca_point_limit 10 "point limit 10 is standard for clan arena" -set g_ca_point_leadlimit 0 -set g_ca_spectate_enemies 0 "Allow spectating enemy player by dead player during clan arena games." +set g_ca 0 "Clan Arena: Played in rounds, once you're dead you're out! The team with survivors wins the round" +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)" +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)" +set g_ca_spectate_enemies 0 "Allow spectating enemy player by dead player during clan arena games" set g_ca_warmup 10 "how long the players will have time to run around the map before the round starts" set g_ca_damage2score_multiplier 0.01 -set g_ca_round_timelimit 180 +set g_ca_round_timelimit 180 "round time limit in seconds" seta g_ca_teams_override 0 +set g_ca_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any" set g_ca_teams 0 - // ================== // capture the flag // ================== @@ -255,8 +321,10 @@ set g_cts_finish_kill_delay 10 "prevent cheating by running back to the start li // ========================== set g_dm 1 "Deathmatch: killing any other player is one frag, player with most frags wins" set g_tdm_teams 2 "how many teams are in team deathmatch (set by mapinfo)" -set g_tdm_team_spawns 0 "when 1, a map can define team spawnpoints for TDM" +set g_tdm_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any" seta g_tdm_teams_override 0 "how many teams are in team deathmatch" +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)" +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)" // ============ @@ -271,6 +339,10 @@ set g_domination_point_fullbright 0 "domination point fullbright" set g_domination_point_rate 0 "override: how often to give those points" set g_domination_point_capturetime 0.1 "how long it takes to capture a point (given no interference)" set g_domination_point_glow 0 "domination point glow (warning, slow)" +set g_domination_roundbased 0 "enable round-based domination (capture all control points to win the round)" +set g_domination_roundbased_point_limit 5 "capture limit in round-based domination mode" +set g_domination_round_timelimit 120 +set g_domination_warmup 5 //set g_domination_balance_team_points 1 "# of points received is based on team sizes" @@ -284,10 +356,16 @@ seta g_freezetag_point_leadlimit -1 "Freeze Tag point lead limit overriding the set g_freezetag_revive_speed 0.4 "Speed for reviving a frozen teammate" set g_freezetag_revive_clearspeed 1.6 "Speed at which reviving progress gets lost when out of range" set g_freezetag_revive_extra_size 100 "Distance in qu that you can stand from a frozen teammate to keep reviving him" -set g_freezetag_round_timelimit 180 +set g_freezetag_revive_nade 1 "Enable reviving from own nade explosion" +set g_freezetag_revive_nade_health 40 "Amount of health player has if they revived from their own nade explosion" +set g_freezetag_revive_falldamage 0 "Enable reviving from this amount of fall damage" +set g_freezetag_revive_falldamage_health 40 "Amount of health player has if they revived from falling" +set g_freezetag_round_timelimit 180 "round time limit in seconds" +set g_freezetag_frozen_damage_trigger 1 "if 1, frozen players falling into the void will die instead of teleporting to spawn" set g_freezetag_frozen_force 0.6 "How much to multiply the force on a frozen player with" set g_freezetag_frozen_maxtime 60 "frozen players will be automatically unfrozen after this time in seconds" seta g_freezetag_teams_override 0 +set g_freezetag_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any" set g_freezetag_teams 0 @@ -314,8 +392,6 @@ set g_keepawayball_effects 0 "Add together the numbers you want: EF_ADDITIVE (32 set g_keepawayball_trail_color 254 "particle trail color from player/ball" set g_keepawayball_damageforcescale 3 "Scale of force which is applied to the ball by weapons/explosions/etc" set g_keepawayball_respawntime 10 "if no one picks up the ball, how long to wait until the ball respawns" -seta g_keepaway_teams_override 0 -set g_keepaway_teams 0 // ========== @@ -349,9 +425,6 @@ set g_lms 0 "Last Man Standing: everyone starts with a certain amount of lives, set g_lms_lives_override -1 set g_lms_extra_lives 0 set g_lms_regenerate 0 -set g_lms_campcheck_interval 10 -set g_lms_campcheck_damage 100 -set g_lms_campcheck_distance 1800 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" set g_lms_join_anytime 1 "if true, new players can join, but get same amount of lives as the worst player" @@ -426,38 +499,15 @@ set g_race_qualifying_timelimit 0 set g_race_qualifying_timelimit_override -1 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)" -// =============== -// tower defense -// =============== -set g_td 0 "Tower Defense: protect the generator/s from waves of monsters" -set g_td_majority_factor 0.8 -set g_td_force_settings 0 "if enabled, don't use map settings (monster count, start wave etc.)" -set g_td_start_wave 1 -set g_td_generator_health 700 -set g_td_generator_damaged_points 20 "player loses this many points if the generator was damaged during the wave" -set g_td_current_monsters 10 "maximum monsters that can be spawned simultaneously" -set g_td_monster_count 10 -set g_td_monster_count_increment 5 -set g_td_buildphase_time 20 -set g_td_generator_dontend 0 "don't change maps when a generator is destroyed (only if there is more than 1 generator)" -set g_td_pvp 0 -set g_td_monsters_skill_start 1 "set to 0 to use g_monsters_skill instead" -set g_td_monsters_skill_increment 0.1 -set g_td_monsters_spawnshield_time 2 -set g_td_monsters_ignore_turrets 0 -set g_td_max_waves 8 -set g_td_kill_points 5 -set g_td_turretkill_points 3 -set g_td_turret_max 4 -set g_td_turret_plasma_cost 50 -set g_td_turret_mlrs_cost 80 -set g_td_turret_walker_cost 100 -set g_td_turret_towerbuff_cost 70 -set g_td_turret_barricade_cost 20 -set g_td_turret_flac_cost 40 -set g_td_turret_upgrade_cost 100 -set g_td_turret_repair_cost 20 -set g_td_barricade_damage 10 -set g_td_monsters_speed_walk 150 -set g_td_monsters_speed_run 170 -set g_td_monsters_spawn_delay 1.5 +// ========== +// invasion +// ========== +set g_invasion 0 "Invasion: survive against waves of monsters" +set g_invasion_round_timelimit 120 "maximum time to kill all monsters" +set g_invasion_warmup 10 "time between waves to prepare for battle" +set g_invasion_monster_count 10 "number of monsters on first wave (increments)" +set g_invasion_zombies_only 0 "only spawn zombies" +set g_invasion_spawn_delay 0.25 +set g_invasion_spawnpoint_spawn_delay 0.5 +set g_invasion_teams 0 "number of teams in invasion (note: use mapinfo to set this)" +set g_invasion_team_spawns 1 "use team spawns in teamplay invasion mode"