1use serde::{Deserialize, Serialize};
2
3use super::ability::{AbilityDef, AbilityTemplate};
4use super::types::{CardColor, CardId, CardType, TriggerIcon};
5
6#[derive(Clone, Debug, Serialize, Deserialize)]
8pub struct CardStatic {
9 pub id: CardId,
11 #[serde(default)]
12 pub card_set: Option<String>,
14 pub card_type: CardType,
16 pub color: CardColor,
18 pub level: u8,
20 pub cost: u8,
22 pub power: i32,
24 pub soul: u8,
26 pub triggers: Vec<TriggerIcon>,
28 pub traits: Vec<u16>,
30 pub abilities: Vec<AbilityTemplate>,
32 #[serde(default)]
33 pub ability_defs: Vec<AbilityDef>,
35 #[serde(default)]
36 pub counter_timing: bool,
38 #[serde(default)]
39 pub raw_text: Option<String>,
41}