Skip to main content

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))]
6#[derive(Default)]
7pub enum EffectSubtype {
8    #[serde(rename = "stat")]
9    #[default]
10    Stat,
11    #[serde(rename = "other")]
12    Other,
13    #[serde(rename = "heal")]
14    Heal,
15    #[serde(rename = "buff")]
16    Buff,
17    #[serde(rename = "debuff")]
18    Debuff,
19    #[serde(rename = "special")]
20    Special,
21    #[serde(rename = "gathering")]
22    Gathering,
23    #[serde(rename = "teleport")]
24    Teleport,
25    #[serde(rename = "gold")]
26    Gold,
27}
28
29impl std::fmt::Display for EffectSubtype {
30    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
31        match self {
32            Self::Stat => write!(f, "stat"),
33            Self::Other => write!(f, "other"),
34            Self::Heal => write!(f, "heal"),
35            Self::Buff => write!(f, "buff"),
36            Self::Debuff => write!(f, "debuff"),
37            Self::Special => write!(f, "special"),
38            Self::Gathering => write!(f, "gathering"),
39            Self::Teleport => write!(f, "teleport"),
40            Self::Gold => write!(f, "gold"),
41        }
42    }
43}