evtc\player/
prof.rs

1use num_enum::{FromPrimitive, IntoPrimitive};
2
3#[cfg(feature = "serde")]
4use serde::{Deserialize, Serialize};
5
6#[cfg(feature = "strum")]
7use strum::{Display, EnumCount, EnumIter, IntoStaticStr, VariantNames};
8
9/// Player profession.
10#[derive(
11    Debug, Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, IntoPrimitive, FromPrimitive,
12)]
13#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
14#[cfg_attr(
15    feature = "strum",
16    derive(Display, EnumCount, EnumIter, IntoStaticStr, VariantNames)
17)]
18#[repr(u32)]
19pub enum Profession {
20    /// Unknown or invalid.
21    #[default]
22    Unknown = 0,
23
24    Guardian = 1,
25    Warrior = 2,
26    Engineer = 3,
27    Ranger = 4,
28    Thief = 5,
29    Elementalist = 6,
30    Mesmer = 7,
31    Necromancer = 8,
32    Revenant = 9,
33}