another batch. MAJOR: chem_master, pandemic
This commit is contained in:
@@ -3,29 +3,39 @@
|
||||
desc = "A device that can edit nanite program disks to adjust their functionality."
|
||||
var/obj/item/disk/nanite_program/disk
|
||||
var/datum/nanite_program/program
|
||||
circuit = /obj/item/circuitboard/machine/nanite_programmer
|
||||
icon = 'icons/obj/machines/research.dmi'
|
||||
icon_state = "nanite_programmer"
|
||||
use_power = IDLE_POWER_USE
|
||||
anchored = TRUE
|
||||
density = TRUE
|
||||
flags_1 = HEAR_1
|
||||
ui_x = 420
|
||||
ui_y = 550
|
||||
circuit = /obj/item/circuitboard/machine/nanite_programmer
|
||||
|
||||
/obj/machinery/nanite_programmer/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/disk/nanite_program))
|
||||
var/obj/item/disk/nanite_program/N = I
|
||||
if(disk)
|
||||
eject(user)
|
||||
if(user.transferItemToLoc(N, src))
|
||||
to_chat(user, "<span class='notice'>You insert [N] into [src]</span>")
|
||||
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
|
||||
if(disk)
|
||||
eject(user)
|
||||
disk = N
|
||||
program = N.program
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/machinery/nanite_programmer/screwdriver_act(mob/living/user, obj/item/I) //ditto
|
||||
if(..())
|
||||
return TRUE
|
||||
|
||||
return default_deconstruction_screwdriver(user, "nanite_programmer_t", "nanite_programmer", I)
|
||||
|
||||
/obj/machinery/nanite_programmer/crowbar_act(mob/living/user, obj/item/I)
|
||||
if(..())
|
||||
return TRUE
|
||||
|
||||
return default_deconstruction_crowbar(I)
|
||||
|
||||
/obj/machinery/nanite_programmer/proc/eject(mob/living/user)
|
||||
if(!disk)
|
||||
return
|
||||
@@ -34,10 +44,16 @@
|
||||
disk = null
|
||||
program = null
|
||||
|
||||
/obj/machinery/nanite_programmer/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
/obj/machinery/nanite_programmer/AltClick(mob/user)
|
||||
if(disk && user.canUseTopic(src, !issilicon(user)))
|
||||
to_chat(user, "<span class='notice'>You take out [disk] from [src].</span>")
|
||||
eject(user)
|
||||
return
|
||||
|
||||
/obj/machinery/nanite_programmer/ui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "NaniteProgrammer", name, ui_x, ui_y, master_ui, state)
|
||||
ui = new(user, src, "NaniteProgrammer", name)
|
||||
ui.open()
|
||||
|
||||
/obj/machinery/nanite_programmer/ui_data()
|
||||
@@ -131,7 +147,7 @@
|
||||
program.timer_trigger_delay = timer
|
||||
. = TRUE
|
||||
|
||||
/obj/machinery/nanite_programmer/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode, atom/movable/source)
|
||||
/obj/machinery/nanite_programmer/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list())
|
||||
. = ..()
|
||||
var/static/regex/when = regex("(?:^\\W*when|when\\W*$)", "i") //starts or ends with when
|
||||
if(findtext(raw_message, when) && !istype(speaker, /obj/machinery/nanite_programmer))
|
||||
|
||||
Reference in New Issue
Block a user