/obj/machinery/computer3/atmos_alert default_prog = /datum/file/program/atmos_alert spawn_parts = list(/obj/item/part/computer/storage/hdd,/obj/item/part/computer/networking/radio) icon_state = "frame-eng" /datum/file/program/atmos_alert name = "atmospheric alert monitor" desc = "Recieves alerts over the radio." active_state = "alert:2" refresh = 1 execute(var/datum/file/program/source) ..(source) if(!computer.radio) computer.Crash(MISSING_PERIPHERAL) computer.radio.set_frequency(1437,RADIO_ATMOSIA) // This will be called as long as the program is running on the parent computer // and the computer has the radio peripheral receive_signal(datum/signal/signal) if(!signal || signal.encryption) return var/zone = signal.data["zone"] var/severity = signal.data["alert"] if(!zone || !severity) return minor_air_alarms -= zone priority_air_alarms -= zone if(severity=="severe") priority_air_alarms += zone else if (severity=="minor") minor_air_alarms += zone update_icon() return interact() if(!interactable()) return if(!computer.radio) computer.Crash(MISSING_PERIPHERAL) popup.set_content(return_text()) popup.open() update_icon() ..() if(priority_air_alarms.len > 0) overlay.icon_state = "alert:2" else if(minor_air_alarms.len > 0) overlay.icon_state = "alert:1" else overlay.icon_state = "alert:0" if(computer) computer.update_icon() proc/return_text() var/priority_text = "