AddVolatileMutation.kt

package io.github.lishangbu.avalon.game.battle.engine.core.mutation

import io.github.lishangbu.avalon.game.battle.engine.core.type.TargetSelectorId

/**
 * 添加挥发状态变更。
 *
 * @property target 目标选择器。
 * @property volatileEffectId 挥发状态 effect 标识。
 * @property duration 可选的持续回合数。
 * @property sourceId 可选的来源单位标识。
 */
data class AddVolatileMutation(
    val target: TargetSelectorId,
    val volatileEffectId: String,
    val duration: Int? = null,
    val sourceId: String? = null,
) : BattleMutation