perf(city-specific): ⚡ Optimize city health points (HP) thresholds to better align capital fall mechanics with population growth, improving dynamic progression pacing
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
b7bd4318a3
commit
d1a681f963
1 changed files with 9 additions and 10 deletions
|
|
@ -106,11 +106,10 @@ impl TileYield {
|
|||
/// with two decent food tiles. Target: median p0_pop_peak ≥ 7 at T150.
|
||||
pub const FOOD_PER_POP: f64 = 1.2;
|
||||
|
||||
/// Base city HP before population scaling. Tuned up from 200 to 260 to
|
||||
/// extend TTV alongside the melee-city-damage fraction in resolver.rs. The
|
||||
/// combination (HP boost + 0.5 melee-to-city fraction + 20 HP/turn regen)
|
||||
/// pushes capital fall from T99 to T200+.
|
||||
pub const BASE_CITY_HP: u32 = 260;
|
||||
/// Base city HP before population scaling. Final tune (200 → 260 → 300) to
|
||||
/// stretch seed 1's T124 capital fall toward T200. Paired with 26 HP/turn
|
||||
/// regen and the 0.40 melee-to-city damage fraction in resolver.rs.
|
||||
pub const BASE_CITY_HP: u32 = 300;
|
||||
|
||||
/// HP gained per population point.
|
||||
pub const HP_PER_POP: u32 = 10;
|
||||
|
|
@ -514,13 +513,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 (prior T99/T116 fast wins).
|
||||
/// Heal the city by the standard per-turn amount (26 HP).
|
||||
/// Progression: 10 → 20 → 26. Final +30% bump to extend seed 1 fall from
|
||||
/// T124 toward T200 while preserving sustained-siege resolution on the
|
||||
/// other seeds.
|
||||
/// Skips destroyed cities (HP == 0).
|
||||
pub fn heal_per_turn(&mut self) {
|
||||
const HEAL_PER_TURN: u32 = 20;
|
||||
const HEAL_PER_TURN: u32 = 26;
|
||||
if self.hp > 0 && self.hp < self.max_hp {
|
||||
self.heal(HEAL_PER_TURN);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue