mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Fixed several runtime errors. Monkeys and aliens won't stack dozens of blood stains. Fixed crash in FEA code related to melting floors. When screwdrived destructive analyzer unlink from RD console protolate instead of itself. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1443 316c924e-a436-60f5-8080-3fe189b3f50e
40 lines
1.1 KiB
Plaintext
40 lines
1.1 KiB
Plaintext
/obj/machinery/atmospherics/unary/cold_sink
|
|
icon = 'cold_sink.dmi'
|
|
icon_state = "intact_off"
|
|
density = 1
|
|
|
|
name = "Cold Sink"
|
|
desc = "Cools gas when connected to pipe network"
|
|
|
|
var/on = 0
|
|
|
|
var/current_temperature = T20C
|
|
var/current_heat_capacity = 50000 //totally random
|
|
|
|
update_icon()
|
|
if(node)
|
|
icon_state = "intact_[on?("on"):("off")]"
|
|
else
|
|
icon_state = "exposed"
|
|
|
|
on = 0
|
|
|
|
return
|
|
|
|
process()
|
|
..()
|
|
if(!on || !network)
|
|
return 0
|
|
var/air_heat_capacity = air_contents.heat_capacity()
|
|
var/combined_heat_capacity = current_heat_capacity + air_heat_capacity
|
|
var/old_temperature = air_contents.temperature
|
|
|
|
if(combined_heat_capacity > 0)
|
|
var/combined_energy = current_temperature*current_heat_capacity + air_heat_capacity*air_contents.temperature
|
|
air_contents.temperature = combined_energy/combined_heat_capacity
|
|
|
|
//todo: have current temperature affected. require power to bring down current temperature again
|
|
|
|
if(abs(old_temperature-air_contents.temperature) > 1)
|
|
network.update = 1
|
|
return 1 |