Skip to main content

SpellProps

Struct SpellProps 

Source
pub struct SpellProps {
Show 100 fields pub attributes: Vec<i32>, pub defense_type: i32, pub dispel_type: i32, pub mechanic: i32, pub can_empower: bool, pub empower_stages: Vec<EmpowerStage>, pub equipped_item_requirement: Option<EquippedItemRequirement>, pub shapeshift_required_mask: u64, pub shapeshift_excluded_mask: u64, pub caster_aura_spell: i32, pub caster_aura_state: i32, pub exclude_caster_aura_spell: i32, pub exclude_caster_aura_state: i32, pub target_aura_spell: i32, pub target_aura_state: i32, pub exclude_target_aura_spell: i32, pub exclude_target_aura_state: i32, pub aura_interrupt_flags: u32, pub spell_interrupt_flags: u32, pub channel_interrupt_flags: u32, pub cost: f64, pub optional_cost: f64, pub cost_pct: ResourceCostPercent, pub max_cost_pct: ResourceCostPercent, pub optional_cost_pct: ResourceCostPercent, pub gain: f64, pub health_cost: f64, pub health_cost_pct: f64, pub health_max_cost_pct: f64, pub health_optional_cost: f64, pub health_optional_cost_pct: ResourceCostPercent, pub primary_cost_entry: u8, pub secondary_cost_entry: u8, pub secondary_cost: f64, pub secondary_optional_cost: f64, pub secondary_gain: f64, pub cooldown_ms: i32, pub cooldown_category: Option<CooldownCategoryId>, pub category_cooldown_ms: i32, pub charge_category: Option<CooldownCategoryId>, pub cast_time_ms: i32, pub duration_ms: i32, pub max_stacks: i32, pub max_charges: i32, pub charge_cd_ms: i32, pub start_recovery_category: Option<CooldownCategoryId>, pub gcd_ms: i32, pub projectile_speed: f64, pub launch_delay_s: f64, pub hostile_min_range: f64, pub hostile_max_range: f64, pub radius: f64, pub chain_target_range: f64, pub max_affected_targets: u8, pub cone_half_angle: f64, pub fixed_travel_time: bool, pub ignores_line_of_sight: bool, pub explicit_target_mask: u32, pub required_explicit_target_mask: u32, pub cooldown_hasted: bool, pub gcd_haste_type: GcdHasteType, pub hasted_ticks: bool, pub duration_hasted: bool, pub mastery_affects_points: bool, pub cannot_crit: bool, pub requires_unshifted: bool, pub allow_while_unshifted: bool, pub requires_stealth: bool, pub requires_behind_target: bool, pub treat_as_periodic: bool, pub treat_as_area_effect: bool, pub does_not_break_stealth: bool, pub usable_while_casting: bool, pub usable_while_moving: bool, pub asynchronous_stacks: bool, pub disable_player_damage_multiplier: bool, pub disable_target_damage_multiplier: bool, pub disable_positive_target_damage_multiplier: bool, pub requires_main_hand: bool, pub requires_off_hand: bool, pub refresh_behavior: RefreshBehavior, pub rolling_periodic: bool, pub tick_may_crit: bool, pub tick_on_application: bool, pub proc_chance_pct: i32, pub proc_charges: i32, pub proc_attributes: u32, pub proc_chance_multiplier_delta: f64, pub proc_type_mask: u64, pub proc_category_recovery_ms: i32, pub rppm_base_rate: f64, pub rppm_flags: i32, pub rppm_haste_scales: bool, pub rppm_crit_scales: bool, pub hit_chance_flat: f64, pub hit_chance_multiplier: f64, pub target_resistance_flat: f64, pub target_resistance_multiplier: f64, pub dispel_resistance_flat: f64, pub dispel_resistance_multiplier: f64,
}
Expand description

Spell-level properties resolved from game data.

Fields§

§attributes: Vec<i32>§defense_type: i32

Raw SpellMisc.DefenseType; 2 is melee and 3 is ranged.

§dispel_type: i32

Raw SpellCategories.DispelType; zero means the aura is not dispellable.

§mechanic: i32

Raw SpellCategories.Mechanic; zero means the spell has no mechanic tag.

§can_empower: bool§empower_stages: Vec<EmpowerStage>§equipped_item_requirement: Option<EquippedItemRequirement>§shapeshift_required_mask: u64§shapeshift_excluded_mask: u64§caster_aura_spell: i32§caster_aura_state: i32§exclude_caster_aura_spell: i32§exclude_caster_aura_state: i32§target_aura_spell: i32§target_aura_state: i32§exclude_target_aura_spell: i32§exclude_target_aura_state: i32§aura_interrupt_flags: u32

Primary SpellAuraInterruptFlags word.

§spell_interrupt_flags: u32

DBC SpellInterrupts.InterruptFlags.

