mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Allows atmos helpers to be used with portable_atmos
This commit is contained in:
@@ -87,7 +87,7 @@
|
||||
injecting = 1
|
||||
|
||||
if(air_contents.temperature > 0)
|
||||
var/power_used = pump_gas(air_contents, environment, air_contents.total_moles, inject_power)
|
||||
var/power_used = pump_gas(src, air_contents, environment, air_contents.total_moles, inject_power)
|
||||
use_power(power_used)
|
||||
|
||||
if(network)
|
||||
|
||||
@@ -153,14 +153,16 @@
|
||||
|
||||
//Figure out the target pressure difference
|
||||
var/pressure_delta = get_pressure_delta(environment)
|
||||
//src.visible_message("DEBUG >>> [src]: pressure_delta = [pressure_delta]")
|
||||
|
||||
if((environment.temperature || air_contents.temperature) && pressure_delta > 0.5)
|
||||
if(pump_direction) //internal -> external
|
||||
var/output_volume = environment.volume * environment.group_multiplier
|
||||
var/air_temperature = environment.temperature? environment.temperature : air_contents.temperature
|
||||
var/transfer_moles = pressure_delta*output_volume/(air_temperature * R_IDEAL_GAS_EQUATION)
|
||||
//src.visible_message("DEBUG >>> [src]: output_volume = [output_volume]L; air_temperature = [air_temperature]K; transfer_moles = [transfer_moles] mol")
|
||||
|
||||
power_draw = pump_gas(air_contents, environment, transfer_moles, active_power_usage)
|
||||
power_draw = pump_gas(src, air_contents, environment, transfer_moles, active_power_usage)
|
||||
else //external -> internal
|
||||
var/output_volume = air_contents.volume + (network? network.volume : 0)
|
||||
var/air_temperature = air_contents.temperature? air_contents.temperature : environment.temperature
|
||||
@@ -169,7 +171,7 @@
|
||||
//limit flow rate from turfs
|
||||
transfer_moles = min(transfer_moles, environment.total_moles*MAX_SIPHON_FLOWRATE/environment.volume) //group_multiplier gets divided out here
|
||||
|
||||
power_draw = pump_gas(environment, air_contents, transfer_moles, active_power_usage)
|
||||
power_draw = pump_gas(src, environment, air_contents, transfer_moles, active_power_usage)
|
||||
|
||||
if (power_draw < 0)
|
||||
last_power_draw = 0
|
||||
@@ -364,6 +366,8 @@
|
||||
..()
|
||||
if (get_dist(usr, src) <= 1)
|
||||
usr << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
|
||||
else
|
||||
usr << "You are too far away to read the gauge."
|
||||
if(welded)
|
||||
usr << "It seems welded shut."
|
||||
|
||||
|
||||
@@ -131,12 +131,12 @@
|
||||
//limit flow rate from turfs
|
||||
var/transfer_moles = min(environment.total_moles, environment.total_moles*MAX_SCRUBBER_FLOWRATE/environment.volume) //group_multiplier gets divided out here
|
||||
|
||||
power_draw = scrub_gas(scrubbing_gas, environment, air_contents, transfer_moles, active_power_usage)
|
||||
power_draw = scrub_gas(src, scrubbing_gas, environment, air_contents, transfer_moles, active_power_usage)
|
||||
else //Just siphon all air
|
||||
//limit flow rate from turfs
|
||||
var/transfer_moles = min(environment.total_moles, environment.total_moles*MAX_SIPHON_FLOWRATE/environment.volume) //group_multiplier gets divided out here
|
||||
|
||||
power_draw = pump_gas(environment, air_contents, transfer_moles, active_power_usage)
|
||||
power_draw = pump_gas(src, environment, air_contents, transfer_moles, active_power_usage)
|
||||
|
||||
if (power_draw < 0)
|
||||
//update_use_power(0)
|
||||
|
||||
Reference in New Issue
Block a user