diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index a9a8b40ed5..396bec0a01 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -3,6 +3,9 @@ name = "Embedded Controller" anchored = 1 + + use_power = 1 + idle_power_usage = 10 var/on = 1 @@ -43,6 +46,7 @@ density = 0 var/id_tag + var/radio_power_use = 50 //power used to xmit signals var/frequency = 1379 var/datum/radio_frequency/radio_connection @@ -63,6 +67,7 @@ /obj/machinery/embedded_controller/radio/post_signal(datum/signal/signal) signal.transmission_method = TRANSMISSION_RADIO if(radio_connection) + use_power(radio_power_use) return radio_connection.post_signal(src, signal) else del(signal) diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm index 73aacd3a9b..e7994763dd 100644 --- a/code/game/machinery/robot_fabricator.dm +++ b/code/game/machinery/robot_fabricator.dm @@ -8,8 +8,8 @@ var/operating = 0 var/obj/item/robot_parts/being_built = null use_power = 1 - idle_power_usage = 20 - active_power_usage = 5000 + idle_power_usage = 40 + active_power_usage = 10000 /obj/machinery/robotic_fabricator/attackby(var/obj/item/O as obj, var/mob/user as mob) if (istype(O, /obj/item/stack/sheet/metal)) @@ -126,7 +126,7 @@ Please wait until completion...
if (!isnull(building)) if (src.metal_amount >= build_cost) src.operating = 1 - src.use_power = 2 + src.update_use_power(2) src.metal_amount = max(0, src.metal_amount - build_cost) @@ -139,7 +139,7 @@ Please wait until completion...
if (!isnull(src.being_built)) src.being_built.loc = get_turf(src) src.being_built = null - src.use_power = 1 + src.update_use_power(1) src.operating = 0 src.overlays -= "fab-active" return diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 6fa91b4aaf..cfed4686cd 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -14,6 +14,10 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). var/diamond_amount = 0 var/uranium_amount = 0 var/max_material_amount = 75000.0 + + use_power = 1 + idle_power_usage = 30 + active_power_usage = 2500 New() ..() diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index 3499601afc..f6ed81ae41 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -12,6 +12,10 @@ Note: Must be placed within 3 tiles of the R&D Console icon_state = "d_analyzer" var/obj/item/weapon/loaded_item = null var/decon_mod = 1 + + use_power = 1 + idle_power_usage = 30 + active_power_usage = 2500 /obj/machinery/r_n_d/destructive_analyzer/New() ..() diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index dae9b942ff..df45b56f0a 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -11,6 +11,10 @@ Note: Must be placed west/left of and R&D console to function. name = "Protolathe" icon_state = "protolathe" flags = OPENCONTAINER + + use_power = 1 + idle_power_usage = 30 + active_power_usage = 5000 var/max_material_storage = 100000 //All this could probably be done better with a list but meh. var/m_amount = 0.0 diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 3396323c3a..1e762e3965 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -280,7 +280,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(!(I in linked_destroy.component_parts)) del(I) linked_destroy.icon_state = "d_analyzer" - use_power(250) + use_power(linked_destroy.active_power_usage) screen = 1.0 updateUsrDialog() @@ -332,10 +332,10 @@ won't update every console in existence) but it's more of a hassle to do. Also, being_built = D break if(being_built) - var/power = 2000 + var/power = linked_lathe.active_power_usage for(var/M in being_built.materials) power += round(being_built.materials[M] / 5) - power = max(2000, power) + power = max(linked_lathe.active_power_usage, power) screen = 0.3 linked_lathe.busy = 1 flick("protolathe_n",linked_lathe) @@ -386,10 +386,10 @@ won't update every console in existence) but it's more of a hassle to do. Also, being_built = D break if(being_built) - var/power = 2000 + var/power = linked_imprinter.active_power_usage for(var/M in being_built.materials) power += round(being_built.materials[M] / 5) - power = max(2000, power) + power = max(linked_imprinter.active_power_usage, power) screen = 0.4 linked_imprinter.busy = 1 flick("circuit_imprinter_ani",linked_imprinter)