Summary
A slightly more advanced stamina system that features long-term fatigue
Description
Vanilla Reforger stamina is kind of a joke. You can sprint around willy-nilly as long as you take like a 5 second pause between them. This mod is an attempt at addressing that.
This mod rebalances the stamina drain and regeneration, fixes a couple of minor oversights in the vanilla stamina, and adds a new stat referred to as "fatigue". Fatigue is consumed when stamina regenerates, and as fatigue lowers it slows down your stamina regeneration.
(Yes, I know, "fatigue" decreasing when you're tired doesn't make sense verbally. Deal with it.)
Think of stamina as an abstraction of your anaerobic energy, whereas fatigue is an abstraction of your aerobic energy. Kinda.
Disclaimer: This is not any kind of simulation of actual body mechanics or chemistry. It is still a gamey, abstract stamina-bars kind of system, just a slightly more complicated one than vanilla Reforger.
This mod also adds a stamina and fatigue display at the bottom of the screen. The top bar is your stamina, while the bottom is your fatigue.
--------------------
DETAILS
--------------------
What follows is a full breakdown of the various things that can impact your stamina and energy levels. I haven't included the precise numbers, partly because I couldn't be bothered, but mostly because it still needs balancing anyway.
--Movement--
For most situations, this'll be your main stamina drain. It scales based on movement speed, so if you move slow enough you can efficiently conserve energy. It also scales depending on the angle of the surface on which you're moving; in short, climbing or descending extreme slopes costs more stamina.
--Melee--
Melee attacks have a constant stamina burn while you're in the melee animation.
--Climbing--
Climbing also has a constant stamina burn while you're in the animation.
--Encumbrance--
All of the above drains are multiplied relative to the amount of weight you're carrying. Barbies beware: it gets pretty debilitating if you're carrying half the armoury.
There is also a light fatigue burn for weight if you're standing or moving. If you're trying to rest, lie down or take a knee. Sitting in a vehicle also counts.
--Regeneration--
Unlike vanilla, stamina regeneration is constant; it does not pause for sprinting or running. This means you can balance the stamina drain from the above with your regen to keep going for much longer. You will, however, still be losing fatigue gradually.
Fatigue, as stated above, is consumed whenever stamina regenerates. Fatigue regenerates slower than stamina (obviously), and doesn't regenerate at all if you're sprinting.
--Jump--
Jumps instantly consume a chunk of stamina which scales relative to inventory weight.
--------------------
KNOWN ISSUES / TODO
--------------------
- Currently, there is no effect from sitting or leaning, because I still haven't figured out how to detect if the character is in those animations. Sorry if you like to RP your rest times.
- The jump detection isn't perfect. Sometimes it detects a jump where there wasn't one, or vice-versa.
- The climbing is currently the same value for all animations; it would make more sense if it scaled relative to the height/difficulty of the climb.
- The default values could probably do with some more tweaking.
- At some point I should probably make it so that you can change the values in the mission header instead of having to make a sub-mod.
--------------------
COMPATIBILITY
--------------------
Obviously, anything else that changes how stamina works likely isn't compatible with this. The way I'm disabling the vanilla stamina in this mod is by setting the prefab's consumption and regeneration values to zero. If it's a mod that simply reads the character's current stamina, rather than changing it, it may still be somewhat compatible.
Compatibility patches should be possible. On that subject...
--------------------
MODDABILITY
--------------------
I have tried to arrange things such that this is as moddable as possible (for one thing, I would like to expand it myself in future). Hence, all the values are set up so that you can change them in the prefab editor without having to touch any code. If you want to add your own functionality, it also should be fairly simple; I hope it's self-explanatory enough if you take a peek at it in the Workbench. If not, uh... idk, find me (Professor Cupcake) on Discord I guess. Maybe I'll make a server for this at some point.
License
Arma Public License Share Alike (APL-SA)