Modifier Replacer
The Modifier Replacer Processor replaces an existing Modifier when adding a new Modifier would exceed the configured replacement limit.
If a Modifier Replacer is defined for the Target Stat and the replacement limit has been reached, one existing Modifier is stopped and replaced with the incoming Effect's Modifier.
Replacement limits are evaluated separately for the Target and Source sides.
Target Side
The Processor checks the total number of Modifiers currently applied to the Target Stat.
If the configured replacement limit has been reached, one existing Modifier is stopped and the incoming Modifier is applied in its place.
Source Side
The Processor checks how many Modifiers on the Target Stat were applied by the Source Actor.
For example, suppose a Poison Stat has a Source-side replacement limit of 1.
Even if the Target already has three Poison Modifiers, the new Modifier is added normally if none of them were applied by the current Source Actor. However, if one Poison Modifier already belongs to the current Source Actor, that Modifier is stopped and replaced by the incoming one.
Variations
Ships as BS, AS and MAS — the replacement limit must be a plain Int Stat (not a Separated list). See the Processor naming scheme.
| Asset | The limit belongs to | Use case |
|---|---|---|
BSEffectPostprocess_ModifierReplacer | The Target Stat | Poison holds one Modifier per source, so re-applying refreshes the debuff rather than being ignored. |
ASEffectPostprocess_ModifierReplacer | The Attribute Stat | The limit travels with PoisonAttack, so every Stat that poison touches gets the same refresh rule without repeating it. |
MASEffectPostprocess_ModifierReplacer | Every Attribute Stat | An Effect carrying several Attribute Stats is checked against each one's replacement limit in turn. |