You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
v1.5.0
Changed
Each of the 64 destruction methods now lives in its own file under a new js/methods/ directory, fetched on demand only the first time that method is actually launched — a plain page load, or browsing the method picker, no longer downloads any of them. index.php's inline script shrank from roughly 9,400 lines to about 2,300, keeping only the shared engine (city generation, colour palette, UI wiring) and a small loader/registry.
No in-page launch (a tile click, tapping anywhere on the intro screen, pressing any key, or RANDOM) rewrites the address bar anymore. Refreshing the page always returns to the method picker, the same as a fresh visit. A real shared link (?m=<id>, opened directly) still auto-launches that method, and the Share button still builds a correct link from the current method regardless of what's in the address bar.
Fixed
Along the way, fixed a handful of latent cross-method dependencies this refactor surfaced: a few small helpers (a demolition helper, a speech-bubble helper, an ion-cannon-style blast helper, a tank sprite, a helicopter-rotor sprite, and a bystander sprite) were each defined inside one method's code but quietly reused by several others — these now live in the shared core so no method needs another method's file loaded just to borrow one function.
RANDOM, and then any other in-page launch, used to leave ?m=<id> in the address bar, so refreshing afterward replayed whatever was last launched (most visibly Nuke, since that's the intro screen's default) instead of returning to the picker.