diff --git a/src/p_acs.cpp b/src/p_acs.cpp index 03729e28fc..4eeec97351 100644 --- a/src/p_acs.cpp +++ b/src/p_acs.cpp @@ -3199,8 +3199,9 @@ bool DLevelScript::DoCheckActorTexture(int tid, AActor *activator, int string, b for (i = 0; i < numff; ++i) { F3DFloor *ff = sec->e->XFloor.ffloors[i]; - - if (actor->z >= ff->top.plane->ZatPoint(actor->x, actor->y)) + + if ((ff->flags & (FF_EXISTS | FF_SOLID)) == (FF_EXISTS | FF_SOLID) && + actor->z >= ff->top.plane->ZatPoint(actor->x, actor->y)) { // This floor is beneath our feet. secpic = *ff->top.texture; break; @@ -3219,7 +3220,8 @@ bool DLevelScript::DoCheckActorTexture(int tid, AActor *activator, int string, b { F3DFloor *ff = sec->e->XFloor.ffloors[i]; - if (z <= ff->bottom.plane->ZatPoint(actor->x, actor->y)) + if ((ff->flags & (FF_EXISTS | FF_SOLID)) == (FF_EXISTS | FF_SOLID) && + z <= ff->bottom.plane->ZatPoint(actor->x, actor->y)) { // This floor is above our eyes. secpic = *ff->bottom.texture; break;