§channel_interrupt_flags: u32

Primary DBC channel-interrupt flag word.

§cost: f64§optional_cost: f64§cost_pct: ResourceCostPercent§max_cost_pct: ResourceCostPercent§optional_cost_pct: ResourceCostPercent§gain: f64§health_cost: f64

Flat health paid by the caster.

§health_cost_pct: f64

Percent of caster maximum health paid by the caster.

§health_max_cost_pct: f64

Additional percent of maximum health spent up to the caster’s current health.

§health_optional_cost: f64

Additional flat health spent up to the caster’s current health.

§health_optional_cost_pct: ResourceCostPercent

Additional percentage health spent up to the caster’s current health.

§primary_cost_entry: u8

1-based DBC power-cost entry backing cost (0 = none); cost modifiers route by entry.

§secondary_cost_entry: u8

1-based DBC power-cost entry backing secondary_cost (0 = none).

§secondary_cost: f64§secondary_optional_cost: f64§secondary_gain: f64§cooldown_ms: i32§cooldown_category: Option<CooldownCategoryId>§category_cooldown_ms: i32§charge_category: Option<CooldownCategoryId>§cast_time_ms: i32§duration_ms: i32§max_stacks: i32§max_charges: i32§charge_cd_ms: i32§start_recovery_category: Option<CooldownCategoryId>§gcd_ms: i32§projectile_speed: f64

DBC projectile speed in yards per second.

§launch_delay_s: f64

DBC launch delay in seconds.

§hostile_min_range: f64

Inclusive hostile minimum range in yards.

§hostile_max_range: f64

Inclusive hostile maximum range in yards.

§radius: f64

Resolved spell/effect radius in yards.

§chain_target_range: f64

Resolved chain jump distance in yards.

§max_affected_targets: u8

Resolved SpellTargetRestrictions.MaxTargets; zero means uncapped.

§cone_half_angle: f64

Cone half-angle in radians.

§fixed_travel_time: bool

The DBC missile speed is a fixed travel delay rather than yards/second.

§ignores_line_of_sight: bool§explicit_target_mask: u32§required_explicit_target_mask: u32

Subset of explicit_target_mask whose absence must fail the cast.

§cooldown_hasted: bool§gcd_haste_type: GcdHasteType§hasted_ticks: bool§duration_hasted: bool§mastery_affects_points: bool

Spell attribute 285: effect points resolve from live mastery and the effect coefficient.

§cannot_crit: bool§requires_unshifted: bool§allow_while_unshifted: bool§requires_stealth: bool§requires_behind_target: bool

Content-authored equivalent of TrinityCore’s behind-target custom attribute.

§treat_as_periodic: bool§treat_as_area_effect: bool§does_not_break_stealth: bool§usable_while_casting: bool§usable_while_moving: bool§asynchronous_stacks: bool§disable_player_damage_multiplier: bool§disable_target_damage_multiplier: bool§disable_positive_target_damage_multiplier: bool§requires_main_hand: bool§requires_off_hand: bool§refresh_behavior: RefreshBehavior§rolling_periodic: bool§tick_may_crit: bool§tick_on_application: bool§proc_chance_pct: i32

SpellAuraOptions.ProcChance in percent points; 0 when the spell has no proc data.

§proc_charges: i32

SpellAuraOptions.ProcCharges; zero means the proc aura has unlimited charges.

§proc_attributes: u32

Raw SpellProcEntry.AttributesMask from server-side proc metadata.

§proc_chance_multiplier_delta: f64

Multiplicative proc-chance modifier minus one; -0.3 represents a final 0.7x multiplier.

§proc_type_mask: u64

Combined SpellAuraOptions.ProcTypeMask_0/1 event mask.

§proc_category_recovery_ms: i32

SpellAuraOptions.ProcCategoryRecovery internal cooldown in milliseconds.

§rppm_base_rate: f64

Base real-procs-per-minute rate; zero when this spell uses fixed proc chance.

§rppm_flags: i32

Raw SpellProcsPerMinute.Flags retained for semantics not yet modeled.

§rppm_haste_scales: bool

SpellProcsPerMinuteMod.Type == 1 requests haste scaling.

§rppm_crit_scales: bool

SpellProcsPerMinuteMod.Type == 2 requests crit scaling.

§hit_chance_flat: f64

Passive affected-spell hit-chance modifier components.

§hit_chance_multiplier: f64§target_resistance_flat: f64

Passive affected-spell target-resistance modifier components.

§target_resistance_multiplier: f64§dispel_resistance_flat: f64

Passive affected-aura dispel-resistance modifier components.

§dispel_resistance_multiplier: f64

Trait Implementations§

Source§

impl Clone for SpellProps

Source§

fn clone(&self) -> SpellProps

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SpellProps

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SpellProps

Source§

fn default() -> SpellProps

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more