diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm
index 94861257b5..5216cc08a3 100644
--- a/code/game/machinery/atmo_control.dm
+++ b/code/game/machinery/atmo_control.dm
@@ -87,6 +87,8 @@ obj/machinery/computer/general_air_control
var/datum/radio_frequency/radio_connection
attack_hand(mob/user)
+ if(..(user))
+ return
user << browse(return_text(),"window=computer")
user.set_machine(src)
onclose(user, "computer")
@@ -95,39 +97,6 @@ obj/machinery/computer/general_air_control
..()
src.updateDialog()
- attackby(I as obj, user as mob)
- 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 )
- new /obj/item/weapon/shard( src.loc )
- var/obj/item/weapon/circuitboard/air_management/M = new /obj/item/weapon/circuitboard/air_management( A )
- for (var/obj/C in src)
- C.loc = src.loc
- M.frequency = src.frequency
- A.circuit = M
- A.state = 3
- A.icon_state = "3"
- A.anchored = 1
- del(src)
- else
- user << "\blue You disconnect the monitor."
- var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
- var/obj/item/weapon/circuitboard/air_management/M = new /obj/item/weapon/circuitboard/air_management( A )
- for (var/obj/C in src)
- C.loc = src.loc
- M.frequency = src.frequency
- A.circuit = M
- A.state = 4
- A.icon_state = "4"
- A.anchored = 1
- del(src)
- else
- src.attack_hand(user)
- return
-
receive_signal(datum/signal/signal)
if(!signal || signal.encryption) return
@@ -294,38 +263,6 @@ Max Output Pressure: [output_pressure] kPa
"}
var/cutoff_temperature = 2000
var/on_temperature = 1200
- attackby(I as obj, user as mob)
- 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 )
- new /obj/item/weapon/shard( src.loc )
- var/obj/item/weapon/circuitboard/injector_control/M = new /obj/item/weapon/circuitboard/injector_control( A )
- for (var/obj/C in src)
- C.loc = src.loc
- M.frequency = src.frequency
- A.circuit = M
- A.state = 3
- A.icon_state = "3"
- A.anchored = 1
- del(src)
- else
- user << "\blue You disconnect the monitor."
- var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
- var/obj/item/weapon/circuitboard/injector_control/M = new /obj/item/weapon/circuitboard/injector_control( A )
- for (var/obj/C in src)
- C.loc = src.loc
- M.frequency = src.frequency
- A.circuit = M
- A.state = 4
- A.icon_state = "4"
- A.anchored = 1
- del(src)
- else
- src.attack_hand(user)
- return
process()
if(automation)
diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm
index c6a5e8f2ce..0f7678b0e8 100644
--- a/code/game/machinery/atmoalter/area_atmos_computer.dm
+++ b/code/game/machinery/atmoalter/area_atmos_computer.dm
@@ -25,6 +25,8 @@
return
attack_hand(var/mob/user as mob)
+ if(..(user))
+ return
src.add_fingerprint(usr)
var/dat = {"
diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm
index 14a8098d2b..b948bc4928 100644
--- a/code/game/machinery/computer/HolodeckControl.dm
+++ b/code/game/machinery/computer/HolodeckControl.dm
@@ -198,6 +198,8 @@
/obj/machinery/computer/HolodeckControl/process()
+ if(!..())
+ return
if(active)
if(!checkInteg(linkedholodeck))
diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm
index e0d46ad790..2022dc79da 100644
--- a/code/game/machinery/computer/Operating.dm
+++ b/code/game/machinery/computer/Operating.dm
@@ -76,7 +76,5 @@
/obj/machinery/computer/operating/process()
- if(!(stat & (NOPOWER|BROKEN)) )
- use_power(500)
-
- src.updateDialog()
+ if(..())
+ src.updateDialog()
diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm
index 783e88b57b..a8b374a61e 100644
--- a/code/game/machinery/computer/aifixer.dm
+++ b/code/game/machinery/computer/aifixer.dm
@@ -108,12 +108,10 @@
return
/obj/machinery/computer/aifixer/process()
- if(stat & (NOPOWER|BROKEN))
+ if(..())
+ src.updateDialog()
return
- src.updateDialog()
- return
-
/obj/machinery/computer/aifixer/Topic(href, href_list)
if(..())
return
@@ -144,3 +142,19 @@
return
+/obj/machinery/computer/aifixer/update_icon()
+ ..()
+ // Broken / Unpowered
+ if((stat & BROKEN) || (stat & NOPOWER))
+ overlays = null
+
+ // Working / Powered
+ else
+ if (occupant)
+ switch (occupant.stat)
+ if (0)
+ overlays += image('icons/obj/computer.dmi', "ai-fixer-full")
+ if (2)
+ overlays += image('icons/obj/computer.dmi', "ai-fixer-404")
+ else
+ overlays += image('icons/obj/computer.dmi', "ai-fixer-empty")
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index c857dda185..9f784c1a38 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -219,18 +219,6 @@
src.blocked = 0
return
-/obj/machinery/computer/arcade/power_change()
-
- if(stat & BROKEN)
- icon_state = "arcadeb"
- else
- if( powered() )
- icon_state = initial(icon_state)
- stat &= ~NOPOWER
- else
- spawn(rand(0, 15))
- src.icon_state = "arcade0"
- stat |= NOPOWER
/obj/machinery/computer/arcade/attackby(I as obj, user as mob)
if(istype(I, /obj/item/weapon/card/emag) && !emagged)
diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm
index a367e61317..4434a66c8e 100644
--- a/code/game/machinery/computer/atmos_alert.dm
+++ b/code/game/machinery/computer/atmos_alert.dm
@@ -12,71 +12,77 @@
var/datum/radio_frequency/radio_connection
- initialize()
- set_frequency(receive_frequency)
+/obj/machinery/computer/atmos_alert/initialize()
+ ..()
+ set_frequency(receive_frequency)
- receive_signal(datum/signal/signal)
- if(!signal || signal.encryption) return
+/obj/machinery/computer/atmos_alert/receive_signal(datum/signal/signal)
+ if(!signal || signal.encryption) return
- var/zone = signal.data["zone"]
- var/severity = signal.data["alert"]
+ var/zone = signal.data["zone"]
+ var/severity = signal.data["alert"]
- if(!zone || !severity) return
+ if(!zone || !severity) return
- minor_alarms -= zone
- priority_alarms -= zone
- if(severity=="severe")
- priority_alarms += zone
- else if (severity=="minor")
- minor_alarms += zone
- update_icon()
+ minor_alarms -= zone
+ priority_alarms -= zone
+ if(severity=="severe")
+ priority_alarms += zone
+ else if (severity=="minor")
+ minor_alarms += zone
+ update_icon()
+ return
+
+
+/obj/machinery/computer/atmos_alert/proc/set_frequency(new_frequency)
+ radio_controller.remove_object(src, receive_frequency)
+ receive_frequency = new_frequency
+ radio_connection = radio_controller.add_object(src, receive_frequency, RADIO_ATMOSIA)
+
+
+/obj/machinery/computer/atmos_alert/attack_hand(mob/user)
+ if(..(user))
return
+ user << browse(return_text(),"window=computer")
+ user.set_machine(src)
+ onclose(user, "computer")
-
- proc/set_frequency(new_frequency)
- radio_controller.remove_object(src, receive_frequency)
- receive_frequency = new_frequency
- radio_connection = radio_controller.add_object(src, receive_frequency, RADIO_ATMOSIA)
-
-
- attack_hand(mob/user)
- user << browse(return_text(),"window=computer")
- user.set_machine(src)
- onclose(user, "computer")
-
- process()
- ..()
+/obj/machinery/computer/atmos_alert/process()
+ if(..())
src.updateDialog()
- update_icon()
- if(priority_alarms.len)
- icon_state = "alert:2"
-
- else if(minor_alarms.len)
- icon_state = "alert:1"
-
- else
- icon_state = "alert:0"
+/obj/machinery/computer/atmos_alert/update_icon()
+ ..()
+ if(stat & (NOPOWER|BROKEN))
return
+ if(priority_alarms.len)
+ icon_state = "alert:2"
+
+ else if(minor_alarms.len)
+ icon_state = "alert:1"
+
+ else
+ icon_state = "alert:0"
+ return
- proc/return_text()
- var/priority_text
- var/minor_text
+/obj/machinery/computer/atmos_alert/proc/return_text()
+ var/priority_text
+ var/minor_text
- if(priority_alarms.len)
- for(var/zone in priority_alarms)
- priority_text += "[zone] X
"
- else
- priority_text = "No priority alerts detected.
"
+ if(priority_alarms.len)
+ for(var/zone in priority_alarms)
+ priority_text += "[zone] X
"
+ else
+ priority_text = "No priority alerts detected.
"
- if(minor_alarms.len)
- for(var/zone in minor_alarms)
- minor_text += "[zone] X
"
- else
- minor_text = "No minor alerts detected.
"
+ if(minor_alarms.len)
+ for(var/zone in minor_alarms)
+ minor_text += "[zone] X
"
+ else
+ minor_text = "No minor alerts detected.
"
- var/output = {"[name]
+ var/output = {"[name]
Priority Alerts:
[priority_text]
@@ -85,46 +91,23 @@
[minor_text]
"}
- return output
+ return output
- Topic(href, href_list)
- if(..())
- return
-
- if(href_list["priority_clear"])
- var/removing_zone = href_list["priority_clear"]
- for(var/zone in priority_alarms)
- if(ckey(zone) == removing_zone)
- priority_alarms -= zone
-
- if(href_list["minor_clear"])
- var/removing_zone = href_list["minor_clear"]
- for(var/zone in minor_alarms)
- if(ckey(zone) == removing_zone)
- minor_alarms -= zone
- update_icon()
+/obj/machinery/computer/atmos_alert/Topic(href, href_list)
+ if(..())
return
- attackby(I as obj, user as mob)
- if(istype(I, /obj/item/weapon/screwdriver))
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- if(do_after(user, 20))
- var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
- var/obj/item/weapon/circuitboard/atmos_alert/M = new /obj/item/weapon/circuitboard/atmos_alert( A )
- for (var/obj/C in src)
- C.loc = src.loc
- A.circuit = M
- A.anchored = 1
+ if(href_list["priority_clear"])
+ var/removing_zone = href_list["priority_clear"]
+ for(var/zone in priority_alarms)
+ if(ckey(zone) == removing_zone)
+ priority_alarms -= zone
- if (src.stat & BROKEN)
- user << "\blue The broken glass falls out."
- new /obj/item/weapon/shard( src.loc )
- A.state = 3
- A.icon_state = "3"
- else
- user << "\blue You disconnect the monitor."
- A.state = 4
- A.icon_state = "4"
-
- del(src)
+ if(href_list["minor_clear"])
+ var/removing_zone = href_list["minor_clear"]
+ for(var/zone in minor_alarms)
+ if(ckey(zone) == removing_zone)
+ minor_alarms -= zone
+ update_icon()
+ return
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index 0a34785be2..c1703891b9 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -88,6 +88,12 @@
density = 0
circuit = null
+/obj/machinery/computer/security/telescreen/update_icon()
+ icon_state = initial(icon_state)
+ if(stat & BROKEN)
+ icon_state += "b"
+ return
+
/obj/machinery/computer/security/telescreen/entertainment
name = "entertainment monitor"
desc = "Damn, they better have /tg/thechannel on these things."
diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm
index 6aae578be8..894a95f568 100644
--- a/code/game/machinery/computer/cloning.dm
+++ b/code/game/machinery/computer/cloning.dm
@@ -454,15 +454,14 @@
break
return selected_record
-/obj/machinery/computer/cloning/power_change()
+/obj/machinery/computer/cloning/update_icon()
if(stat & BROKEN)
icon_state = "commb"
else
- if( powered() )
- icon_state = initial(icon_state)
- stat &= ~NOPOWER
+ if(stat & NOPOWER)
+ src.icon_state = "c_unpowered"
+ stat |= NOPOWER
else
- spawn(rand(0, 15))
- src.icon_state = "c_unpowered"
- stat |= NOPOWER
\ No newline at end of file
+ icon_state = initial(icon_state)
+ stat &= ~NOPOWER
\ No newline at end of file
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 2660f015a9..ae3d8f9f97 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -35,9 +35,9 @@
/obj/machinery/computer/communications/process()
- ..()
- if(state != STATE_STATUSDISPLAY)
- src.updateDialog()
+ if(..())
+ if(state != STATE_STATUSDISPLAY)
+ src.updateDialog()
/obj/machinery/computer/communications/Topic(href, href_list)
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index eab0f5ddf9..a7b354ee98 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -3,131 +3,122 @@
icon = 'icons/obj/computer.dmi'
density = 1
anchored = 1.0
- var/obj/item/weapon/circuitboard/circuit = null //if circuit==null, computer can't disassemble
+ use_power = 1
+ idle_power_usage = 300
+ active_power_usage = 300
+ var/obj/item/weapon/circuitboard/circuit = null //if circuit==null, computer can't disassembly
+ var/processing = 0
+
+/obj/machinery/computer/New()
+ ..()
+ if(ticker)
+ initialize()
- New()
- ..()
- spawn(2)
- power_change()
+/obj/machinery/computer/initialize()
+ power_change()
+
+/obj/machinery/computer/process()
+ if(stat & (NOPOWER|BROKEN))
+ return 0
+ return 1
+
+/obj/machinery/computer/meteorhit(var/obj/O as obj)
+ for(var/x in verbs)
+ verbs -= x
+ set_broken()
+ var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread()
+ smoke.set_up(5, 0, src)
+ smoke.start()
+ return
- meteorhit(var/obj/O as obj)
+/obj/machinery/computer/emp_act(severity)
+ if(prob(20/severity)) set_broken()
+ ..()
+
+
+/obj/machinery/computer/ex_act(severity)
+ switch(severity)
+ if(1.0)
+ del(src)
+ return
+ if(2.0)
+ if (prob(25))
+ del(src)
+ return
+ if (prob(50))
+ for(var/x in verbs)
+ verbs -= x
+ set_broken()
+ if(3.0)
+ if (prob(25))
+ for(var/x in verbs)
+ verbs -= x
+ set_broken()
+ else
+ return
+
+/obj/machinery/computer/bullet_act(var/obj/item/projectile/Proj)
+ if(prob(Proj.damage))
+ set_broken()
+ ..()
+
+
+/obj/machinery/computer/blob_act()
+ if (prob(75))
for(var/x in verbs)
verbs -= x
set_broken()
- var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread()
- smoke.set_up(5, 0, src)
- smoke.start()
- return
+ density = 0
-
- emp_act(severity)
- if(prob(20/severity)) set_broken()
- ..()
-
-
- ex_act(severity)
- switch(severity)
- if(1.0)
- del(src)
- return
- if(2.0)
- if (prob(25))
- del(src)
- return
- if (prob(50))
- for(var/x in verbs)
- verbs -= x
- set_broken()
- if(3.0)
- if (prob(25))
- for(var/x in verbs)
- verbs -= x
- set_broken()
- else
- return
-
- bullet_act(var/obj/item/projectile/Proj)
- if(prob(Proj.damage))
- set_broken()
- ..()
-
-
- blob_act()
- if (prob(75))
- for(var/x in verbs)
- verbs -= x
- set_broken()
- density = 0
-
-
- power_change()
- if(!istype(src,/obj/machinery/computer/security/telescreen))
- if(stat & BROKEN)
- icon_state = initial(icon_state)
- icon_state += "b"
- if (istype(src,/obj/machinery/computer/aifixer))
- overlays = null
-
- else if(powered())
- icon_state = initial(icon_state)
- stat &= ~NOPOWER
- if (istype(src,/obj/machinery/computer/aifixer))
- var/obj/machinery/computer/aifixer/O = src
- if (O.occupant)
- switch (O.occupant.stat)
- if (0)
- overlays += image('icons/obj/computer.dmi', "ai-fixer-full")
- if (2)
- overlays += image('icons/obj/computer.dmi', "ai-fixer-404")
- else
- overlays += image('icons/obj/computer.dmi', "ai-fixer-empty")
- else
- spawn(rand(0, 15))
- //icon_state = "c_unpowered"
- icon_state = initial(icon_state)
- icon_state += "0"
- stat |= NOPOWER
- if (istype(src,/obj/machinery/computer/aifixer))
- overlays = null
-
-
- process()
- if(stat & (NOPOWER|BROKEN))
- return
- use_power(250)
-
-
- proc/set_broken()
- icon_state = initial(icon_state)
+/obj/machinery/computer/update_icon()
+ ..()
+ icon_state = initial(icon_state)
+ // Broken
+ if(stat & BROKEN)
icon_state += "b"
- stat |= BROKEN
+
+ // Powered
+ else if(stat & NOPOWER)
+ icon_state = initial(icon_state)
+ icon_state += "0"
- attackby(I as obj, user as mob)
- if(istype(I, /obj/item/weapon/screwdriver) && circuit)
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- if(do_after(user, 20))
- var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
- var/obj/item/weapon/circuitboard/M = new circuit( A )
- A.circuit = M
- A.anchored = 1
- for (var/obj/C in src)
- C.loc = src.loc
- if (src.stat & BROKEN)
- user << "\blue The broken glass falls out."
- new /obj/item/weapon/shard( src.loc )
- A.state = 3
- A.icon_state = "3"
- else
- user << "\blue You disconnect the monitor."
- A.state = 4
- A.icon_state = "4"
- del(src)
- else
- src.attack_hand(user)
- return
+
+/obj/machinery/computer/power_change()
+ ..()
+ update_icon()
+
+
+/obj/machinery/computer/proc/set_broken()
+ stat |= BROKEN
+ update_icon()
+
+
+/obj/machinery/computer/attackby(I as obj, user as mob)
+ if(istype(I, /obj/item/weapon/screwdriver) && circuit)
+ playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
+ if(do_after(user, 20))
+ var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
+ var/obj/item/weapon/circuitboard/M = new circuit( A )
+ A.circuit = M
+ A.anchored = 1
+ for (var/obj/C in src)
+ C.loc = src.loc
+ if (src.stat & BROKEN)
+ user << "\blue The broken glass falls out."
+ new /obj/item/weapon/shard( src.loc )
+ A.state = 3
+ A.icon_state = "3"
+ else
+ user << "\blue You disconnect the monitor."
+ A.state = 4
+ A.icon_state = "4"
+ del(src)
+ else
+ src.attack_hand(user)
+ return
diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm
index a4cbf96dd2..ab3c456535 100644
--- a/code/game/machinery/computer/crew.dm
+++ b/code/game/machinery/computer/crew.dm
@@ -9,110 +9,111 @@
var/list/tracked = list( )
- New()
- tracked = list()
- ..()
+/obj/machinery/computer/crew/New()
+ tracked = list()
+ ..()
- attack_ai(mob/user)
- attack_hand(user)
- interact(user)
+/obj/machinery/computer/crew/attack_ai(mob/user)
+ attack_hand(user)
+ interact(user)
- attack_hand(mob/user)
- add_fingerprint(user)
- if(stat & (BROKEN|NOPOWER))
- return
- interact(user)
+/obj/machinery/computer/crew/attack_hand(mob/user)
+ add_fingerprint(user)
+ if(stat & (BROKEN|NOPOWER))
+ return
+ interact(user)
- power_change()
- if(stat & BROKEN)
- icon_state = "broken"
+/obj/machinery/computer/crew/update_icon()
+
+ if(stat & BROKEN)
+ icon_state = "broken"
+ else
+ if(stat & NOPOWER)
+ src.icon_state = "c_unpowered"
+ stat |= NOPOWER
else
- if( powered() )
- icon_state = initial(icon_state)
- stat &= ~NOPOWER
- else
- spawn(rand(0, 15))
- src.icon_state = "c_unpowered"
- stat |= NOPOWER
+ icon_state = initial(icon_state)
+ stat &= ~NOPOWER
- Topic(href, href_list)
- if(..()) return
- if (src.z > 6)
- usr << "\red Unable to establish a connection: \black You're too far away from the station!"
- return
- if( href_list["close"] )
- usr << browse(null, "window=crewcomp")
- usr.unset_machine()
- return
- if(href_list["update"])
- src.updateDialog()
- return
+/obj/machinery/computer/crew/Topic(href, href_list)
+ if(..()) return
+ if (src.z > 6)
+ usr << "\red Unable to establish a connection: \black You're too far away from the station!"
+ return
+ if( href_list["close"] )
+ usr << browse(null, "window=crewcomp")
+ usr.unset_machine()
+ return
+ if(href_list["update"])
+ src.updateDialog()
+ return
- interact(mob/user)
- if( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
- if(!istype(user, /mob/living/silicon))
- user.unset_machine()
- user << browse(null, "window=powcomp")
- return
- user.set_machine(src)
- src.scan()
- var/t = "Crew Monitoring
"
- t += "
Refresh "
- t += "Close
"
- t += "| Name | Vitals | Position |
"
- var/list/logs = list()
- for(var/obj/item/clothing/under/C in src.tracked)
- var/log = ""
- var/turf/pos = get_turf(C)
- if((C) && (C.has_sensor) && (pos) && (pos.z == src.z) && C.sensor_mode)
- if(istype(C.loc, /mob/living/carbon/human))
+/obj/machinery/computer/crew/interact(mob/user)
+ if(stat & (BROKEN|NOPOWER))
+ return
+ if(!istype(user, /mob/living/silicon) && get_dist(src, user) > 1)
+ user.unset_machine()
+ user << browse(null, "window=powcomp")
+ return
+ user.set_machine(src)
+ src.scan()
+ var/t = "Crew Monitoring
"
+ t += "
Refresh "
+ t += "Close
"
+ t += "| Name | Vitals | Position |
"
+ var/list/logs = list()
+ for(var/obj/item/clothing/under/C in src.tracked)
+ var/log = ""
+ var/turf/pos = get_turf(C)
+ if((C) && (C.has_sensor) && (pos) && (pos.z == src.z) && C.sensor_mode)
+ if(istype(C.loc, /mob/living/carbon/human))
- var/mob/living/carbon/human/H = C.loc
+ var/mob/living/carbon/human/H = C.loc
- var/dam1 = round(H.getOxyLoss(),1)
- var/dam2 = round(H.getToxLoss(),1)
- var/dam3 = round(H.getFireLoss(),1)
- var/dam4 = round(H.getBruteLoss(),1)
+ var/dam1 = round(H.getOxyLoss(),1)
+ var/dam2 = round(H.getToxLoss(),1)
+ var/dam3 = round(H.getFireLoss(),1)
+ var/dam4 = round(H.getBruteLoss(),1)
- var/life_status = "[H.stat > 1 ? "Deceased" : "Living"]"
- var/damage_report = "([dam1]/[dam2]/[dam3]/[dam4])"
+ var/life_status = "[H.stat > 1 ? "Deceased" : "Living"]"
+ var/damage_report = "([dam1]/[dam2]/[dam3]/[dam4])"
- if(H.wear_id)
- log += "| [H.wear_id.name] | "
- else
- log += "
| Unknown | "
+ if(H.wear_id)
+ log += "
| [H.wear_id.name] | "
+ else
+ log += "
| Unknown | "
- switch(C.sensor_mode)
- if(1)
- log += "[life_status] | Not Available |
"
- if(2)
- log += "[life_status] [damage_report] | Not Available | "
- if(3)
- var/area/player_area = get_area(H)
- log += "[life_status] [damage_report] | [player_area.name] ([pos.x], [pos.y]) | "
- logs += log
- logs = sortList(logs)
- for(var/log in logs)
- t += log
- t += "
"
- t += ""
- user << browse(t, "window=crewcomp;size=900x600")
- onclose(user, "crewcomp")
+ switch(C.sensor_mode)
+ if(1)
+ log += "[life_status] | Not Available | "
+ if(2)
+ log += "[life_status] [damage_report] | Not Available | "
+ if(3)
+ var/area/player_area = get_area(H)
+ log += "[life_status] [damage_report] | [player_area.name] ([pos.x], [pos.y]) | "
+ logs += log
+ logs = sortList(logs)
+ for(var/log in logs)
+ t += log
+ t += "
"
+ t += ""
+ user << browse(t, "window=crewcomp;size=900x600")
+ onclose(user, "crewcomp")
- proc/scan()
- for(var/obj/item/clothing/under/C in world)
- if((C.has_sensor) && (istype(C.loc, /mob/living/carbon/human)))
- var/check = 0
- for(var/O in src.tracked)
- if(O == C)
- check = 1
- break
- if(!check)
- src.tracked.Add(C)
- return 1
\ No newline at end of file
+/obj/machinery/computer/crew/proc/scan()
+ for(var/obj/item/clothing/under/C in world)
+ if((C.has_sensor) && (istype(C.loc, /mob/living/carbon/human)))
+ var/check = 0
+ for(var/O in src.tracked)
+ if(O == C)
+ check = 1
+ break
+ if(!check)
+ src.tracked.Add(C)
+ return 1
\ No newline at end of file
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index b4d4c8894b..d800ef3805 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -65,7 +65,7 @@
..()
return
-/obj/machinery/computer/message_monitor/power_change()
+/obj/machinery/computer/message_monitor/update_icon()
..()
if(stat & (NOPOWER|BROKEN))
return
@@ -74,7 +74,7 @@
else
icon_state = normal_icon
-/obj/machinery/computer/message_monitor/process()
+/obj/machinery/computer/message_monitor/initialize()
//Is the server isn't linked to a server, and there's a server available, default it to the first one in the list.
if(!linkedServer)
if(message_servers && message_servers.len > 0)
diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm
index 9eb6446aab..4a69863cc5 100644
--- a/code/game/machinery/computer/pod.dm
+++ b/code/game/machinery/computer/pod.dm
@@ -146,7 +146,8 @@
/obj/machinery/computer/pod/process()
- ..()
+ if(!..())
+ return
if(timing)
if(time > 0)
time = round(time) - 1
diff --git a/code/game/machinery/computer/power.dm b/code/game/machinery/computer/power.dm
index ce441f00d0..b3b017565c 100644
--- a/code/game/machinery/computer/power.dm
+++ b/code/game/machinery/computer/power.dm
@@ -126,10 +126,6 @@
return
-/obj/machinery/power/monitor/process()
- if(!(stat & (NOPOWER|BROKEN)) )
- use_power(250)
-
/obj/machinery/power/monitor/power_change()
if(stat & BROKEN)
diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm
index ab71f3809e..b200d1ab4a 100644
--- a/code/game/machinery/computer/prisoner.dm
+++ b/code/game/machinery/computer/prisoner.dm
@@ -63,10 +63,8 @@
process()
- if(stat & (NOPOWER|BROKEN))
- return
- use_power(500)
- src.updateDialog()
+ if(!..())
+ src.updateDialog()
return
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index 12c68946ef..be1513a477 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -116,6 +116,8 @@ proc/move_mining_shuttle()
var/location = 0 //0 = station, 1 = mining base
/obj/machinery/computer/mining_shuttle/attack_hand(user as mob)
+ if(..(user))
+ return
src.add_fingerprint(usr)
var/dat
dat = text("Mining shuttle:
Send")