Some bugfixes
This commit is contained in:
parent
b0e7e97dab
commit
49350278c0
@ -84,7 +84,7 @@ local function can_start(pos, nvm)
|
|||||||
if diameter then
|
if diameter then
|
||||||
nvm.capa_max = PWR_CAPA[tonumber(diameter)] or 0
|
nvm.capa_max = PWR_CAPA[tonumber(diameter)] or 0
|
||||||
if nvm.capa_max ~= 0 then
|
if nvm.capa_max ~= 0 then
|
||||||
nvm.capa = math.min(nvm.capa, nvm.capa_max)
|
nvm.capa = math.min(nvm.capa or 0, nvm.capa_max)
|
||||||
local owner = M(pos):get_string("owner") or ""
|
local owner = M(pos):get_string("owner") or ""
|
||||||
return heatexchanger1_cmnd(pos, "volume", owner)
|
return heatexchanger1_cmnd(pos, "volume", owner)
|
||||||
else
|
else
|
||||||
|
@ -85,6 +85,7 @@ end
|
|||||||
|
|
||||||
local function stop_node(pos, nvm, state)
|
local function stop_node(pos, nvm, state)
|
||||||
nvm.provided = 0
|
nvm.provided = 0
|
||||||
|
nvm.running = nil -- legacy
|
||||||
local outdir = M(pos):get_int("outdir")
|
local outdir = M(pos):get_int("outdir")
|
||||||
power.start_storage_calc(pos, Cable, outdir)
|
power.start_storage_calc(pos, Cable, outdir)
|
||||||
end
|
end
|
||||||
|
@ -213,7 +213,7 @@ function techage.generator_settings(tier, available)
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type = "dropdown",
|
type = "dropdown",
|
||||||
choices = "40% - 60%,60% - 80%,80% - 100%",
|
choices = "0% - 20%,20% - 40%,40% - 60%,60% - 80%,80% - 100%,90% - 100%",
|
||||||
name = "termpoint",
|
name = "termpoint",
|
||||||
label = S("Charge termination"),
|
label = S("Charge termination"),
|
||||||
tooltip = S("Range in which the generator reduces its power"),
|
tooltip = S("Range in which the generator reduces its power"),
|
||||||
@ -237,7 +237,7 @@ function techage.generator_settings(tier, available)
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type = "dropdown",
|
type = "dropdown",
|
||||||
choices = "40% - 60%,60% - 80%,80% - 100%",
|
choices = "0% - 20%,20% - 40%,40% - 60%,60% - 80%,80% - 100%,90% - 100%",
|
||||||
name = "termpoint",
|
name = "termpoint",
|
||||||
label = S("Charge termination"),
|
label = S("Charge termination"),
|
||||||
tooltip = S("Range in which the generator reduces its power"),
|
tooltip = S("Range in which the generator reduces its power"),
|
||||||
@ -250,7 +250,13 @@ end
|
|||||||
|
|
||||||
function techage.evaluate_charge_termination(nvm, meta)
|
function techage.evaluate_charge_termination(nvm, meta)
|
||||||
local termpoint = meta:get_string("termpoint")
|
local termpoint = meta:get_string("termpoint")
|
||||||
if termpoint == "40% - 60%" then
|
if termpoint == "0% - 20%" then
|
||||||
|
meta:set_string("termpoint1", 0.0)
|
||||||
|
meta:set_string("termpoint2", 0.2)
|
||||||
|
elseif termpoint == "20% - 40%" then
|
||||||
|
meta:set_string("termpoint1", 0.2)
|
||||||
|
meta:set_string("termpoint2", 0.4)
|
||||||
|
elseif termpoint == "40% - 60%" then
|
||||||
meta:set_string("termpoint1", 0.4)
|
meta:set_string("termpoint1", 0.4)
|
||||||
meta:set_string("termpoint2", 0.6)
|
meta:set_string("termpoint2", 0.6)
|
||||||
elseif termpoint == "60% - 80%" then
|
elseif termpoint == "60% - 80%" then
|
||||||
@ -259,6 +265,9 @@ function techage.evaluate_charge_termination(nvm, meta)
|
|||||||
elseif termpoint == "80% - 100%" then
|
elseif termpoint == "80% - 100%" then
|
||||||
meta:set_string("termpoint1", 0.8)
|
meta:set_string("termpoint1", 0.8)
|
||||||
meta:set_string("termpoint2", 1.0)
|
meta:set_string("termpoint2", 1.0)
|
||||||
|
elseif termpoint == "90% - 100%" then
|
||||||
|
meta:set_string("termpoint1", 0.9)
|
||||||
|
meta:set_string("termpoint2", 1.0)
|
||||||
else
|
else
|
||||||
meta:set_string("termpoint", "80% - 100%")
|
meta:set_string("termpoint", "80% - 100%")
|
||||||
meta:set_string("termpoint1", 0.8)
|
meta:set_string("termpoint1", 0.8)
|
||||||
|
@ -30,7 +30,7 @@ local COUNTDOWN_TICKS = 1
|
|||||||
local function determine_power(pos, nvm)
|
local function determine_power(pos, nvm)
|
||||||
-- determine DC node position
|
-- determine DC node position
|
||||||
local outdir = M(pos):get_int("leftdir")
|
local outdir = M(pos):get_int("leftdir")
|
||||||
local netw = networks.get_network_table(pos, Solar, outdir, true) or {}
|
local netw = networks.get_network_table(pos, Solar, outdir) or {}
|
||||||
local num_inv = #(netw.con or {})
|
local num_inv = #(netw.con or {})
|
||||||
local max_power = 0
|
local max_power = 0
|
||||||
for _, power in ipairs(control.request(pos, Solar, outdir, "junc", "power")) do
|
for _, power in ipairs(control.request(pos, Solar, outdir, "junc", "power")) do
|
||||||
@ -100,6 +100,7 @@ end
|
|||||||
|
|
||||||
local function stop_node(pos, nvm, state)
|
local function stop_node(pos, nvm, state)
|
||||||
nvm.provided = 0
|
nvm.provided = 0
|
||||||
|
nvm.running = nil -- legacy
|
||||||
local outdir = M(pos):get_int("outdir")
|
local outdir = M(pos):get_int("outdir")
|
||||||
power.start_storage_calc(pos, Cable, outdir)
|
power.start_storage_calc(pos, Cable, outdir)
|
||||||
end
|
end
|
||||||
|
@ -81,7 +81,9 @@ end
|
|||||||
local function add_rotor(pos, nvm, force)
|
local function add_rotor(pos, nvm, force)
|
||||||
if (force and not nvm.error) or check_rotor(pos, nvm) then
|
if (force and not nvm.error) or check_rotor(pos, nvm) then
|
||||||
local hash = minetest.hash_node_position(pos)
|
local hash = minetest.hash_node_position(pos)
|
||||||
if not Rotors[hash] then
|
if Rotors[hash] then
|
||||||
|
Rotors[hash]:remove()
|
||||||
|
end
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local npos, yaw = pos_and_yaw(pos, node.param2)
|
local npos, yaw = pos_and_yaw(pos, node.param2)
|
||||||
local obj = minetest.add_entity(npos, "techage:rotor_ent")
|
local obj = minetest.add_entity(npos, "techage:rotor_ent")
|
||||||
@ -90,7 +92,6 @@ local function add_rotor(pos, nvm, force)
|
|||||||
Rotors[hash] = obj
|
Rotors[hash] = obj
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
local function start_rotor(pos, nvm, state)
|
local function start_rotor(pos, nvm, state)
|
||||||
if not nvm.error then
|
if not nvm.error then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user