diff --git a/burnrate_driver.lua b/burnrate_driver.lua index 23db0ff..0cdbe37 100644 --- a/burnrate_driver.lua +++ b/burnrate_driver.lua @@ -36,6 +36,13 @@ local function slowStepDown() end end +local function slowStepUp() + local value = getValue() + if value < max then + reactor.setBurnRate(value + smallRateStep) + end +end + local function stepDown() local value = getValue() if value > min then @@ -55,4 +62,4 @@ local function report() monitor.clearLine() monitor.write("Burn Rate: " .. value) end -return { report = report, watch = watch, stepUp = stepUp, stepDown = stepDown, slowStepDown = slowStepDown } \ No newline at end of file +return { report = report, watch = watch, stepUp = stepUp, stepDown = stepDown, slowStepDown = slowStepDown, slowStepUp = slowStepUp } \ No newline at end of file diff --git a/coolant_driver.lua b/coolant_driver.lua index bb45910..5ed3d2d 100644 --- a/coolant_driver.lua +++ b/coolant_driver.lua @@ -1,8 +1,9 @@ local maxValue = 80 local minValue = 60 +local minCoolant = 30 local function getValue() - return (reactor.getCoolantFilledPercentage() or 0) * 100 + return (reactor.getCoolantFilledPercentage() or 1) * 100 end local function checkCoolantLevel() @@ -12,6 +13,9 @@ local function checkCoolantLevel() elseif coolantLevel > minValue then -- print("Coolant approaching minimum, slowly stepping down burn rate.") -- burnRateDriver.slowStepDown() + elseif coolantLevel <= minCoolant then + print("Critical Warning: Coolant below minimum safe level! SCRAMMING reactor.") + reactor.scram() elseif coolantLevel <= minValue then print("Warning: Coolant below minimum! Stepping down burn rate.") burnRateDriver.stepDown() diff --git a/temperature_driver.lua b/temperature_driver.lua index e737888..f6f5ff9 100644 --- a/temperature_driver.lua +++ b/temperature_driver.lua @@ -18,7 +18,7 @@ local function checkTemperature() burnRateDriver.stepDown() elseif temperature <= lowerThreshold then print("Warning: Temperature approaching lower limit! Taking action.") - burnRateDriver.stepUp() + burnRateDriver.slowStepUp() end end