Rotwood-Vale / Ratwood-Keep

GNU Affero General Public License v3.0
22 stars 255 forks source link

"allowed_patrons" code now tries to avoid switching faiths first #190

Closed zoktiik closed 3 months ago

zoktiik commented 3 months ago

About The Pull Request

The logic used is a bit different than the title implies, but the effect is the same. Jobs and subclasses that switch your patron when you choose them will now attempt to avoid patrons that are from a different faith, instead only picking a patron randomly from within the same faith if possible, then falling back to random selection.

Old God ("One-Psydonite") characters becoming an unsupported (sub)class, that does support both Divine and Inhumen patrons, will randomly pick between them as normal; there is no special logic or cases here.

With this PR, an Astratite character will only ever become a Pestrite barber-surgeon or a Ravoxian barbarian, never a Graggite (if possible). This does not prevent him from becoming a Psydonite witch hunter or a Zizoist necromancer.

In other words, this PR really only means that you'll be seeing a lot more of this:

image image

Why It's Good For The Game

Having to roll the dice on whether my character is switched to a different faith is bad.

zoktiik commented 3 months ago

I am considering another PR after this to add old_god as an allowed patron to more, (semi-)secular (sub)classes, wherever it would make sense.