Skip to main content

reefast/eve_type/
effect.rs

1use crate::consts::EveEffectCategory;
2use crate::defines::ReeInt;
3
4pub struct Effect {
5    pub id: ReeInt,
6    pub category_id: EveEffectCategory,
7    pub is_offensive: bool,
8    pub is_assistance: bool,
9    pub duration_attr_id: Option<ReeInt>,
10    pub discharge_attr_id: Option<ReeInt>,
11    pub range_attr_id: Option<ReeInt>,
12    pub falloff_attr_id: Option<ReeInt>,
13    pub tracking_speed_attr_id: Option<ReeInt>,
14    pub fitting_usage_chance_attr_id: Option<ReeInt>,
15    pub resist_attr_id: Option<ReeInt>,
16}
17
18impl Effect {
19    pub fn new(
20        id: ReeInt,
21        category_id: EveEffectCategory,
22        is_offensive: bool,
23        is_assistance: bool,
24        duration_attr_id: Option<ReeInt>,
25        discharge_attr_id: Option<ReeInt>,
26        range_attr_id: Option<ReeInt>,
27        falloff_attr_id: Option<ReeInt>,
28        tracking_speed_attr_id: Option<ReeInt>,
29        fitting_usage_chance_attr_id: Option<ReeInt>,
30        resist_attr_id: Option<ReeInt>,
31    ) -> Effect {
32        Effect {
33            id,
34            category_id,
35            is_offensive,
36            is_assistance,
37            duration_attr_id,
38            discharge_attr_id,
39            range_attr_id,
40            falloff_attr_id,
41            tracking_speed_attr_id,
42            fitting_usage_chance_attr_id,
43            resist_attr_id,
44        }
45    }
46}