From 569677dee4c4755dbd13ec37399de90b2c015f75 Mon Sep 17 00:00:00 2001 From: Jude Melton-Houghton Date: Thu, 19 May 2022 22:31:01 -0400 Subject: [PATCH] Fix use of link_inverted The function was supposed to return an outputrule, but before it inverted the returned rules, so these usages of the function expected inverted rules. --- mesecons/internal.lua | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mesecons/internal.lua b/mesecons/internal.lua index 5fb5cc7..ebac27b 100644 --- a/mesecons/internal.lua +++ b/mesecons/internal.lua @@ -580,23 +580,23 @@ function mesecon.is_powered(pos, rule) if not rule then for _, rule in ipairs(mesecon.flattenrules(rules)) do - local rname = mesecon.link_inverted(pos, vector.add(pos, rule)) + local np = vector.add(pos, rule) + local rname = mesecon.link_inverted(pos, np) if rname then - local np = vector.add(pos, rname) local nn = mesecon.get_node_force_nocopy(np) - if (mesecon.is_conductor_on(nn, mesecon.invertRule(rname)) + if (mesecon.is_conductor_on(nn, rname) or mesecon.is_receptor_on(nn.name)) then table.insert(sourcepos, np) end end end else - local rname = mesecon.link_inverted(pos, vector.add(pos, rule)) + local np = vector.add(pos, rule) + local rname = mesecon.link_inverted(pos, np) if rname then - local np = vector.add(pos, rname) local nn = mesecon.get_node_force_nocopy(np) - if (mesecon.is_conductor_on (nn, mesecon.invertRule(rname)) + if (mesecon.is_conductor_on (nn, rname) or mesecon.is_receptor_on (nn.name)) then table.insert(sourcepos, np) end