Introduce `VegaCombatV2.js`, a parallel headless combat engine that simulates individual ships (not stack aggregates) in continuous time rather than discrete rounds. Ships have per-hull `sizeScale`, `sizeSpeedMult`, and `turnRateBase` fields; every entity tracks its own cooldown, position, facing, and angular momentum. Damage and movement are banked per-tick to preserve fairness. Accompanying files: - `VegaCombatViewV2.js` — zoomable/pannable Phaser view with parallax starfield - `VegaCombatCamera.js` — cursor-anchored zoom + drag-to-pan (listener cleanup on destroy to avoid stacking across battles) - `VegaFormations.js` — formation strategy plumbing (chosen per side, not yet read by movement/targeting) - Hull-specific destroy audio cues and vega buildings art Wired behind `?movsim`'s Live/V2 toggle in `VegaCombatSim.js` — the live engine and all real player battles are untouched. Also fixes several latent bugs discovered during the rewrite: - Trap 26: simultaneous wipe-out now checks draw before single-side wins - Trap 27: movement is banked (two-phase) like damage - Trap 28: weighted-random targeting tames chaotic nearest-neighbour sensitivity - Trap 29: fleet gap clamped to 85% world width to prevent starvation - Trap 30: `RANGE_EPS` tolerance prevents steering-induced standoffs See `docs/mastervega-build-plan.md` for full design notes. |
||
|---|---|---|
| .. | ||
| data | ||
| lib | ||
| bloxorzMap.js | ||
| buildCommonWords.js | ||
| fetchStarControlAssets.js | ||
| genBloxorz.js | ||
| genDotLink.js | ||
| genExcitebikeTracks.js | ||
| genGooTower.js | ||
| genJumble.js | ||
| genKatamino.js | ||
| genMiniCrossword.js | ||
| genPeggleLevels.js | ||
| genPuddingMonsters.js | ||
| genRushHour.js | ||
| genSpireClimbCreatures.js | ||
| genSuperKartTracks.js | ||
| genTACampaign.js | ||
| genTetrisAttackPuzzles.js | ||
| genZuma.js | ||
| readExcitebikeMaps.js | ||
| verifyAdvanceWars.js | ||
| verifyBalatro.js | ||
| verifyBejeweled.js | ||
| verifyBlockFighter.js | ||
| verifyBloxorz.js | ||
| verifyBookwork.js | ||
| verifyCanasta.js | ||
| verifyCivilization.js | ||
| verifyColoradoDefense.js | ||
| verifyCribbage.js | ||
| verifyDotLink.js | ||
| verifyDungeonBoss.js | ||
| verifyExcitebike.js | ||
| verifyGinRummy.js | ||
| verifyGooTower.js | ||
| verifyJewelQuest.js | ||
| verifyJumble.js | ||
| verifyMahjong.js | ||
| verifyMahjongMatch.js | ||
| verifyMasterOfVega.js | ||
| verifyMiniMotorways.js | ||
| verifyPaiGowPoker.js | ||
| verifyPeggle.js | ||
| verifyPuddingMonsters.js | ||
| verifyRisk.js | ||
| verifyRummikub.js | ||
| verifyRushHour.js | ||
| verifySWDBG.js | ||
| verifySlots.js | ||
| verifySpireClimb.js | ||
| verifyStarControl.js | ||
| verifySuperKart.js | ||
| verifyTempest.js | ||
| verifyTetrisAttack.js | ||
| verifyTotalAnnihilation.js | ||
| verifyZuma.js | ||