diff --git a/src/p_map.c b/src/p_map.c index 8b07a4e32..b5fe7046e 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -493,12 +493,11 @@ static void P_DoFanAndGasJet(mobj_t *spring, mobj_t *object) break; if (spring->state != &states[S_STEAM1]) // Only when it bursts break; + if (object->eflags & MFE_SPRUNG) + break; if (spring->spawnpoint && spring->spawnpoint->options & MTF_OBJECTSPECIAL) { - if (object->eflags & MFE_SPRUNG) - break; - if (object->player) { object->player->trickpanel = 1; @@ -506,10 +505,13 @@ static void P_DoFanAndGasJet(mobj_t *spring, mobj_t *object) } K_DoPogoSpring(object, 32<momz = flipval*FixedMul(speed, FixedSqrt(FixedMul(spring->scale, object->scale))); // scale the speed with both objects' scales, just like with springs! + } + + object->eflags |= MFE_SPRUNG; break; default: break;