From: Mario Date: Tue, 16 May 2017 22:15:33 +0000 (+0000) Subject: Merge branch 'Mario/cts_respawn_clear' into 'master' X-Git-Tag: xonotic-v0.8.5~2782 X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=63ab06764e6e0a20481ab406863eb7bca32cb669;hp=0280360295b357680a97a795b9088b5f1a89d13d Merge branch 'Mario/cts_respawn_clear' into 'master' Merge branch Mario/cts_respawn_clear (S merge request) See merge request !432 --- diff --git a/qcsrc/server/client.qc b/qcsrc/server/client.qc index 95f2875271..d705fd63ab 100644 --- a/qcsrc/server/client.qc +++ b/qcsrc/server/client.qc @@ -910,7 +910,7 @@ void KillIndicator_Think(entity this) ClientKill_Now(this.owner); return; } - else if(g_cts && this.health == 1) // health == 1 means that it's silent + else if(this.health == 1) // health == 1 means that it's silent { this.nextthink = time + 1; this.cnt -= 1; @@ -940,11 +940,9 @@ void ClientKill_TeamChange (entity this, float targetteam) // 0 = don't change, killtime = autocvar_g_balance_kill_delay; - if(g_race_qualifying || g_cts) - killtime = 0; - if(MUTATOR_CALLHOOK(ClientKill, this, killtime)) return; + killtime = M_ARGV(1, float); this.killindicator_teamchange = targetteam; diff --git a/qcsrc/server/mutators/mutator/gamemode_race.qc b/qcsrc/server/mutators/mutator/gamemode_race.qc index c41586c046..c4c8f087e4 100644 --- a/qcsrc/server/mutators/mutator/gamemode_race.qc +++ b/qcsrc/server/mutators/mutator/gamemode_race.qc @@ -102,6 +102,12 @@ float WinningCondition_QualifyingThenRace(float limit) return wc; } +MUTATOR_HOOKFUNCTION(rc, ClientKill) +{ + if(g_race_qualifying) + M_ARGV(1, float) = 0; // killtime +} + MUTATOR_HOOKFUNCTION(rc, AbortSpeedrun) { entity player = M_ARGV(0, entity); diff --git a/qcsrc/server/player.qc b/qcsrc/server/player.qc index f22ff0daf8..faa3c81013 100644 --- a/qcsrc/server/player.qc +++ b/qcsrc/server/player.qc @@ -253,7 +253,7 @@ void calculate_player_respawn_time(entity this) )); if (sdelay_small_count == 0) { - if (g_cts) + if (IS_INDEPENDENT_PLAYER(this)) { // Players play independently. No point in requiring enemies. sdelay_small_count = 1; @@ -266,7 +266,7 @@ void calculate_player_respawn_time(entity this) } if (sdelay_large_count == 0) { - if (g_cts) + if (IS_INDEPENDENT_PLAYER(this)) { // Players play independently. No point in requiring enemies. sdelay_large_count = 1;