wowlab_engine_combat/state/
defs.rs1use wowlab_engine_domain::dbc::{SpellAttributeKind, SpellAuraInterruptFlags, spell_attribute_is};
2use wowlab_engine_gamedata::ResolvedGameData;
3use wowlab_types::{
4 constants::DEFAULT_GCD_MS,
5 game::CdrEffect,
6 sim::{ActorId, AuraOn, EnemyIdx, SimTime, SpatialTransform, SpellIdx},
7};
8
9use super::{
10 BuffEffect, CombatState, DamageEffectRef, LocalAuraIdx, LocalRppmIdx, LocalSpellIdx,
11 MAX_AURA_BUFF_EFFECTS, MAX_CDR_EFFECTS, RuntimeDamageDef,
12};
13use crate::context::{HookCtx, HookView};
14
15pub(crate) mod aura;
16pub(crate) mod drivers;
17pub(crate) mod guardians;
18mod pending;
19pub(crate) mod periodic;
20pub(crate) mod pets;
21pub(crate) mod procs;
22pub(crate) mod spell;
23
24pub(crate) use aura::{
25 AuraData, AuraTickBehavior, CritChargeReduction, DynamicTickAction, SpellGroup,
26};
27pub(crate) use drivers::{
28 DriverSpellModifier, PassiveDriverEffect, PeriodicDriver, ResourceThresholdTrigger,
29 WeaponEnchantBinding, WeaponImbueBinding,
30};
31pub(crate) use guardians::{
32 GuardianAbility, GuardianAbilityState, GuardianEvent, GuardianHandle, GuardianInstance,
33 GuardianSpec,
34};
35pub(crate) use pending::{
36 PendingEffectProgram, PendingHookTimer, PendingSpellImpact, PendingTimerAction,
37};
38pub(crate) use periodic::{PeriodicData, PeriodicKind};
39pub(crate) use pets::{
40 PetAbilityCondition, PetActionBar, PetActionState, PetOwnerCoefficients, PetStatSnapshot,
41};
42pub(crate) use procs::{
43 AccumulatingImpactProc, AuraApplicationEvent, ImpactActorFilter, ImpactChanceScale,
44 ImpactEffectProc, ImpactEvent, ImpactProc, ImpactProcFn, ImpactSource, LandedImpactEvent,
45 LandedImpactProc, ProcDriver, ProcEventKind, ProcHitMask, ProcPhaseMask, ProcProvenance,
46 ProcSourceKind, ProcTriggerSide, ResourceGainEvent, ResourceGainProc, ResourceGainProcAttempts,
47 SwingEvent, SwingHand, SwingHookFn, SwingMissChanceHookFn, SwingReplacement,
48 SwingReplacementHookFn,
49};
50pub(crate) use spell::{
51 AutoAttackData, CastHookFn, EmpowerReleaseAdjustment, EmpowerReleaseHookFn,
52 MAX_AURA_APPLICATION_EXCLUSIONS, ResourcePool, SpellAvailability, SpellBehavior, SpellChannel,
53 SpellChannelBehavior, SpellChannelCompletion, SpellChannelTiming, SpellCooldown, SpellCost,
54 SpellDamagePolicy, SpellData, SpellEffectData, SpellEffectRange, SpellEquipmentRequirements,
55 SpellFormRequirements, SpellOverride, SpellRequirements, SpellTargeting,
56 TriggerProgramPredicateFn,
57};