GithubHelp home page GithubHelp logo

Possible incompatibility with armor boosting implants at large (happens with Cybernetic Organism and Neural Network, [RH] Faction: UAC and even Royalty DLC) about medpod HOT 10 CLOSED

sumghai avatar sumghai commented on August 25, 2024
Possible incompatibility with armor boosting implants at large (happens with Cybernetic Organism and Neural Network, [RH] Faction: UAC and even Royalty DLC)

from medpod.

Comments (10)

sumghai avatar sumghai commented on August 25, 2024

Thanks for getting back to me - this is very peculiar. I'll look into this when I have the time.

from medpod.

sumghai avatar sumghai commented on August 25, 2024

@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.

MerGatto avatar MerGatto commented on August 25, 2024

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.

sumghai avatar sumghai commented on August 25, 2024

@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.

sumghai avatar sumghai commented on August 25, 2024

@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.

MerGatto avatar MerGatto commented on August 25, 2024

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 avatar MerGatto commented on August 25, 2024

@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.

DJNokem avatar DJNokem commented on August 25, 2024

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.

LastXsile avatar LastXsile commented on August 25, 2024

from medpod.

sumghai avatar sumghai commented on August 25, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.