diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm
index 2a05b359d8..7057b8b02d 100644
--- a/code/game/machinery/computer/cloning.dm
+++ b/code/game/machinery/computer/cloning.dm
@@ -12,6 +12,7 @@
var/list/pods //Linked cloning pods
var/temp = "Inactive"
var/scantemp_ckey
+ var/scantemp_name
var/scantemp = "Ready to Scan"
var/menu = 1 //Which menu screen to display
var/datum/data/record/active_record = null
@@ -195,9 +196,10 @@
dat += "[scanner_occupant] => Scanning..."
else
if(use_records)
- if(scanner_occupant.ckey != scantemp_ckey)
+ if(scanner_occupant.ckey != scantemp_ckey || scanner_occupant.name != scantemp_name)
scantemp = "Ready to Scan"
scantemp_ckey = scanner_occupant.ckey
+ scantemp_name = scanner_occupant.name
else
scantemp = "Ready to Clone"
dat += "[scanner_occupant] => [scantemp]"
@@ -296,17 +298,18 @@
autoprocess = FALSE
STOP_PROCESSING(SSmachines, src)
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
+ src.updateUsrDialog()
. = TRUE
else if ((href_list["scan"]) && !isnull(scanner) && scanner.is_operational())
scantemp = ""
loading = TRUE
- src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
say("Initiating scan...")
var/prev_locked = scanner.locked
scanner.locked = TRUE
+ src.updateUsrDialog()
addtimer(CALLBACK(src, .proc/finish_scan, scanner.occupant, prev_locked), 2 SECONDS)
. = TRUE
@@ -318,6 +321,7 @@
else
scanner.locked = FALSE
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
+ src.updateUsrDialog()
. = TRUE
@@ -340,6 +344,7 @@
src.menu = 3
else
src.temp = "Record missing."
+ src.updateUsrDialog()
. = TRUE
else if (href_list["del_rec"])
@@ -348,6 +353,7 @@
if (src.menu == 3) //If we are viewing a record, confirm deletion
src.temp = "Delete record?"
src.menu = 4
+ src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
else if (src.menu == 4)
@@ -357,12 +363,14 @@
src.temp = "[src.active_record.fields["name"]] => Record deleted."
src.records.Remove(active_record)
active_record = null
+ src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
src.menu = 2
var/obj/item/circuitboard/computer/cloning/board = circuit
board.records = records
else
src.temp = "Access Denied."
+ src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
. = TRUE
@@ -384,6 +392,7 @@
for(var/key in diskette.fields)
src.active_record.fields[key] = diskette.fields[key]
src.temp = "Load successful."
+ src.updateUsrDialog()
var/obj/item/circuitboard/computer/cloning/board = circuit
board.records = records
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
@@ -403,6 +412,7 @@
diskette.fields = active_record.fields.Copy()
diskette.name = "data disk - '[src.diskette.fields["name"]]'"
src.temp = "Save successful."
+ src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
. = TRUE
@@ -431,17 +441,21 @@
if(active_record == C)
active_record = null
menu = 1
+ src.updateUsrDialog()
else
temp = "[C.fields["name"]] => Initialisation failure."
+ src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
else
temp = "Data corruption."
+ src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
. = TRUE
else if (href_list["menu"] && use_records)
menu = text2num(href_list["menu"])
+ src.updateUsrDialog()
playsound(src, "terminal_type", 25, 0)
. = TRUE
@@ -449,7 +463,6 @@
if(!scanner || !L)
return
src.add_fingerprint(usr)
- src.updateUsrDialog()
if(use_records)
scan_occupant(L)
@@ -457,9 +470,10 @@
clone_occupant(L)
loading = FALSE
+ scanner.locked = prev_locked
src.updateUsrDialog()
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
- scanner.locked = prev_locked
+
/obj/machinery/computer/cloning/proc/scan_occupant(occupant)
var/mob/living/mob_occupant = get_mob_or_brainmob(occupant)