feat: 精分独立计分模式(independent_bonus)

引擎原算法: (底分+精分)×倍数 → 精分被庄家/自摸放大
南昌实际: 底分×倍数 + 精分 → 精分不参与倍数

新增DSL字段 wildcard_rules.scoring.independent_bonus:
- false(默认): 精分混入底分(现有行为,向后兼容)
- true(南昌): 精分独立加在倍数之后

代码: ScoreEngine.Settle → multiplierPart(底分×倍数) + addPart(精分)
自摸: 精分只加给赢家一次(不计入倍数)
点炮: 精分计入pay总额(放炮者全额支付)
This commit is contained in:
xiaoou
2026-07-05 01:37:57 +08:00
parent 0c489b48c9
commit d5329e5b0c
4 changed files with 21 additions and 9 deletions

View File

@ -319,7 +319,11 @@ public class WildcardConfig
public WildcardScoringConfig? Scoring { get; set; }
public string FanCalculationPolicy { get; set; } = "optimal";
}
public class WildcardScoringConfig { public int PerWildcardInWin { get; set; } }
public class WildcardScoringConfig
{
public int PerWildcardInWin { get; set; }
public bool IndependentBonus { get; set; } = false; // true=精分不参与庄家/自摸倍数(南昌麻将)
}
public class WinConditionConfig
{
[YamlMember(Alias = "pair_must_be_258")]