pub struct ImpactEffectProcDefinition {Show 20 fields
pub(crate) driver_spell_id: u32,
pub(crate) driver_effect_index: u8,
pub(crate) driver: ProcDriver,
pub(crate) actor_filter: ImpactActorFilter,
pub(crate) source: ImpactSource,
pub(crate) chance: f64,
pub(crate) chance_scale: ImpactChanceScale,
pub(crate) icd_ms: u32,
pub(crate) target_icd_ms: u32,
pub(crate) phase_mask: ProcPhaseMask,
pub(crate) hit_mask: ProcHitMask,
pub(crate) charges: u8,
pub(crate) uses_stacks_for_charges: bool,
pub(crate) periodic_only: bool,
pub(crate) skip_periodic: bool,
pub(crate) physical_only: bool,
pub(crate) crit_only: bool,
pub(crate) profile_spell_id: u32,
pub(crate) effects: Vec<BuilderSpellEffect>,
pub(crate) fire: Option<ImpactProcFn>,
}Fields§
§driver_spell_id: u32§driver_effect_index: u8§driver: ProcDriver§actor_filter: ImpactActorFilter§source: ImpactSource§chance: f64§chance_scale: ImpactChanceScale§icd_ms: u32§target_icd_ms: u32§phase_mask: ProcPhaseMask§hit_mask: ProcHitMask§charges: u8§uses_stacks_for_charges: bool§periodic_only: bool§skip_periodic: bool§physical_only: bool§crit_only: bool§profile_spell_id: u32§effects: Vec<BuilderSpellEffect>§fire: Option<ImpactProcFn>Implementations§
Source§impl ImpactEffectProcDefinition
impl ImpactEffectProcDefinition
pub fn new(source: ImpactSource) -> Self
pub fn driver(self, driver: ProcDriver) -> Self
pub fn dbc_driver(self, spell_id: u32, effect_index: u8) -> Self
Sourcepub fn dbc_driver_from_data(self, lookup: EffectLookup<'_>) -> Self
pub fn dbc_driver_from_data(self, lookup: EffectLookup<'_>) -> Self
Retain a DBC proc driver coordinate and derive its runtime policy and limits.
pub fn profile_spell(self, spell_id: u32) -> Self
pub fn actor_filter(self, actor_filter: ImpactActorFilter) -> Self
pub fn chance(self, chance: f64) -> Self
pub fn weapon_speed_scaled(self, baseline_ms: u32) -> Self
pub fn rppm(self, tracker: LocalRppmIdx) -> Self
Sourcepub fn shuffled(self, success_entries: u32, total_entries: u32) -> Self
pub fn shuffled(self, success_entries: u32, total_entries: u32) -> Self
Configure a shuffled proc deck with an exact number of successful entries.
§Panics
Panics when the deck is empty or has more successful entries than total entries.
pub fn accumulated(self, cap: u32, initial_count: u32) -> Self
pub fn icd_ms(self, icd_ms: u32) -> Self
pub fn target_icd_ms(self, target_icd_ms: u32) -> Self
pub fn phase_mask(self, phase_mask: ProcPhaseMask) -> Self
pub fn hit_mask(self, hit_mask: ProcHitMask) -> Self
pub fn charges(self, charges: u8) -> Self
pub fn use_stacks_for_charges(self) -> Self
pub fn periodic_only(self) -> Self
pub fn skip_periodic(self) -> Self
pub fn physical_only(self) -> Self
pub fn crit_only(self) -> Self
pub fn fire(self, fire: ImpactProcFn) -> Self
pub fn gain(self, amount: f64) -> Self
pub fn secondary_gain(self, amount: f64) -> Self
pub fn add_aura_stack(self, aura: LocalAuraIdx) -> Self
Trait Implementations§
Source§impl Clone for ImpactEffectProcDefinition
impl Clone for ImpactEffectProcDefinition
Source§fn clone(&self) -> ImpactEffectProcDefinition
fn clone(&self) -> ImpactEffectProcDefinition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ImpactEffectProcDefinition
impl RefUnwindSafe for ImpactEffectProcDefinition
impl Send for ImpactEffectProcDefinition
impl Sync for ImpactEffectProcDefinition
impl Unpin for ImpactEffectProcDefinition
impl UnsafeUnpin for ImpactEffectProcDefinition
impl UnwindSafe for ImpactEffectProcDefinition
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more