artifacts/models/
effect_subtype.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub enum EffectSubtype {
7    #[serde(rename = "stat")]
8    Stat,
9    #[serde(rename = "other")]
10    Other,
11    #[serde(rename = "heal")]
12    Heal,
13    #[serde(rename = "buff")]
14    Buff,
15    #[serde(rename = "debuff")]
16    Debuff,
17    #[serde(rename = "special")]
18    Special,
19    #[serde(rename = "gathering")]
20    Gathering,
21    #[serde(rename = "teleport")]
22    Teleport,
23    #[serde(rename = "gold")]
24    Gold,
25}
26
27impl std::fmt::Display for EffectSubtype {
28    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
29        match self {
30            Self::Stat => write!(f, "stat"),
31            Self::Other => write!(f, "other"),
32            Self::Heal => write!(f, "heal"),
33            Self::Buff => write!(f, "buff"),
34            Self::Debuff => write!(f, "debuff"),
35            Self::Special => write!(f, "special"),
36            Self::Gathering => write!(f, "gathering"),
37            Self::Teleport => write!(f, "teleport"),
38            Self::Gold => write!(f, "gold"),
39        }
40    }
41}
42
43impl Default for EffectSubtype {
44    fn default() -> EffectSubtype {
45        Self::Stat
46    }
47}