Skip to main content

wowlab_engine_domain/rotation/buffer/
spell.rs

1wowlab_engine_macros::define_slot! {
2    #[slot(domain = "spell", kind = keyed, key_domain = "spell")]
3    pub struct SpellSlot {
4        #[expr("is_usable", Bool, SpellUsable)]
5        pub is_usable: i32,
6
7        #[expr("is_in_range", Bool, Direct)]
8        pub is_in_range: i32,
9
10        #[expr("is_enabled", Bool, Direct)]
11        pub is_enabled: i32,
12
13        _padding_after_is_enabled: i32,
14
15        #[expr("cost", Float, Direct)]
16        pub cost: f64,
17
18        #[expr("cast_time", Float, Direct)]
19        pub cast_time: f64,
20
21        #[expr("range", Float, Direct)]
22        pub range: f64,
23
24        #[expr("gcd", Float, Direct)]
25        pub gcd: f64,
26
27        #[expr("execute_time", Float, Direct)]
28        pub execute_time: f64,
29
30        #[expr("tick_time", Float, Direct)]
31        pub tick_time: f64,
32
33        #[expr("travel_time", Float, Direct)]
34        pub travel_time: f64,
35
36        #[expr("is_casting", Bool, Direct)]
37        pub is_casting: i32,
38
39        _padding_after_is_casting: i32,
40
41        #[expr("cast_remaining", Float, TimestampRemaining)]
42        pub cast_end: f64,
43
44        #[expr("is_channeling", Bool, Direct)]
45        pub is_channeling: i32,
46
47        _padding_after_is_channeling: i32,
48
49        #[expr("channel_remaining", Float, TimestampRemaining)]
50        pub channel_end: f64,
51
52        #[expr("is_executing", Bool, Direct)]
53        pub is_executing: i32,
54
55        _padding_after_is_executing: i32,
56
57        #[expr("execute_remaining", Float, TimestampRemaining)]
58        pub execute_end: f64,
59
60        #[expr("is_in_flight", Bool, Direct)]
61        pub is_in_flight: i32,
62
63        #[expr("in_flight_count", Int, Direct)]
64        pub in_flight_count: i32,
65
66        #[expr("in_flight_remaining", Float, TimestampRemaining)]
67        pub in_flight_end: f64,
68
69        #[expr("active_dots", Int, Direct)]
70        pub active_dots: i32,
71
72        _padding_after_active_dots: i32,
73
74        #[expr("last_used", Float, Direct)]
75        pub last_used: f64,
76
77        #[expr("secondary_cost", Float, Direct)]
78        pub secondary_cost: f64,
79
80        #[expr("resource_type", Int, Direct)]
81        pub resource_type_id: i32,
82
83        #[expr("secondary_resource_type", Int, Direct)]
84        pub secondary_resource_type_id: i32,
85    }
86}