sorcery  Diff

Differences From Artifact [b41a4d81d6]:

To Artifact [5ad2e81269]:

  • File enchanter.lua — part of check-in [147592b8e9] at 2020-10-26 03:58:08 on branch trunk — add over-time spellcasting abstraction to enable metamagic and in particular disjunction, add more animations and sound effects, add excavation spell, possibly some others, forget when the last commit was, edit a bunch of magitech to make it subject to the disjunction mechanism (throw up a disjunction aura and waltz right through those force fields bby, wheee), also illumination spells, tweak runeforge and rune frequence to better the balance and also limit player frustration, move some math functions into their own library category, various tweaks and bugfixes, probably other shit i don't remember (user: lexi, size: 16338) [annotate] [blame] [check-ins using]

   400    400   	if puncher == nil then return end -- i don't know why
   401    401   	-- this is necessary but you get rare crashes without it
   402    402   
   403    403   	-- perform leyline checks and call notify if necessary
   404    404   	if minetest.get_item_group(node.name, 'sorcery_ley_device') ~= 0 then
   405    405   		sorcery.lib.node.notifyneighbors(pos)
   406    406   	end
          407  +
          408  +	-- is there an active disjunction in effect here?
          409  +	-- if so, return immediately and perform no magic
          410  +	local probe = sorcery.spell.probe(pos)
          411  +	if probe.disjunction then return end
   407    412   
   408    413   	-- we're goint to do something VERY evil here and
   409    414   	-- replace the air with a "glow-air" that removes
   410    415   	-- itself after a short period of time, to create
   411    416   	-- a flash of light when an enchanted tool's used
   412    417   	-- to dig out a node
   413    418   	local tool = puncher:get_wielded_item()