diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 6661c2ad868..660d16aa0dd 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -441,7 +441,6 @@ opacity = FALSE var/ini_dir - /obj/machinery/door/firedoor/border_only/Initialize(mapload, loc, set_dir) . = ..() if(set_dir) @@ -529,17 +528,23 @@ leaving.Bump(src) return COMPONENT_ATOM_BLOCK_EXIT -//NSV13 - npcs can into firelock -/obj/machinery/door/firedoor/border_only/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller) - if((welded || (machine_stat & NOPOWER)) && (dir == to_dir)) +//NSV13 - knpcs can into firelock +/obj/machinery/door/firedoor/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller) + if(istype(caller) && (caller.pass_flags & pass_flags_self)) + return TRUE + if(!density) + return TRUE + if(welded) return FALSE + if(!hasPower()) + return isknpc(caller) return TRUE /obj/machinery/door/firedoor/border_only/CanAtmosPass(turf/T) if(get_dir(loc, T) == dir) return !density else - return TRUE + return 1 //NSV13 end /obj/machinery/door/firedoor/heavy