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
1080 : i_obj(obj), i_funit(funit), _spellInfo(nullptr), i_range(range)
1081 {
1082 Unit const* check = i_funit;
1083 Unit const* owner = i_funit->GetOwner();
1084 if (owner)
1085 check = owner;
1086 i_targetForPlayer = (check->IsPlayer());
1087 if (i_obj->IsDynamicObject())
1088 _spellInfo = sSpellMgr->GetSpellInfo(((DynamicObject*)i_obj)->GetSpellId());
1089 }
#define sSpellMgr
Definition: SpellMgr.h:825
Definition: DynamicObject.h:35
bool IsPlayer() const
Definition: Object.h:200
bool IsDynamicObject() const
Definition: Object.h:220
Definition: Unit.h:630
Unit * GetOwner() const
Definition: Unit.cpp:10600
SpellInfo const * _spellInfo
Definition: GridNotifiers.h:1117
Unit const * i_funit
Definition: GridNotifiers.h:1116
WorldObject const * i_obj
Definition: GridNotifiers.h:1115
float i_range
Definition: GridNotifiers.h:1118
bool i_targetForPlayer
Definition: GridNotifiers.h:1114

References _spellInfo, Unit::GetOwner(), i_funit, i_obj, i_targetForPlayer, Object::IsDynamicObject(), Object::IsPlayer(), and sSpellMgr.

Member Function Documentation

◆ operator()()

bool Acore::AnyAoETargetUnitInObjectRangeCheck::operator() ( Unit u)
inline
1091 {
1092 // Check contains checks for: live, non-selectable, non-attackable flags, flight check and GM check, ignore totems
1093 if (Creature* creature = u->ToCreature())
1094 {
1095 if (creature->IsTotem())
1096 {
1097 return false;
1098 }
1099
1100 if (creature->IsAvoidingAOE())
1101 {
1102 return false;
1103 }
1104
1105 }
1106
1108
1109 return true;
1110
1111 return false;
1112 }
Definition: Creature.h:43
Creature * ToCreature()
Definition: Object.h:205
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition: Object.cpp:1332
bool _IsValidAttackTarget(Unit const *target, SpellInfo const *bySpell, WorldObject const *obj=nullptr) const
Definition: Unit.cpp:13877

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

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