void freezetag_Initialize()
{
precache_model("models/ice/ice.md3");
- next_round = time + 5;
+ warmup = time + cvar("g_freezetag_warmup");
}
void freezetag_CheckWinner()
{
- if(next_round)
+ if(next_round || (time > warmup - cvar("g_freezetag_warmup") && time < warmup))
return; // already waiting for next round to start
if((redalive >= 1 && bluealive >= 1) // counted in arena.qc
if(self.waypointsprite_attached)
{
WaypointSprite_UpdateTeamRadar(self.waypointsprite_attached, RADARICON_WAYPOINT, '0.25 0.90 1');
- //WaypointSprite_UpdateMaxHealth(self.waypointsprite_attached, ITEM_RESPAWN_TICKS + 1);
- //WaypointSprite_UpdateBuildFinished(self.waypointsprite_attached, time + ITEM_RESPAWN_TICKS);
}
}
if(other.team == self.team)
{
teammate_nearby = boxesoverlap(self.absmin - revive_extra_size, self.absmax + revive_extra_size, other.absmin, other.absmax);
- break;
+ if(teammate_nearby)
+ break;
}
}
}
if(self.freezetag_beginrevive_time == -9999)
{
self.freezetag_beginrevive_time = time;
+ self.freezetag_revive_progress = 0;
+ other.freezetag_revive_progress = 0;
}
else
{
+ self.freezetag_revive_progress = (time - self.freezetag_beginrevive_time) / cvar("g_freezetag_revive_time");
+ other.freezetag_revive_progress = (time - self.freezetag_beginrevive_time) / cvar("g_freezetag_revive_time");
if(time - self.freezetag_beginrevive_time >= cvar("g_freezetag_revive_time"))
{
freezetag_Unfreeze();
bprint("^7", other.netname, "^5 revived ^7", self.netname, ".\n");
self.freezetag_beginrevive_time = -9999;
+ self.freezetag_revive_progress = 0;
+ other.freezetag_revive_progress = 0;
}
}
}
else
{
self.freezetag_beginrevive_time = -9999;
+ self.freezetag_revive_progress = 0;
+ other.freezetag_revive_progress = 0;
}
return 1;