Healing and shields

Healing amount, shield strength and damage applied to shields.

Healing amount, shield strength and damage applied to a shield are three different calculations. This chapter covers the three related definitions without assuming they run consecutively or establish every live healing rule.

At a glance: healing multiplies scene, healing and caster factors; shield creation uses scene and shield factors; shield damage returns both an adjusted damage value and its factor. None of these three definitions includes integer rounding.

Healing amountHEAL-01

output = base_heal × scene_factor × (1 + healing_bonus) × (1 + caster_bonus)
Readable input Meaning in this expression
base_heal Supplied healing value before these factors
scene_factor Direct multiplier; 1 is neutral
healing_bonus Additive rate inside its own factor
caster_bonus Additive caster rate inside a separate factor

Example: supply a base heal of 1,000, a scene factor of 0.80, a healing bonus of 0.25 and a caster bonus of 0.20.

output = 1,000 × 0.80 × 1.25 × 1.20 = 1,200

The two bonuses multiply as 1.25 × 1.20 = 1.50. Adding the rates into one factor would instead give 1.45, which is not this expression. At scene factor 1 the same inputs return 1,500; scene factor zero returns zero.

The supplied base heal's upstream calculation is not established here. There is no explicit clamp to missing HP, no lower floor and no duration/tick count in this definition. Those omissions do not prove that live healing can exceed maximum HP or bypass other healing restrictions.

Shield strengthSHIELD-01

output = base_shield × scene_factor × (1 + shield_bonus)
Readable input Meaning in this expression
base_shield Supplied shield value
scene_factor Direct multiplier reused by name from the healing interface
shield_bonus Additive rate inside the shield factor

Example: base shield 800, scene factor 0.80 and shield bonus 0.25 gives 800 × 0.80 × 1.25 = 800.

The caster healing bonus from the healing calculation is absent here. This definition does not automatically inherit that extra healing factor. It also does not establish shield duration, replacement, stacking, absorption order or the source of the base shield value.

Damage applied to a shieldSHIELD-02

This definition returns two values: the adjusted damage and the factor used to calculate it.

raw_factor = 1 + shield_adjustment + incoming_bonus + outgoing_bonus
used_factor = 0.01 when raw_factor ≤ 0; otherwise raw_factor
shield_damage = supplied_damage × used_factor
Readable input Meaning in this expression
supplied_damage Damage value entering this calculation
shield_adjustment Signed adjustment added to the factor
incoming_bonus Another signed rate added to the factor
outgoing_bonus Another signed rate added to the factor

The shield adjustment is signed: a negative value reduces the factor, while a positive value increases it. Its upstream preparation is not established here.

Example: supplied damage 200, shield adjustment −0.20, incoming bonus 0.10 and outgoing bonus 0.15 gives raw_factor = 1 − 0.20 + 0.10 + 0.15 = 1.05. The returned values are 210 shield damage and 1.05 used factor.

The 0.01 replacement is conditional

Raw factor Factor used Shield damage (input: 200)
1 1 200
0.005 0.005 1
0 0.01 2
−0.20 0.01 2

This is not max(raw_factor, 0.01). Small positive factors such as 0.005 are preserved. Only zero or negative factors are replaced. That creates a discontinuity at zero: the example's returned damage is 1 at a raw factor of 0.005 but 2 at zero.

There is no separate nonnegative clamp on supplied_damage, and no rounding. Whether this result is then limited by remaining shield strength or used to determine overflow damage is outside this definition.

Compare the three expressions

Definition Main operation Explicit boundary Returned values
Healing HEAL-01 Base × scene × healing factor × caster factor No clamp shown Healing value
Shield strength SHIELD-01 Base × scene × shield factor No clamp shown Shield value
Shield damage SHIELD-02 Damage × combined signed factor Nonpositive factor replaced by 0.01 Adjusted damage and used factor

Use numeric rates as supplied: 0.25 is 25% inside 1 + rate; a direct scene factor of 0.80 means ×0.80. The examples use nonnegative base values and do not establish live defaults.

These equations do not establish every skill's base heal/shield formula, actual health restored, maximum shield capacity, tick timing, overheal handling, shield stacking or a complete combat processing order. The Damage calculations chapter and Energy and regeneration chapter describe separate calculations. REGEN scaling must not be treated as HP healing merely because of its label.

All topics

Search Aniible

↑ ↓ to browse · Enter to open · Esc to close