diff --git a/code/controllers/subsystems/planets.dm b/code/controllers/subsystems/planets.dm index 913658f1c6..a163a3b1e7 100644 --- a/code/controllers/subsystems/planets.dm +++ b/code/controllers/subsystems/planets.dm @@ -63,7 +63,7 @@ SUBSYSTEM_DEF(planets) while(currentlist.len) var/turf/simulated/OT = currentlist[currentlist.len] currentlist.len-- - if(istype(OT) && z_to_planet.len >= OT.z && z_to_planet[OT.z]) + if(istype(OT) && OT.outdoors && z_to_planet.len >= OT.z && z_to_planet[OT.z]) var/datum/planet/P = z_to_planet[OT.z] P.planet_floors |= OT OT.vis_contents |= P.weather_holder.visuals diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 58aa30547d..d9543fed20 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -153,7 +153,7 @@ return 0 if(build_turf) - T.ChangeTurf(build_turf) + T.ChangeTurf(build_turf, preserve_outdoors = TRUE) else if(build_other) new build_other(T) else diff --git a/code/game/turfs/simulated/floor_attackby.dm b/code/game/turfs/simulated/floor_attackby.dm index 10e12d79be..57d51dbaea 100644 --- a/code/game/turfs/simulated/floor_attackby.dm +++ b/code/game/turfs/simulated/floor_attackby.dm @@ -33,7 +33,7 @@ if(R.use(1)) // Cost of roofing tiles is 1:1 with cost to place lattice and plating T.ReplaceWithLattice() - T.ChangeTurf(/turf/simulated/floor) + T.ChangeTurf(/turf/simulated/floor, preserve_outdoors = TRUE) playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) user.visible_message("[user] patches a hole in the ceiling.", "You patch a hole in the ceiling.") expended_tile = TRUE diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm index 1f1dfbf36c..73a56e8949 100644 --- a/code/game/turfs/simulated/wall_attacks.dm +++ b/code/game/turfs/simulated/wall_attacks.dm @@ -160,7 +160,7 @@ if(istype(T, /turf/simulated/open) || istype(T, /turf/space)) if(R.use(1)) // Cost of roofing tiles is 1:1 with cost to place lattice and plating T.ReplaceWithLattice() - T.ChangeTurf(/turf/simulated/floor) + T.ChangeTurf(/turf/simulated/floor, preserve_outdoors = TRUE) playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) user.visible_message("[user] patches a hole in the ceiling.", "You patch a hole in the ceiling.") expended_tile = TRUE diff --git a/code/game/turfs/turf_changing.dm b/code/game/turfs/turf_changing.dm index 60d26cc6ca..3b5a797c0a 100644 --- a/code/game/turfs/turf_changing.dm +++ b/code/game/turfs/turf_changing.dm @@ -22,7 +22,7 @@ below.update_icon() // To add or remove the 'ceiling-less' overlay. //Creates a new turf -/turf/proc/ChangeTurf(var/turf/N, var/tell_universe=1, var/force_lighting_update = 0) +/turf/proc/ChangeTurf(var/turf/N, var/tell_universe=1, var/force_lighting_update = 0, var/preserve_outdoors = FALSE) if (!N) return @@ -107,4 +107,6 @@ lighting_build_overlay() else lighting_clear_overlay() - outdoors = old_outdoors \ No newline at end of file + + if(preserve_outdoors) + outdoors = old_outdoors \ No newline at end of file