wowlab_engine_application/game_data/spells/
context.rs1use std::collections::VecDeque;
2
3use wowlab_engine_domain::dbc::PowerModifiers;
4use wowlab_engine_gamedata::ResolvedGameDataBuilder;
5use wowlab_engine_ports::{DynDataResolver, TalentSelection};
6use wowlab_types::sim::FastSet;
7
8pub(crate) struct SpellResolutionContext<'a, 'resolver> {
9 pub builder: &'a mut ResolvedGameDataBuilder,
10 pub resolver: &'a DynDataResolver<'resolver>,
11 pub talents: &'a [TalentSelection],
12 pub passives: &'a [wowlab_engine_domain::dbc::RankedPassive],
13 pub crit_chance_scaled: &'a [wowlab_engine_domain::dbc::CritChanceScaledCritDamage],
14 pub effect_overrides: &'a [((u32, u8), f64)],
15 pub power_modifiers: &'a PowerModifiers,
16 pub active_aura_spell_ids: &'a FastSet<i32>,
17 pub primary_resource_type: i32,
18 pub secondary_resource_type: Option<i32>,
19 pub required_spell_ids: &'a FastSet<u32>,
20 pub pending: &'a mut VecDeque<u32>,
21 pub resolved: &'a mut FastSet<u32>,
22}