Commit Graph

5 Commits

Author SHA1 Message Date
Brian Fertig c690d80e68 feat(totalannihilation): add Megatank unit with multi-barrel weapons and rebalance combat
- Introduce Megatank: medium commander with Twin 150mm Cannon and Side Rocket Pods
- Implement multi-barrel weapon system (barrels + barrelSpacing) in TALogic and TARules
- Lower DEFENCE_MIN_SKILL from 4 to 3; make first Laser Tower proactive, not reactive
- Rebalance unit triangle: Tank now counters Rocket Tank; rockets weak vs vehicle armour
- Re-seed campaign missions m05 (67890) and m06 (80808) with updated maps and briefings
- Skirmish default theme uses rules default (tropics) instead of hardcoded grasslands
- Add intro video before main menu
- Update sprite docs and verification tests for new balance
2026-08-16 14:30:04 -06:00
Brian Fertig b42a71bf2f feat: add radar detection system with jamming and contacts
Introduce a second detection layer independent of line-of-sight vision.
Radar buildings (Radar Tower, Advanced Radar) provide coverage that reveals
unit positions through fog as contacts, while Radar Jammers can blind enemy
radar within range without affecting normal sight.

Key changes:
- Add three sensor buildings: Radar Tower, Advanced Radar, Radar Jammer
- Implement computeRadar() with jamming logic and stampDisc() optimization
- Add isDetectedBy() for radar contact detection
- Draw radar contacts as green diamond blips in WorldView
- Show radar contacts as neutral green pips on minimap
- Expand build grid to 2 rows and artwork sheets to 4 rows
- Refuse repair orders on airborne units; builders stop chasing airborne targets
- Add validation for radarRange and jamRange in rules compiler
- Update sprites.md documentation and add comprehensive tests
2026-08-01 14:51:05 -06:00
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
Brian Fertig 195e88f2dc feat(totalannihilation): add auto-heal for idle builders
Idle builder units now automatically repair damaged allied structures
and units within their build range. A priority system ensures defensive
buildings are repaired before factories and other buildings. Auto-heal
orders are marked as non-player-assigned so explicit player orders
always take precedence. Builders can re-prioritize targets on a
retargeting cadence, similar to combat target acquisition.

Includes visual asset updates for TA arm and core units/structures.
Adjusts test to isolate passive self-heal from the new auto-heal mechanic.
2026-07-25 20:36:50 -06:00
Brian Fertig 929d27e188 feat: add Bloxorz game, balance Total Annihilation weapons
- Add Bloxorz as a new logic game with tutorial support
- Register Bloxorz in games registry, main scene, and game room dispatch
- Preload bloxorz.json artwork data in PreloadScene
- Fix arm-structures artwork path and frame dimensions for Total Annihilation
- Balance Total Annihilation weapon stats:
  - Increase tankgun damage (95→145)
  - Decrease rocketpod damage (130→80)
  - Decrease towerlaser damage but increase fire rate (62→52, 1.4→0.4s reload)
  - Decrease towermissile damage but increase fire rate (175→135, 4.5→1.5s reload)
2026-07-25 10:30:30 -06:00