Overview
| Comment: | remove debug statements >_< |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
de7d27795bcc95c2f2747ec9e1d105fa |
| User & Date: | lexi on 2021-08-01 13:42:53 |
| Other Links: | manifest | tags |
Context
|
2021-10-16
| ||
| 23:51 | continue work on runes, comment out test code in vfx.lua check-in: 967d5006f5 user: lexi tags: trunk | |
|
2021-08-01
| ||
| 13:42 | remove debug statements >_< check-in: de7d27795b user: lexi tags: trunk | |
|
2021-07-31
| ||
| 19:13 | optimize pngs, finish spellshatter spell, tweak rune forge algorithm to be more fair & reasonable, new spell-casting vfx check-in: cb09c77754 user: lexi tags: trunk | |
Changes
Modified data/runes.lua from [4936c92bc2] to [00d856eebe].
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
....
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
|
local tex = sorcery.lib.image('sorcery_sputter.png'):glow(sorcery.lib.color(160,255,80)):render();
local epicenter = ctx.caster:get_pos() + vector.new(0, h/2, 0)
local maxima = vector.new(radius, radius, radius)
local potential_targets = minetest.find_nodes_in_area(epicenter - maxima, epicenter + maxima, {'group:sorcery_magical', 'group:sorcery_magitech'})
local wreck = {}
for _, pos in pairs(potential_targets) do
if sorcery.lib.math.vdcomp(radius,epicenter,pos) then
print('got wreckable at',pos)
wreck[#wreck+1] = pos
end
end
sorcery.spell.cast {
name = 'sorcery:spellshatter';
caster = ctx.caster;
anchor = epicenter;
................................................................................
local put = function(ofs)
timeline[{whence=0,secs=per*i}] = function(s)
local p = vector.add(w,ofs)
if not sorcery.lib.node.is_clear(p) then return end
spark(s, p)
minetest.sound_play('sorcery_put', {pos = p, gain = 0.4}, true)
local lamp = mpick 'lamp_ext'
print('installing lamp',lamp,p,vector.new(ofs))
put_align(p, lamp, vector.multiply(ofs,-1))
end
i=i+1
end
put{x=o.x, y=0, z=0}
put{x=0, y=0, z=o.z}
end
|
<
<
|
651
652
653
654
655
656
657
658
659
660
661
662
663
664
....
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
|
local tex = sorcery.lib.image('sorcery_sputter.png'):glow(sorcery.lib.color(160,255,80)):render();
local epicenter = ctx.caster:get_pos() + vector.new(0, h/2, 0)
local maxima = vector.new(radius, radius, radius)
local potential_targets = minetest.find_nodes_in_area(epicenter - maxima, epicenter + maxima, {'group:sorcery_magical', 'group:sorcery_magitech'})
local wreck = {}
for _, pos in pairs(potential_targets) do
if sorcery.lib.math.vdcomp(radius,epicenter,pos) then
wreck[#wreck+1] = pos
end
end
sorcery.spell.cast {
name = 'sorcery:spellshatter';
caster = ctx.caster;
anchor = epicenter;
................................................................................
local put = function(ofs)
timeline[{whence=0,secs=per*i}] = function(s)
local p = vector.add(w,ofs)
if not sorcery.lib.node.is_clear(p) then return end
spark(s, p)
minetest.sound_play('sorcery_put', {pos = p, gain = 0.4}, true)
local lamp = mpick 'lamp_ext'
put_align(p, lamp, vector.multiply(ofs,-1))
end
i=i+1
end
put{x=o.x, y=0, z=0}
put{x=0, y=0, z=o.z}
end
|
Modified runeforge.lua from [dd6f797d8b] to [fd9aa86a12].
273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 |
if time and has_phial() and pow_min and not probe.disjunction then -- roll for runes
local phial = i:get_stack('phial',1)
local int, powerfac = calc_phial_props(phial)
local pf = phial:get_meta():get_int('force')
local rolls = math.floor(time/int)
local newrunes = {}
for _=1,rolls do
print('--- rune roll',_,'pf',pf)
local choices = {}
for name,rune in pairs(sorcery.data.runes) do
local powreq = (rune.minpower*powerfac)*time
print('- rune', name)
print('powreq',powreq)
print('power draw',l.self.powerdraw)
if powreq <= l.self.powerdraw then
print(' ! sufficient power for rune')
choices[#choices + 1] = rune
end
end
for k,v in pairs(choices) do print(' * choice',k,v.item) end
if #choices > 0 then
for try = 1,#choices do
print(' -- try',try)
local _, choice = sorcery.lib.tbl.pick(choices)
local adjrare = math.max(2, choice.rarity - pf)
print(choice.item,'rarity',choice.rarity, 'adjusted', adjrare)
if math.random(adjrare) == 1 then
print(' ! picking ', choice.item)
newrunes[#newrunes + 1] = ItemStack(choice.item)
break
end
end
end
-- print('rune choices:',dump(choices))
-- print('me',dump(l.self))
|
< < < < < < < < |
273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 |
if time and has_phial() and pow_min and not probe.disjunction then -- roll for runes
local phial = i:get_stack('phial',1)
local int, powerfac = calc_phial_props(phial)
local pf = phial:get_meta():get_int('force')
local rolls = math.floor(time/int)
local newrunes = {}
for _=1,rolls do
local choices = {}
for name,rune in pairs(sorcery.data.runes) do
local powreq = (rune.minpower*powerfac)*time
if powreq <= l.self.powerdraw then
choices[#choices + 1] = rune
end
end
for k,v in pairs(choices) do print(' * choice',k,v.item) end
if #choices > 0 then
for try = 1,#choices do
local _, choice = sorcery.lib.tbl.pick(choices)
local adjrare = math.max(2, choice.rarity - pf)
if math.random(adjrare) == 1 then
newrunes[#newrunes + 1] = ItemStack(choice.item)
break
end
end
end
-- print('rune choices:',dump(choices))
-- print('me',dump(l.self))
|