artifacts/models/
character_fight_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 CharacterFightSchema {
7    /// The result of the fight.
8    #[serde(rename = "result")]
9    pub result: models::FightResult,
10    /// Numbers of the turns of the combat.
11    #[serde(rename = "turns")]
12    pub turns: i32,
13    /// The code of the monster fought.
14    #[serde(rename = "opponent")]
15    pub opponent: String,
16    /// The fight logs.
17    #[serde(rename = "logs")]
18    pub logs: Vec<String>,
19    /// Results for each character.
20    #[serde(rename = "characters")]
21    pub characters: Vec<models::CharacterMultiFightResultSchema>,
22}
23
24impl CharacterFightSchema {
25    pub fn new(
26        result: models::FightResult,
27        turns: i32,
28        opponent: String,
29        logs: Vec<String>,
30        characters: Vec<models::CharacterMultiFightResultSchema>,
31    ) -> CharacterFightSchema {
32        CharacterFightSchema {
33            result,
34            turns,
35            opponent,
36            logs,
37            characters,
38        }
39    }
40}