pub(crate) struct FuryHandler {
inner: CombatHandler,
execute_threshold: f64,
}Expand description
Maintains Execute’s health and Sudden Death gate.
Fields§
§inner: CombatHandler§execute_threshold: f64Implementations§
Source§impl FuryHandler
impl FuryHandler
Sourcepub(crate) fn try_new(
parts: ContentHandlerParts,
params: &HandlerParams<'_>,
) -> Result<Self, EngineError>
pub(crate) fn try_new( parts: ContentHandlerParts, params: &HandlerParams<'_>, ) -> Result<Self, EngineError>
Finishes the specialization handler from the shared-content composition stage.
Trait Implementations§
Source§impl Debug for FuryHandler
impl Debug for FuryHandler
Source§impl SpecHandler for FuryHandler
impl SpecHandler for FuryHandler
fn on_sim_start(&mut self, ctx: &mut SimContext<'_>)
fn on_player_ready(&mut self, ctx: &mut SimContext<'_>) -> Option<SpecAction>
fn on_cast_complete(&mut self, event: Event, ctx: &mut SimContext<'_>)
fn on_spell_impact(&mut self, impact_id: u32, ctx: &mut SimContext<'_>)
fn on_aura_tick(&mut self, event: AuraEventRef, ctx: &mut SimContext<'_>)
fn on_aura_expire(&mut self, event: AuraEventRef, ctx: &mut SimContext<'_>)
fn on_auto_attack( &mut self, source: ActorId, target: EnemyIdx, ctx: &mut SimContext<'_>, )
fn on_cooldown_ready( &mut self, cooldown_key: SpellIdx, ctx: &mut SimContext<'_>, )
fn flush_scheduled(&mut self, push: &mut dyn FnMut(Event))
fn total_damage(&self) -> f64
Source§fn cast_time_ms(&self, spell_id: SpellIdx, empower_rank: u8) -> u32
fn cast_time_ms(&self, spell_id: SpellIdx, empower_rank: u8) -> u32
Cast time in milliseconds; 0 for instants.
fn introspect(&self) -> SpecIntrospection
fn paperdoll(&self) -> Option<Paperdoll>
fn attach_decision_trace(&mut self, sink: Arc<dyn DecisionTraceSink>)
fn on_triggered_spell( &mut self, _spell_id: SpellIdx, _source: ActorId, _target: ActorId, _ctx: &mut SimContext<'_>, )
fn on_spell_launch(&mut self, _impact_id: u32, _ctx: &mut SimContext<'_>)
fn on_guardian_action( &mut self, _guardian_id: u32, _guardian_generation: u32, _ability_index: usize, _ctx: &mut SimContext<'_>, )
fn on_guardian_expire( &mut self, _guardian_id: u32, _guardian_generation: u32, _ctx: &mut SimContext<'_>, )
fn on_pet_action( &mut self, _auto_attack_index: usize, _ctx: &mut SimContext<'_>, )
fn on_channel_tick( &mut self, _spell_id: SpellIdx, _source: ActorId, _target: EnemyIdx, _generation: u64, _ctx: &mut SimContext<'_>, )
fn on_proc_heartbeat(&mut self, _ctx: &mut SimContext<'_>)
fn on_death( &mut self, _target: EnemyIdx, _scope: DeathEventScope, _ctx: &mut SimContext<'_>, )
fn on_encounter_despawn( &mut self, _scope: PullScope, _target: EnemyIdx, _kind: EncounterDespawnKind, _ctx: &mut SimContext<'_>, )
fn on_group_complete( &mut self, _scope: PullScope, _group: GroupId, _ctx: &mut SimContext<'_>, )
fn on_pull_complete( &mut self, _scope: PullScope, _finalize: bool, _ctx: &mut SimContext<'_>, )
fn on_encounter_terminate( &mut self, _reason: EncounterTerminationReason, _ctx: &mut SimContext<'_>, )
fn on_wave_activate( &mut self, _scope: PullScope, _wave: WaveId, _ctx: &mut SimContext<'_>, )
fn on_enemy_activate( &mut self, _scope: PullScope, _target: EnemyIdx, _ctx: &mut SimContext<'_>, )
fn on_retarget(&mut self, _scope: PullScope, _ctx: &mut SimContext<'_>)
fn on_encounter_move( &mut self, _scope: PullScope, _actor: PositionedActorRef, _transform: SpatialTransform, _ctx: &mut SimContext<'_>, )
fn on_actor_movement( &mut self, _actor: ActorId, _moving: bool, _generation: u64, _ctx: &mut SimContext<'_>, )
fn on_raid_event(&mut self, _index: usize, _ctx: &mut SimContext<'_>)
fn on_raid_add_despawn( &mut self, _target: EnemyIdx, _activation_generation: u64, _encounter_generation: PullLifecycleGeneration, _ctx: &mut SimContext<'_>, )
fn on_external_buff(&mut self, _index: usize, _ctx: &mut SimContext<'_>)
Source§fn on_event_queue_empty(&mut self, _ctx: &mut SimContext<'_>)
fn on_event_queue_empty(&mut self, _ctx: &mut SimContext<'_>)
Called only when the shared event queue is empty.
Source§fn encounter_termination_time(&self) -> Option<SimTime>
fn encounter_termination_time(&self) -> Option<SimTime>
Exact termination timestamp once the encounter policy is satisfied.
Source§fn on_despawn(
&mut self,
_target: EnemyIdx,
_ctx: &mut SimContext<'_>,
) -> EnemyDespawnOutcome
fn on_despawn( &mut self, _target: EnemyIdx, _ctx: &mut SimContext<'_>, ) -> EnemyDespawnOutcome
Despawn an enemy through the canonical combat cleanup boundary.
Source§fn on_hook_timer(
&mut self,
_timer_id: u32,
_source: ActorId,
_target: Option<EnemyIdx>,
_ctx: &mut SimContext<'_>,
)
fn on_hook_timer( &mut self, _timer_id: u32, _source: ActorId, _target: Option<EnemyIdx>, _ctx: &mut SimContext<'_>, )
A
HookTimer scheduled via the combat layer’s schedule_hook came due.fn on_enemy_auto_attack( &mut self, _source: EnemyIdx, _target: ActorId, _ctx: &mut SimContext<'_>, )
Source§fn take_runtime_error(&mut self) -> Option<SpecRuntimeError>
fn take_runtime_error(&mut self) -> Option<SpecRuntimeError>
Take a fatal event-processing failure, if the handler recorded one.
Auto Trait Implementations§
impl Freeze for FuryHandler
impl !RefUnwindSafe for FuryHandler
impl Send for FuryHandler
impl !Sync for FuryHandler
impl Unpin for FuryHandler
impl UnsafeUnpin for FuryHandler
impl !UnwindSafe for FuryHandler
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