mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
Merge pull request #1522 from Fox-McCloud/fixin-dat-thing
Power Computer and Computer Fixes
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user