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

#include "GridNotifiers.h"

Public Member Functions

 FriendlyMissingBuffInRange (Unit const *obj, float range, uint32 spellid)
 
bool operator() (Unit *u)
 

Private Attributes

Unit const * i_obj
 
float i_range
 
uint32 i_spell
 

Detailed Description

Constructor & Destructor Documentation

◆ FriendlyMissingBuffInRange()

Acore::FriendlyMissingBuffInRange::FriendlyMissingBuffInRange ( Unit const *  obj,
float  range,
uint32  spellid 
)
inline
835 : i_obj(obj), i_range(range)
836 {
837 i_spell = spellid;
838 if( SpellInfo const* spell = sSpellMgr->GetSpellInfo(spellid) )
839 if( SpellInfo const* newSpell = sSpellMgr->GetSpellForDifficultyFromSpell(spell, const_cast<Unit*>(obj)) )
840 i_spell = newSpell->Id;
841 }
#define sSpellMgr
Definition: SpellMgr.h:818
Definition: Unit.h:1290
float i_range
Definition: GridNotifiers.h:853
uint32 i_spell
Definition: GridNotifiers.h:854
Unit const * i_obj
Definition: GridNotifiers.h:852
Definition: SpellInfo.h:314

References i_spell, and sSpellMgr.

Member Function Documentation

◆ operator()()

bool Acore::FriendlyMissingBuffInRange::operator() ( Unit u)
inline
843 {
844 if (u->IsAlive() && u->IsInCombat() && !i_obj->IsHostileTo(u) && i_obj->IsWithinDistInMap(u, i_range) &&
845 !(u->HasAura(i_spell)))
846 {
847 return true;
848 }
849 return false;
850 }
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition: Object.cpp:1321
bool IsAlive() const
Definition: Unit.h:1808
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
Definition: Unit.cpp:5610
bool IsHostileTo(Unit const *unit) const
Definition: Unit.cpp:10209
bool IsInCombat() const
Definition: Unit.h:1688

References Unit::HasAura(), i_obj, i_range, i_spell, Unit::IsAlive(), Unit::IsHostileTo(), Unit::IsInCombat(), and WorldObject::IsWithinDistInMap().

Member Data Documentation

◆ i_obj

Unit const* Acore::FriendlyMissingBuffInRange::i_obj
private

Referenced by operator()().

◆ i_range

float Acore::FriendlyMissingBuffInRange::i_range
private

Referenced by operator()().

◆ i_spell

uint32 Acore::FriendlyMissingBuffInRange::i_spell
private