From c873381653206f8d54d13fcef29bd67d171ba7a6 Mon Sep 17 00:00:00 2001 From: Nikolaos Date: Thu, 30 Jun 2022 23:17:14 +0100 Subject: [PATCH] Rename & Optimized Reactor Controller Signals --- Lua/reactorcontrollercomponent.lua | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Lua/reactorcontrollercomponent.lua b/Lua/reactorcontrollercomponent.lua index 4efd93b..9488ca6 100644 --- a/Lua/reactorcontrollercomponent.lua +++ b/Lua/reactorcontrollercomponent.lua @@ -3,10 +3,10 @@ local allItems = {} local defaultTable = { load_value_in = 0, fuel_in = 100, - efficiency_in = 100, - fission_efficiency_in = 75, - max_power_in = 20000, - silent_in = 0 + set_efficiency = 100, + set_fission_efficiency = 75, + set_max_power = 20000, + set_silent = 0, } Hook.Add("item.created", "reactorcontrollercomponent.init", function(item) @@ -23,12 +23,17 @@ local signalReceived = function(signal, connection) local mem = allItems[this] local signalNum = tonumber(signal.value) or defaultTable[connection.Name] + + if mem[connection.Name] == signalNum then + return + end + mem[connection.Name] = signalNum - local turbineoutput = (mem.load_value_in / mem.max_power_in) * mem.efficiency_in - local fissionrate = turbineoutput / (mem.fuel_in / mem.fission_efficiency_in) + local turbineoutput = (mem.load_value_in / mem.set_max_power) * mem.set_efficiency + local fissionrate = turbineoutput / (mem.fuel_in / mem.set_fission_efficiency) - if mem.silent_in == 1 then + if mem.set_silent == 1 then if turbineoutput > 10 then turbineoutput = 10 end