diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm index 10c76fae92e..0ad2714e283 100644 --- a/code/modules/integrated_electronics/subtypes/output.dm +++ b/code/modules/integrated_electronics/subtypes/output.dm @@ -34,6 +34,33 @@ else stuff_to_display = replacetext("[I.data]", eol , "
") +/obj/item/integrated_circuit/output/screen/large + name = "large screen" + desc = "Takes any data type as an input and displays it to anybody near the device when pulsed. \ + It can also be examined to see the last thing it displayed." + icon_state = "screen_medium" + power_draw_per_use = 20 + +/obj/item/integrated_circuit/output/screen/large/do_work() + ..() + + if(isliving(assembly.loc))//this whole block just returns if the assembly is neither in a mobs hands or on the ground + var/mob/living/H = assembly.loc + if(H.get_active_held_item() != assembly && H.get_inactive_held_item() != assembly) + return + else + if(!isturf(assembly.loc)) + return + + var/list/nearby_things = range(0, get_turf(src)) + 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/light name = "light" desc = "A basic light which can be toggled on/off when pulsed."