Class ApplyAbilityEffectsInteraction

All Implemented Interfaces:
JsonAsset<String>, JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, Interaction>>, NetworkSerializable<Interaction>, AbilityAttributeBinding, Operation

public class ApplyAbilityEffectsInteraction extends SimpleInstantInteraction implements AbilityAttributeBinding
An ability building block that needs a target entity (a projectile hit, an OnHit charge activation): applies the ability's own effects to it. Effects lists the ability's debuff; several entries act as independent stacks: each application applies the first effect the target does not already carry, so every stack keeps its own duration, and when all are active the one closest to expiring is refreshed.

The on-hit effects support runes inject (carried by the ImpactModifiers in context) apply automatically whenever the ability deals damage (RuneEffectDamageSystem). Only a hit that deals no damage needs RuneEffects here to apply them.