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
392
393
394
395
396
397
















398
399
400
401
402
403
404
	obliterate = {
		name = 'obliteration';
		uses = 129;
		color = {175,6,212};
		affinity = {'aspen','dark'};
		leytype = 'occlutic';
		desc = 'Totally and irreversibly obliterate all items on an enchanter.';
















	};
	sacrifice = {
		name = 'sacrifice';
		uses = 58;
		color = {212,6,63};
		affinity = {'aspen','blazing'};
		leytype = 'syncretic';







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
	obliterate = {
		name = 'obliteration';
		uses = 129;
		color = {175,6,212};
		affinity = {'aspen','dark'};
		leytype = 'occlutic';
		desc = 'Totally and irreversibly obliterate all items on an enchanter.';
		cast = function(ctx)
			if not ctx.target or ctx.target.type ~= 'node' then return false end
			local tgt = minetest.get_node(ctx.target.under)
			if tgt.name ~= 'sorcery:enchanter' then return false end

			local inv = minetest.get_meta(ctx.target.under):get_inventory()
			for _,name in pairs{'foci','item'} do
				for i=1,inv:get_size(name) do
					inv:set_stack(name,i,ItemStack(nil))
				end
			end

			enchantment_sparkle(ctx,sorcery.lib.color(255,12,0))
			enchantment_sparkle(ctx,sorcery.lib.color(85,18,35))
			enchantment_sparkle(ctx,sorcery.lib.color(0,0,0))
		end
	};
	sacrifice = {
		name = 'sacrifice';
		uses = 58;
		color = {212,6,63};
		affinity = {'aspen','blazing'};
		leytype = 'syncretic';