Skip to main content

wowlab_engine_combat/state/combat_state/
config.rs

1use super::{BaseStats, MasteryFn, ResolvedEncounter, ResolvedGameData, SpecConfig, SpellIdx};
2
3/// Player position relative to the current hostile target.
4#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5#[non_exhaustive]
6pub enum AttackPosition {
7    Front,
8    #[default]
9    Behind,
10}
11
12/// Per-iteration-constant configuration (stats, encounter, game data, spec config).
13#[derive(Debug)]
14pub struct CombatConfig {
15    pub base_stats: BaseStats,
16    pub min_primary_cost: f64,
17    pub haste_regen: bool,
18    pub game_data: ResolvedGameData,
19    pub encounter: ResolvedEncounter,
20    pub mastery_hook: MasteryFn,
21    pub mastery_crit_damage: MasteryFn,
22    pub mastery_spell: SpellIdx,
23    pub(crate) spec_config: Box<dyn SpecConfig>,
24    pub bugs: wowlab_engine_ports::BugToggles,
25    pub cast_latency: wowlab_engine_ports::CastLatency,
26    pub raid_events: Vec<wowlab_engine_ports::RaidEventConfig>,
27    pub external_buffs: Vec<wowlab_engine_ports::ExternalBuffConfig>,
28}