pub struct DeclaredSpecMetadata {
pub primary_resource: ResourceType,
pub secondary_resource: Option<ResourceType>,
pub spell_ids: &'static [u32],
pub aura_ids: &'static [u32],
pub server_proc_entries: &'static [DeclaredServerProcEntry],
pub talents: &'static [(&'static str, u32)],
pub rotation_field_schema: &'static [&'static str],
pub metrics_plugin_id: Option<u32>,
pub hero_talent_trees: &'static [HeroTalentTreeDesc],
pub reported_spells: &'static [(&'static str, u32)],
pub masked_passive_effects: &'static [(u32, u8)],
pub passive_effect_overrides: &'static [DeclaredPassiveEffectOverride],
}Expand description
Complete static metadata declared by one composed spec manifest.
Fields§
§primary_resource: ResourceType§secondary_resource: Option<ResourceType>§spell_ids: &'static [u32]§aura_ids: &'static [u32]§server_proc_entries: &'static [DeclaredServerProcEntry]§talents: &'static [(&'static str, u32)]§rotation_field_schema: &'static [&'static str]§metrics_plugin_id: Option<u32>§hero_talent_trees: &'static [HeroTalentTreeDesc]§reported_spells: &'static [(&'static str, u32)]§masked_passive_effects: &'static [(u32, u8)]Passive spell effects this specialization does not receive, as (spell_id, effect_index).
The static passive fold skips them, mirroring SimC’s per-spec
register_passive_effect_mask and deregister_passive_effect calls.
passive_effect_overrides: &'static [DeclaredPassiveEffectOverride]Replacement values for passive effects whose stored value the game never applies.
They mirror SimC’s per-spec register_passive_effect_override calls for the shapes a
spell’s own description cannot state.
Implementations§
Source§impl DeclaredSpecMetadata
impl DeclaredSpecMetadata
Sourcepub fn validate(&self) -> Result<(), DeclaredSpecMetadataError>
pub fn validate(&self) -> Result<(), DeclaredSpecMetadataError>
Validate cross-field declaration invariants (duplicate IDs are allowed; symbolic names must be unique per category).
§Errors
Returns a typed error when required IDs, names, or resource relationships are invalid.
fn validate_resolution_sets(&self) -> Result<(), DeclaredSpecMetadataError>
fn validate_named_declarations(&self) -> Result<(), DeclaredSpecMetadataError>
Trait Implementations§
Source§impl Clone for DeclaredSpecMetadata
impl Clone for DeclaredSpecMetadata
Source§fn clone(&self) -> DeclaredSpecMetadata
fn clone(&self) -> DeclaredSpecMetadata
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 moreSource§impl Debug for DeclaredSpecMetadata
impl Debug for DeclaredSpecMetadata
Source§impl PartialEq for DeclaredSpecMetadata
impl PartialEq for DeclaredSpecMetadata
impl Copy for DeclaredSpecMetadata
impl StructuralPartialEq for DeclaredSpecMetadata
Auto Trait Implementations§
impl Freeze for DeclaredSpecMetadata
impl RefUnwindSafe for DeclaredSpecMetadata
impl Send for DeclaredSpecMetadata
impl Sync for DeclaredSpecMetadata
impl Unpin for DeclaredSpecMetadata
impl UnsafeUnpin for DeclaredSpecMetadata
impl UnwindSafe for DeclaredSpecMetadata
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