sorcery  Diff

Differences From Artifact [c7b64d56d8]:

  • File data/spells.lua — part of check-in [72eebac4bc] at 2020-09-26 18:49:51 on branch trunk — add writing stand for editing codexes; add scissors, ink, erasure fluid, pens; touch up codex UI; add many recipe notes; add craft divination type for crafttools; defuckulate fucktarded crafttool impl; enhance table library with missing features like lua's table.unpack; many bug fixes and enhancements; blood for the blood god (user: lexi, size: 22070) [annotate] [blame] [check-ins using]

To Artifact [24333d0a0e]:

  • File data/spells.lua — part of check-in [3f6a913e4e] at 2020-09-29 12:40:28 on branch trunk — * remove former hacky registration system, replace with consistent and flexible API; rewrite metal/gem generation to take advantage of this new API; tweaks to init system to enable world-local tweaks to lore and sorcery behavior * initial documentation commit * initial steps towards calendar - add default date format, astrolabe; prepare infra for division/melding/transmutation spells, various tweaks and fixes (user: lexi, size: 22648) [annotate] [blame] [check-ins using]

   391    391   	obliterate = {
   392    392   		name = 'obliteration';
   393    393   		uses = 129;
   394    394   		color = {175,6,212};
   395    395   		affinity = {'aspen','dark'};
   396    396   		leytype = 'occlutic';
   397    397   		desc = 'Totally and irreversibly obliterate all items on an enchanter.';
          398  +		cast = function(ctx)
          399  +			if not ctx.target or ctx.target.type ~= 'node' then return false end
          400  +			local tgt = minetest.get_node(ctx.target.under)
          401  +			if tgt.name ~= 'sorcery:enchanter' then return false end
          402  +
          403  +			local inv = minetest.get_meta(ctx.target.under):get_inventory()
          404  +			for _,name in pairs{'foci','item'} do
          405  +				for i=1,inv:get_size(name) do
          406  +					inv:set_stack(name,i,ItemStack(nil))
          407  +				end
          408  +			end
          409  +
          410  +			enchantment_sparkle(ctx,sorcery.lib.color(255,12,0))
          411  +			enchantment_sparkle(ctx,sorcery.lib.color(85,18,35))
          412  +			enchantment_sparkle(ctx,sorcery.lib.color(0,0,0))
          413  +		end
   398    414   	};
   399    415   	sacrifice = {
   400    416   		name = 'sacrifice';
   401    417   		uses = 58;
   402    418   		color = {212,6,63};
   403    419   		affinity = {'aspen','blazing'};
   404    420   		leytype = 'syncretic';