- Added G.dismantleDeferUntilAt to restore() condition in main.js
- Added defer cooldown restoration in dismantle.js restore() method
- Added new test to verify cooldown persistence
- Fixed issue where defer cooldown was bypassed after reload
The bug occurred because:
1. When player defers, G.dismantleTriggered is set to false
2. On load, Dismantle.restore() was not called because condition only checked G.dismantleTriggered
3. This.deferUntilAt was not restored from G.dismantleDeferUntilAt
4. checkTrigger() would trigger immediately instead of honoring cooldown
Fix:
- Added G.dismantleDeferUntilAt > 0 to restore() condition in main.js
- Added defer cooldown restoration in dismantle.js restore() method
- Now defer cooldown properly survives save/load cycles
All tests pass including new test for this specific scenario.