summaryrefslogtreecommitdiff
path: root/mesecons/init.lua
diff options
context:
space:
mode:
authorNovatux <nathanael.courant@laposte.net>2014-01-04 17:22:04 +0100
committerNovatux <nathanael.courant@laposte.net>2014-01-04 17:22:04 +0100
commitfb417d45a7e44f4b177eb0c19235d4ce0f8c251b (patch)
tree0ca9944d2f6c8fa07b23341eca3b049e0f9694c8 /mesecons/init.lua
parentb3f36926228d78d34feaafb134276b122c61b204 (diff)
downloadmesecons-fb417d45a7e44f4b177eb0c19235d4ce0f8c251b.tar
mesecons-fb417d45a7e44f4b177eb0c19235d4ce0f8c251b.tar.gz
mesecons-fb417d45a7e44f4b177eb0c19235d4ce0f8c251b.tar.bz2
mesecons-fb417d45a7e44f4b177eb0c19235d4ce0f8c251b.tar.xz
mesecons-fb417d45a7e44f4b177eb0c19235d4ce0f8c251b.zip
Fix when there are several rules with different specials
Diffstat (limited to 'mesecons/init.lua')
-rw-r--r--mesecons/init.lua8
1 files changed, 4 insertions, 4 deletions
diff --git a/mesecons/init.lua b/mesecons/init.lua
index 17fa443..640af4d 100644
--- a/mesecons/init.lua
+++ b/mesecons/init.lua
@@ -106,8 +106,8 @@ function mesecon:receptor_on_i(pos, rules)
for _, rule in ipairs(mesecon:flattenrules(rules)) do
local np = mesecon:addPosRule(pos, rule)
- local link, rulename = mesecon:rules_link(pos, np, rules)
- if link then
+ local rulenames = mesecon:rules_link_rule_all(pos, rule)
+ for _, rulename in ipairs(rulenames) do
mesecon:turnon(np, rulename)
end
end
@@ -126,8 +126,8 @@ function mesecon:receptor_off_i(pos, rules)
rules = rules or mesecon.rules.default
for _, rule in ipairs(mesecon:flattenrules(rules)) do
local np = mesecon:addPosRule(pos, rule)
- local link, rulename = mesecon:rules_link(pos, np, rules)
- if link then
+ local rulenames = mesecon:rules_link_rule_all(pos, rule)
+ for _, rulename in ipairs(rulenames) do
if not mesecon:connected_to_receptor(np, mesecon:invertRule(rule)) then
mesecon:turnoff(np, rulename)
else