JohN100x1 / IsekaiMod

An unbalanced gameplay mod for Pathfinder: Wrath of the Righteous
MIT License
19 stars 10 forks source link

Oracle Legacy Channel Energy bug #92

Closed Rinelw closed 1 year ago

Rinelw commented 1 year ago

If i choose Oracle based legacy and choose life mystery and then mystery to channel positive energy, the channel energy skill doesn't scale with Isekai Protagonist's level, making it quite useless. I haven't tested it yet, but I reckon this could mean the same for other mysteries/abilities.

JohN100x1 commented 1 year ago

From what I remember, there are multiple versions of the channel energy ability that scales of a particular class level. The ability would need to be patched to scale of Isekai protagonist class level as well.

kjk001 commented 1 year ago

the crawler that goes down the tree should add the class everywhere it needs to be. But I am guessing that there is yet another special kind of logic just for channel features that needs to be added. I will fix it. Also quick question, for reference I looked at the Isekai Protagonist Channel feature and bp.EffectOnAlly = AbilityEffectOnUnit.Harmful; seems wrong to me. At least logically...

JohN100x1 commented 1 year ago

Also quick question, for reference I looked at the Isekai Protagonist Channel feature and bp.EffectOnAlly = AbilityEffectOnUnit.Harmful; seems wrong to me. At least logically...

You're right. I copy and pasted the damage and healing versions channel energy features and forgot to change this.

kjk001 commented 1 year ago

On the upside I found both the problem, yes channel energy once again has its own way of doing things with a "ContextRankConfig" and why it won't even affect every user that picks the legacy because there are two options for it, one checks for the correct class and the other for a custom property, so if the character had the custom property the calculation worked too. Apparently my character had the feature when I tested this :D or some other feature that also overruled the calculation...

I will update the routine to also check for ContextRankConfig facts and to correctly add the class to them.

On the upside changes like this work retroactive so you will not have to start a new game to enjoy the fix @Nerin3

kjk001 commented 1 year ago

quick info: while m_class in ContextRankConfig is an array it does not accept multiple values, everything but the first is ignored. So the correct way to handle that was to check if it was declared for the reference class on an ability, then if so to add a second ContextRankConfig that copies over everything but the class and add that as a component.

Anyway Bugfix done and locally tested.