Mine Blocks: Cooldown issues
Sarous opened this issue ยท 5 comments
Earthbending: Mine Blocks (rank 1)
Observable:
Blocks do not mine while Move-Cooldown is in effect (as expected)
Cooldown-Notification fires while Move-Cooldown is in effect (as expected)
Prematurely using the move (thus triggering the cooldown-notification), then waiting a until the Move-Cooldown expires, then using the move causes both the Cooldown-Notification to fire AND blocks to mine.
Speculation:
Assuming the move, "Mine Blocks", contains at least six principle commands: Mine-Blocks, screen event Cooldown-Notification, Move-Cooldown, Notification-Cooldown, Check-Notification-Cooldown, Check-Move-Cooldown.
Use 1 (any time all cooldowns are fresh):
Check-Notification- & Move-Cooldown both report Timer-False, Mine-Blocks fires, Notification- & Move-Cooldown trigger, Cooldown-Notification does not trigger.
Note: As expected, checks all report its good, the move breaks a few blocks, and everything is fine.
Use 2: Premature use of ability
Check-Notification-Cooldown reports Timer-True, Cooldown-Notification and Notification-Cooldown both fire.
Check-Move-Cooldown reports Timer-True, Mine-Blocks and Move-Cooldown do not fire.
Note: Everything looks as expected- the move does not break blocks and a warning notification fires. However, the fact that there are two separate timers, only one of which resets, is the cause of upcoming issues.
Use 3: After Use 1's cooldown's were initially due to expire
Check-Notification-Cooldown reports Timer-True. Cooldown-Notification and Notification-Cooldown both fire.
Check-Move-Cooldown reports Timer-False, Mine-Blocks and Move-Cooldown both fire.
Note: The symptom of problems appear. The move flashes the same on-screen cooldown warning as it did during use 2, but blocks also break. All timers reset as it did following Use 1.
Alpha-14
Yeah this honestly shouldn't happen. I check against for all abilities before it's even executed. It's not client-server side desync either; mining happens server-side.