wowlab_engine_content/hooks/devastation_evoker/
targeting.rs1use wowlab_engine_domain::{
2 dbc::{
3 ImplicitTargetCheck, ImplicitTargetDirection, ImplicitTargetObject,
4 ImplicitTargetReference, ImplicitTargetSelection,
5 },
6 targeting::{
7 TargetEffectCoordinate, TargetGeometryOverlay, TargetOverlayMetadata, TargetPlanOperation,
8 TargetPlanOperations, TargetPlanOverlay, TargetSelector,
9 },
10};
11
12use crate::generated::specs::devastation_evoker::EFFECT;
13
14inventory::submit! {
15 TargetPlanOverlay::new(
16 TargetEffectCoordinate {
17 spell_id: EFFECT::DEEP_BREATH_PATH.0,
18 effect_index: EFFECT::DEEP_BREATH_PATH.1,
19 },
20 TargetOverlayMetadata {
21 name: "Deep Breath flight corridor",
22 reason: "the destination-front area selector describes the flight path rather than one endpoint circle",
23 },
24 TargetPlanOperations::one(TargetPlanOperation::Select(TargetSelector::custom(
25 ImplicitTargetObject::Unit,
26 ImplicitTargetReference::Caster,
27 ImplicitTargetSelection::Line,
28 ImplicitTargetCheck::Enemy,
29 ImplicitTargetDirection::Front,
30 ))),
31 )
32}
33
34inventory::submit! {
35 TargetGeometryOverlay::new(
36 TargetEffectCoordinate {
37 spell_id: EFFECT::DEEP_BREATH_PATH.0,
38 effect_index: EFFECT::DEEP_BREATH_PATH.1,
39 },
40 TargetOverlayMetadata {
41 name: "Deep Breath flight dimensions",
42 reason: "the player flight travels 50 yards and damages actors within the 10-yard-wide path",
43 },
44 )
45 .dimensions(50.0, 5.0)
46 .facing_explicit_target()
47}