RimWorld

RimWorld

A RimWorld of Magic
Phant0m5 22 Feb, 2023 @ 3:03am
Druid Regrowth surgery does not remove connected bodyparts
So if I complete the Regrowth surgery for, say, a leg, it will successfully replace the "leg" part but won't remove the femur, tibia, foot, or any of the toes. This means all those parts are still vulnerable to damage or destruction even though they should be subsumed into the self-regrowing magical living wood prosthetic.

Same issue with arms.

You could theoretically replace each individual body part, but depending on how many fingers or toes you need to replace that's potentially a huge time investment per limb for both the Druid and the patient, and also a staggering amount of mana potion. Also, the new body parts would be just as vulnerable to being blown off as the old ones were.
< >
Showing 1-1 of 1 comments
Phant0m5 22 Feb, 2023 @ 4:13am 
Good news, this seems to be really easily fixed!

All the body parts are inheriting this:
<HediffDef Name="DruidRegrowth" Abstract="True">
<hediffClass>Hediff_AddedPart</hediffClass>

which is as it should be. But they're also, for some reason, all overriding that line in their own definitions with this:
<hediffClass>HediffWithComps</hediffClass>

which breaks the prosthetic system.

So if you go through and remove that line in all the body part hediffs, that should solve the issue.

... Maybe. I'm not sure if there was a reason HediffWithComps was used instead of Hediff_AddedPart. But it does fix the "higher" limbs and makes them remove and take over for the "lower" limbs again, like vanilla bionics.

So that's a possible solution for the mod author. For the rest of us, I wrote up a quick patch:

<Patch>

<Operation Class="PatchOperationFindMod">
<mods>
<li>A RimWorld of Magic</li>
</mods>


<match Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationRemove">
<xpath>Defs/HediffDef[@ParentName="DruidRegrowth"]/hediffClass</xpath>
</li>
</operations>
</match>
</Operation>
</Patch>
< >
Showing 1-1 of 1 comments
Per page: 1530 50