Skip to main content

wowlab_engine_domain/dbc/semantics/
traits.rs

1//! Trait-tree DBC discriminants and currency flags.
2
3pub use wowlab_types::data::{TraitEffectOperation, TraitNodeType, TraitTreeIndex};
4
5#[derive(Clone, Copy, Debug, Eq, PartialEq, num_enum::TryFromPrimitive)]
6#[repr(i32)]
7#[non_exhaustive]
8pub enum TraitConditionType {
9    Specialization = 1,
10    StarterBuild = 2,
11}
12
13bitflags::bitflags! {
14    #[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
15    pub struct TraitCurrencyFlags: i32 {
16        const CLASS = 1 << 2;
17        const SPECIALIZATION = 1 << 3;
18    }
19}
20
21impl TraitCurrencyFlags {
22    #[must_use]
23    pub const fn from_dbc(raw: i32) -> Self {
24        Self::from_bits_retain(raw)
25    }
26}