pub struct ManifestSpellDef {Show 42 fields
pub id: u32,
pub proc_attributes: Vec<ManifestProcAttribute>,
pub cooldown: Option<ScalarRef>,
pub cost: Option<ScalarRef>,
pub gain: Option<ScalarRef>,
pub damage: Option<ManifestDamageDef>,
pub infer_damage: bool,
pub infer_primary_damage: bool,
pub damage_effects: Vec<DamageEffectDef>,
pub trigger_program_predicates: Vec<TriggerProgramPredicateDef>,
pub usable_while_casting: bool,
pub travel_time_ms: Option<ScalarRef>,
pub cast_time_ms: Option<ScalarRef>,
pub gcd_ms: Option<ScalarRef>,
pub charges: Option<ScalarRef>,
pub charge_cd: Option<ScalarRef>,
pub cooldown_hasted: Option<bool>,
pub applies_aura: Option<String>,
pub infer_applies_aura: bool,
pub applies_auras: Vec<String>,
pub extends_auras: Vec<ExtendAuraDef>,
pub reduces_cd: Option<Vec<ReducesCd>>,
pub reduces_cd_chance: Option<ReducesCdChance>,
pub resets_cd_while: Option<ResetsCdWhile>,
pub hook: Option<String>,
pub breaks_stealth: bool,
pub aoe: Option<AoeDef>,
pub channel: Option<ChannelDef>,
pub empower: Option<EmpowerDef>,
pub requires_aura_id: Option<u32>,
pub requires_aura_min_stacks: Option<u8>,
pub cost_free_when_aura: Option<u32>,
pub consume_aura_on_cast: Option<u32>,
pub cooldown_bypass_when_aura: Option<String>,
pub execute_below_pct: Option<f64>,
pub instant_when_aura: Option<String>,
pub override_when_aura: Option<String>,
pub override_with_spell: Option<String>,
pub override_aura_min_stacks: Option<u8>,
pub override_shares_base_cooldown: bool,
pub override_preserves_aura: bool,
pub guaranteed_crit: bool,
}Expand description
[spells.<name>] block describing a single registered spell.
ⓘ
use wowlab_manifest_schema::{ManifestAuraDef, ManifestSpellDef};
fn lower_aura(_: &ManifestAuraDef) {}
fn invalid(spell: &ManifestSpellDef) {
lower_aura(spell);
}Fields§
§id: u32§proc_attributes: Vec<ManifestProcAttribute>Server-side spell_proc.AttributesMask identities absent from client DBC data.
cooldown: Option<ScalarRef>§cost: Option<ScalarRef>§gain: Option<ScalarRef>§damage: Option<ManifestDamageDef>§infer_damage: bool§infer_primary_damage: bool§damage_effects: Vec<DamageEffectDef>§trigger_program_predicates: Vec<TriggerProgramPredicateDef>§usable_while_casting: bool§travel_time_ms: Option<ScalarRef>§cast_time_ms: Option<ScalarRef>§gcd_ms: Option<ScalarRef>§charges: Option<ScalarRef>§charge_cd: Option<ScalarRef>§cooldown_hasted: Option<bool>§applies_aura: Option<String>§infer_applies_aura: bool§applies_auras: Vec<String>§extends_auras: Vec<ExtendAuraDef>§reduces_cd: Option<Vec<ReducesCd>>§reduces_cd_chance: Option<ReducesCdChance>§resets_cd_while: Option<ResetsCdWhile>§hook: Option<String>§breaks_stealth: bool§aoe: Option<AoeDef>§channel: Option<ChannelDef>§empower: Option<EmpowerDef>§requires_aura_id: Option<u32>§requires_aura_min_stacks: Option<u8>§cost_free_when_aura: Option<u32>§consume_aura_on_cast: Option<u32>§cooldown_bypass_when_aura: Option<String>§execute_below_pct: Option<f64>§instant_when_aura: Option<String>§override_when_aura: Option<String>§override_with_spell: Option<String>§override_aura_min_stacks: Option<u8>§override_preserves_aura: bool§guaranteed_crit: boolImplementations§
Source§impl ManifestSpellDef
impl ManifestSpellDef
Sourcepub fn scalar_refs(&self) -> impl Iterator<Item = &ScalarRef>
pub fn scalar_refs(&self) -> impl Iterator<Item = &ScalarRef>
Returns every scalar game-data reference used by spell-level overrides.
Trait Implementations§
Source§impl Debug for ManifestSpellDef
impl Debug for ManifestSpellDef
Source§impl<'de> Deserialize<'de> for ManifestSpellDef
impl<'de> Deserialize<'de> for ManifestSpellDef
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ManifestSpellDef
impl RefUnwindSafe for ManifestSpellDef
impl Send for ManifestSpellDef
impl Sync for ManifestSpellDef
impl Unpin for ManifestSpellDef
impl UnsafeUnpin for ManifestSpellDef
impl UnwindSafe for ManifestSpellDef
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