pub(crate) struct EffectPlan {
global_capabilities: EffectFamily,
aura_masks: Box<[AuraEffectMasks]>,
static_total_auras: ActiveAuraEffectPlan,
dynamic_total_auras: ActiveAuraEffectPlan,
break_auras: ActiveAuraBreakPlans,
family_auras: Box<[ActiveAuraEffectPlan]>,
relevant: [RelevantEffectList; 10],
passive_by_family: Box<[Box<[usize]>]>,
owner_duplicates: Box<[Box<[AuraSlotHandle]>]>,
actor_bindings: ActorEffectBindings,
action_spell_modifiers: ActionSpellModifierBindings,
}Fields§
§global_capabilities: EffectFamily§aura_masks: Box<[AuraEffectMasks]>§static_total_auras: ActiveAuraEffectPlan§dynamic_total_auras: ActiveAuraEffectPlan§break_auras: ActiveAuraBreakPlans§family_auras: Box<[ActiveAuraEffectPlan]>§relevant: [RelevantEffectList; 10]§passive_by_family: Box<[Box<[usize]>]>§owner_duplicates: Box<[Box<[AuraSlotHandle]>]>§actor_bindings: ActorEffectBindings§action_spell_modifiers: ActionSpellModifierBindingsImplementations§
Source§impl EffectPlan
impl EffectPlan
pub(crate) const fn action_break_aura_plan(&self) -> &ActiveAuraEffectPlan
pub(crate) const fn damage_break_aura_plan( &self, periodic: bool, ) -> &ActiveAuraEffectPlan
pub(super) fn optimized_plans_valid( &self, aura_count: usize, passive_count: usize, ) -> bool
Source§impl EffectPlan
impl EffectPlan
pub(crate) fn compile( auras: &[AuraData], passive_drivers: &[PassiveDriverEffect], ) -> Self
pub(crate) fn bind_aura_slots( &mut self, bindings: &BufferBindings, auras: &[AuraData], data: &ResolvedGameData, enemy_count: usize, )
Sourcepub(crate) fn bind_spell_modifier_actions(
&mut self,
damage: &DamagePlan,
auras: &[AuraData],
passive_drivers: &[PassiveDriverEffect],
)
pub(crate) fn bind_spell_modifier_actions( &mut self, damage: &DamagePlan, auras: &[AuraData], passive_drivers: &[PassiveDriverEffect], )
Prebind each affected-spell property to entries that can modify that damage action.
pub(crate) fn actor_family_effects( &self, actor: ActorId, family: EffectFamily, ) -> &[PlannedAuraEffect]
pub(crate) fn family_aura_plan( &self, family: EffectFamily, ) -> &ActiveAuraEffectPlan
pub(crate) const fn static_total_aura_plan(&self) -> &ActiveAuraEffectPlan
pub(crate) const fn dynamic_total_aura_plan(&self) -> &ActiveAuraEffectPlan
pub(crate) fn passive_family_indexes(&self, family: EffectFamily) -> &[usize]
pub(crate) fn health_threshold_capacity(&self) -> usize
pub(crate) fn spell_modifier_passive_indexes( &self, action: LocalDamageActionIdx, property: ModifierPropertyKind, ) -> &[usize]
pub(crate) fn spell_modifier_player_aura_plan( &self, action: LocalDamageActionIdx, property: ModifierPropertyKind, ) -> &ActiveAuraEffectPlan
pub(crate) fn scoped_spell_modifier_passive_indexes( &self, action: LocalDamageActionIdx, ) -> &[usize]
pub(crate) fn scoped_spell_modifier_aura_plan( &self, action: LocalDamageActionIdx, ) -> &ActiveAuraEffectPlan
pub(crate) fn damage_spell_modifier_passive_indexes( &self, action: LocalDamageActionIdx, ) -> &[usize]
pub(crate) fn damage_spell_modifier_aura_plan( &self, action: LocalDamageActionIdx, ) -> &ActiveAuraEffectPlan
pub(crate) fn cost_modifier_passive_indexes( &self, action: LocalDamageActionIdx, ) -> &[usize]
pub(crate) fn cost_modifier_aura_plan( &self, action: LocalDamageActionIdx, ) -> &ActiveAuraEffectPlan
pub(crate) fn aura_state_auras( &self, actor: ActorId, required: AuraState, ) -> &[PlannedAuraEffects]
pub(crate) fn shapeshift_auras(&self) -> &[PlannedAuraEffects]
pub(crate) fn dispellable_auras( &self, actor: ActorId, dispel_type: i32, ) -> &[PlannedAuraEffects]
pub(crate) fn mechanic_auras(&self, actor: ActorId) -> &[PlannedAuraEffects]
pub(crate) fn owner_duplicate_handles( &self, local: LocalAuraIdx, ) -> &[AuraSlotHandle]
pub(crate) fn passive_driver_indexes( &self, class: EffectConsumerClass, ) -> &[usize]
pub(crate) fn static_total_passive_driver_indexes(&self) -> &[usize]
pub(crate) fn dynamic_total_passive_driver_indexes(&self) -> &[usize]
pub(crate) fn aura(&self, local: LocalAuraIdx) -> AuraEffectMasks
pub(crate) const fn global_capabilities(&self) -> EffectFamily
pub(crate) fn validate(&self, aura_count: usize, passive_count: usize) -> bool
fn relevant(&self, class: EffectConsumerClass) -> &RelevantEffectList
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EffectPlan
impl RefUnwindSafe for EffectPlan
impl Send for EffectPlan
impl Sync for EffectPlan
impl Unpin for EffectPlan
impl UnsafeUnpin for EffectPlan
impl UnwindSafe for EffectPlan
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
§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