lemon_mbl/traits/
monster_data_access.rs1use crate::enums::monster_elemental_type::MonsterElementalType;
2use crate::enums::monster_flag::MonsterFlag;
3use crate::enums::monster_physical_type::MonsterPhysicalType;
4
5pub trait MonsterDataAccess {
6 fn get_id(&self) -> u16;
7 fn get_internal_name(&self) -> &str;
8 fn get_vitality(&self) -> u32;
9 fn get_potential(&self) -> u32;
10 fn get_control(&self) -> u32;
11 fn get_strength(&self) -> u32;
12 fn get_resilience(&self) -> u32;
13 fn get_speed(&self) -> u32;
14 fn get_technique(&self) -> u32;
15 fn get_agility(&self) -> u32;
16 fn get_vigilance(&self) -> u32;
17 fn get_focus(&self) -> u32;
18 fn get_flags(&self) -> &[MonsterFlag];
19 fn has_flag(&self, flag: MonsterFlag) -> bool;
20 fn get_physical_types(&self) -> &[MonsterPhysicalType];
21 fn has_physical_type(&self, physical_type: MonsterPhysicalType) -> bool;
22 fn get_elemental_types(&self) -> &[MonsterElementalType];
23 fn has_elemental_type(&self, elemental_type: MonsterElementalType) -> bool;
24}