From: drjaska Date: Thu, 30 Mar 2023 22:31:12 +0000 (+0300) Subject: Merge branch 'pending-release' into Mario/survival X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=dfbe194424c48f310c0bc891c058bce6b03e9212;p=xonotic%2Fxonotic-data.pk3dir.git Merge branch 'pending-release' into Mario/survival --- dfbe194424c48f310c0bc891c058bce6b03e9212 diff --cc .gitlab-ci.yml index b3110ea7f,8ba5c1806..29c63e316 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@@ -50,12 -64,18 +64,18 @@@ test_sv_game - diff notifications.cfg data/data/notifications_dump.cfg || { echo 'Please update notifications.cfg using `dumpnotifs`!'; exit 1; } - - wget -O data/stormkeep.pk3 http://beta.xonotic.org/autobuild-bsp/latest/stormkeep.pk3 - - wget -O data/maps/stormkeep.mapinfo https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.mapinfo - - wget -O data/maps/stormkeep.waypoints https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints - - wget -O data/maps/stormkeep.waypoints.cache https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints.cache + # - wget -nv -O data/stormkeep.pk3 http://beta.xonotic.org/autobuild-bsp/latest/stormkeep.pk3 + # ^^ INCORRECT: /latest/stormkeep.pk3 is the most recently built, not necessarily the one built from master! + # we can't get the one from master directly as there's no /stable/stormkeep.pk3 or /master/stormkeep.pk3 + # and we can't run misc/tools/xonotic-map-compiler-autobuild as it uses commit hashes from xonotic-maps.pk3dir to generate filenames + # but the autobuild server can run it and provide us the resulting pk3: + - wget -nv -O data/stormkeep.pk3 https://beta.xonotic.org/pipeline-bin/stormkeep.pk3 + # see also: misc/infrastructure/xonotic-release-build.cron + - wget -nv -O data/maps/stormkeep.mapinfo https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.mapinfo + - 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=fe5dec36cb304c55acee73afd1e09c0a + - EXPECT=658000b90e1b73fb5a1954db785f537d - HASH=$(${ENGINE} +timestamps 1 +exec serverbench.cfg | tee /dev/stderr | sed -e 's,^\[[^]]*\] ,,' diff --cc gamemodes-client.cfg index 1bc0853c6,259c2c31d..6960fe2dc --- a/gamemodes-client.cfg +++ b/gamemodes-client.cfg @@@ -32,7 -32,8 +32,9 @@@ alias cl_hook_gamestart_k alias cl_hook_gamestart_ft alias cl_hook_gamestart_inv alias cl_hook_gamestart_duel + alias cl_hook_gamestart_mayhem + alias cl_hook_gamestart_tmayhem +alias cl_hook_gamestart_sv alias cl_hook_gameend alias cl_hook_shutdown alias cl_hook_activeweapon diff --cc gamemodes-server.cfg index 6161b72e3,eb0dcdcdc..2d4d8a396 --- a/gamemodes-server.cfg +++ b/gamemodes-server.cfg @@@ -29,7 -29,8 +29,9 @@@ alias sv_hook_gamestart_k alias sv_hook_gamestart_ft alias sv_hook_gamestart_inv alias sv_hook_gamestart_duel + alias sv_hook_gamestart_mayhem + alias sv_hook_gamestart_tmayhem +alias sv_hook_gamestart_sv // 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 @@@ -59,7 -60,8 +61,9 @@@ alias sv_vote_gametype_hook_on alias sv_vote_gametype_hook_rc alias sv_vote_gametype_hook_tdm alias sv_vote_gametype_hook_duel + alias sv_vote_gametype_hook_mayhem + alias sv_vote_gametype_hook_tmayhem +alias sv_vote_gametype_hook_sv // 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. @@@ -210,13 -212,20 +214,27 @@@ set g_duel_respawn_delay_large_count set g_duel_respawn_delay_max 0 set g_duel_respawn_waves 0 set g_duel_weapon_stay 0 + set g_mayhem_respawn_delay_small 0 + set g_mayhem_respawn_delay_small_count 0 + set g_mayhem_respawn_delay_large 0 + set g_mayhem_respawn_delay_large_count 0 + set g_mayhem_respawn_delay_max 0 + set g_mayhem_respawn_waves 0 + set g_mayhem_weapon_stay 0 + set g_tmayhem_respawn_delay_small 0 + set g_tmayhem_respawn_delay_small_count 0 + set g_tmayhem_respawn_delay_large 0 + set g_tmayhem_respawn_delay_large_count 0 + set g_tmayhem_respawn_delay_max 0 + set g_tmayhem_respawn_waves 0 + set g_tmayhem_weapon_stay 0 +set g_sv_respawn_delay_small 0 +set g_sv_respawn_delay_small_count 0 +set g_sv_respawn_delay_large 0 +set g_sv_respawn_delay_large_count 0 +set g_sv_respawn_delay_max 0 +set g_sv_respawn_waves 0 +set g_sv_weapon_stay 0 // ========= @@@ -585,13 -595,44 +604,55 @@@ set g_duel 0 "Duel: frag the opponent m set g_duel_with_powerups 0 "Enable powerups to spawn in the duel gamemode" set g_duel_not_dm_maps 0 "when this is set, DM maps will NOT be listed in duel" + // ============================== + // free for all and team mayhem + // ============================== + set g_mayhem 0 "Mayhem: Compete for the most damage dealt and kills in this chaotic mayhem!" + set g_tmayhem 0 "Team Mayhem: Compete with your team for the most damage dealt and kills in this chaotic mayhem!" + + set g_mayhem_scoring_upscaler 20 "upscale one frag's worth to be this amount of in score" + set g_tmayhem_scoring_upscaler 20 "upscale one frag's worth to be this amount of in score" + set g_mayhem_scoring_kill_weight 0.25 "how much is a kill worth in frags" + set g_tmayhem_scoring_kill_weight 0.25 "how much is a kill worth in frags" + set g_mayhem_scoring_damage_weight 0.75 "how much is damage equal to player's spawning health+armor worth in frags" + set g_tmayhem_scoring_damage_weight 0.75 "how much is damage equal to player's spawning health+armor worth in frags" + set g_mayhem_scoring_disable_selfdamage2score 0 "disable reducing score with self damage at the cost of full penalty for suicides regardless of how much health was lost suiciding" + set g_tmayhem_scoring_disable_selfdamage2score 0 "disable reducing score with self damage at the cost of full penalty for suicides regardless of how much health was lost suiciding" + + set g_mayhem_point_limit -1 "Mayhem score limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" + set g_mayhem_point_leadlimit -1 "Mayhem score lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" + set g_tmayhem_point_limit -1 "Team Mayhem score limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" + set g_tmayhem_point_leadlimit -1 "Team Mayhem score lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" + + set g_mayhem_weaponarena "most_available" "starting weapons - takes the same options as g_weaponarena" + set g_tmayhem_weaponarena "most_available" "starting weapons - takes the same options as g_weaponarena" + + set g_mayhem_powerups 1 "Allow powerups in mayhem. Only checked if g_powerups is -1 therefore this will be overridden by g_powerups 1 or 0" + set g_tmayhem_powerups 1 "Allow powerups in team mayhem. Only checked if g_powerups is -1 therefore this will be overridden by g_powerups 1 or 0" + set g_mayhem_pickup_items 0 "spawn pickup items in mayhem" + set g_tmayhem_pickup_items 0 "spawn pickup items in team mayhem" + set g_mayhem_pickup_items_remove_weapons_and_ammo 1 "when pickup items are enabled in mayhem still remove weapons and ammo pickups" + set g_tmayhem_pickup_items_remove_weapons_and_ammo 1 "when pickup items are enabled in team mayhem still remove weapons and ammo pickups" + + set g_mayhem_selfdamage 0 "0 = disable selfdamage in mayhem, 1 = enable selfdamage in mayhem" + set g_tmayhem_selfdamage 0 "0 = disable selfdamage in tmayhem, 1 = enable selfdamage in tmayhem" + + set g_mayhem_regenerate 0 "health and/or armor regeneration, according to g_balance_health_regen and g_balance_armor_regen" + set g_tmayhem_regenerate 0 "health and/or armor regeneration, according to g_balance_health_regen and g_balance_armor_regen" + set g_mayhem_rot 0 "health and/or armor rotting, according to g_balance_health_rot and g_balance_armor_rot" + set g_tmayhem_rot 0 "health and/or armor rotting, according to g_balance_health_rot and g_balance_armor_rot" + + set g_tmayhem_teams 2 "how many teams are in team mayhem (set by mapinfo)" + 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" ++ +// ========== +// 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 e261fa7b9,1ca6b1d94..12a5510c3 --- a/qcsrc/common/gamemodes/gamemode/_mod.inc +++ b/qcsrc/common/gamemodes/gamemode/_mod.inc @@@ -15,5 -16,5 +16,6 @@@ #include #include #include +#include #include + #include diff --cc qcsrc/common/gamemodes/gamemode/_mod.qh index 928bd44cb,ca2cffe8b..a3208d4a6 --- a/qcsrc/common/gamemodes/gamemode/_mod.qh +++ b/qcsrc/common/gamemodes/gamemode/_mod.qh @@@ -15,5 -16,5 +16,6 @@@ #include #include #include +#include #include + #include