Disable invinc sprite flicker, MT_INVULNFLASH in reducevfx

This commit is contained in:
Eidolon 2025-10-16 16:32:36 -05:00
parent 507a4b6c91
commit 99542a5b00
2 changed files with 13 additions and 2 deletions

View file

@ -11828,10 +11828,10 @@ void K_KartResetPlayerColor(player_t *player)
}
else
{
flicker += ((defaultTime - player->invincibilitytimer) / TICRATE / 2) * (cv_reducevfx.value ? 4 : 1);
flicker += (defaultTime - player->invincibilitytimer) / TICRATE / 2;
}
if (leveltime % flicker == 0)
if (leveltime % flicker == 0 && !cv_reducevfx.value)
{
player->mo->color = SKINCOLOR_INVINCFLASH;
player->mo->colorized = true;

View file

@ -8327,6 +8327,17 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
P_RemoveMobj(mobj);
return false;
}
// This invinc mobj flickers intensely, so don't draw it in reducevfx
if (cv_reducevfx.value && (mobj->renderflags & RF_DONTDRAW) == 0)
{
mobj->renderflags |= RF_DONTDRAW;
}
if (!cv_reducevfx.value && (mobj->renderflags & RF_DONTDRAW) != 0)
{
mobj->renderflags ^= RF_DONTDRAW;
}
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z);
break;
case MT_BRAKEDRIFT: