From: bones_was_here Date: Sun, 21 May 2023 05:29:15 +0000 (+1000) Subject: Merge remote-tracking branch 'origin/pending-release' into Mario/team_keepaway X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=3b9985330fba076d82cf9d5e039655fca4d3514d;p=xonotic%2Fxonotic-data.pk3dir.git Merge remote-tracking branch 'origin/pending-release' into Mario/team_keepaway --- 3b9985330fba076d82cf9d5e039655fca4d3514d diff --cc .gitlab-ci.yml index e4dd9c0f5,f2334ef66..5d850785d --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@@ -75,7 -75,7 +75,7 @@@ test_sv_game - wget -nv -O data/maps/stormkeep.waypoints https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints - wget -nv -O data/maps/stormkeep.waypoints.cache https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints.cache - - EXPECT=3f5d7c3810b74874094de348c651363d - - EXPECT=837de85eaf3bb3f9e853fa3de5b3b4af ++ - EXPECT=e7c012825007ed251efa4e52dfbb592e - HASH=$(${ENGINE} +timestamps 1 +exec serverbench.cfg | tee /dev/stderr | sed -e 's,^\[[^]]*\] ,,' diff --cc gamemodes-client.cfg index d71818573,c0562cfb8..c63bba5a7 --- a/gamemodes-client.cfg +++ b/gamemodes-client.cfg @@@ -34,7 -34,7 +34,8 @@@ alias cl_hook_gamestart_in alias cl_hook_gamestart_duel alias cl_hook_gamestart_mayhem alias cl_hook_gamestart_tmayhem +alias cl_hook_gamestart_tka + alias cl_hook_gamestart_surv alias cl_hook_gameend alias cl_hook_shutdown alias cl_hook_activeweapon diff --cc gamemodes-server.cfg index 595fc5912,23c97924e..140993fca --- a/gamemodes-server.cfg +++ b/gamemodes-server.cfg @@@ -31,7 -31,7 +31,8 @@@ alias sv_hook_gamestart_in alias sv_hook_gamestart_duel alias sv_hook_gamestart_mayhem alias sv_hook_gamestart_tmayhem +alias sv_hook_gamestart_tka + alias sv_hook_gamestart_surv // there is currently no hook for when the match is restarted // see sv_hook_readyrestart for previous uses of this hook //alias sv_hook_gamerestart @@@ -63,7 -63,7 +64,8 @@@ alias sv_vote_gametype_hook_td alias sv_vote_gametype_hook_duel alias sv_vote_gametype_hook_mayhem alias sv_vote_gametype_hook_tmayhem +alias sv_vote_gametype_hook_tka + alias sv_vote_gametype_hook_surv // Example preset to allow 1v1ctf to be used for the gametype voting screen. // Aliases can have max 31 chars so the gametype can have max 9 chars. @@@ -228,13 -228,13 +230,20 @@@ set g_tmayhem_respawn_delay_large_coun set g_tmayhem_respawn_delay_max 0 set g_tmayhem_respawn_waves 0 set g_tmayhem_weapon_stay 0 +set g_tka_respawn_delay_small 0 +set g_tka_respawn_delay_small_count 0 +set g_tka_respawn_delay_large 0 +set g_tka_respawn_delay_large_count 0 +set g_tka_respawn_delay_max 0 +set g_tka_respawn_waves 0 +set g_tka_weapon_stay 0 + set g_surv_respawn_delay_small 0 + set g_surv_respawn_delay_small_count 0 + set g_surv_respawn_delay_large 0 + set g_surv_respawn_delay_large_count 0 + set g_surv_respawn_delay_max 0 + set g_surv_respawn_waves 0 + set g_surv_weapon_stay 0 // ========= @@@ -646,34 -646,13 +655,45 @@@ set g_tmayhem_teams 2 "how many teams a set g_tmayhem_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any" set g_tmayhem_teams_override 0 "how many teams are in team mayhem" +// =============== +// team keepaway +// =============== +set g_tka 0 "another game mode which focuses around a ball" +set g_tka_on_ka_maps 1 "when this is set, all KA maps automatically support TKA" +set g_tka_on_tdm_maps 0 "when this is set, all TDM maps automatically support TKA" +set g_tka_teams 2 "how many teams are in team keepaway (set by mapinfo)" +set g_tka_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any" +set g_tka_teams_override 0 "how many teams are in team keepaway" +set g_tka_point_limit -1 "TKA point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" +set g_tka_point_leadlimit -1 "TKA point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" +set g_tka_score_team 1 "allow points to be awarded to teammates for any kill when the ball is in your team's possession" +set g_tka_score_bckill 1 "points for killing the ball barrier (Ball Carrier Kill)" +set g_tka_score_killac 1 "points for kills while holding the ball (Kill As Carrier)" +set g_tka_score_timeinterval 1 "amount of time it takes between intervals for timepoints to be added to the score" +set g_tka_score_timepoints 0 "points to add to score per timeinterval, 0 for no points" +set g_tka_ballcarrier_effects 8 "Add together the numbers you want: EF_ADDITIVE (32) / EF_NODEPTHTEST (8192) / EF_DIMLIGHT (8)" +set g_tka_ballcarrier_highspeed 1 "speed multiplier done to the person holding the ball (recommended when used with some mutators)" +set g_tka_ballcarrier_damage 1 "damage multiplier while holding the ball" +set g_tka_ballcarrier_force 1 "force multiplier while holding the ball" +set g_tka_ballcarrier_selfdamage 1 "self damage multiplier while holding the ball" +set g_tka_ballcarrier_selfforce 1 "self force multiplier while holding the ball" +set g_tka_noncarrier_warn 1 "warn players when they kill without holding the ball" +set g_tka_noncarrier_damage 1 "damage done to other players if both you and they don't have the ball" +set g_tka_noncarrier_force 1 "force done to other players if both you and they don't have the ball" +set g_tka_noncarrier_selfdamage 1 "self damage if you don't have the ball" +set g_tka_noncarrier_selfforce 1 "self force if you don't have the ball" +set g_tkaball_effects 0 "Add together the numbers you want: EF_ADDITIVE (32) / EF_NODEPTHTEST (8192) / EF_DIMLIGHT (8)" +set g_tkaball_trail_color 254 "particle trail color from player/ball" +set g_tkaball_damageforcescale 3 "Scale of force which is applied to the ball by weapons/explosions/etc" +set g_tkaball_respawntime 10 "if no one picks up the ball, how long to wait until the ball respawns" ++ + // ========== + // survival + // ========== + set g_survival 0 "Survival: identify and eliminate all the hunters before all your allies are gone" + set g_survival_not_lms_maps 0 "when this is set, LMS maps will NOT be listed in survival" + set g_survival_hunter_count 0.25 "number of players who will become hunters, set between 0 and 0.9 to use a multiplier of the current players, or 1 and above to specify an exact number of players" + set g_survival_punish_teamkill 1 "kill the player when they kill an ally" + set g_survival_reward_survival 1 "give a point to all surviving players if the round timelimit is reached, in addition to the points given for kills" + set g_survival_warmup 10 "how long the players will have time to run around the map before the round starts" + set g_survival_round_timelimit 120 "round time limit in seconds" diff --cc qcsrc/common/gamemodes/gamemode/_mod.inc index c3b9107f5,12a5510c3..75b1ea001 --- a/qcsrc/common/gamemodes/gamemode/_mod.inc +++ b/qcsrc/common/gamemodes/gamemode/_mod.inc @@@ -16,6 -16,6 +16,7 @@@ #include #include #include + #include #include +#include #include diff --cc qcsrc/common/gamemodes/gamemode/_mod.qh index 9c10f7dab,a3208d4a6..776a88d25 --- a/qcsrc/common/gamemodes/gamemode/_mod.qh +++ b/qcsrc/common/gamemodes/gamemode/_mod.qh @@@ -16,6 -16,6 +16,7 @@@ #include #include #include + #include #include +#include #include diff --cc qcsrc/common/scores.qh index 241d29bc3,b33f334ee..8a01893f1 --- a/qcsrc/common/scores.qh +++ b/qcsrc/common/scores.qh @@@ -60,10 -60,9 +60,13 @@@ REGISTER_SP(NEXBALL_FAULTS) REGISTER_SP(ONS_CAPS); REGISTER_SP(ONS_TAKES); +REGISTER_SP(TKA_PICKUPS); +REGISTER_SP(TKA_BCTIME); +REGISTER_SP(TKA_CARRIERKILLS); + + REGISTER_SP(SURV_SURVIVALS); + REGISTER_SP(SURV_HUNTS); + REGISTER_SP(SCORE); REGISTER_SP(KILLS); REGISTER_SP(DEATHS);