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, TriggerCastFlags triggerFlags)
 
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
 
TriggerCastFlags _triggerFlags
 

Detailed Description

Constructor & Destructor Documentation

◆ AuraMunchingQueue()

AuraMunchingQueue::AuraMunchingQueue ( Unit &  owner,
ObjectGuid  targetGUID,
int32  basePoints,
uint32  spellId,
AuraEffect *  aurEff,
AuraType  auraType,
TriggerCastFlags  triggerFlags 
)
inline
15902 : _owner(owner), _targetGUID(targetGUID), _basePoints(basePoints), _spellId(spellId), _aurEff(aurEff),
15903 _auraType(auraType), _triggerFlags(triggerFlags) { }
ObjectGuid _targetGUID
Definition Unit.cpp:15928
Unit & _owner
Definition Unit.cpp:15927
uint32 _spellId
Definition Unit.cpp:15930
AuraEffect * _aurEff
Definition Unit.cpp:15931
int32 _basePoints
Definition Unit.cpp:15929
TriggerCastFlags _triggerFlags
Definition Unit.cpp:15933
AuraType _auraType
Definition Unit.cpp:15932

Member Function Documentation

◆ Execute()

bool AuraMunchingQueue::Execute ( uint64  ,
uint32   
)
inlineoverridevirtual

Reimplemented from BasicEvent.

15906 {
15907 if (_owner.IsInWorld() && _owner.FindMap())
15909 {
15910 bool auraFound = false; // Used to ensure _aurEff exists to avoid wild pointer access/crash
15911 Unit::AuraEffectList const& auraEffects = target->GetAuraEffectsByType(_auraType);
15912 for (Unit::AuraEffectList::const_iterator j = auraEffects.begin(); j != auraEffects.end(); ++j)
15913 if ((*j) == _aurEff)
15914 auraFound = true;
15915
15916 if (!auraFound)
15917 _aurEff = nullptr;
15918
15921 }
15922
15923 return true;
15924 }
@ SPELLVALUE_BASE_POINT0
Definition SpellDefines.h:121
bool IsInWorld() const
Definition Object.h:115
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:120
Definition Unit.h:670
std::vector< AuraEffect * > AuraEffectList
Definition Unit.h:686
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:1435
Map * FindMap() const
Definition Object.h:638
Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
Definition ObjectAccessor.cpp:223

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

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().

◆ _triggerFlags

TriggerCastFlags AuraMunchingQueue::_triggerFlags
private

Referenced by Execute().


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