sorcery  Diff

Differences From Artifact [62888214aa]:

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

To Artifact [b7e13e762b]:

  • File cookbook.lua — part of check-in [ea6e475e44] at 2020-10-19 09:52:11 on branch trunk — continue dev on celestial mechanics, add melding+division spells (resonance), refine itemclasses, add keypunch and punchcards, add paper pulp, add a shitload of visuals, add convenience scripts for working with the wiki, make the flamebolt spell actually useful instead of just a pretty lightshow, add essences, inferno crystal, and other goodies; iterate on wands, lots of shit i can't remember, various bugfixes (user: lexi, size: 19858) [annotate] [blame] [check-ins using]

458
459
460
461
462
463
464






465
466
467
468
469
470
471
...
489
490
491
492
493
494
495






496
497
498
499
500
501
502
503

504
505
506
507

508
509
510
511
512
513
514
		minetest.show_formspec(user:get_player_name(), 'sorcery:recipe', string.format([[
			size[%f,%f]
			container[1,1] %s container_end[]
		]], w + 4,h + 2, 
				spec))
		return itemstack
	end;






})

dungeon_loot.register {
	name = 'sorcery:recipe';
	chance = 0.9;
	count = {1,7};
}
................................................................................
minetest.register_craft {
	type = 'shapeless';
	recipe = {
		'sorcery:cookbook';
		'default:book';
	};
	output = 'sorcery:cookbook';






};

-- erase cookbooks in the usual way
minetest.register_craft {
	type = 'shapeless';
	recipe = {
		'sorcery:cookbook';
		'bucket:bucket_water';

	};
	output = 'default:book';
	replacements = {
		{'bucket:bucket_water','bucket:bucket_empty'};

	};
};

local m = sorcery.lib.marshal
local encbook, decbook = m.transcoder {
	pages = m.g.array(8, m.g.struct {
		kind = m.t.str;







>
>
>
>
>
>







 







>
>
>
>
>
>








>




>







458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
...
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
		minetest.show_formspec(user:get_player_name(), 'sorcery:recipe', string.format([[
			size[%f,%f]
			container[1,1] %s container_end[]
		]], w + 4,h + 2, 
				spec))
		return itemstack
	end;
	_sorcery = {
		material = {
			powder = 'sorcery:pulp_inky';
			grindvalue = 2; hardness = 1;
		};
	};
})

dungeon_loot.register {
	name = 'sorcery:recipe';
	chance = 0.9;
	count = {1,7};
}
................................................................................
minetest.register_craft {
	type = 'shapeless';
	recipe = {
		'sorcery:cookbook';
		'default:book';
	};
	output = 'sorcery:cookbook';
	_sorcery = {
		material = {
			powder = 'sorcery:pulp_inky';
			grindvalue = 2*3; hardness = 1;
		};
	};
};

-- erase cookbooks in the usual way
minetest.register_craft {
	type = 'shapeless';
	recipe = {
		'sorcery:cookbook';
		'bucket:bucket_water';
		'sorcery:erasure_fluid';
	};
	output = 'default:book';
	replacements = {
		{'bucket:bucket_water','bucket:bucket_empty'};
		{'sorcery:erasure_fluid', 'vessels:glass_bottle'};
	};
};

local m = sorcery.lib.marshal
local encbook, decbook = m.transcoder {
	pages = m.g.array(8, m.g.struct {
		kind = m.t.str;