![]() |
TrinityCore
|
#include <MotionMaster.h>
Classes | |
| class | DelayedAction |
Public Types | |
| typedef std::function< void()> | DelayedActionDefine |
| typedef std::function< bool()> | DelayedActionValidator |
Public Member Functions | |
| MotionMaster (Unit *unit) | |
| ~MotionMaster () | |
| void | Initialize () |
| void | InitializeDefault () |
| void | AddToWorld () |
| bool | Empty () const |
| uint32 | Size () const |
| std::vector< MovementGeneratorInformation > | GetMovementGeneratorsInformation () const |
| MovementSlot | GetCurrentSlot () const |
| MovementGenerator * | GetCurrentMovementGenerator () const |
| MovementGeneratorType | GetCurrentMovementGeneratorType () const |
| MovementGeneratorType | GetCurrentMovementGeneratorType (MovementSlot slot) const |
| MovementGenerator * | GetCurrentMovementGenerator (MovementSlot slot) const |
| MovementGenerator * | GetMovementGenerator (std::function< bool(MovementGenerator const *)> const &filter, MovementSlot slot=MOTION_SLOT_ACTIVE) const |
| bool | HasMovementGenerator (std::function< bool(MovementGenerator const *)> const &filter, MovementSlot slot=MOTION_SLOT_ACTIVE) const |
| void | Update (uint32 diff) |
| void | Add (MovementGenerator *movement, MovementSlot slot=MOTION_SLOT_ACTIVE) |
| void | Remove (MovementGenerator *movement, MovementSlot slot=MOTION_SLOT_ACTIVE) |
| void | Remove (MovementGeneratorType type, MovementSlot slot=MOTION_SLOT_ACTIVE) |
| void | Clear () |
| void | Clear (MovementSlot slot) |
| void | Clear (MovementGeneratorPriority priority) |
| void | PropagateSpeedChange () |
| bool | GetDestination (float &x, float &y, float &z) |
| bool | StopOnDeath () |
| void | InterruptOnTeleport () |
| void | MoveIdle () |
| void | MoveTargetedHome () |
| void | MoveRandom (float wanderDistance=0.0f) |
| void | MoveFollow (Unit *target, float dist, ChaseAngle angle, MovementSlot slot=MOTION_SLOT_ACTIVE) |
| void | MoveChase (Unit *target, Optional< ChaseRange > dist={}, Optional< ChaseAngle > angle={}) |
| void | MoveChase (Unit *target, float dist, float angle) |
| void | MoveChase (Unit *target, float dist) |
| void | MoveConfused () |
| void | MoveFleeing (Unit *enemy, uint32 time=0) |
| void | MovePoint (uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}) |
| void | MovePoint (uint32 id, float x, float y, float z, bool generatePath=true, Optional< float > finalOrient={}) |
| void | MoveCloserAndStop (uint32 id, Unit *target, float distance) |
| void | MoveLand (uint32 id, Position const &pos, Optional< float > velocity={}) |
| void | MoveTakeoff (uint32 id, Position const &pos, Optional< float > velocity={}) |
| void | MoveCharge (float x, float y, float z, float speed=SPEED_CHARGE, uint32 id=EVENT_CHARGE, bool generatePath=false) |
| void | MoveCharge (PathGenerator const &path, float speed=SPEED_CHARGE) |
| void | MoveKnockbackFrom (float srcX, float srcY, float speedXY, float speedZ) |
| void | MoveJumpTo (float angle, float speedXY, float speedZ) |
| void | MoveJump (Position const &pos, float speedXY, float speedZ, uint32 id=EVENT_JUMP, bool hasOrientation=false) |
| void | MoveJump (float x, float y, float z, float o, float speedXY, float speedZ, uint32 id=EVENT_JUMP, bool hasOrientation=false) |
| void | MoveCirclePath (float x, float y, float z, float radius, bool clockwise, uint8 stepCount) |
| void | MoveSmoothPath (uint32 pointId, Position const *pathPoints, size_t pathSize, bool walk) |
| void | MoveAlongSplineChain (uint32 pointId, uint16 dbChainId, bool walk) |
| void | MoveAlongSplineChain (uint32 pointId, std::vector< SplineChainLink > const &chain, bool walk) |
| void | ResumeSplineChain (SplineChainResumeInfo const &info) |
| void | MoveFall (uint32 id=0) |
| void | MoveSeekAssistance (float x, float y, float z) |
| void | MoveSeekAssistanceDistract (uint32 timer) |
| void | MoveTaxiFlight (uint32 path, uint32 pathnode) |
| void | MoveDistract (uint32 time, float orientation) |
| void | MovePath (uint32 pathId, bool repeatable) |
| void | MovePath (WaypointPath &path, bool repeatable) |
| void | MoveRotate (uint32 id, uint32 time, RotateDirection direction) |
| void | MoveFormation (Unit *leader, float range, float angle, uint32 point1, uint32 point2) |
| void | MoveFace (float orientation, uint32 id=EVENT_FACE) |
| void | MoveFace (WorldObject const *object, uint32 id=EVENT_FACE) |
| void | LaunchMoveSpline (std::function< void(Movement::MoveSplineInit &init)> &&initializer, uint32 id=0, MovementGeneratorPriority priority=MOTION_PRIORITY_NORMAL, MovementGeneratorType type=EFFECT_MOTION_TYPE) |
Private Types | |
| typedef std::unique_ptr< MovementGenerator, MovementGeneratorDeleter > | MovementGeneratorPointer |
| typedef std::set< MovementGenerator *, MovementGeneratorComparator > | MotionMasterContainer |
| typedef std::unordered_multimap< uint32, MovementGenerator const * > | MotionMasterUnitStatesContainer |
Private Member Functions | |
| void | AddFlag (uint8 const flag) |
| bool | HasFlag (uint8 const flag) const |
| void | RemoveFlag (uint8 const flag) |
| void | ResolveDelayedActions () |
| void | Remove (MotionMasterContainer::iterator &iterator, bool active, bool movementInform) |
| void | Pop (bool active, bool movementInform) |
| void | DirectInitialize () |
| void | DirectClear () |
| void | DirectClearDefault () |
| void | DirectClear (std::function< bool(MovementGenerator *)> const &filter) |
| void | DirectAdd (MovementGenerator *movement, MovementSlot slot) |
| void | Delete (MovementGenerator *movement, bool active, bool movementInform) |
| void | DeleteDefault (bool active, bool movementInform) |
| void | AddBaseUnitState (MovementGenerator const *movement) |
| void | ClearBaseUnitState (MovementGenerator const *movement) |
| void | ClearBaseUnitStates () |
Private Attributes | |
| Unit * | _owner |
| MovementGeneratorPointer | _defaultGenerator |
| MotionMasterContainer | _generators |
| MotionMasterUnitStatesContainer | _baseUnitStatesMap |
| std::deque< DelayedAction > | _delayedActions |
| uint8 | _flags |
Definition at line 94 of file MotionMaster.h.
| typedef std::function<void()> MotionMaster::DelayedActionDefine |
Definition at line 97 of file MotionMaster.h.
| typedef std::function<bool()> MotionMaster::DelayedActionValidator |
Definition at line 98 of file MotionMaster.h.
|
private |
Definition at line 200 of file MotionMaster.h.
|
private |
Definition at line 201 of file MotionMaster.h.
|
private |
Definition at line 199 of file MotionMaster.h.
|
explicit |
Definition at line 80 of file MotionMaster.cpp.
| MotionMaster::~MotionMaster | ( | ) |
Definition at line 82 of file MotionMaster.cpp.
References _delayedActions, _generators, and MovementGeneratorPointerDeleter().
| void MotionMaster::Add | ( | MovementGenerator * | movement, |
| MovementSlot | slot = MOTION_SLOT_ACTIVE |
||
| ) |
Definition at line 325 of file MotionMaster.cpp.
References _delayedActions, _generators, _owner, Add(), DirectAdd(), MovementGenerator::HasFlag(), HasFlag(), MovementGenerator::Initialize(), IsInvalidMovementSlot(), MOTIONMASTER_DELAYED_ADD, MOTIONMASTER_FLAG_DELAYED, MOVEMENTGENERATOR_FLAG_IMMEDIATE, and MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING.
Referenced by Add(), InitializeDefault(), LaunchMoveSpline(), MoveAlongSplineChain(), MoveCharge(), MoveChase(), MoveCirclePath(), MoveCloserAndStop(), MoveConfused(), MoveDistract(), MoveFace(), MoveFace(), MoveFall(), MoveFleeing(), MoveFollow(), MoveFormation(), MoveIdle(), MoveJump(), MoveKnockbackFrom(), MoveLand(), MovePath(), MovePath(), MovePoint(), MoveRandom(), MoveRotate(), MoveSeekAssistance(), MoveSeekAssistanceDistract(), MoveSmoothPath(), MoveTakeoff(), MoveTargetedHome(), MoveTaxiFlight(), and ResumeSplineChain().
|
private |
Definition at line 1220 of file MotionMaster.cpp.
References _baseUnitStatesMap, _owner, Unit::AddUnitState(), and MovementGenerator::BaseUnitState.
Referenced by DirectAdd().
|
inlineprivate |
Definition at line 203 of file MotionMaster.h.
Referenced by AddToWorld(), DeleteDefault(), DirectAdd(), and Update().
| void MotionMaster::AddToWorld | ( | ) |
Definition at line 113 of file MotionMaster.cpp.
References AddFlag(), DirectInitialize(), HasFlag(), MOTIONMASTER_FLAG_INITIALIZATION_PENDING, MOTIONMASTER_FLAG_INITIALIZING, RemoveFlag(), and ResolveDelayedActions().
Referenced by Unit::AddToWorld().
| void MotionMaster::Clear | ( | ) |
Definition at line 426 of file MotionMaster.cpp.
References _delayedActions, Clear(), DirectClear(), Empty(), HasFlag(), MOTIONMASTER_DELAYED_CLEAR, and MOTIONMASTER_FLAG_DELAYED.
Referenced by npc_elwynn_forest_wolf::_ScheduleAfterChasingEvents(), SmartAI::AttackStart(), boss_ionar::CallBackSparks(), Clear(), Clear(), Clear(), Map::CreatureRespawnRelocation(), boss_scarlet_commander_mograine::DamageTaken(), boss_high_inquisitor_whitemane::DamageTaken(), boss_drakkari_colossus::DamageTaken(), boss_drakkari_elemental::DamageTaken(), boss_aerial_command_unit::boss_aerial_command_unitAI::DamageTaken(), npc_kinetic_bomb::DoAction(), boss_malygos::DoAction(), boss_illidan_stormrage::DoAction(), boss_headless_horseman::DoAction(), npc_martha_goslin::npc_martha_goslinAI::DoAction(), npc_argent_captainAI::EnterEvadeMode(), npc_daegarn::EnterEvadeMode(), CreatureAI::EnterEvadeMode(), npc_pet_dk_rune_weapon::EnterEvadeMode(), npc_pet_mage_mirror_image::EnterEvadeMode(), ScriptedAI::ForceCombatStop(), boss_felmyst::HandleFlightSequence(), spell_sapphiron_change_blizzard_target::HandlePeriodic(), WorldSession::HandlePetActionHelper(), spell_gen_pet_wait::HandleScript(), npc_enslaved_soul::HandleSoulRelease(), npc_zulian_prowler::JustEngagedWith(), npc_headless_horseman_head::JustReachedHome(), npc_rocket_propelled_warhead::JustReachedHome(), boss_ionar::JustSummoned(), npc_anubarak_spike::MoveInLineOfSight(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::MoveInLineOfSight(), npc_ashtongue_sorcerer::MoveInLineOfSight(), npc_wild_wyrm::MovementInform(), dummy_dragonAI::MovementInform(), MoveTargetedHome(), SimpleCharmedPlayerAI::OnCharmed(), npc_valkyr_battle_maiden::npc_valkyr_battle_maidenAI::Reset(), Unit::SetCharmedBy(), npc_zombie_chow::SetData(), boss_hadronox::SetStep(), boss_ionar::SpellHit(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::SpellHit(), npc_pet_dk_ebon_gargoyle::SpellHit(), EscortAI::Start(), FollowerAI::StartFollow(), PetAI::StopAttack(), SmartAI::StopFollow(), StopOnDeath(), boss_felblood_kaelthas::UpdateAI(), boss_selin_fireheart::UpdateAI(), npc_headless_horseman_head::UpdateAI(), npc_giant_infernal::npc_giant_infernalAI::UpdateAI(), npc_frost_wyrm::npc_frost_wyrmAI::UpdateAI(), npc_gargoyle::npc_gargoyleAI::UpdateAI(), npc_draenei_survivor::npc_draenei_survivorAI::UpdateAI(), boss_hadronox::UpdateAI(), boss_devourer_of_souls::UpdateAI(), npc_quel_delar_sword::npc_quel_delar_swordAI::UpdateAI(), npc_kinetic_bomb::UpdateAI(), npc_strangulate_vehicle::UpdateAI(), boss_noth::UpdateAI(), npc_commander_eligor_dawnbringer::UpdateAI(), npc_brann_bronzebeard_keystone::UpdateAI(), boss_alar::UpdateAI(), npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI(), npc_dream_fog::npc_dream_fogAI::UpdateAI(), boss_mr_smite::boss_mr_smiteAI::UpdateAI(), and npc_spark_of_ionar::UpdateAI().
| void MotionMaster::Clear | ( | MovementGeneratorPriority | priority | ) |
Definition at line 473 of file MotionMaster.cpp.
References _delayedActions, Clear(), DirectClear(), Empty(), HasFlag(), MOTIONMASTER_DELAYED_CLEAR_PRIORITY, MOTIONMASTER_FLAG_DELAYED, and MovementGenerator::Priority.
| void MotionMaster::Clear | ( | MovementSlot | slot | ) |
Definition at line 442 of file MotionMaster.cpp.
References _delayedActions, Clear(), DirectClear(), DirectClearDefault(), Empty(), HasFlag(), IsInvalidMovementSlot(), MOTION_SLOT_ACTIVE, MOTION_SLOT_DEFAULT, MOTIONMASTER_DELAYED_CLEAR_SLOT, and MOTIONMASTER_FLAG_DELAYED.
|
private |
Definition at line 1229 of file MotionMaster.cpp.
References _baseUnitStatesMap, _owner, MovementGenerator::BaseUnitState, Unit::ClearUnitState(), and Trinity::Containers::MultimapErasePair().
Referenced by Delete().
|
private |
Definition at line 1239 of file MotionMaster.cpp.
References _baseUnitStatesMap, _owner, and Unit::ClearUnitState().
Referenced by DirectClear().
|
private |
Definition at line 1200 of file MotionMaster.cpp.
References _owner, MovementGenerator::BaseUnitState, ClearBaseUnitState(), MovementGenerator::Finalize(), MovementGenerator::Flags, Object::GetGUID(), MovementGenerator::GetMovementGeneratorType(), MovementGeneratorPointerDeleter(), MovementGenerator::Priority, TC_LOG_DEBUG, and ObjectGuid::ToString().
Referenced by Remove().
|
private |
Definition at line 1210 of file MotionMaster.cpp.
References _defaultGenerator, _owner, AddFlag(), Object::GetGUID(), GetIdleMovementGenerator(), MOTIONMASTER_FLAG_STATIC_INITIALIZATION_PENDING, TC_LOG_DEBUG, and ObjectGuid::ToString().
Referenced by DirectClearDefault().
|
private |
Definition at line 1155 of file MotionMaster.cpp.
References _defaultGenerator, _generators, _owner, AddBaseUnitState(), AddFlag(), MovementGenerator::Finalize(), MovementGenerator::HasFlag(), IsStatic(), MOTION_SLOT_ACTIVE, MOTION_SLOT_DEFAULT, MOTIONMASTER_FLAG_STATIC_INITIALIZATION_PENDING, MOVEMENTGENERATOR_FLAG_IMMEDIATE, and Remove().
Referenced by Add().
|
private |
Definition at line 1123 of file MotionMaster.cpp.
References _generators, ClearBaseUnitStates(), and Pop().
Referenced by Clear(), Clear(), Clear(), DirectInitialize(), and Remove().
|
private |
Definition at line 1143 of file MotionMaster.cpp.
References _generators, GetCurrentMovementGenerator(), and Remove().
|
private |
Definition at line 1137 of file MotionMaster.cpp.
References _defaultGenerator, _generators, and DeleteDefault().
Referenced by Clear(), DirectInitialize(), Remove(), and Remove().
|
private |
Definition at line 1114 of file MotionMaster.cpp.
References DirectClear(), DirectClearDefault(), and InitializeDefault().
Referenced by AddToWorld(), and Initialize().
| bool MotionMaster::Empty | ( | ) | const |
Definition at line 127 of file MotionMaster.cpp.
References _defaultGenerator, and _generators.
Referenced by Clear(), Clear(), Clear(), GetCurrentMovementGenerator(), GetCurrentMovementGeneratorType(), GetCurrentMovementGeneratorType(), GetMovementGenerator(), misc_commandscript::HandleMovegensCommand(), HasMovementGenerator(), PropagateSpeedChange(), Remove(), Remove(), and Update().
| MovementGenerator * MotionMaster::GetCurrentMovementGenerator | ( | ) | const |
Definition at line 182 of file MotionMaster.cpp.
References _defaultGenerator, and _generators.
Referenced by DirectClear(), GetCurrentMovementGeneratorType(), WorldSession::HandleMoveWorldportAck(), InterruptOnTeleport(), IsMutualChase(), PropagateSpeedChange(), Remove(), EscortAI::SetEscortPaused(), StopOnDeath(), Update(), and EscortAI::UpdateAI().
| MovementGenerator * MotionMaster::GetCurrentMovementGenerator | ( | MovementSlot | slot | ) | const |
Definition at line 219 of file MotionMaster.cpp.
References _defaultGenerator, _generators, Empty(), IsInvalidMovementSlot(), MOTION_SLOT_ACTIVE, and MOTION_SLOT_DEFAULT.
| MovementGeneratorType MotionMaster::GetCurrentMovementGeneratorType | ( | ) | const |
Definition at line 193 of file MotionMaster.cpp.
References Empty(), GetCurrentMovementGenerator(), MovementGenerator::GetMovementGeneratorType(), and MAX_MOTION_TYPE.
Referenced by Creature::AtEngage(), npc_argent_captainAI::EnterEvadeMode(), IsMutualChase(), SmartAI::JustReachedHome(), SmartAI::PausePath(), Spell::prepare(), SmartAI::StopPath(), boss_hadronox::UpdateAI(), npc_elwynn_forest_wolf::UpdateAI(), npc_power_spark::UpdateAI(), Unit::UpdateSpeed(), and SmartAI::WaypointReached().
| MovementGeneratorType MotionMaster::GetCurrentMovementGeneratorType | ( | MovementSlot | slot | ) | const |
Definition at line 205 of file MotionMaster.cpp.
References _defaultGenerator, _generators, Empty(), IsInvalidMovementSlot(), MAX_MOTION_TYPE, MOTION_SLOT_ACTIVE, and MOTION_SLOT_DEFAULT.
| MovementSlot MotionMaster::GetCurrentSlot | ( | ) | const |
Definition at line 171 of file MotionMaster.cpp.
References _defaultGenerator, _generators, MAX_MOTION_SLOT, MOTION_SLOT_ACTIVE, and MOTION_SLOT_DEFAULT.
| bool MotionMaster::GetDestination | ( | float & | x, |
| float & | y, | ||
| float & | z | ||
| ) |
Definition at line 503 of file MotionMaster.cpp.
References _owner, Movement::MoveSpline::FinalDestination(), Movement::MoveSpline::Finalized(), and Unit::movespline.
Referenced by misc_commandscript::HandleMovegensCommand().
| MovementGenerator * MotionMaster::GetMovementGenerator | ( | std::function< bool(MovementGenerator const *)> const & | filter, |
| MovementSlot | slot = MOTION_SLOT_ACTIVE |
||
| ) | const |
Definition at line 233 of file MotionMaster.cpp.
References _defaultGenerator, _generators, Empty(), IsInvalidMovementSlot(), MOTION_SLOT_ACTIVE, and MOTION_SLOT_DEFAULT.
Referenced by SplineChainMovementGenerator::GetResumeInfo(), npc_commandscript::HandleNpcUnFollowCommand(), SmartAI::SetCombatMove(), and boss_lord_marrowgar::UpdateAI().
| std::vector< MovementGeneratorInformation > MotionMaster::GetMovementGeneratorsInformation | ( | ) | const |
Definition at line 137 of file MotionMaster.cpp.
References _defaultGenerator, _generators, CHASE_MOTION_TYPE, ObjectGuid::Empty, FOLLOW_MOTION_TYPE, MovementGenerator::GetMovementGeneratorType(), and Unit::GetTarget().
Referenced by misc_commandscript::HandleMovegensCommand().
|
inlineprivate |
Definition at line 204 of file MotionMaster.h.
Referenced by Add(), AddToWorld(), Clear(), Clear(), Clear(), Initialize(), Remove(), Remove(), and Update().
| bool MotionMaster::HasMovementGenerator | ( | std::function< bool(MovementGenerator const *)> const & | filter, |
| MovementSlot | slot = MOTION_SLOT_ACTIVE |
||
| ) | const |
Definition at line 259 of file MotionMaster.cpp.
References _defaultGenerator, _generators, Empty(), IsInvalidMovementSlot(), MOTION_SLOT_ACTIVE, and MOTION_SLOT_DEFAULT.
Referenced by MoveTaxiFlight(), Unit::SetCharmedBy(), and SmartAI::SetCombatMove().
| void MotionMaster::Initialize | ( | ) |
Definition at line 90 of file MotionMaster.cpp.
References _delayedActions, DirectInitialize(), HasFlag(), Initialize(), MOTIONMASTER_DELAYED_INITIALIZE, MOTIONMASTER_FLAG_INITIALIZATION_PENDING, and MOTIONMASTER_FLAG_UPDATE.
Referenced by BattlegroundAV::AddAVCreature(), Map::CreatureRespawnRelocation(), npc_commandscript::HandleNpcSetMoveTypeCommand(), npc_commandscript::HandleNpcSetWanderDistanceCommand(), WorldSession::HandlePlayerLogin(), wp_commandscript::HandleWpLoadCommand(), wp_commandscript::HandleWpUnLoadCommand(), Initialize(), boss_razuvious::JustReachedHome(), Creature::Motion_Initialize(), and boss_stormcaller_brundir::boss_stormcaller_brundirAI::UpdateAI().
| void MotionMaster::InitializeDefault | ( | ) |
Definition at line 108 of file MotionMaster.cpp.
References _owner, Add(), MOTION_SLOT_DEFAULT, and FactorySelector::SelectMovementGenerator().
Referenced by DirectInitialize(), Unit::RemoveCharmedBy(), Creature::Respawn(), and Unit::SetCharmedBy().
| void MotionMaster::InterruptOnTeleport | ( | ) |
Definition at line 537 of file MotionMaster.cpp.
References _owner, GetCurrentMovementGenerator(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, and MOVEMENTGENERATOR_FLAG_FINALIZED.
Referenced by Unit::NearTeleportTo(), and Player::TeleportTo().
| void MotionMaster::LaunchMoveSpline | ( | std::function< void(Movement::MoveSplineInit &init)> && | initializer, |
| uint32 | id = 0, |
||
| MovementGeneratorPriority | priority = MOTION_PRIORITY_NORMAL, |
||
| MovementGeneratorType | type = EFFECT_MOTION_TYPE |
||
| ) |
Definition at line 1074 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), IsInvalidMovementGeneratorType(), MovementGenerator::Priority, TC_LOG_DEBUG, and ObjectGuid::ToString().
Referenced by Unit::_ExitVehicle(), npc_high_overlord_saurfang_igb::DoAction(), npc_muradin_bronzebeard_igb::DoAction(), boss_algalon_the_observer::DoAction(), VehicleJoinEvent::Execute(), DelayedMovementEvent::Execute(), boss_razorscale::HandleInitialMovement(), boss_thorim::boss_thorimAI::JustSummoned(), npc_frogger_trigger_naxx::LaunchSpline(), Unit::MonsterMoveWithSpeed(), npc_bone_spike::PassengerBoarded(), npc_bountiful_table::npc_bountiful_tableAI::PassengerBoarded(), npc_grauf::PassengerBoarded(), gunship_npc_AI::SetData(), npc_eye_of_acherus::UpdateAI(), and boss_svala::UpdateAI().
| void MotionMaster::MoveAlongSplineChain | ( | uint32 | pointId, |
| std::vector< SplineChainLink > const & | chain, | ||
| bool | walk | ||
| ) |
Definition at line 897 of file MotionMaster.cpp.
References Add().
Definition at line 880 of file MotionMaster.cpp.
References _owner, Object::GetGUID(), MoveAlongSplineChain(), sScriptSystemMgr, TC_LOG_ERROR, Object::ToCreature(), and ObjectGuid::ToString().
Referenced by npc_arthas_stratholme::npc_arthas_stratholmeAI::AdvanceToState(), boss_nightbane::boss_nightbaneAI::DoAction(), npc_brann_bronzebeard_algalon::DoAction(), boss_nightbane::boss_nightbaneAI::ExecuteEvent(), boss_twin_baseAI::ExecuteEvent(), npc_expedition_engineer::HandleBaseMovement(), npc_expedition_engineer::HandleFourthHarpoonMovement(), npc_expedition_engineer::HandleHarpoonMovement(), boss_northrend_beastsAI::HandleInitialMovement(), npc_expedition_engineer::HandleSecondHarpoonMovement(), npc_expedition_engineer::HandleThirdHarpoonMovement(), npc_jena_anderson::npc_jena_andersonAI::InitializeAI(), npc_malcolm_moore::npc_malcolm_mooreAI::InitializeAI(), MoveAlongSplineChain(), npc_arthas_stratholme::npc_arthas_stratholmeAI::MoveInfiniteOnSpawn(), npc_malcolm_moore::npc_malcolm_mooreAI::MovementInform(), npc_grauf::MovementInform(), npc_onyx_flamecaller::MoveToGeneral(), npc_barrett_toc::OnGossipSelect(), npc_akama_illidan::OnGossipSelect(), npc_grauf::PassengerBoarded(), npc_barrett_toc::SendActionToTirion(), npc_arthas_stratholme::npc_arthas_stratholmeAI::SetGUID(), npc_martha_goslin::npc_martha_goslinAI::UpdateAI(), npc_jena_anderson::npc_jena_andersonAI::UpdateAI(), npc_bartleby_battson::npc_bartleby_battsonAI::UpdateAI(), npc_malcolm_moore::npc_malcolm_mooreAI::UpdateAI(), npc_sergeant_morigan::npc_sergeant_moriganAI::UpdateAI(), npc_roger_owens::npc_roger_owensAI::UpdateAI(), npc_arthas_stratholme::npc_arthas_stratholmeAI::UpdateAI(), boss_jaraxxus::UpdateAI(), boss_lich_king_toc::UpdateAI(), npc_fizzlebang_toc::UpdateAI(), npc_brann_bronzebeard_algalon::UpdateAI(), and npc_akama_illidan::UpdateAI().
| void MotionMaster::MoveCharge | ( | float | x, |
| float | y, | ||
| float | z, | ||
| float | speed = SPEED_CHARGE, |
||
| uint32 | id = EVENT_CHARGE, |
||
| bool | generatePath = false |
||
| ) |
Definition at line 702 of file MotionMaster.cpp.
References _owner, Add(), MovementGenerator::BaseUnitState, Object::GetGUID(), Object::GetTypeId(), MOTION_PRIORITY_HIGHEST, MovementGenerator::Priority, TC_LOG_DEBUG, ObjectGuid::ToString(), TYPEID_PLAYER, and UNIT_STATE_CHARGING.
Referenced by spell_the_lich_king_valkyr_charge::ChargeDest(), npc_kinetic_bomb::DoAction(), npc_saurfang_event::DoAction(), boss_flame_leviathan::boss_flame_leviathanAI::DoAction(), Spell::EffectCharge(), Spell::EffectChargeDest(), boss_icehowl::ExecuteEvent(), npc_anachronos_the_ancient::npc_anachronos_the_ancientAI::HandleAnimation(), MoveCharge(), npc_kinetic_bomb::UpdateAI(), npc_high_overlord_saurfang_icc::UpdateAI(), and npc_muradin_bronzebeard_icc::UpdateAI().
| void MotionMaster::MoveCharge | ( | PathGenerator const & | path, |
| float | speed = SPEED_CHARGE |
||
| ) |
Definition at line 726 of file MotionMaster.cpp.
References _owner, EVENT_CHARGE_PREPATH, PathGenerator::GetActualEndPosition(), PathGenerator::GetPath(), Movement::MoveSplineInit::Launch(), Movement::MoveSplineInit::MovebyPath(), MoveCharge(), and Movement::MoveSplineInit::SetVelocity().
|
inline |
|
inline |
| void MotionMaster::MoveChase | ( | Unit * | target, |
| Optional< ChaseRange > | dist = {}, |
||
| Optional< ChaseAngle > | angle = {} |
||
| ) |
Definition at line 592 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), TC_LOG_DEBUG, and ObjectGuid::ToString().
Referenced by npc_elwynn_forest_wolf::_ScheduleBeforeChasingEvents(), UnitAI::AttackStart(), boss_tyrannus::AttackStart(), boss_lady_deathwhisper::AttackStart(), ArcherAI::AttackStart(), SmartAI::AttackStart(), boss_veklor::boss_veklorAI::AttackStart(), UnitAI::AttackStartCaster(), boss_selin_fireheart::DoAction(), npc_ball_of_flame::DoAction(), boss_leotheras_the_blind::DoAction(), PetAI::DoAttack(), ScriptedAI::DoStartMovement(), boss_jormungarAI::Emerge(), spell_nexus_lord_align_disk_aggro::HandleScript(), spell_mimiron_fire_search::spell_mimiron_fire_search_SpellScript::HandleScript(), boss_kologarn::boss_kologarnAI::JustSummoned(), boss_high_inquisitor_whitemane::MograineResurrected(), npc_snobold_vassal::MountOnBoss(), boss_onyxia::MovementInform(), dummy_dragonAI::MovementInform(), npc_the_lich_king_escape_hor::npc_the_lich_king_escape_horAI::MovementInform(), SmartAI::SetCombatMove(), npc_shadow_demon::SetGUID(), boss_selin_fireheart::UpdateAI(), npc_dark_rider_of_acherus::UpdateAI(), npc_frost_wyrm::npc_frost_wyrmAI::UpdateAI(), boss_veklor::boss_veklorAI::UpdateAI(), boss_devourer_of_souls::UpdateAI(), boss_lord_marrowgar::UpdateAI(), boss_noth::UpdateAI(), boss_razuvious::UpdateAI(), boss_razorscale::UpdateAI(), npc_dream_fog::npc_dream_fogAI::UpdateAI(), boss_mr_smite::boss_mr_smiteAI::UpdateAI(), and boss_ionar::UpdateAI().
| void MotionMaster::MoveCirclePath | ( | float | x, |
| float | y, | ||
| float | z, | ||
| float | radius, | ||
| bool | clockwise, | ||
| uint8 | stepCount | ||
| ) |
Definition at line 817 of file MotionMaster.cpp.
References _owner, Add(), EFFECT_MOTION_TYPE, Position::GetAbsoluteAngle(), Unit::GetHoverOffset(), WorldObject::GetMapHeight(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Hover, Unit::IsFlying(), and M_PI.
Referenced by boss_malygos::DoAction(), npc_caster_hover_disk::DoAction(), npc_ominous_cloud::npc_ominous_cloudAI::DoAction(), and npc_quel_delar_sword::npc_quel_delar_swordAI::UpdateAI().
Definition at line 652 of file MotionMaster.cpp.
References _owner, Add(), EFFECT_MOTION_TYPE, Position::GetAbsoluteAngle(), Position::GetExactDist2d(), Object::GetGUID(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), and MovePoint().
Referenced by boss_gluth::UpdateAI(), and npc_akama_illidan::UpdateAI().
| void MotionMaster::MoveConfused | ( | ) |
Definition at line 602 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), Object::GetTypeId(), TC_LOG_DEBUG, ObjectGuid::ToString(), and TYPEID_PLAYER.
Referenced by Unit::SetConfused().
| void MotionMaster::MoveDistract | ( | uint32 | time, |
| float | orientation | ||
| ) |
Definition at line 1000 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), TC_LOG_DEBUG, and ObjectGuid::ToString().
Referenced by Spell::EffectDistract(), and CreatureAI::TriggerAlert().
| void MotionMaster::MoveFace | ( | float | orientation, |
| uint32 | id = EVENT_FACE |
||
| ) |
Definition at line 1043 of file MotionMaster.cpp.
References _owner, Add(), FACE_MOTION_TYPE, Object::GetGUID(), and TC_LOG_DEBUG.
Referenced by Unit::SetFacingTo(), and Unit::SetFacingToObject().
| void MotionMaster::MoveFace | ( | WorldObject const * | object, |
| uint32 | id = EVENT_FACE |
||
| ) |
Definition at line 1058 of file MotionMaster.cpp.
References _owner, Add(), FACE_MOTION_TYPE, Object::GetGUID(), and TC_LOG_DEBUG.
| void MotionMaster::MoveFall | ( | uint32 | id = 0 | ) |
Definition at line 912 of file MotionMaster.cpp.
References _owner, Add(), EFFECT_MOTION_TYPE, Object::GetGUID(), Unit::GetHoverOffset(), Map::GetId(), WorldObject::GetMap(), WorldObject::GetMapHeight(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Object::GetTypeId(), Unit::HasUnitState(), INVALID_HEIGHT, MAX_FALL_DISTANCE, MOTION_PRIORITY_HIGHEST, MovementGenerator::Priority, Unit::SetFall(), Player::SetFallInformation(), TC_LOG_DEBUG, Object::ToPlayer(), ObjectGuid::ToString(), TYPEID_PLAYER, UNIT_STATE_ROOT, and UNIT_STATE_STUNNED.
Referenced by npc_frost_sphere::DamageTaken(), npc_wild_wyrm::DamageTaken(), npc_high_overlord_saurfang_icc::DoAction(), npc_muradin_bronzebeard_icc::DoAction(), boss_aerial_command_unit::boss_aerial_command_unitAI::DoAction(), AuraEffect::HandleAuraAllowFlight(), AuraEffect::HandleAuraDummy(), AuraEffect::HandleAuraModIncreaseFlightSpeed(), boss_the_lich_king::JustDied(), Player::KillPlayer(), spell_ulduar_stone_grip::spell_ulduar_stone_grip_AuraScript::OnRemoveVehicle(), Creature::setDeathState(), npc_hive_zara_swarmer::SpellHit(), boss_svala::UpdateAI(), and boss_vazruden_the_herald::UpdateSpecialEvents().
Definition at line 616 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), Object::GetTypeId(), TC_LOG_DEBUG, ObjectGuid::ToString(), and TYPEID_UNIT.
Referenced by Unit::SetFeared().
| void MotionMaster::MoveFollow | ( | Unit * | target, |
| float | dist, | ||
| ChaseAngle | angle, | ||
| MovementSlot | slot = MOTION_SLOT_ACTIVE |
||
| ) |
Definition at line 582 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), TC_LOG_DEBUG, and ObjectGuid::ToString().
Referenced by npc_argent_captainAI::DoAction(), npc_argent_captainAI::EnterEvadeMode(), npc_daegarn::EnterEvadeMode(), CreatureAI::EnterEvadeMode(), SmartAI::EnterEvadeMode(), npc_pet_dk_rune_weapon::EnterEvadeMode(), npc_pet_mage_mirror_image::EnterEvadeMode(), AuraEffect::HandleModPossessPet(), npc_commandscript::HandleNpcFollowCommand(), spell_sapphiron_change_blizzard_target::HandlePeriodic(), WorldSession::HandlePetActionHelper(), PetAI::HandleReturnMovement(), npc_troll_volunteer::InitializeAI(), npc_spirit_shade::npc_spirit_shadeAI::IsSummonedBy(), npc_void_traveler::JustAppeared(), npc_enchanted_elemental::JustAppeared(), FollowerAI::JustReachedHome(), boss_felblood_kaelthas::JustSummoned(), boss_bronjahm::JustSummoned(), boss_the_lich_king::JustSummoned(), boss_xevozz::JustSummoned(), boss_vexallus::JustSummoned(), npc_restless_soul::npc_restless_soulAI::JustSummoned(), boss_ionar::JustSummoned(), npc_power_spark::MoveToMalygos(), PetAI::OnCharmed(), SmartAI::OnCharmed(), npc_jungle_punch_target::proceedCwEvent(), npc_lake_frog::ReceiveEmote(), npc_scrapbot::Reset(), npc_boombot::Reset(), SmartAI::SetFollow(), FollowerAI::SetFollowPaused(), boss_attumen::boss_attumenAI::SpellHit(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::SpellHit(), npc_ichor_globule::SpellHit(), FollowerAI::StartFollow(), SimpleCharmedPlayerAI::UpdateAI(), npc_winterfin_playmate::npc_winterfin_playmateAI::UpdateAI(), npc_snowfall_glade_playmate::npc_snowfall_glade_playmateAI::UpdateAI(), npc_the_biggest_tree::npc_the_biggest_treeAI::UpdateAI(), npc_high_oracle_soo_roo::npc_high_oracle_soo_rooAI::UpdateAI(), npc_elder_kekek::npc_elder_kekekAI::UpdateAI(), npc_the_etymidian::npc_the_etymidianAI::UpdateAI(), npc_alexstraza_the_lifebinder::npc_alexstraza_the_lifebinderAI::UpdateAI(), npc_pet_gen_pandaren_monk::UpdateAI(), npc_power_spark::UpdateAI(), and npc_emily::WaypointReached().
| void MotionMaster::MoveFormation | ( | Unit * | leader, |
| float | range, | ||
| float | angle, | ||
| uint32 | point1, | ||
| uint32 | point2 | ||
| ) |
Definition at line 1034 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), Object::GetTypeId(), MOTION_SLOT_DEFAULT, TC_LOG_DEBUG, ObjectGuid::ToString(), and TYPEID_UNIT.
Referenced by CreatureGroup::LeaderStartedMoving().
| void MotionMaster::MoveIdle | ( | ) |
Definition at line 544 of file MotionMaster.cpp.
References Add(), GetIdleMovementGenerator(), and MOTION_SLOT_DEFAULT.
Referenced by ArcherAI::AttackStart(), npc_frost_sphere::DamageTaken(), npc_spinestalker::DoAction(), npc_rimefang_icc::DoAction(), npc_thrall_herald_of_war::npc_thrall_herald_of_warAI::DoAction(), PetAI::DoAttack(), npc_taskmaster_fizzule::npc_taskmaster_fizzuleAI::DoFriend(), ScriptedAI::DoStartNoMovement(), GuardAI::EnterEvadeMode(), WorldSession::HandlePetActionHelper(), spell_gen_pet_wait::HandleScript(), boss_high_inquisitor_whitemane::JustEngagedWith(), boss_scarlet_commander_mograine::JustEngagedWith(), boss_alar::JustEngagedWith(), SmartAI::JustReachedHome(), Creature::Motion_Initialize(), npc_anubarak_spike::MoveInLineOfSight(), PetAI::MovementInform(), boss_onyxia::MovementInform(), boss_professor_putricide::MovementInform(), boss_malygos::MovementInform(), npc_azure_ring_captain::MovementInform(), boss_gluth::MovementInform(), npc_power_spark::MoveToMalygos(), SmartScript::ProcessAction(), npc_lake_frog::ReceiveEmote(), boss_ionar::SpellHit(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::SpellHit(), npc_malformed_ooze::SpellHitTarget(), EscortAI::Start(), PetAI::StopAttack(), SmartAI::StopFollow(), StopOnDeath(), SmartAI::StopPath(), EscortAI::UpdateAI(), npc_overlord_runthak_orgrimmar::npc_overlord_runthak_orgrimmarAI::UpdateAI(), npc_unleashed_dark::UpdateAI(), npc_unleashed_light::UpdateAI(), npc_strangulate_vehicle::UpdateAI(), npc_dream_cloud::UpdateAI(), npc_minigob_manabonk::UpdateAI(), boss_alar::UpdateAI(), npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI(), npc_power_spark::UpdateAI(), boss_vazruden_the_herald::UpdateSpecialEvents(), and npc_rizzle_sprysprocket::WaypointStarted().
| void MotionMaster::MoveJump | ( | float | x, |
| float | y, | ||
| float | z, | ||
| float | o, | ||
| float | speedXY, | ||
| float | speedZ, | ||
| uint32 | id = EVENT_JUMP, |
||
| bool | hasOrientation = false |
||
| ) |
Definition at line 792 of file MotionMaster.cpp.
References _owner, Add(), MovementGenerator::AddFlag(), MovementGenerator::BaseUnitState, Movement::computeFallElevation(), EFFECT_MOTION_TYPE, Object::GetGUID(), Movement::gravity, MOTION_PRIORITY_HIGHEST, MOVEMENTGENERATOR_FLAG_PERSIST_ON_DEATH, MovementGenerator::Priority, TC_LOG_DEBUG, ObjectGuid::ToString(), and UNIT_STATE_JUMPING.
| void MotionMaster::MoveJump | ( | Position const & | pos, |
| float | speedXY, | ||
| float | speedZ, | ||
| uint32 | id = EVENT_JUMP, |
||
| bool | hasOrientation = false |
||
| ) |
Definition at line 787 of file MotionMaster.cpp.
References Position::GetOrientation(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), and MoveJump().
Referenced by npc_colonel_jules::npc_colonel_julesAI::DoAction(), Spell::EffectJump(), Spell::EffectJumpDest(), StartLaunchEvent::Execute(), boss_icehowl::ExecuteEvent(), npc_anubarak_anub_ar_assassin::InitializeAI(), Unit::JumpTo(), boss_mimiron::boss_mimironAI::JustDied(), MoveJump(), MoveJumpTo(), npc_koltira_deathweaver::UpdateAI(), boss_garfrost::UpdateAI(), and boss_thorim::boss_thorimAI::UpdateAI().
| void MotionMaster::MoveJumpTo | ( | float | angle, |
| float | speedXY, | ||
| float | speedZ | ||
| ) |
Definition at line 770 of file MotionMaster.cpp.
References _owner, WorldObject::GetNearPoint2D(), Position::GetOrientation(), Position::GetPositionZ(), Object::GetTypeId(), Movement::gravity, MoveJump(), TYPEID_PLAYER, and WorldObject::UpdateAllowedPositionZ().
Referenced by Unit::JumpTo().
| void MotionMaster::MoveKnockbackFrom | ( | float | srcX, |
| float | srcY, | ||
| float | speedXY, | ||
| float | speedZ | ||
| ) |
Definition at line 739 of file MotionMaster.cpp.
References _owner, Add(), MovementGenerator::AddFlag(), Movement::computeFallElevation(), EFFECT_MOTION_TYPE, Position::GetPosition(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Position::GetRelativeAngle(), Object::GetTypeId(), Movement::gravity, M_PI, MOTION_PRIORITY_HIGHEST, MOVEMENTGENERATOR_FLAG_PERSIST_ON_DEATH, WorldObject::MovePositionToFirstCollision(), MovementGenerator::Priority, and TYPEID_PLAYER.
Referenced by Unit::KnockbackFrom().
Definition at line 674 of file MotionMaster.cpp.
References _owner, Add(), EFFECT_MOTION_TYPE, Object::GetGUID(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Ground, TC_LOG_DEBUG, and ObjectGuid::ToString().
Referenced by npc_icc_nerubar_broodkeeper::DoAction(), boss_malygos::DoAction(), FrostwyrmLandEvent::Execute(), spell_svalna_revive_champion::Land(), boss_razorscale::MovementInform(), boss_prince_taldaram::RemovePrison(), boss_jedoga_shadowseeker::UpdateAI(), boss_saviana_ragefire::UpdateAI(), npc_quel_delar_sword::npc_quel_delar_swordAI::UpdateAI(), and boss_sindragosa::UpdateAI().
| void MotionMaster::MovePath | ( | uint32 | pathId, |
| bool | repeatable | ||
| ) |
Definition at line 1010 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), MOTION_SLOT_DEFAULT, TC_LOG_DEBUG, and ObjectGuid::ToString().
Referenced by npc_earthen_ring_flamecaller::DoAction(), boss_gizrul_the_slavener::IsSummonedBy(), npc_rizzle_sprysprocket::IsSummonedBy(), npc_kalecgos::JustAppeared(), boss_anetheron::JustAppeared(), boss_azgalor::JustAppeared(), boss_kazrogal::JustAppeared(), boss_rage_winterchill::JustAppeared(), npc_toxic_sporebat::JustAppeared(), npc_coilfang_ambusher::JustAppeared(), npc_coilfang_guardian::JustAppeared(), SmartAI::JustReachedHome(), npc_crystal_channel_target::JustSummoned(), npc_thrall_herald_of_war::npc_thrall_herald_of_warAI::MovementInform(), npc_thassarian::OnGossipSelect(), npc_belnistrasz::npc_belnistraszAI::OnQuestAccept(), AreaTrigger_at_frostgrips_hollow::OnTrigger(), boss_the_beast::Reset(), npc_overlord_runthak_orgrimmar::npc_overlord_runthak_orgrimmarAI::Reset(), npc_thrall_herald_of_war::npc_thrall_herald_of_warAI::Reset(), npc_enslaved_proto_drake::SetData(), boss_the_beast::SetData(), SmartAI::StartPath(), EscortAI::UpdateAI(), boss_gyth::UpdateAI(), boss_rend_blackhand::UpdateAI(), boss_victor_nefarius::UpdateAI(), npc_koltira_deathweaver::UpdateAI(), boss_ironaya::UpdateAI(), npc_cameron::UpdateAI(), npc_partygoer_pather::UpdateAI(), npc_harrison_jones::npc_harrison_jonesAI::UpdateAI(), boss_mandokir::UpdateAI(), npc_andorov::UpdateAI(), npc_disciple_of_naralex::UpdateAI(), npc_freed_protodrake::UpdateAI(), boss_kirtonos_the_herald::UpdateIntroEvents(), boss_nalorakk::UpdateOutOfCombatEvents(), boss_broggok::UpdateOutOfCombatEvents(), boss_anetheron::WaypointPathEnded(), boss_rage_winterchill::WaypointPathEnded(), and npc_toxic_sporebat::WaypointPathEnded().
| void MotionMaster::MovePath | ( | WaypointPath & | path, |
| bool | repeatable | ||
| ) |
Definition at line 1019 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), WaypointPath::id, MOTION_SLOT_DEFAULT, TC_LOG_DEBUG, and ObjectGuid::ToString().
| void MotionMaster::MovePoint | ( | uint32 | id, |
| float | x, | ||
| float | y, | ||
| float | z, | ||
| bool | generatePath = true, |
||
| Optional< float > | finalOrient = {} |
||
| ) |
Definition at line 638 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), Object::GetTypeId(), TC_LOG_DEBUG, ObjectGuid::ToString(), and TYPEID_PLAYER.
| void MotionMaster::MovePoint | ( | uint32 | id, |
| Position const & | pos, | ||
| bool | generatePath = true, |
||
| Optional< float > | finalOrient = {} |
||
| ) |
Definition at line 633 of file MotionMaster.cpp.
References Position::m_positionX, Position::m_positionY, Position::m_positionZ, and MovePoint().
Referenced by boss_ionar::CallBackSparks(), boss_the_lich_king::DamageTaken(), boss_high_inquisitor_whitemane::DamageTaken(), boss_ayamiss::DamageTaken(), boss_ymiron::DamageTaken(), boss_essence_of_suffering::DamageTaken(), boss_essence_of_desire::DamageTaken(), boss_leviathan_mk_ii::boss_leviathan_mk_iiAI::DamageTaken(), boss_aerial_command_unit::boss_aerial_command_unitAI::DamageTaken(), npc_weegli_blastfuse::npc_weegli_blastfuseAI::DestroyDoor(), npc_apothecary_genericAI::DoAction(), boss_infinite_corruptor::boss_infinite_corruptorAI::DoAction(), npc_twilight_volunteer::DoAction(), npc_hadronox_crusherPackAI::DoAction(), npc_xerestrasza::DoAction(), boss_blood_queen_lana_thel::DoAction(), boss_deathbringer_saurfang::DoAction(), boss_professor_putricide::DoAction(), boss_sindragosa::DoAction(), npc_spinestalker::DoAction(), npc_rimefang_icc::DoAction(), boss_four_horsemen_baseAI::DoAction(), boss_malygos::DoAction(), npc_azure_ring_captain::DoAction(), npc_turned_champion::npc_turned_championAI::DoAction(), npc_earthen_ring_flamecaller::DoAction(), npc_colonel_jules::npc_colonel_julesAI::DoAction(), npc_barada::npc_baradaAI::DoAction(), boss_krick::DoAction(), boss_razorscale::DoAction(), npc_expedition_defender::DoAction(), npc_expedition_trapper::DoAction(), boss_illidan_stormrage::DoAction(), npc_akama_shade::DoAction(), boss_headless_horseman::DoAction(), boss_alar::DoMoveToCenter(), boss_alar::DoMoveToPlatform(), npc_announcer_toc5::npc_announcer_toc5AI::DoStartArgentChampionEncounter(), boss_blood_queen_lana_thel::EnterEvadeMode(), DaranavanMoveEvent::Execute(), OrbAirPositionEvent::Execute(), OrbFlyEvent::Execute(), boss_nightbane::boss_nightbaneAI::ExecuteEvent(), spell_apothecary_lingering_fumes::HandleAfterCast(), npc_torloth_the_magnificent::npc_torloth_the_magnificentAI::HandleAnimation(), npc_expedition_engineer::HandleBaseMovement(), misc_commandscript::HandleComeToMeCommand(), spell_malygos_random_portal::HandleDummy(), spell_sholazar_shoot_rjr::HandleDummy(), spell_swamplord_muselek_move_away_primer::HandleDummy(), boss_felmyst::HandleFlightSequence(), PetAI::HandleReturnMovement(), spell_saviana_conflagration_throwback::HandleScript(), npc_molten_flame::InitializeAI(), npc_spirit_bomb::IsSummonedBy(), npc_ruby_emerald_amber_drake::IsSummonedBy(), npc_frostbrood_skytalon::IsSummonedBy(), ShadowswordBaseAI::JustAppeared(), npc_amanishi_hatcher::JustAppeared(), npc_doomfire::JustAppeared(), boss_aeonus::JustAppeared(), npc_hive_zara_larva::JustAppeared(), npc_hive_zara_swarmer::JustAppeared(), npc_malformed_ooze::JustAppeared(), npc_ingvar_throw_dummy::JustAppeared(), npc_steamrigger_mechanic::JustAppeared(), npc_frost_wyrm::npc_frost_wyrmAI::JustDied(), boss_flame_leviathan_safety_container::boss_flame_leviathan_safety_containerAI::JustDied(), npc_enraged_spirit::npc_enraged_spiritAI::JustDied(), npc_gargoyle::npc_gargoyleAI::JustDied(), boss_ayamiss::JustEngagedWith(), boss_aeonus::JustReachedHome(), boss_trollgore::JustSummoned(), boss_slad_ran::JustSummoned(), boss_prince_valanar_icc::JustSummoned(), boss_skadi::JustSummoned(), npc_daegarn::JustSummoned(), npc_rinji::npc_rinjiAI::JustSummoned(), npc_maghar_captive::npc_maghar_captiveAI::JustSummoned(), npc_kurenai_captive::npc_kurenai_captiveAI::JustSummoned(), MoveCloserAndStop(), instance_deadmines::instance_deadmines_InstanceMapScript::MoveCreatureInside(), npc_ashtongue_sorcerer::MoveInLineOfSight(), npc_spectator::MovementInform(), npc_amanishi_hatcher::MovementInform(), boss_onyxia::MovementInform(), npc_barada::npc_baradaAI::MovementInform(), boss_razorscale::MovementInform(), npc_skadi_trashAI::MovementInform(), MovePoint(), npc_cameron::MoveTheChildren(), npc_unleashed_ballAI::MoveToNextPoint(), npc_geezle::npc_geezleAI::NextStep(), npc_argent_valiant::npc_argent_valiant(), npc_omen::npc_omen(), SimpleCharmedPlayerAI::OnCharmed(), npc_tirion_fordring_tft::OnGossipSelect(), npc_wyrmrest_skytalon::PassengerBoarded(), npc_jungle_punch_target::proceedCwEvent(), SmartScript::ProcessAction(), boss_arlokk::Reset(), npc_zulian_prowler::Reset(), npc_garona::npc_garonaAI::Reset(), npc_released_offspring_harkoa::Reset(), npc_ashtongue_sorcerer::Reset(), SmartAI::ReturnToLastOOCPos(), EscortAI::ReturnToLastPoint(), npc_sinclari_vh::ScheduleIntro(), boss_selin_fireheart::SelectNearestCrystal(), instance_razorfen_downs::instance_razorfen_downs_InstanceMapScript::SetData(), npc_announcer_toc5::npc_announcer_toc5AI::SetData(), boss_hadronox::SetStep(), boss_onyxia::SpellHit(), npc_high_overlord_saurfang_icc::SpellHit(), npc_muradin_bronzebeard_icc::SpellHit(), npc_saurfang_event::SpellHit(), boss_vazruden_the_herald::SpellHit(), npc_troll_volunteer::SpellHit(), npc_wounded_skirmisher::SpellHit(), npc_wild_wyrm::SpellHit(), npc_pet_dk_ebon_gargoyle::SpellHit(), npc_injured_patient::npc_injured_patientAI::SpellHit(), npc_malformed_ooze::SpellHitTarget(), npc_image_of_medivh::npc_image_of_medivhAI::StartEvent(), boss_nightbane::boss_nightbaneAI::StartPhaseFly(), boss_jormungarAI::Submerge(), EscortAI::UpdateAI(), npc_unworthy_initiate::npc_unworthy_initiateAI::UpdateAI(), npc_koltira_deathweaver::UpdateAI(), npc_scarlet_courier::npc_scarlet_courierAI::UpdateAI(), npc_highlord_darion_mograine::npc_highlord_darion_mograineAI::UpdateAI(), npc_valkyr_battle_maiden::npc_valkyr_battle_maidenAI::UpdateAI(), npc_madrigosa::UpdateAI(), boss_kalecgos::UpdateAI(), npc_shield_orb::npc_shield_orbAI::UpdateAI(), npc_thalorien_dawnseeker::UpdateAI(), boss_zuljin::UpdateAI(), npc_harrison_jones::npc_harrison_jonesAI::UpdateAI(), boss_arlokk::UpdateAI(), boss_mandokir::UpdateAI(), npc_winterfin_playmate::npc_winterfin_playmateAI::UpdateAI(), npc_snowfall_glade_playmate::npc_snowfall_glade_playmateAI::UpdateAI(), npc_the_biggest_tree::npc_the_biggest_treeAI::UpdateAI(), npc_high_oracle_soo_roo::npc_high_oracle_soo_rooAI::UpdateAI(), npc_elder_kekek::npc_elder_kekekAI::UpdateAI(), npc_the_etymidian::npc_the_etymidianAI::UpdateAI(), npc_alexstraza_the_lifebinder::npc_alexstraza_the_lifebinderAI::UpdateAI(), boss_archimonde::UpdateAI(), npc_gargoyle::npc_gargoyleAI::UpdateAI(), boss_lieutenant_drake::UpdateAI(), boss_onyxia::UpdateAI(), npc_draenei_survivor::npc_draenei_survivorAI::UpdateAI(), npc_demolitionist_legoso::npc_demolitionist_legosoAI::UpdateAI(), npc_thrall_herald_of_war::npc_thrall_herald_of_warAI::UpdateAI(), boss_jedoga_shadowseeker::UpdateAI(), npc_prince_taldaram_flame_sphere::UpdateAI(), npc_hadronox_foeAI::UpdateAI(), dummy_dragonAI::UpdateAI(), boss_saviana_ragefire::UpdateAI(), npc_jaina_or_sylvanas_intro_hor::npc_jaina_or_sylvanas_intro_horAI::UpdateAI(), npc_jaina_or_sylvanas_escape_hor::npc_jaina_or_sylvanas_escape_horAI::UpdateAI(), npc_uther_quel_delar::npc_uther_quel_delarAI::UpdateAI(), npc_quel_delar_sword::npc_quel_delar_swordAI::UpdateAI(), boss_krick::UpdateAI(), boss_tyrannus::UpdateAI(), boss_rimefang::UpdateAI(), npc_blood_queen_lana_thel::UpdateAI(), boss_blood_queen_lana_thel::UpdateAI(), npc_high_overlord_saurfang_icc::UpdateAI(), npc_muradin_bronzebeard_icc::UpdateAI(), boss_lord_marrowgar::UpdateAI(), boss_professor_putricide::UpdateAI(), boss_sindragosa::UpdateAI(), npc_rimefang_icc::UpdateAI(), boss_the_lich_king::UpdateAI(), npc_tirion_fordring_tft::UpdateAI(), npc_valkyr_shadowguard::UpdateAI(), npc_strangulate_vehicle::UpdateAI(), boss_four_horsemen_baseAI::UpdateAI(), npc_zombie_chow::UpdateAI(), boss_sapphiron::UpdateAI(), boss_malygos::UpdateAI(), npc_melee_hover_disk::UpdateAI(), npc_ruby_emerald_amber_drake::UpdateAI(), boss_volkhan::UpdateAI(), boss_algalon_the_observer::UpdateAI(), boss_stormcaller_brundir::boss_stormcaller_brundirAI::UpdateAI(), npc_mechanolift::npc_mechanoliftAI::UpdateAI(), boss_leviathan_mk_ii::boss_leviathan_mk_iiAI::UpdateAI(), npc_annhylde_the_caller::UpdateAI(), npc_thassarian::UpdateAI(), npc_commander_eligor_dawnbringer::UpdateAI(), npc_venture_co_straggler::UpdateAI(), npc_frostbrood_skytalon::UpdateAI(), npc_brann_bronzebeard_keystone::UpdateAI(), npc_crusade_recruit::UpdateAI(), boss_illidan_stormrage::UpdateAI(), npc_akama_shade::UpdateAI(), boss_lady_vashj::UpdateAI(), boss_warlord_kalithresh::UpdateAI(), npc_claw::UpdateAI(), boss_wrath_scryer_soccothrates::UpdateAI(), boss_alar::UpdateAI(), boss_kaelthas::UpdateAI(), npc_nether_drake::npc_nether_drakeAI::UpdateAI(), npc_colonel_jules::npc_colonel_julesAI::UpdateAI(), npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI(), boss_mr_smite::boss_mr_smiteAI::UpdateAI(), boss_eadric::boss_eadricAI::UpdateAI(), boss_paletress::boss_paletressAI::UpdateAI(), npc_spark_of_ionar::UpdateAI(), npc_tooga::npc_toogaAI::UpdateFollowerAI(), boss_kirtonos_the_herald::UpdateIntroEvents(), npc_millhouse_manastorm::UpdateIntroEvents(), npc_kelthuzad_minionAI::UpdateRandomMovement(), boss_majordomo::UpdateSpecialEvents(), boss_vazruden_the_herald::UpdateSpecialEvents(), and npc_emily::WaypointReached().
| void MotionMaster::MoveRandom | ( | float | wanderDistance = 0.0f | ) |
Definition at line 573 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), Object::GetTypeId(), MOTION_SLOT_DEFAULT, TC_LOG_DEBUG, ObjectGuid::ToString(), and TYPEID_UNIT.
Referenced by spell_mimiron_fire_search::spell_mimiron_fire_search_SpellScript::HandleAftercast(), npc_headless_horseman_head::HandleStartPhase(), boss_darkmaster_gandling::IsSummonedBy(), npc_nether_vapor::JustAppeared(), boss_the_lich_king::JustSummoned(), boss_eregos::JustSummoned(), boss_algalon_the_observer::JustSummoned(), boss_massive_jormungar::JustSummoned(), boss_warchief_kargath_bladefist::JustSummoned(), npc_colonel_jules::npc_colonel_julesAI::JustSummoned(), npc_malformed_ooze::MovementInform(), npc_freya_ward_summon::npc_freya_ward_summonAI::npc_freya_ward_summonAI(), SmartScript::ProcessAction(), npc_frost_sphere::Reset(), npc_mechanolift::npc_mechanoliftAI::Reset(), npc_infernal_attacker::npc_infernal_attackerAI::Reset(), instance_zulfarrak::instance_zulfarrak_InstanceMapScript::SpawnPyramidWave(), npc_saronite_vapors::npc_saronite_vaporsAI::UpdateAI(), npc_minigob_manabonk::UpdateAI(), npc_dream_fog::npc_dream_fogAI::UpdateAI(), and npc_cameron::WaypointReached().
| void MotionMaster::MoveRotate | ( | uint32 | id, |
| uint32 | time, | ||
| RotateDirection | direction | ||
| ) |
Definition at line 1025 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), TC_LOG_DEBUG, and ObjectGuid::ToString().
| void MotionMaster::MoveSeekAssistance | ( | float | x, |
| float | y, | ||
| float | z | ||
| ) |
Definition at line 951 of file MotionMaster.cpp.
References _owner, Add(), EVENT_ASSIST_MOVE, Object::GetGUID(), REACT_PASSIVE, TC_LOG_DEBUG, TC_LOG_ERROR, Object::ToCreature(), and ObjectGuid::ToString().
Referenced by Creature::DoFleeToGetAssistance().
| void MotionMaster::MoveSeekAssistanceDistract | ( | uint32 | timer | ) |
Definition at line 966 of file MotionMaster.cpp.
References _owner, Add(), Object::GetGUID(), Position::GetOrientation(), Object::GetTypeId(), TC_LOG_DEBUG, TC_LOG_ERROR, ObjectGuid::ToString(), and TYPEID_UNIT.
Referenced by AssistanceMovementGenerator::Finalize().
| void MotionMaster::MoveSmoothPath | ( | uint32 | pointId, |
| Position const * | pathPoints, | ||
| size_t | pathSize, | ||
| bool | walk | ||
| ) |
Definition at line 858 of file MotionMaster.cpp.
References Add(), EFFECT_MOTION_TYPE, Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), and pathSize.
Referenced by boss_headless_horseman::DoAction(), and npc_azure_saboteur::StartSmoothPath().
Definition at line 688 of file MotionMaster.cpp.
References _owner, Add(), EFFECT_MOTION_TYPE, Object::GetGUID(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Hover, TC_LOG_DEBUG, and ObjectGuid::ToString().
Referenced by boss_malygos::DoAction(), boss_onyxia::MovementInform(), npc_doom_blossom::Reset(), boss_jedoga_shadowseeker::UpdateAI(), boss_saviana_ragefire::UpdateAI(), npc_quel_delar_sword::npc_quel_delar_swordAI::UpdateAI(), boss_sindragosa::UpdateAI(), boss_razorscale::UpdateAI(), and npc_enslaved_netherwing_drake::npc_enslaved_netherwing_drakeAI::UpdateAI().
| void MotionMaster::MoveTargetedHome | ( | ) |
Definition at line 549 of file MotionMaster.cpp.
References _owner, Add(), Clear(), Unit::GetCharmerOrOwner(), Object::GetGUID(), PET_FOLLOW_ANGLE, PET_FOLLOW_DIST, TC_LOG_DEBUG, TC_LOG_ERROR, Object::ToCreature(), and ObjectGuid::ToString().
Referenced by npc_kelthuzad_guardian::DoAction(), npc_expedition_trapper::DoAction(), boss_thekal::EnterEvadeMode(), boss_blood_queen_lana_thel::EnterEvadeMode(), boss_urom::EnterEvadeMode(), npc_daegarn::EnterEvadeMode(), CreatureAI::EnterEvadeMode(), SmartAI::EnterEvadeMode(), GuardAI::EnterEvadeMode(), gunship_npc_AI::EnterEvadeMode(), npc_high_overlord_saurfang_igb::EnterEvadeMode(), npc_muradin_bronzebeard_igb::EnterEvadeMode(), EscortAI::EnterEvadeMode(), hyjalAI::EnterEvadeMode(), npc_rocket_propelled_warhead::FinishQuest(), wp_commandscript::HandleWpUnLoadCommand(), npc_mechanolift::npc_mechanoliftAI::JustDied(), boss_kologarn::boss_kologarnAI::JustDied(), boss_mandokir::MovementInform(), boss_blood_queen_lana_thel::MovementInform(), npc_geezle::npc_geezleAI::NextStep(), instance_violet_hold::instance_violet_hold_InstanceMapScript::ResetBossEncounter(), Unit::SetFeared(), and npc_barada::npc_baradaAI::UpdateAI().
Definition at line 977 of file MotionMaster.cpp.
References _owner, Add(), ASSERT, FLIGHT_MOTION_TYPE, Object::GetGUID(), MovementGenerator::GetMovementGeneratorType(), Object::GetTypeId(), HasMovementGenerator(), FlightPathMovementGenerator::LoadPath(), sTaxiPathNodesByPath, TC_LOG_DEBUG, TC_LOG_ERROR, Object::ToPlayer(), ObjectGuid::ToString(), and TYPEID_PLAYER.
Referenced by WorldSession::SendDoFlight().
|
private |
Definition at line 1107 of file MotionMaster.cpp.
References _generators, and Remove().
Referenced by DirectClear(), and Update().
| void MotionMaster::PropagateSpeedChange | ( | ) |
Definition at line 491 of file MotionMaster.cpp.
References Empty(), GetCurrentMovementGenerator(), and MovementGenerator::UnitSpeedChanged().
Referenced by Unit::PropagateSpeedChange().
|
private |
Definition at line 1100 of file MotionMaster.cpp.
References _generators, and Delete().
| void MotionMaster::Remove | ( | MovementGenerator * | movement, |
| MovementSlot | slot = MOTION_SLOT_ACTIVE |
||
| ) |
Definition at line 358 of file MotionMaster.cpp.
References _defaultGenerator, _delayedActions, _generators, DirectClearDefault(), Empty(), GetCurrentMovementGenerator(), HasFlag(), IsInvalidMovementSlot(), MOTION_SLOT_ACTIVE, MOTION_SLOT_DEFAULT, MOTIONMASTER_DELAYED_REMOVE, MOTIONMASTER_FLAG_DELAYED, and Remove().
Referenced by Unit::AtEngage(), DirectAdd(), DirectClear(), PetAI::DoAttack(), Player::FinishTaxiFlight(), npc_commandscript::HandleNpcUnFollowCommand(), PetAI::HandleReturnMovement(), Pop(), Remove(), Remove(), SmartAI::SetCombatMove(), Unit::SetConfused(), Unit::SetFeared(), FollowerAI::SetFollowComplete(), FollowerAI::SetFollowPaused(), SimpleCharmedPlayerAI::UpdateAI(), and boss_lord_marrowgar::UpdateAI().
| void MotionMaster::Remove | ( | MovementGeneratorType | type, |
| MovementSlot | slot = MOTION_SLOT_ACTIVE |
||
| ) |
Definition at line 394 of file MotionMaster.cpp.
References _defaultGenerator, _delayedActions, DirectClear(), DirectClearDefault(), Empty(), MovementGenerator::GetMovementGeneratorType(), HasFlag(), IsInvalidMovementGeneratorType(), IsInvalidMovementSlot(), MOTION_SLOT_ACTIVE, MOTION_SLOT_DEFAULT, MOTIONMASTER_DELAYED_REMOVE_TYPE, MOTIONMASTER_FLAG_DELAYED, and Remove().
|
inlineprivate |
Definition at line 205 of file MotionMaster.h.
Referenced by AddToWorld(), and Update().
|
private |
Definition at line 1091 of file MotionMaster.cpp.
References _delayedActions.
Referenced by AddToWorld(), and Update().
| void MotionMaster::ResumeSplineChain | ( | SplineChainResumeInfo const & | info | ) |
Definition at line 902 of file MotionMaster.cpp.
References _owner, Add(), SplineChainResumeInfo::Empty(), Object::GetGUID(), TC_LOG_ERROR, and ObjectGuid::ToString().
Referenced by npc_arthas_stratholme::npc_arthas_stratholmeAI::JustReachedHome(), and npc_martha_goslin::npc_martha_goslinAI::UpdateAI().
| uint32 MotionMaster::Size | ( | ) | const |
Definition at line 132 of file MotionMaster.cpp.
References _defaultGenerator, and _generators.
Referenced by SimpleCharmedPlayerAI::OnCharmed().
| bool MotionMaster::StopOnDeath | ( | ) |
Definition at line 515 of file MotionMaster.cpp.
References _owner, Clear(), GetCurrentMovementGenerator(), Object::IsInWorld(), MoveIdle(), MOVEMENTGENERATOR_FLAG_PERSIST_ON_DEATH, and Unit::StopMoving().
| void MotionMaster::Update | ( | uint32 | diff | ) |
Definition at line 280 of file MotionMaster.cpp.
References _owner, AddFlag(), ASSERT, Empty(), MovementGenerator::Flags, GetCurrentMovementGenerator(), Object::GetGUID(), MovementGenerator::GetMovementGeneratorType(), MovementGenerator::HasFlag(), HasFlag(), MovementGenerator::Initialize(), IsStatic(), MOTIONMASTER_FLAG_INITIALIZATION_PENDING, MOTIONMASTER_FLAG_INITIALIZING, MOTIONMASTER_FLAG_STATIC_INITIALIZATION_PENDING, MOTIONMASTER_FLAG_UPDATE, MOVEMENTGENERATOR_FLAG_DEACTIVATED, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, Pop(), RemoveFlag(), MovementGenerator::Reset(), ResolveDelayedActions(), ObjectGuid::ToString(), and MovementGenerator::Update().
Referenced by Unit::Update().
|
private |
Definition at line 225 of file MotionMaster.h.
Referenced by AddBaseUnitState(), ClearBaseUnitState(), and ClearBaseUnitStates().
|
private |
Definition at line 223 of file MotionMaster.h.
Referenced by DeleteDefault(), DirectAdd(), DirectClearDefault(), Empty(), GetCurrentMovementGenerator(), GetCurrentMovementGenerator(), GetCurrentMovementGeneratorType(), GetCurrentSlot(), GetMovementGenerator(), GetMovementGeneratorsInformation(), HasMovementGenerator(), Remove(), Remove(), and Size().
|
private |
Definition at line 226 of file MotionMaster.h.
Referenced by Add(), Clear(), Clear(), Clear(), Initialize(), Remove(), Remove(), ResolveDelayedActions(), and ~MotionMaster().
|
private |
Definition at line 227 of file MotionMaster.h.
|
private |
Definition at line 224 of file MotionMaster.h.
Referenced by Add(), DirectAdd(), DirectClear(), DirectClear(), DirectClearDefault(), Empty(), GetCurrentMovementGenerator(), GetCurrentMovementGenerator(), GetCurrentMovementGeneratorType(), GetCurrentSlot(), GetMovementGenerator(), GetMovementGeneratorsInformation(), HasMovementGenerator(), Pop(), Remove(), Remove(), Size(), and ~MotionMaster().
|
private |
Definition at line 222 of file MotionMaster.h.
Referenced by Add(), AddBaseUnitState(), ClearBaseUnitState(), ClearBaseUnitStates(), Delete(), DeleteDefault(), DirectAdd(), GetDestination(), InitializeDefault(), InterruptOnTeleport(), LaunchMoveSpline(), MoveAlongSplineChain(), MoveCharge(), MoveCharge(), MoveChase(), MoveCirclePath(), MoveCloserAndStop(), MoveConfused(), MoveDistract(), MoveFace(), MoveFace(), MoveFall(), MoveFleeing(), MoveFollow(), MoveFormation(), MoveJump(), MoveJumpTo(), MoveKnockbackFrom(), MoveLand(), MovePath(), MovePath(), MovePoint(), MoveRandom(), MoveRotate(), MoveSeekAssistance(), MoveSeekAssistanceDistract(), MoveTakeoff(), MoveTargetedHome(), MoveTaxiFlight(), ResumeSplineChain(), StopOnDeath(), and Update().