@@ -59,8 +59,12 @@ local useamulet = function(stack,user,target) local sp = sorcery.amulet.getspell(stack) if not sp or not sp.cast then return nil end local stats = sorcery.amulet.stats(stack) + local probe = sorcery.spell.probe(user:get_pos()) + -- amulets don't work in antimagic fields, though some may want to + -- implement this logic themselves (for instance to check a range) + if (probe.disjunction and not sp.ignore_disjunction) then return nil end local ctx = { caster = user; target = target; @@ -68,8 +72,9 @@ amulet = stack; meta = stack:get_meta(); -- avoid spell boilerplate color = sorcery.lib.color(sp.tone); today = minetest.get_day_count(); + probe = probe; heading = { pos = user:get_pos(); yaw = user:get_look_dir(); pitch = user:get_look_vertical();