Events
All player events fire synchronously on that player's owner thread. Pre events are cancellable; post events are informational after their corresponding commit.
| Event | Timing | Cancellable | Mutable field | Cancellation/effect |
|---|---|---|---|---|
SkillPreCastEvent | After cooldown/resource/condition checks, before the skill effect | Yes | None | Prevents effect execution, cost consumption, cooldown, and statistics. |
SkillPostCastEvent | After the skill effect succeeds and costs/cooldowns commit | No | None | Reports player, skill id, and trigger id. |
PlayerSkillSlotChangeEvent | Before equip, unequip, or trigger-binding mutation | Yes | None | Prevents the slot/binding update. |
SkillPreUpgradeEvent | After validation, before charging and the roll | Yes | successRate | Prevents charge and roll; listeners may replace the effective rate. |
SkillUpgradeEvent | After the upgrade attempt fully resolves | No | None | Reports before/after levels, rate, roll success, and downgrade state. |
Both asynchronous cast entry points move event publication to the player's owner thread. Script actions and external skill-source collection do not create additional event classes beyond these documented runtime paths.