GameBattleActionRequests.kt
package io.github.lishangbu.avalon.game.battle.api
/**
* 面向前端的智能出招请求。
*/
data class SmartMoveChoiceRequest(
val attackerId: String,
val moveId: String,
val targetId: String? = null,
val priority: Int? = null,
val speed: Int? = null,
val accuracy: Int? = null,
val evasion: Int? = null,
val basePower: Int? = null,
val damage: Int? = null,
val accuracyRoll: Int? = null,
val chanceRoll: Int? = null,
val criticalRoll: Int? = null,
val damageRoll: Int? = null,
val criticalHit: Boolean? = null,
val attributes: Map<String, Any?> = emptyMap(),
)
/**
* 面向前端的智能用道具请求。
*/
data class SmartItemChoiceRequest(
val actorUnitId: String,
val itemId: String,
val targetId: String? = null,
val priority: Int? = null,
val speed: Int? = null,
val chanceRoll: Int? = null,
val attributes: Map<String, Any?> = emptyMap(),
)
/**
* 面向前端的智能捕捉请求。
*/
data class SmartCaptureChoiceRequest(
val playerId: String,
val ballItemId: String,
val sourceUnitId: String? = null,
val targetId: String,
val priority: Int? = null,
val speed: Int? = null,
)
/**
* 面向前端的换人请求。
*/
data class SubmitSwitchChoiceRequest(
val sideId: String,
val outgoingUnitId: String,
val incomingUnitId: String,
val priority: Int? = null,
val speed: Int? = null,
)
/**
* 面向前端的逃跑请求。
*/
data class SubmitRunChoiceRequest(
val sideId: String,
val priority: Int? = null,
val speed: Int? = null,
)
/**
* 面向前端的替补上场请求。
*/
data class SubmitReplacementChoiceRequest(
val sideId: String,
val incomingUnitId: String,
)