AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
AuraMunchingQueue Class Reference
Inheritance diagram for AuraMunchingQueue:
BasicEvent

Public Member Functions

 AuraMunchingQueue (Unit &owner, ObjectGuid targetGUID, int32 basePoints, uint32 spellId, AuraEffect *aurEff, AuraType auraType)
 
bool Execute (uint64, uint32) override
 
- Public Member Functions inherited from BasicEvent
 BasicEvent ()=default
 
virtual ~BasicEvent ()=default
 
virtual bool IsDeletable () const
 
virtual void Abort (uint64)
 
void ScheduleAbort ()
 

Private Attributes

Unit_owner
 
ObjectGuid _targetGUID
 
int32 _basePoints
 
uint32 _spellId
 
AuraEffect_aurEff
 
AuraType _auraType
 

Detailed Description

Constructor & Destructor Documentation

◆ AuraMunchingQueue()

AuraMunchingQueue::AuraMunchingQueue ( Unit owner,
ObjectGuid  targetGUID,
int32  basePoints,
uint32  spellId,
AuraEffect aurEff,
AuraType  auraType 
)
inline
20055: _owner(owner), _targetGUID(targetGUID), _basePoints(basePoints), _spellId(spellId), _aurEff(aurEff), _auraType(auraType) { }
ObjectGuid _targetGUID
Definition Unit.cpp:20079
Unit & _owner
Definition Unit.cpp:20078
uint32 _spellId
Definition Unit.cpp:20081
AuraEffect * _aurEff
Definition Unit.cpp:20082
int32 _basePoints
Definition Unit.cpp:20080
AuraType _auraType
Definition Unit.cpp:20083

Member Function Documentation

◆ Execute()

bool AuraMunchingQueue::Execute ( uint64  ,
uint32   
)
inlineoverridevirtual

Reimplemented from BasicEvent.

20058 {
20059 if (_owner.IsInWorld() && _owner.FindMap())
20061 {
20062 bool auraFound = false; // Used to ensure _aurEff exists to avoid wild pointer access/crash
20063 Unit::AuraEffectList const& auraEffects = target->GetAuraEffectsByType(_auraType);
20064 for (Unit::AuraEffectList::const_iterator j = auraEffects.begin(); j != auraEffects.end(); ++j)
20065 if ((*j) == _aurEff)
20066 auraFound = true;
20067
20068 if (!auraFound)
20069 _aurEff = nullptr;
20070
20072 }
20073
20074 return true;
20075 }
@ SPELLVALUE_BASE_POINT0
Definition SpellDefines.h:113
TriggerCastFlags
Definition SpellDefines.h:132
@ TRIGGERED_FULL_MASK
Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.
Definition SpellDefines.h:150
@ TRIGGERED_NO_PERIODIC_RESET
Will ignore equipped item requirements.
Definition SpellDefines.h:152
bool IsInWorld() const
Definition Object.h:108
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:113
Definition Unit.h:620
SpellCastResult CastCustomSpell(Unit *victim, uint32 spellId, int32 const *bp0, int32 const *bp1, int32 const *bp2, bool triggered, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition Unit.cpp:1236
std::list< AuraEffect * > AuraEffectList
Definition Unit.h:636
Map * FindMap() const
Definition Object.h:538
Unit * GetUnit(WorldObject const &, ObjectGuid const guid)
Definition ObjectAccessor.cpp:199

References _auraType, _aurEff, _basePoints, _owner, _spellId, _targetGUID, Unit::CastCustomSpell(), WorldObject::FindMap(), Object::GetGUID(), ObjectAccessor::GetUnit(), Object::IsInWorld(), SPELLVALUE_BASE_POINT0, TRIGGERED_FULL_MASK, and TRIGGERED_NO_PERIODIC_RESET.

Member Data Documentation

◆ _auraType

AuraType AuraMunchingQueue::_auraType
private

Referenced by Execute().

◆ _aurEff

AuraEffect* AuraMunchingQueue::_aurEff
private

Referenced by Execute().

◆ _basePoints

int32 AuraMunchingQueue::_basePoints
private

Referenced by Execute().

◆ _owner

Unit& AuraMunchingQueue::_owner
private

Referenced by Execute().

◆ _spellId

uint32 AuraMunchingQueue::_spellId
private

Referenced by Execute().

◆ _targetGUID

ObjectGuid AuraMunchingQueue::_targetGUID
private

Referenced by Execute().


The documentation for this class was generated from the following file: