wowlab_types/types/sim/
snapshot.rs1use serde::{Deserialize, Serialize};
2
3bitflags::bitflags! {
4 #[derive(Copy, Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
5 #[cfg_attr(feature = "wasm", derive(tsify::Tsify))]
6 #[cfg_attr(feature = "wasm", tsify(into_wasm_abi, from_wasm_abi))]
7 pub struct SnapshotFlags: u32 {
8 const ATTACK_POWER = 1 << 0;
9 const SPELL_POWER = 1 << 1;
10 const CRIT = 1 << 2;
11 const HASTE = 1 << 3;
12 const VERSATILITY = 1 << 4;
13 const MASTERY = 1 << 5;
14 const DA_MULTIPLIER = 1 << 6;
15 const TA_MULTIPLIER = 1 << 7;
16 const PERSISTENT_MULT = 1 << 8;
17 const PLAYER_MULT = 1 << 9;
18
19 const DOT_PHYSICAL = Self::ATTACK_POWER.bits() | Self::PERSISTENT_MULT.bits();
20 const DOT_MAGIC = Self::SPELL_POWER.bits() | Self::PERSISTENT_MULT.bits();
21 const ALL = Self::ATTACK_POWER.bits()
22 | Self::SPELL_POWER.bits()
23 | Self::CRIT.bits()
24 | Self::HASTE.bits()
25 | Self::VERSATILITY.bits()
26 | Self::MASTERY.bits()
27 | Self::DA_MULTIPLIER.bits()
28 | Self::TA_MULTIPLIER.bits()
29 | Self::PERSISTENT_MULT.bits()
30 | Self::PLAYER_MULT.bits();
31 }
32}