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}