diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index 60737261a26..97d08e0b13c 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -184,13 +184,11 @@ for(var/obj/item/integrated_circuit/part in contents) . |= part.GetAccess() -/obj/item/electronic_assembly/get_examine_text(mob/user, distance, is_adjacent, infix, suffix) +/obj/item/electronic_assembly/feedback_hints(mob/user, distance, is_adjacent) . = ..() - if(distance <= 1) + if(opened && is_adjacent) for(var/obj/item/integrated_circuit/IC in contents) - . += IC.external_examine(user) - if(opened) - interact(user) + . += SPAN_NOTICE("It contains \a [IC].") /obj/item/electronic_assembly/proc/get_part_complexity() . = 0 diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm index dbb75eeba90..7286ec6f653 100644 --- a/code/modules/integrated_electronics/core/printer.dm +++ b/code/modules/integrated_electronics/core/printer.dm @@ -3,7 +3,7 @@ desc = "A portable(ish) machine made to print tiny modular circuitry out of metal." icon = 'icons/obj/assemblies/electronic_tools.dmi' icon_state = "circuit_printer" - w_class = WEIGHT_CLASS_BULKY + w_class = WEIGHT_CLASS_NORMAL var/metal = 0 var/max_metal = 100 var/metal_per_sheet = 10 // One sheet equals this much metal. diff --git a/code/modules/integrated_electronics/subtypes/converters.dm b/code/modules/integrated_electronics/subtypes/converters.dm index d0bf611eead..4ba9fb35e74 100644 --- a/code/modules/integrated_electronics/subtypes/converters.dm +++ b/code/modules/integrated_electronics/subtypes/converters.dm @@ -11,6 +11,7 @@ name = "number to string" desc = "This circuit can convert a number variable into a string." extended_desc = "Because of game limitations null/false variables will output a '0' string." + complexity = 1 icon_state = "num-string" inputs = list("input" = IC_PINTYPE_NUMBER) outputs = list("output" = IC_PINTYPE_STRING) @@ -29,6 +30,87 @@ push_data() activate_pin(2) +/obj/item/integrated_circuit/converter/num2text4 + name = "4-way number to string" + desc = "This circuit can convert up to four number variables into strings." + extended_desc = "Because of game limitations null/false variables will output a '0' string." + icon_state = "num-string" + inputs = list( + "input 1" = IC_PINTYPE_NUMBER, + "input 2" = IC_PINTYPE_NUMBER, + "input 3" = IC_PINTYPE_NUMBER, + "input 4" = IC_PINTYPE_NUMBER + ) + outputs = list( + "output 1" = IC_PINTYPE_STRING, + "output 2" = IC_PINTYPE_STRING, + "output 3" = IC_PINTYPE_STRING, + "output 4" = IC_PINTYPE_STRING + ) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/num2text4/do_work() + pull_data() + + for(var/i = 1 to 4) + var/result = null + var/incoming = get_pin_data(IC_INPUT, i) + + if(!isnull(incoming)) + result = num2text(incoming) + else if(!incoming) + result = "0" + + set_pin_data(IC_OUTPUT, i, result) + + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/converter/num2text8 + name = "8-way number to string" + desc = "This circuit can convert up to eight number variables into strings." + extended_desc = "Because of game limitations null/false variables will output a '0' string." + complexity = 4 + icon_state = "num-string" + inputs = list( + "input 1" = IC_PINTYPE_NUMBER, + "input 2" = IC_PINTYPE_NUMBER, + "input 3" = IC_PINTYPE_NUMBER, + "input 4" = IC_PINTYPE_NUMBER, + "input 5" = IC_PINTYPE_NUMBER, + "input 6" = IC_PINTYPE_NUMBER, + "input 7" = IC_PINTYPE_NUMBER, + "input 8" = IC_PINTYPE_NUMBER + ) + outputs = list( + "output 1" = IC_PINTYPE_STRING, + "output 2" = IC_PINTYPE_STRING, + "output 3" = IC_PINTYPE_STRING, + "output 4" = IC_PINTYPE_STRING, + "output 5" = IC_PINTYPE_STRING, + "output 6" = IC_PINTYPE_STRING, + "output 7" = IC_PINTYPE_STRING, + "output 8" = IC_PINTYPE_STRING + ) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/num2text8/do_work() + pull_data() + + for(var/i = 1 to 8) + var/result = null + var/incoming = get_pin_data(IC_INPUT, i) + + if(!isnull(incoming)) + result = num2text(incoming) + else if(!incoming) + result = "0" + + set_pin_data(IC_OUTPUT, i, result) + + push_data() + activate_pin(2) + /obj/item/integrated_circuit/converter/text2num name = "string to number" desc = "This circuit can convert a string variable into a number." diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index 5d6379fc765..404b37ff88a 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -151,11 +151,11 @@ "body temperature" = IC_PINTYPE_NUMBER, "in cardiac arrest?" = IC_PINTYPE_BOOLEAN, // Advanced - "brute damage" = IC_PINTYPE_NUMBER, - "burn damage" = IC_PINTYPE_NUMBER, - "toxin damage" = IC_PINTYPE_NUMBER, - "radiation dose" = IC_PINTYPE_NUMBER, - "genetic instability" = IC_PINTYPE_NUMBER + "brute damage" = IC_PINTYPE_STRING, + "burn damage" = IC_PINTYPE_STRING, + "toxin damage" = IC_PINTYPE_STRING, + "radiation dose" = IC_PINTYPE_STRING, + "genetic instability" = IC_PINTYPE_STRING ) activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_RESEARCH @@ -179,11 +179,11 @@ set_pin_data(IC_OUTPUT, 5, H.bodytemperature) set_pin_data(IC_OUTPUT, 6, H.is_asystole()) // Advanced - set_pin_data(IC_OUTPUT, 7, H.getBruteLoss()) - set_pin_data(IC_OUTPUT, 8, H.getFireLoss()) - set_pin_data(IC_OUTPUT, 9, H.getToxLoss()) - set_pin_data(IC_OUTPUT, 10, H.total_radiation) - set_pin_data(IC_OUTPUT, 11, H.getCloneLoss()) + set_pin_data(IC_OUTPUT, 7, get_severity(H.getBruteLoss(), TRUE)) + set_pin_data(IC_OUTPUT, 8, get_severity(H.getFireLoss(), TRUE)) + set_pin_data(IC_OUTPUT, 9, get_severity(H.getToxLoss(), TRUE)) + set_pin_data(IC_OUTPUT, 10, get_severity(H.total_radiation, TRUE)) + set_pin_data(IC_OUTPUT, 11, get_severity(H.getCloneLoss(), TRUE)) push_data() activate_pin(2) diff --git a/html/changelogs/mineymonkey changelog.yml b/html/changelogs/mineymonkey changelog.yml new file mode 100644 index 00000000000..3dc0164e8ee --- /dev/null +++ b/html/changelogs/mineymonkey changelog.yml @@ -0,0 +1,9 @@ +author: mineymonkey + +delete-after: True + +changes: + - bugfix: "Allows the ability for reading off what IC components are in an assembly when opened and used the examine function on it. Examine function doesn't show the circuits when closed." + - rscadd: "Added in two new converter integrated circuits based off of the num-to-string circuit. Instead of just a 1 I/O there is now a 4 and 8 I/O version." + - qol: "Changed weight class on integrated circuit printer from BULKY to NORMAL." + - qol: "Changed integrated circuit advanced med scanner from NUM to Severity based detection to further align with the current health scanners."