vikigenius / SpellbookMerge

SpellbookMerge is a mod for Pathfinder Wrath of the righteous that allows additional spellbook merging options
MIT License
19 stars 6 forks source link

"Heroes Never Surrender" Restores Itself When in a Merged Spellbook - Results in Infinite Ability & Spell Use #12

Open alexgadam opened 2 years ago

alexgadam commented 2 years ago

The Azata L7 spell "Heroes Never Surrender" used to be bugged. It was fixed in Owlcat's last update (1.1.5f) so it now works. The spell is coded so that it restores all spell and ability uses up to L7 for the main character and the whole party - it however didn't restore uses in a Mythic Spellbook (which would include itself).

If you merge your spellbook as an Azata (as allowed by this mod) - and cast "Heroes Never Surrender", you now restore the spell itself (I guess since it's no longer in a mythic spellbook), meaning you get infinite uses of all abilities in your party and infinite uses of all spells up to L7. Note this happens however you merge - i.e if you use this mod or if you use Toybox to merge.

Would it be possible to modify "Heroes Never Surrender" in such a way to fix this, so that it doesn't refresh itself?

Exactly the same thing could happen with the L6 Azata spell "Joy of Life" except it's currently still bugged and does nothing (as far as refreshing slots is concerned) - but worth keeping an eye on if/when Owlcat fix that bug. It might also just have no issue as the spell refreshes "Up to L5", but its an L6 spell so can't refresh itself (unlike the "Heroes Never Surrender" case).

Note "Second Breath" has no problem as it only refreshes abilities not spells so can't refresh itself.

vikigenius commented 2 years ago

It's not automatically infinite though right? You just mean that someone can abuse this by simply using "Heroes Never Surrender" repeatedly?

I am busy and this might be a bit tricky to fix, so it won't be a high priority.

alexgadam commented 2 years ago

Yeah that's right - you can just abuse it by repeatedly recasting. No worries at all about it being low priority :) Just wanted to flag it.

One idea for a quick (?) fix "by balance" would be to make it so that it only restores spells up to L6 (rather than L7) - that way it couldn't restore itself. It's actually pretty weird that it restores spells at the same level as itself. Another option, is to raise the spell level to L8 (in the case where its in a merged spellbook) and have it restore up to L7 etc. That might be the most ideal situation, but I don't know if its possible - if not first option may be best.

vikigenius commented 2 years ago

I took a look and discussed this with other modders. The way they have implemented this makes a simple fix impossible. They just define a list of non mythic spellbooks and simply do a spellbook rest. Any code that will patch this will change the behavior of spellbook rest as well, which i don't want to do even with conditionals in case I mess up.

The other option is to just completely change it and make the spell a spell like ability instead, but that's also a fundamental change with a lot of work. So I will be leaving this as it is for now.

Anyone who abuses this, can just do a ToyBox rest for a simpler abuse.

vikigenius commented 2 years ago

Anyone who wants this can add the patch as an optional feature and make a PR, and I will merge it.