/// 合冲生克定量常量（作者定稿 · 2026-08-11）— © 2026 Jason Li（泽森）
///
/// 冻结口径（勿再用 c2ecb89 小运×1/4 旧值）。粘贴替换仓库中对应常量
/// （常见位置：`lib/data/bqm_v*.dart` / `key_energy_rules.dart` /
/// `bqm_sheng_ke.dart` 等；以实际 `kShengKe*` 定义为准）。
library;

/// 合：A−1/4，B−1/4，新五行 C＋1/2
const double kShengKeHeLossA = 0.25; // 1/4
const double kShengKeHeLossB = 0.25; // 1/4
const double kShengKeHeGainC = 0.50; // 1/2

/// 冲 A→B：A−1/2，B−5/8（受害方由旧 3/4 改为 5/8）
const double kShengKeChongAttackerLoss = 0.50; // 1/2
const double kShengKeChongVictimLoss = 0.625; // 5/8  ★变更

/// 生 A→B：未改指令则保持 A−1/4、B＋1/4
const double kShengKeShengLoss = 0.25; // 1/4
const double kShengKeShengGain = 0.25; // 1/4

/// 克 A→B：A−1/8，B−3/8（★变更：旧 A−1/4、B−3/4）
const double kShengKeKeAttackerLoss = 0.125; // 1/8  ★变更
const double kShengKeKeVictimLoss = 0.375; // 3/8  ★变更

/// 刑：双方各 −1/4（★统一口径；覆盖生刑/合刑/冲刑分档中的「整字互损」默认）
const double kShengKeXingLossA = 0.25; // 1/4  ★变更/统一
const double kShengKeXingLossB = 0.25; // 1/4  ★变更/统一

/// 害：整字各自 −3/8（★变更：旧 −1/4）
const double kHaiWholeLoss = 0.375; // 3/8

/// 破：A 生 B 时，A−1/4，B−1/8（★变更：旧为生方−1/4、被生不变）
const double kPoShengSideLoss = 0.25; // 1/4（生方 A）
const double kPoShengRecipientLoss = 0.125; // 1/8（被生 B）★新增

/// 人话对照
const String kShengKeParamsOneLinerZh =
    '合A−¼B−¼C＋½；冲A−½B−⅝；克A−⅛B−⅜；刑双方−¼；破(A生B)A−¼B−⅛；害各自−⅜；生仍A−¼B＋¼';
