![]() |
TrinityCore
|
#include <FleeingMovementGenerator.h>
Inheritance diagram for FleeingMovementGenerator:Private Member Functions | |
| void | SetTargetLocation (Unit *owner) |
| void | GetPoint (Unit *owner, Position &position) const |
Private Attributes | |
| std::unique_ptr< PathGenerator > | _path |
| ObjectGuid | _fleeTargetGUID |
| TimeTracker | _timer |
Additional Inherited Members | |
Public Attributes inherited from MovementGenerator | |
| uint8 | Priority |
| uint16 | Flags |
| uint32 | BaseUnitState |
| Scripting::v2::ActionResultSetter< MovementStopReason > | ScriptResult |
Protected Member Functions inherited from MovementGenerator | |
| void | SetScriptResult (MovementStopReason reason) |
Definition at line 28 of file FleeingMovementGenerator.h.
|
explicit |
Definition at line 29 of file FleeingMovementGenerator.cpp.
References MovementGenerator::BaseUnitState, MovementGenerator::Flags, MOTION_PRIORITY_HIGHEST, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MovementGenerator::Priority, MovementGenerator::ScriptResult, and UNIT_STATE_FLEEING.
|
delete |
|
delete |
|
default |
|
overridevirtual |
Implements MovementGenerator.
Definition at line 90 of file FleeingMovementGenerator.cpp.
References MovementGenerator::AddFlag(), Unit::ClearUnitState(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, and UNIT_STATE_FLEEING_MOVE.
|
overridevirtual |
Implements MovementGenerator.
Reimplemented in TimedFleeingMovementGenerator.
Definition at line 96 of file FleeingMovementGenerator.cpp.
References MovementGenerator::AddFlag(), Unit::ClearUnitState(), Finished, Unit::GetVictim(), BaseEntity::IsCreature(), BaseEntity::IsPlayer(), MOVEMENTGENERATOR_FLAG_FINALIZED, MovementGenerator::SetScriptResult(), Unit::SetTarget(), Unit::StopMoving(), and UNIT_STATE_FLEEING_MOVE.
Referenced by TimedFleeingMovementGenerator::Finalize().
|
overridevirtual |
Implements MovementGenerator.
Reimplemented in TimedFleeingMovementGenerator.
Definition at line 40 of file FleeingMovementGenerator.cpp.
References FLEEING_MOTION_TYPE.
Definition at line 164 of file FleeingMovementGenerator.cpp.
References _fleeTargetGUID, frand(), ObjectAccessor::GetUnit(), M_PI, MAX_QUIET_DISTANCE, MIN_QUIET_DISTANCE, and WorldObject::MovePositionToFirstCollision().
Referenced by SetTargetLocation().
|
overridevirtual |
Implements MovementGenerator.
Definition at line 45 of file FleeingMovementGenerator.cpp.
References _path, MovementGenerator::AddFlag(), Unit::IsAlive(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MOVEMENTGENERATOR_FLAG_INITIALIZED, MOVEMENTGENERATOR_FLAG_TRANSITORY, MovementGenerator::RemoveFlag(), and SetTargetLocation().
Referenced by Reset().
|
delete |
|
delete |
|
overridevirtual |
Implements MovementGenerator.
Definition at line 58 of file FleeingMovementGenerator.cpp.
References Initialize(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, MOVEMENTGENERATOR_FLAG_TRANSITORY, and MovementGenerator::RemoveFlag().
|
private |
Definition at line 117 of file FleeingMovementGenerator.cpp.
References _path, _timer, MovementGenerator::AddFlag(), Unit::AddUnitState(), GetPoint(), Position::GetPosition(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Unit::HasUnitState(), Unit::IsAlive(), Unit::IsMovementPreventedByCasting(), WorldObject::IsWithinLOS(), Movement::MoveSplineInit::Launch(), Movement::MoveSplineInit::MovebyPath(), MOVEMENTGENERATOR_FLAG_INTERRUPTED, PATHFIND_FARFROMPOLY, PATHFIND_NOPATH, PATHFIND_SHORTCUT, TimeTracker::Reset(), Movement::MoveSplineInit::SetWalk(), Unit::StopMoving(), UNIT_STATE_FLEEING_MOVE, UNIT_STATE_NOT_MOVE, and urand().
Referenced by Initialize(), and Update().
|
inlineoverridevirtual |
Reimplemented from MovementGenerator.
Definition at line 47 of file FleeingMovementGenerator.h.
References MovementGenerator::AddFlag(), and MOVEMENTGENERATOR_FLAG_SPEED_UPDATE_PENDING.
Implements MovementGenerator.
Reimplemented in TimedFleeingMovementGenerator.
Definition at line 65 of file FleeingMovementGenerator.cpp.
References _path, _timer, MovementGenerator::AddFlag(), MovementGenerator::HasFlag(), Unit::HasUnitState(), Unit::IsAlive(), Unit::IsMovementPreventedByCasting(), MOVEMENTGENERATOR_FLAG_INTERRUPTED, MOVEMENTGENERATOR_FLAG_SPEED_UPDATE_PENDING, MOVEMENTGENERATOR_FLAG_TRANSITORY, Unit::movespline, TimeTracker::Passed(), MovementGenerator::RemoveFlag(), SetTargetLocation(), Unit::StopMoving(), UNIT_STATE_NOT_MOVE, and TimeTracker::Update().
Referenced by TimedFleeingMovementGenerator::Update().
|
private |
Definition at line 54 of file FleeingMovementGenerator.h.
Referenced by GetPoint().
|
private |
Definition at line 53 of file FleeingMovementGenerator.h.
Referenced by Initialize(), SetTargetLocation(), and Update().
|
private |
Definition at line 55 of file FleeingMovementGenerator.h.
Referenced by SetTargetLocation(), and Update().