diff --git a/src/elements/gel.c b/src/elements/gel.c index ebc582401..d17a552c3 100644 --- a/src/elements/gel.c +++ b/src/elements/gel.c @@ -50,8 +50,14 @@ int update_GEL(UPDATE_FUNC_ARGS) { per *= 0.1; dx *= per; dy *= per; - parts[i].vx += dx; parts[r>>8].vx -= dx; - parts[i].vy += dy; parts[r>>8].vy -= dy; + parts[i].vx += dx; + parts[i].vy += dy; + + if ((ptypes[r&0xFF].state!=ST_SOLID && ptypes[r&0xFF].state!=ST_NONE) || (r&0xFF)==PT_GOO) + { + parts[r>>8].vx -= dx; + parts[r>>8].vy -= dy; + } } } return 0;