Committing SuperSayu and Kaze Espada's patch.

http://forums.nanotrasen.com/viewtopic.php?f=16&t=11958

Atmospherics:
 * Atmo computer UI auto updates again (simple interact() fix)
 * Injectors should show up on atmo computers without hitting refresh
 * Fixes Issue 1258

Powernets:
 * Rebuild powernets no longer breaks the system.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5652 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
giacomand@gmail.com
2013-02-04 20:24:55 +00:00
parent dcd7063f43
commit e70ddc5356
5 changed files with 28 additions and 15 deletions
@@ -105,6 +105,8 @@
..()
set_frequency(frequency)
spawn(rand(25,50))
broadcast_status()
receive_signal(datum/signal/signal)
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
+13 -13
View File
@@ -190,62 +190,62 @@
if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command"))
return 0
if(signal.data["purge"] != null)
if("purge" in signal.data)
pressure_checks &= ~1
pump_direction = 0
if(signal.data["stabalize"] != null)
if("stabalize" in signal.data)
pressure_checks |= 1
pump_direction = 1
if(signal.data["power"] != null)
if("power" in signal.data)
on = text2num(signal.data["power"])
if(signal.data["power_toggle"] != null)
if("power_toggle" in signal.data)
on = !on
if(signal.data["checks"] != null)
if("checks" in signal.data)
pressure_checks = text2num(signal.data["checks"])
if(signal.data["checks_toggle"] != null)
if("checks_toggle" in signal.data)
pressure_checks = (pressure_checks?0:3)
if(signal.data["direction"] != null)
if("direction" in signal.data)
pump_direction = text2num(signal.data["direction"])
if(signal.data["set_internal_pressure"] != null)
if("set_internal_pressure" in signal.data)
internal_pressure_bound = between(
0,
text2num(signal.data["set_internal_pressure"]),
ONE_ATMOSPHERE*50
)
if(signal.data["set_external_pressure"] != null)
if("set_external_pressure" in signal.data)
external_pressure_bound = between(
0,
text2num(signal.data["set_external_pressure"]),
ONE_ATMOSPHERE*50
)
if(signal.data["adjust_internal_pressure"] != null)
if("adjust_internal_pressure" in signal.data)
internal_pressure_bound = between(
0,
internal_pressure_bound + text2num(signal.data["adjust_internal_pressure"]),
ONE_ATMOSPHERE*50
)
if(signal.data["adjust_external_pressure"] != null)
if("adjust_external_pressure" in signal.data)
external_pressure_bound = between(
0,
external_pressure_bound + text2num(signal.data["adjust_external_pressure"]),
ONE_ATMOSPHERE*50
)
if(signal.data["init"] != null)
if("init" in signal.data)
name = signal.data["init"]
return
if(signal.data["status"] != null)
if("status" in signal.data)
spawn(2)
broadcast_status()
return //do not update_icon
+3
View File
@@ -93,6 +93,9 @@ obj/machinery/computer/general_air_control
user.set_machine(src)
onclose(user, "computer")
interact(mob/user)
attack_hand(user)
process()
..()
src.updateDialog()
+8
View File
@@ -92,6 +92,14 @@
return
..()
/obj/machinery/power/apc/connect_to_network()
//Override because the APC does not directly connect to the network; it goes through a terminal.
//The terminal is what the power computer looks for anyway.
if(!terminal)
make_terminal()
if(terminal)
terminal.connect_to_network()
/obj/machinery/power/apc/New(turf/loc, var/ndir, var/building=0)
..()
+2 -2
View File
@@ -98,8 +98,7 @@
C.powernet.cables += C
for(var/obj/machinery/power/M in machines)
if(!M.powernet) continue // APCs have powernet=0 so they don't count as network nodes directly
M.powernet.nodes[M] = M
M.connect_to_network()
// returns a list of all power-related objects (nodes, cable, junctions) in turf,
@@ -396,6 +395,7 @@
/obj/machinery/power/proc/connect_to_network()
var/turf/T = src.loc
if(!T || !istype(T)) return 0
var/obj/structure/cable/C = T.get_cable_node()
if(!C || !C.powernet) return 0
// makepowernets() //TODO: find fast way //EWWWW what are you doing!?