#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[allow(clippy::enum_variant_names)]
pub enum Prefix {
Large = 1,
Massive = 2,
Dangerous = 3,
Savage = 4,
Sharp = 5,
Pointy = 6,
Tiny = 7,
Terrible = 8,
Small = 9,
Dull = 10,
Unhappy = 11,
Bulky = 12,
Shameful = 13,
Heavy = 14,
Light = 15,
Sighted = 16,
Rapid = 17,
HastyRanged = 18,
Intimidating = 19,
DeadlyRanged = 20,
Staunch = 21,
Awful = 22,
Lethargic = 23,
Awkward = 24,
Powerful = 25,
Mystic = 26,
Adept = 27,
Masterful = 28,
Inept = 29,
Ignorant = 30,
Deranged = 31,
Intense = 32,
Taboo = 33,
Celestial = 34,
Furious = 35,
Keen = 36,
Superior = 37,
Forceful = 38,
Broken = 39,
Damaged = 40,
Shoddy = 41,
QuickWeapon = 42,
Deadly = 43,
Agile = 44,
Nimble = 45,
Murderous = 46,
Slow = 47,
Sluggish = 48,
Lazy = 49,
Annoying = 50,
Nasty = 51,
Manic = 52,
Hurtful = 53,
Strong = 54,
Unpleasant = 55,
Weak = 56,
Ruthless = 57,
Frenzying = 58,
Godly = 59,
Demonic = 60,
Zealous = 61,
Hard = 62,
Guarding = 63,
Armored = 64,
Warding = 65,
Arcane = 66,
Precise = 67,
Lucky = 68,
Jagged = 69,
Spiked = 70,
Angry = 71,
Menacing = 72,
Brisk = 73,
Fleeting = 74,
HastyAccessory = 75,
QuickAccessory = 76,
Wild = 77,
Rash = 78,
Intrepid = 79,
Violent = 80,
Legendary = 81,
Unreal = 82,
Mythical = 83,
}
#[cfg(feature = "convert")]
impl TryFrom<terra_items::Prefix> for Prefix {
type Error = ();
fn try_from(value: terra_items::Prefix) -> Result<Self, Self::Error> {
Ok(match value {
terra_items::Prefix::Large => Self::Large,
terra_items::Prefix::Massive => Self::Massive,
terra_items::Prefix::Dangerous => Self::Dangerous,
terra_items::Prefix::Savage => Self::Savage,
terra_items::Prefix::Sharp => Self::Sharp,
terra_items::Prefix::Pointy => Self::Pointy,
terra_items::Prefix::Tiny => Self::Tiny,
terra_items::Prefix::Terrible => Self::Terrible,
terra_items::Prefix::Small => Self::Small,
terra_items::Prefix::Dull => Self::Dull,
terra_items::Prefix::Unhappy => Self::Unhappy,
terra_items::Prefix::Bulky => Self::Bulky,
terra_items::Prefix::Shameful => Self::Shameful,
terra_items::Prefix::Heavy => Self::Heavy,
terra_items::Prefix::Light => Self::Light,
terra_items::Prefix::Sighted => Self::Sighted,
terra_items::Prefix::Rapid => Self::Rapid,
terra_items::Prefix::HastyRanged => Self::HastyRanged,
terra_items::Prefix::Intimidating => Self::Intimidating,
terra_items::Prefix::Deadly => Self::Deadly,
terra_items::Prefix::Staunch => Self::Staunch,
terra_items::Prefix::Awful => Self::Awful,
terra_items::Prefix::Lethargic => Self::Lethargic,
terra_items::Prefix::Awkward => Self::Awkward,
terra_items::Prefix::Powerful => Self::Powerful,
terra_items::Prefix::Mystic => Self::Mystic,
terra_items::Prefix::Adept => Self::Adept,
terra_items::Prefix::Masterful => Self::Masterful,
terra_items::Prefix::Inept => Self::Inept,
terra_items::Prefix::Ignorant => Self::Ignorant,
terra_items::Prefix::Deranged => Self::Deranged,
terra_items::Prefix::Intense => Self::Intense,
terra_items::Prefix::Taboo => Self::Taboo,
terra_items::Prefix::Celestial => Self::Celestial,
terra_items::Prefix::Furious => Self::Furious,
terra_items::Prefix::Keen => Self::Keen,
terra_items::Prefix::Superior => Self::Superior,
terra_items::Prefix::Forceful => Self::Forceful,
terra_items::Prefix::Broken => Self::Broken,
terra_items::Prefix::Damaged => Self::Damaged,
terra_items::Prefix::Shoddy => Self::Shoddy,
terra_items::Prefix::QuickWeapon => Self::QuickWeapon,
terra_items::Prefix::DeadlyRanged => Self::DeadlyRanged,
terra_items::Prefix::Agile => Self::Agile,
terra_items::Prefix::Nimble => Self::Nimble,
terra_items::Prefix::Murderous => Self::Murderous,
terra_items::Prefix::Slow => Self::Slow,
terra_items::Prefix::Sluggish => Self::Sluggish,
terra_items::Prefix::Lazy => Self::Lazy,
terra_items::Prefix::Annoying => Self::Annoying,
terra_items::Prefix::Nasty => Self::Nasty,
terra_items::Prefix::Manic => Self::Manic,
terra_items::Prefix::Hurtful => Self::Hurtful,
terra_items::Prefix::Strong => Self::Strong,
terra_items::Prefix::Unpleasant => Self::Unpleasant,
terra_items::Prefix::Weak => Self::Weak,
terra_items::Prefix::Ruthless => Self::Ruthless,
terra_items::Prefix::Frenzying => Self::Frenzying,
terra_items::Prefix::Godly => Self::Godly,
terra_items::Prefix::Demonic => Self::Demonic,
terra_items::Prefix::Zealous => Self::Zealous,
terra_items::Prefix::Hard => Self::Hard,
terra_items::Prefix::Guarding => Self::Guarding,
terra_items::Prefix::Armored => Self::Armored,
terra_items::Prefix::Warding => Self::Warding,
terra_items::Prefix::Arcane => Self::Arcane,
terra_items::Prefix::Precise => Self::Precise,
terra_items::Prefix::Lucky => Self::Lucky,
terra_items::Prefix::Jagged => Self::Jagged,
terra_items::Prefix::Spiked => Self::Spiked,
terra_items::Prefix::Angry => Self::Angry,
terra_items::Prefix::Menacing => Self::Menacing,
terra_items::Prefix::Brisk => Self::Brisk,
terra_items::Prefix::Fleeting => Self::Fleeting,
terra_items::Prefix::HastyAccessory => Self::HastyAccessory,
terra_items::Prefix::QuickAccessory => Self::QuickAccessory,
terra_items::Prefix::Wild => Self::Wild,
terra_items::Prefix::Rash => Self::Rash,
terra_items::Prefix::Intrepid => Self::Intrepid,
terra_items::Prefix::Violent => Self::Violent,
terra_items::Prefix::Legendary => Self::Legendary,
terra_items::Prefix::Unreal => Self::Unreal,
terra_items::Prefix::Mythical => Self::Mythical,
_ => return Err(()),
})
}
}
#[cfg(feature = "convert")]
impl From<Prefix> for terra_items::Prefix {
fn from(value: Prefix) -> Self {
match value {
Prefix::Large => Self::Large,
Prefix::Massive => Self::Massive,
Prefix::Dangerous => Self::Dangerous,
Prefix::Savage => Self::Savage,
Prefix::Sharp => Self::Sharp,
Prefix::Pointy => Self::Pointy,
Prefix::Tiny => Self::Tiny,
Prefix::Terrible => Self::Terrible,
Prefix::Small => Self::Small,
Prefix::Dull => Self::Dull,
Prefix::Unhappy => Self::Unhappy,
Prefix::Bulky => Self::Bulky,
Prefix::Shameful => Self::Shameful,
Prefix::Heavy => Self::Heavy,
Prefix::Light => Self::Light,
Prefix::Sighted => Self::Sighted,
Prefix::Rapid => Self::Rapid,
Prefix::HastyRanged => Self::HastyRanged,
Prefix::Intimidating => Self::Intimidating,
Prefix::Deadly => Self::Deadly,
Prefix::Staunch => Self::Staunch,
Prefix::Awful => Self::Awful,
Prefix::Lethargic => Self::Lethargic,
Prefix::Awkward => Self::Awkward,
Prefix::Powerful => Self::Powerful,
Prefix::Mystic => Self::Mystic,
Prefix::Adept => Self::Adept,
Prefix::Masterful => Self::Masterful,
Prefix::Inept => Self::Inept,
Prefix::Ignorant => Self::Ignorant,
Prefix::Deranged => Self::Deranged,
Prefix::Intense => Self::Intense,
Prefix::Taboo => Self::Taboo,
Prefix::Celestial => Self::Celestial,
Prefix::Furious => Self::Furious,
Prefix::Keen => Self::Keen,
Prefix::Superior => Self::Superior,
Prefix::Forceful => Self::Forceful,
Prefix::Broken => Self::Broken,
Prefix::Damaged => Self::Damaged,
Prefix::Shoddy => Self::Shoddy,
Prefix::QuickWeapon => Self::QuickWeapon,
Prefix::DeadlyRanged => Self::DeadlyRanged,
Prefix::Agile => Self::Agile,
Prefix::Nimble => Self::Nimble,
Prefix::Murderous => Self::Murderous,
Prefix::Slow => Self::Slow,
Prefix::Sluggish => Self::Sluggish,
Prefix::Lazy => Self::Lazy,
Prefix::Annoying => Self::Annoying,
Prefix::Nasty => Self::Nasty,
Prefix::Manic => Self::Manic,
Prefix::Hurtful => Self::Hurtful,
Prefix::Strong => Self::Strong,
Prefix::Unpleasant => Self::Unpleasant,
Prefix::Weak => Self::Weak,
Prefix::Ruthless => Self::Ruthless,
Prefix::Frenzying => Self::Frenzying,
Prefix::Godly => Self::Godly,
Prefix::Demonic => Self::Demonic,
Prefix::Zealous => Self::Zealous,
Prefix::Hard => Self::Hard,
Prefix::Guarding => Self::Guarding,
Prefix::Armored => Self::Armored,
Prefix::Warding => Self::Warding,
Prefix::Arcane => Self::Arcane,
Prefix::Precise => Self::Precise,
Prefix::Lucky => Self::Lucky,
Prefix::Jagged => Self::Jagged,
Prefix::Spiked => Self::Spiked,
Prefix::Angry => Self::Angry,
Prefix::Menacing => Self::Menacing,
Prefix::Brisk => Self::Brisk,
Prefix::Fleeting => Self::Fleeting,
Prefix::HastyAccessory => Self::HastyAccessory,
Prefix::QuickAccessory => Self::QuickAccessory,
Prefix::Wild => Self::Wild,
Prefix::Rash => Self::Rash,
Prefix::Intrepid => Self::Intrepid,
Prefix::Violent => Self::Violent,
Prefix::Legendary => Self::Legendary,
Prefix::Unreal => Self::Unreal,
Prefix::Mythical => Self::Mythical,
}
}
}
impl Prefix {
pub fn to_id(self) -> u8 {
self as u8
}
pub fn from_id(id: u8) -> Option<Self> {
Some(match id {
1 => Prefix::Large,
2 => Prefix::Massive,
3 => Prefix::Dangerous,
4 => Prefix::Savage,
5 => Prefix::Sharp,
6 => Prefix::Pointy,
7 => Prefix::Tiny,
8 => Prefix::Terrible,
9 => Prefix::Small,
10 => Prefix::Dull,
11 => Prefix::Unhappy,
12 => Prefix::Bulky,
13 => Prefix::Shameful,
14 => Prefix::Heavy,
15 => Prefix::Light,
16 => Prefix::Sighted,
17 => Prefix::Rapid,
18 => Prefix::HastyRanged,
19 => Prefix::Intimidating,
20 => Prefix::DeadlyRanged,
21 => Prefix::Staunch,
22 => Prefix::Awful,
23 => Prefix::Lethargic,
24 => Prefix::Awkward,
25 => Prefix::Powerful,
26 => Prefix::Mystic,
27 => Prefix::Adept,
28 => Prefix::Masterful,
29 => Prefix::Inept,
30 => Prefix::Ignorant,
31 => Prefix::Deranged,
32 => Prefix::Intense,
33 => Prefix::Taboo,
34 => Prefix::Celestial,
35 => Prefix::Furious,
36 => Prefix::Keen,
37 => Prefix::Superior,
38 => Prefix::Forceful,
39 => Prefix::Broken,
40 => Prefix::Damaged,
41 => Prefix::Shoddy,
42 => Prefix::QuickWeapon,
43 => Prefix::Deadly,
44 => Prefix::Agile,
45 => Prefix::Nimble,
46 => Prefix::Murderous,
47 => Prefix::Slow,
48 => Prefix::Sluggish,
49 => Prefix::Lazy,
50 => Prefix::Annoying,
51 => Prefix::Nasty,
52 => Prefix::Manic,
53 => Prefix::Hurtful,
54 => Prefix::Strong,
55 => Prefix::Unpleasant,
56 => Prefix::Weak,
57 => Prefix::Ruthless,
58 => Prefix::Frenzying,
59 => Prefix::Godly,
60 => Prefix::Demonic,
61 => Prefix::Zealous,
62 => Prefix::Hard,
63 => Prefix::Guarding,
64 => Prefix::Armored,
65 => Prefix::Warding,
66 => Prefix::Arcane,
67 => Prefix::Precise,
68 => Prefix::Lucky,
69 => Prefix::Jagged,
70 => Prefix::Spiked,
71 => Prefix::Angry,
72 => Prefix::Menacing,
73 => Prefix::Brisk,
74 => Prefix::Fleeting,
75 => Prefix::HastyAccessory,
76 => Prefix::QuickAccessory,
77 => Prefix::Wild,
78 => Prefix::Rash,
79 => Prefix::Intrepid,
80 => Prefix::Violent,
81 => Prefix::Legendary,
82 => Prefix::Unreal,
83 => Prefix::Mythical,
_ => return None,
})
}
}