Also fixes hydroponics trays not updating
This commit is contained in:
mwerezak
2014-08-10 16:29:09 -04:00
parent 3d3ef4bf58
commit 03e557823c
4 changed files with 68 additions and 53 deletions

View File

@@ -11,7 +11,7 @@
var/maximum_pressure = 90*ONE_ATMOSPHERE
New()
/obj/machinery/portable_atmospherics/New()
..()
air_contents.volume = volume
@@ -19,7 +19,7 @@
return 1
initialize()
/obj/machinery/portable_atmospherics/initialize()
. = ..()
spawn()
var/obj/machinery/atmospherics/portables_connector/port = locate() in loc
@@ -27,24 +27,22 @@
connect(port)
update_icon()
process()
/obj/machinery/portable_atmospherics/process()
if(!connected_port) //only react when pipe_network will ont it do it for you
//Allow for reactions
air_contents.react()
else
update_icon()
Del()
/obj/machinery/portable_atmospherics/Del()
del(air_contents)
..()
update_icon()
/obj/machinery/portable_atmospherics/update_icon()
return null
proc
connect(obj/machinery/atmospherics/portables_connector/new_port)
/obj/machinery/portable_atmospherics/proc/connect(obj/machinery/atmospherics/portables_connector/new_port)
//Make sure not already connected to something else
if(connected_port || !new_port || new_port.connected_device)
return 0
@@ -67,7 +65,7 @@
return 1
disconnect()
/obj/machinery/portable_atmospherics/proc/disconnect()
if(!connected_port)
return 0
@@ -82,6 +80,14 @@
return 1
/obj/machinery/portable_atmospherics/proc/update_connected_network()
if(!connected_port)
return
var/datum/pipe_network/network = connected_port.return_network(src)
if (network)
network.update = 1
/obj/machinery/portable_atmospherics/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
var/obj/icon = src
if ((istype(W, /obj/item/weapon/tank) && !( src.destroyed )))

View File

@@ -89,6 +89,8 @@
cell.use(power_draw * CELLRATE)
last_power_draw = power_draw
update_connected_network()
//ran out of charge
if (!cell.charge)
update_icon()

View File

@@ -70,6 +70,8 @@
cell.use(power_draw * CELLRATE)
last_power_draw = power_draw
update_connected_network()
//ran out of charge
if (!cell.charge)
update_icon()
@@ -152,7 +154,7 @@ Flow Rate Regulator: <A href='?src=\ref[src];volume_adj=-1000'>-</A> <A href='?s
chan
use_power = 1
idle_power_usage = 150 //internal circuitry, friction losses and stuff
idle_power_usage = 500 //internal circuitry, friction losses and stuff
active_power_usage = 100000 //100 kW ~ 135 HP
var/global/gid = 1
@@ -168,7 +170,7 @@ Flow Rate Regulator: <A href='?src=\ref[src];volume_adj=-1000'>-</A> <A href='?s
name = "[name] (ID [id])"
/obj/machinery/portable_atmospherics/powered/scrubber/huge/attack_hand(var/mob/user as mob)
usr << "\blue You can't directly interact with this machine. Use the area atmos computer."
usr << "\blue You can't directly interact with this machine. Use the scrubber control console."
/obj/machinery/portable_atmospherics/powered/scrubber/huge/update_icon()
src.overlays = 0
@@ -204,6 +206,7 @@ Flow Rate Regulator: <A href='?src=\ref[src];volume_adj=-1000'>-</A> <A href='?s
last_power_draw = 0
else
last_power_draw = handle_power_draw(power_draw)
update_connected_network()
/obj/machinery/portable_atmospherics/powered/scrubber/huge/attackby(var/obj/item/I as obj, var/mob/user as mob)
if(istype(I, /obj/item/weapon/wrench))

View File

@@ -243,6 +243,10 @@
for(var/gas in seed.exude_gasses)
environment.adjust_gas(gas, max(1,round((seed.exude_gasses[gas]*seed.potency)/seed.exude_gasses.len)))
// If we're attached to a pipenet, then we should let the pipenet know we might have modified some gasses
if (closed_system && connected_port)
update_connected_network()
// Handle light requirements.
var/area/A = T.loc
if(A)