1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2#[allow(clippy::enum_variant_names)]
3#[non_exhaustive]
4pub enum Prefix {
5 Large = 1,
6 Massive = 2,
7 Dangerous = 3,
8 Savage = 4,
9 Sharp = 5,
10 Pointy = 6,
11 Tiny = 7,
12 Terrible = 8,
13 Small = 9,
14 Dull = 10,
15 Unhappy = 11,
16 Bulky = 12,
17 Shameful = 13,
18 Heavy = 14,
19 Light = 15,
20 Sighted = 16,
21 Rapid = 17,
22 HastyRanged = 18,
23 Intimidating = 19,
24 DeadlyRanged = 20,
25 Staunch = 21,
26 Awful = 22,
27 Lethargic = 23,
28 Awkward = 24,
29 Powerful = 25,
30 Mystic = 26,
31 Adept = 27,
32 Masterful = 28,
33 Inept = 29,
34 Ignorant = 30,
35 Deranged = 31,
36 Intense = 32,
37 Taboo = 33,
38 Celestial = 34,
39 Furious = 35,
40 Keen = 36,
41 Superior = 37,
42 Forceful = 38,
43 Broken = 39,
44 Damaged = 40,
45 Shoddy = 41,
46 QuickWeapon = 42,
47 Deadly = 43,
48 Agile = 44,
49 Nimble = 45,
50 Murderous = 46,
51 Slow = 47,
52 Sluggish = 48,
53 Lazy = 49,
54 Annoying = 50,
55 Nasty = 51,
56 Manic = 52,
57 Hurtful = 53,
58 Strong = 54,
59 Unpleasant = 55,
60 Weak = 56,
61 Ruthless = 57,
62 Frenzying = 58,
63 Godly = 59,
64 Demonic = 60,
65 Zealous = 61,
66 Hard = 62,
67 Guarding = 63,
68 Armored = 64,
69 Warding = 65,
70 Arcane = 66,
71 Precise = 67,
72 Lucky = 68,
73 Jagged = 69,
74 Spiked = 70,
75 Angry = 71,
76 Menacing = 72,
77 Brisk = 73,
78 Fleeting = 74,
79 HastyAccessory = 75,
80 QuickAccessory = 76,
81 Wild = 77,
82 Rash = 78,
83 Intrepid = 79,
84 Violent = 80,
85 Legendary = 81,
86 Unreal = 82,
87 Mythical = 83,
88 LegendaryTerrarian = 84,
89 Fabled = 85,
90 Loyal = 86,
91 Worthy = 87,
92 Focused = 88,
93 FakePatient = 89,
94 FakeRabid = 90,
95 FakeIllTempered = 91,
96 FakePetty = 92,
97 FakeFeeble = 93,
98 FakeSkittish = 94,
99 FakeEager = 95,
100 FakeBallistic = 96,
101 FakeScraggling = 97,
102}
103
104impl Prefix {
105 pub fn to_id(self) -> u8 {
106 self as u8
107 }
108
109 pub fn from_id(id: u8) -> Option<Self> {
110 Some(match id {
111 1 => Prefix::Large,
112 2 => Prefix::Massive,
113 3 => Prefix::Dangerous,
114 4 => Prefix::Savage,
115 5 => Prefix::Sharp,
116 6 => Prefix::Pointy,
117 7 => Prefix::Tiny,
118 8 => Prefix::Terrible,
119 9 => Prefix::Small,
120 10 => Prefix::Dull,
121 11 => Prefix::Unhappy,
122 12 => Prefix::Bulky,
123 13 => Prefix::Shameful,
124 14 => Prefix::Heavy,
125 15 => Prefix::Light,
126 16 => Prefix::Sighted,
127 17 => Prefix::Rapid,
128 18 => Prefix::HastyRanged,
129 19 => Prefix::Intimidating,
130 20 => Prefix::DeadlyRanged,
131 21 => Prefix::Staunch,
132 22 => Prefix::Awful,
133 23 => Prefix::Lethargic,
134 24 => Prefix::Awkward,
135 25 => Prefix::Powerful,
136 26 => Prefix::Mystic,
137 27 => Prefix::Adept,
138 28 => Prefix::Masterful,
139 29 => Prefix::Inept,
140 30 => Prefix::Ignorant,
141 31 => Prefix::Deranged,
142 32 => Prefix::Intense,
143 33 => Prefix::Taboo,
144 34 => Prefix::Celestial,
145 35 => Prefix::Furious,
146 36 => Prefix::Keen,
147 37 => Prefix::Superior,
148 38 => Prefix::Forceful,
149 39 => Prefix::Broken,
150 40 => Prefix::Damaged,
151 41 => Prefix::Shoddy,
152 42 => Prefix::QuickWeapon,
153 43 => Prefix::Deadly,
154 44 => Prefix::Agile,
155 45 => Prefix::Nimble,
156 46 => Prefix::Murderous,
157 47 => Prefix::Slow,
158 48 => Prefix::Sluggish,
159 49 => Prefix::Lazy,
160 50 => Prefix::Annoying,
161 51 => Prefix::Nasty,
162 52 => Prefix::Manic,
163 53 => Prefix::Hurtful,
164 54 => Prefix::Strong,
165 55 => Prefix::Unpleasant,
166 56 => Prefix::Weak,
167 57 => Prefix::Ruthless,
168 58 => Prefix::Frenzying,
169 59 => Prefix::Godly,
170 60 => Prefix::Demonic,
171 61 => Prefix::Zealous,
172 62 => Prefix::Hard,
173 63 => Prefix::Guarding,
174 64 => Prefix::Armored,
175 65 => Prefix::Warding,
176 66 => Prefix::Arcane,
177 67 => Prefix::Precise,
178 68 => Prefix::Lucky,
179 69 => Prefix::Jagged,
180 70 => Prefix::Spiked,
181 71 => Prefix::Angry,
182 72 => Prefix::Menacing,
183 73 => Prefix::Brisk,
184 74 => Prefix::Fleeting,
185 75 => Prefix::HastyAccessory,
186 76 => Prefix::QuickAccessory,
187 77 => Prefix::Wild,
188 78 => Prefix::Rash,
189 79 => Prefix::Intrepid,
190 80 => Prefix::Violent,
191 81 => Prefix::Legendary,
192 82 => Prefix::Unreal,
193 83 => Prefix::Mythical,
194 84 => Prefix::LegendaryTerrarian,
195 85 => Prefix::Fabled,
196 86 => Prefix::Loyal,
197 87 => Prefix::Worthy,
198 88 => Prefix::Focused,
199 89 => Prefix::FakePatient,
200 90 => Prefix::FakeRabid,
201 91 => Prefix::FakeIllTempered,
202 92 => Prefix::FakePetty,
203 93 => Prefix::FakeFeeble,
204 94 => Prefix::FakeSkittish,
205 95 => Prefix::FakeEager,
206 96 => Prefix::FakeBallistic,
207 97 => Prefix::FakeScraggling,
208 _ => return None,
209 })
210 }
211}