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

Public Member Functions

 AbominationDespawner (Unit *owner)
 
bool operator() (ObjectGuid guid)
 

Private Attributes

Unit_owner
 

Detailed Description

Constructor & Destructor Documentation

◆ AbominationDespawner()

AbominationDespawner::AbominationDespawner ( Unit owner)
inlineexplicit
154: _owner(owner) { }
Unit * _owner
Definition: boss_professor_putricide.cpp:178

Member Function Documentation

◆ operator()()

bool AbominationDespawner::operator() ( ObjectGuid  guid)
inline
157 {
158 if (Unit* summon = ObjectAccessor::GetUnit(*_owner, guid))
159 {
160 if (summon->GetEntry() == NPC_MUTATED_ABOMINATION_10 || summon->GetEntry() == NPC_MUTATED_ABOMINATION_25)
161 {
162 if (Vehicle* veh = summon->GetVehicleKit())
163 veh->RemoveAllPassengers(); // also despawns the vehicle
164
165 // Found unit is Mutated Abomination, remove it
166 return true;
167 }
168
169 // Found unit is not Mutated Abomintaion, leave it
170 return false;
171 }
172
173 // No unit found, remove from SummonList
174 return true;
175 }
@ NPC_MUTATED_ABOMINATION_25
Definition: icecrown_citadel.h:269
@ NPC_MUTATED_ABOMINATION_10
Definition: icecrown_citadel.h:268
Unit * GetUnit(WorldObject const &, ObjectGuid const guid)
Definition: ObjectAccessor.cpp:204
Definition: Unit.h:1290
Definition: Vehicle.h:30

References _owner, ObjectAccessor::GetUnit(), NPC_MUTATED_ABOMINATION_10, and NPC_MUTATED_ABOMINATION_25.

Member Data Documentation

◆ _owner

Unit* AbominationDespawner::_owner
private

Referenced by operator()().