From: terencehill Date: Mon, 22 Oct 2018 21:32:54 +0000 (+0200) Subject: Add g_freezetag_revive_auto cvar X-Git-Tag: xonotic-v0.8.5~688^2~20 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=9809a50b99c458f37c2579f19c958ed893303fcd;p=xonotic%2Fxonotic-data.pk3dir.git Add g_freezetag_revive_auto cvar --- diff --git a/gamemodes-server.cfg b/gamemodes-server.cfg index f590c5949..43fb3910b 100644 --- a/gamemodes-server.cfg +++ b/gamemodes-server.cfg @@ -365,6 +365,7 @@ set g_freezetag_revive_extra_size 100 "Distance in qu that you can stand from a set g_freezetag_revive_nade 1 "Enable reviving from own nade explosion" set g_freezetag_revive_nade_health 40 "Amount of health player has if they revived from their own nade explosion" set g_freezetag_round_timelimit 180 "round time limit in seconds" +set g_freezetag_revive_auto 1 "automatically revive frozen players after some time (g_freezetag_frozen_maxtime)" set g_freezetag_revive_auto_progress 1 "start the automatic reviving progress as soon as the player gets frozen" set g_freezetag_frozen_maxtime 60 "frozen players will be automatically unfrozen after this time in seconds" seta g_freezetag_teams_override 0 diff --git a/qcsrc/common/gamemodes/gamemode/freezetag/sv_freezetag.qc b/qcsrc/common/gamemodes/gamemode/freezetag/sv_freezetag.qc index 69d4367b4..aa2cbbf80 100644 --- a/qcsrc/common/gamemodes/gamemode/freezetag/sv_freezetag.qc +++ b/qcsrc/common/gamemodes/gamemode/freezetag/sv_freezetag.qc @@ -200,7 +200,7 @@ void freezetag_Freeze(entity targ, entity attacker) if(STAT(FROZEN, targ)) return; - if(autocvar_g_freezetag_frozen_maxtime > 0) + if (autocvar_g_freezetag_revive_auto && autocvar_g_freezetag_frozen_maxtime > 0) targ.freezetag_frozen_timeout = time + autocvar_g_freezetag_frozen_maxtime; Freeze(targ, 0, FROZEN_NORMAL, true); @@ -494,10 +494,8 @@ MUTATOR_HOOKFUNCTION(ft, PlayerPreThink, CBC_ORDER_FIRST) }); } - // TODO patch nade code - // TODO add autocvar_g_freezetag_revive_auto float base_progress = 0; - if (STAT(FROZEN, player) == FROZEN_NORMAL + if (STAT(FROZEN, player) == FROZEN_NORMAL && autocvar_g_freezetag_revive_auto && autocvar_g_freezetag_frozen_maxtime > 0 && autocvar_g_freezetag_revive_auto_progress) { base_progress = bound(0, (1 - (player.freezetag_frozen_timeout - time) / autocvar_g_freezetag_frozen_maxtime), 1); diff --git a/qcsrc/common/gamemodes/gamemode/freezetag/sv_freezetag.qh b/qcsrc/common/gamemodes/gamemode/freezetag/sv_freezetag.qh index 29d30d508..07a59272a 100644 --- a/qcsrc/common/gamemodes/gamemode/freezetag/sv_freezetag.qh +++ b/qcsrc/common/gamemodes/gamemode/freezetag/sv_freezetag.qh @@ -27,6 +27,7 @@ const float ICE_MAX_ALPHA = 1; const float ICE_MIN_ALPHA = 0.1; float freezetag_teams; +bool autocvar_g_freezetag_revive_auto; int autocvar_g_freezetag_revive_auto_progress; float autocvar_g_freezetag_revive_extra_size; float autocvar_g_freezetag_revive_speed;