sorcery  Diff

Differences From Artifact [8ccd951dd6]:

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

To Artifact [64c5633477]:

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

77
78
79
80
81
82
83



84
85
86
87
88
89
90
91
		};
		on_construct = function(pos)
			setmeta(pos,'off')
		end;
		on_timer = function(pos)
			if p.color == nil then return false end




			local vee = {x=0,y=-1,z=0};
			minetest.add_particlespawner {
				amount = 128;
				time = 4;
				minpos = vector.subtract(pos,radius);
				maxpos = vector.add(pos,radius);
				minvel = vector.multiply(vee, p.factor*0.5);
				maxvel = vector.multiply(vee, p.factor);







>
>
>
|







77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
		};
		on_construct = function(pos)
			setmeta(pos,'off')
		end;
		on_timer = function(pos)
			if p.color == nil then return false end

			local probe = sorcery.spell.probe(pos)
			if probe.disjunction then return true end

			local vee = {x=0,y=-1,z=0}
			minetest.add_particlespawner {
				amount = 128;
				time = 4;
				minpos = vector.subtract(pos,radius);
				maxpos = vector.add(pos,radius);
				minvel = vector.multiply(vee, p.factor*0.5);
				maxvel = vector.multiply(vee, p.factor);