Skip to main content

Counter Effect

The Standard Postprocess Counter Effect is the signed version of the Postprocess Counter Effect Processor.

It triggers another Effect after the current Effect was processed — applied, or blocked by a Precontribution / Contribution / Postcontribution Processor, as each Counter Effect's Trigger On says. The triggered Effect is configured according to the resolved CounterEffect_Signed Stat and executed using the CounterEffect_Signed Signature.

Counter Effects are evaluated separately for the Source Actor and the Target Actor.

The CounterEffect Stat is resolved as follows:

Base Stat (BS) Processors​

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

The resolved Stat must be a CounterEffect_Signed Stat.

Variations​

Ships as BS × Float Int, plus an Effector form for Int. The CounterEffect Stat can be plain or a Signature / Source Separated list. See the Processor naming scheme.

The Relative Stat can be any shape — one Processor reads all of them:

Stat shapeUse case
Plain StatLifesteal — after damage lands, heal the attacker for a share of it. Healing the target triggers nothing.
Source SeparatedOnly the marked enemy's hits trigger the counter, so a boss mechanic does not fire on every trash mob.
Signature Separated listEmber Feedback — only fire damage that actually lands triggers the counter burst.
Signature Separated list of Source Separated StatsCounter one enemy's fire damage after the fact, and nothing else.
SuffixExpectsUse case
_EffectorResolved on the Effector's ActorThe lifesteal belongs to the weapon rather than the wielder, so the same blade heals whoever carries it.

Running after the Effect was processed is what makes this the right place for lifesteal, on-hit procs, and kill triggers — the value is final and the Result Attributes are known. For a blocked Effect it receives the value reached at the block.

Trigger On​

Each Counter Effect Stat's Trigger On (in its signature) picks the outcomes it fires for:

Trigger OnFires when
Applied (default)the Effect reached its Stat
Blockeda Processor blocked the Effect — combine with a Result Attribute Check (e.g. Immune) to react to one kind of block, such as consuming an immune charge

A Counter Effect can't block the Effect: it runs after the Effect was processed. To react before the Effect lands, or to block it, use an Intervener Effect.