Skip to content

函数: 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 却进不了榜」仍排在前面的情况。

参数

参数类型
entriesreadonly ScoreWithLevelValue[]
optionsRankBestsUpgradeOptions

返回

ScoreUpgrade[]