diff --git a/src/simulator/crates/mc-city/src/city.rs b/src/simulator/crates/mc-city/src/city.rs index 9f400a5f..70ca55db 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 (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. + /// 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. /// Skips destroyed cities (HP == 0). pub fn heal_per_turn(&mut self) { - const HEAL_PER_TURN: u32 = 20; + const HEAL_PER_TURN: u32 = 15; if self.hp > 0 && self.hp < self.max_hp { self.heal(HEAL_PER_TURN); }