--- a/Game/src/gamedef.c +++ b/Game/src/gamedef.c @@ -2937,7 +2937,12 @@ parseifelse( (( hittype[g_i].floorz - hittype[g_i].ceilingz ) >> 8 ) < *insptr); break; case 63: - parseifelse( sync[g_p].bits&(1<<29)); + /* Modern bindings put Jump on Space. Accept it for restart only + * when this script belongs to the dead player; living actor + * interactions must remain Open-only. */ + parseifelse(sync[g_p].bits & + ((g_sp->picnum == APLAYER && g_sp->extra <= 0) + ? ((1u << 29) | 1u) : (1u << 29))); break; case 64: parseifelse(sector[g_sp->sectnum].ceilingstat&1);