Skip to main content

wowlab_engine_domain/dbc/semantics/
loot.rs

1//! Item-loot DBC discriminants and difficulty masks.
2
3#[derive(Clone, Copy, Debug, Eq, PartialEq, num_enum::TryFromPrimitive)]
4#[repr(i32)]
5#[non_exhaustive]
6pub enum ItemContext {
7    DungeonNormal = 1,
8    DungeonHeroic = 2,
9    RaidNormal = 3,
10    RaidLfr = 4,
11    RaidHeroic = 5,
12    RaidMythic = 6,
13    MythicKeystone = 16,
14    DungeonMythic = 23,
15    MythicKeystoneVault = 35,
16}
17
18#[derive(Clone, Copy, Debug, Eq, PartialEq)]
19#[repr(i32)]
20#[non_exhaustive]
21pub enum ItemBonusType {
22    Flair = 4,
23    Upgrade = 49,
24}
25
26bitflags::bitflags! {
27    #[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
28    pub struct ItemBonusListGroupEntryFlags: i32 {
29        const REGULAR = 1 << 1;
30    }
31
32    #[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
33    pub struct RaidDifficultyFlags: i32 {
34        const LFR = 1 << 0;
35        const NORMAL = 1 << 1;
36        const HEROIC = 1 << 2;
37        const MYTHIC = 1 << 3;
38    }
39
40    #[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
41    pub struct DungeonDifficultyFlags: i32 {
42        const NORMAL = 1 << 0;
43        const HEROIC = 1 << 1;
44        const MYTHIC = 1 << 2;
45    }
46}