@@ -123,8 +123,11 @@ on_timer = function(pos,delta) local meta = minetest.get_meta(pos) if not meta:contains('active-device') then return false end + local probe = sorcery.spell.probe(pos) + if probe.disjunction then return true end + local inv = meta:get_inventory() if inv:is_empty('cache') then return false end local dev = gettxr(pos) @@ -146,20 +149,23 @@ local net = sorcery.farcaster.junction(pos,constants.xmit_wattage) for _,n in pairs(net) do for _,d in pairs(n.caps.net.devices.consume) do if d.id == 'sorcery:displacer' then - local t = gettxr(d.pos) - for _,d in pairs(t.connections) do - if d.mode == 'receive' and d.code then - local match = true - for i=1,#d.code do - if d.code[i] ~= ad.code[i] then - match = false break + local dp = sorcery.spell.probe(d.pos) + if not dp.disjunction then + local t = gettxr(d.pos) + for _,d in pairs(t.connections) do + if d.mode == 'receive' and d.code then + local match = true + for i=1,#d.code do + if d.code[i] ~= ad.code[i] then + match = false break + end end - end - if match then - remote = t - break + if match then + remote = t + break + end end end end end