Skip to main content

EffectPlan

Struct EffectPlan 

Source
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: ActionSpellModifierBindings

Implementations§

Source§

impl EffectPlan

Source

pub(crate) const fn action_break_aura_plan(&self) -> &ActiveAuraEffectPlan

Source

pub(crate) const fn damage_break_aura_plan( &self, periodic: bool, ) -> &ActiveAuraEffectPlan

Source

pub(super) fn optimized_plans_valid( &self, aura_count: usize, passive_count: usize, ) -> bool

Source§

impl EffectPlan

Source

pub(crate) fn compile( auras: &[AuraData], passive_drivers: &[PassiveDriverEffect], ) -> Self

Source

pub(crate) fn bind_aura_slots( &mut self, bindings: &BufferBindings, auras: &[AuraData], data: &ResolvedGameData, enemy_count: usize, )

Source

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.

Source

pub(crate) fn actor_family_effects( &self, actor: ActorId, family: EffectFamily, ) -> &[PlannedAuraEffect]

Source

pub(crate) fn family_aura_plan( &self, family: EffectFamily, ) -> &ActiveAuraEffectPlan

Source

pub(crate) const fn static_total_aura_plan(&self) -> &ActiveAuraEffectPlan

Source

pub(crate) const fn dynamic_total_aura_plan(&self) -> &ActiveAuraEffectPlan

Source

pub(crate) fn passive_family_indexes(&self, family: EffectFamily) -> &[usize]

Source

pub(crate) fn health_threshold_capacity(&self) -> usize

Source

pub(crate) fn spell_modifier_passive_indexes( &self, action: LocalDamageActionIdx, property: ModifierPropertyKind, ) -> &[usize]

Source

pub(crate) fn spell_modifier_player_aura_plan( &self, action: LocalDamageActionIdx, property: ModifierPropertyKind, ) -> &ActiveAuraEffectPlan

Source

pub(crate) fn scoped_spell_modifier_passive_indexes( &self, action: LocalDamageActionIdx, ) -> &[usize]

Source

pub(crate) fn scoped_spell_modifier_aura_plan( &self, action: LocalDamageActionIdx, ) -> &ActiveAuraEffectPlan

Source

pub(crate) fn damage_spell_modifier_passive_indexes( &self, action: LocalDamageActionIdx, ) -> &[usize]

Source

pub(crate) fn damage_spell_modifier_aura_plan( &self, action: LocalDamageActionIdx, ) -> &ActiveAuraEffectPlan

Source

pub(crate) fn cost_modifier_passive_indexes( &self, action: LocalDamageActionIdx, ) -> &[usize]

Source

pub(crate) fn cost_modifier_aura_plan( &self, action: LocalDamageActionIdx, ) -> &ActiveAuraEffectPlan

Source

pub(crate) fn aura_state_auras( &self, actor: ActorId, required: AuraState, ) -> &[PlannedAuraEffects]

Source

pub(crate) fn shapeshift_auras(&self) -> &[PlannedAuraEffects]

Source

pub(crate) fn dispellable_auras( &self, actor: ActorId, dispel_type: i32, ) -> &[PlannedAuraEffects]

Source

pub(crate) fn mechanic_auras(&self, actor: ActorId) -> &[PlannedAuraEffects]

Source

pub(crate) fn owner_duplicate_handles( &self, local: LocalAuraIdx, ) -> &[AuraSlotHandle]

Source

pub(crate) fn passive_driver_indexes( &self, class: EffectConsumerClass, ) -> &[usize]

Source

pub(crate) fn static_total_passive_driver_indexes(&self) -> &[usize]

Source

pub(crate) fn dynamic_total_passive_driver_indexes(&self) -> &[usize]

Source

pub(crate) fn aura(&self, local: LocalAuraIdx) -> AuraEffectMasks

Source

pub(crate) const fn global_capabilities(&self) -> EffectFamily

Source

pub(crate) fn validate(&self, aura_count: usize, passive_count: usize) -> bool

Source

fn relevant(&self, class: EffectConsumerClass) -> &RelevantEffectList

Trait Implementations§

Source§

impl Debug for EffectPlan

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> SpecConfig for T
where T: Any + Debug + Send,

§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ResolverSyncBound for T
where T: Sync + ?Sized,