AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
DefileTargetSelector Struct Reference

Public Member Functions

 DefileTargetSelector (Creature *source)
 
bool operator() (Unit const *target) const
 

Private Attributes

Creature const * _source
 

Detailed Description

Constructor & Destructor Documentation

◆ DefileTargetSelector()

DefileTargetSelector::DefileTargetSelector ( Creature source)
inline
437: _source(source) { }
Creature const * _source
Definition: boss_the_lich_king.cpp:456

Member Function Documentation

◆ operator()()

bool DefileTargetSelector::operator() ( Unit const *  target) const
inline
439 {
440 if (!target)
441 return false;
442 if (!target->IsAlive())
443 return false;
444 if (target->GetTypeId() != TYPEID_PLAYER)
445 return false;
446 if (_source->GetExactDist(target) > 100.0f)
447 return false;
448 if (target->HasAura(SPELL_HARVEST_SOUL_VALKYR) || target->HasAura(SPELL_VALKYR_TARGET_SEARCH))
449 return false;
450 if (!_source->IsWithinLOSInMap(target))
451 return false;
452 return true;
453 }
@ TYPEID_PLAYER
Definition: ObjectGuid.h:38
@ SPELL_VALKYR_TARGET_SEARCH
Definition: boss_the_lich_king.cpp:141
@ SPELL_HARVEST_SOUL_VALKYR
Definition: boss_the_lich_king.cpp:142
bool IsWithinLOSInMap(WorldObject const *obj, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS, Optional< float > collisionHeight={ }, Optional< float > combatReach={ }) const
Definition: Object.cpp:1347
float GetExactDist(float x, float y, float z) const
Definition: Position.h:178

References _source, Position::GetExactDist(), Object::GetTypeId(), Unit::HasAura(), Unit::IsAlive(), WorldObject::IsWithinLOSInMap(), SPELL_HARVEST_SOUL_VALKYR, SPELL_VALKYR_TARGET_SEARCH, and TYPEID_PLAYER.

Member Data Documentation

◆ _source

Creature const* DefileTargetSelector::_source
private

Referenced by operator()().