wowlab_engine_gamedata/game_data/
effect.rs1pub(crate) const CLASS_FAMILY_FLAGS: usize = 4;
5
6#[derive(Clone, Debug, Default)]
7pub(crate) struct EffectValues {
8 pub ap_coef: f64,
9 pub sp_coef: f64,
10 pub power_coefficient_mastery_add: f64,
11 pub base_points: f64,
12 pub amplitude: f64,
13 pub period: f64,
14 pub coefficient: f64,
15 pub radius: f64,
16 pub scaling_class: i32,
18 pub points_per_resource: f64,
19 pub chain_targets: i32,
20 pub chain_multiplier: f64,
21 pub misc_value_0: i32,
22 pub misc_value_1: i32,
24 pub shapeshift_form_flags: i32,
25 pub shapeshift_combat_round_time_ms: i32,
27 pub effect_type: i32,
29 pub effect_mechanic: i32,
31 pub effect_attributes: i32,
32 pub implicit_target_a: i32,
33 pub implicit_target_b: i32,
34 pub effect_aura: i32,
36 pub trigger_spell: i32,
37 pub class_mask: [i32; CLASS_FAMILY_FLAGS],
38 pub source_class_set: i32,
40}
41
42#[derive(Clone, Copy, Debug, Default)]
43pub(crate) struct SpellClassFlags {
44 pub class_set: i32,
45 pub class_mask: [i32; CLASS_FAMILY_FLAGS],
46}
47
48#[derive(Clone, Copy, Debug, Default, PartialEq)]
50pub struct AoeProperties {
51 pub effect_type: i32,
52 pub implicit_target_a: i32,
53 pub implicit_target_b: i32,
54 pub chain_targets: i32,
55 pub chain_multiplier: f64,
56 pub radius: f64,
57 pub max_affected_targets: u8,
58 pub treat_as_area_effect: bool,
59}