#[non_exhaustive]pub enum BuffEffect {
Show 94 variants
Haste(f64),
HasteMult(f64),
HasteMultFromEffect {
percent: f64,
source_spell_id: u32,
effect_index: u8,
},
SpellCastSpeed(f64),
AttackSpeed(f64),
AutoAttackDamage(f64),
AutoAttackDamageTaken(f64),
AutoAttackCritChance(f64),
CritChanceVersusTargetHealth {
percent: f64,
threshold_pct: f64,
},
AutoAttackReplacement(u32),
HealthThresholdTrigger {
threshold_pct: f64,
direction: HealthThresholdDirection,
spell_id: u32,
},
ArmorBypassFromCaster(f64),
SpellSchoolFromEffect {
school: DamageSchool,
source_spell_id: u32,
effect_index: u8,
},
AuraTimeRateFromEffect {
percent: f64,
source_spell_id: u32,
effect_index: u8,
},
SpellReflection(SpellSchoolMask),
SpellDeflectChance(f64),
ResourceGainMult(f64),
RageGainMult(f64),
ResourceRegenPerFiveSeconds(f64, ResourceType),
IncomingDamagePercent {
percent: f64,
schools: SpellSchoolMask,
},
IncomingAoeDamagePercent {
percent: f64,
schools: SpellSchoolMask,
},
HealingDoneFlat {
amount: f64,
schools: SpellSchoolMask,
},
HealingDonePercent(f64),
HealingReceivedPercent(f64),
HealingReceivedFromCasterPercent(f64),
PeriodicHealingPercent(f64),
LeechPercent(f64),
AbsorbDonePercent(f64),
AbsorbTakenPercent(f64),
Absorb(AbsorbEffect),
DamageTransfer(DamageTransfer),
SchoolImmunity(SpellSchoolMask),
MechanicImmunity(u64),
InterruptRegen,
InterruptedRegenPercent(f64),
PreventResourceRegen(u64),
ResourceCostPercent(f64, ResourceType),
Crit(f64),
CritFromEffect {
percent: f64,
source_spell_id: u32,
effect_index: u8,
},
CritActive(f64),
Mastery(f64),
Versatility(f64),
PrimaryStat(f64),
PrimaryStatPercent(f64),
BonusStatPercent {
percent: f64,
stat: StatModifierKind,
},
OverrideSpellPowerByAttackPowerPercent(f64),
OverrideAttackPowerBySpellPowerPercent(f64),
AttackPowerPercent(f64),
DamageMult(f64),
PetDamageMult(f64),
DynamicDamageMult(fn(&CombatState, &DenseBuffer, Option<EnemyIdx>) -> f64),
DynamicDamageMultSpells(fn(&CombatState, &DenseBuffer, Option<EnemyIdx>, SimTime) -> f64, &'static [u32]),
DynamicRegenPercent(fn(&CombatState, &DenseBuffer) -> f64),
DamageMultSchool(f64, DamageSchool),
DamageMultSpells(f64, &'static [u32]),
DamageMultSpellsActive(f64, &'static [u32]),
DamageToTargetAuraMechanicPercent {
percent: f64,
mechanic_mask: MechanicMask,
},
MechanicDamageTakenPercent {
percent: f64,
mechanic_mask: MechanicMask,
},
CreatureAoeDamageAvoidance {
percent: f64,
schools: SpellSchoolMask,
},
SpellDamageFromEffect {
percent: f64,
source_spell_id: u32,
effect_index: u8,
periodic: bool,
},
SpellModifierFromEffect {
value: f64,
source_spell_id: u32,
effect_index: u8,
property: ModifierPropertyKind,
operation: ModifierOperation,
},
SpellCritChanceFromEffect {
percent: f64,
source_spell_id: u32,
effect_index: u8,
},
SpellCritDamageFromEffect {
percent: f64,
source_spell_id: u32,
effect_index: u8,
},
SpellGateFromEffect {
source_spell_id: u32,
effect_index: u8,
gate: ActiveSpellGate,
},
SpellStanceMaskFromEffect {
source_spell_id: u32,
effect_index: u8,
},
DamageTakenFromSource(f64, DamageSource),
DamageTakenFromSourceSpells {
percent: f64,
source_spell_id: u32,
effect_index: u8,
source: DamageSource,
},
DamageMultSpellsLinear(f64, &'static [u32]),
CritChanceSpells(f64, &'static [u32]),
CritDamageSpells(f64, &'static [u32]),
SpellCostPercent(f64, &'static [u32], ResourcePool),
SpellCostFlat(f64, &'static [u32], ResourcePool),
SpellCostFromEffect {
value: f64,
source_spell_id: u32,
effect_index: u8,
cost_entry: u8,
operation: ModifierOperation,
},
AdditionalPowerCostFromEffect {
value: f64,
source_spell_id: u32,
effect_index: u8,
resource_type: i32,
},
RechargeRatePercent(f64, &'static [u32]),
CooldownRechargeRateFromEffect {
percent: f64,
source_spell_id: u32,
effect_index: u8,
},
ChargeRechargeRateCategory {
percent: f64,
category: i32,
source_spell_id: u32,
effect_index: u8,
},
MaxChargesCategory(f64, i32),
IgnoreChargeCooldownCategory(i32),
CooldownDurationPercent {
percent: f64,
source_spell_id: u32,
effect_index: u8,
},
SpellCastTimeFromEffect {
value: f64,
source_spell_id: u32,
effect_index: u8,
operation: ModifierOperation,
},
SpellGcdFromEffect {
value: f64,
source_spell_id: u32,
effect_index: u8,
operation: ModifierOperation,
},
SpellDurationFromEffect {
value: f64,
source_spell_id: u32,
effect_index: u8,
operation: ModifierOperation,
},
SpellTickTimeFromEffect {
value: f64,
source_spell_id: u32,
effect_index: u8,
operation: ModifierOperation,
},
CastWhileMovingFromEffect {
source_spell_id: u32,
effect_index: u8,
},
ResistPushbackFromEffect {
value: f64,
source_spell_id: u32,
effect_index: u8,
operation: ModifierOperation,
},
SpellTargetingFromEffect {
value: f64,
source_spell_id: u32,
effect_index: u8,
property: ModifierPropertyKind,
operation: ModifierOperation,
},
CastTimePercent(f64, &'static [u32]),
CastTimePercentPerStack(f64, &'static [u32]),
GcdPercent(f64, &'static [u32]),
DamageReplication(DamageReplication),
DamageMultStacking {
initial: f64,
per_stack: f64,
},
RegenPercent(f64),
MaxResourceFlat(f64),
}Expand description
A single per-stack buff contributed by an active aura.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Haste(f64)
HasteMult(f64)
Multiplicative haste source whose per-stack percent points add (aura 193).
HasteMultFromEffect
DBC-derived multiplicative haste source retaining its coordinate for content masking.
SpellCastSpeed(f64)
Multiplicative spell cast-speed percent per stack (aura 355).
AttackSpeed(f64)
Percent points of auto-attack speed per stack (auras 319/342).
AutoAttackDamage(f64)
Percent points of extra auto-attack damage per stack (dynamic aura 344).
AutoAttackDamageTaken(f64)
Percent points of extra auto-attack damage taken from the caster (aura 343).
AutoAttackCritChance(f64)
Additive critical-strike chance for this actor’s white auto-attacks (aura 334).
CritChanceVersusTargetHealth
Critical chance while the hostile target is at or above the DBC threshold (aura 183).
AutoAttackReplacement(u32)
Main-hand white swings execute this spell while the owning aura is active (aura 361).
HealthThresholdTrigger
Cast a spell when the affected actor crosses a health threshold (aura 468).
ArmorBypassFromCaster(f64)
Percent of the affected target’s armor bypassed by this aura’s caster (aura 345).
SpellSchoolFromEffect
Temporary spell-school override filtered through the aura effect’s affect list (aura 220).
AuraTimeRateFromEffect
Wall-clock duration/cadence multiplier from aura 399 or label-scoped aura 470.
SpellReflection(SpellSchoolMask)
SpellDeflectChance(f64)
ResourceGainMult(f64)
Aura 213 resource-gain multiplier.
RageGainMult(f64)
Percent points of extra Rage gain while active (aura 213).
ResourceRegenPerFiveSeconds(f64, ResourceType)
Flat regeneration per five seconds for the named DBC power type (aura 85).
IncomingDamagePercent
Multiplicative incoming-damage percent filtered by DBC school mask (aura 87).
IncomingAoeDamagePercent
Multiplicative incoming area-damage percent filtered by DBC school mask (aura 229).
HealingDoneFlat
Flat source-side healing bonus filtered by spell school (auras 115/135).
HealingDonePercent(f64)
Multiplicative source-side healing bonus (aura 136).
HealingReceivedPercent(f64)
Multiplicative target-side healing received bonus (aura 118).
HealingReceivedFromCasterPercent(f64)
Healing received from this aura’s caster only (aura 283).
PeriodicHealingPercent(f64)
Multiplicative target-side periodic-healing bonus (aura 259).
LeechPercent(f64)
Damage-to-healing percentage (aura 443).
AbsorbDonePercent(f64)
Source-side absorb amount multiplier (aura 421).
AbsorbTakenPercent(f64)
Target-side absorb amount multiplier (aura 422).
Absorb(AbsorbEffect)
Mutable damage/healing/overkill absorb initialized when the aura is applied.
DamageTransfer(DamageTransfer)
Aura 81/300 target-side damage split/share.
SchoolImmunity(SpellSchoolMask)
Complete incoming-damage immunity for the named schools (aura 39).
MechanicImmunity(u64)
Complete immunity for incoming effects carrying any named mechanic bit (auras 77/147).
InterruptRegen
Marks power regeneration as interrupted (aura 94).
InterruptedRegenPercent(f64)
Percent of normal regeneration retained while interrupted (aura 134).
PreventResourceRegen(u64)
DBC power-type bit mask whose regeneration is prevented (aura 294).
ResourceCostPercent(f64, ResourceType)
Additive resource-cost percent for the named DBC power type (aura 423).
Crit(f64)
CritFromEffect
DBC-derived critical-strike chance retaining its source coordinate for content masking.
CritActive(f64)
Critical-strike chance whose magnitude is unchanged by aura charge stacks.
Mastery(f64)
Versatility(f64)
PrimaryStat(f64)
PrimaryStatPercent(f64)
BonusStatPercent
Aura 467 percentage applied to positive non-create stat gains.
OverrideSpellPowerByAttackPowerPercent(f64)
Aura 366 spell-power replacement sourced from pre-override attack power.
OverrideAttackPowerBySpellPowerPercent(f64)
Aura 404 attack-power replacement sourced from pre-override spell power.
AttackPowerPercent(f64)
DamageMult(f64)
PetDamageMult(f64)
DynamicDamageMult(fn(&CombatState, &DenseBuffer, Option<EnemyIdx>) -> f64)
DynamicDamageMultSpells(fn(&CombatState, &DenseBuffer, Option<EnemyIdx>, SimTime) -> f64, &'static [u32])
DynamicRegenPercent(fn(&CombatState, &DenseBuffer) -> f64)
DamageMultSchool(f64, DamageSchool)
DamageMultSpells(f64, &'static [u32])
DamageMultSpellsActive(f64, &'static [u32])
Spell-scoped multiplier whose magnitude is unchanged by aura charge stacks.
DamageToTargetAuraMechanicPercent
Aura 249: source multiplier while the target carries an aura tagged with mechanic_mask.
MechanicDamageTakenPercent
Aura 255: target multiplier for damage spells tagged with mechanic_mask.
CreatureAoeDamageAvoidance
Aura 310: target multiplier for area damage filtered by school.
SpellDamageFromEffect
SpellModifierFromEffect
Active affected-spell modifier for runtime values outside the damage-point family.
SpellCritChanceFromEffect
SpellCritDamageFromEffect
SpellGateFromEffect
SpellStanceMaskFromEffect
Active aura-275 stance-mask exception filtered through its DBC affect list.
DamageTakenFromSource(f64, DamageSource)
DamageTakenFromSourceSpells
DamageMultSpellsLinear(f64, &'static [u32])
CritChanceSpells(f64, &'static [u32])
Buff-borne flat aura-107 P_CRIT (misc 7), e.g. Killing Machine (51124)
CritDamageSpells(f64, &'static [u32])
Buff-borne aura-108 P_CRIT_BONUS (misc 15): Killing Machine e4 (+25%).
SpellCostPercent(f64, &'static [u32], ResourcePool)
SpellCostFlat(f64, &'static [u32], ResourcePool)
SpellCostFromEffect
AdditionalPowerCostFromEffect
Active aura-63 flat adjustment to an affected spell’s optional power cost.
RechargeRatePercent(f64, &'static [u32])
CooldownRechargeRateFromEffect
Active DBC aura-286 cooldown-recharge speed filtered through its affect list.
ChargeRechargeRateCategory
Active DBC aura-148 charge-recharge speed for one charge category.
MaxChargesCategory(f64, i32)
Extra maximum charges for a charge category while active (aura 411).
IgnoreChargeCooldownCategory(i32)
Casts do not consume charges from this category while active (aura 500).
CooldownDurationPercent
SpellCastTimeFromEffect
SpellGcdFromEffect
SpellDurationFromEffect
SpellTickTimeFromEffect
CastWhileMovingFromEffect
ResistPushbackFromEffect
SpellTargetingFromEffect
CastTimePercent(f64, &'static [u32])
The magnitude is aura-wide rather than per-stack.
CastTimePercentPerStack(f64, &'static [u32])
GcdPercent(f64, &'static [u32])
Like BuffEffect::CastTimePercent, the magnitude does not scale with stacks.
DamageReplication(DamageReplication)
DamageMultStacking
RegenPercent(f64)
MaxResourceFlat(f64)
Implementations§
Source§impl BuffEffect
impl BuffEffect
Sourcepub fn dbc_source(&self) -> Option<(u32, u8)>
pub fn dbc_source(&self) -> Option<(u32, u8)>
The DBC spell effect this row was derived from, when the shared resolution built it from data.
Content-declared rows carry no DBC provenance and return None.
Sourcepub fn scaled(self, stacks: f64) -> Self
pub fn scaled(self, stacks: f64) -> Self
Resolve the effect at the active aura’s stack count.
§Panics
Panics if unscaled_dbc_effect omits an effect variant classified as unscaled, indicating an internal dispatch bug.
fn unscaled_dbc_effect(self) -> Option<Self>
Trait Implementations§
Source§impl Clone for BuffEffect
impl Clone for BuffEffect
Source§fn clone(&self) -> BuffEffect
fn clone(&self) -> BuffEffect
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BuffEffect
impl Debug for BuffEffect
impl Copy for BuffEffect
Auto Trait Implementations§
impl Freeze for BuffEffect
impl RefUnwindSafe for BuffEffect
impl Send for BuffEffect
impl Sync for BuffEffect
impl Unpin for BuffEffect
impl UnsafeUnpin for BuffEffect
impl UnwindSafe for BuffEffect
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
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>
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>
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