wowlab_engine_content/hooks/arcane_mage/
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::arcane_mage::EFFECT;
13
14inventory::submit! {
15 TargetPlanOverlay::new(
16 TargetEffectCoordinate {
17 spell_id: EFFECT::ARCANE_ORB_TARGETS.0,
18 effect_index: EFFECT::ARCANE_ORB_TARGETS.1,
19 },
20 TargetOverlayMetadata {
21 name: "Arcane Orb moving corridor",
22 reason: "the CreateAreaTrigger selector omits its moving spline and area-trigger width",
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::ARCANE_ORB_TARGETS.0,
38 effect_index: EFFECT::ARCANE_ORB_TARGETS.1,
39 },
40 TargetOverlayMetadata {
41 name: "Arcane Orb corridor dimensions",
42 reason: "AreaTrigger 1612 supplies the moving corridor dimensions omitted by SpellEffect",
43 },
44 )
45 .dimensions(40.0, 2.0)
46 .facing_explicit_target()
47}