fix: on_win=game_over不再误报(引擎默认行为一致)
所有YAML的on_win=game_over与引擎非血战默认行为一致, 只当on_win≠game_over时才报告警告。 效果: 南昌5→4,武汉2→1,国标2→1,广东1→0条警告
This commit is contained in:
@ -214,8 +214,10 @@ public class CapabilityRegistry
|
|||||||
// 未消费字段
|
// 未消费字段
|
||||||
if (rules.Phases.Any(p => !string.IsNullOrEmpty(p.OnEliminate)))
|
if (rules.Phases.Any(p => !string.IsNullOrEmpty(p.OnEliminate)))
|
||||||
warnings.Add("phase.on_eliminate 已配置但引擎未消费→淘汰逻辑为基本实现");
|
warnings.Add("phase.on_eliminate 已配置但引擎未消费→淘汰逻辑为基本实现");
|
||||||
if (rules.Phases.Any(p => !string.IsNullOrEmpty(p.SubPhases?.OthersReaction?.OnWin)))
|
foreach (var pp in rules.Phases)
|
||||||
warnings.Add("phase.on_win 已配置但引擎未消费→胡牌终止为默认行为");
|
if (!string.IsNullOrEmpty(pp.SubPhases?.OthersReaction?.OnWin)
|
||||||
|
&& pp.SubPhases.OthersReaction.OnWin != "game_over")
|
||||||
|
warnings.Add($"phase.on_win={pp.SubPhases.OthersReaction.OnWin}→引擎仅支持 game_over");
|
||||||
if (rules.Phases.Any(p => p.FuFlag != null))
|
if (rules.Phases.Any(p => p.FuFlag != null))
|
||||||
warnings.Add("phase.fu_flag 已配置但引擎用硬编码过水→DSL值不生效");
|
warnings.Add("phase.fu_flag 已配置但引擎用硬编码过水→DSL值不生效");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user