What It Is

A reusable healing calculation system that plugs into Gameplay Effects. It's the foundation for how healing gets processed and applied to characters in your game.

What It Does

When healing needs to be applied, this execution calculation processes it through a structured pipeline:

  1. Reads the healing value you set on the Gameplay Effect (via SetByCaller with tag Data.Healing)
  2. Applies pre-healing modifiers (buffs, spell power scaling, conditional bonuses)
  3. Calculates critical heals if enabled (reads heal crit chance/power from SetByCaller)
  4. Applies world context modifiers (environmental healing bonuses/penalties)
  5. Applies target's HealingReceived modifier (target attributes that increase/decrease healing)
  6. Applies post-modifier adjustments via hook (caps, shields, minimum thresholds)
  7. Applies stack scaling (optional healing multiplier based on GE stack count)
  8. Calculates overflow (overheal amount for shield generation or tracking)
  9. Applies final healing to the Health attribute (via meta attribute if configured)
  10. Triggers notifications for UI feedback, achievements, and follow-up effects

Its Purpose

Provides a standardized, extensible healing system that works on top of GAS without requiring custom components. Instead of writing healing logic from scratch for every ability, you configure this once and reuse it. Child classes can add complexity (overheal-to-shield conversion, type-specific modifiers) without breaking the core flow.

How It's Used