]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/gamemodes/gamemode/clanarena/sv_clanarena.qc
Resolve "CA uses LMS start values" and same for FT
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / gamemodes / gamemode / clanarena / sv_clanarena.qc
index 408a14e0d87fbac00a3dfcc11bd6292997149fe3..053987942d3937ce7cbf8e66e93c87b71bda9f84 100644 (file)
@@ -310,7 +310,10 @@ MUTATOR_HOOKFUNCTION(ca, MakePlayerObserver)
        if (IS_PLAYER(player) && !IS_DEAD(player))
                ca_LastPlayerForTeam_Notify(player);
        if (player.killindicator_teamchange == -2) // player wants to spectate
+       {
+               entcs_update_players(player);
                player.caplayer = 0;
+       }
        if (player.caplayer)
                player.frags = FRAGS_PLAYER_OUT_OF_GAME;
        if (!warmup_stage)
@@ -334,14 +337,14 @@ MUTATOR_HOOKFUNCTION(ca, GiveFragsForKill, CBC_ORDER_FIRST)
 MUTATOR_HOOKFUNCTION(ca, SetStartItems)
 {
        start_items       &= ~(IT_UNLIMITED_AMMO | IT_UNLIMITED_SUPERWEAPONS);
-       start_health       = warmup_start_health       = cvar("g_lms_start_health");
-       start_armorvalue   = warmup_start_armorvalue   = cvar("g_lms_start_armor");
-       start_ammo_shells  = warmup_start_ammo_shells  = cvar("g_lms_start_ammo_shells");
-       start_ammo_nails   = warmup_start_ammo_nails   = cvar("g_lms_start_ammo_nails");
-       start_ammo_rockets = warmup_start_ammo_rockets = cvar("g_lms_start_ammo_rockets");
-       start_ammo_cells   = warmup_start_ammo_cells   = cvar("g_lms_start_ammo_cells");
-       start_ammo_plasma  = warmup_start_ammo_plasma  = cvar("g_lms_start_ammo_plasma");
-       start_ammo_fuel    = warmup_start_ammo_fuel    = cvar("g_lms_start_ammo_fuel");
+       start_health       = warmup_start_health       = cvar("g_ca_start_health");
+       start_armorvalue   = warmup_start_armorvalue   = cvar("g_ca_start_armor");
+       start_ammo_shells  = warmup_start_ammo_shells  = cvar("g_ca_start_ammo_shells");
+       start_ammo_nails   = warmup_start_ammo_nails   = cvar("g_ca_start_ammo_nails");
+       start_ammo_rockets = warmup_start_ammo_rockets = cvar("g_ca_start_ammo_rockets");
+       start_ammo_cells   = warmup_start_ammo_cells   = cvar("g_ca_start_ammo_cells");
+       start_ammo_plasma  = warmup_start_ammo_plasma  = cvar("g_ca_start_ammo_plasma");
+       start_ammo_fuel    = warmup_start_ammo_fuel    = cvar("g_ca_start_ammo_fuel");
 }
 
 MUTATOR_HOOKFUNCTION(ca, Damage_Calculate)
@@ -377,6 +380,9 @@ MUTATOR_HOOKFUNCTION(ca, FilterItem)
 
 MUTATOR_HOOKFUNCTION(ca, PlayerDamage_SplitHealthArmor)
 {
+       if (time < game_starttime || (round_handler_IsActive() && !round_handler_IsRoundStarted()))
+               return;
+
        entity frag_attacker = M_ARGV(1, entity);
        entity frag_target = M_ARGV(2, entity);
        float frag_damage = M_ARGV(7, float);