Merge pull request #1522 from Fox-McCloud/fixin-dat-thing

Power Computer and Computer Fixes
This commit is contained in:
TheDZD
2015-07-15 19:43:59 -04:00
9 changed files with 52 additions and 103 deletions
+1 -3
View File
@@ -362,8 +362,6 @@ legend {
return 1
large_tank_control
icon = 'icons/obj/computer.dmi'
icon_state = "tank"
circuit = "/obj/item/weapon/circuitboard/large_tank_control"
req_one_access_txt = "24;10"
settagwhitelist = list("input_tag", "output_tag")
@@ -587,7 +585,7 @@ legend {
fuel_injection
icon = 'icons/obj/computer.dmi'
icon_state = "atmos"
icon_screen = "atmos"
circuit = "/obj/item/weapon/circuitboard/injector_control"
var/device_tag
+24 -73
View File
@@ -1,22 +1,20 @@
// the power monitoring computer
// for the moment, just report the status of all APCs in the same powernet
/obj/machinery/power/monitor
name = "Power Monitoring Computer"
/obj/machinery/computer/monitor
name = "power monitoring console"
desc = "It monitors power levels across the station."
icon = 'icons/obj/computer.dmi'
icon_state = "power"
density = 1
anchored = 1
icon_screen = "power"
icon_keyboard = "power_key"
use_power = 2
idle_power_usage = 20
active_power_usage = 80
light_color = LIGHT_COLOR_ORANGE
circuit = /obj/item/weapon/circuitboard/powermonitor
var/datum/powernet/powernet = null
//fix for issue 521, by QualityVan.
//someone should really look into why circuits have a powernet var, it's several kinds of retarded.
/obj/machinery/power/monitor/New()
/obj/machinery/computer/monitor/New()
..()
var/obj/structure/cable/attached = null
var/turf/T = loc
@@ -25,53 +23,22 @@
if(attached)
powernet = attached.get_powernet()
/obj/machinery/power/monitor/attack_ai(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
interact(user)
/obj/machinery/power/monitor/attack_hand(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
interact(user)
/obj/machinery/power/monitor/attackby(I as obj, user as mob, params)
if(istype(I, /obj/item/weapon/screwdriver))
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
if(do_after(user, 20))
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
PoolOrNew(/obj/item/weapon/shard, loc)
var/obj/item/weapon/circuitboard/powermonitor/M = new /obj/item/weapon/circuitboard/powermonitor( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.state = 3
A.icon_state = "3"
A.anchored = 1
qdel(src)
else
user << "\blue You disconnect the monitor."
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
var/obj/item/weapon/circuitboard/powermonitor/M = new /obj/item/weapon/circuitboard/powermonitor( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.state = 4
A.icon_state = "4"
A.anchored = 1
qdel(src)
else
src.attack_hand(user)
/obj/machinery/computer/monitor/process() //oh shit, somehow we didnt end up with a powernet... lets look for one.
if(!powernet)
var/obj/structure/cable/attached = null
var/turf/T = loc
if(isturf(T))
attached = locate() in T
if(attached)
powernet = attached.get_powernet()
return
/obj/machinery/power/monitor/interact(mob/user)
/obj/machinery/computer/monitor/attack_hand(mob/user)
if(..())
return
interact(user)
/obj/machinery/computer/monitor/interact(mob/user)
if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
if (!istype(user, /mob/living/silicon))
user.unset_machine()
@@ -116,7 +83,7 @@
// Each entry
for(var/obj/machinery/power/apc/A in L)
t += {"<TR>
<TD> [get_area_master() ]</TD>
<TD> [get_area_master(A) ]</TD>
<TD> [State[A.equipment+1]]</TD>
<TD> [State[A.lighting+1 ]]</TD>
<TD> [State[A.environ+1 ]]</TD>
@@ -130,29 +97,13 @@
user << browse(t, "window=powcomp;size=640x800")
onclose(user, "powcomp")
/obj/machinery/power/monitor/Topic(href, href_list)
/obj/machinery/computer/monitor/Topic(href, href_list)
if(..())
return 1
return
if( href_list["close"] )
usr << browse(null, "window=powcomp")
usr.unset_machine()
return
if( href_list["update"] )
src.updateDialog()
return
/obj/machinery/power/monitor/power_change()
if(stat & BROKEN)
icon_state = "broken"
else
if( powered() )
icon_state = initial(icon_state)
stat &= ~NOPOWER
else
spawn(rand(0, 15))
src.icon_state = "c_unpowered"
stat |= NOPOWER
return
+6 -6
View File
@@ -28,7 +28,7 @@
var/datum/data/record/active1 = null //General
var/datum/data/record/active2 = null //Medical
var/datum/data/record/active3 = null //Security
var/obj/machinery/power/monitor/powmonitor = null // Power Monitor
var/obj/machinery/computer/monitor/powmonitor = null // Power Monitor
var/list/powermonitors = list()
var/message1 // used for status_displays
var/message2
@@ -196,18 +196,18 @@
access_reagent_scanner = 1
access_status_display = 1
access_atmos = 1
/obj/item/weapon/cartridge/captain/New()
..()
spawn(5)
radio = new /obj/item/radio/integrated/beepsky(src)
/obj/item/weapon/cartridge/supervisor
name = "Easy-Record DELUXE"
icon_state = "cart-h"
access_status_display = 1
access_security = 1
/obj/item/weapon/cartridge/centcom
name = "Value-PAK Cartridge"
desc = "Now with 200% more value!"
@@ -220,7 +220,7 @@
access_reagent_scanner = 1
access_status_display = 1
access_atmos = 1
/obj/item/weapon/cartridge/centcom/New()
..()
spawn(5)
@@ -294,7 +294,7 @@
/* Power Monitor (Mode: 43 / 433) */
if(mode==43 || mode==433)
var/pMonData[0]
for(var/obj/machinery/power/monitor/pMon in world)
for(var/obj/machinery/computer/monitor/pMon in world)
if(!(pMon.stat & (NOPOWER|BROKEN)) )
pMonData[++pMonData.len] = list ("Name" = pMon.name, "ref" = "\ref[pMon]")
if(isnull(powmonitor)) powmonitor = pMon