///|
/// 污染度系统 - 5个等级

// ─── 污染度等级表 ───
pub fn pollution_levels() -> Array[PollutionLevel] {
  [
    { min_val: 0,  max_val: 15, name: "寂静期", name_en: "Silent",   damage_bonus: 0,  armor_per_turn: 0, player_piercing_dmg: 0 },
    { min_val: 16, max_val: 40, name: "低鸣期", name_en: "Humming",   damage_bonus: 2,  armor_per_turn: 0, player_piercing_dmg: 0 },
    { min_val: 41, max_val: 70, name: "共振期", name_en: "Resonance", damage_bonus: 4,  armor_per_turn: 3, player_piercing_dmg: 0 },
    { min_val: 71, max_val: 90, name: "咆哮期", name_en: "Roaring",   damage_bonus: 6,  armor_per_turn: 5, player_piercing_dmg: 3 },
    { min_val: 91, max_val: 100, name: "终焉和弦", name_en: "Finale",  damage_bonus: 10, armor_per_turn: 5, player_piercing_dmg: 5 },
  ]
}

// ─── 获取当前污染等级 ───
pub fn get_pollution_level(pollution : Int) -> PollutionLevel {
  let levels = pollution_levels()
  if pollution >= 91 {
    levels[4]
  } else if pollution >= 71 {
    levels[3]
  } else if pollution >= 41 {
    levels[2]
  } else if pollution >= 16 {
    levels[1]
  } else {
    levels[0]
  }
}

pub fn max_pollution() -> Int {
  100
}

pub fn initial_pollution() -> Int {
  0
}

pub fn is_pollution_max(pollution : Int) -> Bool {
  pollution >= 100
}