works but leaks
This commit is contained in:
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -105,6 +105,15 @@ SUBSYSTEM_DEF(air)
|
||||
|
||||
/datum/controller/subsystem/air/proc/auxtools_update_reactions()
|
||||
|
||||
/proc/reset_all_air()
|
||||
SSair.can_fire = 0
|
||||
message_admins("Air reset begun.")
|
||||
for(var/turf/open/T in world)
|
||||
T.Initalize_Atmos(0)
|
||||
CHECK_TICK
|
||||
message_admins("Air reset done.")
|
||||
SSair.can_fire = 1
|
||||
|
||||
/datum/controller/subsystem/air/proc/thread_running()
|
||||
return FALSE
|
||||
|
||||
@@ -113,7 +122,7 @@ SUBSYSTEM_DEF(air)
|
||||
/datum/admins/proc/fixcorruption()
|
||||
set category = "Debug"
|
||||
set desc="Fixes air that has weird NaNs (-1.#IND and such). Hopefully."
|
||||
set name="Fix Air"
|
||||
set name="Fix Infinite Air"
|
||||
fix_corrupted_atmos()
|
||||
|
||||
/datum/controller/subsystem/air/fire(resumed = 0)
|
||||
|
||||
@@ -148,16 +148,20 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list(
|
||||
. = ..()
|
||||
if (!.) // changeturf failed or didn't do anything
|
||||
QDEL_NULL(stashed_air)
|
||||
update_air_ref(planetary_atmos ? 1 : 2)
|
||||
return
|
||||
var/turf/open/newTurf = .
|
||||
newTurf.air.copy_from(stashed_air)
|
||||
update_air_ref(planetary_atmos ? 1 : 2)
|
||||
QDEL_NULL(stashed_air)
|
||||
else
|
||||
if(ispath(path,/turf/closed))
|
||||
flags |= CHANGETURF_RECALC_ADJACENT
|
||||
update_air_ref(-1)
|
||||
return ..()
|
||||
. = ..()
|
||||
else
|
||||
. = ..()
|
||||
if(!istype(air,/datum/gas_mixture))
|
||||
Initalize_Atmos(0)
|
||||
|
||||
// Take off the top layer turf and replace it with the next baseturf down
|
||||
/turf/proc/ScrapeAway(amount=1, flags)
|
||||
|
||||
@@ -218,6 +218,12 @@
|
||||
flash_color(L, flash_color = "#C80000", flash_time = 10)
|
||||
|
||||
/turf/open/Initalize_Atmos(times_fired)
|
||||
if(!blocks_air)
|
||||
if(!istype(air,/datum/gas_mixture/turf))
|
||||
air = new(2500,src)
|
||||
air.copy_from_turf(src)
|
||||
update_air_ref(planetary_atmos ? 1 : 2)
|
||||
|
||||
update_visuals()
|
||||
|
||||
ImmediateCalculateAdjacentTurfs()
|
||||
|
||||
@@ -272,6 +272,7 @@ GLOBAL_LIST(topic_status_cache)
|
||||
|
||||
log_world("World rebooted at [TIME_STAMP("hh:mm:ss", FALSE)]")
|
||||
shutdown_logging() // Past this point, no logging procs can be used, at risk of data loss.
|
||||
AUXTOOLS_SHUTDOWN(AUXMOS)
|
||||
..()
|
||||
|
||||
/world/Del()
|
||||
|
||||
@@ -193,6 +193,7 @@ GLOBAL_PROTECT(admin_verbs_debug)
|
||||
// /client/proc/check_missing_sprites,
|
||||
// #endif
|
||||
/datum/admins/proc/create_or_modify_area,
|
||||
/datum/admins/proc/fixcorruption,
|
||||
#ifdef REFERENCE_TRACKING
|
||||
/datum/admins/proc/view_refs,
|
||||
/datum/admins/proc/view_del_failures,
|
||||
|
||||
@@ -35,11 +35,6 @@
|
||||
update_air_ref(planetary_atmos ? 1 : 2)
|
||||
. = ..()
|
||||
|
||||
/turf/open/proc/force_air_reset()
|
||||
air = new(2500,src)
|
||||
air.copy_from_turf(src)
|
||||
update_air_ref(planetary_atmos ? 1 : 2)
|
||||
|
||||
/turf/open/Destroy()
|
||||
if(active_hotspot)
|
||||
QDEL_NULL(active_hotspot)
|
||||
|
||||
@@ -217,6 +217,8 @@
|
||||
// air_contents.add_gas(gas_type)
|
||||
if(starter_temp)
|
||||
air_contents.set_temperature(starter_temp)
|
||||
if(!air_contents.return_volume())
|
||||
CRASH("Auxtools is failing somehow! Gas with pointer [air_contents._extools_pointer_gasmixture] is not valid.")
|
||||
air_contents.set_moles(gas_type,(maximum_pressure * filled) * air_contents.return_volume() / (R_IDEAL_GAS_EQUATION * air_contents.return_temperature()))
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/air/create_gas()
|
||||
|
||||
Reference in New Issue
Block a user