if(!e.autoscreenshot) // initial call
{
e.autoscreenshot = time + 0.8; // used for autoscreenshot
- SetResourceExplicit(e, RES_HEALTH, -2342);
- // first intermission phase; voting phase has positive health (used to decide whether to send SVC_FINALE or not)
+ SetResourceExplicit(e, RES_HEALTH, -2342); // health in the first intermission phase
for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
{
- .entity weaponentity = weaponentities[slot];
+ .entity weaponentity = weaponentities[slot];
if(e.(weaponentity))
{
e.(weaponentity).effects = EF_NODRAW;
bool autocvar_sv_autoscreenshot;
string autocvar_sv_intermission_cdtrack;
-float intermission_running;
+bool intermission_running;
float intermission_exittime;
-float alreadychangedlevel;
+bool alreadychangedlevel;
string GetGametype();
return;
int totalvotes = 0;
- FOREACH_CLIENT(IS_REAL_CLIENT(it), {
+ FOREACH_CLIENT(true, {
+ if(!IS_REAL_CLIENT(it))
+ {
+ // apply the same special health value to bots too for consistency's sake
+ if(GetResource(it, RES_HEALTH) != 2342)
+ SetResourceExplicit(it, RES_HEALTH, 2342);
+ continue;
+ }
// hide scoreboard again
if(GetResource(it, RES_HEALTH) != 2342)
{
- SetResourceExplicit(it, RES_HEALTH, 2342);
+ SetResourceExplicit(it, RES_HEALTH, 2342); // health in the voting phase
CS(it).impulse = 0;
msg_entity = it;
void NextLevel()
{
game_stopped = true;
- intermission_running = 1; // game over
+ intermission_running = true; // game over
// enforce a wait time before allowing changelevel
if(player_count > 0)