![]() |
AzerothCore 3.3.5a
OpenSource WoW Emulator
|
Lightweight stub for Aura proc-related functionality. More...
#include "AuraStub.h"
Public Types | |
| using | TimePoint = std::chrono::steady_clock::time_point |
Public Member Functions | |
| AuraStub (uint32_t id=0, uint32_t spellFamilyName=0) | |
| virtual | ~AuraStub ()=default |
| uint32_t | GetId () const |
| uint32_t | GetSpellFamilyName () const |
| void | SetId (uint32_t id) |
| void | SetSpellFamilyName (uint32_t familyName) |
| AuraEffectStub * | GetEffect (uint8_t effIndex) const |
| bool | HasEffect (uint8_t effIndex) const |
| uint8_t | GetEffectMask () const |
| uint8_t | GetCharges () const |
| bool | IsUsingCharges () const |
| void | SetCharges (uint8_t charges) |
| void | SetUsingCharges (bool usingCharges) |
| virtual bool | DropCharge () |
| bool | WasChargeDropped () const |
| void | ResetChargeDropped () |
| int32_t | GetDuration () const |
| int32_t | GetMaxDuration () const |
| bool | IsPermanent () const |
| void | SetDuration (int32_t duration) |
| void | SetMaxDuration (int32_t maxDuration) |
| bool | IsProcOnCooldown (TimePoint now) const |
| void | AddProcCooldown (TimePoint cooldownEnd) |
| void | ResetProcCooldown () |
| uint8_t | GetStackAmount () const |
| void | SetStackAmount (uint8_t amount) |
| virtual bool | ModStackAmount (int32_t amount, bool=true) |
| Modify stack amount (for PROC_ATTR_USE_STACKS_FOR_CHARGES) Mimics Aura::ModStackAmount() - removes aura if stacks reach 0. | |
| bool | IsPassive () const |
| bool | IsRemoved () const |
| void | SetPassive (bool isPassive) |
| void | SetRemoved (bool isRemoved) |
| virtual void | Remove () |
| Mark aura as removed (for charge exhaustion) Mimics Aura::Remove() | |
| AuraApplicationStub & | GetOrCreateApplication () |
| AuraApplicationStub * | GetApplication () const |
Private Attributes | |
| uint32_t | _id = 0 |
| uint32_t | _spellFamilyName = 0 |
| std::unique_ptr< AuraEffectStub > | _effects [3] |
| std::unique_ptr< AuraApplicationStub > | _application |
| uint8_t | _charges = 0 |
| bool | _isUsingCharges = false |
| bool | _chargeDropped = false |
| int32_t | _duration = -1 |
| int32_t | _maxDuration = -1 |
| TimePoint | _procCooldown = TimePoint::min() |
| uint8_t | _stackAmount = 1 |
| bool | _isPassive = false |
| bool | _isRemoved = false |
Lightweight stub for Aura proc-related functionality.
| using AuraStub::TimePoint = std::chrono::steady_clock::time_point |
|
inline |
References _effects.
|
virtualdefault |
|
inline |
References _procCooldown.
Referenced by ProcChanceTestHelper::ApplyProcCooldown().
|
inlinevirtual |
References _chargeDropped, and _charges.
Referenced by ProcChanceTestHelper::SimulateConsumeProcCharges().
|
inline |
References _application.
|
inline |
|
inline |
References _duration.
|
inline |
|
inline |
|
inline |
References _maxDuration.
|
inline |
References _application.
|
inline |
References _spellFamilyName.
|
inline |
References _stackAmount.
|
inline |
|
inline |
References _isPassive.
|
inline |
References _maxDuration.
|
inline |
References _procCooldown.
Referenced by ProcChanceTestHelper::IsProcOnCooldown().
|
inline |
References _isRemoved.
|
inline |
|
inlinevirtual |
Modify stack amount (for PROC_ATTR_USE_STACKS_FOR_CHARGES) Mimics Aura::ModStackAmount() - removes aura if stacks reach 0.
References _stackAmount, and Remove().
Referenced by ProcChanceTestHelper::SimulateConsumeProcCharges().
|
inlinevirtual |
Mark aura as removed (for charge exhaustion) Mimics Aura::Remove()
References _isRemoved.
Referenced by ModStackAmount(), and ProcChanceTestHelper::SimulateConsumeProcCharges().
|
inline |
References _chargeDropped.
|
inline |
References _procCooldown.
|
inline |
|
inline |
|
inline |
|
inline |
References _maxDuration.
|
inline |
References _isPassive.
|
inline |
References _isRemoved.
|
inline |
References _spellFamilyName.
Referenced by ProcTestContext::WithAuraSpellFamily().
|
inline |
References _stackAmount.
|
inline |
References _isUsingCharges.
Referenced by ProcTestContext::WithAuraCharges().
|
inline |
References _chargeDropped.
|
private |
Referenced by GetApplication(), and GetOrCreateApplication().
|
private |
Referenced by DropCharge(), ResetChargeDropped(), and WasChargeDropped().
|
private |
Referenced by DropCharge(), GetCharges(), and SetCharges().
|
private |
Referenced by GetDuration(), and SetDuration().
|
private |
Referenced by AuraStub(), GetEffect(), GetEffectMask(), and HasEffect().
|
private |
Referenced by IsPassive(), and SetPassive().
|
private |
Referenced by IsRemoved(), Remove(), and SetRemoved().
|
private |
Referenced by IsUsingCharges(), and SetUsingCharges().
|
private |
Referenced by GetMaxDuration(), IsPermanent(), and SetMaxDuration().
|
private |
Referenced by AddProcCooldown(), IsProcOnCooldown(), and ResetProcCooldown().
|
private |
Referenced by GetSpellFamilyName(), and SetSpellFamilyName().
|
private |
Referenced by GetStackAmount(), ModStackAmount(), and SetStackAmount().