#ifndef T_BOARD #error T_BOARD macro is not defined but we need it! #endif /obj/item/circuitboard/fission_monitor name = T_BOARD("fission monitoring console") build_path = /obj/machinery/computer/fission_monitor /obj/machinery/computer/fission_monitor name = "fission monitoring console" desc = "Used to monitor a linked fission core." icon_keyboard = "tech_key" icon_screen = "power_monitor" light_color = "#ffcc33" use_power = 1 idle_power_usage = 250 active_power_usage = 500 circuit = /obj/item/circuitboard/fission_monitor var/obj/machinery/power/fission/linked /obj/machinery/computer/fission_monitor/Destroy() linked = null return ..() /obj/machinery/computer/fission_monitor/attackby(var/obj/item/W as obj, var/mob/user as mob) if(istype(W, /obj/item/multitool)) var/obj/item/multitool/M = W if (!isnull(M.connectable) && istype(M.connectable, /obj/machinery/power/fission)) linked = M.connectable to_chat(user, "You link \the [M.connectable] to \the [src].") M.connectable = null else to_chat(user, "There's nothing to link.") return return ..() /obj/machinery/computer/fission_monitor/attack_ai(mob/user) attack_hand(user) /obj/machinery/computer/fission_monitor/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) add_fingerprint(user) if(machine_stat & (BROKEN|NOPOWER)) return nano_ui_interact(user) /obj/machinery/computer/fission_monitor/nano_ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) if(!src.powered()) return var/data[0] if(isnull(linked) || !linked.anchored) data["not_connected"] = 1 else data = linked.ui_data(TRUE) data["not_connected"] = 0 ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "fission_monitor.tmpl", "Nuclear Fission Core", 500, 600) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) /obj/machinery/computer/fission_monitor/Topic(href,href_list) if(..()) return 1 if(isnull(linked) || !linked.powered()) return 1 if(href_list["rod_insertion"]) var/obj/item/fuelrod/rod = locate(href_list["rod_insertion"]) if(istype(rod) && rod.loc == linked) var/new_insersion = input(usr,"Enter new insertion (0-100)%","Insertion control",rod.insertion * 100) as num rod.insertion = clamp( new_insersion / 100, 0, 1) if(href_list["cutoff_point"]) var/new_cutoff = input(usr,"Enter new cutoff point in Kelvin","Cutoff point",linked.cutoff_temp) as num linked.cutoff_temp = clamp( new_cutoff, 0, linked.max_temp) if (linked.cutoff_temp == 0) message_admins("[key_name(usr)] switched off auto shutdown on [linked]",0,1) log_game("[linked] auto shutdown was switched off by [key_name(usr)]") usr.set_machine(src) src.add_fingerprint(usr)