-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
This commit is contained in:
giacomand@gmail.com
2012-12-21 20:38:36 +00:00
parent ac116cb88d
commit 76a6ef2252
17 changed files with 316 additions and 398 deletions

View File

@@ -87,6 +87,8 @@ obj/machinery/computer/general_air_control
var/datum/radio_frequency/radio_connection var/datum/radio_frequency/radio_connection
attack_hand(mob/user) attack_hand(mob/user)
if(..(user))
return
user << browse(return_text(),"window=computer") user << browse(return_text(),"window=computer")
user.set_machine(src) user.set_machine(src)
onclose(user, "computer") onclose(user, "computer")
@@ -95,39 +97,6 @@ obj/machinery/computer/general_air_control
..() ..()
src.updateDialog() 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) receive_signal(datum/signal/signal)
if(!signal || signal.encryption) return if(!signal || signal.encryption) return
@@ -294,38 +263,6 @@ Max Output Pressure: [output_pressure] kPa<BR>"}
var/cutoff_temperature = 2000 var/cutoff_temperature = 2000
var/on_temperature = 1200 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() process()
if(automation) if(automation)

View File

@@ -25,6 +25,8 @@
return return
attack_hand(var/mob/user as mob) attack_hand(var/mob/user as mob)
if(..(user))
return
src.add_fingerprint(usr) src.add_fingerprint(usr)
var/dat = {" var/dat = {"
<html> <html>

View File

@@ -198,6 +198,8 @@
/obj/machinery/computer/HolodeckControl/process() /obj/machinery/computer/HolodeckControl/process()
if(!..())
return
if(active) if(active)
if(!checkInteg(linkedholodeck)) if(!checkInteg(linkedholodeck))

View File

@@ -76,7 +76,5 @@
/obj/machinery/computer/operating/process() /obj/machinery/computer/operating/process()
if(!(stat & (NOPOWER|BROKEN)) ) if(..())
use_power(500) src.updateDialog()
src.updateDialog()

View File

@@ -108,12 +108,10 @@
return return
/obj/machinery/computer/aifixer/process() /obj/machinery/computer/aifixer/process()
if(stat & (NOPOWER|BROKEN)) if(..())
src.updateDialog()
return return
src.updateDialog()
return
/obj/machinery/computer/aifixer/Topic(href, href_list) /obj/machinery/computer/aifixer/Topic(href, href_list)
if(..()) if(..())
return return
@@ -144,3 +142,19 @@
return 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")

View File

@@ -219,18 +219,6 @@
src.blocked = 0 src.blocked = 0
return 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) /obj/machinery/computer/arcade/attackby(I as obj, user as mob)
if(istype(I, /obj/item/weapon/card/emag) && !emagged) if(istype(I, /obj/item/weapon/card/emag) && !emagged)

View File

