diff --git a/code/datums/shuttle.dm b/code/datums/shuttle.dm index 8987582bba8..0b413422262 100644 --- a/code/datums/shuttle.dm +++ b/code/datums/shuttle.dm @@ -674,7 +674,7 @@ turfs_to_update += new_turf //Delete the old turf - var/replacing_turf_type = get_base_turf(old_turf.z) + var/replacing_turf_type = old_turf.get_underlying_turf() var/obj/docking_port/destination/D = linked_port.docked_with if(D && istype(D)) replacing_turf_type = D.base_turf_type diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 5220cbd6bb4..e7ff8395a6d 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -10,6 +10,8 @@ var/turret_protected = 0 var/list/turretTargets = list() + var/base_turf_type = null + /area/New() area_turfs = list() icon_state = "" diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 81396dc5c7a..c3349bb3e39 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -66,7 +66,7 @@ var/image/list/w_overlays = list("wet" = image('icons/effects/water.dmi',icon_st //set src in oview(1) switch(severity) if(1.0) - src.ChangeTurf(get_base_turf(src.z)) + src.ChangeTurf(get_underlying_turf()) if(2.0) switch(pick(1,2;75,3)) if (1) @@ -75,7 +75,7 @@ var/image/list/w_overlays = list("wet" = image('icons/effects/water.dmi',icon_st var/obj/item/stack/sheet/metal/M = getFromPool(/obj/item/stack/sheet/metal, get_turf(src)) M.amount = 1 if(2) - src.ChangeTurf(get_base_turf(src.z)) + src.ChangeTurf(get_underlying_turf()) if(3) if(prob(80)) src.break_tile_to_plating() diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index 18851e01a29..fd9b8a5a92d 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -126,7 +126,7 @@ if(prob(80)) src.ReplaceWithLattice() else if(prob(50)) - src.ChangeTurf(get_base_turf(src.z)) + src.ChangeTurf(get_underlying_turf()) else var/turf/simulated/floor/F = src F.make_plating() diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 1d56abd73f6..7e7f8f6cce2 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -61,7 +61,7 @@ severity = 1.0 switch(severity) if(1.0) - src.ChangeTurf(get_base_turf(src.z)) //You get NOTHING, you LOSE + src.ChangeTurf(get_underlying_turf()) //You get NOTHING, you LOSE return if(2.0) if(prob(50)) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 23e287585bb..348e167f510 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -503,8 +503,15 @@ S.air.update_values() */ +/turf/proc/get_underlying_turf() + var/area/A = loc + if(A.base_turf_type) + return A.base_turf_type + + return get_base_turf(z) + /turf/proc/ReplaceWithLattice() - src.ChangeTurf(get_base_turf(src.z)) + src.ChangeTurf(get_underlying_turf()) if(istype(src, /turf/space)) new /obj/structure/lattice(src) @@ -623,7 +630,7 @@ /turf/proc/cultify() - if(istype(src, get_base_turf(src.z))) //Don't cultify the base turf, ever + if(istype(src, get_underlying_turf())) //Don't cultify the base turf, ever return ChangeTurf(get_base_turf(src.z)) @@ -631,7 +638,7 @@ return PROJREACT_WALLS /turf/singularity_act() - if(istype(src, get_base_turf(src.z))) //Don't singulo the base turf, ever + if(istype(src, get_underlying_turf())) //Don't singulo the base turf, ever return if(intact) for(var/obj/O in contents) @@ -639,7 +646,7 @@ continue if(O.invisibility == 101) O.singularity_act() - ChangeTurf(get_base_turf(src.z)) + ChangeTurf(get_underlying_turf()) return(2) //Return a lattice to allow catwalk building diff --git a/code/modules/RCD/schematics/engi.dm b/code/modules/RCD/schematics/engi.dm index 11cf14ce53e..4098c8dc5be 100644 --- a/code/modules/RCD/schematics/engi.dm +++ b/code/modules/RCD/schematics/engi.dm @@ -31,7 +31,7 @@ return 1 playsound(get_turf(master), 'sound/items/Deconstruct.ogg', 50, 1) - T.ChangeTurf(get_base_turf(T.z)) + T.ChangeTurf(T.get_underlying_turf()) return 0 else if(istype(A, /obj/machinery/door/airlock)) @@ -146,9 +146,9 @@ /datum/rcd_schematic/con_airlock/get_HTML(var/obj/machinery/door/airlock/D) . = "
" . += {" - +