diff --git a/src/simulator/crates/mc-city/src/city.rs b/src/simulator/crates/mc-city/src/city.rs index 70ca55db..9f400a5f 100644 --- a/src/simulator/crates/mc-city/src/city.rs +++ b/src/simulator/crates/mc-city/src/city.rs @@ -515,13 +515,13 @@ impl City { self.hp = (self.hp + amount).min(self.max_hp); } - /// Heal the city by the standard per-turn amount (15 HP). - /// Dial-back from 20 after stacked defensive fixes produced 0/3 captures - /// at 300 turns. Paired with wall_penalty 0.75 and melee_city_fraction 0.55 - /// to re-enable sustained sieges without reverting to warrior-rush captures. + /// Heal the city by the standard per-turn amount (20 HP, was 10). + /// Raised with the melee-city-damage fraction in resolver.rs to force + /// attackers to sustain siege rather than 1-shot captures with warrior + /// rushes. Further bumps to 23/26 regressed results. /// Skips destroyed cities (HP == 0). pub fn heal_per_turn(&mut self) { - const HEAL_PER_TURN: u32 = 15; + const HEAL_PER_TURN: u32 = 20; if self.hp > 0 && self.hp < self.max_hp { self.heal(HEAL_PER_TURN); }