Fix stagger off-by-one in hitstop VFX

This commit is contained in:
AJ Martinez 2023-07-01 18:52:57 -07:00
parent 5f30f99c62
commit c0d025c1c4
2 changed files with 13 additions and 1 deletions

View file

@ -113,7 +113,11 @@ static void K_SpawnSingleHitLagSpark(
spark->angle += ANGLE_90;
}
spark->hitlag = pause;
if (pause > 0)
{
spark->hitlag = pause+1; // A little dumb, but hitlag is decremented on the same tic we spawn, so naively setting is off-by-one.
// spark->renderflags |= RF_DONTDRAW; // "Re-visible" behavior in P_MobjThinker, under a type check. (Currently unused.)
}
if (color != SKINCOLOR_NONE)
{

View file

@ -9895,6 +9895,14 @@ void P_MobjThinker(mobj_t *mobj)
K_HandleDirectionalInfluence(mobj->player);
}
// Hitlag VFX "stagger" behavior.
// Oni likes the look better if all sparks visibly hold on their 1st frame,
// but if we ever reverse course, this is here.
/*
if (mobj->type == MT_HITLAG && mobj->hitlag == 0)
mobj->renderflags &= ~RF_DONTDRAW;
*/
return;
}