diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 305635c7626..36699389edd 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -115,12 +115,14 @@ ..() /obj/machinery/computer/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) - if(istype(mover,/obj/item/projectile)) + if(istype(mover,/obj/item/projectile) && density) if (prob(80)) //Holoscreens are non solid, and the frames of the computers are thin. So projectiles will usually //pass through return 1 - else if(istype(mover) && mover.checkpass(PASSTABLE)) + else + return 0 + else if(isanimal(mover) && mover.checkpass(PASSTABLE)) //Animals can run under them, lots of empty space return 1 - return 0 \ No newline at end of file + return ..() diff --git a/code/modules/modular_computers/computers/machinery/modular_console.dm b/code/modules/modular_computers/computers/machinery/modular_console.dm index cd45e9ee403..0f6348deb9c 100644 --- a/code/modules/modular_computers/computers/machinery/modular_console.dm +++ b/code/modules/modular_computers/computers/machinery/modular_console.dm @@ -46,12 +46,14 @@ update_icon() /obj/machinery/modular_computer/console/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) - if(istype(mover,/obj/item/projectile)) + if(istype(mover,/obj/item/projectile) && density) if (prob(80)) //Holoscreens are non solid, and the frames of the computers are thin. So projectiles will usually //pass through return 1 - else if(istype(mover) && mover.checkpass(PASSTABLE)) + else + return 0 + else if(isanimal(mover) && mover.checkpass(PASSTABLE)) //Animals can run under them, lots of empty space return 1 - return 0 \ No newline at end of file + return ..()