函数: rankBestsUpgradeCandidates()
ts
function rankBestsUpgradeCandidates(entries, options): ScoreUpgrade[];定义于: analysis/src/upgrades.ts:163
在全曲成绩中,找出刷到目标达成率后能抬高 B15 或 B35 总分的谱面。
目标怎么定
minRate: "sss":目标取 SSS 最低线(100%),结果都是「冲到至少 SSS」targetAchievement: 100.5:直接指定达成率(如 SSS+ 线)- 两者都给:取较高达成率
- 都省略:抛错(无法定义目标)
B50 机制(本函数实现的口径)
- B50 = 新曲池最高 15 首(B15)+ 旧曲池最高 35 首(B35)的单曲 Rating 之和
- 单曲 Rating = f(定数, 达成率)
- 已在对应池榜内:抬达成率 → B50 增量 = 新单曲 Rating − 当前单曲 Rating (当前 Rating 优先用成绩上的
dx_rating,与查分器 B50 一致) - 不在榜内:仅当目标单曲 Rating 严格大于 该池地板(B15 第 15 / B35 第 35) 才能挤进榜;B50 增量 = 目标 Rating − 地板 Rating
- 目标 Rating ≤ 地板 → 对 B50 无贡献,不入选
因此不会出现「低定数 0%→100.5% 单曲 +200 却进不了榜」仍排在前面的情况。
参数
| 参数 | 类型 |
|---|---|
entries | readonly ScoreWithLevelValue[] |
options | RankBestsUpgradeOptions |
