Introduce a two-layer domain system (ground/air) that separates units into independent simulation layers. Air units ignore the nav grid, never collide with ground units, and can only be targeted by weapons listing "air" in their targets. Hover units gain water-crossing ability via the move class cost table. New content: - Fighter (air interceptor with AA cannons) - Bomber (ground-attack aircraft with bomb rack) - Hover Constructor (water-crossing builder) - Airfield (produces all three air units) AI gains air superiority management: interceptors hunt enemy aircraft instead of joining ground pushes, and the production mix auto-counters observed enemy air. Ground anti-air (rocket troopers/tanks) also gain targeting weight. Rendering adds a dedicated depth band for aircraft above all ground actors, plus a displaced shadow sprite for altitude perception. HUD tooltips display domain and weapon targeting information. Validation ensures domain/moveClass agreement, requires at least one anti-air weapon when air units exist, and excludes air classes from corridor generation. Comprehensive test fixtures cover domain separation, collision, splash, and order handling. |
||
|---|---|---|
| .. | ||
| 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 | ||
| 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 | ||