]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'Mario/survival' into z411/bai-server
authorz411 <z411@omaera.org>
Sat, 27 Aug 2022 00:40:15 +0000 (20:40 -0400)
committerz411 <z411@omaera.org>
Sat, 27 Aug 2022 00:40:15 +0000 (20:40 -0400)
1  2 
gamemodes-client.cfg
gamemodes-server.cfg
notifications.cfg
qcsrc/common/ent_cs.qc
qcsrc/common/gamemodes/gamemode/_mod.inc
qcsrc/common/gamemodes/gamemode/_mod.qh
qcsrc/common/notifications/all.inc
qcsrc/common/notifications/all.qh
qcsrc/common/scores.qh
qcsrc/common/stats.qh
qcsrc/menu/xonotic/util.qc

index 259c2c31dd3194e93cf125d29c4159938bad9eb5,1bc0853c690e18ddd0b5ced19f54977eb2a2531e..6960fe2dc84beaf025705027edf6aa1fee37b641
@@@ -32,8 -32,7 +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
index ce97ce92fdc92b486ae68516ae4af63c2c2fb638,2976590906a1a9372a6d6f4e7a3956895b5e9633..e78789ea92f133ed4e3d7515c36ff5bec30d731e
@@@ -29,8 -29,7 +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
@@@ -60,8 -59,7 +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.
@@@ -212,20 -210,13 +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
  
  
  // =========
@@@ -593,47 -570,13 +602,58 @@@ 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 frags in this chaotic mayhem!"
 +set g_tmayhem 0 "Team Mayhem: Compete with your team for the most damage dealt and frags in this chaotic mayhem!"
 +
 +set g_mayhem_scoringmethod 1 "1: By default 25% of the score is based on kills and 75% of it is based on damage. 2: 100% frags. 3: 100% damage."
 +set g_tmayhem_scoringmethod 1 "1: By default 25% of the score is based on kills and 75% of it is based on damage. 2: 100% frags. 3: 100% damage."
 +set g_mayhem_scoringmethod_1_damage_weight 0.75 "for the first scoring method how much is damage equal to player's spawning health worth in score"
 +set g_tmayhem_scoringmethod_1_damage_weight 0.75 "for the first scoring method how much is damage equal to player's spawning health worth in score"
 +set g_mayhem_scoringmethod_1_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_scoringmethod_1_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_scoringmethod_1_frag_weight 0.25 "for the first scoring method how much is a frag worth in score"
 +set g_tmayhem_scoringmethod_1_frag_weight 0.25 "for the first scoring method how much is a frag worth in score"
 +
 +set g_mayhem_fraglimit 30 "Team Mayhem basis for how many frags until the match ends, edit this over point_limit preferably"
 +set g_tmayhem_fraglimit 50 "Team Mayhem basis for how many frags until the match ends, edit this over point_limit preferably"
 +
 +set g_mayhem_visual_score_limit 1000 "Mayhem visual score limit overriding the mapinfo specified one"
 +set g_tmayhem_visual_score_limit 1000 "Team Mayhem visual score limit overriding the mapinfo specified one"
 +
 +set g_tmayhem_score_leadlimit -1 "Team Mayhem score lead limit(based on tmayhem_visual_score_limit, not tmayhem_fraglimit) 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 180 "round time limit in seconds"
Simple merge
index c7b79a045e62d92b8b4dcf13725c64fe5b2a1a85,9ec68acb8155053aba99d89db8fe155ff71737de..de25214f450fe405ea3b2cd6d3971e5ab36d860c
@@@ -165,11 -157,11 +165,16 @@@ ENTCS_PROP(SOLID, true, sv_solid, solid
        { WriteByte(chan, ent.sv_solid); },
        { ent.sv_solid = ReadByte(); })
  
 +// z411 weapon
 +ENTCS_PROP(ACTIVEWEPID, false, activewepid, activewepid, ENTCS_SET_NORMAL,
 +      { WriteByte(chan, ent.activewepid); },
 +      { ent.activewepid = ReadByte(); })
 +
