Cataclysm-DDA icon indicating copy to clipboard operation
Cataclysm-DDA copied to clipboard

Cardio overhaul; divorce BMR from cardio and fix health, athletics, and traits effects on cardio

Open ArgonMercury opened this issue 2 years ago • 3 comments

Summary

Balance "Divorces BMR from cardio. Fixes health, athletics, and traits effects on cardio"

Purpose of change

  • Cardiofit trended towards kcal spent per day, inevitably ignoring all other variables.
  • BMR had a massive effect on cardio, making things like fast metabolism, being overweight, being tall give you absurd amounts of stamina.
  • Morbidly obese characters gained a butt ton of stamina, and the health modifier in cardio fit was functionally irrelevant.
  • Drastic changes in BMR had ridiculous effects, a default character going tiny increased their stamina regen from 20 to 50.
  • Health, athletics, and traits (indefatigable and hyperactive) had no effect on cardio in the long run, due how the cardio accumulator was updated.

Describe the solution

Fixes all problems listed above by;

Refactored how cardio fitness and the cardio accumulator works. Cardio accumulator is now a number representing the ratio of your average activity (kcal burned each day/BMR). Cardio accumulator starts at 1000 (1/1 ratio) and goes up to 3000 max (3/1 ratio of kcal burned a day to bmr). Health, athletics, and traits are multipliers of cardio a that stack additively, increasing (or decreasing, if you have negative health) your cardio fitness. BMR, and things that affect it (height, age, obesity, etc) have no effect on stamina any more.

  • Health -200 to 200 -> -40% cardio to +20% cardio
  • Athletics 0 to 10 -> +0% cardio to +10% cardio
  • Indefatigable and hyperactive work as intended (+30% and +60% cardio)

I changed these from additive bonuses to multipliers because it seemed to make more sense to me. Technical cardio skill via athletics or a proficiency would be proportionally beneficial to both someone with high physical endurance and someone with low physical endurance. Traits have always been multipliers anyways. Health being a multiplier helps it maintain relevance (especially as a penalty for messing up your health stat), but I could see it as an additive effect, though it would be the odd one out at that point.

Describe alternatives you've considered

Changing around the numbers a bit. Indefatigable and hyperactive seem rather high powered now that they don't get eaten by the cardio accumulator over time.

Testing

Compiled and ran game, checked to make sure everything (cardio accumulator, health, athletics, and traits) had the expected effect on both stamina regen and max stamina. Re-configured the cardio test and made sure it produced sensible results.

Additional context

  • I tried to keep cardio accumulator to about the same value as before to prevent messing up current characters.
  • Base stamina is slightly lowered to 8500 from 8714
  • The checks in character body relating to health and cardio accumulator were a bit wonky, and I didn't change their functionality.

ArgonMercury avatar Aug 16 '22 12:08 ArgonMercury

So if I'm understanding this correctly this will mean the new "meta" is short kings? Shorter = less calories consumed per day, with no downsides, while tall folks now just burn extra calories for no reason. Obviously this should be expanded upon further but it sounds like that will be the immediate ramification of this change.

anoobindisguise avatar Aug 18 '22 18:08 anoobindisguise

So if I'm understanding this correctly this will mean the new "meta" is short kings? Shorter = less calories consumed per day, with no downsides, while tall folks now just burn extra calories for no reason. Obviously this should be expanded upon further but it sounds like that will be the immediate ramification of this change.

Yes that is a very valid point and is one I was aware of while I was making this change; I definitely should have mentioned it. This will need someone more knowledgeable than me on these subjects to tinker with these kinds of balance issues; I don't even know if tall people actually have more cardiovascular endurance than short people so I didn't want to add any changes like that. Should it be modeled in that being short causes you to use more stamina to run because you have shorter legs? Or it takes more stamina to swing weapons because of shorter arms? I don't know if I'm talking complete nonsense.

I was more concerned about making sure the system was functional and modifiable to allow people to be able to make these kinds of balancing decisions, since the current system is completely gridlocked to 1% more bmr = 1% more cardio, and everything would have to be designed around that.

But thank you for mentioning this; hopefully someone more in the know can refine or build on this.

ArgonMercury avatar Aug 19 '22 06:08 ArgonMercury

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.

stale[bot] avatar Sep 21 '22 03:09 stale[bot]

I tested this right now, and I'm disappointed. I'm not entirely sure what "cardio" means (I guess it's almost the same as stamina?), but I expected that if, as OP claimed, morbidly obese characters with -200 health get -40% cardio, they should get appropriately less stamina. Testing show that morbidly obese characters get the same 8500 stamina as characters with normal weight.

Night-Pryanik avatar Oct 26 '22 13:10 Night-Pryanik

I tested this right now, and I'm disappointed. I'm not entirely sure what "cardio" means (I guess it's almost the same as stamina?), but I expected that if, as OP claimed, morbidly obese characters with -200 health get -40% cardio, they should get appropriately less stamina. Testing show that morbidly obese characters get the same 8500 stamina as characters with normal weight.

I'm way too late on this but since there has been some activity wrt obesity: pretty sure this has always worked properly (it works now at least, and I remember testing it and it worked fine a few weeks after it got merged). Go into debug mode and set your health to -200 (not health modifier, your lifestyle in @ screen should say "feel awful") and blammo you have 12 stamina regeneration/turn instead of 20 and 6500 max stamina instead of 8500 ( you have a default base of 3500 stamina so it isn't really "60% max stamina", I didn't invent the base stamina so I don't know why there is a base stamina I just carried it over and made the numbers similar)

Being morbidly obese doesn't set your lifestyle to -200, it pins your daily health to -200 and you have to wait a few days before your lifestyle gets tanked to -200 by daily health (maybe takes like 3-4 days to hit -200 if I'd hazard a guess?). So if you start a character with the obese trait your health stat will be the same as any other dude until the clock strikes midnight and then it quickly goes downhill from there.

Which is really just a problem with the obesity trait not setting lifestyle on character creation instead of any problems with the cardio/health systems I guess?

ArgonMercury avatar Mar 12 '23 09:03 ArgonMercury