Battle: darken map for players who die during Overtime

This commit is contained in:
James R 2024-01-21 22:26:08 -08:00
parent 6b27a656e8
commit 311cf5ceea
2 changed files with 17 additions and 9 deletions

View file

@ -8921,19 +8921,22 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
P_DamageMobj(player->mo, NULL, NULL, 1, DMG_TIMEOVER);
}
if (leveltime < player->darkness_end)
if (!player->exiting && !(player->pflags & PF_ELIMINATED))
{
if (leveltime > player->darkness_end - DARKNESS_FADE_TIME)
if (leveltime < player->darkness_end)
{
player->darkness_start = leveltime - (player->darkness_end - leveltime);
if (leveltime > player->darkness_end - DARKNESS_FADE_TIME)
{
player->darkness_start = leveltime - (player->darkness_end - leveltime);
}
}
else
{
player->darkness_start = leveltime;
}
}
else
{
player->darkness_start = leveltime;
}
player->darkness_end = leveltime + (2 * DARKNESS_FADE_TIME);
player->darkness_end = leveltime + (2 * DARKNESS_FADE_TIME);
}
}
}

View file

@ -1799,6 +1799,11 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
if (battleovertime.enabled >= 10*TICRATE) // Overtime Barrier is armed
{
target->player->pflags |= PF_ELIMINATED;
if (target->player->darkness_end < leveltime)
{
target->player->darkness_start = leveltime;
}
target->player->darkness_end = INFTICS;
}
K_CheckBumpers();