Comments (10)
Thanks for getting back to me - this is very peculiar. I'll look into this when I have the time.
from medpod.
@randompartyhero @DJNokem - I think I've figured out the root cause of the problem (as well as how to fix it).
Currently, the MedPod has a bit of code that checks to see if an implanted/prosthetic body part has any child parts, and then ignores them - this prevents the MedPod from, for example, healing the hands and fingers of an arm that has already been entirely replaced with an bionic arm.
Now, this is all fine and dandy, but if the implant belongs to the Torso, then the MedPod ignores everything below that, which practically means the MedPod now has an empty treatment plan, but other bits of code keep telling the patient to stay in the MedPod to receive (non-existent) treatment.
And the kicker is that the Royalty Death Acidifier, Armor Glands and the UAC implants in question are all Torso implants.
The solution is to basically skip checking Torso implants, which allows other body parts to be treated again.
I have a dev build with a working fix, but I'm waiting for feedback on my other FPS/lag fix before I can upload all the fixes into this repo.
from medpod.
I also ran into this problem today and dug around in the code a little.
Is there any particular reason why you also skip children from implants and not just added parts?
If I understand it correctly hands wouldn't be treated if the arm has a muscle stimulator for example (from EPOE mod).
Only excluding children from Added parts would probably fix the torso problem as well.
from medpod.
@MerGatto - As I already mentioned:
this prevents the MedPod from, for example, healing the hands and fingers of an arm that has already been entirely replaced with an bionic arm.
And no, only excluding children from Added parts would not haved fixed the problem, as that was what caused it the the first place.
from medpod.
@randompartyhero @gogochlwns @DJNokem @LastXsile @MerGatto
Please test the following development build, which contains a fix that ignores the child part checks for Torsos with implants, and should prevent pawns lying in MedPods getting stuck in the diagnosis loop:
https://github.com/sumghai/MedPod/archive/21de9991a4a422fe86c22fcfc3ccc99e29981d30.zip
If you guys can get back to me ASAP, I'll formally publish a new release this weekend.
from medpod.
Problem seems to be fixed for torsos.
However I was still able to trigger an infinite diagnosis loop by damaging the fingers of an arm with implants (not replacements), like for example the Muscle stimulator from EPOE mod
from medpod.
@MerGatto - As I already mentioned:
this prevents the MedPod from, for example, healing the hands and fingers of an arm that has already been entirely replaced with an bionic arm.
And no, only excluding children from Added parts would not haved fixed the problem, as that was what caused it the the first place.
Hediff_AddedParts cause child parts to be removed.
Hediff_Implants do not however.
This is vanilla behavior, the PostAdd method from the Hediff_AddedParts class adds the MissingPart Hediffs to the children.
Can you give me an example where it would cause problems to try and treat children of Body parts with Hediff_Implants?
I compiled a version of MedPod locally where I don't add children of Hediff_Implants to the ignore list. I didn't run into any issues..
from medpod.
The update has fixed the torso issue for me. I've not run into any other problems but I don't a large number of mods. Thanks.
from medpod.
from medpod.
@LastXsile - Please open a separate issue for that.
I've just approved some additional tweaks and optimizations courtesy of @MerGatto, so I think I can safely say we're done here.
from medpod.
Related Issues (20)
- Error in main menu when Vanilla Expanded Cooking mod is enabled HOT 2
- Babies from Biotech DLC stuck in a treatment loop on MedPods HOT 6
- Sanguophage from biotech DLC carried to medpod when deathresting HOT 1
- MedPod appears to be stuck. HOT 2
- EPOE optimizing nanobots causing infinite loop HOT 4
- Pawns with prosthetic arms / legs stuck in treatment loop HOT 3
- XML Verse.HediffDef defines the same field twice: isBad. HOT 3
- vet pod stuck in idle HOT 1
- More difficulty setting HOT 1
- Pawns drop sidearms when anesthetized and uses MedPod HOT 4
- My guests or rescued people leave immediately when colonists put them inside HOT 2
- Vetpods are not treated as valid animal beds to rescue to HOT 4
- Mod Settings to change what health conditions are cured by MedPod HOT 1
- Integration with Prison Labor HOT 3
- MedPod and Diseases+ compatibility HOT 3
- No More Riceworld Incompatibility HOT 2
- Pawns anesthetized after surgery drop weapons when carried to MedPods HOT 2
- Unable to arrest the temporary colonists from creepjoiner event if they're holding a weapon HOT 3
- the mod does to good of a job for keeping pawns around HOT 1
- Patch for [DN] Bundle Of Traits no longer required in RimWorld 1.5 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from medpod.