--- a/src/monmove.cpp +++ b/src/monmove.cpp @@ -244,6 +244,9 @@ return false; } } else if( p.z < pos().z && z_is_valid( pos().z ) ) { + if( here.has_flag( TFLAG_RAMP_DOWN, tripoint( p.xy(), p.z + 1 ) ) ) { + return true; + } if( !here.has_flag( TFLAG_GOES_DOWN, pos() ) ) { // can't go through the floor // you would fall anyway if there was no floor, so no need to check for that here