diff --git a/code/controllers/subsystems/planets.dm b/code/controllers/subsystems/planets.dm index 913658f1c69..a163a3b1e79 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 58aa30547dc..d9543fed201 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 fca7a69a666..57d51dbaeac 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 @@ -156,4 +156,4 @@ return if(flooring) return - attackby(T, user) + attackby(T, user) \ No newline at end of file diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm index 1f1dfbf36ca..73a56e89495 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 1d776866612..3b5a797c0a0 100644 --- a/code/game/turfs/turf_changing.dm +++ b/code/game/turfs/turf_changing.dm @@ -22,17 +22,15 @@ 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 - /* VOREStation Edit Start - Say Nope To This. Tether's Z info is setup fine, trust it. // This makes sure that turfs are not changed to space when one side is part of a zone if(N == /turf/space) var/turf/below = GetBelow(src) if(istype(below) && (air_master.has_valid_zone(below) || air_master.has_valid_zone(src))) N = /turf/simulated/open - */ // VOREStation Edit End var/obj/fire/old_fire = fire var/old_opacity = opacity @@ -109,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