@@ -12,71 +12,77 @@
var/datum/radio_frequency/radio_connection var/datum/radio_frequency/radio_connection
initialize() /obj/machinery/computer/atmos_alert/initialize()
set_frequency(receive_frequency) ..()
set_frequency(receive_frequency)
receive_signal(datum/signal/signal) /obj/machinery/computer/atmos_alert/receive_signal(datum/signal/signal)
if(!signal || signal.encryption) return if(!signal || signal.encryption) return
var/zone = signal.data["zone"] var/zone = signal.data["zone"]
var/severity = signal.data["alert"] var/severity = signal.data["alert"]
if(!zone || !severity) return if(!zone || !severity) return
minor_alarms -= zone minor_alarms -= zone
priority_alarms -= zone priority_alarms -= zone
if(severity=="severe") if(severity=="severe")
priority_alarms += zone priority_alarms += zone
else if (severity=="minor") else if (severity=="minor")
minor_alarms += zone minor_alarms += zone
update_icon() 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 return
user << browse(return_text(),"window=computer")
user.set_machine(src)
onclose(user, "computer")
/obj/machinery/computer/atmos_alert/process()
proc/set_frequency(new_frequency) if(..())
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()
..()
src.updateDialog() src.updateDialog()
update_icon() /obj/machinery/computer/atmos_alert/update_icon()
if(priority_alarms.len) ..()
icon_state = "alert:2" if(stat & (NOPOWER|BROKEN))
else if(minor_alarms.len)
icon_state = "alert:1"
else
icon_state = "alert:0"
return 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() /obj/machinery/computer/atmos_alert/proc/return_text()
var/priority_text var/priority_text
var/minor_text var/minor_text
if(priority_alarms.len) if(priority_alarms.len)
for(var/zone in priority_alarms) for(var/zone in priority_alarms)
priority_text += "<FONT color='red'><B>[zone]</B></FONT> <A href='?src=\ref[src];priority_clear=[ckey(zone)]'>X</A><BR>" priority_text += "<FONT color='red'><B>[zone]</B></FONT> <A href='?src=\ref[src];priority_clear=[ckey(zone)]'>X</A><BR>"
else else
priority_text = "No priority alerts detected.<BR>" priority_text = "No priority alerts detected.<BR>"
if(minor_alarms.len) if(minor_alarms.len)
for(var/zone in minor_alarms) for(var/zone in minor_alarms)
minor_text += "<B>[zone]</B> <A href='?src=\ref[src];minor_clear=[ckey(zone)]'>X</A><BR>" minor_text += "<B>[zone]</B> <A href='?src=\ref[src];minor_clear=[ckey(zone)]'>X</A><BR>"
else else
minor_text = "No minor alerts detected.<BR>" minor_text = "No minor alerts detected.<BR>"
var/output = {"<B>[name]</B><HR> var/output = {"<B>[name]</B><HR>
<B>Priority Alerts:</B><BR> <B>Priority Alerts:</B><BR>
[priority_text] [priority_text]
<BR> <BR>
@@ -85,46 +91,23 @@
[minor_text] [minor_text]
<BR>"} <BR>"}
return output return output
Topic(href, href_list) /obj/machinery/computer/atmos_alert/Topic(href, href_list)
if(..()) 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()
return return
attackby(I as obj, user as mob) if(href_list["priority_clear"])
if(istype(I, /obj/item/weapon/screwdriver)) var/removing_zone = href_list["priority_clear"]
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) for(var/zone in priority_alarms)
if(do_after(user, 20)) if(ckey(zone) == removing_zone)
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) priority_alarms -= zone
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 (src.stat & BROKEN) if(href_list["minor_clear"])
user << "\blue The broken glass falls out." var/removing_zone = href_list["minor_clear"]
new /obj/item/weapon/shard( src.loc ) for(var/zone in minor_alarms)
A.state = 3 if(ckey(zone) == removing_zone)
A.icon_state = "3" minor_alarms -= zone
else update_icon()
user << "\blue You disconnect the monitor." return
A.state = 4
A.icon_state = "4"
del(src)

View File

@@ -88,6 +88,12 @@
density = 0 density = 0
circuit = null 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 /obj/machinery/computer/security/telescreen/entertainment
name = "entertainment monitor" name = "entertainment monitor"
desc = "Damn, they better have /tg/thechannel on these things." desc = "Damn, they better have /tg/thechannel on these things."

View File

@@ -454,15 +454,14 @@
break break
return selected_record return selected_record
/obj/machinery/computer/cloning/power_change() /obj/machinery/computer/cloning/update_icon()
if(stat & BROKEN) if(stat & BROKEN)
icon_state = "commb" icon_state = "commb"
else else
if( powered() ) if(stat & NOPOWER)
icon_state = initial(icon_state) src.icon_state = "c_unpowered"
stat &= ~NOPOWER stat |= NOPOWER
else else
spawn(rand(0, 15)) icon_state = initial(icon_state)
src.icon_state = "c_unpowered" stat &= ~NOPOWER
stat |= NOPOWER

View File

@@ -35,9 +35,9 @@
/obj/machinery/computer/communications/process() /obj/machinery/computer/communications/process()
..() if(..())
if(state != STATE_STATUSDISPLAY) if(state != STATE_STATUSDISPLAY)
src.updateDialog() src.updateDialog()
/obj/machinery/computer/communications/Topic(href, href_list) /obj/machinery/computer/communications/Topic(href, href_list)

View File

@@ -3,131 +3,122 @@
icon = 'icons/obj/computer.dmi' icon = 'icons/obj/computer.dmi'
density = 1 density = 1
anchored = 1.0 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() /obj/machinery/computer/initialize()
..() power_change()
spawn(2)
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) for(var/x in verbs)
verbs -= x verbs -= x
set_broken() set_broken()
var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread() density = 0
smoke.set_up(5, 0, src)
smoke.start()
return
/obj/machinery/computer/update_icon()
emp_act(severity) ..()
if(prob(20/severity)) set_broken() icon_state = initial(icon_state)
..() // Broken
if(stat & 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)
icon_state += "b" 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) /obj/machinery/computer/power_change()
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) ..()
if(do_after(user, 20)) update_icon()
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
var/obj/item/weapon/circuitboard/M = new circuit( A )
A.circuit = M /obj/machinery/computer/proc/set_broken()
A.anchored = 1 stat |= BROKEN
for (var/obj/C in src) update_icon()
C.loc = src.loc
if (src.stat & BROKEN)
user << "\blue The broken glass falls out." /obj/machinery/computer/attackby(I as obj, user as mob)
new /obj/item/weapon/shard( src.loc ) if(istype(I, /obj/item/weapon/screwdriver) && circuit)
A.state = 3 playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
A.icon_state = "3" if(do_after(user, 20))
else var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
user << "\blue You disconnect the monitor." var/obj/item/weapon/circuitboard/M = new circuit( A )
A.state = 4 A.circuit = M
A.icon_state = "4" A.anchored = 1
del(src) for (var/obj/C in src)
else C.loc = src.loc
src.attack_hand(user) if (src.stat & BROKEN)
return 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

