HpRatioConditionNode.kt
package io.github.lishangbu.avalon.game.battle.engine.core.dsl.condition
import io.github.lishangbu.avalon.game.battle.engine.core.dsl.ConditionNode
import io.github.lishangbu.avalon.game.battle.engine.core.type.ActorId
import io.github.lishangbu.avalon.game.battle.engine.core.type.ConditionTypeId
import io.github.lishangbu.avalon.game.battle.engine.core.type.StandardConditionTypeIds
/**
* 血量比例比较条件。
*
* @property actor 被比较的对象。
* @property operator 比较操作符,例如 `<=`。
* @property value 目标血量比例值。
*/
data class HpRatioConditionNode(
val actor: ActorId,
val operator: String,
val value: Double,
) : ConditionNode {
override val type: ConditionTypeId = StandardConditionTypeIds.HP_RATIO
}