pub struct ResolvedGameData {
pub(super) inner: Arc<ResolvedGameDataInner>,
}Expand description
Resolved game data for a single spec. Thread-safe, cheaply cloneable.
Fields§
§inner: Arc<ResolvedGameDataInner>Implementations§
Source§impl ResolvedGameData
impl ResolvedGameData
const EFFECT_CLASS_MASK_WORDS: usize = 4
Sourcepub fn effect_points(
&self,
spell_id: SpellIdx,
effect_index: u8,
mastery_points: f64,
) -> f64
pub fn effect_points( &self, spell_id: SpellIdx, effect_index: u8, mastery_points: f64, ) -> f64
Resolve an effect’s live point value; attribute-285 spells add mastery_points * sp_coef to base points.
Sourcepub fn effect_radius(&self, spell_id: SpellIdx, effect_index: u8) -> Option<f64>
pub fn effect_radius(&self, spell_id: SpellIdx, effect_index: u8) -> Option<f64>
Resolved radius for one effect, or None when that effect has no radius row.
Sourcepub fn max_effect_index(&self, spell_id: SpellIdx) -> u8
pub fn max_effect_index(&self, spell_id: SpellIdx) -> u8
Highest populated 1-based effect index for a spell; zero when no effects were resolved.
Sourcepub fn trigger_spell(
&self,
spell_id: SpellIdx,
effect_index: u8,
) -> Option<SpellIdx>
pub fn trigger_spell( &self, spell_id: SpellIdx, effect_index: u8, ) -> Option<SpellIdx>
DBC child spell referenced by an effect; None for absent, zero, or invalid IDs.
Sourcepub fn effect_base_points_spell(
&self,
spell_id: SpellIdx,
effect_index: u8,
) -> Option<SpellIdx>
pub fn effect_base_points_spell( &self, spell_id: SpellIdx, effect_index: u8, ) -> Option<SpellIdx>
Positive integral spell identity encoded in an effect’s base points.
Sourcepub fn chain_multiplier(&self, spell_id: SpellIdx, effect_index: u8) -> f64
pub fn chain_multiplier(&self, spell_id: SpellIdx, effect_index: u8) -> f64
Per-hop chain decay; DBC 0.0 means “no decay” and is treated as 1.0.
Sourcepub fn school_mask(&self, spell_id: SpellIdx) -> Option<i32>
pub fn school_mask(&self, spell_id: SpellIdx) -> Option<i32>
School mask for a spell; Some(0) for empty data, None when the spell is absent.
Sourcepub fn effect_class_mask_affects_spell(
&self,
source: SpellIdx,
effect_index: u8,
target: SpellIdx,
) -> bool
pub fn effect_class_mask_affects_spell( &self, source: SpellIdx, effect_index: u8, target: SpellIdx, ) -> bool
True when the effect and target spell have intersecting class-family masks.
Sourcepub fn require_base_points(
&self,
spell_id: SpellIdx,
effect_index: u8,
) -> Result<f64, GameDataError>
pub fn require_base_points( &self, spell_id: SpellIdx, effect_index: u8, ) -> Result<f64, GameDataError>
base_points for a required effect; errors on populated data when absent, tolerant 0.0 on the empty introspection map.
§Errors
Returns an error when populated data does not contain the requested effect.
Sourcepub fn require_points_per_resource(
&self,
spell_id: SpellIdx,
effect_index: u8,
) -> Result<f64, GameDataError>
pub fn require_points_per_resource( &self, spell_id: SpellIdx, effect_index: u8, ) -> Result<f64, GameDataError>
points_per_resource for a resource-scaled coefficient (e.g. combo points); errors on populated data when absent, tolerant 0.0 on the empty introspection map.
§Errors
Returns an error when populated data does not contain the requested effect.
Sourcepub fn scaling_class(&self, spell_id: SpellIdx, effect_index: u8) -> i32
pub fn scaling_class(&self, spell_id: SpellIdx, effect_index: u8) -> i32
Raw DBC scaling class for an effect; zero when the effect is absent or unscaled.
pub fn chain_targets(&self, spell_id: SpellIdx, effect_index: u8) -> i32
Sourcepub fn effect_type(&self, spell_id: SpellIdx, effect_index: u8) -> i32
pub fn effect_type(&self, spell_id: SpellIdx, effect_index: u8) -> i32
DBC Effect kind id (2 = school damage, 30 = energize, …); 0 when absent. 1-based index.
Sourcepub fn effect_mechanic(&self, spell_id: SpellIdx, effect_index: u8) -> i32
pub fn effect_mechanic(&self, spell_id: SpellIdx, effect_index: u8) -> i32
Raw DBC EffectMechanic; zero means the effect inherits the spell mechanic.
pub fn effect_attributes(&self, spell_id: SpellIdx, effect_index: u8) -> i32
pub fn implicit_target_a(&self, spell_id: SpellIdx, effect_index: u8) -> i32
pub fn implicit_target_b(&self, spell_id: SpellIdx, effect_index: u8) -> i32
Sourcepub fn effect_aura(&self, spell_id: SpellIdx, effect_index: u8) -> i32
pub fn effect_aura(&self, spell_id: SpellIdx, effect_index: u8) -> i32
DBC EffectAura kind id (29 = mod stat, 189 = mod rating, …); 0 when absent. 1-based index.
Sourcepub fn effect_misc_value_0(&self, spell_id: SpellIdx, effect_index: u8) -> i32
pub fn effect_misc_value_0(&self, spell_id: SpellIdx, effect_index: u8) -> i32
Effect misc_value_0 (school/mechanic/etc.); 0 when absent. effect_index is 1-based.
Sourcepub fn effect_misc_value_1(&self, spell_id: SpellIdx, effect_index: u8) -> i32
pub fn effect_misc_value_1(&self, spell_id: SpellIdx, effect_index: u8) -> i32
Effect misc_value_1 (ordering/label/etc.); 0 when absent. effect_index is 1-based.
Sourcepub fn shapeshift_form_flags(&self, spell_id: SpellIdx, effect_index: u8) -> i32
pub fn shapeshift_form_flags(&self, spell_id: SpellIdx, effect_index: u8) -> i32
Raw SpellShapeshiftForm.Flags for the form referenced by an effect.
Sourcepub fn shapeshift_combat_round_time_ms(
&self,
spell_id: SpellIdx,
effect_index: u8,
) -> i32
pub fn shapeshift_combat_round_time_ms( &self, spell_id: SpellIdx, effect_index: u8, ) -> i32
Raw SpellShapeshiftForm.CombatRoundTime in milliseconds for the form referenced by an effect.
pub fn ap_coef(&self, spell_id: SpellIdx, effect_index: u8) -> f64
pub fn sp_coef(&self, spell_id: SpellIdx, effect_index: u8) -> f64
pub fn power_coefficient_mastery_add( &self, spell_id: SpellIdx, effect_index: u8, ) -> f64
pub fn base_points(&self, spell_id: SpellIdx, effect_index: u8) -> f64
pub fn amplitude(&self, spell_id: SpellIdx, effect_index: u8) -> f64
pub fn period(&self, spell_id: SpellIdx, effect_index: u8) -> f64
pub fn coefficient(&self, spell_id: SpellIdx, effect_index: u8) -> f64
pub fn points_per_resource(&self, spell_id: SpellIdx, effect_index: u8) -> f64
Source§impl ResolvedGameData
impl ResolvedGameData
pub fn armor_constant(&self) -> f64
pub fn creature_armor(&self) -> f64
pub fn target_armor_mult(&self) -> f64
pub fn armor_constant_mod(&self) -> f64
pub fn armor_k(&self) -> f64
pub fn main_hand(&self) -> WeaponStats
pub fn off_hand(&self) -> Option<WeaponStats>
Sourcepub fn consumable_spells(&self) -> &ConsumableSpells
pub fn consumable_spells(&self) -> &ConsumableSpells
Consumables selected for this run (potion/flask/food/augment buff spells).
Source§impl ResolvedGameData
impl ResolvedGameData
Sourcepub fn passive_damage_mult(&self, spell_id: SpellIdx, is_periodic: bool) -> f64
pub fn passive_damage_mult(&self, spell_id: SpellIdx, is_periodic: bool) -> f64
Static damage multiplier for a spell from passive spec/class auras; 1.0 when none apply.
Sourcepub fn passive_direct_damage_flat(
&self,
spell_id: SpellIdx,
mastery_points: f64,
) -> f64
pub fn passive_direct_damage_flat( &self, spell_id: SpellIdx, mastery_points: f64, ) -> f64
Flat direct-damage spell modifier evaluated with live mastery points.
Sourcepub fn passive_crit_chance(&self, spell_id: SpellIdx) -> f64
pub fn passive_crit_chance(&self, spell_id: SpellIdx) -> f64
Static flat crit-chance bonus (percent points) for a spell from passive spec/class auras; 0.0 when none apply.
Sourcepub fn passive_crit_chance_mult(&self, spell_id: SpellIdx) -> f64
pub fn passive_crit_chance_mult(&self, spell_id: SpellIdx) -> f64
Static crit-chance multiplier for a spell from passive spec/class auras; 1.0 when none apply.
Sourcepub fn passive_crit_damage_bonus(&self, spell_id: SpellIdx) -> f64
pub fn passive_crit_damage_bonus(&self, spell_id: SpellIdx) -> f64
Static crit-damage bonus (percent points) for a spell from passive spec/class auras; 0.0 when none apply.
Sourcepub fn crit_damage_per_crit_chance(&self) -> &[(i32, f64)]
pub fn crit_damage_per_crit_chance(&self) -> &[(i32, f64)]
Player-wide crit-damage terms scaled by the caster’s own crit chance, as (DBC school mask, percent points).
Sourcepub fn crit_bonus_per_crit_chance(&self, spell_id: SpellIdx) -> f64
pub fn crit_bonus_per_crit_chance(&self, spell_id: SpellIdx) -> f64
Crit-bonus percent points of the caster’s own crit chance for a spell; 0.0 when none apply.
Sourcepub fn auto_attack_damage_mult(&self) -> f64
pub fn auto_attack_damage_mult(&self) -> f64
Static auto-attack damage multiplier from passive spec/class auras.
Sourcepub fn pet_damage_mult(&self) -> f64
pub fn pet_damage_mult(&self) -> f64
Static pet damage multiplier from passive spec/class auras.
Sourcepub fn guardian_damage_mult(&self) -> f64
pub fn guardian_damage_mult(&self) -> f64
Static guardian damage multiplier from passive spec/class auras.
Sourcepub fn pet_attack_power_inheritance_mult(&self, npc_id: u32) -> f64
pub fn pet_attack_power_inheritance_mult(&self, npc_id: u32) -> f64
Aura-382 multiplier for attack power inherited by npc_id.
Sourcepub fn pet_spell_power_inheritance_mult(&self, npc_id: u32) -> f64
pub fn pet_spell_power_inheritance_mult(&self, npc_id: u32) -> f64
Aura-382 multiplier for spell power inherited by npc_id.
Sourcepub fn is_specialization_spell(&self, spell_id: SpellIdx) -> bool
pub fn is_specialization_spell(&self, spell_id: SpellIdx) -> bool
Whether spell_id is a baseline spec-granted spell (known without being talented).
Sourcepub fn is_folded_passive(&self, spell_id: SpellIdx) -> bool
pub fn is_folded_passive(&self, spell_id: SpellIdx) -> bool
Whether spell_id was folded into the static per-spell passive modifier maps (live aura resolution must skip these to avoid double-applying).
Sourcepub fn folded_passive_spells(&self) -> &[SpellIdx]
pub fn folded_passive_spells(&self) -> &[SpellIdx]
Passive spell ids whose modifier effects were folded into static spell values.
Sourcepub fn class_target_debuffs(&self) -> &[SpellIdx]
pub fn class_target_debuffs(&self) -> &[SpellIdx]
Damage-taken debuffs the class applies to its own target for the whole encounter.
They are derived from the baseline class passives that describe them (Mystic Touch, Chaos Brand).
Source§impl ResolvedGameData
impl ResolvedGameData
pub fn new() -> Self
Sourcepub fn from_environment(
level: u32,
creature_armor: f64,
armor_constant: f64,
) -> Self
pub fn from_environment( level: u32, creature_armor: f64, armor_constant: f64, ) -> Self
Builds the minimal resolved environment needed by combat calculations.
Sourcepub fn builder() -> ResolvedGameDataBuilder
pub fn builder() -> ResolvedGameDataBuilder
Starts a resolved game-data builder.
Source§impl ResolvedGameData
impl ResolvedGameData
pub fn curves(&self) -> &ResolvedCurves
Sourcepub fn level(&self) -> u32
pub fn level(&self) -> u32
Character level this data was resolved at; 0 for default/introspection data.
pub fn game_tables(&self) -> &ResolvedGameTables
Sourcepub fn health_per_stamina(&self, level: u32) -> Option<f64>
pub fn health_per_stamina(&self, level: u32) -> Option<f64>
Health granted per point of Stamina at level; None when the level row is absent.
Source§impl ResolvedGameData
impl ResolvedGameData
Sourcepub fn empower_cast_time_ms(&self, spell_id: SpellIdx, rank: u8) -> Option<u32>
pub fn empower_cast_time_ms(&self, spell_id: SpellIdx, rank: u8) -> Option<u32>
Cumulative hold time needed to release a DBC empower spell at rank.
One-based ranks cumulatively consume zero-based DBC duration segments.
Sourcepub fn empower_cast_times_ms(&self, spell_id: SpellIdx) -> Option<Vec<u32>>
pub fn empower_cast_times_ms(&self, spell_id: SpellIdx) -> Option<Vec<u32>>
Cumulative hold times for every one-based release rank of a DBC empower spell.
Sourcepub fn require_empower_cast_times_ms(
&self,
spell_id: SpellIdx,
) -> Result<Vec<u32>, GameDataError>
pub fn require_empower_cast_times_ms( &self, spell_id: SpellIdx, ) -> Result<Vec<u32>, GameDataError>
Required cumulative hold times for every release rank of a DBC empower spell.
§Errors
Returns an error when the spell has no valid resolved empower stages.
Sourcepub fn is_empower_spell(&self, spell_id: SpellIdx) -> bool
pub fn is_empower_spell(&self, spell_id: SpellIdx) -> bool
Whether the spell has a SpellEmpower row in structured game data.
Sourcepub fn require_empower_cast_time_ms(
&self,
spell_id: SpellIdx,
rank: u8,
) -> Result<u32, GameDataError>
pub fn require_empower_cast_time_ms( &self, spell_id: SpellIdx, rank: u8, ) -> Result<u32, GameDataError>
Required cumulative empower hold time for a one-based release rank.
§Errors
Returns an error when the spell has no such resolved empower rank.
Sourcepub fn empower_max_rank(&self, spell_id: SpellIdx) -> Option<u8>
pub fn empower_max_rank(&self, spell_id: SpellIdx) -> Option<u8>
Number of release ranks defined by a spell’s DBC empower stages.
Sourcepub fn require_empower_max_rank(
&self,
spell_id: SpellIdx,
) -> Result<u8, GameDataError>
pub fn require_empower_max_rank( &self, spell_id: SpellIdx, ) -> Result<u8, GameDataError>
Required number of release ranks defined by a spell’s DBC empower stages.
§Errors
Returns an error when the spell has no resolved empower stages or their count exceeds u8.
pub fn is_empty(&self) -> bool
pub fn spell_resources(&self, spell_id: SpellIdx) -> Option<SpellResources>
pub fn hit_chance_modifier(&self, spell_id: SpellIdx, initial: f64) -> f64
pub fn target_resistance_modifier( &self, spell_id: SpellIdx, initial: f64, ) -> f64
pub fn dispel_resistance_modifier( &self, spell_id: SpellIdx, initial: f64, ) -> f64
Sourcepub fn dispel_type(&self, spell_id: SpellIdx) -> i32
pub fn dispel_type(&self, spell_id: SpellIdx) -> i32
Raw DBC dispel family assigned to this spell.
Sourcepub fn spell_mechanic(&self, spell_id: SpellIdx) -> i32
pub fn spell_mechanic(&self, spell_id: SpellIdx) -> i32
Raw DBC SpellCategories.Mechanic identity.
pub fn cooldown_s(&self, spell_id: SpellIdx) -> Option<f64>
pub fn cast_time_ms(&self, spell_id: SpellIdx) -> Option<u32>
pub fn breaks_stealth(&self, spell_id: SpellIdx) -> Option<bool>
Sourcepub fn proc_chance(&self, spell_id: SpellIdx) -> Option<f64>
pub fn proc_chance(&self, spell_id: SpellIdx) -> Option<f64>
SpellAuraOptions.ProcChance as a 0..=1 fraction; None when the spell is unresolved.
Sourcepub fn proc_charges(&self, spell_id: SpellIdx) -> Option<u8>
pub fn proc_charges(&self, spell_id: SpellIdx) -> Option<u8>
SpellAuraOptions.ProcCharges; zero means unlimited.
Sourcepub fn proc_category_recovery_ms(&self, spell_id: SpellIdx) -> Option<u32>
pub fn proc_category_recovery_ms(&self, spell_id: SpellIdx) -> Option<u32>
Non-negative SpellAuraOptions.ProcCategoryRecovery in milliseconds.
Sourcepub fn rppm(&self, spell_id: SpellIdx) -> Option<(f64, i32)>
pub fn rppm(&self, spell_id: SpellIdx) -> Option<(f64, i32)>
Base real-procs-per-minute rate and raw scaling flags.
Sourcepub fn proc_chance_with_flat_bonus(
&self,
spell_id: SpellIdx,
runtime_flat: f64,
) -> Option<f64>
pub fn proc_chance_with_flat_bonus( &self, spell_id: SpellIdx, runtime_flat: f64, ) -> Option<f64>
Proc chance after adding a runtime flat fraction before passive percentage modifiers.
pub fn charges(&self, spell_id: SpellIdx) -> Option<u8>
pub fn charge_cd_s(&self, spell_id: SpellIdx) -> Option<f64>
pub fn category_cooldown_s(&self, spell_id: SpellIdx) -> Option<f64>
pub fn gcd_ms(&self, spell_id: SpellIdx) -> Option<u32>
pub fn aura_duration_ms(&self, spell_id: SpellIdx) -> Option<u32>
pub fn aura_max_stacks(&self, spell_id: SpellIdx) -> Option<u8>
pub fn aura_doses(&self, spell_id: SpellIdx) -> Option<u8>
pub fn aura_tick_ms(&self, spell_id: SpellIdx) -> Option<u32>
Sourcepub fn channel_tick_count(&self, spell_id: SpellIdx) -> Option<u8>
pub fn channel_tick_count(&self, spell_id: SpellIdx) -> Option<u8>
Tick count of a channel. cast_time_ms IS the channel duration.
Sourcepub fn power_max(&self, type_id: i32) -> Option<f64>
pub fn power_max(&self, type_id: i32) -> Option<f64>
Max base power for a power type (power_type_enum); None when the type is absent.
Sourcepub fn power_display_divisor(&self, type_id: i32) -> f64
pub fn power_display_divisor(&self, type_id: i32) -> f64
Display divisor for raw DBC flat power amounts (runic power and rage store tenths); 1.0 when the type is absent.
Sourcepub fn cost_entry(&self, spell_id: SpellIdx, secondary: bool) -> u8
pub fn cost_entry(&self, spell_id: SpellIdx, secondary: bool) -> u8
1-based DBC power-cost entry backing the spell’s cost in the given pool; 0 = no such cost, and cost modifiers route to entries by this index.
Sourcepub fn power_regen_for_max(&self, type_id: i32, maximum: f64) -> Option<f64>
pub fn power_regen_for_max(&self, type_id: i32, maximum: f64) -> Option<f64>
Combat regeneration when the DBC expresses regeneration as a percentage of maximum power (notably mana).
Sourcepub fn power_auto_attack_gain_multiplier(&self, type_id: i32) -> f64
pub fn power_auto_attack_gain_multiplier(&self, type_id: i32) -> f64
Multiplier for auto-attack gains of the named resource (aura 213 passives).
Sourcepub fn power_cost_percent(&self, type_id: i32) -> f64
pub fn power_cost_percent(&self, type_id: i32) -> f64
Additive spell-cost percent for the named resource (aura 423 passives).
Sourcepub fn power_default(&self, type_id: i32) -> Option<f64>
pub fn power_default(&self, type_id: i32) -> Option<f64>
Default (starting) power for a power type; None when the type is absent.
Sourcepub fn scaled_power_amount(&self, type_id: i32, raw: f64) -> f64
pub fn scaled_power_amount(&self, type_id: i32, raw: f64) -> f64
Descale a raw DBC power amount for type_id using its display modifier.
Sourcepub fn spell_override(&self, overridden_id: SpellIdx) -> Option<SpellIdx>
pub fn spell_override(&self, overridden_id: SpellIdx) -> Option<SpellIdx>
Returns the replacement for an overridden spell.
use wowlab_engine_gamedata::ResolvedGameData;
use wowlab_types::sim::AuraIdx;
let data = ResolvedGameData::default();
let aura = AuraIdx::from_raw(1);
data.spell_override(aura);Sourcepub fn learned_spells(
&self,
teacher: SpellIdx,
) -> impl ExactSizeIterator<Item = SpellIdx> + '_
pub fn learned_spells( &self, teacher: SpellIdx, ) -> impl ExactSizeIterator<Item = SpellIdx> + '_
Iterates learned spells for teacher in resolver insertion order (deduplicated, first-occurrence order retained); missing teachers yield an empty iterator.
Sourcepub fn has_label(&self, spell: SpellIdx, label: i32) -> bool
pub fn has_label(&self, spell: SpellIdx, label: i32) -> bool
Whether spell carries the given SpellLabel id (affect-list gating).
pub(super) fn spell_props(&self, spell_id: SpellIdx) -> Option<&SpellProps>
fn aura_props(&self, spell_id: SpellIdx) -> Option<&AuraProps>
fn power_props(&self, type_id: i32) -> Option<&PowerTypeProps>
Sourcepub fn require_cost(&self, spell_id: SpellIdx) -> Result<f64, GameDataError>
pub fn require_cost(&self, spell_id: SpellIdx) -> Result<f64, GameDataError>
Resource cost, required to be present on populated game data.
§Errors
Returns an error when the spell has no resolved cost.
Sourcepub fn require_cooldown_s(
&self,
spell_id: SpellIdx,
) -> Result<f64, GameDataError>
pub fn require_cooldown_s( &self, spell_id: SpellIdx, ) -> Result<f64, GameDataError>
Cooldown in seconds, required on populated data.
§Errors
Returns an error when the spell has no resolved cooldown.
Sourcepub fn require_aura_max_stacks(
&self,
spell_id: SpellIdx,
) -> Result<u8, GameDataError>
pub fn require_aura_max_stacks( &self, spell_id: SpellIdx, ) -> Result<u8, GameDataError>
Max aura stacks, required to be present on populated game data.
§Errors
Returns an error when the spell has no resolved aura stack limit.
Sourcepub fn require_aura_duration_ms(
&self,
spell_id: SpellIdx,
) -> Result<u32, GameDataError>
pub fn require_aura_duration_ms( &self, spell_id: SpellIdx, ) -> Result<u32, GameDataError>
Aura duration in milliseconds, required on populated game data.
§Errors
Returns an error when the spell has no resolved aura duration.
Sourcepub fn require_cast_time_ms(
&self,
spell_id: SpellIdx,
) -> Result<u32, GameDataError>
pub fn require_cast_time_ms( &self, spell_id: SpellIdx, ) -> Result<u32, GameDataError>
Cast time in milliseconds, required on populated game data.
§Errors
Returns an error when the spell has no resolved cast time.
Sourcepub fn require_charge_cd_s(
&self,
spell_id: SpellIdx,
) -> Result<f64, GameDataError>
pub fn require_charge_cd_s( &self, spell_id: SpellIdx, ) -> Result<f64, GameDataError>
Charge cooldown in seconds, required on populated game data.
§Errors
Returns an error when the spell has no resolved charge cooldown.
Sourcepub fn require_proc_category_recovery_ms(
&self,
spell_id: SpellIdx,
) -> Result<u32, GameDataError>
pub fn require_proc_category_recovery_ms( &self, spell_id: SpellIdx, ) -> Result<u32, GameDataError>
Proc-category internal cooldown in milliseconds, required on populated data.
§Errors
Returns an error when the driver spell is absent.
Sourcepub fn require_proc_type_mask(
&self,
spell_id: SpellIdx,
) -> Result<u64, GameDataError>
pub fn require_proc_type_mask( &self, spell_id: SpellIdx, ) -> Result<u64, GameDataError>
Combined DBC proc event mask, required on populated data.
§Errors
Returns an error when the driver spell is absent.
Sourcepub fn require_channel_tick_count(
&self,
spell_id: SpellIdx,
) -> Result<u8, GameDataError>
pub fn require_channel_tick_count( &self, spell_id: SpellIdx, ) -> Result<u8, GameDataError>
Channel tick count, required to be present on populated game data.
§Errors
Returns an error when the spell has no resolved channel tick count.
pub fn defense_type(&self, spell_id: SpellIdx) -> Option<i32>
pub fn shapeshift_required_mask(&self, spell_id: SpellIdx) -> Option<u64>
pub fn shapeshift_excluded_mask(&self, spell_id: SpellIdx) -> Option<u64>
pub fn gain(&self, spell_id: SpellIdx) -> Option<f64>
pub fn secondary_gain(&self, spell_id: SpellIdx) -> Option<f64>
pub fn cooldown_hasted(&self, spell_id: SpellIdx) -> Option<bool>
pub fn gcd_haste_type(&self, spell_id: SpellIdx) -> Option<GcdHasteType>
pub fn hasted_ticks(&self, spell_id: SpellIdx) -> Option<bool>
pub fn duration_hasted(&self, spell_id: SpellIdx) -> Option<bool>
pub fn cannot_crit(&self, spell_id: SpellIdx) -> Option<bool>
pub fn requires_stealth(&self, spell_id: SpellIdx) -> Option<bool>
pub fn requires_behind_target(&self, spell_id: SpellIdx) -> Option<bool>
pub fn requires_unshifted(&self, spell_id: SpellIdx) -> Option<bool>
pub fn allow_while_unshifted(&self, spell_id: SpellIdx) -> Option<bool>
pub fn treat_as_periodic(&self, spell_id: SpellIdx) -> Option<bool>
pub fn treat_as_area_effect(&self, spell_id: SpellIdx) -> Option<bool>
pub fn usable_while_casting(&self, spell_id: SpellIdx) -> Option<bool>
pub fn usable_while_moving(&self, spell_id: SpellIdx) -> Option<bool>
pub fn asynchronous_stacks(&self, spell_id: SpellIdx) -> Option<bool>
pub fn disable_player_damage_multiplier( &self, spell_id: SpellIdx, ) -> Option<bool>
pub fn disable_target_damage_multiplier( &self, spell_id: SpellIdx, ) -> Option<bool>
pub fn disable_positive_target_damage_multiplier( &self, spell_id: SpellIdx, ) -> Option<bool>
pub fn requires_off_hand(&self, spell_id: SpellIdx) -> Option<bool>
pub fn requires_main_hand(&self, spell_id: SpellIdx) -> Option<bool>
pub fn refresh_behavior(&self, spell_id: SpellIdx) -> Option<RefreshBehavior>
pub fn caster_aura_state(&self, spell_id: SpellIdx) -> Option<i32>
pub fn caster_aura_spell(&self, spell_id: SpellIdx) -> Option<i32>
pub fn exclude_caster_aura_state(&self, spell_id: SpellIdx) -> Option<i32>
pub fn exclude_caster_aura_spell(&self, spell_id: SpellIdx) -> Option<i32>
pub fn target_aura_state(&self, spell_id: SpellIdx) -> Option<i32>
pub fn target_aura_spell(&self, spell_id: SpellIdx) -> Option<i32>
pub fn exclude_target_aura_state(&self, spell_id: SpellIdx) -> Option<i32>
pub fn exclude_target_aura_spell(&self, spell_id: SpellIdx) -> Option<i32>
pub fn aura_interrupt_flags(&self, spell_id: SpellIdx) -> Option<u32>
pub fn spell_interrupt_flags(&self, spell_id: SpellIdx) -> Option<u32>
pub fn channel_interrupt_flags(&self, spell_id: SpellIdx) -> Option<u32>
pub fn rolling_periodic(&self, spell_id: SpellIdx) -> Option<bool>
pub fn tick_may_crit(&self, spell_id: SpellIdx) -> Option<bool>
pub fn tick_on_application(&self, spell_id: SpellIdx) -> Option<bool>
Sourcepub fn proc_attributes(&self, spell_id: SpellIdx) -> Option<u32>
pub fn proc_attributes(&self, spell_id: SpellIdx) -> Option<u32>
Raw SpellProcEntry.AttributesMask; zero means no proc attributes.
Sourcepub fn proc_type_mask(&self, spell_id: SpellIdx) -> Option<u64>
pub fn proc_type_mask(&self, spell_id: SpellIdx) -> Option<u64>
Combined SpellAuraOptions.ProcTypeMask_0/1 event mask.
pub fn rppm_haste_scales(&self, spell_id: SpellIdx) -> Option<bool>
pub fn rppm_crit_scales(&self, spell_id: SpellIdx) -> Option<bool>
pub fn equipped_item_requirement( &self, spell_id: SpellIdx, ) -> Option<EquippedItemRequirement>
pub fn cooldown_category( &self, spell_id: SpellIdx, ) -> Option<CooldownCategoryId>
pub fn charge_category(&self, spell_id: SpellIdx) -> Option<CooldownCategoryId>
pub fn start_recovery_category( &self, spell_id: SpellIdx, ) -> Option<CooldownCategoryId>
pub fn spell_attributes(&self, spell_id: SpellIdx) -> Option<&[i32]>
pub fn projectile_speed(&self, spell_id: SpellIdx) -> Option<f64>
pub fn launch_delay_s(&self, spell_id: SpellIdx) -> Option<f64>
pub fn hostile_min_range(&self, spell_id: SpellIdx) -> Option<f64>
pub fn hostile_max_range(&self, spell_id: SpellIdx) -> Option<f64>
pub fn radius(&self, spell_id: SpellIdx) -> Option<f64>
pub fn chain_target_range(&self, spell_id: SpellIdx) -> Option<f64>
pub fn max_affected_targets(&self, spell_id: SpellIdx) -> Option<u8>
pub fn cone_half_angle(&self, spell_id: SpellIdx) -> Option<f64>
pub fn fixed_travel_time(&self, spell_id: SpellIdx) -> Option<bool>
pub fn ignores_line_of_sight(&self, spell_id: SpellIdx) -> Option<bool>
pub fn explicit_target_mask(&self, spell_id: SpellIdx) -> Option<u32>
pub fn required_explicit_target_mask(&self, spell_id: SpellIdx) -> Option<u32>
Trait Implementations§
Source§impl Clone for ResolvedGameData
impl Clone for ResolvedGameData
Source§fn clone(&self) -> ResolvedGameData
fn clone(&self) -> ResolvedGameData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more