Differences From
Artifact [a858b6f5bf]:
245 245 s.jobs[#s.jobs+1] = minetest.after(howlong, function()
246 246 -- this is somewhat awkward. since we're using a non-polling approach, we
247 247 -- need to find a way to account for a caster or subject walking into an
248 248 -- existing antimagic field, or someone with an existing antimagic aura
249 249 -- walking into range of the anchor. so every time a spell effect would
250 250 -- take place, we first check to see if it's in range of something nasty
251 251 if not s.disjunction and -- avoid self-disjunction
252 - (s.caster and sorcery.spell.probe(s.caster:get_pos()).disjunction) or
253 - (s.anchor and sorcery.spell.probe(s.anchor,s.range).disjunction) then
252 + ((s.caster and sorcery.spell.probe(s.caster:get_pos()).disjunction) or
253 + (s.anchor and sorcery.spell.probe(s.anchor,s.range).disjunction)) then
254 254 sorcery.spell.disjoin{spell=s}
255 255 else
256 256 if not s.disjunction then for _,sub in pairs(s.subjects) do
257 257 local sp = sub.player:get_pos()
258 258 if sorcery.spell.probe(sp).disjunction then
259 259 sorcery.spell.disjoin{pos=sp}
260 260 end