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