sorcery  Diff

Differences From Artifact [a570130d91]:

  • File wands.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: 24418) [annotate] [blame] [check-ins using]

To Artifact [2dc21e25ed]:

  • File wands.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: 24782) [annotate] [blame] [check-ins using]

32
33
34
35
36
37
38









39
40
41
42
43
44
45
...
368
369
370
371
372
373
374






375
376
377
378
379
380
381
...
698
699
700
701
702
703
704

705
706
707
708
709
710
711
			};
		};
		core = {
			obsidian = {
				item = 'default:obsidian_shard';
				sturdiness = 1.5;
			};









			cobalt = {
				item = 'sorcery:powder_cobalt';
				power = 1.4;
			};
			iridium = {
				item = 'sorcery:powder_iridium';
				sturdiness = 1.25;
................................................................................
				after_dig_node = function(pos,node,meta,digger)
					local stack = meta.inventory.wand[1]
					if stack and not stack:is_empty() then
						-- luv 2 defensive coding
						minetest.add_item(pos, stack)
					end
				end;






				on_rightclick = function(pos,node,user,stack)
					local meta = minetest.get_meta(pos)
					local stand = meta:get_inventory()
					local wand = stand:get_stack('wand',1)
					if stack:is_empty() then
						stack = wand
					else
................................................................................
		"default_aspen_wood.png";
		"sorcery_wandworking_station_side.png";
	}
	local base = {
		description = "Wandworking Station";
		groups = {
			choppy = 2;

		};
		paramtype2 = 'facedir';
		on_construct = function(pos)
			local meta = minetest.get_meta(pos)
			local inv = meta:get_inventory()
			inv:set_size('tank',4)
			inv:set_size('input',1)







>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>







 







>







32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
...
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
...
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
			};
		};
		core = {
			obsidian = {
				item = 'default:obsidian_shard';
				sturdiness = 1.5;
			};
			diamond = {
				item = 'sorcery:shard_diamond';
				sturdiness = 1.7;
				reliability = 0.75;
			};
			mese = {
				item = 'default:mese_fragment';
				generate = 2;
			};
			cobalt = {
				item = 'sorcery:powder_cobalt';
				power = 1.4;
			};
			iridium = {
				item = 'sorcery:powder_iridium';
				sturdiness = 1.25;
................................................................................
				after_dig_node = function(pos,node,meta,digger)
					local stack = meta.inventory.wand[1]
					if stack and not stack:is_empty() then
						-- luv 2 defensive coding
						minetest.add_item(pos, stack)
					end
				end;
				groups = {
					not_in_creative_inventory = 1;
					sorcery_wand_stand = 1;
					choppy = 2;
					oddly_breakable_by_hand = 2;
				};
				on_rightclick = function(pos,node,user,stack)
					local meta = minetest.get_meta(pos)
					local stand = meta:get_inventory()
					local wand = stand:get_stack('wand',1)
					if stack:is_empty() then
						stack = wand
					else
................................................................................
		"default_aspen_wood.png";
		"sorcery_wandworking_station_side.png";
	}
	local base = {
		description = "Wandworking Station";
		groups = {
			choppy = 2;
			not_in_creative_inventory = water and 1 or nil;
		};
		paramtype2 = 'facedir';
		on_construct = function(pos)
			local meta = minetest.get_meta(pos)
			local inv = meta:get_inventory()
			inv:set_size('tank',4)
			inv:set_size('input',1)