]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into Mario/team_keepaway
authordrjaska <drjaska83@gmail.com>
Thu, 30 Mar 2023 17:57:42 +0000 (20:57 +0300)
committerdrjaska <drjaska83@gmail.com>
Thu, 30 Mar 2023 18:25:26 +0000 (21:25 +0300)
1  2 
.gitlab-ci.yml
gamemodes-client.cfg
gamemodes-server.cfg
qcsrc/common/gamemodes/gamemode/_mod.inc
qcsrc/common/gamemodes/gamemode/_mod.qh
qcsrc/common/gamemodes/gamemode/ctf/sv_ctf.qc
qcsrc/common/stats.qh
qcsrc/menu/xonotic/util.qc
qcsrc/server/world.qc

diff --cc .gitlab-ci.yml
index b276a2a23810bee5e467ce04f36bbc05c4524d71,8ba5c18061a8b807617a4ab4c6b602c2ae7c154a..e4dd9c0f577ca74ee3ce41919085dad381f00844
@@@ -50,12 -64,18 +64,18 @@@ test_sv_game
      - diff notifications.cfg data/data/notifications_dump.cfg ||\r
          { echo 'Please update notifications.cfg using `dumpnotifs`!'; exit 1; }\r
  \r
-     - wget -O data/stormkeep.pk3 http://beta.xonotic.org/autobuild-bsp/latest/stormkeep.pk3\r
-     - wget -O data/maps/stormkeep.mapinfo https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.mapinfo\r
-     - wget -O data/maps/stormkeep.waypoints https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints\r
-     - wget -O data/maps/stormkeep.waypoints.cache https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints.cache\r
+ #    - wget -nv -O data/stormkeep.pk3 http://beta.xonotic.org/autobuild-bsp/latest/stormkeep.pk3\r
+ # ^^ INCORRECT: /latest/stormkeep.pk3 is the most recently built, not necessarily the one built from master!\r
+ # we can't get the one from master directly as there's no /stable/stormkeep.pk3 or /master/stormkeep.pk3\r
+ # and we can't run misc/tools/xonotic-map-compiler-autobuild as it uses commit hashes from xonotic-maps.pk3dir to generate filenames\r
+ # but the autobuild server can run it and provide us the resulting pk3:\r
+     - wget -nv -O data/stormkeep.pk3 https://beta.xonotic.org/pipeline-bin/stormkeep.pk3\r
+ # see also: misc/infrastructure/xonotic-release-build.cron\r
+     - wget -nv -O data/maps/stormkeep.mapinfo https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.mapinfo\r
+     - wget -nv -O data/maps/stormkeep.waypoints https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints\r
+     - wget -nv -O data/maps/stormkeep.waypoints.cache https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints.cache\r
  \r
-     - EXPECT=77364c2d1f95a5ff36fb7ad21e1a5ac6\r
 -    - EXPECT=fe5dec36cb304c55acee73afd1e09c0a\r
++    - EXPECT=3f5d7c3810b74874094de348c651363d\r
      - HASH=$(${ENGINE} +timestamps 1 +exec serverbench.cfg\r
        | tee /dev/stderr\r
        | sed -e 's,^\[[^]]*\] ,,'\r
index ba39341df45da0ad216d24e497690ab3994c93f9,259c2c31dd3194e93cf125d29c4159938bad9eb5..d7181857339bba2a52edea64f166a946485cf728
@@@ -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_tka
  alias cl_hook_gameend
  alias cl_hook_shutdown
  alias cl_hook_activeweapon
index 51ab9231ea0b308579d833869b2fef7b2adccf5d,eb0dcdcdcf0618730573e619cada576e07a0cc4a..595fc5912aeee92b894f17d73b9029fc7a0f861a
@@@ -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_tka
  // 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_tka
  
  // 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_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
  
  
  // =========
@@@ -585,34 -595,44 +604,76 @@@ 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"
++
 +// ===============
 +//  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"
index 922442320cdf61b36f356e2ff89f1d614cb2e21c,1ca6b1d94a338381dea5a065aa19e0965d313096..c3b9107f57825f44e940f5b8d2febca33305c636
@@@ -16,4 -17,4 +17,5 @@@
  #include <common/gamemodes/gamemode/onslaught/_mod.inc>
  #include <common/gamemodes/gamemode/race/_mod.inc>
  #include <common/gamemodes/gamemode/tdm/_mod.inc>
 +#include <common/gamemodes/gamemode/tka/_mod.inc>
+ #include <common/gamemodes/gamemode/tmayhem/_mod.inc>
index 01224714f1170696e19cebb23cbbd0adae78f1c3,ca2cffe8bd1cc0d1ed2f429b774ec86bef3ea9b8..9c10f7dabd04acbd5e265f96f95f1d2aaba957dc
@@@ -16,4 -17,4 +17,5 @@@
  #include <common/gamemodes/gamemode/onslaught/_mod.qh>
  #include <common/gamemodes/gamemode/race/_mod.qh>
  #include <common/gamemodes/gamemode/tdm/_mod.qh>
 +#include <common/gamemodes/gamemode/tka/_mod.qh>
+ #include <common/gamemodes/gamemode/tmayhem/_mod.qh>
Simple merge
index 30b9e2d193c3885b167895eda62d1dd4af980e8e,86b0f5e87eb5feec570ee155f8fcacfd12a139de..717865d79a1ffcc8ce86cc09c9eddcd2c64a3f99
@@@ -653,8 -653,9 +653,10 @@@ float updateCompression(
        GAMETYPE(MAPINFO_TYPE_CTF) \
        GAMETYPE(MAPINFO_TYPE_CA) \
        GAMETYPE(MAPINFO_TYPE_FREEZETAG) \
+       GAMETYPE(MAPINFO_TYPE_TEAM_MAYHEM) \
+       GAMETYPE(MAPINFO_TYPE_MAYHEM) \
        GAMETYPE(MAPINFO_TYPE_KEEPAWAY) \
 +      GAMETYPE(MAPINFO_TYPE_TEAM_KEEPAWAY) \
        GAMETYPE(MAPINFO_TYPE_KEYHUNT) \
        GAMETYPE(MAPINFO_TYPE_LMS) \
        GAMETYPE(MAPINFO_TYPE_DOMINATION) \
index 2bbe27d81fcc51c02ff6927117eacb078973ae50,c04b188fa4cd6addfb74e65809b6e2522d56c11f..46ff580615c75f6e5d7dae7a17fe97b30a07fda1
@@@ -298,10 -300,8 +300,12 @@@ void cvar_changes_init(
                BADCVAR("g_tdm");
                BADCVAR("g_tdm_on_dm_maps");
                BADCVAR("g_tdm_teams");
 +              BADCVAR("g_tka");
 +              BADCVAR("g_tka_on_ka_maps");
 +              BADCVAR("g_tka_on_tdm_maps");
 +              BADCVAR("g_tka_teams");
+               BADCVAR("g_tmayhem");
+               BADCVAR("g_tmayhem_teams");
                BADCVAR("g_vip");
                BADCVAR("leadlimit");
                BADCVAR("nextmap");