◆ FilterTargets()
void spell_pursue::FilterTargets |
( |
std::list< WorldObject * > & |
targets | ) |
|
|
inlineprivate |
In the end, only one target should be selected
1621 {
1623 if (targets.empty())
1624 {
1626 caster->AI()->EnterEvadeMode();
1627 }
1628 else
1629 {
1632 targets.clear();
1633 if (_target)
1634 targets.push_back(_target);
1635 }
1636 }
Definition boss_flame_leviathan.cpp:1577
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()
1639 {
1642 if (!target || !caster)
1643 return;
1644
1648 }
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:14705
UnitAI * GetAI()
Definition Unit.h:664
ThreatMgr & GetThreatMgr()
Definition Unit.h:912
References Unit::AddThreat(), UnitAI::AttackStart(), Unit::GetAI(), Unit::GetThreatMgr(), and ThreatMgr::ResetAllThreat().
Referenced by Register().
◆ PrepareSpellScript()
◆ Register()
void spell_pursue::Register |
( |
| ) |
|
|
inlineoverrideprivatevirtual |
Implements _SpellScript.
1651 {
1654 }
@ 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:1620
void HandleScript(SpellEffIndex)
Definition boss_flame_leviathan.cpp:1638
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: