So lets talk about humanity and body parts.
The current method is functional but annoying due to constant recalculating, and it is inherently connected to your human part biomass. The idea of it works thematically, with the struggle between having powerful demon parts and remaining human, but the actual mechanics are unwieldy. There are three ways to handle this that I see.
1. Reconfigure the current system in a way that requires less recalculating
2. Change the system so that humanity is unconnected to human parts
3. Add a new stat to counter act humanity and have humanity remain static.
My idea, going somewhat off of 2 and 3, and connected to what Ozarck was talking about, is this:
First, humanity is entirely dictated by heart. Whatever your heart stat is, thats your humanity. No fucking around with recalculating anything. Instead we have corruption. Corruption will act as anti-humanity, so your humanity will be equal to Heart minus corruption. Instead of draining humanity, using demonic things will add corruption. Whenever you use the ability of a demon part, it adds corruption. Whenever you use the bonus from a part, it adds corruption. If you build outside the body slots, it adds permanent corruption so long as the slot is filled, where as the others add temporary corruption that ticks down. Now, you may be wondering, if humanity is tied to heart and you don't get corruption for building outside the body plan so long as you don't actually activate any of the limbs, whats the point in human parts? Well, the idea I have is that they would act as buffers of a sort; each human part in a limb can reduce the corruption cost of an action done with that limb. This reduction would be static, say like 5 per part, and wouldn't need any recalculating unless you added parts. If destroyed, it simply doesn't add that bonus, same as any part.