EffectLib

by Ter13
Handle generic temporary combat effects efficiently and cleanly
ID:2287725
 
Resolved
active flag for effects is now set to 0 in Cancel() prior to calling the Canceled() hook.

There is no longer a need for a supercall to any of the default override hooks (Added(), Ticked(), Removed(), Overridden(), Expired(), and Canceled())
Applies to:Effectlib 2.1
Status: Resolved (2.2)

This issue has been resolved.
Cancel() should be brought in line with Expire(), in that active should not be set at the time that Canceled() is called. This was a bad idea in the first place, and makes the structure of the override hooks incongruent and confusing.
Ter13 resolved issue with message:
active flag for effects is now set to 0 in Cancel() prior to calling the Canceled() hook.

There is no longer a need for a supercall to any of the default override hooks (Added(), Ticked(), Removed(), Overridden(), Expired(), and Canceled())

Just like Expired(), if you set active back to 1 in Canceled(), you can prevent the removal of the effect from the user's effect list and registry. You will need to handle restarting tickers and timers yourself if they are not still active.