The controll effect receiver component makes the entity recieve controll effects, those are for example slowdown, knockback and stuns.
The component is divide into two parts. There are over time effects like movement slowdown and attack slowdown which need to be set every frame! Since they get resetted at the beginning of a logic update. The reason is that it would be super annoying to have to track which entities already received which effects, and which no longer receive effects.
Additionally there are properties like stuns and knockbacks which are set once and then decay.
Sets the given burn damage per second, this is an over time effect and needs to be called every frame while its active
Knocks back the entity in the given direction.
Returns if this entity is currently stunned
Resets all over-time effects on this entity
Sets the given attack slowdown in percentage, this is an over time effect and needs to be called every frame while its active
0 = no attack slowdown, full attack speed | 1 = 100% slowdown, no attacks
Sets the given movement slowdown in percentage, this is an over time effect and needs to be called every frame while its active
0 = no slowdown, full movement | 1 = 100% slowdown, no movement
Stuns the entity for the given amount of seconds. Subsequent stuns are less effective so the entity is not perma-stunned