diff --git a/src/k_hitlag.c b/src/k_hitlag.c index 5a4bcc73f..92b69bf31 100644 --- a/src/k_hitlag.c +++ b/src/k_hitlag.c @@ -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) { diff --git a/src/p_mobj.c b/src/p_mobj.c index ec92a5efc..b705772be 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -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; }