diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index 553d98e3ebd..d933dfb899a 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -2105,7 +2105,7 @@
"aOy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/maintenance/fsmaint2)
"aOz" = (/obj/machinery/mass_driver{dir = 4; id_tag = "chapelgun"},/obj/machinery/door/window{dir = 8; name = "Mass Driver"; req_access_txt = "22"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fsmaint2)
"aOA" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/fsmaint2)
-"aOB" = (/obj/machinery/door/poddoor{id_tag = "chapelgun"; name = "Chapel Launcher Door"; protected = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
+"aOB" = (/obj/machinery/door/poddoor{id_tag = "chapelgun"; name = "Chapel Launcher Door"; protected = 0},/obj/structure/fans/tiny,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aOC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main)
"aOD" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/arrival/station)
"aOE" = (/obj/effect/landmark{name = "HONKsquad"},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
@@ -4243,7 +4243,7 @@
"bDE" = (/obj/effect/spawner/window/reinforced,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 0},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
"bDF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
"bDG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"bDH" = (/obj/machinery/door/poddoor{id_tag = "trash"; name = "disposal bay door"; protected = 0},/turf/simulated/floor/plating/airless,/area/maintenance/disposal)
+"bDH" = (/obj/machinery/door/poddoor{id_tag = "trash"; name = "disposal bay door"; protected = 0},/obj/structure/fans/tiny,/turf/simulated/floor/plating,/area/maintenance/disposal)
"bDI" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/quartermaster/storage)
"bDJ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bDK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
@@ -5847,7 +5847,7 @@
"ciw" = (/obj/machinery/mass_driver{dir = 4; id_tag = "toxinsdriver"},/turf/simulated/floor/plating,/area/toxins/mixing)
"cix" = (/turf/simulated/floor/plating,/area/toxins/mixing)
"ciy" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/toxins/mixing)
-"ciz" = (/obj/machinery/door/poddoor{id_tag = "toxinsdriver"; name = "Toxins Launcher Bay Door"; protected = 0},/turf/simulated/floor/plating,/area/toxins/mixing)
+"ciz" = (/obj/machinery/door/poddoor{id_tag = "toxinsdriver"; name = "Toxins Launcher Bay Door"; protected = 0},/obj/structure/fans/tiny,/turf/simulated/floor/plating,/area/toxins/mixing)
"ciA" = (/obj/machinery/door/poddoor{id_tag = "toxinsdriver"; name = "Toxins Launcher Bay Door"; protected = 0},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
"ciB" = (/obj/item/device/radio/beacon,/obj/effect/decal/warning_stripes/red/hollow,/turf/simulated/floor/plasteel/airless,/area/toxins/test_area)
"ciC" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "wall3"},/area/toxins/test_area)
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index 431e6ea028b..f82975572a2 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -249,4 +249,50 @@
if(colorindex >= 6)
colorindex = 0
icon_state = "mobcap[colorindex]"
- update_icon()
\ No newline at end of file
+ update_icon()
+
+//Fans
+/obj/structure/fans
+ icon = 'icons/obj/lavaland/survival_pod.dmi'
+ icon_state = "fans"
+ name = "environmental regulation system"
+ desc = "A large machine releasing a constant gust of air."
+ anchored = 1
+ density = 1
+ var/arbitraryatmosblockingvar = 1
+ var/buildstacktype = /obj/item/stack/sheet/metal
+ var/buildstackamount = 5
+
+/obj/structure/fans/proc/deconstruct()
+ if(buildstacktype)
+ new buildstacktype(loc, buildstackamount)
+ qdel(src)
+
+/obj/structure/fans/attackby(obj/item/weapon/W, mob/user, params)
+ if(istype(W, /obj/item/weapon/wrench))
+ playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ user.visible_message("[user] disassembles the fan.", \
+ "You start to disassemble the fan...", "You hear clanking and banging noises.")
+ if(do_after(user, 20, target = src))
+ deconstruct()
+ return ..()
+
+/obj/structure/fans/tiny
+ name = "tiny fan"
+ desc = "A tiny fan, releasing a thin gust of air."
+ layer = TURF_LAYER+0.1
+ density = 0
+ icon_state = "fan_tiny"
+ buildstackamount = 2
+
+/obj/structure/fans/New(loc)
+ ..()
+ air_update_turf(1)
+
+/obj/structure/fans/Destroy()
+ arbitraryatmosblockingvar = 0
+ air_update_turf(1)
+ return ..()
+
+/obj/structure/fans/CanAtmosPass(turf/T)
+ return !arbitraryatmosblockingvar
\ No newline at end of file
diff --git a/icons/obj/lavaland/survival_pod.dmi b/icons/obj/lavaland/survival_pod.dmi
new file mode 100644
index 00000000000..62aad7854d2
Binary files /dev/null and b/icons/obj/lavaland/survival_pod.dmi differ