artifacts/models/
skill.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 Skill {
7    #[serde(rename = "weaponcrafting")]
8    Weaponcrafting,
9    #[serde(rename = "gearcrafting")]
10    Gearcrafting,
11    #[serde(rename = "jewelrycrafting")]
12    Jewelrycrafting,
13    #[serde(rename = "cooking")]
14    Cooking,
15    #[serde(rename = "woodcutting")]
16    Woodcutting,
17    #[serde(rename = "mining")]
18    Mining,
19    #[serde(rename = "alchemy")]
20    Alchemy,
21    #[serde(rename = "fishing")]
22    Fishing,
23}
24
25impl std::fmt::Display for Skill {
26    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
27        match self {
28            Self::Weaponcrafting => write!(f, "weaponcrafting"),
29            Self::Gearcrafting => write!(f, "gearcrafting"),
30            Self::Jewelrycrafting => write!(f, "jewelrycrafting"),
31            Self::Cooking => write!(f, "cooking"),
32            Self::Woodcutting => write!(f, "woodcutting"),
33            Self::Mining => write!(f, "mining"),
34            Self::Alchemy => write!(f, "alchemy"),
35            Self::Fishing => write!(f, "fishing"),
36        }
37    }
38}
39
40impl Default for Skill {
41    fn default() -> Skill {
42        Self::Weaponcrafting
43    }
44}