package io.github.lishangbu.avalon.game.battle.engine.core.mutation import io.github.lishangbu.avalon.game.battle.engine.core.type.TargetSelectorId /** * 设置主状态变更。 * * @property target 目标选择器。 * @property statusEffectId 状态 effect 标识。 * @property duration 可选的持续回合数。 * @property sourceId 可选的来源单位标识。 */ data class SetStatusMutation( val target: TargetSelectorId, val statusEffectId: String, val duration: Int? = null, val sourceId: String? = null, ) : BattleMutation