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.