magicciv/public/games/age-of-dwarves/docs/combat/COMBAT_SYSTEM.md
Natalie 0bfc993545 feat(@projects/@magic-civilization): add age-of-dwarves units & audio system
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 19:42:00 -07:00

6.5 KiB

Combat System

Formations & the Hex

Combat in this game is positional in a way most hex 4Xs are not: every hex tile carries one centre slot (the home unit) plus six edge slots (each shared 1:1 with the neighbour on the other side of that edge). The shared edge is both an occupiable position and the geometric location where combat resolves. A third unit on the shared edge between two centres stands in the engagement path; edge units are damaged first, the centre's leader is damaged last.

Forest-cover-on-attack, edge-count flanking, leader survivability, and edge-projected ZOC all derive from this geometry — they are not separate rules. The damage matrix and R/P/S system below layer on top of the positional model.


Armor Types

Armor Description Examples
Unarmored No protection Civilians, scouts, most beasts
Light Minimal armor, high mobility Skirmishers, crossbowmen, berserkers
Medium Balanced protection and speed Swordsmen, spearmen, ram riders
Heavy Strong protection, reduced speed Defenders, plated warriors, armored cavalry
Plate Maximum protection, slow Rune Guardians, Ancestor Guard, Stone Golem Rider
Fortified Stationary defense City walls, buildings, emplaced siege

Attack Types

Attack Description Examples
Blade Slashing/cutting weapons Swordsmen, clansmen, battle axe
Pierce Penetrating weapons, ranged Crossbowmen, spearmen, rifles
Crush Impact/blunt force Shield bearers, war hammers, battering rams
Siege Heavy ordnance, area effect Catapults, cannons, trebuchets
Trample Charging mounted/beast Ram riders, boar lancers, war rams

Damage Matrix

Values are damage multipliers (100% = base damage).

Attack \ Armor Unarmored Light Medium Heavy Plate Fortified
Blade 125% 125% 100% 75% 50% 25%
Pierce 100% 100% 125% 100% 75% 50%
Crush 75% 75% 100% 125% 150% 175%
Siege 50% 50% 75% 100% 100% 200%
Trample 200% 150% 100% 50% 25% 0%

R/P/S Archetype Matrix

Six archetypes form a non-circular counter web.

        CAVALRY
       ↗       ↓
SIEGE      ANTI-CAV
  ↑               ↓
HEAVY MELEE    LIGHT MELEE
       ↖       ↗
         RANGED
Archetype Beats Neutral Loses to
Light Melee Siege Ranged, Heavy Melee, Cavalry (open)
Heavy Melee Ranged, Anti-Cavalry Cavalry Siege, Light Melee (flanking)
Anti-Cavalry Cavalry (hard counter) Siege Light Melee, Heavy Melee, Ranged
Ranged Light Melee, Anti-Cavalry Heavy Melee, Cavalry, Siege (outranged)
Siege Heavy Melee, Fortified Anti-Cavalry Light Melee, Cavalry
Cavalry Siege, Ranged Heavy Melee Anti-Cavalry (hard counter), Light Melee (tight terrain)

Special Abilities

Ability Effect
Trample Pushes enemy 1 tile on attack; +damage vs Unarmored/Light
Charge +50% damage on first attack if unit moved this turn
Pierce Armor Treats target as one armor tier lower (Heavy → Medium)
Cleave Splits damage across all adjacent enemies
Poison Deals damage-over-time after combat ends
First Strike Attacks before enemy if enemy is Melee type
ZOC Enemies entering adjacent tile must stop (Zone of Control)
Fortify Unit digs in; gains Fortified armor type next turn
Tunnel Can move through walls and underground without using connection points
Splash 50% damage to tiles adjacent to primary target
Rage After killing a unit, gains +25% attack same turn
Morale Aura Adjacent friendly units get +10% attack
Suppression Halves enemy movement for one turn
Stun Target loses its next attack (not movement)

Terrain Combat Modifiers

Defense Bonuses

Terrain Unit defense Building defense Notes
Plains 0% 0% Baseline
Hills +25% +25% Elevation advantage
Mountain +50% +50% Natural fortress
Forest +25% 0% (can't build in forest) Cover only
City +10% +10% Urban defense

Siege Range Modifier (when firing FROM terrain)

Terrain Range modifier
Plains 0
Hills +1 tile
Mountain +2 tiles
Forest -1 tile (obstructed)

Siege Damage Modifier (when firing INTO terrain)

Target terrain Damage modifier
Plains 0%
Hills -25%
Mountain -50%

Terrain Flip Conditions

Some counter relationships reverse based on terrain.

Match-up Open terrain Forest / City / Tunnel
Cavalry vs Light Melee Cavalry wins Light Melee wins
Cavalry vs Heavy Melee Neutral Heavy Melee wins
Siege vs Light Melee Siege wins Light Melee wins (closes through cover)
Ranged vs Light Melee Ranged wins Light Melee wins

Line of Sight

Siege type LoS required Notes
Direct fire (Cannon, Railgun) Yes Blocked by Hills, Mountain, Forest, Walls
Arcing fire (Catapult, Trebuchet, Howitzer, Artillery) No Fires over obstacles

Terrain between shooter and target:

  • Hills: blocks LoS for tier 1-2 direct-fire siege; reduces effective range by 1 for tier 3+
  • Mountain: blocks LoS entirely unless shooter is at equal or higher elevation
  • Forest: blocks LoS; shooter must be adjacent to forest edge
  • City walls: blocks LoS into city for direct-fire; arcing fire ignores walls

Army Composition Examples

Composition Strength Weakness
Cavalry + Ranged Open field dominance, fast and mobile Forests, cities, any Anti-Cavalry
Heavy Melee + Siege Siege warfare, hard to break Cavalry flanks, Light Melee rushes siege
Light Melee + Anti-Cavalry Terrain defense, stops cavalry Open field, any Ranged
Ranged + Heavy Melee Balanced, hard to approach Cavalry flanks ranged, Siege outranges

No single composition is complete. Every army has a terrain or unit-type gap that a prepared opponent can exploit.