diff --git a/src/p_user.c b/src/p_user.c index 36bc0a2fc3e2a72355a2e1fa70c8c2e1a99c1842..4b5b3cd795c12bc3f3f24eb5026c487ef47050e4 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -11251,7 +11251,10 @@ static void P_DoMetalJetFume(player_t *player, mobj_t *fume) if (panim == PA_WALK) { if (stat != fume->info->spawnstate) + { + fume->threshold = 0; P_SetMobjState(fume, fume->info->spawnstate); + } return; } } @@ -11282,6 +11285,12 @@ static void P_DoMetalJetFume(player_t *player, mobj_t *fume) if (underwater) { fume->frame = (fume->frame & FF_FRAMEMASK) | FF_ANIMATE | (P_RandomRange(0, 9) * FF_TRANS10); + fume->threshold = 1; + } + else if (fume->threshold) + { + fume->frame = (fume->frame & FF_FRAMEMASK) | fume->state->frame; + fume->threshold = 0; } }