feat(mc-combat): Update melee city damage fraction calculation to balance early-game strategy

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
autocommit 2026-04-16 12:38:29 -07:00
parent 21af78f7d4
commit 7d34d111e4

View file

@ -406,9 +406,10 @@ impl CombatResolver {
// Melee vs city: only a fraction of unit damage translates to
// city structural HP. Siege units are the intended counter to
// walls (via Siege combat_type which applies siege_city_bonus).
// 0.40 slows warrior-rush stacks (prior T99/T106 fast wins) but
// still allows sustained siege to resolve games.
let melee_city_fraction: f32 = 0.40;
// 0.33 required because seed 1's p1 doesn't build walls before
// p0 can amass a 68 warrior rush stack; at 0.40 the capital
// fell T76 despite garrison maintenance being fixed in AI.
let melee_city_fraction: f32 = 0.33;
let city_dmg = (damage_to_defender as f32 * melee_city_fraction).round() as i32;
(city_dmg, (city_hp - city_dmg).max(0))
}