artifacts/models/
combat_simulation_data_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct CombatSimulationDataSchema {
7    /// Results from each combat iteration.
8    #[serde(rename = "results")]
9    pub results: Vec<models::CombatResultSchema>,
10    /// Total number of victories.
11    #[serde(rename = "wins")]
12    pub wins: i32,
13    /// Total number of defeats.
14    #[serde(rename = "losses")]
15    pub losses: i32,
16    /// Win rate percentage (0-100).
17    #[serde(rename = "winrate")]
18    pub winrate: f64,
19}
20
21impl CombatSimulationDataSchema {
22    pub fn new(
23        results: Vec<models::CombatResultSchema>,
24        wins: i32,
25        losses: i32,
26        winrate: f64,
27    ) -> CombatSimulationDataSchema {
28        CombatSimulationDataSchema {
29            results,
30            wins,
31            losses,
32            winrate,
33        }
34    }
35}