CaptureRateInput
data class CaptureRateInput(val currentHp: Int, val maxHp: Int, val captureRate: Int, val statusEffectId: String? = null, val ballItemInternalName: String, val turn: Int = 1, val captureContext: CaptureContext = CaptureContext())
捕捉率计算输入。
公式结构参考常见主系列“四摇”计算思路:
a = effectiveCaptureRate * hpFactor * ballMultiplier * statusMultiplier
其中:
effectiveCaptureRate = max(1, captureRate + flatBonus)hpFactor = ((3 * maxHp) - (2 * currentHp)) / (3 * maxHp)