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

Public Member Functions

 ShadowTrapLKTargetSelector (Creature *source, bool playerOnly=true, bool reqLOS=false, float maxDist=0.0f)
 
bool operator() (Unit const *target) const
 

Private Attributes

Creature const * _source
 
bool _playerOnly
 
bool _reqLOS
 
float _maxDist
 

Detailed Description

Constructor & Destructor Documentation

◆ ShadowTrapLKTargetSelector()

ShadowTrapLKTargetSelector::ShadowTrapLKTargetSelector ( Creature source,
bool  playerOnly = true,
bool  reqLOS = false,
float  maxDist = 0.0f 
)
inline
382: _source(source), _playerOnly(playerOnly), _reqLOS(reqLOS), _maxDist(maxDist) { }
float _maxDist
Definition: boss_the_lich_king.cpp:402
bool _reqLOS
Definition: boss_the_lich_king.cpp:401
bool _playerOnly
Definition: boss_the_lich_king.cpp:400
Creature const * _source
Definition: boss_the_lich_king.cpp:399

Member Function Documentation

◆ operator()()

bool ShadowTrapLKTargetSelector::operator() ( Unit const *  target) const
inline
384 {
385 if (!target)
386 return false;
387 if (!target->IsAlive())
388 return false;
389 if (_playerOnly && !target->IsPlayer())
390 return false;
391 if (_maxDist && _source->GetExactDist(target) > _maxDist)
392 return false;
393 if (_reqLOS && !_source->IsWithinLOSInMap(target))
394 return false;
395 return true;
396 }
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 _maxDist, _playerOnly, _reqLOS, _source, Position::GetExactDist(), Unit::IsAlive(), Object::IsPlayer(), and WorldObject::IsWithinLOSInMap().

Member Data Documentation

◆ _maxDist

float ShadowTrapLKTargetSelector::_maxDist
private

Referenced by operator()().

◆ _playerOnly

bool ShadowTrapLKTargetSelector::_playerOnly
private

Referenced by operator()().

◆ _reqLOS

bool ShadowTrapLKTargetSelector::_reqLOS
private

Referenced by operator()().

◆ _source

Creature const* ShadowTrapLKTargetSelector::_source
private

Referenced by operator()().