diff --git a/RuleEngine/Patterns/MeldsSolver.cs b/RuleEngine/Patterns/MeldsSolver.cs index 174be0e..30adf06 100644 --- a/RuleEngine/Patterns/MeldsSolver.cs +++ b/RuleEngine/Patterns/MeldsSolver.cs @@ -808,15 +808,14 @@ public class MeldsSolver if (fans.Count == 0 || allZeroValue) fans.Add("鸡胡"); - // Filter: keep fans in _fanConfig OR event fans OR well-known structural fans - // Exclude zero-value markers (无字/缺一门/将) and no-fallback fans (断幺九/平胡/平和) - // → these trigger allZeroValue→鸡胡 to ensure non-zero scoring + // Filter: keep fans in _fanConfig OR event fans OR hardcoded-fallback fans + // Structural fans without _fanConfig guard AND no fallback: ONLY pass if in _fanConfig + // → triggers allZeroValue→鸡胡 to ensure non-zero scoring return fans.Where(f => _fanConfig.ContainsKey(f) || f is "杠上开花" or "海底捞月" or "抢杠胡" or "天胡" or "地胡" or "癞子胡" or "清一色" or "混一色" or "对对胡" or "碰碰和" or "暗七对" or "七对" or "带幺九" or "十三幺" or "鸡胡" or "字一色" - or "全大" or "全中" or "全小" or "全双" or "大于五" or "小于五" - or "将一色" or "大四喜" or "大三元" or "小四喜" or "小三元" - or "一色四同顺" or "一色三同顺" or "一般高" or "五门齐" or "全求人" or "门前清" + or "全大" or "全中" or "全小" or "全双" or "大于五" or "小于五" or "混幺九" or "全带幺" + or "大四喜" or "大三元" or "小四喜" or "小三元" or "三风" or "双箭刻" or "圈风" or "门风" or "单钓将" or "四归一" or "连七对" or "全不靠" or "一色双龙会").ToList(); }