diff --git a/RuleEngine/Dsl/DslLoader.cs b/RuleEngine/Dsl/DslLoader.cs index b82a778..97cc786 100644 --- a/RuleEngine/Dsl/DslLoader.cs +++ b/RuleEngine/Dsl/DslLoader.cs @@ -214,8 +214,10 @@ public class CapabilityRegistry // 未消费字段 if (rules.Phases.Any(p => !string.IsNullOrEmpty(p.OnEliminate))) warnings.Add("phase.on_eliminate 已配置但引擎未消费→淘汰逻辑为基本实现"); - if (rules.Phases.Any(p => !string.IsNullOrEmpty(p.SubPhases?.OthersReaction?.OnWin))) - warnings.Add("phase.on_win 已配置但引擎未消费→胡牌终止为默认行为"); + foreach (var pp in rules.Phases) + 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)) warnings.Add("phase.fu_flag 已配置但引擎用硬编码过水→DSL值不生效");