+ if (!n) // no teammate nearby
+ {
+ if (STAT(FROZEN, player) == FROZEN_NORMAL)
+ {
+ STAT(REVIVE_PROGRESS, player) = bound(0, STAT(REVIVE_PROGRESS, player) - frametime * autocvar_g_freezetag_revive_clearspeed, 1);
+ SetResourceExplicit(player, RES_HEALTH, max(1, STAT(REVIVE_PROGRESS, player) * ((warmup_stage) ? warmup_start_health : start_health)));
+ }
+ else if (!STAT(FROZEN, player))
+ STAT(REVIVE_PROGRESS, player) = 0; // thawing nobody
+ }
+ else if (STAT(FROZEN, player) == FROZEN_NORMAL) // OK, there is at least one teammate reviving us