diff --git a/src/p_mobj.c b/src/p_mobj.c index a5539193a..69a605c39 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -2379,9 +2379,6 @@ boolean P_ZMovement(mobj_t *mo) && !(mo->flags & MF_NOCLIPHEIGHT)) { vector3_t mom; - mom.x = mo->momx; - mom.y = mo->momy; - mom.z = mo->momz; if (mo->eflags & MFE_VERTICALFLIP) mo->z = mo->ceilingz - mo->height; @@ -2398,6 +2395,11 @@ boolean P_ZMovement(mobj_t *mo) if (P_MobjWasRemoved(mo)) // mobjs can be removed by P_CheckPosition -- Monster Iestyn 31/07/21 return false; + // Set these here since P_CheckPosition can alter object's momentum values + mom.x = mo->momx; + mom.y = mo->momy; + mom.z = mo->momz; + K_UpdateMobjTerrain(mo, ((mo->eflags & MFE_VERTICALFLIP) ? tm.ceilingpic : tm.floorpic)); if (((mo->eflags & MFE_VERTICALFLIP) ? tm.ceilingslope : tm.floorslope) && (mo->type != MT_STEAM))