Overview
Comment: | updates |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
4b5ada2414bc770bbad7a7d222c45572 |
User & Date: | lexi on 2022-03-18 01:50:41 |
Other Links: | manifest | tags |
Context
2024-03-17
| ||
00:35 | bugfixes Leaf check-in: 032f54d1d5 user: lexi tags: trunk | |
2022-03-18
| ||
01:50 | updates check-in: 4b5ada2414 user: lexi tags: trunk | |
2021-10-27
| ||
18:11 | fix group matching check-in: 9599e69051 user: lexi tags: trunk | |
Changes
Modified data/resonance.lua from [c464435f82] to [a891ed08b5].
1 2 3 4 5 6 7 8 |
-- resonance is a mechanic whereby give which 'resonate' can be
-- transformed into each other by use of the divide/meld wands
local function
undersign(signs) return function(ctx)
local stars = sorcery.calendar.stars(ctx.today);
for _,s in pairs(signs) do
if stars.sign.id == s then return true end
|
| |
1 2 3 4 5 6 7 8 |
-- resonance is a mechanic whereby items which 'resonate' can be
-- transformed into each other by use of the divide/meld wands
local function
undersign(signs) return function(ctx)
local stars = sorcery.calendar.stars(ctx.today);
for _,s in pairs(signs) do
if stars.sign.id == s then return true end
|
Modified data/runes.lua from [655b36ebed] to [269be1ec2d].
1 2 3 4 5 6 7 8 9 10 11 12 13 ... 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 .... 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 |
-- a rune is an abstract object created by a runeforge, which can be -- applied to an amulet in order to imbue that amulet with unique -- and fearsome powers. the specific spell depends on the stone the -- rune is applied to, and not all runes can necessarily be applied -- to all stones. local L = sorcery.lib local sparkle_region = function(s) s.spell.visual_subjects { amount = s.amt, time = s.time, -- attached = s; minpos = s.minpos; maxpos = s.maxpos; minvel = { x = -0.4, y = -0.2, z = -0.4 }; ................................................................................ wreck[#wreck+1] = pos end end sorcery.spell.cast { name = 'sorcery:spellshatter'; caster = ctx.caster; anchor = epicenter; --disjunction = true; --range = radius; duration = 10; timeline = { [0] = function(s) s.visual_caster { texture = tex; amount = 100, time = 0.2; minpos = { x = -0.1, y = -0.5, z = -0.1 }; ................................................................................ sorcery.vfx.bloodburst(vector.add(tgt:get_pos(),{x=0,y=tgth/2,z=0}),20) minetest.sound_play('sorcery_bloody_burst', { pos = pos, gain = 1.5 }) tgt:set_hp(0) end; frame = { iridium = { name = 'Massacre'; desc = "Unleash the dark and wicked force that lurks within this fell amulet to instantaneously slay all those who surround you, friend and foe alike"; }; }; }; }; }; excavate = { name = 'Excavate'; |
> > | | | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 .... 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 |
-- a rune is an abstract object created by a runeforge, which can be -- applied to an amulet in order to imbue that amulet with unique -- and fearsome powers. the specific spell depends on the stone the -- rune is applied to, and not all runes can necessarily be applied -- to all stones. -- TODO add blood ritual that adds an extra "charge" to an amulet local L = sorcery.lib local sparkle_region = function(s) s.spell.visual_subjects { amount = s.amt, time = s.time, -- attached = s; minpos = s.minpos; maxpos = s.maxpos; minvel = { x = -0.4, y = -0.2, z = -0.4 }; ................................................................................ wreck[#wreck+1] = pos end end sorcery.spell.cast { name = 'sorcery:spellshatter'; caster = ctx.caster; anchor = epicenter; disjunction = true; range = radius; duration = 10; timeline = { [0] = function(s) s.visual_caster { texture = tex; amount = 100, time = 0.2; minpos = { x = -0.1, y = -0.5, z = -0.1 }; ................................................................................ sorcery.vfx.bloodburst(vector.add(tgt:get_pos(),{x=0,y=tgth/2,z=0}),20) minetest.sound_play('sorcery_bloody_burst', { pos = pos, gain = 1.5 }) tgt:set_hp(0) end; frame = { iridium = { name = 'Massacre'; desc = "Unleash the dark and wicked force that lurks within this fell amulet to instantaneously slay all those who surround you — friend and foe alike"; }; }; }; }; }; excavate = { name = 'Excavate'; |
Modified recipes.lua from [4091d897f1] to [4c15c3b3eb].
795 796 797 798 799 800 801 802 803 804 805 806 807 808 |
minetest.register_craft { output = dye .. ' 4'; recipe = { {'', pd[2], ''}; {pd[1],'basic_materials:paraffin', pd[3]}; {'', 'bucket:bucket_water', ''}; }; } end end local potion_auto_recipe = function(id, substance, tools, container) local recipe = tools local replace = {} |
> > > |
795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 |
minetest.register_craft { output = dye .. ' 4'; recipe = { {'', pd[2], ''}; {pd[1],'basic_materials:paraffin', pd[3]}; {'', 'bucket:bucket_water', ''}; }; replacements = { {'bucket:bucket_water', 'bucket:bucket_empty'}; }; } end end local potion_auto_recipe = function(id, substance, tools, container) local recipe = tools local replace = {} |
Modified spell.lua from [a858b6f5bf] to [3808158930].
245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 |
s.jobs[#s.jobs+1] = minetest.after(howlong, function() -- this is somewhat awkward. since we're using a non-polling approach, we -- need to find a way to account for a caster or subject walking into an -- existing antimagic field, or someone with an existing antimagic aura -- walking into range of the anchor. so every time a spell effect would -- take place, we first check to see if it's in range of something nasty if not s.disjunction and -- avoid self-disjunction (s.caster and sorcery.spell.probe(s.caster:get_pos()).disjunction) or (s.anchor and sorcery.spell.probe(s.anchor,s.range).disjunction) then sorcery.spell.disjoin{spell=s} else if not s.disjunction then for _,sub in pairs(s.subjects) do local sp = sub.player:get_pos() if sorcery.spell.probe(sp).disjunction then sorcery.spell.disjoin{pos=sp} end |
| | |
245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 |
s.jobs[#s.jobs+1] = minetest.after(howlong, function() -- this is somewhat awkward. since we're using a non-polling approach, we -- need to find a way to account for a caster or subject walking into an -- existing antimagic field, or someone with an existing antimagic aura -- walking into range of the anchor. so every time a spell effect would -- take place, we first check to see if it's in range of something nasty if not s.disjunction and -- avoid self-disjunction ((s.caster and sorcery.spell.probe(s.caster:get_pos()).disjunction) or (s.anchor and sorcery.spell.probe(s.anchor,s.range).disjunction)) then sorcery.spell.disjoin{spell=s} else if not s.disjunction then for _,sub in pairs(s.subjects) do local sp = sub.player:get_pos() if sorcery.spell.probe(sp).disjunction then sorcery.spell.disjoin{pos=sp} end |
Modified vfx.lua from [dc765bd287] to [ee7b81ab5a].
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 |
else local dir = vector.subtract(tgt.above,tgt.under) minvel = vector.multiply(dir, 0.3) maxvel = vector.multiply(dir, 1.2) end print(minetest.get_player_by_name('singleplayer')) return minetest.add_particlespawner { amount = 450;--50; time = 2;--0.5; -- old syntax minpos = vector.subtract(tgt.under, 0.5); maxpos = vector.add(tgt.under, 0.5); minvel = minvel, maxvel = maxvel; minexptime = 1, maxexptime = 2; minsize = 0.5, maxsize = 2; texture = L.image('sorcery_spark.png'):multiply(color):render(); --new syntax -- can't use this shit until it gets merged :( -- pos = { -- min = vector.subtract(tgt.under, 0.5); -- max = vector.add(tgt.under, 0.5); -- }; -- pos = { -- min = vector.subtract(tgt.under, 0.8); -- max = vector.add (tgt.under, 0.8); -- }; -- vel_tween = { -- {min = minvel, max = maxvel}; -- {min = minvel * 3, max = maxvel * 3}; -- }; -- acc = { -- min = vector.new(0,-2,0); -- max = vector.new(0,-5,0); -- }; -- bounce = { min = 0.3, max = 2 }; -- exptime = { min = 0.5, max = 10 }; -- size = { min = 0.5, max = 1 }; -- collisiondetection = true; -- -- texpool = { -- { -- img = L.image('sorcery_spark.png'):multiply(color):render(); -- -- img = 'sorcery_inferno_crystal.png'; -- alpha_tween = { 0.8, 1; style = 'pulse', reps = 4}; -- -- scale = {x=4,y=0.5}; -- scale_tween = { {x=2,y=3}; {x=0,y=0}; style = 'pulse', reps = 6 }; -- }; -- -- { -- -- img = L.image('sorcery_divine_radiance_1.png'):multiply(L.color(255,0,0)):render(); -- -- fade = 'pulse'; -- -- fade_reps = 3; -- -- }; -- }; -- radius = { -- min = vector.new(0,0,0); -- max = 0; -- }; -- animation = { -- type = 'vertical_frames'; -- aspect_w = 16, aspect_h = 16; -- length = -1; -- }; -- glow = 14; } end sorcery.vfx.bloodburst = function(pos,size) for i=0, size or 48 do minetest.add_particle{ texture = 'sorcery_blood_' .. math.random(5) .. '.png', |
| | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | | | | |
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 |
else
local dir = vector.subtract(tgt.above,tgt.under)
minvel = vector.multiply(dir, 0.3)
maxvel = vector.multiply(dir, 1.2)
end
print(minetest.get_player_by_name('singleplayer'))
return minetest.add_particlespawner {
amount = 50;
time = 0.5;
-- old syntax
minpos = vector.subtract(tgt.under, 0.5);
maxpos = vector.add(tgt.under, 0.5);
minvel = minvel, maxvel = maxvel;
minexptime = 1, maxexptime = 2;
minsize = 0.5, maxsize = 2;
texture = L.image('sorcery_spark.png'):multiply(color):render();
animation = {
type = 'vertical_frames';
aspect_w = 16, aspect_h = 16;
length = 2.1;
};
glow = 14;
}
end
sorcery.vfx.bloodburst = function(pos,size)
for i=0, size or 48 do
minetest.add_particle{
texture = 'sorcery_blood_' .. math.random(5) .. '.png',
|