: Defender cavalry defense = 2000×50 = 100,000 + 1000×100 = 100,000 → total 200,000 With wall: 200,000 × 3.25 = 650,000 defense
TotalAttack = SUMPRODUCT(B2:B10, C2:C10) TotalDefenseInf = SUMPRODUCT(defender_counts, defender_inf_def) * (1 + wall_bonus) Winner = IF(TotalAttack > TotalDefenseInf, "Attacker", "Defender") Losses_Attacker = attacker_counts * (defense / attack)^1.5 (cap at 0.95) For advanced, use lookup tables for all tribes and units. | Tribe | Infantry attack | Cavalry attack | |-------|----------------|----------------| | Teuton – Axeman | 60 | – | | Teuton – Paladin | – | 55 | | Roman – Imperian | 70 | – | | Roman – Equites Imperatoris | – | 120 | | Gaul – Swordsman | 65 | – | | Gaul – Theutates Thunder | – | 90 |
| Input | Explanation | |-------|-------------| | | Number of each offensive unit (clubs, axes, imperians, TTs, paladins, etc.) | | Your hero (optional) | Attack value, weapon, level | | Defender’s troop counts | Including garrison, trapper, reinforcements | | Wall type & level | Earth wall (Gauls), palisade (Romans), stone wall (Teutons) | | Residence / Palace level | Affects chief loyalty drop | | Morale | Usually (DefenderPoints / AttackerPoints) × 0.5 + 0.5 capped 0.5–1.0 | | Catapults (if sieging) | Number and target building | | Chiefs / Senators | Number and target building | 4. Formulas Used in the Calculator 4.1 Base Attack vs Defense Attacker_Total_Attack = Σ( unit_count × unit_attack_value ) Defender_Total_Defense = Σ( unit_count × unit_defense_value_matching_attacker_type ) Then:
Wall is partially after an attack:
Attacker_Loss_% = (Defender_Total_Defense / Attacker_Total_Attack) ^ 1.5 (capped) But real simulators use the (randomized within ±10%).
: Defender infantry defense = 2000×35 = 70,000 + 1000×45 = 45,000 → total 115,000 With wall: 115,000 × (1 + 2.25) = 115,000 × 3.25 = 373,750 defense
You need to destroy a building level: