![]() |
TrinityCore
|
#include <MotionMaster.h>
Classes | |
| class | DelayedAction |
Public Types | |
| typedef std::function< void()> | DelayedActionDefine |
| typedef std::function< bool()> | DelayedActionValidator |
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 98 of file MotionMaster.h.
| typedef std::function<void()> MotionMaster::DelayedActionDefine |
Definition at line 101 of file MotionMaster.h.
| typedef std::function<bool()> MotionMaster::DelayedActionValidator |
Definition at line 102 of file MotionMaster.h.
|
private |
Definition at line 249 of file MotionMaster.h.
|
private |
Definition at line 250 of file MotionMaster.h.
|
private |
Definition at line 248 of file MotionMaster.h.
|
explicit |
Definition at line 79 of file MotionMaster.cpp.
| MotionMaster::~MotionMaster | ( | ) |
Definition at line 81 of file MotionMaster.cpp.
References _delayedActions, _generators, and MovementGeneratorPointerDeleter().
| void MotionMaster::Add | ( | MovementGenerator * | movement, |
| MovementSlot | slot = MOTION_SLOT_ACTIVE |
||
| ) |
Definition at line 324 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(), MoveKnockbackFrom(), MovePath(), MovePath(), MovePoint(), MoveRandom(), MoveRotate(), MoveSeekAssistance(), MoveSeekAssistanceDistract(), MoveTargetedHome(), MoveTaxiFlight(), MoveTierTransition(), and ResumeSplineChain().
|
private |
Definition at line 1346 of file MotionMaster.cpp.
References _baseUnitStatesMap, _owner, Unit::AddUnitState(), and MovementGenerator::BaseUnitState.
Referenced by DirectAdd().
|
inlineprivate |
Definition at line 252 of file MotionMaster.h.
Referenced by AddToWorld(), DeleteDefault(), DirectAdd(), and Update().
| void MotionMaster::AddToWorld | ( | ) |
Definition at line 112 of file MotionMaster.cpp.
References AddFlag(), DirectInitialize(), HasFlag(), MOTIONMASTER_FLAG_INITIALIZATION_PENDING, MOTIONMASTER_FLAG_INITIALIZING, RemoveFlag(), and ResolveDelayedActions().
| void MotionMaster::Clear | ( | ) |
Definition at line 425 of file MotionMaster.cpp.
References _delayedActions, Clear(), DirectClear(), Empty(), HasFlag(), MOTIONMASTER_DELAYED_CLEAR, and MOTIONMASTER_FLAG_DELAYED.
Referenced by npc_elwynn_forest_wolf::_ScheduleAfterChasingEvents(), CreatureAI::AttackStart(), 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_silverpine_forsaken_bat::DoAction(), npc_silverpine_deathstalker_rane_yorick::DoAction(), npc_martha_goslin::npc_martha_goslinAI::DoAction(), firelands_bossAI::EnterEvadeMode(), npc_argent_captainAI::EnterEvadeMode(), npc_daegarn::EnterEvadeMode(), CreatureAI::EnterEvadeMode(), npc_pet_mage_mirror_image::EnterEvadeMode(), ScriptedAI::ForceCombatStop(), spell_harlan_blades_of_light::HandleAfterCast(), boss_felmyst::HandleFlightSequence(), spell_headlong_charge_trigger::HandleHit(), spell_sapphiron_change_blizzard_target::HandlePeriodic(), WorldSession::HandlePetActionHelper(), spell_soulbound_goliath_burning_brush::HandleScript(), spell_gen_pet_wait::HandleScript(), npc_enslaved_soul::HandleSoulRelease(), npc_silverpine_agatha_fenris_isle::JustAppeared(), 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(), npc_malacrass_blood_worm::MovementInform(), MoveTargetedHome(), SimpleCharmedPlayerAI::OnCharmed(), conversation_boralus_hub_tour::OnCreate(), conversation_boralus_enter_harbormaster_office::OnCreate(), spell_soulbound_goliath_burning_brush_aura::OnRemove(), npc_valkyr_battle_maiden::npc_valkyr_battle_maidenAI::Reset(), npc_silverpine_agatha_fenris_isle::Reset(), Unit::SetCharmedBy(), npc_zombie_chow::SetData(), npc_silverpine_agatha_fenris_isle::SetEventNoEscape(), 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_guarm::UpdateAI(), boss_felblood_kaelthas::UpdateAI(), boss_selin_fireheart::UpdateAI(), npc_headless_horseman_head::UpdateAI(), npc_silverpine_agatha_fenris_isle::UpdateAI(), npc_sparring_partner_exiles_reach::UpdateAI(), npc_sparring_partner_combat_training::UpdateAI(), npc_captain_garrick_q55879::UpdateAI(), npc_warlord_grimaxe_q59942::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(), and npc_spark_of_ionar::UpdateAI().
| void MotionMaster::Clear | ( | MovementGeneratorPriority | priority | ) |
Definition at line 472 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 441 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 1355 of file MotionMaster.cpp.
References _baseUnitStatesMap, _owner, MovementGenerator::BaseUnitState, Unit::ClearUnitState(), and Trinity::Containers::MultimapErasePair().
Referenced by Delete().
|
private |
Definition at line 1365 of file MotionMaster.cpp.
References _baseUnitStatesMap, _owner, and Unit::ClearUnitState().
Referenced by DirectClear().
|
private |
Definition at line 1326 of file MotionMaster.cpp.
References _owner, MovementGenerator::BaseUnitState, ClearBaseUnitState(), MovementGenerator::Finalize(), MovementGenerator::Flags, BaseEntity::GetGUID(), MovementGenerator::GetMovementGeneratorType(), MovementGeneratorPointerDeleter(), MovementGenerator::Priority, and TC_LOG_DEBUG.
Referenced by Remove().
|
private |
Definition at line 1336 of file MotionMaster.cpp.
References _defaultGenerator, _owner, AddFlag(), BaseEntity::GetGUID(), GetIdleMovementGenerator(), MOTIONMASTER_FLAG_STATIC_INITIALIZATION_PENDING, and TC_LOG_DEBUG.
Referenced by DirectClearDefault().
|
private |
Definition at line 1281 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 1249 of file MotionMaster.cpp.
References _generators, ClearBaseUnitStates(), and Pop().
Referenced by Clear(), Clear(), Clear(), DirectInitialize(), and Remove().
|
private |
Definition at line 1269 of file MotionMaster.cpp.
References _generators, GetCurrentMovementGenerator(), and Remove.
|
private |
Definition at line 1263 of file MotionMaster.cpp.
References _defaultGenerator, _generators, and DeleteDefault().
Referenced by Clear(), DirectInitialize(), Remove(), and Remove().
|
private |
Definition at line 1240 of file MotionMaster.cpp.
References DirectClear(), DirectClearDefault(), and InitializeDefault().
Referenced by AddToWorld(), and Initialize().
| bool MotionMaster::Empty | ( | ) | const |
Definition at line 126 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 181 of file MotionMaster.cpp.
References _defaultGenerator, and _generators.
Referenced by DirectClear(), GetCurrentMovementGeneratorType(), WorldSession::HandleMoveWorldportAck(), InterruptOnTeleport(), IsMutualChase(), PropagateSpeedChange(), Remove(), Creature::SetCanMelee(), EscortAI::SetEscortPaused(), StopOnDeath(), Update(), and EscortAI::UpdateAI().
| MovementGenerator * MotionMaster::GetCurrentMovementGenerator | ( | MovementSlot | slot | ) | const |
Definition at line 218 of file MotionMaster.cpp.
References _defaultGenerator, _generators, Empty(), IsInvalidMovementSlot(), MOTION_SLOT_ACTIVE, and MOTION_SLOT_DEFAULT.
| MovementGeneratorType MotionMaster::GetCurrentMovementGeneratorType | ( | ) | const |
Definition at line 192 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 204 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 170 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 502 of file MotionMaster.cpp.
References _owner, 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 232 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 136 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 253 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 258 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 89 of file MotionMaster.cpp.
References _delayedActions, DirectInitialize(), HasFlag(), Initialize(), MOTIONMASTER_DELAYED_INITIALIZE, MOTIONMASTER_FLAG_INITIALIZATION_PENDING, and MOTIONMASTER_FLAG_UPDATE.
Referenced by 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 107 of file MotionMaster.cpp.
References _owner, Add(), MOTION_SLOT_DEFAULT, and FactorySelector::SelectMovementGenerator().
Referenced by DirectInitialize(), Scripts::Pandaria::TheWanderingIsle::npc_amberleaf_scamp::JustReachedHome(), Unit::RemoveCharmedBy(), Creature::Respawn(), and Unit::SetCharmedBy().
| void MotionMaster::InterruptOnTeleport | ( | ) |
Definition at line 536 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, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 1200 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), IsInvalidMovementGeneratorType(), MovementGenerator::Priority, and TC_LOG_DEBUG.
Referenced by Unit::_ExitVehicle(), npc_high_overlord_saurfang_igb::DoAction(), npc_muradin_bronzebeard_igb::DoAction(), boss_algalon_the_observer::DoAction(), VehicleJoinEvent::Execute(), DelayedMovementEvent::Execute(), spell_azhiccar_devour_selector::HandleHitTarget(), spell_azhiccar_devour_intro_selector::HandleHitTarget(), boss_razorscale::HandleInitialMovement(), boss_general_husam::JustSummoned(), boss_thorim::boss_thorimAI::JustSummoned(), npc_frogger_trigger_naxx::LaunchSpline(), Unit::MonsterMoveWithSpeed(), arena_empyrean_domain::MovePlayerDown(), 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 986 of file MotionMaster.cpp.
References Add().
Definition at line 969 of file MotionMaster.cpp.
References _owner, BaseEntity::GetGUID(), MoveAlongSplineChain(), sScriptSystemMgr, TC_LOG_ERROR, and Object::ToCreature().
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, |
||
| Unit const * | target = nullptr, |
||
| Movement::SpellEffectExtraData const * | spellEffectExtraData = nullptr |
||
| ) |
Definition at line 750 of file MotionMaster.cpp.
References _owner, Add(), MovementGenerator::BaseUnitState, BaseEntity::GetGUID(), MOTION_PRIORITY_HIGHEST, MovementGenerator::Priority, TC_LOG_DEBUG, 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, |
||
| Unit const * | target = nullptr, |
||
| Movement::SpellEffectExtraData const * | spellEffectExtraData = nullptr |
||
| ) |
Definition at line 764 of file MotionMaster.cpp.
References _owner, EVENT_CHARGE_PREPATH, PathGenerator::GetActualEndPosition(), PathGenerator::GetPath(), Movement::MoveSplineInit::Launch(), Movement::MoveSplineInit::MovebyPath(), MoveCharge(), Movement::MoveSplineInit::SetFacing(), Movement::MoveSplineInit::SetSpellEffectExtraData(), and Movement::MoveSplineInit::SetVelocity().
|
inline |
| void MotionMaster::MoveChase | ( | Unit * | target, |
| Optional< ChaseRange > | dist = {}, |
||
| Optional< ChaseAngle > | angle = {} |
||
| ) |
Definition at line 598 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), and TC_LOG_DEBUG.
Referenced by npc_elwynn_forest_wolf::_ScheduleBeforeChasingEvents(), UnitAI::AttackStart(), boss_tyrannus::AttackStart(), boss_lady_deathwhisper::AttackStart(), npc_hearthglen_crusader::AttackStart(), boss_veklor::boss_veklorAI::AttackStart(), UnitAI::AttackStartCaster(), boss_selin_fireheart::DoAction(), npc_ball_of_flame::DoAction(), boss_leotheras_the_blind::DoAction(), PetAI::DoAttack(), 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(), npc_shadow_demon::SetGUID(), Creature::StartDefaultCombatMovement(), boss_alizabal::boss_alizabalAI::UpdateAI(), boss_selin_fireheart::UpdateAI(), npc_dark_rider_of_acherus::UpdateAI(), npc_frost_wyrm::npc_frost_wyrmAI::UpdateAI(), boss_veklor::boss_veklorAI::UpdateAI(), boss_lord_marrowgar::UpdateAI(), boss_noth::UpdateAI(), boss_razuvious::UpdateAI(), boss_razorscale::UpdateAI(), npc_dream_fog::npc_dream_fogAI::UpdateAI(), and boss_ionar::UpdateAI().
| void MotionMaster::MoveCirclePath | ( | float | x, |
| float | y, | ||
| float | z, | ||
| float | radius, | ||
| bool | clockwise, | ||
| uint8 | stepCount, | ||
| Optional< Milliseconds > | duration = {}, |
||
| Optional< float > | speed = {}, |
||
| MovementWalkRunSpeedSelectionMode | speedSelectionMode = MovementWalkRunSpeedSelectionMode::Default, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 913 of file MotionMaster.cpp.
References _owner, Add(), Default, EFFECT_MOTION_TYPE, ForceRun, ForceWalk, 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(), npc_silverpine_orc_sea_dog_not_sick::UpdateAI(), and npc_quel_delar_sword::npc_quel_delar_swordAI::UpdateAI().
Definition at line 658 of file MotionMaster.cpp.
References _owner, Add(), EFFECT_MOTION_TYPE, Position::GetAbsoluteAngle(), Position::GetExactDist2d(), BaseEntity::GetGUID(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), ObjectAccessor::GetUnit(), and MovePoint().
Referenced by boss_gluth::UpdateAI(), and npc_akama_illidan::UpdateAI().
| void MotionMaster::MoveConfused | ( | ) |
Definition at line 608 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), BaseEntity::GetTypeId(), TC_LOG_DEBUG, and TYPEID_PLAYER.
Referenced by Unit::SetConfused().
| void MotionMaster::MoveDistract | ( | uint32 | time, |
| float | orientation | ||
| ) |
Definition at line 1097 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), and TC_LOG_DEBUG.
Referenced by Spell::EffectDistract(), boss_shade_of_aran::boss_aranAI::MoveInLineOfSight(), and CreatureAI::TriggerAlert().
| void MotionMaster::MoveFace | ( | float | orientation, |
| uint32 | id = EVENT_FACE |
||
| ) |
Definition at line 1169 of file MotionMaster.cpp.
References _owner, Add(), FACE_MOTION_TYPE, BaseEntity::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 1184 of file MotionMaster.cpp.
References _owner, Add(), FACE_MOTION_TYPE, BaseEntity::GetGUID(), and TC_LOG_DEBUG.
| void MotionMaster::MoveFall | ( | uint32 | id = 0, |
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 1001 of file MotionMaster.cpp.
References _owner, Add(), EFFECT_MOTION_TYPE, BaseEntity::GetGUID(), Unit::GetHoverOffset(), WorldObject::GetMapHeight(), WorldLocation::GetMapId(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), BaseEntity::GetTypeId(), Unit::HasUnitState(), Interrupted, INVALID_HEIGHT, Trinity::make_unique_ptr_with_deleter(), MAX_FALL_DISTANCE, MOTION_PRIORITY_HIGHEST, MovementGenerator::Priority, Unit::SetFall(), Player::SetFallInformation(), Scripting::v2::ActionResultSetter< T >::SetResult(), TC_LOG_DEBUG, Object::ToPlayer(), TYPEID_PLAYER, UNIT_STATE_ROOT, and UNIT_STATE_STUNNED.
Referenced by npc_frost_sphere::DamageTaken(), npc_wild_wyrm::DamageTaken(), npc_silverpine_fallen_human::DoAction(), npc_high_overlord_saurfang_icc::DoAction(), npc_muradin_bronzebeard_icc::DoAction(), boss_aerial_command_unit::boss_aerial_command_unitAI::DoAction(), AuraEffect::HandleAuraAllowFlight(), HandleAuraDisableGravity(), 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(), npc_silverpine_skitterweb_matriarch::UpdateAI(), boss_svala::UpdateAI(), and boss_vazruden_the_herald::UpdateSpecialEvents().
| void MotionMaster::MoveFleeing | ( | Unit * | enemy, |
| Milliseconds | time = 0ms, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 622 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), BaseEntity::GetTypeId(), Interrupted, TC_LOG_DEBUG, and TYPEID_UNIT.
Referenced by Unit::SetFeared(), and Creature::StartDefaultCombatMovement().
| void MotionMaster::MoveFollow | ( | Unit * | target, |
| float | dist, | ||
| Optional< ChaseAngle > | angle = {}, |
||
| Optional< Milliseconds > | duration = {}, |
||
| bool | ignoreTargetWalk = false, |
||
| MovementSlot | slot = MOTION_SLOT_ACTIVE, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 583 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), Interrupted, and TC_LOG_DEBUG.
Referenced by npc_molten_barrage::npc_molten_barrageAI::AttackStart(), Player::DisablePetControlsOnMount(), npc_argent_captainAI::DoAction(), SmartAI::EnterEvadeMode(), firelands_bossAI::EnterEvadeMode(), npc_argent_captainAI::EnterEvadeMode(), npc_daegarn::EnterEvadeMode(), CreatureAI::EnterEvadeMode(), npc_pet_mage_mirror_image::EnterEvadeMode(), spell_lord_stormsong_fixate::HandleFixate(), AuraEffect::HandleModPossessPet(), npc_commandscript::HandleNpcFollowCommand(), spell_sapphiron_change_blizzard_target::HandlePeriodic(), WorldSession::HandlePetActionHelper(), PetAI::HandleReturnMovement(), npc_troll_volunteer::InitializeAI(), npc_malacrass_blood_worm::IsSummonedBy(), npc_silverpine_orc_sea_pup::IsSummonedBy(), npc_silverpine_orc_sea_dog::IsSummonedBy(), npc_taelia_get_your_bearings::IsSummonedBy(), npc_spirit_shade::npc_spirit_shadeAI::IsSummonedBy(), npc_silverpine_agatha_fenris_isle::JustAppeared(), npc_captain_garrick_q55879::JustAppeared(), npc_warlord_grimaxe_q59942::JustAppeared(), 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(), conversation_boralus_hub_tour::OnUpdate(), npc_jungle_punch_target::proceedCwEvent(), npc_lake_frog::ReceiveEmote(), npc_silverpine_agatha_fenris_isle::Reset(), 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_silverpine_agatha_fenris_isle::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_garrick_summoned_beach::UpdateAI(), npc_grimaxe_summoned_beach::UpdateAI(), npc_leader_northbound::UpdateAI(), npc_lindie_springstock_q56034::UpdateAI(), npc_cork_fizzlepop_q59941::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 1160 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), BaseEntity::GetTypeId(), MOTION_SLOT_DEFAULT, TC_LOG_DEBUG, and TYPEID_UNIT.
| void MotionMaster::MoveIdle | ( | ) |
Definition at line 543 of file MotionMaster.cpp.
References Add(), GetIdleMovementGenerator(), and MOTION_SLOT_DEFAULT.
Referenced by npc_hearthglen_crusader::AttackStart(), npc_frost_sphere::DamageTaken(), npc_spinestalker::DoAction(), npc_rimefang_icc::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(), spell_alysrazor_turn_monstrosity::spell_alysrazor_turn_monstrosity_SpellScript::KnockBarrage(), 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_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(), and boss_vazruden_the_herald::UpdateSpecialEvents().
| void MotionMaster::MoveJump | ( | uint32 | id, |
| Position const & | pos, | ||
| std::variant< std::monostate, float, Milliseconds > | speedOrTime = {}, |
||
| Optional< float > | minHeight = {}, |
||
| Optional< float > | maxHeight = {}, |
||
| MovementFacingTarget const & | facing = {}, |
||
| bool | orientationFixed = false, |
||
| bool | unlimitedSpeed = false, |
||
| Optional< float > | speedMultiplier = {}, |
||
| JumpArrivalCastArgs const * | arrivalCast = nullptr, |
||
| Movement::SpellEffectExtraData const * | spellEffectExtraData = nullptr, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 837 of file MotionMaster.cpp.
References _owner, Position::GetExactDist(), BaseEntity::GetGUID(), and TC_LOG_DEBUG.
Referenced by boss_lava_guard_gordoth::DoAction(), npc_briarpatch_prisoner::DoAction(), Spell::EffectJump(), Spell::EffectJumpCharge(), Spell::EffectJumpDest(), boss_icehowl::ExecuteEvent(), spell_headlong_charge_trigger::HandleHit(), npc_anubarak_anub_ar_assassin::InitializeAI(), boss_mimiron::boss_mimironAI::JustDied(), boss_lord_waycrest::JustEngagedWith(), npc_murloc_spearhunter_watershaper_higher_ground::JustEngagedWith(), npc_kayn_sunfury_invasion_begins::MovementInform(), conversation_the_invasion_begins::OnUpdate(), SmartScript::ProcessAction(), npc_rokmora_navarrogg_intro::TriggerRokmoraIntro(), boss_guarm::UpdateAI(), npc_koltira_deathweaver::UpdateAI(), boss_high_priestess_azil::boss_high_priestess_azilAI::UpdateAI(), boss_garfrost::UpdateAI(), boss_thorim::boss_thorimAI::UpdateAI(), npc_jayce_darkweaver_invasion_begins::WaypointPathEnded(), npc_allari_the_souleater_invasion_begins::WaypointPathEnded(), npc_korvas_bloodthorn_invasion_begins::WaypointPathEnded(), npc_sevis_brightflame_invasion_begins::WaypointPathEnded(), and npc_cyana_nightglaive_invasion_begins::WaypointPathEnded().
| void MotionMaster::MoveKnockbackFrom | ( | Position const & | origin, |
| float | speedXY, | ||
| float | speedZ, | ||
| float | angle = M_PI, |
||
| Movement::SpellEffectExtraData const * | spellEffectExtraData = nullptr |
||
| ) |
Definition at line 784 of file MotionMaster.cpp.
References _owner, Add(), MovementGenerator::AddFlag(), Movement::computeFallElevation(), EFFECT_MOTION_TYPE, Position::GetPosition(), Position::GetPositionWithOffset(), Position::GetRelativeAngle(), Movement::gravity, M_PI, MOTION_PRIORITY_HIGHEST, Movement::MoveSplineInit::MovebyPath(), MOVEMENTGENERATOR_FLAG_PERSIST_ON_DEATH, WorldObject::MovePositionToFirstCollision(), MovementGenerator::Priority, Movement::MoveSplineInit::SetOrientationFixed(), Movement::MoveSplineInit::SetParabolic(), Movement::MoveSplineInit::SetSpellEffectExtraData(), and Movement::MoveSplineInit::SetVelocity().
Referenced by Unit::KnockbackFrom().
| void MotionMaster::MoveLand | ( | uint32 | id, |
| Position const & | pos, | ||
| Optional< int32 > | tierTransitionId = {}, |
||
| Optional< float > | velocity = {}, |
||
| MovementWalkRunSpeedSelectionMode | speedSelectionMode = MovementWalkRunSpeedSelectionMode::Default, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 681 of file MotionMaster.cpp.
References Ground, and MoveTierTransition().
Referenced by npc_icc_nerubar_broodkeeper::DoAction(), boss_malygos::DoAction(), FrostwyrmLandEvent::Execute(), spell_svalna_revive_champion::Land(), boss_slabhide::boss_slabhideAI::MovementInform(), boss_razorscale::MovementInform(), boss_prince_taldaram::RemovePrison(), boss_slabhide::boss_slabhideAI::UpdateAI(), 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, | ||
| Optional< Milliseconds > | duration = {}, |
||
| Optional< float > | speed = {}, |
||
| MovementWalkRunSpeedSelectionMode | speedSelectionMode = MovementWalkRunSpeedSelectionMode::Default, |
||
| Optional< std::pair< Milliseconds, Milliseconds > > | waitTimeRangeAtPathEnd = {}, |
||
| Optional< float > | wanderDistanceAtPathEnds = {}, |
||
| Optional< bool > | followPathBackwardsFromEndToStart = {}, |
||
| Optional< bool > | exactSplinePath = {}, |
||
| bool | generatePath = true, |
||
| Optional< MovementFadeObject > | fadeObject = {}, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 1107 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), BaseEntity::GetTypeId(), Interrupted, MOTION_SLOT_DEFAULT, TC_LOG_DEBUG, and TYPEID_UNIT.
Referenced by boss_adarogg::DoAction(), npc_earthen_ring_flamecaller::DoAction(), boss_anduin_wrynn::DoAction(), npc_bg_deephaul_ravine_commander< Path1, Path2, Path3, Path4 >::DoAction(), boss_headless_horseman::DoAction(), npc_silverpine_forsaken_bat::DoAction(), spell_harlan_blades_of_light::HandleAfterCast(), spell_ragefire_chasm_general_trigger_221_to_self::HandleDummy(), boss_gizrul_the_slavener::IsSummonedBy(), Scripts::Pandaria::TheWanderingIsle::npc_master_li_fei_summon::IsSummonedBy(), npc_kayn_sunfury_ashtongue_intro_private::JustAppeared(), npc_kalecgos::JustAppeared(), npc_ship_captain_brace_for_impact_private::JustAppeared(), npc_prisoner_q55879_private::JustAppeared(), boss_anetheron::JustAppeared(), boss_azgalor::JustAppeared(), boss_kazrogal::JustAppeared(), boss_rage_winterchill::JustAppeared(), npc_drustvar_frightend_woodsman_private::JustAppeared(), boss_lord_stormsong_intro_npc< ConvoIntroSpellId, ConvoOutroSpellId >::JustAppeared(), npc_toxic_sporebat::JustAppeared(), npc_coilfang_ambusher::JustAppeared(), npc_coilfang_guardian::JustAppeared(), boss_the_golden_serpent::JustAppeared(), SmartAI::JustReachedHome(), npc_crystal_channel_target::JustSummoned(), boss_guarm::MovementInform(), npc_kayn_sunfury_invasion_begins::MovementInform(), npc_jayce_darkweaver_invasion_begins::MovementInform(), npc_allari_the_souleater_invasion_begins::MovementInform(), npc_korvas_bloodthorn_invasion_begins::MovementInform(), npc_sevis_brightflame_invasion_begins::MovementInform(), npc_cyana_nightglaive_invasion_begins::MovementInform(), Scripts::Pandaria::TheWanderingIsle::npc_aysa_cloudsinger_summon::MovementInform(), npc_valarjar_paying_respect_to_odyn::MovementInform(), conversation_natalia_pearces_complete_precious_gems::OnCreate(), conversation_boralus_enter_harbormaster_office::OnCreate(), conversation_boralus_cyrus_meets_genn::OnCreate(), npc_7th_legion_magus_sanctum_of_the_sages::OnGossipSelect(), npc_thassarian::OnGossipSelect(), npc_belnistrasz::npc_belnistraszAI::OnQuestAccept(), spell_anduin_wrynn_pre_introduction::OnRemove(), Scripts::QuelThalas::Harandar::Chapter1::conversation_the_root_cause_open_portal::OnStart(), Scripts::QuelThalas::Harandar::Chapter1::conversation_to_harathir_talk_to_kupaal::OnStart(), AreaTrigger_at_frostgrips_hollow::OnTrigger(), conversation_rokmora_intro::OnUpdate(), conversation_aberrus_kazzara_intro::OnUpdate(), conversation_the_new_classington_estate::OnUpdate(), Scripts::EasternKingdoms::StormwindCity::conversation_start_council_tides_of_war::OnUpdate(), Scripts::EasternKingdoms::StormwindCity::conversation_quest_ancient_curses_accept::OnUpdate(), conversation_waycrest_manor_waycrests_defeated::OnUpdate(), npc_sharpbeak::npc_sharpbeak_AI::PassengerBoarded(), npc_akilzon_amani_kidnapper::PassengerBoarded(), npc_eagle_spirit::npc_eagle_spirit_AI::PassengerBoarded(), npc_silverpine_horde_hauler::PassengerBoarded(), npc_sanitron_5000::PassengerBoarded(), npc_silverpine_forsaken_bat::PassengerBoarded(), npc_king_jokkum_vehicle::PassengerBoarded(), npc_valarjar_paying_respect_to_odyn::Reset(), npc_valkyr_of_odyn::Reset(), npc_enslaved_proto_drake::SetData(), npc_taelia_get_your_bearings::SpellHit(), conversation_the_invasion_begins::StartCloneMovement(), npc_azure_saboteur::StartMovement(), SmartAI::StartPath(), EscortAI::UpdateAI(), boss_gyth::UpdateAI(), boss_rend_blackhand::UpdateAI(), boss_victor_nefarius::UpdateAI(), npc_koltira_deathweaver::UpdateAI(), boss_ironaya::UpdateAI(), npc_milos_gyro::npc_milos_gyro_AI::UpdateAI(), npc_cameron::UpdateAI(), npc_partygoer_pather::UpdateAI(), npc_redridge_subdued_canyon_ettin::UpdateAI(), npc_redridge_citizen::npc_redridge_citizenAI::UpdateAI(), npc_silverpine_horde_hauler::UpdateAI(), npc_silverpine_deathstalker_rane_yorick::UpdateAI(), npc_silverpine_agatha_fenris_isle::UpdateAI(), npc_ship_captain_warming_up_private::UpdateAI(), npc_sparring_partner_exiles_reach::UpdateAI(), npc_ship_captain_brace_for_impact_private::UpdateAI(), npc_first_mate_brace_for_impact_private::UpdateAI(), npc_pet_ship_private::UpdateAI(), npc_survivors_healed_by_leader_beach_private< PathId, WaitTime >::UpdateAI(), npc_horde_survivors_beach_q59930_private< PathId >::UpdateAI(), npc_survivors_beach_leave_private< PathId, WaitTime >::UpdateAI(), npc_sparring_partner_combat_training::UpdateAI(), npc_scoutomatic_5000::UpdateAI(), npc_choppy_booster_scout::UpdateAI(), npc_bjorn_stouthands_q55965_private::UpdateAI(), npc_lana_jordan_q59948_private::UpdateAI(), npc_companion_q55965_q59948_private< PitPathId >::UpdateAI(), npc_andorov::UpdateAI(), npc_disciple_of_naralex::UpdateAI(), Scripts::Kalimdor::Durotar::npc_darkspear_jailor::UpdateAI(), boss_lord_stormsong_intro_npc< ConvoIntroSpellId, ConvoOutroSpellId >::UpdateAI(), npc_freed_protodrake::UpdateAI(), Scripts::Pandaria::TheWanderingIsle::npc_delivery_cart::UpdateAI(), boss_kirtonos_the_herald::UpdateIntroEvents(), boss_nalorakk::UpdateOutOfCombatEvents(), boss_broggok::UpdateOutOfCombatEvents(), npc_bg_deephaul_ravine_earthen_mine_cart_horde::WaypointPathEnded(), npc_bg_deephaul_ravine_commander< Path1, Path2, Path3, Path4 >::WaypointPathEnded(), npc_bg_silvershard_mines_mine_cart::WaypointPathEnded(), npc_danica_the_reclaimer::WaypointPathEnded(), boss_anetheron::WaypointPathEnded(), boss_rage_winterchill::WaypointPathEnded(), boss_the_golden_serpent::WaypointPathEnded(), npc_toxic_sporebat::WaypointPathEnded(), npc_silverpine_forsaken_bat::WaypointReached(), Scripts::Pandaria::TheWanderingIsle::npc_min_dimwind_summon::WaypointReached(), and npc_7th_legion_magus_sanctum_of_the_sages::WaypointReached().
| void MotionMaster::MovePath | ( | WaypointPath const & | path, |
| bool | repeatable, | ||
| Optional< Milliseconds > | duration = {}, |
||
| Optional< float > | speed = {}, |
||
| MovementWalkRunSpeedSelectionMode | speedSelectionMode = MovementWalkRunSpeedSelectionMode::Default, |
||
| Optional< std::pair< Milliseconds, Milliseconds > > | waitTimeRangeAtPathEnd = {}, |
||
| Optional< float > | wanderDistanceAtPathEnds = {}, |
||
| Optional< bool > | followPathBackwardsFromEndToStart = {}, |
||
| Optional< bool > | exactSplinePath = {}, |
||
| bool | generatePath = true, |
||
| Optional< MovementFadeObject > | fadeObject = {}, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 1132 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), BaseEntity::GetTypeId(), WaypointPath::Id, MOTION_SLOT_DEFAULT, TC_LOG_DEBUG, and TYPEID_UNIT.
| void MotionMaster::MovePoint | ( | uint32 | id, |
| float | x, | ||
| float | y, | ||
| float | z, | ||
| bool | generatePath = true, |
||
| Optional< float > | finalOrient = {}, |
||
| Optional< float > | speed = {}, |
||
| MovementWalkRunSpeedSelectionMode | speedSelectionMode = MovementWalkRunSpeedSelectionMode::Default, |
||
| Optional< float > | closeEnoughDistance = {}, |
||
| Optional< MovementFadeObject > | fadeObject = {}, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 648 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), and TC_LOG_DEBUG.
| void MotionMaster::MovePoint | ( | uint32 | id, |
| Position const & | pos, | ||
| bool | generatePath = true, |
||
| Optional< float > | finalOrient = {}, |
||
| Optional< float > | speed = {}, |
||
| MovementWalkRunSpeedSelectionMode | speedSelectionMode = MovementWalkRunSpeedSelectionMode::Default, |
||
| Optional< float > | closeEnoughDistance = {}, |
||
| Optional< MovementFadeObject > | fadeObject = {}, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 639 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_amalgam_of_souls::DamageTaken(), npc_inquisitor_baleful_molten_shore::DamageTaken(), boss_high_inquisitor_whitemane::DamageTaken(), boss_ayamiss::DamageTaken(), npc_sc_millhouse_manastorm::npc_sc_millhouse_manastormAI::DamageTaken(), boss_ymiron::DamageTaken(), boss_essence_of_suffering::DamageTaken(), boss_essence_of_desire::DamageTaken(), Scripts::Pandaria::TheWanderingIsle::npc_tushui_huojin_trainee::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_inquisitor_baleful_molten_shore::DoAction(), npc_apothecary_genericAI::DoAction(), npc_chained_spirit::DoAction(), boss_infinite_corruptor::boss_infinite_corruptorAI::DoAction(), boss_adarogg::DoAction(), boss_slabhide::boss_slabhideAI::DoAction(), npc_twilight_volunteer::DoAction(), npc_hadronox_crusherPackAI::DoAction(), npc_xerestrasza::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(), Scripts::Kalimdor::Durotar::npc_captive_spitescale_scout::DoAction(), npc_snufflenose_gopher::npc_snufflenose_gopherAI::DoFindNewTubber(), boss_alar::DoMoveToCenter(), boss_alar::DoMoveToPlatform(), npc_announcer_toc5::npc_announcer_toc5AI::DoStartArgentChampionEncounter(), 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(), WorldSession::HandlePetActionHelper(), PetAI::HandleReturnMovement(), spell_saviana_conflagration_throwback::HandleScript(), npc_molten_flame::InitializeAI(), Scripts::EasternKingdoms::Gilneas::Chapter1::npc_frightened_citizen::IsSummonedBy(), npc_spirit_bomb::IsSummonedBy(), npc_akilzon_amani_kidnapper::IsSummonedBy(), npc_devout_follower::npc_devout_followerAI::IsSummonedBy(), npc_ruby_emerald_amber_drake::IsSummonedBy(), npc_frostbrood_skytalon::IsSummonedBy(), Scripts::Pandaria::TheWanderingIsle::npc_min_dimwind_summon::IsSummonedBy(), npc_amalgam_of_souls_restless_soul::JustAppeared(), ShadowswordBaseAI::JustAppeared(), npc_amanishi_hatcher::JustAppeared(), npc_doomfire::JustAppeared(), boss_aeonus::JustAppeared(), npc_lockmaw_augh_boss::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_anduin_wrynn_anduin_doubt::JustAppeared(), npc_priestess_alun_za_corrupted_gold::JustAppeared(), npc_blood_wave_stalker::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_hogger::JustSummoned(), boss_randolph_moloch::JustSummoned(), boss_trollgore::JustSummoned(), boss_slad_ran::JustSummoned(), boss_prince_valanar_icc::JustSummoned(), boss_skadi::JustSummoned(), npc_daegarn::JustSummoned(), boss_anduin_wrynn::JustSummoned(), npc_maghar_captive::npc_maghar_captiveAI::JustSummoned(), npc_kurenai_captive::npc_kurenai_captiveAI::JustSummoned(), MoveCloserAndStop(), npc_ashtongue_sorcerer::MoveInLineOfSight(), npc_spectator::MovementInform(), npc_voljin_zulaman::npc_voljin_zulamanAI::MovementInform(), npc_amanishi_hatcher::MovementInform(), boss_onyxia::MovementInform(), npc_barada::npc_baradaAI::MovementInform(), boss_razorscale::MovementInform(), npc_skadi_trashAI::MovementInform(), npc_sparring_partner_exiles_reach::MovementInform(), npc_sparring_partner_combat_training::MovementInform(), npc_amalgam_of_souls_restless_soul::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(), conversation_dawnspair_spire_to_ghostlands::OnCreate(), Scripts::EasternKingdoms::StormwindCity::conversation_quest_ancient_curses_accept::OnCreate(), conversation_boralus_hub_tour::OnCreate(), npc_tirion_fordring_tft::OnGossipSelect(), conversation_aberrus_sabellian_intro::OnUpdate(), conversation_an_unlikely_informant::OnUpdate(), conversation_cyrus_crestfall_shaking_hands::OnUpdate(), conversation_sylvanas_windrunner_introduction::OnUpdate(), npc_wyrmrest_skytalon::PassengerBoarded(), Scripts::Pandaria::TheJadeForest::npc_rappelling_rope::PassengerBoarded(), npc_jungle_punch_target::proceedCwEvent(), SmartScript::ProcessAction(), npc_feasting_valarjar::Reset(), npc_image_of_medivh::npc_image_of_medivhAI::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(), npc_announcer_toc5::npc_announcer_toc5AI::SetData(), npc_silverpine_agatha_fenris_isle::SetEventNoEscape(), boss_hadronox::SetStep(), npc_garrick_summoned_beach::SpellHit(), npc_grimaxe_summoned_beach::SpellHit(), npc_leader_northbound::SpellHit(), boss_onyxia::SpellHit(), npc_high_overlord_saurfang_icc::SpellHit(), npc_muradin_bronzebeard_icc::SpellHit(), npc_saurfang_event::SpellHit(), boss_vazruden_the_herald::SpellHit(), npc_redridge_subdued_canyon_ettin::SpellHit(), Scripts::Kalimdor::Durotar::npc_lazy_peon::npc_lazy_peonAI::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(), spell_doomwalker_overrun::StartMovement(), boss_nightbane::boss_nightbaneAI::StartPhaseFly(), boss_jormungarAI::Submerge(), npc_rokmora_navarrogg_intro::TriggerRokmoraIntro(), EscortAI::UpdateAI(), boss_alizabal::boss_alizabalAI::UpdateAI(), Scripts::EasternKingdoms::Gilneas::Chapter1::npc_frightened_citizen::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(), Scripts::EasternKingdoms::Vashjir::Chapter1::npc_vashjir_drowning_soldier::UpdateAI(), npc_frozen_mountaineer::npc_frozen_mountaineerAI::UpdateAI(), npc_wounded_coldridge_mountaineer::npc_wounded_coldridge_mountaineerAI::UpdateAI(), npc_thalorien_dawnseeker::UpdateAI(), npc_silverpine_fallen_human::UpdateAI(), npc_silverpine_mutant_bush_chicken::UpdateAI(), npc_silverpine_fenris_keep_camera::UpdateAI(), npc_voljin_zulaman::npc_voljin_zulamanAI::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_sparring_partner_exiles_reach::UpdateAI(), npc_captain_warlord_first_aid_private::UpdateAI(), npc_sparring_partner_combat_training::UpdateAI(), npc_huxsworth_briarpatch_quest_private::UpdateAI(), npc_dawntracker_briarpatch_quest_private::UpdateAI(), npc_briarpatch_prisoner::UpdateAI(), npc_lindie_springstock_q56034::UpdateAI(), npc_cork_fizzlepop_q59941::UpdateAI(), npc_re_sized_boar_q56034::UpdateAI(), npc_captain_garrick_q55879::UpdateAI(), npc_warlord_grimaxe_q59942::UpdateAI(), boss_archimonde::UpdateAI(), npc_gargoyle::npc_gargoyleAI::UpdateAI(), boss_lieutenant_drake::UpdateAI(), boss_anraphet::UpdateAI(), npc_brann_bronzebeard_anraphet::UpdateAI(), npc_lockmaw_augh_add::UpdateAI(), boss_onyxia::UpdateAI(), npc_draenei_survivor::npc_draenei_survivorAI::UpdateAI(), npc_demolitionist_legoso::npc_demolitionist_legosoAI::UpdateAI(), Scripts::Kalimdor::Durotar::npc_echo_isles_class_trainer< PitPos, QuestID >::UpdateAI(), boss_high_priestess_azil::boss_high_priestess_azilAI::UpdateAI(), boss_slabhide::boss_slabhideAI::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(), npc_priestess_alun_za_spirit_of_gold::UpdateAI(), boss_cragmaw_the_infested::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, |
| Optional< Milliseconds > | duration = {}, |
||
| Optional< float > | speed = {}, |
||
| MovementWalkRunSpeedSelectionMode | speedSelectionMode = MovementWalkRunSpeedSelectionMode::ForceWalk, |
||
| MovementSlot | slot = MOTION_SLOT_DEFAULT, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 572 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), BaseEntity::GetTypeId(), TC_LOG_DEBUG, and TYPEID_UNIT.
Referenced by spell_mimiron_fire_search::spell_mimiron_fire_search_SpellScript::HandleAftercast(), spell_soulbound_goliath_burning_brush::HandleScript(), 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(), Scripts::Pandaria::TheWanderingIsle::npc_amberleaf_scamp::MovementInform(), boss_cragmaw_the_infested::MovementInform(), npc_freya_ward_summon::npc_freya_ward_summonAI::npc_freya_ward_summonAI(), npc_whisperwind_lasher::npc_whisperwind_lasherAI::OnSpellClick(), SmartScript::ProcessAction(), npc_frost_sphere::Reset(), npc_mechanolift::npc_mechanoliftAI::Reset(), npc_infernal_attacker::npc_infernal_attackerAI::Reset(), 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, |
| RotateDirection | direction, | ||
| Optional< Milliseconds > | time = {}, |
||
| Optional< float > | turnSpeed = {}, |
||
| Optional< float > | totalTurnAngle = {}, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Makes the Unit turn in place.
| id | Movement identifier, later passed to script MovementInform hooks |
| direction | Rotation direction |
| time | How long should this movement last, infinite if not set |
| turnSpeed | How fast should the unit rotate, in radians per second. Uses unit's turn speed if not set |
| totalTurnAngle | Total angle of the entire movement, infinite if not set |
| scriptResult | Awaitable script result (for internal use) |
Definition at line 1150 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), and TC_LOG_DEBUG.
Referenced by npc_baleful_beaming_eye::JustAppeared().
| void MotionMaster::MoveSeekAssistance | ( | float | x, |
| float | y, | ||
| float | z | ||
| ) |
Definition at line 1047 of file MotionMaster.cpp.
References _owner, Add(), EVENT_ASSIST_MOVE, BaseEntity::GetGUID(), REACT_PASSIVE, TC_LOG_DEBUG, TC_LOG_ERROR, and Object::ToCreature().
Referenced by Creature::DoFleeToGetAssistance().
| void MotionMaster::MoveSeekAssistanceDistract | ( | uint32 | timer | ) |
Definition at line 1062 of file MotionMaster.cpp.
References _owner, Add(), BaseEntity::GetGUID(), Position::GetOrientation(), BaseEntity::GetTypeId(), TC_LOG_DEBUG, TC_LOG_ERROR, and TYPEID_UNIT.
Referenced by AssistanceMovementGenerator::Finalize().
| void MotionMaster::MoveTakeoff | ( | uint32 | id, |
| Position const & | pos, | ||
| Optional< int32 > | tierTransitionId = {}, |
||
| Optional< float > | velocity = {}, |
||
| MovementWalkRunSpeedSelectionMode | speedSelectionMode = MovementWalkRunSpeedSelectionMode::Default, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 688 of file MotionMaster.cpp.
References Fly, and MoveTierTransition().
Referenced by boss_malygos::DoAction(), boss_onyxia::MovementInform(), npc_doom_blossom::Reset(), boss_slabhide::boss_slabhideAI::UpdateAI(), 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 548 of file MotionMaster.cpp.
References _owner, Add(), Clear(), Unit::GetCharmerOrOwner(), BaseEntity::GetGUID(), PET_FOLLOW_ANGLE, PET_FOLLOW_DIST, TC_LOG_DEBUG, TC_LOG_ERROR, and Object::ToCreature().
Referenced by npc_kelthuzad_guardian::DoAction(), npc_expedition_trapper::DoAction(), EscortAI::EnterEvadeMode(), SmartAI::EnterEvadeMode(), hyjalAI::EnterEvadeMode(), firelands_bossAI::EnterEvadeMode(), boss_blood_queen_lana_thel::EnterEvadeMode(), boss_urom::EnterEvadeMode(), npc_daegarn::EnterEvadeMode(), CreatureAI::EnterEvadeMode(), GuardAI::EnterEvadeMode(), boss_alizabal::boss_alizabalAI::EnterEvadeMode(), gunship_npc_AI::EnterEvadeMode(), npc_high_overlord_saurfang_igb::EnterEvadeMode(), npc_muradin_bronzebeard_igb::EnterEvadeMode(), npc_rocket_propelled_warhead::FinishQuest(), wp_commandscript::HandleWpUnLoadCommand(), npc_mechanolift::npc_mechanoliftAI::JustDied(), boss_kologarn::boss_kologarnAI::JustDied(), Scripts::Pandaria::TheWanderingIsle::npc_amberleaf_scamp::MovementInform(), npc_geezle::npc_geezleAI::NextStep(), instance_violet_hold::instance_violet_hold_InstanceMapScript::ResetBossEncounter(), Unit::SetFeared(), and npc_barada::npc_baradaAI::UpdateAI().
| void MotionMaster::MoveTaxiFlight | ( | uint32 | path, |
| uint32 | pathnode, | ||
| Optional< float > | speed = {}, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 1073 of file MotionMaster.cpp.
References _owner, Add(), ASSERT, FLIGHT_MOTION_TYPE, BaseEntity::GetGUID(), MovementGenerator::GetMovementGeneratorType(), BaseEntity::GetTypeId(), HasMovementGenerator(), FlightPathMovementGenerator::LoadPath(), sTaxiPathNodesByPath, TC_LOG_DEBUG, TC_LOG_ERROR, Object::ToPlayer(), and TYPEID_PLAYER.
Referenced by Player::StartTaxiMovement().
| void MotionMaster::MoveTierTransition | ( | uint32 | id, |
| Position const & | pos, | ||
| AnimTier | newAnimTier, | ||
| Optional< int32 > | tierTransitionId = {}, |
||
| Optional< float > | velocity = {}, |
||
| MovementWalkRunSpeedSelectionMode | speedSelectionMode = MovementWalkRunSpeedSelectionMode::Default, |
||
| Scripting::v2::ActionResultSetter< MovementStopReason > && | scriptResult = {} |
||
| ) |
Definition at line 695 of file MotionMaster.cpp.
References _owner, Add(), Default, EFFECT_MOTION_TYPE, Fly, ForceRun, ForceWalk, Unit::GetAnimTier(), BaseEntity::GetGUID(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Ground, Hover, Swim, and TC_LOG_DEBUG.
Referenced by MoveLand(), and MoveTakeoff().
|
private |
Definition at line 1233 of file MotionMaster.cpp.
References _generators, and Remove.
Referenced by DirectClear(), and Update().
| void MotionMaster::PropagateSpeedChange | ( | ) |
Definition at line 490 of file MotionMaster.cpp.
References Empty(), GetCurrentMovementGenerator(), and MovementGenerator::UnitSpeedChanged().
Referenced by Unit::PropagateSpeedChange().
|
private |
Definition at line 1226 of file MotionMaster.cpp.
References _generators, and Delete().
| void MotionMaster::Remove | ( | MovementGenerator * | movement, |
| MovementSlot | slot = MOTION_SLOT_ACTIVE |
||
| ) |
Definition at line 357 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(), PetAI::DoAttack(), Player::FinishTaxiFlight(), npc_commandscript::HandleNpcUnFollowCommand(), PetAI::HandleReturnMovement(), Creature::SetCanMelee(), SmartAI::SetCombatMove(), Unit::SetConfused(), Unit::SetFeared(), FollowerAI::SetFollowComplete(), FollowerAI::SetFollowPaused(), npc_garrick_summoned_beach::SpellHit(), npc_grimaxe_summoned_beach::SpellHit(), npc_leader_northbound::SpellHit(), SimpleCharmedPlayerAI::UpdateAI(), and boss_lord_marrowgar::UpdateAI().
| void MotionMaster::Remove | ( | MovementGeneratorType | type, |
| MovementSlot | slot = MOTION_SLOT_ACTIVE |
||
| ) |
Definition at line 393 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 254 of file MotionMaster.h.
Referenced by AddToWorld(), and Update().
|
private |
Definition at line 1217 of file MotionMaster.cpp.
References _delayedActions.
Referenced by AddToWorld(), and Update().
| void MotionMaster::ResumeSplineChain | ( | SplineChainResumeInfo const & | info | ) |
Definition at line 991 of file MotionMaster.cpp.
References _owner, Add(), SplineChainResumeInfo::Empty(), BaseEntity::GetGUID(), and TC_LOG_ERROR.
Referenced by npc_arthas_stratholme::npc_arthas_stratholmeAI::JustReachedHome(), and npc_martha_goslin::npc_martha_goslinAI::UpdateAI().
| uint32 MotionMaster::Size | ( | ) | const |
Definition at line 131 of file MotionMaster.cpp.
References _defaultGenerator, and _generators.
Referenced by SimpleCharmedPlayerAI::OnCharmed().
| bool MotionMaster::StopOnDeath | ( | ) |
Definition at line 514 of file MotionMaster.cpp.
References _owner, Clear(), GetCurrentMovementGenerator(), BaseEntity::IsInWorld(), MoveIdle(), MOVEMENTGENERATOR_FLAG_PERSIST_ON_DEATH, and Unit::StopMoving().
| void MotionMaster::Update | ( | uint32 | diff | ) |
Definition at line 279 of file MotionMaster.cpp.
References _owner, AddFlag(), ASSERT, Empty(), MovementGenerator::Flags, GetCurrentMovementGenerator(), BaseEntity::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(), Success, ObjectGuid::ToString(), and MovementGenerator::Update().
|
private |
Definition at line 274 of file MotionMaster.h.
Referenced by AddBaseUnitState(), ClearBaseUnitState(), and ClearBaseUnitStates().
|
private |
Definition at line 272 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 275 of file MotionMaster.h.
Referenced by Add(), Clear(), Clear(), Clear(), Initialize(), Remove(), Remove(), ResolveDelayedActions(), and ~MotionMaster().
|
private |
Definition at line 276 of file MotionMaster.h.
|
private |
Definition at line 273 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 271 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(), MoveKnockbackFrom(), MovePath(), MovePath(), MovePoint(), MoveRandom(), MoveRotate(), MoveSeekAssistance(), MoveSeekAssistanceDistract(), MoveTargetedHome(), MoveTaxiFlight(), MoveTierTransition(), ResumeSplineChain(), StopOnDeath(), and Update().