FANDOM


General編輯

Stamina is the new exhaustion mechanics that will replace the old Fatigue system as of Arma 3 Nexus update (1.54). It is supposed to be much simpler, clearer, better communicated and easier to grasp mechanics that will allow for management of exhaustion, encumbrance, terrain gradient penalties and overall mobility of infantry while it is also much more open to modifications and should serve as a solid platform for community made solutions as suggested by our own Legacy Fatigue Mod & Sample.

Functionality編輯

Stamina work as reservoir used for Sprinting in vanilla game. Full Stamina bar allows for 60 seconds of Sprinting (staminaDuration). However, as carried equipment fills up your Inventory bar, the exact same portion is also reserved from the overall Stamina and thus cannot be used for Sprinting. Total mass of the entire inventory bar is defined to be 1000 mass units (parameter maxSoldierLoad defined in class CfgInventoryGlobalVariable).

Whatever remains at your disposal is your Stamina pool. Whenever you exhaust all of your Stamina pool, you have to recuperate for 10 seconds (staminaCooldown) until you can Sprint again, but Stamina pool is regenerating during this exhaustion period. The whole Stamina pool always regenerate in 30 seconds (staminaRestoration) from the total exhaustion to the full, regardless of how much Stamina it actually is. Less equipped soldiers can therefore Sprint for longer and will regenerate their Stamina faster than more equipped ones.

Parameter stamina defined for every animation state defines the behavior of Stamina while the soldier remains in that particular state. Positive values determine regeneration, negative values determine exhaustion, while the magnitude defines the multiplier of exhaustion (staminaDuration) and regeneration (staminaRestoration) time defined for the whole Stamina. Zero value means that current stamina state is conserved in that animation state.

Stamina bar indicating you current Stamina pool is positioned at the upper right corner, just below the weapon info. It is hidden by default, and is only visible when you are in the inventory or when your Stamina pool is changing or not full. It's position can be shifted in UI settings as it is separate from Weapon Info panel. It is red whenever you try (hold Sprint button), but cannot Sprint (due to injury or terrain gradient) and whenever you are fully exhausted. It is also augmented with Terrain and Injury icons that became visible whenever the terrain prevents you from sprinting and / or running.

Relation to Weapon Sway編輯

Every particular state you are in has it's predefined aiming precision coefficient (parameter aimPrecision in every animation state), multiplying the magnitude of the default sway. The longer you remain in certain state, the more is your actual sway approaching the precision defined for that state. Time needed to reach that value is directly related to your equipment load, so that the more equipment you carry the sooner your weapon sway deteriorate in states bad for precision and it is also slower to stabilize back in states with good precision and vice versa. Overall time coefficient is controlled by general Stamina setting (parameter aimPrecisionSpeedCoef).

Scripting commands編輯

setStaminaScheme 編輯

Where scheme is one of the following:
"Normal" - current default Active Elements (white by default);
"FastDrain" - current default Warnings (orange by default);
"Exhausted" - current default Errors (red by default);
"Default" - applies default behavior, lets engine switch the colors;

setCustomAimCoef 編輯

Replace aimPrecision from animation state with custom value that will directly affects weapon sway size and speed.

getAnimAimPrecision 編輯

Returns aimPrecision value of the current animation state (parameter aimPrecision)

setAnimSpeedCoef 編輯

Define animation slowdown speed multiplier. Default value is 1. Please bear in mind that this command ignore the relative thresholds defined for animation states (parameters relSpeedMin and relSpeedMax) so you have to check for them manually if you wish to respect our internal slowdown standards (you don't have to of course).

getAnimSpeedCoef 編輯

Return current animation slowdown value.

setStamina 編輯

Set given amount of stamina. Please note that it sets absolute value, not fraction of Stamina.

getStamina 編輯

Return current stamina. Please note that it returns absolute value, not fraction of Stamina.

setFatigue 編輯

Legacy command from old Fatigue system. Now it set Stamina pool state on interval [0,1].

getFatigue 編輯

Legacy command from old Fatigue system. Now it return current state of Stamina pool on interval [0,1].

enableStamina 編輯

On / Off switch.

isStaminaEnabled 編輯

Check whether stamina is in effect.

allowSprint 編輯

Enable/disable Sprint for infantry movement (for all stances).

isSprintAllowed 編輯

Returns whether unit can sprint or not. Complementary to allowSprint.

forceWalk 編輯

Enable/disable force walk.

isForcedWalk 編輯

Returns whether unit is forced to walk or not. Complementary to forceWalk.

Parameters編輯

All Stamina related parameters are described in: CfgMovesFatigue