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

#include "GridNotifiers.h"

Public Member Functions

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

Private Attributes

bool i_targetForPlayer
 
WorldObject const * i_obj
 
Unit const * i_funit
 
SpellInfo const * _spellInfo
 
float i_range
 

Detailed Description

Constructor & Destructor Documentation

◆ AnyAoETargetUnitInObjectRangeCheck()

Acore::AnyAoETargetUnitInObjectRangeCheck::AnyAoETargetUnitInObjectRangeCheck ( WorldObject const *  obj,
Unit const *  funit,
float  range 
)
inline
1077 : i_obj(obj), i_funit(funit), _spellInfo(nullptr), i_range(range)
1078 {
1079 Unit const* check = i_funit;
1080 Unit const* owner = i_funit->GetOwner();
1081 if (owner)
1082 check = owner;
1085 _spellInfo = sSpellMgr->GetSpellInfo(((DynamicObject*)i_obj)->GetSpellId());
1086 }
@ TYPEID_DYNAMICOBJECT
Definition: ObjectGuid.h:40
@ TYPEID_PLAYER
Definition: ObjectGuid.h:38
#define sSpellMgr
Definition: SpellMgr.h:818
Definition: DynamicObject.h:35
TypeID GetTypeId() const
Definition: Object.h:121
Definition: Unit.h:1290
Unit * GetOwner() const
Definition: Unit.cpp:10560
SpellInfo const * _spellInfo
Definition: GridNotifiers.h:1113
Unit const * i_funit
Definition: GridNotifiers.h:1112
WorldObject const * i_obj
Definition: GridNotifiers.h:1111
float i_range
Definition: GridNotifiers.h:1114
bool i_targetForPlayer
Definition: GridNotifiers.h:1110

References _spellInfo, Unit::GetOwner(), Object::GetTypeId(), i_funit, i_obj, i_targetForPlayer, sSpellMgr, TYPEID_DYNAMICOBJECT, and TYPEID_PLAYER.

Member Function Documentation

◆ operator()()

bool Acore::AnyAoETargetUnitInObjectRangeCheck::operator() ( Unit u)
inline
1088 {
1089 // Check contains checks for: live, non-selectable, non-attackable flags, flight check and GM check, ignore totems
1090 if (Creature* creature = u->ToCreature())
1091 {
1092 if (creature->IsTotem())
1093 {
1094 return false;
1095 }
1096
1097 if (creature->IsAvoidingAOE())
1098 {
1099 return false;
1100 }
1101
1102 }
1103
1105 return true;
1106
1107 return false;
1108 }
Definition: Creature.h:46
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 _IsValidAttackTarget(Unit const *target, SpellInfo const *bySpell, WorldObject const *obj=nullptr) const
Definition: Unit.cpp:13782

References Unit::_IsValidAttackTarget(), _spellInfo, Object::GetTypeId(), i_funit, i_obj, i_range, WorldObject::IsWithinDistInMap(), Object::ToCreature(), and TYPEID_DYNAMICOBJECT.

Member Data Documentation

◆ _spellInfo

SpellInfo const* Acore::AnyAoETargetUnitInObjectRangeCheck::_spellInfo
private

◆ i_funit

Unit const* Acore::AnyAoETargetUnitInObjectRangeCheck::i_funit
private

◆ i_obj

WorldObject const* Acore::AnyAoETargetUnitInObjectRangeCheck::i_obj
private

◆ i_range

float Acore::AnyAoETargetUnitInObjectRangeCheck::i_range
private

Referenced by operator()().

◆ i_targetForPlayer

bool Acore::AnyAoETargetUnitInObjectRangeCheck::i_targetForPlayer
private