Skip to main content

Shield

The Shield Processor consumes the value of a Shield Stat before the calculated Effect value is applied to the target Stat.

For example, suppose a Health Shield has a value of 10, and an incoming damage Effect has a value of -15.

Before the damage is applied to Health, the Processor first sends a -10 Effect to the Shield Stat, consuming the Shield. The remaining -5 is then applied to the Health Stat.

Shield Stats should always store positive values, regardless of the sign of the incoming Effect.

This also applies to positive Effects. If a Shield is configured for incoming healing Effects, the Shield blocks those Effects until its value is depleted.

Shield is primarily a Target-side Processor.

The Shield Stat is resolved as follows:

Base Stat (BS) Processors​

  • For the Target Actor, the Shield Stat is obtained directly from the Target Stat's Shield Relative Stat.
  • For the Source Actor, the Shield Stat is obtained from the Source Actor using the Stat Key referenced by the Target Stat's Shield Relative Key.

Attribute Stat (AS) / Multi Attribute Stat (MAS) Processors​

  • For the Target Actor, the Shield Stat is obtained from the Target Actor using the Stat Key referenced by the Attribute Stat's Shield Relative Key.
  • For the Source Actor, the Shield Stat is obtained directly from the Attribute Stat's Shield Relative Stat, since the Attribute Stat already belongs to the Source Actor.

The resolved Stat must be:

  • A Float Stat for the Shield_Float Processor.
  • An Int Stat for the Shield_Int Processor.

Variations​

Ships as BS, AS and MAS × Float Int, with no container or signed variations — the Shield Stat is always a plain numerable Stat holding a positive pool. See the Processor naming scheme.

AssetThe Shield belongs toUse case
BSPostcontribution_Shield_IntThe Target StatA generic HealthShield soaks any damage to Health, whatever its type.
ASPostcontribution_Shield_IntThe Attribute StatA Fire Ward only absorbs damage delivered through FireAttack; physical hits go straight to Health.
MASPostcontribution_Shield_IntEvery Attribute StatAn Effect carrying PhysicalAttack and FireAttack is drained against both the physical and the fire ward in turn.

Fields​

FieldDescription
Negative Shield Relative Key / Positive Shield Relative KeyThe Relative Stats that point at the Shield Stat for negative (damage) and positive (healing) Effects. The sign of the incoming value picks the key. The AS / MAS Processors have a single Shield Relative Key, read on the Attribute Stat (typically ShieldAS).
Shield Block Result AttributeAdded when the Shield absorbed the whole value and nothing reached the target Stat (usually ShieldBlock). Leave it None to add nothing.
Shielded Result AttributeAdded whenever the Shield absorbed any part of the value (usually Shielded).
Inherited Result AttributesThe Result Attributes handed down to the Effect sent to the Shield Stat. That Effect is a separate application and starts with no Result Attributes, so a Critical hit half-absorbed by the Shield reaches the Shield Stat untagged unless Critical is in this mask. Put gameplay flags here (Critical, your own); leave structural ones out (Shielded, ShieldBlock, Directed, Countered, Immune).
Shield EffectThe Effect template used to drain the Shield Stat.
Block Remaining ValueWhat happens when the Shield is smaller than the incoming value. See the table below. Default off.

Block Remaining Value​

Values are compared as absolute values.

CaseOff (default)On
Shield is 0The value reaches the target Stat.Same.
Shield ≥ incoming valueThe Shield is drained by the value, nothing reaches the target Stat (ShieldBlock + Shielded).Same.
Shield < incoming valueThe Shield is emptied and the rest continues to the target Stat (Shielded).The Shield is emptied and the rest is dropped: nothing reaches the target Stat (ShieldBlock + Shielded).

On gives armor that no hit can get through while any of it is left. It is a field of the Processor asset, so it applies to every Actor that uses this Processor. Later Postcontributions, Postprocessors and Feedback still run, with value 0.