+ // gamemode specific player survival status (independent of score and frags)
+ ENTCS_PROP(SURVIVAL_STATUS, true, survival_status, survival_status, ENTCS_SET_NORMAL,
+       { WriteShort(chan, ent.survival_status); },
+       { ent.survival_status = ReadShort(); })
  #ifdef SVQC
  
        int ENTCS_PUBLICMASK = 0, ENTCS_PRIVATEMASK = 0;
index 1ca6b1d94a338381dea5a065aa19e0965d313096,e261fa7b9fdc736fc5b7640689c7872d87dd2684..12a5510c3b06bbc6f55ece335daa98f4dfd1fe9c
@@@ -16,5 -15,5 +16,6 @@@
  #include <common/gamemodes/gamemode/nexball/_mod.inc>
  #include <common/gamemodes/gamemode/onslaught/_mod.inc>
  #include <common/gamemodes/gamemode/race/_mod.inc>
+ #include <common/gamemodes/gamemode/survival/_mod.inc>
  #include <common/gamemodes/gamemode/tdm/_mod.inc>
 +#include <common/gamemodes/gamemode/tmayhem/_mod.inc>
index ca2cffe8bd1cc0d1ed2f429b774ec86bef3ea9b8,928bd44cbe1205c7fc87498af845f26f40f36dee..a3208d4a63dd13982addf8db1fa90f8a3bc00600
@@@ -16,5 -15,5 +16,6 @@@
  #include <common/gamemodes/gamemode/nexball/_mod.qh>
  #include <common/gamemodes/gamemode/onslaught/_mod.qh>
  #include <common/gamemodes/gamemode/race/_mod.qh>
+ #include <common/gamemodes/gamemode/survival/_mod.qh>
  #include <common/gamemodes/gamemode/tdm/_mod.qh>
 +#include <common/gamemodes/gamemode/tmayhem/_mod.qh>
Simple merge
Simple merge
index f570e2cac8834842535ea7231fd59a1434b38251,9e570e30ebd1e44e233b70b18e8d97f8855def91..0b132a6b00942cf8c155c1618f0616cbd1555d07
@@@ -89,27 -88,8 +89,30 @@@ REGISTER_SP(NEXBALL_FAULTS)
  REGISTER_SP(ONS_TAKES);
  REGISTER_SP(ONS_CAPS);
  
 +REGISTER_SP(MEDAL_AIRSHOT);
 +REGISTER_SP(MEDAL_DAMAGE);
 +REGISTER_SP(MEDAL_ELECTROBITCH);
 +REGISTER_SP(MEDAL_EXCELLENT);
 +REGISTER_SP(MEDAL_FIRSTBLOOD);
 +REGISTER_SP(MEDAL_HEADSHOT);
 +REGISTER_SP(MEDAL_HUMILIATION);
 +REGISTER_SP(MEDAL_IMPRESSIVE);
 +REGISTER_SP(MEDAL_YODA);
 +REGISTER_SP(MEDAL_TELEFRAG);
 +
 +REGISTER_SP(MEDAL_ACCURACY);
 +REGISTER_SP(MEDAL_ASSIST);
 +REGISTER_SP(MEDAL_CAPTURE);
 +REGISTER_SP(MEDAL_DEFENSE);
 +REGISTER_SP(MEDAL_PERFECT);
 +
 +REGISTER_SP(MEDAL_KILLSTREAK_03);
 +REGISTER_SP(MEDAL_KILLSTREAK_05);
 +REGISTER_SP(MEDAL_KILLSTREAK_10);
 +REGISTER_SP(MEDAL_KILLSTREAK_15);
++
+ REGISTER_SP(SV_SURVIVALS);
+ REGISTER_SP(SV_HUNTS);
  #endif
  
  
Simple merge
Simple merge