/obj/item/circuitboard/stationalert/Initialize()
. = ..()
AddComponent(/datum/component/multitool/circuitboards, CALLBACK(src, .proc/get_multitool_ui), CALLBACK(src, .proc/on_topic))
/obj/item/circuitboard/stationalert/proc/get_multitool_ui(var/mob/user, var/obj/item/device/multitool/MT, var/datum/component/multitool/C)
. += "Alarm Sources
"
. += "
"
for(var/datum/alarm_handler/AH in SSalarm.all_handlers)
. += ""
. += "| [AH.category] | "
if(AH in alarm_handlers)
. += "◼Active | Inactivate | "
else
. += "◼Inactive | Activate | "
. += "
"
. += "
"
/obj/item/circuitboard/stationalert/proc/on_topic(href, href_list, var/mob/user, var/datum/component/multitool/MT)
if(href_list["add"])
var/datum/alarm_handler/AH = locate(href_list["add"]) in SSalarm.all_handlers
if(AH)
alarm_handlers |= AH
return MT_REFRESH
if(href_list["remove"])
var/datum/alarm_handler/AH = locate(href_list["remove"]) in SSalarm.all_handlers
if(AH)
alarm_handlers -= AH
return MT_REFRESH
return MT_NOACTION