AddVolatileActionNode.kt
package io.github.lishangbu.avalon.game.battle.engine.core.dsl.action
import io.github.lishangbu.avalon.game.battle.engine.core.dsl.ActionNode
import io.github.lishangbu.avalon.game.battle.engine.core.type.ActionTypeId
import io.github.lishangbu.avalon.game.battle.engine.core.type.StandardActionTypeIds
import io.github.lishangbu.avalon.game.battle.engine.core.type.TargetSelectorId
/**
* 附加挥发状态动作。
*
* @property target 目标选择器。
* @property value 挥发状态标识。
* @property duration 可选的持续回合数。
*/
data class AddVolatileActionNode(
val target: TargetSelectorId,
val value: String,
val duration: Int? = null,
) : ActionNode {
override val type: ActionTypeId = StandardActionTypeIds.ADD_VOLATILE
}