diff --git a/YD_Event.Application/Scoring/ScoreRuleConfigService.cs b/YD_Event.Application/Scoring/ScoreRuleConfigService.cs index 84cc3b9..f1dcdf2 100644 --- a/YD_Event.Application/Scoring/ScoreRuleConfigService.cs +++ b/YD_Event.Application/Scoring/ScoreRuleConfigService.cs @@ -71,7 +71,13 @@ public static class ScoreRuleConfigService if (!config.IsFactorTotal) return; foreach (var role in config.RoleAggregations.Where(x => x.Factor == ScoreFactorCode.Required)) { - if (IsIndividualFamily(config.RuleType)) role.AggregateDecimals = null; + if (IsIndividualFamily(config.RuleType)) + { + // 个人花样的每类规定元素缺失数先按同类型裁判取平均,再四舍五入为整数参与 Q 计算。 + // 同步花样保留半个规定元素的精度。 + role.AggregateDecimals = string.Equals(config.RuleType, "FREESTYLE_SINGLE", + StringComparison.OrdinalIgnoreCase) ? 0 : null; + } if (config.RuleType.StartsWith("FREESTYLE_WHEEL", StringComparison.OrdinalIgnoreCase)) role.FactorWeight = 0.025m; }