View File

@@ -9,110 +9,111 @@
var/list/tracked = list( ) var/list/tracked = list( )
New() /obj/machinery/computer/crew/New()
tracked = list() tracked = list()
..() ..()
attack_ai(mob/user) /obj/machinery/computer/crew/attack_ai(mob/user)
attack_hand(user) attack_hand(user)
interact(user) interact(user)
attack_hand(mob/user) /obj/machinery/computer/crew/attack_hand(mob/user)
add_fingerprint(user) add_fingerprint(user)
if(stat & (BROKEN|NOPOWER)) if(stat & (BROKEN|NOPOWER))
return return
interact(user) interact(user)
power_change() /obj/machinery/computer/crew/update_icon()
if(stat & BROKEN)
icon_state = "broken" if(stat & BROKEN)
icon_state = "broken"
else
if(stat & NOPOWER)
src.icon_state = "c_unpowered"
stat |= NOPOWER
else else
if( powered() ) icon_state = initial(icon_state)
icon_state = initial(icon_state) stat &= ~NOPOWER
stat &= ~NOPOWER
else
spawn(rand(0, 15))
src.icon_state = "c_unpowered"
stat |= NOPOWER
Topic(href, href_list) /obj/machinery/computer/crew/Topic(href, href_list)
if(..()) return if(..()) return
if (src.z > 6) if (src.z > 6)
usr << "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!" usr << "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!"
return return
if( href_list["close"] ) if( href_list["close"] )
usr << browse(null, "window=crewcomp") usr << browse(null, "window=crewcomp")
usr.unset_machine() usr.unset_machine()
return return
if(href_list["update"]) if(href_list["update"])
src.updateDialog() src.updateDialog()
return return
interact(mob/user) /obj/machinery/computer/crew/interact(mob/user)
if( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) if(stat & (BROKEN|NOPOWER))
if(!istype(user, /mob/living/silicon)) return
user.unset_machine() if(!istype(user, /mob/living/silicon) && get_dist(src, user) > 1)
user << browse(null, "window=powcomp") user.unset_machine()
return user << browse(null, "window=powcomp")
user.set_machine(src) return
src.scan() user.set_machine(src)
var/t = "<TT><B>Crew Monitoring</B><HR>" src.scan()
t += "<BR><A href='?src=\ref[src];update=1'>Refresh</A> " var/t = "<TT><B>Crew Monitoring</B><HR>"
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>" t += "<BR><A href='?src=\ref[src];update=1'>Refresh</A> "
t += "<table><tr><td width='40%'>Name</td><td width='20%'>Vitals</td><td width='40%'>Position</td></tr>" t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
var/list/logs = list() t += "<table><tr><td width='40%'>Name</td><td width='20%'>Vitals</td><td width='40%'>Position</td></tr>"
for(var/obj/item/clothing/under/C in src.tracked) var/list/logs = list()
var/log = "" for(var/obj/item/clothing/under/C in src.tracked)
var/turf/pos = get_turf(C) var/log = ""
if((C) && (C.has_sensor) && (pos) && (pos.z == src.z) && C.sensor_mode) var/turf/pos = get_turf(C)
if(istype(C.loc, /mob/living/carbon/human)) 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/dam1 = round(H.getOxyLoss(),1)
var/dam2 = round(H.getToxLoss(),1) var/dam2 = round(H.getToxLoss(),1)
var/dam3 = round(H.getFireLoss(),1) var/dam3 = round(H.getFireLoss(),1)
var/dam4 = round(H.getBruteLoss(),1) var/dam4 = round(H.getBruteLoss(),1)
var/life_status = "[H.stat > 1 ? "<font color=red>Deceased</font>" : "Living"]" var/life_status = "[H.stat > 1 ? "<font color=red>Deceased</font>" : "Living"]"
var/damage_report = "(<font color='blue'>[dam1]</font>/<font color='green'>[dam2]</font>/<font color='orange'>[dam3]</font>/<font color='red'>[dam4]</font>)" var/damage_report = "(<font color='blue'>[dam1]</font>/<font color='green'>[dam2]</font>/<font color='orange'>[dam3]</font>/<font color='red'>[dam4]</font>)"
if(H.wear_id) if(H.wear_id)
log += "<tr><td width='40%'>[H.wear_id.name]</td>" log += "<tr><td width='40%'>[H.wear_id.name]</td>"
else else
log += "<tr><td width='40%'>Unknown</td>" log += "<tr><td width='40%'>Unknown</td>"
switch(C.sensor_mode) switch(C.sensor_mode)
if(1) if(1)
log += "<td width='15%'>[life_status]</td><td width='40%'>Not Available</td></tr>" log += "<td width='15%'>[life_status]</td><td width='40%'>Not Available</td></tr>"
if(2) if(2)
log += "<td width='20%'>[life_status] [damage_report]</td><td width='40%'>Not Available</td></tr>" log += "<td width='20%'>[life_status] [damage_report]</td><td width='40%'>Not Available</td></tr>"
if(3) if(3)
var/area/player_area = get_area(H) var/area/player_area = get_area(H)
log += "<td width='20%'>[life_status] [damage_report]</td><td width='40%'>[player_area.name] ([pos.x], [pos.y])</td></tr>" log += "<td width='20%'>[life_status] [damage_report]</td><td width='40%'>[player_area.name] ([pos.x], [pos.y])</td></tr>"
logs += log logs += log
logs = sortList(logs) logs = sortList(logs)
for(var/log in logs) for(var/log in logs)
t += log t += log
t += "</table>" t += "</table>"
t += "</FONT></PRE></TT>" t += "</FONT></PRE></TT>"
user << browse(t, "window=crewcomp;size=900x600") user << browse(t, "window=crewcomp;size=900x600")
onclose(user, "crewcomp") onclose(user, "crewcomp")
proc/scan() /obj/machinery/computer/crew/proc/scan()
for(var/obj/item/clothing/under/C in world) for(var/obj/item/clothing/under/C in world)
if((C.has_sensor) && (istype(C.loc, /mob/living/carbon/human))) if((C.has_sensor) && (istype(C.loc, /mob/living/carbon/human)))
var/check = 0 var/check = 0
for(var/O in src.tracked) for(var/O in src.tracked)
if(O == C) if(O == C)
check = 1 check = 1
break break
if(!check) if(!check)
src.tracked.Add(C) src.tracked.Add(C)
return 1 return 1

