AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "MotionMaster.h"
Public Member Functions | |
MotionMaster (Unit *unit) | |
~MotionMaster () | |
void | Initialize () |
void | InitDefault () |
bool | empty () const |
int | size () const |
_Ty | top () const |
_Ty | GetMotionSlot (int slot) const |
uint8 | GetCleanFlags () const |
void | DirectDelete (_Ty curr) |
void | DelayedDelete (_Ty curr) |
void | UpdateMotion (uint32 diff) |
void | Clear (bool reset=true) |
void | MovementExpired (bool reset=true) |
void | MovementExpiredOnSlot (MovementSlot slot, bool reset=true) |
void | MoveIdle () |
void | MoveTargetedHome (bool walk=false) |
The unit will return this initial position (owner for pets and summoned creatures). Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveRandom (float wanderDistance=0.0f) |
Enable a random movement in desired range around the unit. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveFollow (Unit *target, float dist, float angle, MovementSlot slot=MOTION_SLOT_ACTIVE, bool inheritWalkState=true) |
The unit will follow this target. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveChase (Unit *target, std::optional< ChaseRange > dist={}, std::optional< ChaseAngle > angle={}) |
Force the unit to chase this target. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveChase (Unit *target, float dist, float angle) |
void | MoveChase (Unit *target, float dist) |
void | MoveCircleTarget (Unit *target) |
void | MoveBackwards (Unit *target, float dist) |
void | MoveForwards (Unit *target, float dist) |
void | MoveConfused () |
Enable the confusion movement. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveFleeing (Unit *enemy, uint32 time=0) |
Enable the target's fleeing movement. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MovePoint (uint32 id, const Position &pos, bool generatePath=true, bool forceDestination=true) |
void | MovePoint (uint32 id, float x, float y, float z, bool generatePath=true, bool forceDestination=true, MovementSlot slot=MOTION_SLOT_ACTIVE, float orientation=0.0f) |
The unit will move to a specific point. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveSplinePath (Movement::PointsArray *path) |
void | MoveSplinePath (uint32 path_id) |
void | MoveLand (uint32 id, Position const &pos, float speed=0.0f) |
Use to move the unit from the air to the ground. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveLand (uint32 id, float x, float y, float z, float speed=0.0f) |
Use to move the unit from the air to the ground. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveTakeoff (uint32 id, Position const &pos, float speed=0.0f) |
Use to move the unit from the ground to the air. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveTakeoff (uint32 id, float x, float y, float z, float speed=0.0f) |
Use to move the unit from the air to the ground. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveCharge (float x, float y, float z, float speed=SPEED_CHARGE, uint32 id=EVENT_CHARGE, const Movement::PointsArray *path=nullptr, bool generatePath=false, float orientation=0.0f, ObjectGuid targetGUID=ObjectGuid::Empty) |
The unit will charge the target. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveCharge (PathGenerator const &path, float speed=SPEED_CHARGE, ObjectGuid targetGUID=ObjectGuid::Empty) |
The unit will charge the target. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveKnockbackFrom (float srcX, float srcY, float speedXY, float speedZ) |
void | MoveJumpTo (float angle, float speedXY, float speedZ) |
The unit will jump in a specific direction. More... | |
void | MoveJump (Position const &pos, float speedXY, float speedZ, uint32 id=0) |
void | MoveJump (float x, float y, float z, float speedXY, float speedZ, uint32 id=0, Unit const *target=nullptr) |
The unit will jump to a specific point. More... | |
void | MoveFall (uint32 id=0, bool addFlagForNPC=false) |
The unit will fall. Used when in the air. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveSeekAssistance (float x, float y, float z) |
void | MoveSeekAssistanceDistract (uint32 timer) |
void | MoveTaxiFlight (uint32 path, uint32 pathnode) |
void | MoveDistract (uint32 time) |
Enable the target's distract movement. Doesn't work with UNIT_FLAG_DISABLE_MOVE and if the unit has MOTION_SLOT_CONTROLLED (generaly apply when the unit is controlled). More... | |
void | MovePath (uint32 path_id, bool repeatable) |
Move the unit following a specific path. Doesn't work with UNIT_FLAG_DISABLE_MOVE. More... | |
void | MoveRotate (uint32 time, RotateDirection direction) |
Rotate the unit. You can specify the time of the rotation. More... | |
MovementGeneratorType | GetCurrentMovementGeneratorType () const |
MovementGeneratorType | GetMotionSlotType (int slot) const |
uint32 | GetCurrentSplineId () const |
void | propagateSpeedChange () |
void | ReinitializeMovement () |
bool | GetDestination (float &x, float &y, float &z) |
Private Types | |
typedef MovementGenerator * | _Ty |
typedef std::vector< _Ty > | ExpireList |
Private Member Functions | |
void | pop () |
bool | needInitTop () const |
void | InitTop () |
void | Mutate (MovementGenerator *m, MovementSlot slot) |
void | DirectClean (bool reset) |
void | DelayedClean () |
void | DirectExpire (bool reset) |
void | DirectExpireSlot (MovementSlot slot, bool reset) |
void | DelayedExpire () |
Private Attributes | |
ExpireList * | _expList |
_Ty | Impl [MAX_MOTION_SLOT] |
int | _top |
Unit * | _owner |
bool | _needInit [MAX_MOTION_SLOT] |
uint8 | _cleanFlag |
|
private |
|
private |
|
inlineexplicit |
References _needInit, Impl, and MAX_MOTION_SLOT.
MotionMaster::~MotionMaster | ( | ) |
References empty(), isStatic(), pop(), and top().
|
inline |
References _cleanFlag, DelayedClean(), DirectClean(), MMCF_RESET, and MMCF_UPDATE.
Referenced by PetAI::_stopAttack(), Unit::CleanupBeforeRemoveFromMap(), boss_julianne::DamageTaken(), boss_grand_champion::boss_grand_championAI::DamageTaken(), boss_bronjahm::boss_bronjahmAI::DamageTaken(), boss_hodir::boss_hodirAI::DamageTaken(), npc_ulduar_leviathan_mkii::npc_ulduar_leviathan_mkiiAI::DamageTaken(), npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI::DamageTaken(), boss_essence_of_suffering::boss_essence_of_sufferingAI::DamageTaken(), boss_essence_of_desire::boss_essence_of_desireAI::DamageTaken(), npc_blistering_zombie::npc_blistering_zombieAI::DamageTaken(), npc_icc_ice_sphere::npc_icc_ice_sphereAI::DoAction(), npc_twilight_volunteer::DoAction(), boss_taldaram::DoAction(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::DoAction(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::DoAction(), boss_illidan_stormrage::DoAction(), Spell::EffectSummonType(), npc_argent_captainAI::EnterEvadeMode(), CreatureAI::EnterEvadeMode(), npc_pet_gen_argent_pony_bridle::EnterEvadeMode(), npc_pet_mage_mirror_image::EnterEvadeMode(), boss_halazzi::EnterPhase(), boss_zuljin::boss_zuljinAI::EnterPhase(), UtherBatteredHiltEvent::Execute(), npc_hallows_end_soh::FinishEvent(), npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI::FlyAway(), boss_nightbane::FlyToClosestPreFlyWayPoint(), spell_tharon_ja_dummy_aura::HandleEffectRemove(), spell_q11919_q11940_drake_hunt_aura::HandleEffectRemove(), spell_item_toxic_wasteling::HandleJump(), AuraEffect::HandleModPossessPet(), spell_item_enchanted_broom_periodic::HandlePeriodicTick(), WorldSession::HandlePetActionHelper(), PetAI::HandleReturnMovement(), spell_gen_ayamiss_swarmer_loop::HandleScript(), boss_prince_keleseth_icc::boss_prince_kelesethAI::JustDied(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustDied(), boss_prince_valanar_icc::boss_prince_valanarAI::JustDied(), npc_zulian_prowler::npc_zulian_prowlerAI::JustEngagedWith(), boss_grandmaster_vorpil::JustEngagedWith(), boss_swamplord_muselek::JustEngagedWith(), boss_high_botanist_freywinn::JustEngagedWith(), boss_high_astromancer_solarian::JustEngagedWith(), npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI::JustReachedHome(), boss_algalon_the_observer::boss_algalon_the_observerAI::JustSummoned(), boss_mennu_the_betrayer::JustSummoned(), SmartAI::MoveAway(), FollowerAI::MoveInLineOfSight(), npc_escortAI::MoveInLineOfSight(), SmartAI::MoveInLineOfSight(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::MoveInLineOfSight(), PetAI::MovementInform(), boss_professor_putricide::boss_professor_putricideAI::MovementInform(), boss_four_horsemen::boss_four_horsemenAI::MovementInform(), boss_jedoga_shadowseeker::MovementInform(), MoveTargetedHome(), boss_leotheras_the_blind::MoveToTargetIfOutOfRange(), npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI::MySelectNextTarget(), spell_halion_twilight_phasing_aura::OnApply(), spell_halion_twilight_phasing_aura::OnRemove(), NPCStaveQuestAI::PrepareForEncounter(), npc_valkyr_battle_maiden::npc_valkyr_battle_maidenAI::Reset(), npc_batrider::Reset(), boss_archimonde::Reset(), npc_q24545_lich_king::npc_q24545_lich_kingAI::Reset(), boss_leotheras_the_blind::Reset(), boss_magtheridon::Reset(), npc_pet_gen_gnomish_flame_turret::Reset(), boss_magtheridon::ScheduleCombatEvents(), boss_nightbane::ScheduleLand(), boss_laj::ScheduleTasks(), npc_putricide_oozeAI::SelectNewTarget(), npc_icc_ice_sphere::npc_icc_ice_sphereAI::SelectNewTarget(), Unit::SetCharmedBy(), SmartAI::SetCombatMove(), boss_grand_warlock_nethekurse::SetData(), Unit::setDeathState(), FollowerAI::SetFollowComplete(), FollowerAI::SetFollowPaused(), npc_scarlet_ghoul::npc_scarlet_ghoulAI::SetGUID(), npc_tirion_fordring_tft::npc_tirion_fordringAI::SpellHit(), boss_urom::boss_uromAI::SpellHit(), boss_devourer_of_souls::boss_devourer_of_soulsAI::SpellHitTarget(), FollowerAI::StartFollow(), SmartAI::StopFollow(), Spell::SummonGuardian(), Pet::Update(), boss_quartermaster_zigris::UpdateAI(), boss_mr_smite::boss_mr_smiteAI::UpdateAI(), boss_felblood_kaelthas::UpdateAI(), npc_highlord_darion_mograine::npc_highlord_darion_mograineAI::UpdateAI(), boss_felmyst::boss_felmystAI::UpdateAI(), boss_janalai::boss_janalaiAI::UpdateAI(), npc_janalai_hatcher::npc_janalai_hatcherAI::UpdateAI(), npc_draenei_survivor::npc_draenei_survivorAI::UpdateAI(), boss_jedoga_shadowseeker::UpdateAI(), npc_twilight_volunteer::UpdateAI(), boss_jormungarAI::UpdateAI(), boss_icehowl::boss_icehowlAI::UpdateAI(), boss_drakkari_colossus::boss_drakkari_colossusAI::UpdateAI(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::UpdateAI(), npc_valithria_cloud::npc_valithria_cloudAI::UpdateAI(), boss_malygos::boss_malygosAI::UpdateAI(), boss_mimiron::boss_mimironAI::UpdateAI(), boss_skadi_grauf::boss_skadi_graufAI::UpdateAI(), boss_ymiron::boss_ymironAI::UpdateAI(), npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI::UpdateAI(), boss_omor_the_unscarred::UpdateAI(), npc_pet_gen_plump_turkey::UpdateAI(), npc_pet_gen_toxic_wasteling::UpdateAI(), and PetAI::UpdateAI().
|
private |
void MotionMaster::DelayedDelete | ( | _Ty | curr | ) |
References _expList, _owner, Object::GetEntry(), MovementGenerator::GetMovementGeneratorType(), isStatic(), and LOG_DEBUG.
Referenced by DelayedClean(), DelayedExpire(), and Mutate().
|
private |
References _top, DelayedDelete(), empty(), pop(), size(), and top().
Referenced by MovementExpired().
|
private |
References _owner, DirectDelete(), empty(), InitTop(), needInitTop(), pop(), MovementGenerator::Reset(), size(), and top().
Referenced by Clear().
void MotionMaster::DirectDelete | ( | _Ty | curr | ) |
References _owner, MovementGenerator::Finalize(), and isStatic().
Referenced by DirectClean(), DirectExpire(), DirectExpireSlot(), Initialize(), Mutate(), and UpdateMotion().
|
private |
References _owner, _top, DirectDelete(), empty(), Initialize(), InitTop(), needInitTop(), pop(), MovementGenerator::Reset(), size(), and top().
Referenced by MovementExpired().
|
private |
References _owner, _top, DirectDelete(), empty(), Impl, Initialize(), InitTop(), needInitTop(), MovementGenerator::Reset(), size(), and top().
Referenced by MovementExpiredOnSlot().
|
inline |
References _top.
Referenced by HomeMovementGenerator< Creature >::_setTargetLocation(), DelayedExpire(), DirectClean(), DirectExpire(), DirectExpireSlot(), GetCurrentMovementGeneratorType(), GetCurrentSplineId(), WorldSession::HandleSetRaidDifficultyOpcode(), Initialize(), MoveIdle(), Mutate(), needInitTop(), pop(), top(), UpdateMotion(), and ~MotionMaster().
|
inline |
References _cleanFlag.
MovementGeneratorType MotionMaster::GetCurrentMovementGeneratorType | ( | ) | const |
References empty(), MovementGenerator::GetMovementGeneratorType(), IDLE_MOTION_TYPE, and top().
Referenced by GuardAI::EnterEvadeMode(), FollowerAI::EnterEvadeMode(), boss_volkhan::boss_volkhanAI::GoToAnvil(), npc_commandscript::HandleNpcUnFollowCommand(), WorldSession::HandleSetRaidDifficultyOpcode(), IsMutualChase(), SmartAI::JustReachedHome(), SmartAI::MoveAway(), SmartAI::MovepointReached(), SplineHandler::operator()(), SmartAI::SetCombatMove(), Unit::SetSpeed(), npc_escortAI::Start(), FollowerAI::StartFollow(), npc_rabid_thistle_bear::npc_rabid_thistle_bearAI::UpdateAI(), boss_grand_champion::boss_grand_championAI::UpdateAI(), npc_anubarak_spike::npc_anubarak_spikeAI::UpdateAI(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::UpdateAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::UpdateAI(), boss_lord_marrowgar::UpdateAI(), boss_sindragosa::boss_sindragosaAI::UpdateAI(), boss_the_lich_king::boss_the_lich_kingAI::UpdateAI(), npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI::UpdateAI(), npc_fel_guard_hound::npc_fel_guard_houndAI::UpdateAI(), npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI(), npc_concentrated_ball::npc_concentrated_ballAI::UpdateAI(), and Player::UpdateCharmedAI().
uint32 MotionMaster::GetCurrentSplineId | ( | ) | const |
References empty(), MovementGenerator::GetSplineId(), and top().
Referenced by SplineHandler::operator()().
bool MotionMaster::GetDestination | ( | float & | x, |
float & | y, | ||
float & | z | ||
) |
References _owner, Movement::MoveSpline::FinalDestination(), Movement::MoveSpline::Finalized(), and Unit::movespline.
Referenced by misc_commandscript::HandleMovegensCommand().
|
inline |
Referenced by HomeMovementGenerator< Creature >::_setTargetLocation(), and misc_commandscript::HandleMovegensCommand().
MovementGeneratorType MotionMaster::GetMotionSlotType | ( | int | slot | ) | const |
References MovementGenerator::GetMovementGeneratorType(), Impl, and NULL_MOTION_TYPE.
Referenced by npc_escortAI::AttackStart(), SmartAI::AttackStart(), WorldSession::HandlePetActionHelper(), PetAI::HandleReturnMovement(), npc_escortAI::MovementInform(), SmartAI::MovepointReached(), SmartAI::PausePath(), npc_escortAI::Start(), SmartAI::StopPath(), npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI::UpdateAI(), and npc_demonic_vapor::npc_demonic_vaporAI::UpdateAI().
void MotionMaster::InitDefault | ( | ) |
References _owner, MOTION_SLOT_IDLE, Mutate(), and FactorySelector::SelectMovementGenerator().
Referenced by Initialize(), npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::JustReachedHome(), Unit::RemoveCharmedBy(), and Creature::Respawn().
void MotionMaster::Initialize | ( | ) |
References DirectDelete(), empty(), InitDefault(), pop(), and top().
Referenced by BattlegroundAV::AddAVCreature(), DirectExpire(), DirectExpireSlot(), CreatureGroup::FormationReset(), npc_commandscript::HandleNpcMoveCommand(), npc_commandscript::HandleNpcSetMoveTypeCommand(), npc_commandscript::HandleNpcSetWanderDistanceCommand(), WorldSession::HandlePlayerLoginFromDB(), wp_commandscript::HandleWpLoadCommand(), wp_commandscript::HandleWpUnLoadCommand(), boss_grand_warlock_nethekurse::IntroRP(), boss_grand_warlock_nethekurse::JustReachedHome(), Creature::Motion_Initialize(), Resurrect(), Player::SetMover(), WaypointMovementGenerator< Creature >::StartMove(), and UpdateMotion().
|
private |
References _needInit, _owner, _top, MovementGenerator::Initialize(), and top().
Referenced by DirectClean(), DirectExpire(), DirectExpireSlot(), and UpdateMotion().
void MotionMaster::MoveBackwards | ( | Unit * | target, |
float | dist | ||
) |
References _owner, Map::CanReachPositionAndGetValidCoords(), Position::GetAngle(), WorldObject::GetMap(), Position::GetPosition(), Movement::MoveSplineInit::Launch(), Position::m_positionX, Position::m_positionY, Position::m_positionZ, Movement::MoveSplineInit::MoveTo(), Movement::MoveSplineInit::SetFacing(), and Movement::MoveSplineInit::SetOrientationInversed().
Referenced by CreatureAI::MoveBackwardsChecks(), and boss_quartermaster_zigris::SpellHitTarget().
void MotionMaster::MoveCharge | ( | float | x, |
float | y, | ||
float | z, | ||
float | speed = SPEED_CHARGE , |
||
uint32 | id = EVENT_CHARGE , |
||
const Movement::PointsArray * | path = nullptr , |
||
bool | generatePath = false , |
||
float | orientation = 0.0f , |
||
ObjectGuid | targetGUID = ObjectGuid::Empty |
||
) |
The unit will charge the target. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, DISTRACT_MOTION_TYPE, Object::GetGUID(), Unit::HasUnitFlag(), Impl, Object::IsPlayer(), LOG_DEBUG, MOTION_SLOT_CONTROLLED, Mutate(), ObjectGuid::ToString(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by boss_professor_putricide::boss_professor_putricideAI::ChangePhase(), npc_frost_sphere::npc_frost_sphereAI::DamageTaken(), npc_ulduar_leviathan_mkii::npc_ulduar_leviathan_mkiiAI::DamageTaken(), npc_kinetic_bomb::npc_kinetic_bombAI::DoAction(), npc_saurfang_event::npc_saurfang_eventAI::DoAction(), boss_professor_putricide::boss_professor_putricideAI::DoAction(), npc_living_mojo::npc_living_mojoAI::DoAction(), Spell::EffectCharge(), Spell::EffectChargeDest(), boss_professor_putricide::boss_professor_putricideAI::EnterEvadeMode(), npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI::FlyAway(), npc_anachronos_the_ancient::npc_anachronos_the_ancientAI::HandleAnimation(), spell_the_lich_king_valkyr_target_search::HandleScript(), npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI::InitializeAI(), npc_highlord_darion_mograine::npc_highlord_darion_mograineAI::JustSummoned(), MoveCharge(), npc_kinetic_bomb::npc_kinetic_bombAI::Reset(), npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI::SummonedCreatureDespawn(), npc_highlord_darion_mograine::npc_highlord_darion_mograineAI::UpdateAI(), boss_hadronox::boss_hadronoxAI::UpdateAI(), boss_icehowl::boss_icehowlAI::UpdateAI(), npc_kinetic_bomb::npc_kinetic_bombAI::UpdateAI(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::UpdateAI(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::UpdateAI(), boss_lord_marrowgar::UpdateAI(), boss_professor_putricide::boss_professor_putricideAI::UpdateAI(), boss_sindragosa::boss_sindragosaAI::UpdateAI(), boss_the_lich_king::boss_the_lich_kingAI::UpdateAI(), boss_mimiron::boss_mimironAI::UpdateAI(), and npc_iron_watcher::npc_iron_watcherAI::UpdateAI().
void MotionMaster::MoveCharge | ( | PathGenerator const & | path, |
float | speed = SPEED_CHARGE , |
||
ObjectGuid | targetGUID = ObjectGuid::Empty |
||
) |
The unit will charge the target. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, EVENT_CHARGE_PREPATH, PathGenerator::GetActualEndPosition(), PathGenerator::GetPath(), Movement::MoveSplineInit::Launch(), Movement::MoveSplineInit::MovebyPath(), MoveCharge(), and Movement::MoveSplineInit::SetVelocity().
|
inline |
References MoveChase().
Referenced by MoveChase().
|
inline |
void MotionMaster::MoveChase | ( | Unit * | target, |
std::optional< ChaseRange > | dist = {} , |
||
std::optional< ChaseAngle > | angle = {} |
||
) |
Force the unit to chase this target. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, Object::GetGUID(), Unit::HasUnitFlag(), Object::IsPlayer(), LOG_DEBUG, MOTION_SLOT_ACTIVE, Mutate(), ObjectGuid::ToString(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by UnitAI::AttackStart(), FollowerAI::AttackStart(), boss_priestess_lackey_commonAI::AttackStart(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::AttackStart(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::AttackStart(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::AttackStart(), boss_malygos::boss_malygosAI::AttackStart(), boss_swamplord_muselek::AttackStart(), ArcherAI::AttackStart(), npc_escortAI::AttackStart(), SmartAI::AttackStart(), boss_shade_of_aran::AttackStart(), boss_alyson_antille::boss_alyson_antilleAI::AttackStart(), boss_gazakrothAI::AttackStart(), boss_slither::boss_slitherAI::AttackStart(), npc_hyjal_ground_trash::AttackStart(), npc_hyjal_gargoyle::AttackStart(), npc_hyjal_frost_wyrm::AttackStart(), boss_magus_telestra::boss_magus_telestraAI::AttackStart(), boss_razorscale::boss_razorscaleAI::AttackStart(), boss_lady_malande::AttackStart(), boss_olm_the_summoner::AttackStart(), boss_kiggler_the_crazed::AttackStart(), boss_krosh_firehand::AttackStart(), npc_millhouse_manastorm::npc_millhouse_manastormAI::AttackStart(), boss_high_astromancer_solarian::AttackStart(), npc_capernian::AttackStart(), UnitAI::AttackStartCaster(), boss_thorim::boss_thorimAI::DamageTaken(), boss_leotheras_the_blind::DemonTime(), boss_skadi::boss_skadiAI::DoAction(), PetAI::DoAttack(), ScriptedAI::DoStartMovement(), boss_halazzi::EnterPhase(), boss_zuljin::boss_zuljinAI::EnterPhase(), RestoreAttack::Execute(), boss_swamplord_muselek::JustEngagedWith(), boss_high_astromancer_solarian::JustEngagedWith(), npc_daphne_stilwell::npc_daphne_stilwellAI::JustSummoned(), boss_algalon_the_observer::boss_algalon_the_observerAI::JustSummoned(), boss_lady_vashj::MovementInform(), boss_nazan::MovementInform(), boss_leotheras_the_blind::MoveToTargetIfOutOfRange(), Unit::PetSpellFail(), Unit::RemoveCharmedBy(), boss_magtheridon::Reset(), Creature::ResumeChasingVictim(), boss_high_botanist_freywinn::ResumeEncounter(), Resurrect(), npc_anubarak_spike::npc_anubarak_spikeAI::SelectNewTarget(), SmartAI::SetCombatMove(), boss_volkhan::boss_volkhanAI::SpellHitTarget(), npc_nerubian_burrower::npc_nerubian_burrowerAI::SpellHitTarget(), boss_drakkari_colossus::boss_drakkari_colossusAI::SummonedCreatureDespawn(), boss_quartermaster_zigris::UpdateAI(), boss_mr_smite::boss_mr_smiteAI::UpdateAI(), boss_selin_fireheart::UpdateAI(), npc_mograine::npc_mograineAI::UpdateAI(), boss_felmyst::boss_felmystAI::UpdateAI(), boss_hexlord_malacrass::boss_hex_lord_malacrassAI::UpdateAI(), boss_headless_horseman::UpdateAI(), boss_saviana_ragefire::boss_saviana_ragefireAI::UpdateAI(), npc_nerubian_burrower::npc_nerubian_burrowerAI::UpdateAI(), boss_jormungarAI::UpdateAI(), boss_tharon_ja::boss_tharon_jaAI::UpdateAI(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::UpdateAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::UpdateAI(), boss_kelthuzad::boss_kelthuzadAI::UpdateAI(), boss_malygos::boss_malygosAI::UpdateAI(), boss_urom::boss_uromAI::UpdateAI(), boss_razorscale::boss_razorscaleAI::UpdateAI(), boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI::UpdateAI(), npc_vrykul_skeleton::npc_vrykul_skeletonAI::UpdateAI(), boss_ymiron::boss_ymironAI::UpdateAI(), boss_omor_the_unscarred::UpdateAI(), and Player::UpdateCharmedAI().
void MotionMaster::MoveCircleTarget | ( | Unit * | target | ) |
References _owner, Unit::GetMeleeAttackPoint(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Movement::MoveSplineInit::Launch(), Movement::MoveSplineInit::MoveTo(), Movement::MoveSplineInit::SetFacing(), and Movement::MoveSplineInit::SetWalk().
Referenced by CreatureAI::MoveCircleChecks().
void MotionMaster::MoveConfused | ( | ) |
Enable the confusion movement. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, Object::GetGUID(), Unit::HasUnitFlag(), Object::IsPlayer(), LOG_DEBUG, MOTION_SLOT_CONTROLLED, Mutate(), ObjectGuid::ToString(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by Unit::SetConfused().
void MotionMaster::MoveDistract | ( | uint32 | time | ) |
Enable the target's distract movement. Doesn't work with UNIT_FLAG_DISABLE_MOVE and if the unit has MOTION_SLOT_CONTROLLED (generaly apply when the unit is controlled).
References _owner, Unit::HasUnitFlag(), Impl, MOTION_SLOT_CONTROLLED, Mutate(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by Spell::EffectDistract(), and CreatureAI::TriggerAlert().
void MotionMaster::MoveFall | ( | uint32 | id = 0 , |
bool | addFlagForNPC = false |
||
) |
The unit will fall. Used when in the air. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, Unit::AddUnitMovementFlag(), GameTime::GetGameTime(), Unit::GetHoverHeight(), Map::GetId(), WorldObject::GetMap(), WorldObject::GetMapHeight(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Unit::HasUnitFlag(), INVALID_HEIGHT, Object::IsCreature(), Object::IsPlayer(), Movement::MoveSplineInit::Launch(), LOG_DEBUG, WorldObject::m_movementInfo, MAX_FALL_DISTANCE, MOTION_SLOT_CONTROLLED, MOVEMENTFLAG_CAN_FLY, MOVEMENTFLAG_FALLING, MOVEMENTFLAG_FLYING, MOVEMENTFLAG_MASK_MOVING, Movement::MoveSplineInit::MoveTo(), Mutate(), Unit::RemoveUnitMovementFlag(), Unit::SendMovementFlagUpdate(), Movement::MoveSplineInit::SetFall(), Player::SetFallInformation(), MovementInfo::SetFallTime(), Object::ToPlayer(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by Unit::_ExitVehicle(), boss_the_lich_king::boss_the_lich_kingAI::DamageTaken(), AuraEffect::HandleAuraAllowFlight(), AuraEffect::HandleAuraDummy(), AuraEffect::HandleAuraModIncreaseFlightSpeed(), Totem::InitSummon(), boss_ayamiss::JustDied(), Player::KillPlayer(), spell_chapter5_light_of_dawn_aura::spell_chapter5_light_of_dawn_aura_AuraScript::OnRemove(), Creature::setDeathState(), npc_wild_wyrm::npc_wild_wyrmAI::SpellHit(), boss_krick::boss_krickAI::UpdateAI(), boss_svala::boss_svalaAI::UpdateAI(), and npc_pet_gen_wind_rider_cub::UpdateAI().
Enable the target's fleeing movement. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, Object::GetGUID(), Unit::HasUnitFlag(), Object::IsPlayer(), LOG_DEBUG, MOTION_SLOT_CONTROLLED, Mutate(), ObjectGuid::ToString(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by Unit::SetFeared(), and boss_headless_horseman_head::SpellHit().
void MotionMaster::MoveFollow | ( | Unit * | target, |
float | dist, | ||
float | angle, | ||
MovementSlot | slot = MOTION_SLOT_ACTIVE , |
||
bool | inheritWalkState = true |
||
) |
The unit will follow this target. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, Object::GetGUID(), Unit::HasUnitFlag(), Object::IsPlayer(), LOG_DEBUG, Mutate(), ObjectGuid::ToString(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by npc_argent_captainAI::DoAction(), npc_scarlet_miner_cart::npc_scarlet_miner_cartAI::DoAction(), Spell::EffectSummonType(), npc_argent_captainAI::EnterEvadeMode(), CreatureAI::EnterEvadeMode(), SmartAI::EnterEvadeMode(), npc_burning_spirit::npc_burning_spiritAI::EnterEvadeMode(), npc_mrfloppy::npc_mrfloppyAI::EnterEvadeMode(), npc_pet_gen_argent_pony_bridle::EnterEvadeMode(), npc_pet_mage_mirror_image::EnterEvadeMode(), boss_halazzi::EnterPhase(), npc_dark_iron_guzzler::FindNextKeg(), spell_q11919_q11940_drake_hunt_aura::HandleEffectRemove(), AuraEffect::HandleModPossessPet(), npc_commandscript::HandleNpcFollowCommand(), spell_item_enchanted_broom_periodic::HandlePeriodicTick(), WorldSession::HandlePetActionHelper(), PetAI::HandleReturnMovement(), spell_item_draenic_pale_ale::HandleSummon(), npc_troll_volunteer::npc_troll_volunteerAI::InitializeAI(), npc_pet_dk_dancing_rune_weapon::npc_pet_dk_dancing_rune_weaponAI::InitializeAI(), npc_pet_mage_mirror_image::InitializeAI(), npc_burning_spirit::npc_burning_spiritAI::IsSummonedBy(), npc_spirit_shade::npc_spirit_shadeAI::IsSummonedBy(), boss_warlord_kalithresh::JustEngagedWith(), boss_auriaya::boss_auriayaAI::JustSummoned(), npc_frosthound::npc_frosthoundAI::JustSummoned(), boss_mekgineer_steamrigger::JustSummoned(), boss_ichoron::boss_ichoronAI::JustSummoned(), boss_xevozz::boss_xevozzAI::JustSummoned(), npc_ulduar_storm_tempered_keeper::npc_ulduar_storm_tempered_keeperAI::JustSummoned(), boss_vexallus::JustSummoned(), npc_anub_ar_crusher::npc_anub_ar_crusherAI::JustSummoned(), boss_lady_vashj::JustSummoned(), npc_fel_guard_hound::npc_fel_guard_houndAI::MovementInform(), npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI::MySelectNextTarget(), npc_kernobee::OnQuestAccept(), Unit::PetSpellFail(), npc_jungle_punch_target::npc_jungle_punch_targetAI::proceedCwEvent(), npc_lake_frog::npc_lake_frogAI::ReceiveEmote(), npc_assembly_lightning::npc_assembly_lightningAI::Reset(), npc_voidtraveler::Reset(), npc_icc_ice_sphere::npc_icc_ice_sphereAI::SelectNewTarget(), Unit::SetCharmedBy(), SmartAI::SetFollow(), FollowerAI::SetFollowPaused(), npc_rabid_thistle_bear::npc_rabid_thistle_bearAI::SpellHit(), npc_death_knight_initiate::npc_death_knight_initiateAI::SpellHit(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::SpellHit(), boss_ionar::boss_ionarAI::Split(), FollowerAI::StartFollow(), Spell::SummonGuardian(), Pet::Update(), SimpleCharmedAI::UpdateAI(), npc_scarlet_ghoul::npc_scarlet_ghoulAI::UpdateAI(), npc_winterfin_playmate::UpdateAI(), npc_snowfall_glade_playmate::UpdateAI(), npc_the_biggest_tree::UpdateAI(), npc_high_oracle_soo_roo::UpdateAI(), npc_elder_kekek::UpdateAI(), npc_the_etymidian::UpdateAI(), npc_alexstraza_the_lifebinder::UpdateAI(), npc_pet_gen_target_following_bomb::UpdateAI(), npc_pet_gen_toxic_wasteling::UpdateAI(), FollowerAI::UpdateAI(), npc_demonic_vapor::npc_demonic_vaporAI::UpdateAI(), npc_xt002_scrapbot::npc_xt002_scrapbotAI::UpdateAI(), npc_xt002_boombot::npc_xt002_boombotAI::UpdateAI(), and Player::UpdateCharmedAI().
void MotionMaster::MoveForwards | ( | Unit * | target, |
float | dist | ||
) |
References _owner, Map::CanReachPositionAndGetValidCoords(), Position::GetAngle(), WorldObject::GetMap(), Position::GetPosition(), Movement::MoveSplineInit::Launch(), Position::m_positionX, Position::m_positionY, Position::m_positionZ, Movement::MoveSplineInit::MoveTo(), and Movement::MoveSplineInit::SetFacing().
void MotionMaster::MoveIdle | ( | ) |
Should be preceded by MovementExpired or Clear if there's an overlying movementgenerator active
References empty(), GetIdleMovementGenerator(), isStatic(), MOTION_SLOT_IDLE, Mutate(), and top().
Referenced by PetAI::_stopAttack(), npc_nexus_lord::npc_nexus_lordAI::AttackStart(), boss_swamplord_muselek::AttackStart(), ArcherAI::AttackStart(), npc_mograine::npc_mograineAI::DamageTaken(), npc_frost_sphere::npc_frost_sphereAI::DamageTaken(), boss_bronjahm::boss_bronjahmAI::DamageTaken(), npc_power_spark::npc_power_sparkAI::DamageTaken(), boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI::DamageTaken(), npc_vrykul_skeleton::npc_vrykul_skeletonAI::DamageTaken(), npc_blistering_zombie::npc_blistering_zombieAI::DamageTaken(), npc_twilight_volunteer::DoAction(), npc_spinestalker::npc_spinestalkerAI::DoAction(), npc_rimefang::npc_rimefangAI::DoAction(), npc_anubarak_spike::npc_anubarak_spikeAI::DoAction(), npc_power_spark::npc_power_sparkAI::DoAction(), npc_spark_of_ionar::npc_spark_of_ionarAI::DoAction(), PetAI::DoAttack(), npc_taskmaster_fizzule::npc_taskmaster_fizzuleAI::DoFriend(), ScriptedAI::DoStartNoMovement(), GuardAI::EnterEvadeMode(), npc_hallows_end_soh::FinishEvent(), CreatureGroup::FormationReset(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::GoToMinchar(), spell_item_toxic_wasteling::HandleJump(), WorldSession::HandlePetActionHelper(), boss_prince_keleseth_icc::boss_prince_kelesethAI::JustDied(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustDied(), boss_prince_valanar_icc::boss_prince_valanarAI::JustDied(), boss_high_botanist_freywinn::JustEngagedWith(), Creature::Motion_Initialize(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::MoveInLineOfSight(), PetAI::MovementInform(), boss_bug_trio::MovementInform(), boss_professor_putricide::boss_professor_putricideAI::MovementInform(), boss_four_horsemen::boss_four_horsemenAI::MovementInform(), npc_escortAI::MovementInform(), SmartAI::MovepointReached(), npc_ulduar_expedition_commander::OnGossipSelect(), npc_hover_disk::npc_hover_diskAI::PassengerBoarded(), boss_nefarian::PathEndReached(), SmartAI::PausePath(), NPCStaveQuestAI::PrepareForEncounter(), PretendToDie(), boss_alar::PretendToDie(), npc_lake_frog::npc_lake_frogAI::ReceiveEmote(), boss_archimonde::Reset(), Unit::SetCharmedBy(), SmartAI::SetCombatMove(), boss_grand_warlock_nethekurse::SetData(), Unit::setDeathState(), FollowerAI::SetFollowComplete(), FollowerAI::SetFollowPaused(), npc_cult_fanatic::npc_cult_fanaticAI::SpellHit(), npc_cult_adherent::npc_cult_adherentAI::SpellHit(), boss_urom::boss_uromAI::SpellHit(), npc_crusade_persuaded::npc_crusade_persuadedAI::SpellHit(), npc_forest_frog::npc_forest_frogAI::SpellHit(), boss_devourer_of_souls::boss_devourer_of_soulsAI::SpellHitTarget(), npc_escortAI::Start(), FollowerAI::StartFollow(), SmartAI::StopFollow(), SmartAI::StopPath(), boss_jedoga_shadowseeker::SummonedCreatureDies(), Pet::Update(), boss_felblood_kaelthas::UpdateAI(), boss_headless_horseman::UpdateAI(), boss_onyxia::UpdateAI(), npc_rizzle_sprysprocket::npc_rizzle_sprysprocketAI::UpdateAI(), boss_grand_champion::boss_grand_championAI::UpdateAI(), npc_nerubian_burrower::npc_nerubian_burrowerAI::UpdateAI(), boss_jormungarAI::UpdateAI(), boss_icehowl::boss_icehowlAI::UpdateAI(), npc_fos_corrupted_soul_fragment::npc_fos_corrupted_soul_fragmentAI::UpdateAI(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::UpdateAI(), boss_lord_marrowgar::UpdateAI(), boss_sindragosa::boss_sindragosaAI::UpdateAI(), npc_rimefang::npc_rimefangAI::UpdateAI(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::UpdateAI(), npc_valithria_cloud::npc_valithria_cloudAI::UpdateAI(), boss_sapphiron::boss_sapphironAI::UpdateAI(), boss_malygos::boss_malygosAI::UpdateAI(), npc_oculus_unstable_sphere::npc_oculus_unstable_sphereAI::UpdateAI(), boss_urom::boss_uromAI::UpdateAI(), boss_razorscale::boss_razorscaleAI::UpdateAI(), boss_svala::boss_svalaAI::UpdateAI(), npc_minigob_manabonk::UpdateAI(), and npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI().
void MotionMaster::MoveJump | ( | float | x, |
float | y, | ||
float | z, | ||
float | speedXY, | ||
float | speedZ, | ||
uint32 | id = 0 , |
||
Unit const * | target = nullptr |
||
) |
The unit will jump to a specific point.
References _owner, Movement::computeFallElevation(), Object::GetGUID(), Movement::gravity, Movement::MoveSplineInit::Launch(), LOG_DEBUG, MOTION_SLOT_CONTROLLED, Movement::MoveSplineInit::MoveTo(), Mutate(), Movement::MoveSplineInit::SetFacing(), Movement::MoveSplineInit::SetParabolic(), Movement::MoveSplineInit::SetVelocity(), and ObjectGuid::ToString().
|
inline |
References Position::m_positionX, Position::m_positionY, Position::m_positionZ, and MoveJump().
Referenced by npc_icc_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI::AttackStart(), boss_thorim::boss_thorimAI::DamageTaken(), boss_tyrannus::boss_tyrannusAI::DoAction(), Spell::EffectJump(), Spell::EffectJumpDest(), Spell::EffectPullTowards(), spell_icc_geist_alarm::HandleEvent(), spell_item_toxic_wasteling::HandleJump(), spell_entropius_black_hole_effect::HandlePull(), spell_boss_magus_telestra_gravity_well::HandlePull(), spell_sindragosa_icy_grip_jump::HandleSpecial(), Unit::JumpTo(), MoveJump(), MoveJumpTo(), boss_thorim::boss_thorimAI::SpawnArenaNPCs(), npc_thrall_bfu::npc_thrall_bfuAI::SpawnWave(), npc_iron_watcher::npc_iron_watcherAI::SpellHit(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), boss_icehowl::boss_icehowlAI::UpdateAI(), boss_garfrost::boss_garfrostAI::UpdateAI(), npc_icc_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI::UpdateAI(), boss_mimiron::boss_mimironAI::UpdateAI(), and npc_pet_gen_plump_turkey::UpdateAI().
void MotionMaster::MoveJumpTo | ( | float | angle, |
float | speedXY, | ||
float | speedZ | ||
) |
The unit will jump in a specific direction.
References _owner, WorldObject::GetClosePoint(), WorldObject::GetObjectSize(), Movement::gravity, Object::IsPlayer(), and MoveJump().
Referenced by Unit::JumpTo(), and npc_engineer_helice::OnQuestAccept().
void MotionMaster::MoveKnockbackFrom | ( | float | srcX, |
float | srcY, | ||
float | speedXY, | ||
float | speedZ | ||
) |
References _owner, Movement::computeFallElevation(), Position::GetPosition(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Position::GetRelativeAngle(), Movement::gravity, Object::IsPlayer(), Movement::MoveSplineInit::Launch(), MOTION_SLOT_CONTROLLED, WorldObject::MovePositionToFirstCollision(), Movement::MoveSplineInit::MoveTo(), Mutate(), Movement::MoveSplineInit::SetOrientationFixed(), Movement::MoveSplineInit::SetParabolic(), and Movement::MoveSplineInit::SetVelocity().
Referenced by Unit::KnockbackFrom().
void MotionMaster::MoveLand | ( | uint32 | id, |
float | x, | ||
float | y, | ||
float | z, | ||
float | speed = 0.0f |
||
) |
Use to move the unit from the air to the ground. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References MoveLand().
Use to move the unit from the air to the ground. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, Object::GetEntry(), Position::GetPosition(), Unit::HasUnitFlag(), Movement::MoveSplineInit::Launch(), LOG_DEBUG, MOTION_SLOT_ACTIVE, Movement::MoveSplineInit::MoveTo(), Mutate(), Movement::MoveSplineInit::SetAnimation(), Movement::MoveSplineInit::SetVelocity(), Movement::ToGround, and UNIT_FLAG_DISABLE_MOVE.
Referenced by boss_taldaram::DoAction(), FrostwyrmLandEvent::Execute(), spell_svalna_revive_champion::Land(), npc_icc_nerubar_broodkeeper::npc_icc_nerubar_broodkeeperAI::MoveInLineOfSight(), MoveLand(), npc_hover_disk::npc_hover_diskAI::PassengerBoarded(), boss_nefarian::PathEndReached(), boss_razorscale::boss_razorscaleAI::SpellHit(), boss_onyxia::UpdateAI(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::UpdateAI(), boss_sindragosa::boss_sindragosaAI::UpdateAI(), npc_rimefang::npc_rimefangAI::UpdateAI(), and boss_malygos::boss_malygosAI::UpdateAI().
|
inline |
References _cleanFlag, DelayedExpire(), DirectExpire(), MMCF_RESET, and MMCF_UPDATE.
Referenced by npc_escortAI::AttackStart(), SmartAI::AttackStart(), npc_mograine::npc_mograineAI::DamageTaken(), boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI::DamageTaken(), npc_vrykul_skeleton::npc_vrykul_skeletonAI::DamageTaken(), npc_kinetic_bomb::npc_kinetic_bombAI::DoAction(), go_commandscript::DoTeleport(), boss_volkhan::boss_volkhanAI::GoToAnvil(), misc_commandscript::HandleAppearCommand(), go_commandscript::HandleGoGraveyardCommand(), go_commandscript::HandleGoGridCommand(), go_commandscript::HandleGoTicketCommand(), go_commandscript::HandleGoZoneXYCommand(), misc_commandscript::HandleGroupSummonCommand(), WorldSession::HandleMoveWorldportAck(), npc_commandscript::HandleNpcUnFollowCommand(), tele_commandscript::HandleTeleCommand(), tele_commandscript::HandleTeleGroupCommand(), Player::LeaveBattleground(), npc_escortAI::MovementInform(), SmartAI::MovepointReached(), SmartAI::PausePath(), PretendToDie(), boss_alar::PretendToDie(), Unit::RemoveCharmedBy(), WorldSession::SendDoFlight(), Unit::SetConfused(), Unit::SetFeared(), npc_cult_fanatic::npc_cult_fanaticAI::SpellHit(), npc_cult_adherent::npc_cult_adherentAI::SpellHit(), npc_vengeful_shade::npc_vengeful_shadeAI::SpellHitTarget(), npc_escortAI::Start(), SmartAI::StopPath(), Player::TeleportTo(), npc_rizzle_sprysprocket::npc_rizzle_sprysprocketAI::UpdateAI(), boss_grand_champion::boss_grand_championAI::UpdateAI(), boss_icehowl::boss_icehowlAI::UpdateAI(), npc_hor_lich_king::npc_hor_lich_kingAI::UpdateAI(), npc_kinetic_bomb::npc_kinetic_bombAI::UpdateAI(), boss_lord_marrowgar::UpdateAI(), npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI(), npc_pet_gen_toxic_wasteling::UpdateAI(), and UpdateMotion().
|
inline |
References _cleanFlag, DirectExpireSlot(), and MMCF_UPDATE.
Referenced by PetAI::DoAttack(), and Unit::RemoveCharmedBy().
void MotionMaster::MovePath | ( | uint32 | path_id, |
bool | repeatable | ||
) |
Move the unit following a specific path. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, Object::GetGUID(), Unit::HasUnitFlag(), Object::IsPlayer(), LOG_DEBUG, MOTION_SLOT_IDLE, Mutate(), ObjectGuid::ToString(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by boss_anetheron::DoAction(), boss_azgalor::DoAction(), boss_kazrogal::DoAction(), boss_rage_winterchill::DoAction(), npc_hyjal_ground_trash::DoAction(), npc_hyjal_gargoyle::DoAction(), npc_hyjal_frost_wyrm::DoAction(), boss_ambassador_hellmaw::DoAction(), npc_akama_illidan::DoAction(), boss_ghazan::DoAction(), boss_sartharion_tenebron::boss_sartharion_tenebronAI::HandleExtraEvent(), boss_sartharion_shadron::boss_sartharion_shadronAI::HandleExtraEvent(), boss_sartharion_vesperon::boss_sartharion_vesperonAI::HandleExtraEvent(), spell_gen_ayamiss_swarmer_loop::HandleScript(), boss_lieutenant_drake::InitializeAI(), boss_ambassador_hellmaw::InitializeAI(), boss_gahzranka::boss_gahzrankaAI::IsSummonedBy(), boss_jeklik::JustEngagedWith(), SmartAI::JustReachedHome(), npc_akama_illidan::JustReachedHome(), boss_hadronox::boss_hadronoxAI::JustSummoned(), boss_hydross_the_unstable::JustSummoned(), boss_nalorakk::MoveInLineOfSight(), npc_shattered_hand_scout::MoveInLineOfSight(), npc_hyjal_jaina::OnGossipSelect(), npc_akama_illidan::PathEndReached(), boss_the_beast::boss_thebeastAI::Reset(), boss_bug_trio::Reset(), npc_injured_7th_legion_soldier::npc_injured_7th_legion_soldierAI::Reset(), npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI::SetData(), boss_the_beast::boss_thebeastAI::SetData(), npc_eastvale_peasent::SetData(), npc_thassarian2::npc_thassarian2AI::sGossipSelect(), npc_akama_illidan::sGossipSelect(), npc_varian_wrynn::npc_varian_wrynnAI::SpawnWave(), npc_belnistrasz::npc_belnistraszAI::sQuestAccept(), boss_gyth::boss_gythAI::UpdateAI(), boss_rend_blackhand::boss_rend_blackhandAI::UpdateAI(), boss_victor_nefarius::boss_victor_nefariusAI::UpdateAI(), boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI::UpdateAI(), npc_cameron::UpdateAI(), npc_eastvale_peasent::UpdateAI(), npc_partygoer_pather::UpdateAI(), npc_grand_magister_rommath::npc_grand_magister_rommathAI::UpdateAI(), npc_harrison_jones::npc_harrison_jonesAI::UpdateAI(), boss_headless_horseman::UpdateAI(), boss_lieutenant_drake::UpdateAI(), npc_pos_leader_second::npc_pos_leader_secondAI::UpdateAI(), and npc_wounded_skirmisher::UpdateAI().
|
inline |
References Position::GetOrientation(), Position::m_positionX, Position::m_positionY, Position::m_positionZ, MOTION_SLOT_ACTIVE, and MovePoint().
Referenced by npc_mograine::npc_mograineAI::AshbringerEvent(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::AttackStart(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::AttackStart(), boss_isalien::DamageTaken(), boss_grand_champion::boss_grand_championAI::DamageTaken(), boss_essence_of_suffering::boss_essence_of_sufferingAI::DamageTaken(), boss_essence_of_desire::boss_essence_of_desireAI::DamageTaken(), boss_the_lich_king::boss_the_lich_kingAI::DamageTaken(), npc_weegli_blastfuse::npc_weegli_blastfuseAI::DestroyDoor(), npc_apothecary_genericAI::DoAction(), npc_chained_spirit::DoAction(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::DoAction(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::DoAction(), boss_sindragosa::boss_sindragosaAI::DoAction(), npc_spinestalker::npc_spinestalkerAI::DoAction(), npc_rimefang::npc_rimefangAI::DoAction(), npc_icc_spire_frostwyrm::DoAction(), boss_algalon_the_observer::boss_algalon_the_observerAI::DoAction(), npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI::DoAction(), npc_ahune_bunny::DoAction(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::DoAction(), npc_hover_disk::npc_hover_diskAI::DoAction(), boss_skadi_grauf::boss_skadi_graufAI::DoAction(), boss_illidan_stormrage::DoAction(), npc_akama_illidan::DoAction(), npc_maiev_illidan::DoAction(), npc_akama_shade::DoAction(), boss_nazan::DoAction(), FollowerAI::EnterEvadeMode(), VehicleDespawnEvent::Execute(), OrcMoveEvent::Execute(), UtherBatteredHiltEvent::Execute(), SlaveRunEvent::Execute(), DelayedMovementEvent::Execute(), DaranavanMoveEvent::Execute(), npc_hallows_end_soh::FinishEvent(), boss_nightbane::FlyToClosestPreFlyWayPoint(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::GoToMinchar(), spell_apothecary_lingering_fumes::HandleAfterCast(), npc_torloth_the_magnificent::npc_torloth_the_magnificentAI::HandleAnimation(), misc_commandscript::HandleComeToMeCommand(), spell_q12589_shoot_rjr::HandleDummy(), spell_q11520_discovering_your_roots::HandleDummy(), boss_malygos::boss_malygosAI::HandleIntroSpeech(), PetAI::HandleReturnMovement(), boss_eck::boss_eckAI::InitializeAI(), npc_bushwhacker::npc_bushwhackerAI::InitializeAI(), npc_lk_spirit_bomb::npc_lk_spirit_bombAI::IsSummonedBy(), npc_oculus_drake::npc_oculus_drakeAI::IsSummonedBy(), npc_wintergarde_gryphon::IsSummonedBy(), npc_frostbrood_skytalon::npc_frostbrood_skytalonAI::IsSummonedBy(), npc_enraged_spirit::npc_enraged_spiritAI::JustDied(), boss_ayamiss::JustEngagedWith(), boss_alar::JustEngagedWith(), npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI::JustSummoned(), npc_eris_hevenfire::npc_eris_hevenfireAI::JustSummoned(), npc_daphne_stilwell::npc_daphne_stilwellAI::JustSummoned(), npc_hor_lich_king::npc_hor_lich_kingAI::JustSummoned(), boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI::JustSummoned(), npc_kalecgos_kj::npc_kalecgos_kjAI::JustSummoned(), boss_captain_skarloc::JustSummoned(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::JustSummoned(), npc_anub_ar_crusher::npc_anub_ar_crusherAI::JustSummoned(), npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI::JustSummoned(), npc_akama_shade::JustSummoned(), npc_creature_generator_akama::JustSummoned(), boss_lady_vashj::JustSummoned(), npc_rinji::npc_rinjiAI::JustSummoned(), npc_maghar_captive::npc_maghar_captiveAI::JustSummoned(), boss_ayamiss::JustSummoned(), CreatureGroup::LeaderMoveTo(), SmartAI::MoveAway(), npc_akama_illidan::MovementInform(), boss_jedoga_shadowseeker::MovementInform(), MovePoint(), npc_cameron::MoveTheChildren(), boss_four_horsemen::boss_four_horsemenAI::MoveToCorner(), npc_concentrated_ball::npc_concentrated_ballAI::MoveToNextPoint(), npc_attracted_reef_bull::npc_attracted_reef_bullAI::npc_attracted_reef_bullAI(), npc_omen::npc_omenAI::npc_omenAI(), npc_pos_after_first_boss::npc_pos_after_first_bossAI::npc_pos_after_first_bossAI(), npc_ulduar_expedition_commander::OnGossipSelect(), npc_oculus_drake::npc_oculus_drakeAI::PassengerBoarded(), boss_nightbane::PathEndReached(), npc_oculus_unstable_sphere::npc_oculus_unstable_sphereAI::PickNewLocation(), npc_jungle_punch_target::npc_jungle_punch_targetAI::proceedCwEvent(), SmartScript::ProcessAction(), boss_kalec::boss_kalecAI::Reset(), npc_janalai_hatchling::npc_janalai_hatchlingAI::Reset(), npc_zulian_prowler::npc_zulian_prowlerAI::Reset(), boss_jedoga_shadowseeker::Reset(), npc_xt002_scrapbot::npc_xt002_scrapbotAI::Reset(), npc_xt002_boombot::npc_xt002_boombotAI::Reset(), npc_released_offspring_harkoa::npc_released_offspring_harkoaAI::Reset(), boss_lady_vashj::Reset(), SmartAI::ReturnToLastOOCPos(), npc_escortAI::ReturnToLastPoint(), boss_illidan_stormrage::ScheduleAbilities(), boss_nightbane::ScheduleLand(), boss_selin_fireheart::SelectNearestCrystal(), boss_sartharion::boss_sartharionAI::SendLavaWaves(), gunship_npc_AI::SetData(), npc_ulduar_mimiron_rocket::npc_ulduar_mimiron_rocketAI::SetData(), npc_tirion_fordring_tft::npc_tirion_fordringAI::sGossipSelect(), npc_akama_illidan::sGossipSelect(), npc_akama_shade::sGossipSelect(), npc_varian_wrynn::npc_varian_wrynnAI::SpawnWave(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::SpellHit(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::SpellHit(), npc_saurfang_event::npc_saurfang_eventAI::SpellHit(), npc_forest_frog::npc_forest_frogAI::SpellHit(), npc_troll_volunteer::npc_troll_volunteerAI::SpellHit(), npc_enslaved_netherwing_drake::SpellHit(), npc_injured_patient::npc_injured_patientAI::SpellHit(), npc_attracted_reef_bull::npc_attracted_reef_bullAI::SpellHit(), npc_wild_wyrm::npc_wild_wyrmAI::SpellHit(), npc_chesspiece::SpellHitTarget(), npc_pet_gen_fetch_ball::SpellHitTarget(), instance_violet_hold::instance_violet_hold_InstanceMapScript::StartBossEncounter(), npc_stillpine_capitive::npc_stillpine_capitiveAI::StartMoving(), boss_vazruden_the_herald::SummonedCreatureDies(), boss_jedoga_shadowseeker::SummonedCreatureDies(), npc_lord_illidan_stormrage::npc_lord_illidan_stormrageAI::SummonNextWave(), npc_escortAI::UpdateAI(), npc_rookery_hatcher::npc_rookery_hatcherAI::UpdateAI(), boss_majordomo::boss_majordomoAI::UpdateAI(), boss_mr_smite::boss_mr_smiteAI::UpdateAI(), npc_eye_of_acherus::UpdateAI(), npc_scarlet_ghoul::npc_scarlet_ghoulAI::UpdateAI(), npc_unworthy_initiate::npc_unworthy_initiateAI::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(), boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI::UpdateAI(), npc_madrigosa::npc_madrigosaAI::UpdateAI(), boss_felmyst::boss_felmystAI::UpdateAI(), boss_kalec::boss_kalecAI::UpdateAI(), npc_singularity::npc_singularityAI::UpdateAI(), npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI::UpdateAI(), npc_grand_magister_rommath::npc_grand_magister_rommathAI::UpdateAI(), npc_akilzon_eagle::npc_akilzon_eagleAI::UpdateAI(), npc_janalai_hatcher::npc_janalai_hatcherAI::UpdateAI(), npc_forest_frog::npc_forest_frogAI::UpdateAI(), npc_harrison_jones::npc_harrison_jonesAI::UpdateAI(), boss_arlokk::boss_arlokkAI::UpdateAI(), boss_mandokir::boss_mandokirAI::UpdateAI(), npc_winterfin_playmate::UpdateAI(), npc_snowfall_glade_playmate::UpdateAI(), npc_the_biggest_tree::UpdateAI(), npc_high_oracle_soo_roo::UpdateAI(), npc_elder_kekek::UpdateAI(), npc_the_etymidian::UpdateAI(), npc_alexstraza_the_lifebinder::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateAI(), boss_onyxia::UpdateAI(), npc_rizzle_sprysprocket::npc_rizzle_sprysprocketAI::UpdateAI(), npc_draenei_survivor::npc_draenei_survivorAI::UpdateAI(), npc_weegli_blastfuse::npc_weegli_blastfuseAI::UpdateAI(), boss_jedoga_shadowseeker::UpdateAI(), npc_twilight_volunteer::UpdateAI(), npc_taldaram_flamesphere::UpdateAI(), npc_xerestrasza::npc_xerestraszaAI::UpdateAI(), boss_saviana_ragefire::boss_saviana_ragefireAI::UpdateAI(), boss_grand_champion::boss_grand_championAI::UpdateAI(), npc_fos_corrupted_soul_fragment::npc_fos_corrupted_soul_fragmentAI::UpdateAI(), npc_hor_leader::npc_hor_leaderAI::UpdateAI(), npc_hor_leader_second::npc_hor_leader_secondAI::UpdateAI(), npc_pos_leader::npc_pos_leaderAI::UpdateAI(), npc_pos_after_first_boss::npc_pos_after_first_bossAI::UpdateAI(), npc_pos_tyrannus_events::npc_pos_tyrannus_eventsAI::UpdateAI(), npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI::UpdateAI(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::UpdateAI(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::UpdateAI(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::UpdateAI(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::UpdateAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::UpdateAI(), boss_sindragosa::boss_sindragosaAI::UpdateAI(), npc_tirion_fordring_tft::npc_tirion_fordringAI::UpdateAI(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::UpdateAI(), npc_icc_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI::UpdateAI(), boss_four_horsemen::boss_four_horsemenAI::UpdateAI(), boss_sapphiron::boss_sapphironAI::UpdateAI(), boss_malygos::boss_malygosAI::UpdateAI(), npc_power_spark::npc_power_sparkAI::UpdateAI(), npc_oculus_drakegiver::npc_oculus_drakegiverAI::UpdateAI(), npc_oculus_drake::npc_oculus_drakeAI::UpdateAI(), boss_volkhan::boss_volkhanAI::UpdateAI(), boss_algalon_the_observer::boss_algalon_the_observerAI::UpdateAI(), npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI::UpdateAI(), boss_stormcaller_brundir::boss_stormcaller_brundirAI::UpdateAI(), npc_ulduar_emergency_fire_bot::npc_ulduar_emergency_fire_botAI::UpdateAI(), npc_ulduar_expedition_engineer::npc_ulduar_expedition_engineerAI::UpdateAI(), boss_skadi_grauf::boss_skadi_graufAI::UpdateAI(), boss_ymiron::boss_ymironAI::UpdateAI(), npc_thassarian2::npc_thassarian2AI::UpdateAI(), npc_preparations_for_war_vehicle::UpdateAI(), npc_shandy_dalaran::npc_shandy_dalaranAI::UpdateAI(), npc_minigob_manabonk::UpdateAI(), npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI::UpdateAI(), npc_wintergarde_gryphon::UpdateAI(), npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI::UpdateAI(), npc_venture_co_straggler::npc_venture_co_stragglerAI::UpdateAI(), npc_battle_at_valhalas::npc_battle_at_valhalasAI::UpdateAI(), npc_lord_arete::npc_lord_areteAI::UpdateAI(), npc_frostbrood_skytalon::npc_frostbrood_skytalonAI::UpdateAI(), npc_crusade_recruit::npc_crusade_recruitAI::UpdateAI(), npc_millhouse_manastorm::npc_millhouse_manastormAI::UpdateAI(), npc_nether_drake::npc_nether_drakeAI::UpdateAI(), npc_fel_guard_hound::npc_fel_guard_houndAI::UpdateAI(), npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI(), npc_dragonmaw_peon::npc_dragonmaw_peonAI::UpdateAI(), npc_tooga::npc_toogaAI::UpdateFollowerAI(), npc_emily::npc_emilyAI::WaypointReached(), and npc_ancestral_wolf::npc_ancestral_wolfAI::WaypointReached().
void MotionMaster::MovePoint | ( | uint32 | id, |
float | x, | ||
float | y, | ||
float | z, | ||
bool | generatePath = true , |
||
bool | forceDestination = true , |
||
MovementSlot | slot = MOTION_SLOT_ACTIVE , |
||
float | orientation = 0.0f |
||
) |
The unit will move to a specific point. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
For transition movement between the ground and the air, use MoveLand or MoveTakeoff instead.
References _owner, Object::GetGUID(), Unit::HasUnitFlag(), Object::IsPlayer(), LOG_DEBUG, Mutate(), ObjectGuid::ToString(), and UNIT_FLAG_DISABLE_MOVE.
void MotionMaster::MoveRandom | ( | float | wanderDistance = 0.0f | ) |
Enable a random movement in desired range around the unit. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, Object::GetGUID(), Unit::HasUnitFlag(), Object::IsCreature(), LOG_DEBUG, MOTION_SLOT_IDLE, Mutate(), ObjectGuid::ToString(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by SACActivateEvent::Execute(), spell_item_enchanted_broom_periodic::HandlePeriodicTick(), boss_ghazan::JustReachedHome(), boss_kelthuzad::boss_kelthuzadAI::JustSummoned(), boss_sartharion::boss_sartharionAI::JustSummoned(), boss_the_lich_king::boss_the_lich_kingAI::JustSummoned(), boss_lady_vashj::JustSummoned(), boss_kaelthas::JustSummoned(), boss_mechano_lord_capacitus::JustSummoned(), boss_ebonroc::boss_ebonrocAI::MovementInform(), npc_collapsing_star::npc_collapsing_starAI::npc_collapsing_starAI(), npc_frost_sphere::npc_frost_sphereAI::npc_frost_sphereAI(), npc_ulduar_saronite_vapors::npc_ulduar_saronite_vaporsAI::npc_ulduar_saronite_vaporsAI(), instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript::OnCreatureCreate(), npc_brew_bubble::Reset(), npc_infernal_attacker::npc_infernal_attackerAI::Reset(), npc_captured_rageclaw::npc_captured_rageclawAI::SpellHit(), npc_cameron::UpdateAI(), boss_sapphiron::boss_sapphironAI::UpdateAI(), boss_yoggsaron_death_orb::boss_yoggsaron_death_orbAI::UpdateAI(), and npc_minigob_manabonk::UpdateAI().
void MotionMaster::MoveRotate | ( | uint32 | time, |
RotateDirection | direction | ||
) |
Rotate the unit. You can specify the time of the rotation.
References MOTION_SLOT_ACTIVE, and Mutate().
void MotionMaster::MoveSeekAssistance | ( | float | x, |
float | y, | ||
float | z | ||
) |
References _owner, Unit::AttackStop(), Unit::CastStop(), Object::GetGUID(), Unit::HasUnitFlag(), Object::IsPlayer(), LOG_DEBUG, LOG_ERROR, MOTION_SLOT_ACTIVE, Mutate(), REACT_PASSIVE, Creature::SetReactState(), Object::ToCreature(), ObjectGuid::ToString(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by Creature::DoFleeToGetAssistance().
void MotionMaster::MoveSeekAssistanceDistract | ( | uint32 | timer | ) |
References _owner, Object::GetGUID(), Unit::HasUnitFlag(), Object::IsPlayer(), LOG_DEBUG, LOG_ERROR, MOTION_SLOT_ACTIVE, Mutate(), ObjectGuid::ToString(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by AssistanceMovementGenerator::Finalize().
void MotionMaster::MoveSplinePath | ( | Movement::PointsArray * | path | ) |
References _owner, Unit::HasUnitFlag(), Object::IsPlayer(), MOTION_SLOT_ACTIVE, Mutate(), and UNIT_FLAG_DISABLE_MOVE.
Referenced by boss_captain_skarloc::InitializeAI(), npc_preparations_for_war_vehicle::InitializeAI(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::IsSummonedBy(), npc_medivh_bm::JustSummoned(), MoveSplinePath(), npc_hor_leader_second::npc_hor_leader_secondAI::MoveToNextStopPoint(), npc_batrider::npc_batrider(), npc_vehicle_d16_propelled_delivery::npc_vehicle_d16_propelled_deliveryAI::PassengerBoarded(), npc_vics_flying_machine::npc_vics_flying_machineAI::PassengerBoarded(), SmartAI::ResumePath(), SmartAI::StartPath(), npc_escortAI::UpdateAI(), npc_hor_lich_king::npc_hor_lich_kingAI::UpdateAI(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::UpdateAI(), boss_razorscale::boss_razorscaleAI::UpdateAI(), npc_q24545_lich_king::npc_q24545_lich_kingAI::UpdateAI(), npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI::UpdateAI(), npc_wild_wyrm::npc_wild_wyrmAI::UpdateAI(), npc_freed_protodrake::npc_freed_protodrakeAI::UpdateAI(), and npc_batrider::UpdateAI().
void MotionMaster::MoveSplinePath | ( | uint32 | path_id | ) |
References MoveSplinePath(), sWaypointMgr, WaypointData::x, WaypointData::y, and WaypointData::z.
void MotionMaster::MoveTakeoff | ( | uint32 | id, |
float | x, | ||
float | y, | ||
float | z, | ||
float | speed = 0.0f |
||
) |
Use to move the unit from the air to the ground. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References MoveTakeoff().
Use to move the unit from the ground to the air. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
References _owner, Object::GetEntry(), Position::GetPosition(), Unit::HasUnitFlag(), Movement::MoveSplineInit::Launch(), LOG_DEBUG, MOTION_SLOT_ACTIVE, Movement::MoveSplineInit::MoveTo(), Mutate(), Movement::MoveSplineInit::SetAnimation(), Movement::MoveSplineInit::SetVelocity(), Movement::ToFly, and UNIT_FLAG_DISABLE_MOVE.
Referenced by MoveTakeoff(), boss_onyxia::UpdateAI(), boss_jedoga_shadowseeker::UpdateAI(), boss_krick::boss_krickAI::UpdateAI(), npc_pos_tyrannus_events::npc_pos_tyrannus_eventsAI::UpdateAI(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::UpdateAI(), boss_sindragosa::boss_sindragosaAI::UpdateAI(), npc_rimefang::npc_rimefangAI::UpdateAI(), boss_malygos::boss_malygosAI::UpdateAI(), boss_razorscale::boss_razorscaleAI::UpdateAI(), and boss_skadi_grauf::boss_skadi_graufAI::UpdateAI().
void MotionMaster::MoveTargetedHome | ( | bool | walk = false | ) |
The unit will return this initial position (owner for pets and summoned creatures). Doesn't work with UNIT_FLAG_DISABLE_MOVE.
walk | The unit will run by default, but you can set it to walk |
References _owner, Clear(), Unit::ClearUnitState(), Unit::GetCharmerOrOwner(), Unit::GetCharmerOrOwnerGUID(), Unit::GetFollowAngle(), Object::GetGUID(), Unit::HasUnitFlag(), Object::IsCreature(), Object::IsPlayer(), LOG_DEBUG, LOG_ERROR, MOTION_SLOT_ACTIVE, Mutate(), PET_FOLLOW_DIST, Object::ToCreature(), ObjectGuid::ToString(), UNIT_FLAG_DISABLE_MOVE, and UNIT_STATE_EVADE.
Referenced by npc_spark_of_ionar::npc_spark_of_ionarAI::DoAction(), npc_black_morass_summoned_add::EnterEvadeMode(), npc_argent_captainAI::EnterEvadeMode(), CreatureAI::EnterEvadeMode(), SmartAI::EnterEvadeMode(), GuardAI::EnterEvadeMode(), boss_doomrel::boss_doomrelAI::EnterEvadeMode(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::EnterEvadeMode(), npc_varian_wrynn::npc_varian_wrynnAI::EnterEvadeMode(), npc_thrall_bfu::npc_thrall_bfuAI::EnterEvadeMode(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::EnterEvadeMode(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::EnterEvadeMode(), gunship_npc_AI::EnterEvadeMode(), npc_gunship_boarding_addAI::EnterEvadeMode(), violet_hold_trashAI::EnterEvadeMode(), npc_pet_hunter_snake_trap::EnterEvadeMode(), npc_escortAI::EnterEvadeMode(), FollowerAI::EnterEvadeMode(), NpcRunToHome::Execute(), npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI::FinishQuest(), wp_commandscript::HandleWpUnLoadCommand(), boss_aeonus::IsSummonedBy(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::MovementInform(), boss_arlokk::boss_arlokkAI::Reset(), npc_ulduar_expedition_engineer::npc_ulduar_expedition_engineerAI::SetData(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateAI(), npc_ulduar_expedition_engineer::npc_ulduar_expedition_engineerAI::UpdateAI(), npc_shandy_dalaran::npc_shandy_dalaranAI::UpdateAI(), and npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI().
References _owner, Object::GetGUID(), WorldObject::GetName(), Object::IsPlayer(), FlightPathMovementGenerator::LoadPath(), LOG_DEBUG, LOG_ERROR, MOTION_SLOT_CONTROLLED, Mutate(), sTaxiPathNodesByPath, Object::ToPlayer(), and ObjectGuid::ToString().
Referenced by WorldSession::SendDoFlight().
|
private |
References _cleanFlag, _needInit, _owner, _top, DelayedDelete(), DirectDelete(), empty(), Impl, MovementGenerator::Initialize(), MMCF_UPDATE, and top().
Referenced by InitDefault(), MoveCharge(), MoveChase(), MoveConfused(), MoveDistract(), MoveFall(), MoveFleeing(), MoveFollow(), MoveIdle(), MoveJump(), MoveKnockbackFrom(), MoveLand(), MovePath(), MovePoint(), MoveRandom(), MoveRotate(), MoveSeekAssistance(), MoveSeekAssistanceDistract(), MoveSplinePath(), MoveTakeoff(), MoveTargetedHome(), and MoveTaxiFlight().
|
inlineprivate |
References _needInit, _top, and empty().
Referenced by DirectClean(), DirectExpire(), DirectExpireSlot(), and UpdateMotion().
|
inlineprivate |
References _top, empty(), Impl, and top().
Referenced by DelayedClean(), DelayedExpire(), DirectClean(), DirectExpire(), Initialize(), and ~MotionMaster().
void MotionMaster::propagateSpeedChange | ( | ) |
References _top, Impl, and MovementGenerator::unitSpeedChanged().
Referenced by Unit::propagateSpeedChange(), and npc_hor_lich_king::npc_hor_lich_kingAI::UpdateAI().
void MotionMaster::ReinitializeMovement | ( | ) |
References _owner, _top, Impl, and MovementGenerator::Reset().
Referenced by WorldSession::HandleMoveTeleportAck(), and Unit::NearTeleportTo().
|
inline |
References _top.
Referenced by DelayedClean(), DelayedExpire(), DirectClean(), DirectExpire(), and DirectExpireSlot().
|
inline |
References _top, ASSERT, empty(), and Impl.
Referenced by DelayedClean(), DelayedExpire(), DirectClean(), DirectExpire(), DirectExpireSlot(), GetCurrentMovementGeneratorType(), GetCurrentSplineId(), WorldSession::HandleMoveWorldportAck(), npc_commandscript::HandleNpcUnFollowCommand(), Initialize(), InitTop(), MoveIdle(), Mutate(), pop(), UpdateMotion(), and ~MotionMaster().
void MotionMaster::UpdateMotion | ( | uint32 | diff | ) |
References _cleanFlag, _expList, _owner, ASSERT, DirectDelete(), empty(), Initialize(), InitTop(), MMCF_INUSE, MMCF_RESET, MMCF_UPDATE, MovementExpired(), needInitTop(), MovementGenerator::Reset(), and top().
Referenced by Unit::Update().
|
private |
Referenced by Clear(), GetCleanFlags(), MovementExpired(), MovementExpiredOnSlot(), Mutate(), and UpdateMotion().
|
private |
Referenced by DelayedDelete(), and UpdateMotion().
|
private |
Referenced by InitTop(), MotionMaster(), Mutate(), and needInitTop().
|
private |
Referenced by DelayedDelete(), DirectClean(), DirectDelete(), DirectExpire(), DirectExpireSlot(), GetDestination(), InitDefault(), InitTop(), MoveBackwards(), MoveCharge(), MoveChase(), MoveCircleTarget(), MoveConfused(), MoveDistract(), MoveFall(), MoveFleeing(), MoveFollow(), MoveForwards(), MoveJump(), MoveJumpTo(), MoveKnockbackFrom(), MoveLand(), MovePath(), MovePoint(), MoveRandom(), MoveSeekAssistance(), MoveSeekAssistanceDistract(), MoveSplinePath(), MoveTakeoff(), MoveTargetedHome(), MoveTaxiFlight(), Mutate(), ReinitializeMovement(), and UpdateMotion().
|
private |
Referenced by DelayedExpire(), DirectExpire(), DirectExpireSlot(), empty(), InitTop(), Mutate(), needInitTop(), pop(), propagateSpeedChange(), ReinitializeMovement(), size(), and top().
|
private |
Referenced by DirectExpireSlot(), GetMotionSlot(), GetMotionSlotType(), MotionMaster(), MoveCharge(), MoveDistract(), Mutate(), pop(), propagateSpeedChange(), ReinitializeMovement(), and top().