fertig-classic-games/tools
Brian Fertig cff1f02d9b feat: add air domain system with fighters, bombers, and hover units
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.
2026-08-01 09:00:37 -06:00
..
data Excitebike 2026-07-29 22:05:21 -06:00
lib Excitebike 2026-07-29 22:05:21 -06:00
bloxorzMap.js
buildCommonWords.js
fetchStarControlAssets.js
genBloxorz.js
genDotLink.js
genExcitebikeTracks.js fix(excitebike): rework throttle, heat model, and landing after playtest 2026-07-29 22:34:29 -06:00
genGooTower.js Goo Tower Levels 2026-07-26 15:23:18 -06:00
genJumble.js
genKatamino.js
genMiniCrossword.js
genPeggleLevels.js
genPuddingMonsters.js feat: pudding monsters waves 1-3, mahjong match FX, background art 2026-07-26 01:27:36 -06:00
genRushHour.js feat(rushhour): redesign level bank, procedural art, and tiered curriculum 2026-07-28 22:12:55 -06:00
genSpireClimbCreatures.js
genSuperKartTracks.js
genTACampaign.js
genTetrisAttackPuzzles.js
genZuma.js Zuma Level Refactor 2026-07-28 21:33:36 -06:00
readExcitebikeMaps.js excitebike: playtest fixes and Wave 5 polish 2026-07-29 23:06:41 -06:00
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 excitebike: playtest fixes and Wave 5 polish 2026-07-29 23:06:41 -06:00
verifyGinRummy.js
verifyGooTower.js feat(gootower): add sleeping goo mechanic and redesign levels 2026-07-31 23:37:48 -06:00
verifyJewelQuest.js
verifyJumble.js
verifyMahjong.js
verifyMahjongMatch.js
verifyMiniMotorways.js
verifyPaiGowPoker.js
verifyPeggle.js
verifyPuddingMonsters.js feat: pudding monsters waves 1-3, mahjong match FX, background art 2026-07-26 01:27:36 -06:00
verifyRisk.js
verifyRummikub.js
verifyRushHour.js feat(rushhour): redesign level bank, procedural art, and tiered curriculum 2026-07-28 22:12:55 -06:00
verifySWDBG.js
verifySlots.js
verifySpireClimb.js
verifyStarControl.js
verifySuperKart.js
verifyTempest.js
verifyTetrisAttack.js
verifyTotalAnnihilation.js feat: add air domain system with fighters, bombers, and hover units 2026-08-01 09:00:37 -06:00
verifyZuma.js Zuma Level Refactor 2026-07-28 21:33:36 -06:00