Applying Status Effect

Can Apply Status Effect

To allow applying status effect on owner of component, it must implement interface I_IsUsingStatusEffects with function CanApplyStatus

This is implementation of this function on player blueprint.

Additionally StatusEffectsComponent implements its own similar logic whether status effect can be applied.

It also has a function to manage status effects interactions.
This function is called when status effect is applied, and we could add custom logic there to for example remove frozen status effect if burning is applied.

Modifying Status Effects

These are functions to modify active status effects

If status effect is applied only by type - function ApplyStatus with empty OptionalStatusData
then status data will be taken from component default status effects.

Status effect duration can be changed while it is active with function UpdateStatusEffect
Example of using it is when owner gets hit, it plays GetHit montage and based on its length updates stun effect duration
it will have effect only if stun effect is currently applied.

When status effect is applied or removed, component calls event that owner can react to.