artifacts/models/
effect_subtype.rs1use 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}