From 76a6ef22521bcabc90cc1ba52a1e92dfeb855f28 Mon Sep 17 00:00:00 2001 From: "giacomand@gmail.com" Date: Fri, 21 Dec 2012 20:38:36 +0000 Subject: [PATCH] -Cleaned up computers. Fixes Issue 1195 -Made computers use idle_power_usage and active_power_usage that it used from the MC. I'm sure something is likely to break because I removed a lot of snowflake code. I tried to test all the computers with what I can but if you find something odd then please tell me. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5369 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/machinery/atmo_control.dm | 67 +----- .../atmoalter/area_atmos_computer.dm | 2 + .../machinery/computer/HolodeckControl.dm | 2 + code/game/machinery/computer/Operating.dm | 6 +- code/game/machinery/computer/aifixer.dm | 22 +- code/game/machinery/computer/arcade.dm | 12 - code/game/machinery/computer/atmos_alert.dm | 161 ++++++------- code/game/machinery/computer/camera.dm | 6 + code/game/machinery/computer/cloning.dm | 13 +- .../game/machinery/computer/communications.dm | 6 +- code/game/machinery/computer/computer.dm | 219 +++++++++--------- code/game/machinery/computer/crew.dm | 179 +++++++------- code/game/machinery/computer/message.dm | 4 +- code/game/machinery/computer/pod.dm | 3 +- code/game/machinery/computer/power.dm | 4 - code/game/machinery/computer/prisoner.dm | 6 +- code/modules/mining/mine_items.dm | 2 + 17 files changed, 316 insertions(+), 398 deletions(-) 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 += "" - 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 += "
NameVitalsPosition
" + 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 += "" - else - log += "" + if(H.wear_id) + log += "" + else + log += "" - switch(C.sensor_mode) - if(1) - log += "" - if(2) - log += "" - if(3) - var/area/player_area = get_area(H) - log += "" - logs += log - logs = sortList(logs) - for(var/log in logs) - t += log - t += "
NameVitalsPosition
[H.wear_id.name]
Unknown
[H.wear_id.name]
Unknown[life_status]Not Available
[life_status] [damage_report]Not Available
[life_status] [damage_report][player_area.name] ([pos.x], [pos.y])
" - 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
")