Replies: 5 comments 3 replies
-
one problem with weariness increasing with calorie consumption is it means using the metabolic interchange increases weariness. awhile ago I found that the load from using it to power the Leukocyte Breeder System caused excessive weariness to the point I just turned the breeder system off. |
Beta Was this translation helpful? Give feedback.
-
I got pinged so they seem to work. I have a PR right now dealing with the enchantments around bmr that I'm not totally satisfied with so I might take a stab at some of that but the little I looked at scared me a bit with its complexity. |
Beta Was this translation helpful? Give feedback.
-
I've not done as much as I would like on this due to work + other events, but I'm hoping to get a bit more done on it now, probably for 0.F-dev. |
Beta Was this translation helpful? Give feedback.
-
I like the ideas here particularly around recovering weariness slowly at lighter activity levels. I think this might be best set to happen faster the higher your weariness level, so if you're mildly weary, walking around and crafting won't undo it, but if you're dog tired you can relax to a lower level of work and gain at least a little juice back. Thinking here eg of running, then breaking to walk for a bit, then continuing. I haven't checked on the state of things in a while, but also haven't seen as many complaints. Has the problem with having to sit perfectly still for long periods and not moving at all or losing your rest progress improved? |
Beta Was this translation helpful? Give feedback.
-
Ah. I think I see how to handle sleep in a more continuous fashion: add sleep as an activity level, with SLEEP_ACTIVITY equalling something like 0.5f. (Note to self: Will require activity_tracker::new_turn and activity_tracker::activity to take a boolean is_sleeping argument. In character::set_activity_level, if input is NO_ACTIVITY, convert to SLEEP_ACTIVITY if in_sleep_state.) Will have to check metabolism studies to see what the (mean!) sleeping rate of caloric expenditure actually is (should be lower than the "no activity" level!), and use it for SLEEP_ACTIVITY. EDIT: Hrm. Since current caloric expenditure values are using 24 hours at NO_ACTIVITY consuming BMR calories, may need to adjust NO_ACTIVITY to above 1 to account for sleep hours being less... with the difficulty of mutations enabling less sleep altering the number of sleep hours from 8 per 24. Alternatively, use max( activity_history.average_activity(), NO_ACTIVITY ) for character::get_bmr(). EDIT2: And for character::update_stomach() for log_activity_level? |
Beta Was this translation helpful? Give feedback.
-
Now that #47653 is merged (😀 🎉 🚀 ), as have #46906 and #45316, there are some future potential improvements in the Weariness system that I am thinking about, in approximate increasing order of programming plus testing time/effort involved:
Character::base_bmr()
- which includes mutation effects viametabolic_rate_base()
(in consumption.cpp) but not enchantment effects; the latter are done after multiplying for activity level inCharacter::get_bmr()
. With regard to this - Ping: @Ramza13.Ping: @anothersimulacrum, @I-am-Erk (and probably other people once I get a chance to do more git "blame" searches).
P.S. BTW, do pings actually work for discussions? I don't recall seeing notifications for any.
Beta Was this translation helpful? Give feedback.
All reactions