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