CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.69k stars 4.2k forks source link

pkill1_acetaminophen. Change the maximum duration of the effect #76835

Open IdleSol opened 1 month ago

IdleSol commented 1 month ago

Describe the bug

https://github.com/CleverRaven/Cataclysm-DDA/blob/65aca7f154933aa62002d95d3e178a0fe8619452/data/json/effects.json#L2468-L2469 The maximum duration is set to 4 minutes.

According to a search for drugs that utilize this effect. https://github.com/CleverRaven/Cataclysm-DDA/blob/65aca7f154933aa62002d95d3e178a0fe8619452/data/json/items/comestibles/med.json#L214

The maximum duration should be at least 150 minutes. Provided that taking multiple doses does not increase the duration of the effect.

Attach save file

n/a

Steps to reproduce

n/a

Expected behavior

Increase the max_duration parameter to 6...8 hours. Instructions from the Internet say to take 3-4 pills a day. Presumably, one pill works from 6 to 8 hours.

The pill in the game, works for 2.5 hours. Assuming the in-game pill has a reduced concentration, its instructions might sound like taking 3 pills at a time. 3 intakes per day.

Or wait for someone who understands more than nothing about these drugs.

Screenshots

No response

Versions and configuration

master

Additional context

No response

worm-girl commented 1 month ago

Thanks for looking at these. The original contributor did a huge amount of work getting the system out the door and the sorta vanished, so I'm not surprised there were some bits that didnt get caught.

I believe the way it works is that the vitamin confers the acetaminophen effect, which is just a signifier that the drug is in your system. An EOC then applies pkill if it sees that effect. They may have assumed that max duration wouldn't matter since the vitamin would be in your system regardless, but apparently the vitamin doesn't continually reapply the effect.

That's conjecture based on how I recall the system working and the discussion at the time, so I may have that wrong.

I wonder if it may be appropriate to set the max duration cap even higher or even uncapped. As I understand it, the effect should be active as long as there is a sufficient amount of acetaminophen in your system - taking more tylenol every few hours should extend the effect, and the vitamin decay should naturally limit its duration if the player stops taking it, right?

IdleSol commented 1 month ago

A little clarification. In this case, there is no vitamin. There is only the effect of pain killing.

If you look at ibuprofen.

Taking a tablet does two things:

  1. Triggers the pain killer effect
  2. Adds some ibuprofen vitamin (for aspirin: vit_bloodthinner (!))

The effect, in addition to reducing pain, is necessary to display the name when performing blood tests. And the vitamin adds its own additional effect. In the case of ibuprofen, it's an increase in blood pressure.

Why that's the case, I don't know. Although at first glance, it could work the way you describe. That is, the vitamin (or rather its concentration) serves both for the display in the analyzer and for the action of the painkiller.

Perhaps the problem is that a vitamin can only have one effect?

worm-girl commented 1 month ago

Perhaps the problem is that a vitamin can only have one effect?

I think you might have it there.

I think also the original contributor ran into conflicting design goals while trying to genericize the drug effects and create specific vitamins for them. I think some of this comes from cargo culting the old pkill effects, which wound up being inappropriate because for example aspirin and ibuprofin aren't reducing pain in the same way irl. Maybe the whole thing needs to be cleaned up and hopefully simplified a bit.