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

Public Member Functions

 FlameLeviathanPursuedTargetSelector ()
 
bool operator() (WorldObject *target) const
 

Private Types

enum  Area { AREA_FORMATION_GROUNDS = 4652 }
 

Detailed Description

Member Enumeration Documentation

◆ Area

Enumerator
AREA_FORMATION_GROUNDS 
1591 {
1593 };
@ AREA_FORMATION_GROUNDS
Definition: boss_flame_leviathan.cpp:1592

Constructor & Destructor Documentation

◆ FlameLeviathanPursuedTargetSelector()

FlameLeviathanPursuedTargetSelector::FlameLeviathanPursuedTargetSelector ( )
inlineexplicit
1596{};

Member Function Documentation

◆ operator()()

bool FlameLeviathanPursuedTargetSelector::operator() ( WorldObject target) const
inline

No players, only vehicles (todo: check if blizzlike)

NPC entries must match

NPC must be a valid vehicle installation

Entity needs to be in appropriate area

Vehicle must be in use by player

1599 {
1601 Creature* creatureTarget = target->ToCreature();
1602 if (!creatureTarget)
1603 return true;
1604
1606 if (creatureTarget->GetEntry() != NPC_SALVAGED_DEMOLISHER && creatureTarget->GetEntry() != NPC_SALVAGED_SIEGE_ENGINE)
1607 return true;
1608
1610 Vehicle* vehicle = creatureTarget->GetVehicleKit();
1611 if (!vehicle)
1612 return true;
1613
1615 if (target->GetAreaId() != AREA_FORMATION_GROUNDS)
1616 return true;
1617
1619 bool playerFound = false;
1620 for (SeatMap::const_iterator itr = vehicle->Seats.begin(); itr != vehicle->Seats.end() && !playerFound; ++itr)
1621 if (itr->second.Passenger.Guid.IsPlayer())
1622 playerFound = true;
1623
1624 return !playerFound;
1625 }
@ NPC_SALVAGED_SIEGE_ENGINE
Definition: ulduar.h:155
@ NPC_SALVAGED_DEMOLISHER
Definition: ulduar.h:158
Definition: Creature.h:46
uint32 GetEntry() const
Definition: Object.h:109
Creature * ToCreature()
Definition: Object.h:197
uint32 GetAreaId() const
Definition: Object.cpp:3108
Vehicle * GetVehicleKit() const
Definition: Unit.h:2367
Definition: Vehicle.h:30
SeatMap Seats
Definition: Vehicle.h:57

References WorldObject::GetAreaId(), Object::GetEntry(), Unit::GetVehicleKit(), NPC_SALVAGED_DEMOLISHER, NPC_SALVAGED_SIEGE_ENGINE, Vehicle::Seats, and Object::ToCreature().