pub use crate::cat::data::unitexplanation::{UnitExplanation, UnitExplanationError};
pub use crate::cat::data::unitid::{Battle, BattleError};
pub use crate::cat::data::unitlevel::{LevelCurve, LevelError};
pub use crate::cat::data::skillacquisition::{Talent, TalentGroup, SkillAcquisitionError};
pub use crate::cat::data::unitbuy::{UnitBuy, UnitBuyError};
pub use crate::cat::data::unitevolve::{UnitEvolve, UnitEvolveError};
pub use crate::cat::data::skilllevel::{TalentCost, SkillLevelError};
pub use crate::cat::data::skilldescriptions::{SkillDescriptions, SkillDescriptionsError};
#[derive(Debug, Clone, Default, serde::Serialize, serde::Deserialize)]
pub struct Unit {
pub id: u32,
pub names: Vec<String>,
pub descriptions: Vec<Vec<String>>,
pub forms: [bool; 4],
pub battle: Vec<Option<Battle>>,
pub attack_frames: [i32; 4],
pub egg_ids: (i32, i32),
pub level_curve: Option<LevelCurve>,
pub talents: Option<Talent>,
pub unitbuy: UnitBuy,
pub evolve_text: [Vec<String>; 4],
pub talent_costs: std::collections::HashMap<u8, TalentCost>,
pub skill_descriptions: Vec<String>,
}