1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
17pub enum MissionType {
18 #[serde(rename = "Ancient Retribution")]
19 AncientRetribution,
20 #[serde(rename = "Arena")]
21 Arena,
22 #[serde(rename = "Assassination")]
23 Assassination,
24 #[serde(rename = "Assault")]
25 Assault,
26 #[serde(rename = "Capture")]
27 Capture,
28 #[serde(rename = "Conclave")]
29 Conclave,
30 #[serde(rename = "Dark Sector Defection")]
31 DarkSectorDefection,
32 #[serde(rename = "Dark Sector Defense")]
33 DarkSectorDefense,
34 #[serde(rename = "Dark Sector Disruption")]
35 DarkSectorDisruption,
36 #[serde(rename = "Dark Sector Excavation")]
37 DarkSectorExcavation,
38 #[serde(rename = "Dark Sector Sabotage")]
39 DarkSectorSabotage,
40 #[serde(rename = "Dark Sector Survival")]
41 DarkSectorSurvival,
42 #[serde(rename = "Defense")]
43 Defense,
44 #[serde(rename = "Disruption")]
45 Disruption,
46 #[serde(rename = "Excavation")]
47 Excavation,
48 #[serde(rename = "Extermination (Archwing)")]
49 ExterminationLeftParenthesisArchwingRightParenthesis,
50 #[serde(rename = "Extermination")]
51 Extermination,
52 #[serde(rename = "Free Roam")]
53 FreeRoam,
54 #[serde(rename = "Hijack")]
55 Hijack,
56 #[serde(rename = "Hive")]
57 Hive,
58 #[serde(rename = "Hive Sabotage")]
59 HiveSabotage,
60 #[serde(rename = "Interception")]
61 Interception,
62 #[serde(rename = "Interception (Archwing)")]
63 InterceptionLeftParenthesisArchwingRightParenthesis,
64 #[serde(rename = "Mobile Defense")]
65 MobileDefense,
66 #[serde(rename = "Mobile Defense (Archwing)")]
67 MobileDefenseLeftParenthesisArchwingRightParenthesis,
68 #[serde(rename = "Orokin Sabotage")]
69 OrokinSabotage,
70 #[serde(rename = "Orphix")]
71 Orphix,
72 #[serde(rename = "Pursuit (Archwing)")]
73 PursuitLeftParenthesisArchwingRightParenthesis,
74 #[serde(rename = "Relay")]
75 Relay,
76 #[serde(rename = "Rescue")]
77 Rescue,
78 #[serde(rename = "Rush (Archwing)")]
79 RushLeftParenthesisArchwingRightParenthesis,
80 #[serde(rename = "Sabotage")]
81 Sabotage,
82 #[serde(rename = "Sabotage (Archwing)")]
83 SabotageLeftParenthesisArchwingRightParenthesis,
84 #[serde(rename = "Skirmish")]
85 Skirmish,
86 #[serde(rename = "Spy")]
87 Spy,
88 #[serde(rename = "Survival")]
89 Survival,
90 #[serde(rename = "Volatile")]
91 Volatile,
92
93}
94
95impl std::fmt::Display for MissionType {
96 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
97 match self {
98 Self::AncientRetribution => write!(f, "Ancient Retribution"),
99 Self::Arena => write!(f, "Arena"),
100 Self::Assassination => write!(f, "Assassination"),
101 Self::Assault => write!(f, "Assault"),
102 Self::Capture => write!(f, "Capture"),
103 Self::Conclave => write!(f, "Conclave"),
104 Self::DarkSectorDefection => write!(f, "Dark Sector Defection"),
105 Self::DarkSectorDefense => write!(f, "Dark Sector Defense"),
106 Self::DarkSectorDisruption => write!(f, "Dark Sector Disruption"),
107 Self::DarkSectorExcavation => write!(f, "Dark Sector Excavation"),
108 Self::DarkSectorSabotage => write!(f, "Dark Sector Sabotage"),
109 Self::DarkSectorSurvival => write!(f, "Dark Sector Survival"),
110 Self::Defense => write!(f, "Defense"),
111 Self::Disruption => write!(f, "Disruption"),
112 Self::Excavation => write!(f, "Excavation"),
113 Self::ExterminationLeftParenthesisArchwingRightParenthesis => write!(f, "Extermination (Archwing)"),
114 Self::Extermination => write!(f, "Extermination"),
115 Self::FreeRoam => write!(f, "Free Roam"),
116 Self::Hijack => write!(f, "Hijack"),
117 Self::Hive => write!(f, "Hive"),
118 Self::HiveSabotage => write!(f, "Hive Sabotage"),
119 Self::Interception => write!(f, "Interception"),
120 Self::InterceptionLeftParenthesisArchwingRightParenthesis => write!(f, "Interception (Archwing)"),
121 Self::MobileDefense => write!(f, "Mobile Defense"),
122 Self::MobileDefenseLeftParenthesisArchwingRightParenthesis => write!(f, "Mobile Defense (Archwing)"),
123 Self::OrokinSabotage => write!(f, "Orokin Sabotage"),
124 Self::Orphix => write!(f, "Orphix"),
125 Self::PursuitLeftParenthesisArchwingRightParenthesis => write!(f, "Pursuit (Archwing)"),
126 Self::Relay => write!(f, "Relay"),
127 Self::Rescue => write!(f, "Rescue"),
128 Self::RushLeftParenthesisArchwingRightParenthesis => write!(f, "Rush (Archwing)"),
129 Self::Sabotage => write!(f, "Sabotage"),
130 Self::SabotageLeftParenthesisArchwingRightParenthesis => write!(f, "Sabotage (Archwing)"),
131 Self::Skirmish => write!(f, "Skirmish"),
132 Self::Spy => write!(f, "Spy"),
133 Self::Survival => write!(f, "Survival"),
134 Self::Volatile => write!(f, "Volatile"),
135 }
136 }
137}
138
139impl Default for MissionType {
140 fn default() -> MissionType {
141 Self::AncientRetribution
142 }
143}
144