pub struct CombatRuntime {Show 21 fields
pub(super) spec_runtime: Box<dyn SpecRuntime>,
pub(super) enemies: Vec<EnemyState>,
pub(crate) encounter: EncounterRuntime,
pub player_transform: SpatialTransform,
pub attack_position: AttackPosition,
pub current_target: Option<EnemyIdx>,
pub(crate) health: RuntimeHealth,
pub(super) runtime_error: Option<SpecRuntimeError>,
pub total_damage: f64,
pub pending_events: Vec<Event>,
pub(crate) resources: RuntimeResources,
pub(crate) casting: RuntimeCasting,
pub(crate) control: RuntimeControl,
pub scratch: ScratchBuffers,
pub(crate) deferred_work: DeferredWorkQueue,
pub(crate) procs: RuntimeProcs,
pub(crate) mask_reasons: IntMap<u32, Discriminant<CastReject>>,
pub recharge_rate_mults: Vec<f64>,
pub(crate) pools: RuntimePools,
pub(crate) pending: RuntimePending,
pub(crate) companions: RuntimeCompanions,
}Expand description
Mutable non-buffer state that changes within a single iteration and is cleared on reset.
Fields§
§spec_runtime: Box<dyn SpecRuntime>§enemies: Vec<EnemyState>§encounter: EncounterRuntime§player_transform: SpatialTransform§attack_position: AttackPosition§current_target: Option<EnemyIdx>§health: RuntimeHealth§runtime_error: Option<SpecRuntimeError>§total_damage: f64§pending_events: Vec<Event>§resources: RuntimeResources§casting: RuntimeCasting§control: RuntimeControl§scratch: ScratchBuffers§deferred_work: DeferredWorkQueue§procs: RuntimeProcs§mask_reasons: IntMap<u32, Discriminant<CastReject>>Last reason each spell was masked out of rotation evaluation, keyed by spell id.
Only the discriminant is kept, so the trace fires once per change rather than per tick.
recharge_rate_mults: Vec<f64>§pools: RuntimePools§pending: RuntimePending§companions: RuntimeCompanionsImplementations§
Source§impl CombatRuntime
impl CombatRuntime
pub(crate) fn new(enemies: Vec<EnemyState>, init: CombatRuntimeInit) -> Self
pub(crate) fn reset_spec_runtime(&mut self)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CombatRuntime
impl !RefUnwindSafe for CombatRuntime
impl Send for CombatRuntime
impl !Sync for CombatRuntime
impl Unpin for CombatRuntime
impl UnsafeUnpin for CombatRuntime
impl !UnwindSafe for CombatRuntime
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