Skip to main content

wowlab_engine_domain/dbc/
game_data.rs

1//! Interpretation policy over resolved game data.
2
3#[cfg(test)]
4use wowlab_engine_gamedata::{
5    ResolvedDamageDef, ResolvedDamageKind, ResolvedDamageWeapon, ResolvedGameData,
6    ResolvedGameTables,
7};
8#[cfg(test)]
9use wowlab_types::{
10    combat::DamageSchool,
11    data::SpellScalingFlat,
12    sim::{EffectRef, SpellIdx},
13};
14
15#[cfg(test)]
16use super::{EffectLookup, SpellSchoolMask};
17
18mod damage;
19mod damage_def;
20mod error;
21mod scaling;
22mod trigger_program;
23mod triggered_damage;
24
25pub use damage::{damage_school, equipped_weapon_matches, is_physical};
26pub use damage_def::damage_def;
27pub use error::TriggerResolveError;
28#[cfg(test)]
29use error::TriggerResolveErrorKind;
30pub use scaling::{
31    CR_MULTIPLIER_BASE_ILVL, EXPANSION_LEVEL_SCALING, SCALING_CLASS_ARMOR_MULTIPLIED,
32    SCALING_CLASS_DAMAGE_REPLACE_STAT, SCALING_CLASS_DAMAGE_SECONDARY, SCALING_CLASS_PRIMARY_STAT,
33    enchantment_stat_value, item_effect_scaling_budget, item_scaled_effect_value,
34    spell_scaling_budget,
35};
36pub use trigger_program::{
37    CooldownMutation, TriggerCooldownTarget, TriggerOperation, TriggerProgram, TriggeredDamage,
38    resolve_effect_program, resolve_trigger_program,
39};
40pub use triggered_damage::resolve_triggered_damage;
41
42#[cfg(test)]
43#[path = "game_data_tests.rs"]
44mod tests;