diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index 0ba56833a2b..cd691a16d81 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -69,7 +69,7 @@ else to_chat(user, "The maintainence panel [opened ? "can be" : "is"] screwed in place.") - if(isobserver(user) && ckeys_allowed_to_scan[user.ckey]) + if((isobserver(user) && ckeys_allowed_to_scan[user.ckey]) || IsAdminGhost(user)) to_chat(user, "You can scan this circuit."); /obj/item/electronic_assembly/proc/check_interactivity(mob/user) @@ -192,7 +192,7 @@ return 1 if(href_list["ghostscan"]) - if(isobserver(usr) && ckeys_allowed_to_scan[usr.ckey]) + if((isobserver(usr) && ckeys_allowed_to_scan[usr.ckey]) || IsAdminGhost(usr)) if(assembly_components.len) var/saved = "On circuit printers with cloning enabled, you may use the code below to clone the circuit:

[SScircuit.save_electronic_assembly(src)]" usr << browse(saved, "window=circuit_scan;size=500x600;border=1;can_resize=1;can_close=1;can_minimize=1") diff --git a/code/modules/integrated_electronics/core/pins.dm b/code/modules/integrated_electronics/core/pins.dm index cc81c200810..c1bbb900fab 100644 --- a/code/modules/integrated_electronics/core/pins.dm +++ b/code/modules/integrated_electronics/core/pins.dm @@ -209,6 +209,7 @@ D [1]/ || write_data_to_pin(new_data) /datum/integrated_io/activate/ask_for_pin_data(mob/user) // This just pulses the pin. + holder.investigate_log(" was manually pulsed by [key_name(user)].", INVESTIGATE_CIRCUIT) holder.check_then_do_work(ord,ignore_power = TRUE) to_chat(user, "You pulse \the [holder]'s [src] pin.") diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index 2d20f85aa02..672fd0b626c 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -527,6 +527,7 @@ var/range = round(CLAMP(sqrt(target_x_rel*target_x_rel+target_y_rel*target_y_rel),0,8),1) assembly.visible_message("[assembly] has thrown [A]!") + log_attack("[assembly] [REF(assembly)] has thrown [A].") A.forceMove(drop_location()) A.throw_at(locate(x_abs, y_abs, T.z), range, 3) diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm index 354ca17b940..b887617ea80 100644 --- a/code/modules/integrated_electronics/subtypes/output.dm +++ b/code/modules/integrated_electronics/subtypes/output.dm @@ -46,6 +46,10 @@ for(var/mob/M in nearby_things) var/obj/O = assembly ? assembly : src to_chat(M, "[icon2html(O.icon, world, O.icon_state)] [stuff_to_display]") + if(assembly) + assembly.investigate_log("displayed \"[html_encode(stuff_to_display)]\" with [type].", INVESTIGATE_CIRCUIT) + else + investigate_log("displayed \"[html_encode(stuff_to_display)]\" as [type].", INVESTIGATE_CIRCUIT) /obj/item/integrated_circuit/output/screen/large name = "large screen" @@ -58,6 +62,10 @@ ..() var/obj/O = assembly ? get_turf(assembly) : loc O.visible_message("[icon2html(O.icon, world, O.icon_state)] [stuff_to_display]") + if(assembly) + assembly.investigate_log("displayed \"[html_encode(stuff_to_display)]\" with [type].", INVESTIGATE_CIRCUIT) + else + investigate_log("displayed \"[html_encode(stuff_to_display)]\" as [type].", INVESTIGATE_CIRCUIT) /obj/item/integrated_circuit/output/light name = "light" @@ -153,6 +161,8 @@ playsound(get_turf(src), selected_sound, vol, freq, -1) if(assembly) assembly.investigate_log("played a sound ([selected_sound]) with [type].", INVESTIGATE_CIRCUIT) + else + investigate_log("played a sound ([selected_sound]) as [type].", INVESTIGATE_CIRCUIT) /obj/item/integrated_circuit/output/sound/on_data_written() power_draw_per_use = get_pin_data(IC_INPUT, 2) * 15 @@ -240,6 +250,8 @@ A.say(sanitized_text) if (assembly) log_say("[assembly] [REF(assembly)] : [sanitized_text]") + else + log_say("[name] ([type]) : [sanitized_text]") /obj/item/integrated_circuit/output/video_camera name = "video camera circuit"