mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-02 05:23:01 +00:00
It will first check to see if the turf is set, and if not it will still use the z-level default. This means we can mark areas as having a base of space to override the z-level base of asteroid that we're using. As a result, we can ensure the bombs, shuttles moving, etc. leave behind an space turf by defining shuttles, solars/"external" areas as using space as a base. Areas will need to be updated to check with base_turf = /turf/space and references to the old get_base_turf proc updated so all calls (bombs, Nar'Sie, deconstruction, etc.) have the correct effect, but it's tired and I want to commit this now so I'm committed to finishing it tomorrow.
36 lines
1.3 KiB
Plaintext
36 lines
1.3 KiB
Plaintext
// Returns the lowest turf available on a given Z-level, defaults to asteroid for Polaris.
|
|
var/global/list/base_turf_by_z = list(
|
|
"1" = /turf/simulated/floor/asteroid,
|
|
"4" = /turf/simulated/floor/asteroid,
|
|
"5" = /turf/simulated/floor/asteroid
|
|
)
|
|
|
|
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)
|
|
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(!holder) 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)].") |