wowlab_engine_domain/dbc/semantics/
aura_interrupt_flags.rs1bitflags::bitflags! {
2 #[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
4 pub struct SpellAuraInterruptFlags: u32 {
5 const HOSTILE_ACTION_RECEIVED = 1 << 0;
6 const DAMAGE = 1 << 1;
7 const ACTION = 1 << 2;
8 const MOVING = 1 << 3;
9 const TURNING = 1 << 4;
10 const ANIM = 1 << 5;
11 const DISMOUNT = 1 << 6;
12 const UNDER_WATER = 1 << 7;
13 const ABOVE_WATER = 1 << 8;
14 const SHEATHING = 1 << 9;
15 const INTERACTING = 1 << 10;
16 const LOOTING = 1 << 11;
17 const ATTACKING = 1 << 12;
18 const ITEM_USE = 1 << 13;
19 const DAMAGE_CHANNEL_DURATION = 1 << 14;
20 const SHAPESHIFTING = 1 << 15;
21 const ACTION_DELAYED = 1 << 16;
22 const MOUNT = 1 << 17;
23 const STANDING = 1 << 18;
24 const LEAVE_WORLD = 1 << 19;
25 const STEALTH_OR_INVIS = 1 << 20;
26 const INVULNERABILITY_BUFF = 1 << 21;
27 const ENTER_WORLD = 1 << 22;
28 const PVP_ACTIVE = 1 << 23;
29 const NON_PERIODIC_DAMAGE = 1 << 24;
30 const LANDING_OR_FLIGHT = 1 << 25;
31 const RELEASE = 1 << 26;
32 const DAMAGE_CANCELS_SCRIPT = 1 << 27;
33 const ENTERING_COMBAT = 1 << 28;
34 const LOGIN = 1 << 29;
35 const SUMMON = 1 << 30;
36 const LEAVING_COMBAT = 1 << 31;
37
38 const NOT_VICTIM = Self::HOSTILE_ACTION_RECEIVED.bits()
39 | Self::DAMAGE.bits()
40 | Self::NON_PERIODIC_DAMAGE.bits();
41 const ANY_DAMAGE = Self::DAMAGE.bits()
42 | Self::NON_PERIODIC_DAMAGE.bits()
43 | Self::DAMAGE_CANCELS_SCRIPT.bits();
44 }
45}
46
47impl SpellAuraInterruptFlags {
48 #[must_use]
49 pub const fn from_dbc(raw: u32) -> Self {
50 Self::from_bits_retain(raw)
51 }
52}