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

Public Member Functions

 CorpseExplosionCheck (ObjectGuid casterGUID, bool allowGhoul)
 
bool operator() (WorldObject *obj) const
 

Private Attributes

ObjectGuid _casterGUID
 
bool _allowGhoul
 

Detailed Description

Constructor & Destructor Documentation

◆ CorpseExplosionCheck()

CorpseExplosionCheck::CorpseExplosionCheck ( ObjectGuid  casterGUID,
bool  allowGhoul 
)
inlineexplicit
1069: _casterGUID(casterGUID), _allowGhoul(allowGhoul) { }
ObjectGuid _casterGUID
Definition: spell_dk.cpp:1085
bool _allowGhoul
Definition: spell_dk.cpp:1086

Member Function Documentation

◆ operator()()

bool CorpseExplosionCheck::operator() ( WorldObject obj) const
inline
1072 {
1073 if (Unit* target = obj->ToUnit())
1074 {
1075 if ((target->isDead() || (_allowGhoul && target->GetEntry() == NPC_DK_GHOUL && target->GetOwnerGUID() == _casterGUID))
1076 && !(target->GetCreatureTypeMask() & CREATURE_TYPEMASK_MECHANICAL_OR_ELEMENTAL)
1077 && target->GetDisplayId() == target->GetNativeDisplayId())
1078 return false;
1079 }
1080
1081 return true;
1082 }
@ NPC_DK_GHOUL
Definition: spell_dk.cpp:85
uint32 const CREATURE_TYPEMASK_MECHANICAL_OR_ELEMENTAL
Definition: SharedDefines.h:2617
Unit * ToUnit()
Definition: Object.h:200
Definition: Unit.h:1290

References _allowGhoul, _casterGUID, CREATURE_TYPEMASK_MECHANICAL_OR_ELEMENTAL, NPC_DK_GHOUL, and Object::ToUnit().

Member Data Documentation

◆ _allowGhoul

bool CorpseExplosionCheck::_allowGhoul
private

Referenced by operator()().

◆ _casterGUID

ObjectGuid CorpseExplosionCheck::_casterGUID
private

Referenced by operator()().