Skip to main content

wowlab_engine_domain/dbc/semantics/
difficulty.rs

1//! Canonical DBC difficulty identities used by spell-row selection.
2
3/// `Difficulty.ID` stored on difficulty-specific spell tables.
4#[derive(Clone, Copy, Debug, Default, Eq, PartialEq, num_enum::TryFromPrimitive)]
5#[repr(i32)]
6#[non_exhaustive]
7pub enum DifficultyId {
8    /// Base row used when no encounter difficulty override is requested.
9    #[default]
10    Base = 0,
11    /// Mythic Keystone dungeon difficulty.
12    MythicPlus = 8,
13}
14
15impl DifficultyId {
16    #[must_use]
17    pub const fn as_u32(&self) -> u32 {
18        *self as u32
19    }
20}