CleverRaven / Cataclysm-DDA

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

Certain hp mutations stack strangely #48718

Closed connorpmartin closed 1 year ago

connorpmartin commented 3 years ago

If the player has multiple traits which set a negative hp_modifier, only the lowest one is applied

Steps To Reproduce

Debug in "unassuming" and "flimsy" Observe that HP is only cut by 25% (as opposed to 50% or maybe 9/16)

Debug in "unassuming" and "frail" Observe that HP is cut by 50%

Debug in "tiny" and "flimsy" Observe that HP is cut by 30%

Looks like only the lowest HP mod is counted.

Expected behavior

Negative HP scaling should stack multiplicatively or additively. Probably multiplicatively, since otherwise you could kill yourself with tiny + fragile.

Screenshots

image

Do not take a screenshot of the crashing window. Please provide the crash logs in the "Additional context" -->

Versions and configuration

Zireael07 commented 3 years ago

I think this is intended - otherwise pretty much any combo of negative hp mutations makes the game next to unsurvivable.

Hirmuolio commented 3 years ago

If they don't stack then maybe they should be made to conflict so player can't have many of them at once? The wiki at least says that flimsy, frail and fragile can't be taken simultaneously.

I think multiplicative is the only sensible way to apply this kind of modifier if they stack.

Unassuming" and flimsy both give -25% HP. Frail gives -50% HP. Tiny gives -30% HP.

If they stacked "normally" (multiplicatively) the results would be this:

"unassuming" and "flimsy" would results in -43.75% HP modifier.

"unassuming" and "frail" would result in -62.5% HP modifier

"tiny" and "flimsy" would result in -47.5% HP modifier.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not \'bump\' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

Night-Pryanik commented 1 year ago

Closing as stale, since stalebot can't do this by itself.