CSdev - Noticed something in the decompiled code while investigating how the Velvet key worked. It looks like you're using a seperate value for recording who's the "punisher taker" (i.e. ownBody.impregnationTaker), and the actual punished effect (ownBody.impregnationType) but the merge code is only looking at the taker's punisher type, and swaping the taker + punisher strenght values. There's potentially two issues with this. First, It doesn't loook like the merge code is swapping the actual punished effect. The forsaken class doesn't refrence the punisher taker when applying the punisher effect, so changing who applied the effect doesn't actually change the effect. Second, multiple uses of this efffect could result in a chosen being merged who's current punisher does not have the effect they are currently under, Which could cause unintended behavior.
I don't exactly have time to setup the proper scenario to test these in game to verify that the decomplier isn't misrepresenting what's actually in the code, but it should be easy enough for you to verify if the acual source matches what I'm seeing.
I don't exactly have time to setup the proper scenario to test these in game to verify that the decomplier isn't misrepresenting what's actually in the code, but it should be easy enough for you to verify if the acual source matches what I'm seeing.