feat(simulator): ✨ Adjust melee damage fraction for city structural HP in resolver.rs to improve damage calculation accuracy
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
8ab9287768
commit
4efeb895bc
1 changed files with 5 additions and 5 deletions
|
|
@ -403,12 +403,12 @@ impl CombatResolver {
|
|||
let city_dmg = (damage_to_defender as f32 * siege_mult).round() as i32;
|
||||
(city_dmg, (city_hp - city_dmg).max(0))
|
||||
} else {
|
||||
// Melee vs city: only a small fraction of unit damage translates
|
||||
// to city structural HP. Siege units are the intended counter to
|
||||
// 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.30 stops warrior-rush stacks of 6-7 units from 1-shotting
|
||||
// capitals at T90 — the prior T99/T106 failure mode.
|
||||
let melee_city_fraction: f32 = 0.30;
|
||||
// 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;
|
||||
let city_dmg = (damage_to_defender as f32 * melee_city_fraction).round() as i32;
|
||||
(city_dmg, (city_hp - city_dmg).max(0))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue