diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm
index d47d3cc2033..903b0ffacbd 100644
--- a/code/modules/integrated_electronics/core/assemblies.dm
+++ b/code/modules/integrated_electronics/core/assemblies.dm
@@ -18,8 +18,8 @@
icon_state = "setup_implant"
desc = "It's a case, for building very tiny electronics with."
w_class = WEIGHT_CLASS_TINY
- max_components = IC_COMPONENTS_BASE / 2
- max_complexity = IC_COMPLEXITY_BASE / 2
+ max_components = IC_COMPONENTS_BASE * 3/4
+ max_complexity = IC_COMPLEXITY_BASE * 3/4
var/obj/item/implant/integrated_circuit/implant = null
/obj/item/device/electronic_assembly/Initialize(mapload, printed = FALSE)
diff --git a/code/modules/integrated_electronics/core/integrated_circuit.dm b/code/modules/integrated_electronics/core/integrated_circuit.dm
index 77c70511cae..dcc5c98c4ab 100644
--- a/code/modules/integrated_electronics/core/integrated_circuit.dm
+++ b/code/modules/integrated_electronics/core/integrated_circuit.dm
@@ -169,6 +169,7 @@ a creative player the means to solve many problems. Circuits are held inside an
// HTML += "
Meta Variables;" // If more meta vars get introduced, uncomment this.
// HTML += "
"
+ HTML += "
Size: [size]"
HTML += "
Complexity: [complexity]"
if(power_draw_idle)
HTML += "
Power Draw: [power_draw_idle] W (Idle)"
diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm
index 4e0bd34c3c7..5ec321e5671 100644
--- a/code/modules/integrated_electronics/subtypes/output.dm
+++ b/code/modules/integrated_electronics/subtypes/output.dm
@@ -12,7 +12,6 @@
power_draw_per_use = 10
var/stuff_to_display = null
-
/obj/item/integrated_circuit/output/screen/disconnect_all()
..()
stuff_to_display = null
@@ -126,7 +125,7 @@
desc = "A miniature speaker is attached to this component."
icon_state = "speaker"
complexity = 8
- cooldown_per_use = 4 SECONDS
+ cooldown_per_use = 1 SECOND
inputs = list(
"sound ID" = IC_PINTYPE_STRING,
"volume" = IC_PINTYPE_NUMBER,
@@ -143,7 +142,7 @@
extended_desc = "This unit is more advanced than the plain speaker circuit, able to transpose any valid text to speech."
icon_state = "speaker"
complexity = 12
- cooldown_per_use = 4 SECONDS
+ cooldown_per_use = 1 SECOND
inputs = list("text" = IC_PINTYPE_STRING)
outputs = list()
activators = list("to speech" = IC_PINTYPE_PULSE_IN)
@@ -235,15 +234,17 @@
/obj/item/integrated_circuit/output/video_camera
name = "video camera circuit"
desc = "This small camera allows a remote viewer to see what it sees."
- extended_desc = "The camera is linked to the Research camera network."
+ extended_desc = "The camera is linked to the Research camera network by default, but can be changed."
icon_state = "video_camera"
w_class = WEIGHT_CLASS_SMALL
complexity = 10
inputs = list(
"camera name" = IC_PINTYPE_STRING,
+ "camera network" = IC_PINTYPE_STRING,
"camera active" = IC_PINTYPE_BOOLEAN
)
- inputs_default = list("1" = "video camera circuit")
+ inputs_default = list("1" = "video camera circuit",
+ "2" = "Research")
outputs = list()
activators = list()
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
@@ -267,18 +268,25 @@
if(!draw_idle_power())
power_fail()
+/obj/item/integrated_circuit/output/video_camera/proc/set_camera_network(var/network)
+ if(camera)
+ camera.network = list(network)
+ camera.update_coverage()
+
/obj/item/integrated_circuit/output/video_camera/on_data_written()
if(camera)
var/cam_name = get_pin_data(IC_INPUT, 1)
- var/cam_active = get_pin_data(IC_INPUT, 2)
+ var/cam_network = get_pin_data(IC_INPUT, 2)
+ var/cam_active = get_pin_data(IC_INPUT, 3)
if(!isnull(cam_name))
camera.c_tag = cam_name
+ set_camera_network(cam_network)
set_camera_status(cam_active)
/obj/item/integrated_circuit/output/video_camera/power_fail()
if(camera)
set_camera_status(0)
- set_pin_data(IC_INPUT, 2, FALSE)
+ set_pin_data(IC_INPUT, 3, FALSE)
push_data()
/obj/item/integrated_circuit/output/led
diff --git a/html/changelogs/Batra-IntegratedElectronics.yml b/html/changelogs/Batra-IntegratedElectronics.yml
new file mode 100644
index 00000000000..6e2cdf182f1
--- /dev/null
+++ b/html/changelogs/Batra-IntegratedElectronics.yml
@@ -0,0 +1,61 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# - (fixes bugs)
+# wip
+# - (work in progress)
+# qol
+# - (quality of life)
+# soundadd
+# - (adds a sound)
+# sounddel
+# - (removes a sound)
+# rscadd
+# - (adds a feature)
+# rscdel
+# - (removes a feature)
+# imageadd
+# - (adds an image or sprite)
+# imagedel
+# - (removes an image or sprite)
+# spellcheck
+# - (fixes spelling or grammar)
+# experiment
+# - (experimental change)
+# balance
+# - (balance changes)
+# code_imp
+# - (misc internal code change)
+# refactor
+# - (refactors code)
+# config
+# - (makes a change to the config files)
+# admin
+# - (makes changes to administrator tools)
+# server
+# - (miscellaneous changes to server)
+#################################
+
+# Your name.
+author: Batrachophrenoboocosmomachia
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
+# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - qol: "Integrated Electronics camera can now be configured for different camera networks"
+ - qol: "Reduced Integrated Electronics speaker functions cooldown from 4s -> 1s, for translating busier conversations. Behave."
+ - qol: "Add Integrated Electronics component 'size' value to displayed properties."
+ - balance: "Increase maximum components and complexity of integrated circuit 'electronic implant' assembly by 25%."