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)

Constructors

Link copied to clipboard
constructor(currentHp: Int, maxHp: Int, captureRate: Int, statusEffectId: String? = null, ballItemInternalName: String, turn: Int = 1, captureContext: CaptureContext = CaptureContext())

Properties

Link copied to clipboard

球的内部名称,例如 poke-ballgreat-ball

Link copied to clipboard

球策略所需的额外环境上下文。

Link copied to clipboard

基础捕获率。

Link copied to clipboard

当前 HP。允许为 0,便于上层在特殊规则下自行决定是否传入濒死目标。

Link copied to clipboard
val maxHp: Int

最大 HP。必须大于 0。

Link copied to clipboard

状态 effect 标识。

Link copied to clipboard
val turn: Int

当前回合数,从 1 开始。