AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
SlaveRunEvent Class Reference
Inheritance diagram for SlaveRunEvent:
BasicEvent

Public Member Functions

 SlaveRunEvent (Creature &owner)
 
bool Execute (uint64, uint32) override
 
- Public Member Functions inherited from BasicEvent
 BasicEvent ()=default
 
virtual ~BasicEvent ()=default
 
virtual bool Execute (uint64, uint32)
 
virtual bool IsDeletable () const
 
virtual void Abort (uint64)
 
void ScheduleAbort ()
 

Private Attributes

Creature_owner
 

Detailed Description

Constructor & Destructor Documentation

◆ SlaveRunEvent()

SlaveRunEvent::SlaveRunEvent ( Creature owner)
inline
1343: _owner(owner) { }
Creature & _owner
Definition: pit_of_saron.cpp:1364

Member Function Documentation

◆ Execute()

bool SlaveRunEvent::Execute ( uint64  ,
uint32   
)
inlineoverridevirtual

Reimplemented from BasicEvent.

1346 {
1347 uint32 pointId = 0;
1348 float minDist = _owner.GetExactDist2dSq(&slaveFreePos[pointId]);
1349 for (uint32 i = 1; i < 4; ++i)
1350 {
1351 float dist = _owner.GetExactDist2dSq(&slaveFreePos[i]);
1352 if (dist < minDist)
1353 {
1354 minDist = dist;
1355 pointId = i;
1356 }
1357 }
1358 if (minDist < 200.0f * 200.0f)
1359 _owner.GetMotionMaster()->MovePoint(0, slaveFreePos[pointId], true, false);
1360 return true;
1361 }
std::uint32_t uint32
Definition: Define.h:108
const Position slaveFreePos[4]
Definition: pit_of_saron.cpp:1332
float GetExactDist2dSq(const float x, const float y) const
Definition: Position.h:157
MotionMaster * GetMotionMaster()
Definition: Unit.h:2276
void MovePoint(uint32 id, const Position &pos, bool generatePath=true, bool forceDestination=true)
Definition: MotionMaster.h:211

References _owner, Position::GetExactDist2dSq(), Unit::GetMotionMaster(), MotionMaster::MovePoint(), and slaveFreePos.

Member Data Documentation

◆ _owner

Creature& SlaveRunEvent::_owner
private

Referenced by Execute().