◆ FilterTargets()
void spell_pursue::FilterTargets |
( |
std::list< WorldObject * > & |
targets | ) |
|
|
inlineprivate |
In the end, only one target should be selected
1617 {
1619 if (targets.empty())
1620 {
1622 caster->AI()->EnterEvadeMode();
1623 }
1624 else
1625 {
1628 targets.clear();
1629 if (_target)
1630 targets.push_back(_target);
1631 }
1632 }
Definition boss_flame_leviathan.cpp:1578
Unit * GetCaster()
Definition SpellScript.cpp:401
auto SelectRandomContainerElement(C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
Definition Containers.h:133
References Acore::Containers::SelectRandomContainerElement().
Referenced by Register().
◆ HandleScript()
1635 {
1638 if (!target || !caster)
1639 return;
1640
1644 }
Creature * GetHitCreature()
Definition SpellScript.cpp:458
void ResetAllThreat()
Definition ThreatMgr.cpp:651
virtual void AttackStart(Unit *)
Definition UnitAI.cpp:27
void AddThreat(Unit *victim, float fThreat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *threatSpell=nullptr)
Definition Unit.cpp:14704
UnitAI * GetAI()
Definition Unit.h:648
ThreatMgr & GetThreatMgr()
Definition Unit.h:896
References Unit::AddThreat(), UnitAI::AttackStart(), Unit::GetAI(), Unit::GetThreatMgr(), and ThreatMgr::ResetAllThreat().
Referenced by Register().
◆ PrepareSpellScript()
◆ Register()
void spell_pursue::Register |
( |
| ) |
|
|
inlineoverrideprivatevirtual |
Implements _SpellScript.
1647 {
1650 }
@ EFFECT_0
Definition SharedDefines.h:31
@ SPELL_EFFECT_APPLY_AURA
Definition SharedDefines.h:784
@ TARGET_UNIT_SRC_AREA_ENEMY
Definition SharedDefines.h:1420
#define EFFECT_ALL
Definition SharedDefines.h:38
#define SpellEffectFn(F, I, N)
Definition SpellScript.h:337
#define SpellObjectAreaTargetSelectFn(F, I, N)
Definition SpellScript.h:354
HookList< EffectHandler > OnEffectHitTarget
Definition SpellScript.h:336
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
Definition SpellScript.h:353
void FilterTargets(std::list< WorldObject * > &targets)
Definition boss_flame_leviathan.cpp:1616
void HandleScript(SpellEffIndex)
Definition boss_flame_leviathan.cpp:1634
References EFFECT_0, EFFECT_ALL, FilterTargets(), HandleScript(), SPELL_EFFECT_APPLY_AURA, SpellEffectFn, SpellObjectAreaTargetSelectFn, and TARGET_UNIT_SRC_AREA_ENEMY.
The documentation for this class was generated from the following file: