Skip to main content

Block By Result Attribute

The Block By Result Attribute Processor blocks an Effect according to the Result Attributes added during the processing pipeline.

For example, it can be used to block critical hits after the Critical Hit Processor has marked the Effect as Critical.

Implementation​

Effect Result Attributes are stored as a bit flag enum, where every attribute is assigned a power-of-two value.

For example:

  • Reflected = 32 (2⁵)
  • Critical = 64 (2⁶)

If an Effect has both attributes, its Result Attributes value becomes 96.

To block critical hits, the resolved Block By Result Attribute Stat simply needs to contain the Critical flag (64). If the Effect's Result Attributes contain any matching flags, the Effect is blocked.

Result Attribute blocking is evaluated separately for the Source Actor and the Target Actor.

The Block By Result Attribute Stat is resolved as follows:

Base Stat (BS) Processors​

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

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

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

The resolved Stat must be an Int Stat.

Variations​

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

AssetThe block rule belongs toUse case
BSPostcontribution_BlockByResultAttribute_IntThe Target StatA boss's Health blocks anything flagged Critical, so crits never land on it.
ASPostcontribution_BlockByResultAttribute_IntThe Attribute StatPoisonAttack is blocked once flagged Reflected, preventing a reflect loop between two poisoned Actors.
MASPostcontribution_BlockByResultAttribute_IntEvery Attribute StatThe Effect is blocked as soon as any of its Attribute Stats objects to a Result Attribute.