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

#include "UnitAI.h"

Inheritance diagram for NonTankTargetSelector:
Acore::unary_function< Unit *, bool >

Public Member Functions

 NonTankTargetSelector (Creature *source, bool playerOnly=true)
 
bool operator() (Unit const *target) const
 

Private Attributes

Creature_source
 
bool _playerOnly
 

Additional Inherited Members

- Public Types inherited from Acore::unary_function< Unit *, bool >
typedef Unitargument_type
 
typedef bool result_type
 

Detailed Description

Constructor & Destructor Documentation

◆ NonTankTargetSelector()

NonTankTargetSelector::NonTankTargetSelector ( Creature source,
bool  playerOnly = true 
)
inline
125: _source(source), _playerOnly(playerOnly) { }
Creature * _source
Definition UnitAI.h:129
bool _playerOnly
Definition UnitAI.h:130

Member Function Documentation

◆ operator()()

bool NonTankTargetSelector::operator() ( Unit const *  target) const
517{
518 if (!target)
519 return false;
520
521 if (_playerOnly && !target->IsPlayer())
522 return false;
523
524 if (Unit* currentVictim = _source->GetThreatMgr().GetCurrentVictim())
525 return target != currentVictim;
526
527 return target != _source->GetVictim();
528}
Unit * GetCurrentVictim()
Definition ThreatManager.cpp:244
Definition Unit.h:664
Unit * GetVictim() const
Definition Unit.h:903
ThreatManager & GetThreatMgr()
Definition Unit.h:951

References _playerOnly, _source, ThreatManager::GetCurrentVictim(), Unit::GetThreatMgr(), Unit::GetVictim(), and Object::IsPlayer().

Member Data Documentation

◆ _playerOnly

bool NonTankTargetSelector::_playerOnly
private

Referenced by operator()().

◆ _source

Creature* NonTankTargetSelector::_source
private

Referenced by operator()().


The documentation for this struct was generated from the following files: