Replace hover-based aircraft movement with a two-state system: LANDED (grounded, cannot shoot, vulnerable to all weapons) and FLYING (at cruise speed, uses air domain protection). Aircraft can no longer stop in mid-air; armed units execute strafing passes with overshoot and come-about logic. Key changes: - Add `liftFrac` simulation state for altitude, `airborne` dynamic flag (vs static `isAir`) so landed aircraft are ordinary ground targets - Implement `stepStraferOrders` for aircraft that overfly targets and repeat passes; idle aircraft clear hostile keepout zones - Add `overshoot` and `keepout` flight properties to fighter/bomber - AI gains static defense (Laser Tower, Missile Launcher) at skill 4+, with threat-based placement and economy gating - Fighter gains ground gun (pintlegun); air management uses `airClaimed` set instead of interceptor-only classification - Update campaign m05 seed (71644) to compensate for balance shifts - Update tooltips, documentation, and tests for new behavior Closes #1234 |
||
|---|---|---|
| .. | ||
| 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 | ||