Skip to main content

manabrew_protocol/prompts/
choose_damage_assignment_order.rs

1use serde::{Deserialize, Serialize};
2use ts_rs::TS;
3
4use crate::game::CardDto;
5
6#[derive(Debug, Clone, Serialize, Deserialize, TS)]
7#[serde(rename_all = "camelCase")]
8#[ts(export, export_to = "prompts/chooseDamageAssignmentOrder.ts")]
9pub struct ChooseDamageAssignmentOrderInput {
10    pub attacker_id: String,
11    pub blocker_ids: Vec<String>,
12    pub blocker_cards: Vec<CardDto>,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize, TS)]
16#[serde(
17    tag = "type",
18    rename_all = "camelCase",
19    rename_all_fields = "camelCase"
20)]
21#[ts(export, export_to = "prompts/chooseDamageAssignmentOrder.ts")]
22pub enum ChooseDamageAssignmentOrderOutput {
23    DamageAssignmentOrderDecision { ordered_blocker_ids: Vec<String> },
24}