Update circulator.dm
This commit is contained in:
@@ -1,75 +1,19 @@
|
|||||||
//node2, air2, network2 correspond to input
|
//node2, air2, network2 correspond to input
|
||||||
//node1, air1, network1 correspond to output
|
//node1, air1, network1 correspond to output
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/binary/circulator
|
/obj/machinery/atmospherics/components/binary/circulator
|
||||||
name = "circulator/heat exchanger"
|
name = "circulator/heat exchanger"
|
||||||
desc = "A gas circulator pump and heat exchanger."
|
desc = "A gas circulator pump and heat exchanger."
|
||||||
icon_state = "circ1-off"
|
icon_state = "circ1-off"
|
||||||
|
|
||||||
var/side = CIRC_LEFT
|
var/side = CIRC_LEFT
|
||||||
var/status = 0
|
var/status = 0
|
||||||
|
|
||||||
var/last_pressure_delta = 0
|
var/last_pressure_delta = 0
|
||||||
|
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
density = TRUE
|
density = TRUE
|
||||||
<<<<<<< HEAD
|
|
||||||
|
|
||||||
var/global/const/CIRC_LEFT = 1
|
|
||||||
var/global/const/CIRC_RIGHT = 2
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/binary/circulator/proc/return_transfer_air()
|
|
||||||
|
|
||||||
var/datum/gas_mixture/air1 = AIR1
|
|
||||||
var/datum/gas_mixture/air2 = AIR2
|
|
||||||
|
|
||||||
var/output_starting_pressure = air1.return_pressure()
|
|
||||||
var/input_starting_pressure = air2.return_pressure()
|
|
||||||
|
|
||||||
if(output_starting_pressure >= input_starting_pressure-10)
|
|
||||||
//Need at least 10 KPa difference to overcome friction in the mechanism
|
|
||||||
last_pressure_delta = 0
|
|
||||||
return null
|
|
||||||
|
|
||||||
//Calculate necessary moles to transfer using PV = nRT
|
|
||||||
if(air2.temperature>0)
|
|
||||||
var/pressure_delta = (input_starting_pressure - output_starting_pressure)/2
|
|
||||||
|
|
||||||
var/transfer_moles = pressure_delta*air1.volume/(air2.temperature * R_IDEAL_GAS_EQUATION)
|
|
||||||
|
|
||||||
last_pressure_delta = pressure_delta
|
|
||||||
|
|
||||||
//to_chat(world, "pressure_delta = [pressure_delta]; transfer_moles = [transfer_moles];")
|
|
||||||
|
|
||||||
//Actually transfer the gas
|
|
||||||
var/datum/gas_mixture/removed = air2.remove(transfer_moles)
|
|
||||||
|
|
||||||
update_parents()
|
|
||||||
|
|
||||||
return removed
|
|
||||||
|
|
||||||
else
|
|
||||||
last_pressure_delta = 0
|
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/binary/circulator/process_atmos()
|
|
||||||
..()
|
|
||||||
update_icon()
|
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/binary/circulator/update_icon()
|
|
||||||
if(stat & (BROKEN|NOPOWER))
|
|
||||||
icon_state = "circ[side]-p"
|
|
||||||
else if(last_pressure_delta > 0)
|
|
||||||
if(last_pressure_delta > ONE_ATMOSPHERE)
|
|
||||||
icon_state = "circ[side]-run"
|
|
||||||
else
|
|
||||||
icon_state = "circ[side]-slow"
|
|
||||||
else
|
|
||||||
icon_state = "circ[side]-off"
|
|
||||||
|
|
||||||
return 1
|
|
||||||
=======
|
|
||||||
|
|
||||||
var/global/const/CIRC_LEFT = 1
|
var/global/const/CIRC_LEFT = 1
|
||||||
var/global/const/CIRC_RIGHT = 2
|
var/global/const/CIRC_RIGHT = 2
|
||||||
@@ -120,4 +64,3 @@
|
|||||||
icon_state = "circ[side]-slow"
|
icon_state = "circ[side]-slow"
|
||||||
else
|
else
|
||||||
icon_state = "circ[side]-off"
|
icon_state = "circ[side]-off"
|
||||||
>>>>>>> 3791f0b... Merge pull request #30896 from ShizCalev/debug-text
|
|
||||||
|
|||||||
Reference in New Issue
Block a user