Combat System
Fully deterministic combat with no RNG. Initiative, damage formulas, counter tags, and battle reports.
All combat is deterministic. The same fleet compositions always produce the same outcome. No randomness.
Inputs
- Fleet A — list of ship stacks with their blueprint loaded
- Fleet B — list of ship stacks with their blueprint loaded
Initiative
The fleet with higher speed attacks first each round.
Round Loop
Damage Formula
Per attacking ship:
Damage is applied in order:
A ship is destroyed when hull ≤ 0.
Counter Tags
Weapon modules carry counter tags that interact with defense module tags:
| Weapon Tag | Bonus Against | Modifier |
|---|---|---|
armor_piercing | Armored targets | 1.25× |
shield_breaker | Shield-heavy targets | 1.25× |
anti_missile | Missile weapons | Intercept |
Defense modules can carry resistance tags:
| Defense Tag | Resists |
|---|---|
piercing_resistance | armor_piercing weapons |
breaker_resistance | shield_breaker weapons |
When a weapon tag matches a defense weakness:
Otherwise:
Combat Log
Every event in every round is stored:
A human-readable battle report is generated from the log after combat completes.
Determinism Verification
This hash can be used to verify that combat results were not tampered with. The same inputs always produce the same hash and the same outcome.