Astral Sorcery

Astral Sorcery

63M Downloads

effectAmplifier's additional ritual executions will never have enough starlight to run

irisfofs opened this issue ยท 1 comments

commented

Caveat: this is mostly from staring at the code a lot, I made an Ulteria-trait ritual crystal and it didn't seem to boost the power but I haven't attempted to rigorously verify this in-game.

TL;DR

effectAmplifier increases the number of execution attempts without either increasing collectionChannelBuffer (stored starlight) or decreasing maxDrain (starlight per execution), so its extra execution attempts don't have any starlight and do nothing.

Longer explanation

Several minor constellations (Ulteria, Alcara, Vorux) use effectAmplifier to boost the power of a ritual:

This is only referenced in TileRitualPedestal, where it boosts the number of execution attempts (it also does something with fracturing but that's not related to this issue):

executeTimes = MathHelper.floor(executeTimes * prop.getEffectAmplifier());

However, each execution still subtracts maxDrain from the stored starlight (collectionChannelBuffer), and executeTimes is originally set to how many times that's possible:

int executeTimes = MathHelper.floor(collectionChannelBuffer / maxDrain);

So the starlight will still run out after the same number of executions, and the extra executions from effectAmplifier won't ever do anything.

Thoughts on fixes

effectAmplifier should multiply collectionChannelBuffer the same way that potency does:

To avoid the extra executions counting as over the free cap for fracturing (it looks like that was the intent) it could be done where executeTimes is multiplied:

executeTimes = MathHelper.floor(executeTimes * prop.getEffectAmplifier());

commented

Uh.. yea, something's been lost during the transition..
I rewrote some of the ritual pedestal code at some point to accomodate for minor constellations affecting parts of the ritual effect properties. Might've been too inaccurate when refactoring that..
That being said, thank you very much for pointing that out, will provide a proper fix for that.