AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
PeriodicAbsorbStealthProcTest Class Reference

Tests for fully absorbed periodic damage not triggering TAKEN procs. More...

Inheritance diagram for PeriodicAbsorbStealthProcTest:

Protected Member Functions

void SetUp () override
 
void TearDown () override
 

Protected Attributes

IWorld_originalWorld = nullptr
 
NiceMock< WorldMock > * _worldMock = nullptr
 

Detailed Description

Tests for fully absorbed periodic damage not triggering TAKEN procs.

When periodic damage (e.g. Consecration ticks) is fully absorbed by an absorb shield (e.g. Power Word: Shield), the hit mask should only contain PROC_HIT_ABSORB (no PROC_HIT_NORMAL/CRITICAL). Since TAKEN procs default to requiring PROC_HIT_NORMAL | PROC_HIT_CRITICAL, fully absorbed ticks should not trigger victim procs like stealth charge consumption.

This aligns with TrinityCore behavior where hitMask only gets NORMAL/CRITICAL added when damage > 0 in HandlePeriodicDamageAurasTick.

Member Function Documentation

◆ SetUp()

void PeriodicAbsorbStealthProcTest::SetUp ( )
inlineoverrideprotected
42 {
43 _originalWorld = sWorld.release();
44 _worldMock = new NiceMock<WorldMock>();
45 sWorld.reset(_worldMock);
46
47 static std::string emptyString;
48 ON_CALL(*_worldMock, GetDataPath()).WillByDefault(ReturnRef(emptyString));
49 }
NiceMock< WorldMock > * _worldMock
Definition PeriodicAbsorbStealthProcTest.cpp:62
IWorld * _originalWorld
Definition PeriodicAbsorbStealthProcTest.cpp:61
#define sWorld
Definition World.h:316

References _originalWorld, _worldMock, and sWorld.

◆ TearDown()

void PeriodicAbsorbStealthProcTest::TearDown ( )
inlineoverrideprotected
52 {
53 IWorld* currentWorld = sWorld.release();
54 delete currentWorld;
55 _worldMock = nullptr;
56
58 _originalWorld = nullptr;
59 }
Definition IWorld.h:63

References _originalWorld, _worldMock, and sWorld.

Member Data Documentation

◆ _originalWorld

IWorld* PeriodicAbsorbStealthProcTest::_originalWorld = nullptr
protected

Referenced by SetUp(), and TearDown().

◆ _worldMock

NiceMock<WorldMock>* PeriodicAbsorbStealthProcTest::_worldMock = nullptr
protected

Referenced by SetUp(), and TearDown().


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