AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Acore::AnyUnfriendlyNoTotemUnitInObjectRangeCheck Class Reference

#include "GridNotifiers.h"

Public Member Functions

 AnyUnfriendlyNoTotemUnitInObjectRangeCheck (WorldObject const *obj, Unit const *funit, float range)
 
bool operator() (Unit *u)
 

Private Attributes

WorldObject const * i_obj
 
Unit const * i_funit
 
float i_range
 

Detailed Description

Constructor & Destructor Documentation

◆ AnyUnfriendlyNoTotemUnitInObjectRangeCheck()

Acore::AnyUnfriendlyNoTotemUnitInObjectRangeCheck::AnyUnfriendlyNoTotemUnitInObjectRangeCheck ( WorldObject const *  obj,
Unit const *  funit,
float  range 
)
inline
878: i_obj(obj), i_funit(funit), i_range(range) {}
float i_range
Definition: GridNotifiers.h:898
Unit const * i_funit
Definition: GridNotifiers.h:897
WorldObject const * i_obj
Definition: GridNotifiers.h:896

Member Function Documentation

◆ operator()()

bool Acore::AnyUnfriendlyNoTotemUnitInObjectRangeCheck::operator() ( Unit u)
inline
880 {
881 if (!u->IsAlive())
882 return false;
883
885 return false;
886
887 if (u->GetTypeId() == TYPEID_UNIT && (u->ToCreature()->IsTotem() || u->ToCreature()->IsTrigger() || u->ToCreature()->IsAvoidingAOE())) // pussywizard: added IsAvoidingAOE()
888 return false;
889
890 if (!u->isTargetableForAttack(false, i_funit))
891 return false;
892
894 }
@ TYPEID_UNIT
Definition: ObjectGuid.h:37
@ CREATURE_TYPE_NON_COMBAT_PET
Definition: SharedDefines.h:2639
bool IsTrigger() const
Definition: Creature.h:77
bool IsAvoidingAOE() const
Definition: Creature.h:126
TypeID GetTypeId() const
Definition: Object.h:121
Creature * ToCreature()
Definition: Object.h:197
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition: Object.cpp:1321
bool IsAlive() const
Definition: Unit.h:1822
uint32 GetCreatureType() const
Definition: Unit.cpp:15168
bool IsFriendlyTo(Unit const *unit) const
Definition: Unit.cpp:10249
bool isTargetableForAttack(bool checkFakeDeath=true, Unit const *byWho=nullptr) const
Definition: Unit.cpp:13842
bool IsTotem() const
Definition: Unit.h:1427

References CREATURE_TYPE_NON_COMBAT_PET, Unit::GetCreatureType(), Object::GetTypeId(), i_funit, i_obj, i_range, Unit::IsAlive(), Creature::IsAvoidingAOE(), Unit::IsFriendlyTo(), Unit::isTargetableForAttack(), Unit::IsTotem(), Creature::IsTrigger(), WorldObject::IsWithinDistInMap(), Object::ToCreature(), and TYPEID_UNIT.

Member Data Documentation

◆ i_funit

Unit const* Acore::AnyUnfriendlyNoTotemUnitInObjectRangeCheck::i_funit
private

Referenced by operator()().

◆ i_obj

WorldObject const* Acore::AnyUnfriendlyNoTotemUnitInObjectRangeCheck::i_obj
private

Referenced by operator()().

◆ i_range

float Acore::AnyUnfriendlyNoTotemUnitInObjectRangeCheck::i_range
private

Referenced by operator()().