M2 Progress Report — Doctrines, Heroes, Combat, and Victory

The simulation engine is deep into M2 with 18 of 31 major items complete (~83%). Recent progress:

Combat — Dice-based combat resolution with per-unit attack/defense dice profiles. Full modifier chain: morale, endurance, terrain defense, flanking, shield-wall, sanctified territory, and prestige bonuses. Counter-matrix for unit class matchups. Auto-attack system (3 modes: None, OneTarget, AnyEnemy) wired into the tick loop.

Formations & Terrain — Six formation types (Standard, ShieldWall, CavalryCharge, Skirmish, SiegeColumn, Ambush) now apply distinct combat and movement modifiers. Terrain movement costs use CUnitMovement.terrain_multiplier for per-unit biome penalties.

Doctrines — All six trees with five tiers each and capstone effects. Hybrid (2-archetype) combos functional. Cross-doctrine capstones implemented. Remaining: combine-style effects table, triple hybrid doctrines, meta-doctrine.

Heroes & Victory — Recruitment, skill trees, artifacts, leveling, hero-specific abilities (rally, smite, teleport, corrupt, auras). All 7 victory paths functional.

Magic & Faith — Arcane + Divine domains live. Nature, Chaos, Necromantic domains stubbed. Faith crisis escalation chain designed but not yet implemented.

Presentation — 3D terrain (extruded hexes, scatter props, snow caps, water depth). Unit/city sprite swap with billboarding. 63 audio files with crossfading music/ambient. Minimap with click-to-navigate. Fog-of-war filtering. Marketing landing page live with email signup.

13 M2 gaps remain across doctrine, magic, diplomacy, faith/economy, and AI. The engine has 40+ systems, 50+ components, and an expanding test suite.