mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-01 21:12:27 +00:00
# Conflicts: # baystation12.dme # code/game/objects/random/random.dm # code/game/turfs/turf_changing.dm # code/modules/mining/ore.dm # code/modules/mob/living/silicon/robot/robot_modules.dm
48 lines
1.4 KiB
Plaintext
48 lines
1.4 KiB
Plaintext
// Returns the lowest turf available on a given Z-level
|
|
var/global/list/base_turf_by_z = list(
|
|
"1" = /turf/space,
|
|
"2" = /turf/space,
|
|
"3" = /turf/simulated/floor/asteroid,
|
|
"4" = /turf/simulated/floor/asteroid,
|
|
"5" = /turf/simulated/floor/asteroid,
|
|
"6" = /turf/simulated/open,
|
|
"7" = /turf/space,
|
|
"8" = /turf/space,
|
|
"9" = /turf/space
|
|
)
|
|
|
|
proc/get_base_turf(var/z)
|
|
if(!base_turf_by_z["[z]"])
|
|
base_turf_by_z["[z]"] = /turf/space
|
|
return base_turf_by_z["[z]"]
|
|
|
|
//An area can override the z-level base turf, so our solar array areas etc. can be space-based.
|
|
proc/get_base_turf_by_area(var/turf/T)
|
|
if (!istype(T))
|
|
T = get_turf(T)
|
|
if (!T)
|
|
return null
|
|
|
|
var/area/A = T.loc
|
|
if(A.base_turf)
|
|
return A.base_turf
|
|
return get_base_turf(T.z)
|
|
|
|
/client/proc/set_base_turf()
|
|
set category = "Debug"
|
|
set name = "Set Base Turf"
|
|
set desc = "Set the base turf for a z-level."
|
|
|
|
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)
|
|
return
|
|
|
|
var/new_base_path = input("Please select a turf path (cancel to reset to /turf/space).") as null|anything in typesof(/turf)
|
|
if(!new_base_path)
|
|
new_base_path = /turf/space
|
|
base_turf_by_z["[choice]"] = new_base_path
|
|
message_admins("[key_name_admin(usr)] has set the base turf for z-level [choice] to [get_base_turf(choice)].")
|
|
log_admin("[key_name(usr)] has set the base turf for z-level [choice] to [get_base_turf(choice)].",admin_key=key_name(usr))
|