View File

@@ -65,7 +65,7 @@
..() ..()
return return
/obj/machinery/computer/message_monitor/power_change() /obj/machinery/computer/message_monitor/update_icon()
..() ..()
if(stat & (NOPOWER|BROKEN)) if(stat & (NOPOWER|BROKEN))
return return
@@ -74,7 +74,7 @@
else else
icon_state = normal_icon 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. //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(!linkedServer)
if(message_servers && message_servers.len > 0) if(message_servers && message_servers.len > 0)

View File

@@ -146,7 +146,8 @@
/obj/machinery/computer/pod/process() /obj/machinery/computer/pod/process()
..() if(!..())
return
if(timing) if(timing)
if(time > 0) if(time > 0)
time = round(time) - 1 time = round(time) - 1

View File

@@ -126,10 +126,6 @@
return return
/obj/machinery/power/monitor/process()
if(!(stat & (NOPOWER|BROKEN)) )
use_power(250)
/obj/machinery/power/monitor/power_change() /obj/machinery/power/monitor/power_change()
if(stat & BROKEN) if(stat & BROKEN)

View File

@@ -63,10 +63,8 @@
process() process()
if(stat & (NOPOWER|BROKEN)) if(!..())
return src.updateDialog()
use_power(500)
src.updateDialog()
return return

View File

@@ -116,6 +116,8 @@ proc/move_mining_shuttle()
var/location = 0 //0 = station, 1 = mining base var/location = 0 //0 = station, 1 = mining base
/obj/machinery/computer/mining_shuttle/attack_hand(user as mob) /obj/machinery/computer/mining_shuttle/attack_hand(user as mob)
if(..(user))
return
src.add_fingerprint(usr) src.add_fingerprint(usr)
var/dat var/dat
dat = text("<center>Mining shuttle:<br> <b><A href='?src=\ref[src];move=[1]'>Send</A></b></center>") dat = text("<center>Mining shuttle:<br> <b><A href='?src=\ref[src];move=[1]'>Send</A></b></center>")