Health and Armor
Activate SurvHealthComponent on authority before issuing mutations. Defaults provide 100 health and 100 armor; ordinary Apply Damage is bound through Pawn.OnTakeAnyDamage.
Operations
- GetHealth, GetArmor and GetHealthTagContainer query state.
- AddHealth and AddArmor take positive values and clamp to the configured caps.
- UpdateAddModifier changes the health regeneration multiplier.
- HandleRevive resets life tags to Alive/Wounded, adds a fixed 25 health, cancels the downed timer and broadcasts OnRevived. It refuses Dead but does not require a Downed tag.
- ResetHealthGameplayTags and ResetToDefaults reset life/state or values. These are mutations, not UI refresh methods.
Damage consumes armor first, then removes any remainder from health. This routing depends on HasArmor/HasNoArmor tags, not just the numeric armor value. Health additions/regeneration can reach MaxHealthValue + AdditionalHealthValue (125 with defaults).
Life Events
OnHealthChanged, OnArmorChanged and OnHealthStateChanged are numeric/tag notifications. Native OnDowned, OnDied and OnRevived are broadcast by server-side mutation paths; they are not replayed by client OnRep functions. Client presentation should inspect replicated life tags.
Crossing the minimum health threshold sets Downed and starts a timer. The current implementation resets the entire health tag container, including armor tags, and the downed timer does not honor bUseDownedTimer. An immediate lethal hit can enter Downed and return before the Dead branch. Regeneration is not explicitly blocked for Dead/Downed.
These are implementation constraints to resolve/test before production use, not intended life-state rules. See Health Internals and Implementation Limits.