diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm index 750f2c62896..ddd7d463fe1 100644 --- a/code/_helpers/unsorted.dm +++ b/code/_helpers/unsorted.dm @@ -947,7 +947,7 @@ proc/DuplicateObject(obj/original, var/perfectcopy = 0 , var/sameloc = 0) var/old_underlays = T.underlays.Copy() if(platingRequired) - if(istype(B, get_base_turf(B.z))) + if(istype(B, get_base_turf_by_area(B))) continue moving var/turf/X = B diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 5a8d353015c..24960b5b05c 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -146,6 +146,7 @@ area/space/atmosalert() /area/shuttle requires_power = 0 sound_env = SMALL_ENCLOSED + base_turf = /turf/space /area/shuttle/arrival name = "\improper Arrival Shuttle" @@ -158,6 +159,7 @@ area/space/atmosalert() /area/shuttle/escape name = "\improper Emergency Shuttle" + flags = RAD_SHIELDED music = "music/escape.ogg" /area/shuttle/escape/station @@ -175,6 +177,7 @@ area/space/atmosalert() /area/shuttle/escape_pod1 name = "\improper Escape Pod One" music = "music/escape.ogg" + flags = RAD_SHIELDED /area/shuttle/escape_pod1/station icon_state = "shuttle2" @@ -188,6 +191,7 @@ area/space/atmosalert() /area/shuttle/escape_pod2 name = "\improper Escape Pod Two" music = "music/escape.ogg" + flags = RAD_SHIELDED /area/shuttle/escape_pod2/station icon_state = "shuttle2" @@ -201,6 +205,7 @@ area/space/atmosalert() /area/shuttle/escape_pod3 name = "\improper Escape Pod Three" music = "music/escape.ogg" + flags = RAD_SHIELDED /area/shuttle/escape_pod3/station icon_state = "shuttle2" @@ -214,6 +219,7 @@ area/space/atmosalert() /area/shuttle/escape_pod5 //Pod 4 was lost to meteors name = "\improper Escape Pod Five" music = "music/escape.ogg" + flags = RAD_SHIELDED /area/shuttle/escape_pod5/station icon_state = "shuttle2" @@ -263,20 +269,27 @@ area/space/atmosalert() /area/shuttle/specops/centcom name = "\improper Special Ops Shuttle" + flags = RAD_SHIELDED + +/area/shuttle/specops/centcom icon_state = "shuttlered" /area/shuttle/specops/station - name = "\improper Special Ops Shuttle" icon_state = "shuttlered2" -/area/shuttle/syndicate_elite/mothership +/area/shuttle/syndicate_elite name = "\improper Merc Elite Shuttle" + flags = RAD_SHIELDED + +/area/shuttle/syndicate_elite/mothership icon_state = "shuttlered" /area/shuttle/syndicate_elite/station - name = "\improper Merc Elite Shuttle" icon_state = "shuttlered2" +/area/shuttle/administration + flags = RAD_SHIELDED + /area/shuttle/administration/centcom name = "\improper Administration Shuttle Centcom" icon_state = "shuttlered" @@ -1167,6 +1180,7 @@ area/space/atmosalert() requires_power = 1 always_unpowered = 1 lighting_use_dynamic = 0 + base_turf = /turf/space auxport name = "\improper Fore Port Solar Array" diff --git a/code/game/base_turf.dm b/code/game/base_turf.dm index d214220f32d..91b6c4cc582 100644 --- a/code/game/base_turf.dm +++ b/code/game/base_turf.dm @@ -1,4 +1,4 @@ -// Returns the lowest turf available on a given Z-level, defaults to asteroid for Polaris. +// Returns the lowest turf available on a given Z-level var/global/list/base_turf_by_z = list( "5" = /turf/simulated/floor/asteroid // Moonbase. ) @@ -20,7 +20,7 @@ proc/get_base_turf_by_area(var/turf/T) set name = "Set Base Turf" set desc = "Set the base turf for a z-level." - if(!holder) return + if(!check_rights(R_DEBUG)) return var/choice = input("Which Z-level do you wish to set the base turf for?") as num|null if(!choice) diff --git a/code/game/gamemodes/cult/narsie.dm b/code/game/gamemodes/cult/narsie.dm index 87d921a3082..a3248a07e5b 100644 --- a/code/game/gamemodes/cult/narsie.dm +++ b/code/game/gamemodes/cult/narsie.dm @@ -223,9 +223,9 @@ var/global/list/narsie_list = list() consume(AM2) continue - if (dist <= consume_range && !istype(A, get_base_turf(A.z))) + if (dist <= consume_range && !istype(A, get_base_turf_by_area(A))) var/turf/T2 = A - T2.ChangeTurf(get_base_turf(A.z)) + T2.ChangeTurf(get_base_turf_by_area(A)) /obj/singularity/narsie/consume(const/atom/A) //This one is for the small ones. if(!(A.singuloCanEat())) @@ -265,9 +265,9 @@ var/global/list/narsie_list = list() spawn (0) AM2.singularity_pull(src, src.current_size) - if (dist <= consume_range && !istype(A, get_base_turf(A.z))) + if (dist <= consume_range && !istype(A, get_base_turf_by_area(A))) var/turf/T2 = A - T2.ChangeTurf(get_base_turf(A.z)) + T2.ChangeTurf(get_base_turf_by_area(A)) /obj/singularity/narsie/ex_act(severity) //No throwing bombs at it either. --NEO return diff --git a/code/game/gamemodes/events/black_hole.dm b/code/game/gamemodes/events/black_hole.dm index 9c212ae0c51..a8b0071f657 100644 --- a/code/game/gamemodes/events/black_hole.dm +++ b/code/game/gamemodes/events/black_hole.dm @@ -24,7 +24,7 @@ qdel(M) for(var/obj/O in orange(1,src)) qdel(O) - var/base_turf = get_base_turf(src.z) + var/base_turf = get_base_turf_by_area(src) for(var/turf/simulated/ST in orange(1,src)) if(ST.type == base_turf) continue @@ -87,6 +87,6 @@ //Destroying the turf if( T && istype(T,/turf/simulated) && prob(turf_removal_chance) ) var/turf/simulated/ST = T - var/base_turf = get_base_turf(src.z) + var/base_turf = get_base_turf_by_area(src) if(ST.type != base_turf) ST.ChangeTurf(base_turf) diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 1695638721f..befd1247a20 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -284,7 +284,7 @@ if(do_after_cooldown(target)) if(disabled) return chassis.spark_system.start() - target:ChangeTurf(get_base_turf(target.z)) + target:ChangeTurf(get_base_turf_by_area(target)) playsound(target, 'sound/items/Deconstruct.ogg', 50, 1) chassis.use_power(energy_drain) else if (istype(target, /obj/machinery/door/airlock)) @@ -297,7 +297,7 @@ playsound(target, 'sound/items/Deconstruct.ogg', 50, 1) chassis.use_power(energy_drain) if(1) - if(istype(target, /turf/space) || istype(target,get_base_turf(target.z))) + if(istype(target, /turf/space) || istype(target,get_base_turf_by_area(target))) occupant_message("Building Floor...") set_ready_state(0) if(do_after_cooldown(target)) diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 9d00f7ee192..33bc6f551d8 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -100,7 +100,7 @@ build_delay = 50 build_type = "airlock" build_other = /obj/machinery/door/airlock - else if(!deconstruct && (istype(T,/turf/space) || istype(T,get_base_turf(T.z)))) + else if(!deconstruct && (istype(T,/turf/space) || istype(T,get_base_turf_by_area(T)))) build_cost = 1 build_type = "floor" build_turf = /turf/simulated/floor/airless diff --git a/code/game/turfs/simulated/floor_acts.dm b/code/game/turfs/simulated/floor_acts.dm index 21573970503..ee42c625fe5 100644 --- a/code/game/turfs/simulated/floor_acts.dm +++ b/code/game/turfs/simulated/floor_acts.dm @@ -2,14 +2,14 @@ //set src in oview(1) switch(severity) if(1.0) - src.ChangeTurf(get_base_turf(src.z)) + src.ChangeTurf(get_base_turf_by_area(src)) if(2.0) switch(pick(40;1,40;2,3)) if (1) if(prob(33)) new /obj/item/stack/material/steel(src) src.ReplaceWithLattice() if(2) - src.ChangeTurf(get_base_turf(src.z)) + src.ChangeTurf(get_base_turf_by_area(src)) if(3) if(prob(33)) new /obj/item/stack/material/steel(src) if(prob(80)) diff --git a/code/game/turfs/turf_changing.dm b/code/game/turfs/turf_changing.dm index f6aabc5ce60..10ffb3a8cc4 100644 --- a/code/game/turfs/turf_changing.dm +++ b/code/game/turfs/turf_changing.dm @@ -1,5 +1,5 @@ /turf/proc/ReplaceWithLattice() - src.ChangeTurf(get_base_turf(src.z)) + src.ChangeTurf(get_base_turf_by_area(src)) spawn() new /obj/structure/lattice( locate(src.x, src.y, src.z) ) diff --git a/code/modules/power/singularity/act.dm b/code/modules/power/singularity/act.dm index 157f0c5b480..23774d526ed 100644 --- a/code/modules/power/singularity/act.dm +++ b/code/modules/power/singularity/act.dm @@ -107,7 +107,7 @@ continue if(O.invisibility == 101) O.singularity_act(src, current_size) - ChangeTurf(get_base_turf(src.z)) + ChangeTurf(get_base_turf_by_area(src)) return 2 /turf/simulated/wall/singularity_pull(S, current_size)