diff --git a/code/__HELPERS/areas.dm b/code/__HELPERS/areas.dm index 3b1496bae0..d7378abfa6 100644 --- a/code/__HELPERS/areas.dm +++ b/code/__HELPERS/areas.dm @@ -227,6 +227,8 @@ /proc/get_sub_areas_contents(area/A, include_base = TRUE) if(ispath(A)) A = GLOB.areas_by_type[A] + else + A = get_area(A) //in case it's called on other atoms. if(!A) return if(A.base_area) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 0e2363cb6a..5555e05eb0 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -198,7 +198,7 @@ return else if(W.force) //hit and turn it on ..() - var/area/A = get_area(src) + var/area/A = get_base_area(src) if(!A.fire) alarm() return diff --git a/code/modules/VR/vr_sleeper.dm b/code/modules/VR/vr_sleeper.dm index b62c17832a..29d7224950 100644 --- a/code/modules/VR/vr_sleeper.dm +++ b/code/modules/VR/vr_sleeper.dm @@ -231,7 +231,7 @@ if (!vr_area) qdel(src) return - var/list/contents = get_sub_areas_contents(src) + var/list/contents = get_sub_areas_contents(vr_area) for (var/obj/item/ammo_casing/casing in contents) qdel(casing) for(var/obj/effect/decal/cleanable/C in contents)