artifacts/models/
combat_simulation_request_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 CombatSimulationRequestSchema {
7    /// List of fake characters (1-3).
8    #[serde(rename = "characters")]
9    pub characters: Vec<models::FakeCharacterSchema>,
10    /// Monster code to fight against.
11    #[serde(rename = "monster")]
12    pub monster: String,
13    /// Number of combat iterations to simulate.
14    #[serde(rename = "iterations")]
15    pub iterations: u32,
16}
17
18impl CombatSimulationRequestSchema {
19    pub fn new(
20        characters: Vec<models::FakeCharacterSchema>,
21        monster: String,
22        iterations: u32,
23    ) -> CombatSimulationRequestSchema {
24        CombatSimulationRequestSchema {
25            characters,
26            monster,
27            iterations,
28        }
29    }
30}