diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index 91d8592fae..6ffb72f88a 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -10,7 +10,6 @@
// Use to show shuttle ETA/ETD times
// Alert status
// And arbitrary messages set by comms computer
-
/obj/machinery/status_display
icon = 'icons/obj/status_display.dmi'
icon_state = "frame"
@@ -39,190 +38,184 @@
maptext_height = 26
maptext_width = 32
- // new display
- // register for radio system
- New()
- ..()
- spawn(5) // must wait for map loading to finish
- if(radio_controller)
- radio_controller.add_object(src, frequency)
+// new display
+// register for radio system
+/obj/machinery/status_display/New()
+ ..()
+ spawn(5) // must wait for map loading to finish
+ if(radio_controller)
+ radio_controller.add_object(src, frequency)
- // timed process
+// timed process
+/obj/machinery/status_display/process()
+ if(stat & NOPOWER)
+ remove_display()
+ return
+ update()
- process()
- if(stat & NOPOWER)
- remove_display()
- return
- update()
-
- emp_act(severity)
- if(stat & (BROKEN|NOPOWER))
- ..(severity)
- return
- set_picture("ai_bsod")
+/obj/machinery/status_display/emp_act(severity)
+ if(stat & (BROKEN|NOPOWER))
..(severity)
+ return
+ set_picture("ai_bsod")
+ ..(severity)
- // set what is displayed
+// set what is displayed
+/obj/machinery/status_display/proc/update()
+ if(friendc && mode!=4) //Makes all status displays except supply shuttle timer display the eye -- Urist
+ set_picture("ai_friend")
+ return
- proc/update()
- if(friendc && mode!=4) //Makes all status displays except supply shuttle timer display the eye -- Urist
- set_picture("ai_friend")
- return
-
- switch(mode)
- if(0) //blank
- remove_display()
- if(1) //emergency shuttle timer
- if(emergency_shuttle.waiting_to_leave())
- var/line1 = "-ETD-"
- var/line2
- if (emergency_shuttle.shuttle.is_launching())
- line2 = "Launch"
- else
- line2 = get_shuttle_timer_departure()
- if(length(line2) > CHARS_PER_LINE)
- line2 = "Error!"
- update_display(line1, line2)
- else if(emergency_shuttle.has_eta())
- var/line1 = "-ETA-"
- var/line2 = get_shuttle_timer_arrival()
+ switch(mode)
+ if(0) //blank
+ remove_display()
+ if(1) //emergency shuttle timer
+ if(emergency_shuttle.waiting_to_leave())
+ var/line1 = "-ETD-"
+ var/line2
+ if (emergency_shuttle.shuttle.is_launching())
+ line2 = "Launch"
+ else
+ line2 = get_shuttle_timer_departure()
if(length(line2) > CHARS_PER_LINE)
line2 = "Error!"
- update_display(line1, line2)
- else
- remove_display()
- if(2) //custom messages
- var/line1
- var/line2
-
- if(!index1)
- line1 = message1
- else
- line1 = copytext(message1+"|"+message1, index1, index1+CHARS_PER_LINE)
- var/message1_len = length(message1)
- index1 += SCROLL_SPEED
- if(index1 > message1_len)
- index1 -= message1_len
-
- if(!index2)
- line2 = message2
- else
- line2 = copytext(message2+"|"+message2, index2, index2+CHARS_PER_LINE)
- var/message2_len = length(message2)
- index2 += SCROLL_SPEED
- if(index2 > message2_len)
- index2 -= message2_len
update_display(line1, line2)
- if(4) // supply shuttle timer
- var/line1 = "SUPPLY"
- var/line2 = ""
+ else if(emergency_shuttle.has_eta())
+ var/line1 = "-ETA-"
+ var/line2 = get_shuttle_timer_arrival()
+ if(length(line2) > CHARS_PER_LINE)
+ line2 = "Error!"
+ update_display(line1, line2)
+ else
+ remove_display()
+ if(2) //custom messages
+ var/line1
+ var/line2
- var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle
- if (!shuttle)
+ if(!index1)
+ line1 = message1
+ else
+ line1 = copytext(message1+"|"+message1, index1, index1+CHARS_PER_LINE)
+ var/message1_len = length(message1)
+ index1 += SCROLL_SPEED
+ if(index1 > message1_len)
+ index1 -= message1_len
+
+ if(!index2)
+ line2 = message2
+ else
+ line2 = copytext(message2+"|"+message2, index2, index2+CHARS_PER_LINE)
+ var/message2_len = length(message2)
+ index2 += SCROLL_SPEED
+ if(index2 > message2_len)
+ index2 -= message2_len
+ update_display(line1, line2)
+ if(4) // supply shuttle timer
+ var/line1 = "SUPPLY"
+ var/line2 = ""
+
+ var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle
+ if (!shuttle)
+ line2 = "Error"
+ else if(shuttle.has_arrive_time())
+ line2 = get_supply_shuttle_timer()
+ if(lentext(line2) > CHARS_PER_LINE)
line2 = "Error"
- else if(shuttle.has_arrive_time())
- line2 = get_supply_shuttle_timer()
- if(lentext(line2) > CHARS_PER_LINE)
- line2 = "Error"
- else if (shuttle.is_launching())
- if (shuttle.at_station())
- line2 = "Launch"
- else
- line2 = "ETA"
+ else if (shuttle.is_launching())
+ if (shuttle.at_station())
+ line2 = "Launch"
else
- if(shuttle.at_station())
- line2 = "Docked"
- else
- line1 = ""
- update_display(line1, line2)
+ line2 = "ETA"
+ else
+ if(shuttle.at_station())
+ line2 = "Docked"
+ else
+ line1 = ""
+ update_display(line1, line2)
- examine()
- set src in view()
- . = ..()
- switch(mode)
- if(1,2,4)
- usr << "The display says:
\t
[message1]
\t[message2]"
+/obj/machinery/status_display/examine()
+ set src in view()
+ . = ..()
+ switch(mode)
+ if(1,2,4)
+ usr << "The display says:
\t[message1]
\t[message2]"
- proc/set_message(m1, m2)
- if(m1)
- index1 = (length(m1) > CHARS_PER_LINE)
- message1 = m1
- else
- message1 = ""
- index1 = 0
+/obj/machinery/status_display/proc/set_message(m1, m2)
+ if(m1)
+ index1 = (length(m1) > CHARS_PER_LINE)
+ message1 = m1
+ else
+ message1 = ""
+ index1 = 0
- if(m2)
- index2 = (length(m2) > CHARS_PER_LINE)
- message2 = m2
- else
- message2 = ""
- index2 = 0
+ if(m2)
+ index2 = (length(m2) > CHARS_PER_LINE)
+ message2 = m2
+ else
+ message2 = ""
+ index2 = 0
- proc/set_picture(state)
- picture_state = state
- remove_display()
- overlays += image('icons/obj/status_display.dmi', icon_state=picture_state)
+/obj/machinery/status_display/proc/set_picture(state)
+ picture_state = state
+ remove_display()
+ overlays += image('icons/obj/status_display.dmi', icon_state=picture_state)
- proc/update_display(line1, line2)
- var/new_text = {"[line1]
[line2]
"}
- if(maptext != new_text)
- maptext = new_text
+/obj/machinery/status_display/proc/update_display(line1, line2)
+ var/new_text = {"[line1]
[line2]
"}
+ if(maptext != new_text)
+ maptext = new_text
- proc/get_shuttle_timer_arrival()
- var/timeleft = emergency_shuttle.estimate_arrival_time()
- if(timeleft < 0)
- return ""
- return "[add_zero(num2text((timeleft / 60) % 60),2)]:[add_zero(num2text(timeleft % 60), 2)]"
-
- proc/get_shuttle_timer_departure()
- var/timeleft = emergency_shuttle.estimate_launch_time()
- if(timeleft < 0)
- return ""
- return "[add_zero(num2text((timeleft / 60) % 60),2)]:[add_zero(num2text(timeleft % 60), 2)]"
-
- proc/get_supply_shuttle_timer()
- var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle
- if (!shuttle)
- return "Error"
-
- if(shuttle.has_arrive_time())
- var/timeleft = round((shuttle.arrive_time - world.time) / 10,1)
- if(timeleft < 0)
- return "Late"
- return "[add_zero(num2text((timeleft / 60) % 60),2)]:[add_zero(num2text(timeleft % 60), 2)]"
+/obj/machinery/status_display/proc/get_shuttle_timer_arrival()
+ var/timeleft = emergency_shuttle.estimate_arrival_time()
+ if(timeleft < 0)
return ""
+ return "[add_zero(num2text((timeleft / 60) % 60),2)]:[add_zero(num2text(timeleft % 60), 2)]"
- proc/remove_display()
- if(overlays.len)
- overlays.Cut()
- if(maptext)
- maptext = ""
+/obj/machinery/status_display/proc/get_shuttle_timer_departure()
+ var/timeleft = emergency_shuttle.estimate_launch_time()
+ if(timeleft < 0)
+ return ""
+ return "[add_zero(num2text((timeleft / 60) % 60),2)]:[add_zero(num2text(timeleft % 60), 2)]"
+/obj/machinery/status_display/proc/get_supply_shuttle_timer()
+ var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle
+ if (!shuttle)
+ return "Error"
- receive_signal(datum/signal/signal)
+ if(shuttle.has_arrive_time())
+ var/timeleft = round((shuttle.arrive_time - world.time) / 10,1)
+ if(timeleft < 0)
+ return "Late"
+ return "[add_zero(num2text((timeleft / 60) % 60),2)]:[add_zero(num2text(timeleft % 60), 2)]"
+ return ""
- switch(signal.data["command"])
- if("blank")
- mode = 0
+/obj/machinery/status_display/proc/remove_display()
+ if(overlays.len)
+ overlays.Cut()
+ if(maptext)
+ maptext = ""
- if("shuttle")
- mode = 1
+/obj/machinery/status_display/receive_signal(datum/signal/signal)
+ switch(signal.data["command"])
+ if("blank")
+ mode = 0
- if("message")
- mode = 2
- set_message(signal.data["msg1"], signal.data["msg2"])
+ if("shuttle")
+ mode = 1
- if("alert")
- mode = 3
- set_picture(signal.data["picture_state"])
-
- if("supply")
- if(supply_display)
- mode = 4
+ if("message")
+ mode = 2
+ set_message(signal.data["msg1"], signal.data["msg2"])
+ if("alert")
+ mode = 3
+ set_picture(signal.data["picture_state"])
+ if("supply")
+ if(supply_display)
+ mode = 4
/obj/machinery/ai_status_display
icon = 'icons/obj/status_display.dmi'
@@ -239,74 +232,71 @@
var/emotion = "Neutral"
+/obj/machinery/ai_status_display/process()
+ if(stat & NOPOWER)
+ overlays.Cut()
+ return
- process()
- if(stat & NOPOWER)
- overlays.Cut()
- return
+ update()
- update()
-
- emp_act(severity)
- if(stat & (BROKEN|NOPOWER))
- ..(severity)
- return
- set_picture("ai_bsod")
+/obj/machinery/ai_status_display/emp_act(severity)
+ if(stat & (BROKEN|NOPOWER))
..(severity)
+ return
+ set_picture("ai_bsod")
+ ..(severity)
- proc/update()
+/obj/machinery/ai_status_display/proc/update()
+ if(mode==0) //Blank
+ overlays.Cut()
+ return
- if(mode==0) //Blank
- overlays.Cut()
- return
+ if(mode==1) // AI emoticon
+ switch(emotion)
+ if("Very Happy")
+ set_picture("ai_veryhappy")
+ if("Happy")
+ set_picture("ai_happy")
+ if("Neutral")
+ set_picture("ai_neutral")
+ if("Unsure")
+ set_picture("ai_unsure")
+ if("Confused")
+ set_picture("ai_confused")
+ if("Sad")
+ set_picture("ai_sad")
+ if("Surprised")
+ set_picture("ai_surprised")
+ if("Upset")
+ set_picture("ai_upset")
+ if("Angry")
+ set_picture("ai_angry")
+ if("BSOD")
+ set_picture("ai_bsod")
+ if("Blank")
+ set_picture("ai_off")
+ if("Problems?")
+ set_picture("ai_trollface")
+ if("Awesome")
+ set_picture("ai_awesome")
+ if("Dorfy")
+ set_picture("ai_urist")
+ if("Facepalm")
+ set_picture("ai_facepalm")
+ if("Friend Computer")
+ set_picture("ai_friend")
+ return
- if(mode==1) // AI emoticon
- switch(emotion)
- if("Very Happy")
- set_picture("ai_veryhappy")
- if("Happy")
- set_picture("ai_happy")
- if("Neutral")
- set_picture("ai_neutral")
- if("Unsure")
- set_picture("ai_unsure")
- if("Confused")
- set_picture("ai_confused")
- if("Sad")
- set_picture("ai_sad")
- if("Surprised")
- set_picture("ai_surprised")
- if("Upset")
- set_picture("ai_upset")
- if("Angry")
- set_picture("ai_angry")
- if("BSOD")
- set_picture("ai_bsod")
- if("Blank")
- set_picture("ai_off")
- if("Problems?")
- set_picture("ai_trollface")
- if("Awesome")
- set_picture("ai_awesome")
- if("Dorfy")
- set_picture("ai_urist")
- if("Facepalm")
- set_picture("ai_facepalm")
- if("Friend Computer")
- set_picture("ai_friend")
-
- return
-
- if(mode==2) // BSOD
- set_picture("ai_bsod")
- return
+ if(mode==2) // BSOD
+ set_picture("ai_bsod")
+ return
- proc/set_picture(var/state)
- picture_state = state
- if(overlays.len)
- overlays.Cut()
- overlays += image('icons/obj/status_display.dmi', icon_state=picture_state)
+/obj/machinery/ai_status_display/proc/set_picture(var/state)
+ picture_state = state
+ if(overlays.len)
+ overlays.Cut()
+ overlays += image('icons/obj/status_display.dmi', icon_state=picture_state)
#undef CHARS_PER_LINE
#undef FOND_SIZE