InvertBoostRelayActionNode.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

/**
 * 把当前 boost relay 的每一项 stage 变化值整体取反。
 *
 * 设计意图:
 * - 为 `on_boost` 提供依赖当前 relay 的动态改写能力;
 * - 支持 Contrary 这类“升能力变降能力,降能力变升能力”的通用规则模板;
 * - 避免同类能力只能退化成写死的 `set_relay` 常量。
 */
data object InvertBoostRelayActionNode : ActionNode {
    override val type: ActionTypeId = StandardActionTypeIds.INVERT_BOOST_RELAY
}