sumghai / MedPod

Advanced regenerative medical beds for RimWorld
Other
14 stars 15 forks source link

Purge luciferium drug from system when the MedPod cures the addiction #42

Closed ghost closed 3 years ago

ghost commented 3 years ago

Describe your idea: Pawns who take Luciferium get a "Luciferium" hediff, which gives them a performance boost, as well as the "Luciferium need" hediff, which causes them to become addicted to the drug. Currently, MedPod removes the "Luciferium need" hediff, but not the "Luciferium" one.

Before getting in the pod: Screenshot from 2020-11-19 16-18-18 After getting in the pod: Screenshot from 2020-11-19 16-19-10

The issue with this is that most drugs like Go-juice have a certain time limit for their effectiveness. In the below example, the drug only provides its benefits for 16h. Though the MedPod can cure the pawn's Go-juice addiction, the pawn will need to take the drug again to reap its benefits. However, there is no timer for Luciferium (the game does not need it as the addicted pawn will suffer withdrawl effects if they don't take more). As a result, the pawn ends up reaping all the benefits of Luciferium for life, after only taking a single doze and being treated in the MedPod. Screenshot from 2020-11-19 16-08-25

My request is for this mod to remove the Luciferium from the person's system when they are cured of this addiction, in order to prevent abuse of this feature (give all your pawns a single doze of the drug, rest in the pod, and they will recieve its benefits forever without ever taking another doze).

Alternate options that would be more difficult to implement include setting a timer on Luciferium if the pawn goes in the MedPod, so that the drug will disappear from the pawn's system in several days after his addiction is removed.

Why do you think your idea would be a good fit for MedPod?: I think Luciferium and MedPods are too easily abused. Generally Rimworld drugs (e.g. Go-juice) require the user to take the drug in order to recieve a positive effect, which dissapates over time (even if the MedPods remove the addiction). With the MedPods and Luciferium, my pawn all take a single doze of Luciferium and are set for life with zero repercussions. I understand that there are other ways to abuse the MedPods as well (e.g. repeated organ harvesting), but that still has a downside of colony mood loss.

Thanks!

What alternatives/workarounds have you tried? N/A

Declaration

I hereby verify that:

sumghai commented 3 years ago

This makes perfect sense to me!

In fact, while I'm at it, do you suppose the MedPod should also remove highs/benefits from all drugs? Even though drugs like Go-Juice will eventually dissipate (as you've mentioned), I'm wondering if it makes thematic sense for the MedPod to perform a full purge of a pawn's bloodstream/circulatory system.

sumghai commented 3 years ago

I wouldn't regard this suggestion as a mere quirk, but a feature that makes sense for its original goal.

By the way, what is your Reddit username?

sumghai commented 3 years ago

@spsx - Could you please test the following development build, and verify that it works as in your proposal?

https://github.com/sumghai/MedPod/archive/bd60f25029b3bb68b173168fb082307993374095.zip

sumghai commented 3 years ago

Yep, the build works fine. I tested with various different drugs and the MedPods purged both the addiction and the drug's effects.

Excellent!

I also looked over the patch as well and it looks fine, I don't write mods personally but I understand how they work. Though the fact that you hardcoded the specific drugs the MedPod will purge means that modded drugs won't work - the addiction will be purged since it's like marked with isBad, but the positive effects of the drug will remain.

Yeah, there's not really much I can do about that.

Drug highs are treated by the game as "good" hediffs like prosthetics, which ends up being an exception to the usual broad-stroke "remove bad hediff, keep good hediff" rule. I'll simply ask mod authors to patch their own drug highs on their end.

I actually only use the name spsx for game-related stuff. My Reddit name will remain secret :D

Alright then. Keep your secrets :P