AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "ScriptedEscortAI.h"
Public Member Functions | |
npc_escortAI (Creature *creature) | |
~npc_escortAI () override | |
void | AttackStart (Unit *who) override |
void | MoveInLineOfSight (Unit *who) override |
void | JustDied (Unit *) override |
void | JustRespawned () override |
void | ReturnToLastPoint () |
void | EnterEvadeMode (EvadeReason=EVADE_REASON_OTHER) override |
void | UpdateAI (uint32 diff) override |
virtual void | UpdateEscortAI (uint32 diff) |
void | MovementInform (uint32, uint32) override |
void | AddWaypoint (uint32 id, float x, float y, float z, uint32 waitTime=0) |
bool | SetNextWaypoint (uint32 pointId, float x, float y, float z, float orientation) |
bool | SetNextWaypoint (uint32 pointId, bool setPosition=true) |
bool | GetWaypointPosition (uint32 pointId, float &x, float &y, float &z) |
void | GenerateWaypointArray (Movement::PointsArray *points) |
virtual void | WaypointReached (uint32 pointId)=0 |
virtual void | WaypointStart (uint32) |
void | Start (bool isActiveAttacker=true, bool run=false, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false, bool resetWaypoints=true) |
void | SetRun (bool on=true) |
void | SetEscortPaused (bool on) |
bool | HasEscortState (uint32 escortState) |
bool | IsEscorted () override |
void | SetMaxPlayerDistance (float newMax) |
float | GetMaxPlayerDistance () |
void | SetDespawnAtEnd (bool despawn) |
void | SetDespawnAtFar (bool despawn) |
bool | GetAttack () |
void | SetCanAttack (bool attack) |
ObjectGuid | GetEventStarterGUID () |
void | AddEscortState (uint32 escortState) |
void | RemoveEscortState (uint32 escortState) |
Public Member Functions inherited from ScriptedAI | |
ScriptedAI (Creature *creature) | |
~ScriptedAI () override | |
void | AttackStartNoMove (Unit *target) |
void | DamageTaken (Unit *, uint32 &, DamageEffectType, SpellSchoolMask) override |
void | UpdateAI (uint32 diff) override |
void | JustDied (Unit *) override |
void | KilledUnit (Unit *) override |
void | JustSummoned (Creature *) override |
void | SummonedCreatureDespawn (Creature *) override |
void | SpellHit (Unit *, SpellInfo const *) override |
void | SpellHitTarget (Unit *, SpellInfo const *) override |
void | MovementInform (uint32, uint32) override |
void | OnPossess (bool) |
bool | IsInRoom (const Position *pos, Axis axis, bool above) |
void | Reset () override |
void | JustEngagedWith (Unit *) override |
Called for reaction when initially engaged. | |
void | AttackStart (Unit *) override |
void | DoStartMovement (Unit *target, float distance=0.0f, float angle=0.0f) |
void | DoStartNoMovement (Unit *target) |
void | DoStopAttack () |
void | DoCastSpell (Unit *target, SpellInfo const *spellInfo, bool triggered=false) |
void | DoPlaySoundToSet (WorldObject *source, uint32 soundId) |
void | DoPlayMusic (uint32 soundId, bool zone) |
void | DoAddThreat (Unit *unit, float amount) |
void | DoModifyThreatByPercent (Unit *unit, int32 pct) |
void | DoResetThreat (Unit *unit) |
void | DoResetThreatList () |
float | DoGetThreat (Unit *unit) |
void | DoTeleportPlayer (Unit *unit, float x, float y, float z, float o) |
void | DoTeleportAll (float x, float y, float z, float o) |
Unit * | DoSelectLowestHpFriendly (float range, uint32 minHPDiff=1) |
std::list< Creature * > | DoFindFriendlyCC (float range) |
std::list< Creature * > | DoFindFriendlyMissingBuff (float range, uint32 spellId) |
Player * | GetPlayerAtMinimumRange (float minRange) |
Creature * | DoSpawnCreature (uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, uint32 despawntime) |
bool | HealthBelowPct (uint32 pct) const |
bool | HealthAbovePct (uint32 pct) const |
SpellInfo const * | SelectSpell (Unit *target, uint32 school, uint32 mechanic, SelectTargetType targets, uint32 powerCostMin, uint32 powerCostMax, float rangeMin, float rangeMax, SelectEffect effect) |
void | SetEquipmentSlots (bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE) |
void | SetCombatMovement (bool allowMovement) |
bool | IsCombatMovementAllowed () const |
virtual bool | CheckEvadeIfOutOfCombatArea () const |
bool | IsHeroic () const |
Difficulty | GetDifficulty () const |
bool | Is25ManRaid () const |
template<class T > | |
const T & | DUNGEON_MODE (const T &normal5, const T &heroic10) const |
template<class T > | |
const T & | RAID_MODE (const T &normal10, const T &normal25) const |
template<class T > | |
const T & | RAID_MODE (const T &normal10, const T &normal25, const T &heroic10, const T &heroic25) const |
Player * | SelectTargetFromPlayerList (float maxdist, uint32 excludeAura=0, bool mustBeInLOS=false) const |
Public Member Functions inherited from CreatureAI | |
void | Talk (uint8 id, WorldObject const *whisperTarget=nullptr, Milliseconds delay=0s) |
Causes the creature to talk/say the text assigned to their entry in the creature_text database table. | |
void | Talk (uint8 id, Milliseconds delay) |
CreatureAI (Creature *creature) | |
~CreatureAI () override | |
void | MoveCircleChecks () |
void | MoveBackwardsChecks () |
void | MoveInLineOfSight_Safe (Unit *who) |
== Reactions At ================================= | |
void | TriggerAlert (Unit const *who) const |
virtual bool | CanRespawn () |
virtual void | EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER) |
virtual void | JustEngagedWith (Unit *) |
Called for reaction when initially engaged. | |
virtual void | JustDied (Unit *) |
virtual void | KilledUnit (Unit *) |
virtual void | JustSummoned (Creature *) |
virtual void | IsSummonedBy (WorldObject *) |
virtual void | SummonedCreatureDespawn (Creature *) |
virtual void | SummonedCreatureDies (Creature *, Unit *) |
virtual void | SummonedCreatureDespawnAll () |
virtual void | SpellHit (Unit *, SpellInfo const *) |
virtual void | SpellHitTarget (Unit *, SpellInfo const *) |
virtual void | AttackedBy (Unit *) |
virtual bool | IsEscorted () |
virtual void | JustRespawned () |
virtual void | MovementInform (uint32, uint32) |
virtual void | PathEndReached (uint32) |
void | OnCharmed (bool apply) override |
virtual void | JustReachedHome () |
void | DoZoneInCombat (Creature *creature=nullptr, float maxRangeToNearestTarget=250.0f) |
virtual void | ReceiveEmote (Player *, uint32) |
virtual void | OwnerAttackedBy (Unit *) |
virtual void | OwnerAttacked (Unit *) |
virtual void | CorpseRemoved (uint32 &) |
== Triggered Actions Requested ================== | |
virtual void | PassengerBoarded (Unit *, int8, bool) |
== Fields ======================================= | |
virtual bool | BeforeSpellClick (Unit *) |
virtual void | OnSpellClick (Unit *, bool &) |
virtual bool | CanSeeAlways (WorldObject const *) |
virtual bool | CanBeSeen (Player const *) |
virtual bool | CanAlwaysBeDetectable (WorldObject const *) |
virtual void | PetStopAttack () |
virtual bool | CheckInRoom () |
CreatureBoundary const * | GetBoundary () const |
void | SetBoundary (CreatureBoundary const *boundary, bool negativeBoundaries=false) |
bool | IsInBoundary (Position const *who=nullptr) const |
virtual void | CalculateThreat (Unit *, float &, SpellInfo const *) |
virtual bool | OnTeleportUnreacheablePlayer (Player *) |
Public Member Functions inherited from UnitAI | |
UnitAI (Unit *unit) | |
virtual | ~UnitAI () |
virtual bool | CanAIAttack (Unit const *) const |
virtual void | AttackStart (Unit *) |
virtual void | UpdateAI (uint32)=0 |
virtual void | InitializeAI () |
virtual void | Reset () |
virtual void | OnCharmed (bool apply)=0 |
virtual void | DoAction (int32) |
virtual uint32 | GetData (uint32) const |
virtual void | SetData (uint32, uint32) |
virtual void | SetGUID (ObjectGuid, int32=0) |
virtual ObjectGuid | GetGUID (int32=0) const |
Unit * | SelectTarget (SelectTargetMethod targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0) |
template<class PREDICATE > | |
Unit * | SelectTarget (SelectTargetMethod targetType, uint32 position, PREDICATE const &predicate) |
void | SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0) |
template<class PREDICATE > | |
void | SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 position, PREDICATE const &predicate) |
virtual void | JustEnteredCombat (Unit *) |
Called when the unit enters combat (NOTE: Creature engage logic should NOT be here, but in JustEngagedWith, which happens once threat is established!) | |
virtual void | JustExitedCombat () |
Called when the unit leaves combat. | |
virtual void | DamageDealt (Unit *, uint32 &, DamageEffectType) |
virtual void | DamageTaken (Unit *, uint32 &, DamageEffectType, SpellSchoolMask) |
virtual void | HealReceived (Unit *, uint32 &) |
virtual void | HealDone (Unit *, uint32 &) |
void | AttackStartCaster (Unit *victim, float dist) |
SpellCastResult | DoAddAuraToAllHostilePlayers (uint32 spellid) |
SpellCastResult | DoCast (uint32 spellId) |
SpellCastResult | DoCast (Unit *victim, uint32 spellId, bool triggered=false) |
SpellCastResult | DoCastSelf (uint32 spellId, bool triggered=false) |
SpellCastResult | DoCastToAllHostilePlayers (uint32 spellid, bool triggered=false) |
SpellCastResult | DoCastVictim (uint32 spellId, bool triggered=false) |
SpellCastResult | DoCastAOE (uint32 spellId, bool triggered=false) |
SpellCastResult | DoCastRandomTarget (uint32 spellId, uint32 threatTablePosition=0, float dist=0.0f, bool playerOnly=true, bool triggered=false) |
SpellCastResult | DoCastMaxThreat (uint32 spellId, uint32 threatTablePosition=0, float dist=0.0f, bool playerOnly=true, bool triggered=false) |
Cast spell on the max threat target, which may not always be the current victim. | |
float | DoGetSpellMaxRange (uint32 spellId, bool positive=false) |
void | DoMeleeAttackIfReady () |
bool | DoSpellAttackIfReady (uint32 spell) |
void | DoSpellAttackToRandomTargetIfReady (uint32 spell, uint32 threatTablePosition=0, float dist=0.f, bool playerOnly=true) |
virtual void | SummonMovementInform (Creature *, uint32, uint32) |
virtual void | sGossipHello (Player *) |
virtual void | sGossipSelect (Player *, uint32, uint32) |
virtual void | sGossipSelectCode (Player *, uint32, uint32, char const *) |
virtual void | sQuestAccept (Player *, Quest const *) |
virtual void | sQuestSelect (Player *, Quest const *) |
virtual void | sQuestComplete (Player *, Quest const *) |
virtual void | sQuestReward (Player *, Quest const *, uint32) |
virtual void | sOnGameEvent (bool, uint16) |
virtual std::string | GetDebugInfo () const |
Protected Member Functions | |
Player * | GetPlayerForEscort () |
Protected Member Functions inherited from CreatureAI | |
bool | UpdateVictim () |
bool | UpdateVictimWithGaze () |
void | SetGazeOn (Unit *target) |
Creature * | DoSummon (uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN) |
Creature * | DoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN) |
Creature * | DoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN) |
virtual void | MoveInLineOfSight (Unit *) |
bool | _EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER) |
Private Member Functions | |
bool | AssistPlayerInCombatAgainst (Unit *who) |
bool | IsPlayerOrGroupInRange () |
void | FillPointMovementListForCreature () |
Private Attributes | |
ObjectGuid | m_uiPlayerGUID |
uint32 | m_uiWPWaitTimer |
uint32 | m_uiPlayerCheckTimer |
uint32 | m_uiEscortState |
float | MaxPlayerDistance |
Quest const * | m_pQuestForEscort |
std::list< Escort_Waypoint > | WaypointList |
std::list< Escort_Waypoint >::iterator | CurrentWP |
bool | m_bIsActiveAttacker |
bool | m_bIsRunning |
bool | m_bCanInstantRespawn |
bool | m_bCanReturnToStart |
bool | DespawnAtEnd |
bool | DespawnAtFar |
bool | ScriptWP |
bool | HasImmuneToNPCFlags |
Additional Inherited Members | |
Public Types inherited from ScriptedAI | |
enum class | Axis { AXIS_X , AXIS_Y } |
Public Types inherited from CreatureAI | |
enum | EvadeReason { EVADE_REASON_NO_HOSTILES , EVADE_REASON_BOUNDARY , EVADE_REASON_SEQUENCE_BREAK , EVADE_REASON_NO_PATH , EVADE_REASON_OTHER } |
Static Public Member Functions inherited from CreatureAI | |
static bool | IsInBounds (CreatureBoundary const &boundary, Position const *who) |
Static Public Member Functions inherited from UnitAI | |
static void | FillAISpellInfo () |
Public Attributes inherited from ScriptedAI | |
Creature * | me |
bool | IsFleeing |
Static Public Attributes inherited from UnitAI | |
static AISpellInfoType * | AISpellInfo |
Protected Attributes inherited from CreatureAI | |
Creature *const | me |
EventMap | events |
CreatureBoundary const * | _boundary |
bool | _negateBoundary |
Protected Attributes inherited from UnitAI | |
Unit *const | me |
|
explicit |
|
inlineoverride |
|
inline |
References m_uiEscortState.
Referenced by npc_koltira_deathweaver::npc_koltira_deathweaverAI::EnterEvadeMode(), npc_varian_wrynn::npc_varian_wrynnAI::EnterEvadeMode(), npc_thrall_bfu::npc_thrall_bfuAI::EnterEvadeMode(), violet_hold_trashAI::EnterEvadeMode(), EnterEvadeMode(), SetEscortPaused(), and Start().
References ScriptWP, and WaypointList.
Referenced by npc_onyx_flamecaller::npc_onyx_flamecallerAI::AddWaypoints(), boss_bjarngrim::boss_bjarngrimAI::boss_bjarngrimAI(), npc_scarlet_miner::npc_scarlet_minerAI::InitWaypoint(), boss_thorim_lightning_orb::boss_thorim_lightning_orbAI::InitWaypoint(), boss_thorim_sif_blizzard::boss_thorim_sif_blizzardAI::InitWaypoint(), boss_yoggsaron_cloud::boss_yoggsaron_cloudAI::InitWaypoint(), hyjalAI::Retreat(), boss_grand_champion::boss_grand_championAI::SetData(), npc_argent_soldier::npc_argent_soldierAI::SetData(), npc_clintar_spirit::npc_clintar_spiritAI::StartEvent(), boss_anetheron::boss_anetheronAI::UpdateAI(), boss_azgalor::boss_azgalorAI::UpdateAI(), boss_kazrogal::boss_kazrogalAI::UpdateAI(), boss_rage_winterchill::boss_rage_winterchillAI::UpdateAI(), npc_giant_infernal::npc_giant_infernalAI::UpdateAI(), npc_abomination::npc_abominationAI::UpdateAI(), npc_ghoul::npc_ghoulAI::UpdateAI(), npc_necromancer::npc_necromancerAI::UpdateAI(), npc_banshee::npc_bansheeAI::UpdateAI(), npc_crypt_fiend::npc_crypt_fiendAI::UpdateAI(), npc_fel_stalker::npc_fel_stalkerAI::UpdateAI(), npc_frost_wyrm::npc_frost_wyrmAI::UpdateAI(), npc_gargoyle::npc_gargoyleAI::UpdateAI(), hyjal_trashAI::UpdateAI(), violet_hold_trashAI::UpdateAI(), and npc_azure_saboteur::npc_azure_saboteurAI::UpdateAI().
|
private |
References AttackStart(), UnitAI::CanAIAttack(), CREATURE_TYPE_FLAG_CAN_ASSIST, Unit::GetCharmerOrOwnerPlayerOrPlayerItself(), Creature::GetCreatureTemplate(), GetMaxPlayerDistance(), Object::GetTypeId(), Unit::GetVictim(), Creature::HasReactState(), Unit::isInAccessiblePlaceFor(), Creature::IsInEvadeMode(), Unit::IsValidAttackTarget(), WorldObject::IsWithinDistInMap(), WorldObject::IsWithinLOSInMap(), ScriptedAI::me, REACT_PASSIVE, Object::ToCreature(), CreatureTemplate::type_flags, and TYPEID_UNIT.
Referenced by MoveInLineOfSight().
|
overridevirtual |
Reimplemented from ScriptedAI.
Reimplemented in npc_taretha::npc_tarethaAI, npc_mimirons_inferno::npc_mimirons_infernoAI, boss_thorim_lightning_orb::boss_thorim_lightning_orbAI, boss_thorim_sif_blizzard::boss_thorim_sif_blizzardAI, boss_yoggsaron_cloud::boss_yoggsaron_cloudAI, npc_frosthound::npc_frosthoundAI, npc_icefang::npc_icefangAI, npc_koltira_deathweaver::npc_koltira_deathweaverAI, npc_daphne_stilwell::npc_daphne_stilwellAI, violet_hold_trashAI, and boss_ambassador_hellmaw::boss_ambassador_hellmawAI.
References Unit::Attack(), ESCORT_MOTION_TYPE, Unit::GetMotionMaster(), MotionMaster::GetMotionSlotType(), ScriptedAI::IsCombatMovementAllowed(), ScriptedAI::me, MOTION_SLOT_ACTIVE, MotionMaster::MoveChase(), MotionMaster::MovementExpired(), POINT_MOTION_TYPE, and Unit::StopMoving().
Referenced by AssistPlayerInCombatAgainst(), npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI::AttackedBy(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::AttackStart(), boss_ambassador_hellmaw::boss_ambassador_hellmawAI::AttackStart(), npc_clintar_spirit::npc_clintar_spiritAI::EnterEvadeMode(), npc_akama_illidan::npc_akama_illidanAI::JustSummoned(), MoveInLineOfSight(), npc_lesser_doomguard::npc_lesser_doomguardAI::MoveInLineOfSight(), npc_general_andorov::MoveInLineOfSight(), npc_captain_saeed::npc_captain_saeedAI::MoveInLineOfSight(), boss_grand_champion::boss_grand_championAI::MovementInform(), npc_arthas::npc_arthasAI::UpdateAI(), npc_clintar_spirit::npc_clintar_spiritAI::UpdateAI(), boss_grand_champion::boss_grand_championAI::UpdateAI(), npc_captain_saeed::npc_captain_saeedAI::UpdateAI(), npc_akama_illidan::npc_akama_illidanAI::UpdateEscortAI(), npc_ranger_lilatha::WaypointReached(), and npc_cork_gizelton::npc_cork_gizeltonAI::WaypointReached().
|
overridevirtual |
Reimplemented from CreatureAI.
Reimplemented in npc_cork_gizelton::npc_cork_gizeltonAI, npc_clintar_spirit::npc_clintar_spiritAI, npc_captain_saeed::npc_captain_saeedAI, npc_koltira_deathweaver::npc_koltira_deathweaverAI, npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, npc_varian_wrynn::npc_varian_wrynnAI, npc_thrall_bfu::npc_thrall_bfuAI, npc_onyx_flamecaller::npc_onyx_flamecallerAI, boss_grand_champion::boss_grand_championAI, boss_thorim_lightning_orb::boss_thorim_lightning_orbAI, violet_hold_trashAI, npc_frosthound::npc_frosthoundAI, npc_icefang::npc_icefangAI, and hyjalAI.
References AddEscortState(), ThreatMgr::ClearAllThreat(), Unit::CombatStop(), Unit::GetMotionMaster(), Unit::GetThreatMgr(), HasEscortState(), HasImmuneToNPCFlags, LOG_DEBUG, ScriptedAI::me, MotionMaster::MoveTargetedHome(), Unit::RemoveAllAuras(), ScriptedAI::Reset(), ReturnToLastPoint(), Unit::SetImmuneToNPC(), Creature::SetLootRecipient(), STATE_ESCORT_ESCORTING, and STATE_ESCORT_RETURNING.
Referenced by npc_arthas::npc_arthasAI::DoAction(), npc_cork_gizelton::npc_cork_gizeltonAI::EnterEvadeMode(), npc_clintar_spirit::npc_clintar_spiritAI::EnterEvadeMode(), npc_captain_saeed::npc_captain_saeedAI::EnterEvadeMode(), npc_barnes::npc_barnesAI::UpdateAI(), and boss_ambassador_hellmaw::boss_ambassador_hellmawAI::UpdateAI().
|
private |
References Object::GetEntry(), ScriptedAI::me, sScriptSystemMgr, and WaypointList.
Referenced by SetNextWaypoint(), and Start().
void npc_escortAI::GenerateWaypointArray | ( | Movement::PointsArray * | points | ) |
References CurrentWP, Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), MovementInfo::HasMovementFlag(), WorldObject::m_movementInfo, ScriptedAI::me, MOVEMENTFLAG_CAN_FLY, MOVEMENTFLAG_DISABLE_GRAVITY, and WaypointList.
Referenced by UpdateAI().
|
inline |
|
inline |
References m_uiPlayerGUID.
|
inline |
References MaxPlayerDistance.
Referenced by AssistPlayerInCombatAgainst(), and IsPlayerOrGroupInRange().
|
inlineprotected |
References ObjectAccessor::GetPlayer(), m_uiPlayerGUID, and ScriptedAI::me.
Referenced by npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI::DamageTaken(), IsPlayerOrGroupInRange(), npc_ranshalla::npc_ranshallaAI::JustDidDialogueStep(), JustDied(), npc_muglash::npc_muglashAI::JustDied(), npc_ame::npc_ameAI::JustDied(), npc_mootoo_the_younger::npc_mootoo_the_youngerAI::JustDied(), npc_bonker_togglevolt::npc_bonker_togglevoltAI::JustDied(), npc_apothecary_hanes::npc_Apothecary_HanesAI::JustDied(), npc_engineer_helice::npc_engineer_heliceAI::JustDied(), npc_maghar_captive::npc_maghar_captiveAI::JustDied(), npc_kurenai_captive::npc_kurenai_captiveAI::JustDied(), npc_captain_saeed::npc_captain_saeedAI::JustDied(), npc_bessy::npc_bessyAI::JustDied(), npc_maxx_a_million_escort::npc_maxx_a_million_escortAI::JustDied(), npc_isla_starmane::npc_isla_starmaneAI::JustDied(), npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI::JustEngagedWith(), npc_muglash::npc_muglashAI::JustEngagedWith(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::JustSummoned(), npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI::JustSummoned(), npc_captain_saeed::npc_captain_saeedAI::MoveInLineOfSight(), npc_daphne_stilwell::npc_daphne_stilwellAI::SummonedCreatureDies(), npc_varian_wrynn::npc_varian_wrynnAI::UpdateAI(), npc_lurgglbr::npc_lurgglbrAI::UpdateAI(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::UpdateAI(), npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI::UpdateAI(), npc_tyrion_spybot::npc_tyrion_spybotAI::UpdateAI(), npc_rinji::npc_rinjiAI::UpdateEscortAI(), npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI::UpdateEscortAI(), npc_captain_saeed::npc_captain_saeedAI::WaypointReached(), npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI::WaypointReached(), npc_ranger_lilatha::WaypointReached(), npc_rinji::npc_rinjiAI::WaypointReached(), npc_corporal_keeshan::npc_corporal_keeshanAI::WaypointReached(), npc_deathstalker_erland::npc_deathstalker_erlandAI::WaypointReached(), npc_varian_wrynn::npc_varian_wrynnAI::WaypointReached(), npc_daphne_stilwell::npc_daphne_stilwellAI::WaypointReached(), npc_muglash::npc_muglashAI::WaypointReached(), npc_magwin::npc_magwinAI::WaypointReached(), npc_prospector_remtravel::npc_prospector_remtravelAI::WaypointReached(), npc_kaya_flathoof::npc_kaya_flathoofAI::WaypointReached(), npc_custodian_of_time::npc_custodian_of_timeAI::WaypointReached(), npc_gilthares::npc_giltharesAI::WaypointReached(), npc_lakota_windsong::npc_lakota_windsongAI::WaypointReached(), npc_paoka_swiftmountain::npc_paoka_swiftmountainAI::WaypointReached(), npc_ame::npc_ameAI::WaypointReached(), npc_mootoo_the_younger::npc_mootoo_the_youngerAI::WaypointReached(), npc_bonker_togglevolt::npc_bonker_togglevoltAI::WaypointReached(), npc_emily::npc_emilyAI::WaypointReached(), npc_apothecary_hanes::npc_Apothecary_HanesAI::WaypointReached(), npc_engineer_helice::npc_engineer_heliceAI::WaypointReached(), npc_frosthound::npc_frosthoundAI::WaypointReached(), npc_wounded_blood_elf::npc_wounded_blood_elfAI::WaypointReached(), npc_maghar_captive::npc_maghar_captiveAI::WaypointReached(), npc_kurenai_captive::npc_kurenai_captiveAI::WaypointReached(), npc_bessy::npc_bessyAI::WaypointReached(), npc_maxx_a_million_escort::npc_maxx_a_million_escortAI::WaypointReached(), npc_kservant::npc_kservantAI::WaypointReached(), npc_isla_starmane::npc_isla_starmaneAI::WaypointReached(), npc_kayra_longmane::npc_kayra_longmaneAI::WaypointReached(), and npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI::WaypointStart().
bool npc_escortAI::GetWaypointPosition | ( | uint32 | pointId, |
float & | x, | ||
float & | y, | ||
float & | z | ||
) |
References Object::GetEntry(), ScriptedAI::me, and sScriptSystemMgr.
|
inline |
References m_uiEscortState.
Referenced by npc_koltira_deathweaver::npc_koltira_deathweaverAI::AttackStart(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::EnterEvadeMode(), npc_varian_wrynn::npc_varian_wrynnAI::EnterEvadeMode(), npc_thrall_bfu::npc_thrall_bfuAI::EnterEvadeMode(), violet_hold_trashAI::EnterEvadeMode(), EnterEvadeMode(), JustDied(), npc_muglash::npc_muglashAI::JustDied(), npc_engineer_helice::npc_engineer_heliceAI::JustDied(), npc_maghar_captive::npc_maghar_captiveAI::JustDied(), npc_kurenai_captive::npc_kurenai_captiveAI::JustDied(), npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI::JustEngagedWith(), npc_muglash::npc_muglashAI::JustEngagedWith(), npc_wounded_blood_elf::npc_wounded_blood_elfAI::JustEngagedWith(), npc_rinji::npc_rinjiAI::JustEngagedWith(), MoveInLineOfSight(), npc_custodian_of_time::npc_custodian_of_timeAI::MoveInLineOfSight(), MovementInform(), npc_rocknot::npc_rocknotAI::Reset(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::Reset(), npc_varian_wrynn::npc_varian_wrynnAI::Reset(), npc_thrall_bfu::npc_thrall_bfuAI::Reset(), npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI::Reset(), npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI::Reset(), npc_lurgglbr::npc_lurgglbrAI::Reset(), SetEscortPaused(), Start(), UpdateAI(), npc_barnes::npc_barnesAI::UpdateAI(), npc_corporal_keeshan::npc_corporal_keeshanAI::UpdateAI(), npc_muglash::npc_muglashAI::UpdateAI(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::UpdateAI(), npc_engineer_helice::npc_engineer_heliceAI::UpdateAI(), and npc_rinji::npc_rinjiAI::UpdateEscortAI().
|
inlineoverridevirtual |
|
private |
References GetMaxPlayerDistance(), GetPlayerForEscort(), WorldObject::IsWithinDistInMap(), ScriptedAI::me, and GroupReference::next().
Referenced by UpdateAI().
|
overridevirtual |
Reimplemented from ScriptedAI.
Reimplemented in npc_lesser_doomguard::npc_lesser_doomguardAI, npc_frost_wyrm::npc_frost_wyrmAI, hyjal_trashAI, hyjalAI, npc_arthas::npc_arthasAI, npc_muglash::npc_muglashAI, npc_clintar_spirit::npc_clintar_spiritAI, npc_ame::npc_ameAI, npc_argent_soldier::npc_argent_soldierAI, boss_bjarngrim::boss_bjarngrimAI, brann_bronzebeard::brann_bronzebeardAI, violet_hold_trashAI, npc_mootoo_the_younger::npc_mootoo_the_youngerAI, npc_bonker_togglevolt::npc_bonker_togglevoltAI, npc_apothecary_hanes::npc_Apothecary_HanesAI, npc_engineer_helice::npc_engineer_heliceAI, npc_frosthound::npc_frosthoundAI, npc_icefang::npc_icefangAI, boss_ambassador_hellmaw::boss_ambassador_hellmawAI, npc_maghar_captive::npc_maghar_captiveAI, npc_kurenai_captive::npc_kurenai_captiveAI, npc_captain_saeed::npc_captain_saeedAI, npc_bessy::npc_bessyAI, npc_maxx_a_million_escort::npc_maxx_a_million_escortAI, npc_isla_starmane::npc_isla_starmaneAI, boss_anetheron::boss_anetheronAI, boss_azgalor::boss_azgalorAI, boss_kazrogal::boss_kazrogalAI, boss_rage_winterchill::boss_rage_winterchillAI, npc_gargoyle::npc_gargoyleAI, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, npc_general_andorov, and npc_cork_gizelton::npc_cork_gizeltonAI.
References GetPlayerForEscort(), Quest::GetQuestId(), HasEscortState(), m_pQuestForEscort, m_uiPlayerGUID, GroupReference::next(), QUEST_STATUS_INCOMPLETE, and STATE_ESCORT_ESCORTING.
Referenced by npc_cork_gizelton::npc_cork_gizeltonAI::JustDied().
|
overridevirtual |
Reimplemented from CreatureAI.
Reimplemented in npc_rinji::npc_rinjiAI, and npc_cork_gizelton::npc_cork_gizeltonAI.
References CreatureTemplate::faction, Creature::GetCreatureTemplate(), Unit::GetFaction(), ScriptedAI::IsCombatMovementAllowed(), m_uiWPWaitTimer, ScriptedAI::me, RemoveEscortState(), ScriptedAI::Reset(), Unit::RestoreFaction(), ScriptedAI::SetCombatMovement(), STATE_ESCORT_ESCORTING, STATE_ESCORT_PAUSED, and STATE_ESCORT_RETURNING.
Referenced by npc_rinji::npc_rinjiAI::JustRespawned(), and npc_cork_gizelton::npc_cork_gizeltonAI::JustRespawned().
|
overridevirtual |
Reimplemented from CreatureAI.
Reimplemented in npc_taretha::npc_tarethaAI, brann_bronzebeard::brann_bronzebeardAI, npc_mimirons_inferno::npc_mimirons_infernoAI, boss_thorim_lightning_orb::boss_thorim_lightning_orbAI, boss_thorim_sif_blizzard::boss_thorim_sif_blizzardAI, boss_yoggsaron_cloud::boss_yoggsaron_cloudAI, npc_azure_saboteur::npc_azure_saboteurAI, npc_akama_illidan::npc_akama_illidanAI, npc_lesser_doomguard::npc_lesser_doomguardAI, hyjalAI, npc_general_andorov, npc_custodian_of_time::npc_custodian_of_timeAI, violet_hold_trashAI, boss_ambassador_hellmaw::boss_ambassador_hellmawAI, npc_ancestral_wolf::npc_ancestral_wolfAI, and npc_captain_saeed::npc_captain_saeedAI.
References AssistPlayerInCombatAgainst(), AttackStart(), Creature::CanStartAttack(), MotionMaster::Clear(), Unit::ClearUnitState(), Unit::GetMotionMaster(), Unit::GetVictim(), HasEscortState(), Creature::HasReactState(), Unit::HasUnitState(), Unit::isInAccessiblePlaceFor(), Unit::isTargetableForAttack(), ScriptedAI::me, REACT_AGGRESSIVE, STATE_ESCORT_ESCORTING, UNIT_STATE_DISTRACTED, and UNIT_STATE_STUNNED.
Referenced by hyjalAI::MoveInLineOfSight(), boss_ambassador_hellmaw::boss_ambassador_hellmawAI::MoveInLineOfSight(), npc_ancestral_wolf::npc_ancestral_wolfAI::MoveInLineOfSight(), and npc_captain_saeed::npc_captain_saeedAI::MoveInLineOfSight().
Reimplemented from ScriptedAI.
Reimplemented in boss_grand_champion::boss_grand_championAI, and npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI.
References CurrentWP, ESCORT_MOTION_TYPE, Unit::GetMotionMaster(), MotionMaster::GetMotionSlotType(), Position::GetOrientation(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), HasEscortState(), LOG_DEBUG, m_bIsRunning, m_uiWPWaitTimer, ScriptedAI::me, MOTION_SLOT_ACTIVE, MotionMaster::MoveIdle(), MotionMaster::MovementExpired(), POINT_HOME, POINT_LAST_POINT, POINT_MOTION_TYPE, RemoveEscortState(), Creature::SetHomePosition(), Creature::SetPosition(), Creature::SetWalk(), STATE_ESCORT_ESCORTING, STATE_ESCORT_PAUSED, STATE_ESCORT_RETURNING, Unit::StopMovingOnCurrentPos(), WaypointList, and WaypointReached().
Referenced by boss_grand_champion::boss_grand_championAI::MovementInform(), and npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::MovementInform().
|
inline |
References m_uiEscortState.
Referenced by violet_hold_trashAI::CreatureStartAttackDoor(), brann_bronzebeard::brann_bronzebeardAI::DoAction(), npc_arthas::npc_arthasAI::JustDied(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::JustDied(), JustRespawned(), MovementInform(), brann_bronzebeard::brann_bronzebeardAI::Reset(), SetEscortPaused(), and UpdateAI().
void npc_escortAI::ReturnToLastPoint | ( | ) |
References Creature::GetHomePosition(), Unit::GetMotionMaster(), ScriptedAI::me, MotionMaster::MovePoint(), POINT_LAST_POINT, and Creature::SetWalk().
Referenced by npc_koltira_deathweaver::npc_koltira_deathweaverAI::EnterEvadeMode(), npc_varian_wrynn::npc_varian_wrynnAI::EnterEvadeMode(), npc_thrall_bfu::npc_thrall_bfuAI::EnterEvadeMode(), violet_hold_trashAI::EnterEvadeMode(), and EnterEvadeMode().
|
inline |
References m_bIsActiveAttacker.
|
inline |
References DespawnAtEnd.
Referenced by boss_grand_champion::boss_grand_championAI::boss_grand_championAI(), boss_thorim_sif_blizzard::boss_thorim_sif_blizzardAI::boss_thorim_sif_blizzardAI(), npc_argent_soldier::npc_argent_soldierAI::npc_argent_soldierAI(), npc_crok_scourgebane::npc_crok_scourgebaneAI::npc_crok_scourgebaneAI(), npc_general_andorov::npc_general_andorov(), npc_onyx_flamecaller::npc_onyx_flamecallerAI::npc_onyx_flamecallerAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::ReorderInstance(), npc_black_knight_skeletal_gryphon::npc_black_knight_skeletal_gryphonAI::Reset(), brann_bronzebeard::brann_bronzebeardAI::Reset(), hyjalAI::Retreat(), npc_akama_illidan::npc_akama_illidanAI::sGossipSelect(), boss_anetheron::boss_anetheronAI::UpdateAI(), boss_azgalor::boss_azgalorAI::UpdateAI(), boss_kazrogal::boss_kazrogalAI::UpdateAI(), boss_rage_winterchill::boss_rage_winterchillAI::UpdateAI(), npc_giant_infernal::npc_giant_infernalAI::UpdateAI(), npc_abomination::npc_abominationAI::UpdateAI(), npc_ghoul::npc_ghoulAI::UpdateAI(), npc_necromancer::npc_necromancerAI::UpdateAI(), npc_banshee::npc_bansheeAI::UpdateAI(), npc_crypt_fiend::npc_crypt_fiendAI::UpdateAI(), npc_fel_stalker::npc_fel_stalkerAI::UpdateAI(), npc_frost_wyrm::npc_frost_wyrmAI::UpdateAI(), npc_gargoyle::npc_gargoyleAI::UpdateAI(), hyjal_trashAI::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateAI(), violet_hold_trashAI::UpdateAI(), npc_azure_saboteur::npc_azure_saboteurAI::UpdateAI(), and npc_cork_gizelton::npc_cork_gizeltonAI::UpdateEscortAI().
|
inline |
References DespawnAtFar.
Referenced by npc_scarlet_miner::npc_scarlet_minerAI::InitCartQuest(), npc_crok_scourgebane::npc_crok_scourgebaneAI::npc_crok_scourgebaneAI(), npc_general_andorov::npc_general_andorov(), brann_bronzebeard::brann_bronzebeardAI::Reset(), npc_mootoo_the_younger::npc_mootoo_the_youngerAI::Reset(), npc_bonker_togglevolt::npc_bonker_togglevoltAI::Reset(), and npc_apothecary_hanes::npc_Apothecary_HanesAI::Reset().
void npc_escortAI::SetEscortPaused | ( | bool | on | ) |
References AddEscortState(), HasEscortState(), RemoveEscortState(), STATE_ESCORT_ESCORTING, and STATE_ESCORT_PAUSED.
Referenced by brann_bronzebeard::brann_bronzebeardAI::DoAction(), npc_arthas::npc_arthasAI::DoAction(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::DoAction(), npc_black_knight_skeletal_gryphon::npc_black_knight_skeletal_gryphonAI::DoAction(), npc_ranshalla::npc_ranshallaAI::DoChannelTorchSpell(), npc_muglash::npc_muglashAI::DoWaveSummon(), npc_captain_saeed::npc_captain_saeedAI::EnterEvadeMode(), npc_ranshalla::npc_ranshallaAI::JustDidDialogueStep(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::ReorderInstance(), npc_crok_scourgebane::npc_crok_scourgebaneAI::SetGUID(), npc_cork_gizelton::npc_cork_gizeltonAI::SetGUID(), npc_captain_saeed::npc_captain_saeedAI::SetGUID(), npc_varian_wrynn::npc_varian_wrynnAI::SetHoldState(), npc_thrall_bfu::npc_thrall_bfuAI::SetHoldState(), npc_general_andorov::sGossipSelect(), npc_thrall_bfu::npc_thrall_bfuAI::SummonedCreatureDies(), npc_barnes::npc_barnesAI::UpdateAI(), npc_corporal_keeshan::npc_corporal_keeshanAI::UpdateAI(), npc_varian_wrynn::npc_varian_wrynnAI::UpdateAI(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateAI(), npc_captain_saeed::npc_captain_saeedAI::UpdateAI(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::UpdateAI(), npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI::UpdateAI(), npc_tyrion_spybot::npc_tyrion_spybotAI::UpdateAI(), npc_maxx_a_million_escort::npc_maxx_a_million_escortAI::UpdateAI(), npc_grimstone::npc_grimstoneAI::UpdateEscortAI(), npc_cork_gizelton::npc_cork_gizeltonAI::UpdateEscortAI(), npc_ranshalla::npc_ranshallaAI::UpdateEscortAI(), brann_bronzebeard::brann_bronzebeardAI::UpdateEscortAI(), npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI::UpdateEscortAI(), npc_akama_illidan::npc_akama_illidanAI::UpdateEscortAI(), npc_black_knight_skeletal_gryphon::npc_black_knight_skeletal_gryphonAI::WaypointReached(), npc_captain_saeed::npc_captain_saeedAI::WaypointReached(), npc_ranshalla::npc_ranshallaAI::WaypointReached(), npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI::WaypointReached(), npc_akama_illidan::npc_akama_illidanAI::WaypointReached(), npc_arthas::npc_arthasAI::WaypointReached(), npc_grimstone::npc_grimstoneAI::WaypointReached(), npc_barnes::npc_barnesAI::WaypointReached(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::WaypointReached(), npc_corporal_keeshan::npc_corporal_keeshanAI::WaypointReached(), npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI::WaypointReached(), npc_tyrion_spybot::npc_tyrion_spybotAI::WaypointReached(), npc_daphne_stilwell::npc_daphne_stilwellAI::WaypointReached(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::WaypointReached(), npc_general_andorov::WaypointReached(), npc_muglash::npc_muglashAI::WaypointReached(), npc_cork_gizelton::npc_cork_gizeltonAI::WaypointReached(), npc_crok_scourgebane::npc_crok_scourgebaneAI::WaypointReached(), and npc_maxx_a_million_escort::npc_maxx_a_million_escortAI::WaypointReached().
|
inline |
References MaxPlayerDistance.
bool npc_escortAI::SetNextWaypoint | ( | uint32 | pointId, |
bool | setPosition = true |
||
) |
References CurrentWP, FillPointMovementListForCreature(), Position::GetOrientation(), ScriptedAI::me, Unit::UpdatePosition(), and WaypointList.
bool npc_escortAI::SetNextWaypoint | ( | uint32 | pointId, |
float | x, | ||
float | y, | ||
float | z, | ||
float | orientation | ||
) |
References ScriptedAI::me, SetNextWaypoint(), and Unit::UpdatePosition().
Referenced by brann_bronzebeard::brann_bronzebeardAI::DoAction(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::ReorderInstance(), npc_time_lost_proto_drake::npc_time_lost_proto_drakeAI::RollPath(), and SetNextWaypoint().
void npc_escortAI::SetRun | ( | bool | on = true | ) |
References LOG_DEBUG, m_bIsRunning, ScriptedAI::me, and Creature::SetWalk().
Referenced by npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI::DamageTaken(), npc_arthas::npc_arthasAI::DoAction(), npc_thrall_bfu::npc_thrall_bfuAI::SummonedCreatureDies(), npc_varian_wrynn::npc_varian_wrynnAI::UpdateAI(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateAI(), npc_arthas::npc_arthasAI::WaypointReached(), npc_scarlet_miner::npc_scarlet_minerAI::WaypointReached(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::WaypointReached(), npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI::WaypointReached(), npc_rinji::npc_rinjiAI::WaypointReached(), npc_daphne_stilwell::npc_daphne_stilwellAI::WaypointReached(), npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI::WaypointReached(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::WaypointReached(), npc_taretha::npc_tarethaAI::WaypointReached(), npc_magwin::npc_magwinAI::WaypointReached(), npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI::WaypointReached(), npc_mootoo_the_younger::npc_mootoo_the_youngerAI::WaypointReached(), npc_apothecary_hanes::npc_Apothecary_HanesAI::WaypointReached(), npc_maghar_captive::npc_maghar_captiveAI::WaypointReached(), npc_kurenai_captive::npc_kurenai_captiveAI::WaypointReached(), npc_kayra_longmane::npc_kayra_longmaneAI::WaypointReached(), and npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI::WaypointStart().
void npc_escortAI::Start | ( | bool | isActiveAttacker = true , |
bool | run = false , |
||
ObjectGuid | playerGUID = ObjectGuid::Empty , |
||
Quest const * | quest = nullptr , |
||
bool | instantRespawn = false , |
||
bool | canLoopPath = false , |
||
bool | resetWaypoints = true |
||
) |
References AddEscortState(), CurrentWP, Unit::DisableSpline(), ESCORT_MOTION_TYPE, FillPointMovementListForCreature(), MotionMaster::GetCurrentMovementGeneratorType(), Object::GetEntry(), Unit::GetMotionMaster(), MotionMaster::GetMotionSlotType(), Quest::GetQuestId(), Creature::GetScriptName(), Unit::GetVictim(), HasEscortState(), HasImmuneToNPCFlags, Unit::IsImmuneToNPC(), LOG_DEBUG, LOG_ERROR, m_bCanInstantRespawn, m_bCanReturnToStart, m_bIsActiveAttacker, m_bIsRunning, m_pQuestForEscort, m_uiPlayerGUID, ScriptedAI::me, MOTION_SLOT_ACTIVE, MotionMaster::MoveIdle(), MotionMaster::MovementExpired(), Unit::ReplaceAllNpcFlags(), ScriptWP, Unit::SetImmuneToNPC(), Creature::SetWalk(), STATE_ESCORT_ESCORTING, ObjectGuid::ToString(), UNIT_NPC_FLAG_NONE, WAYPOINT_MOTION_TYPE, and WaypointList.
Referenced by boss_bjarngrim::boss_bjarngrimAI::boss_bjarngrimAI(), boss_thorim_lightning_orb::boss_thorim_lightning_orbAI::boss_thorim_lightning_orbAI(), boss_thorim_sif_blizzard::boss_thorim_sif_blizzardAI::boss_thorim_sif_blizzardAI(), boss_yoggsaron_cloud::boss_yoggsaron_cloudAI::boss_yoggsaron_cloudAI(), brann_bronzebeard::brann_bronzebeardAI::DoAction(), npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI::DoAction(), boss_ambassador_hellmaw::boss_ambassador_hellmawAI::DoAction(), npc_taretha::npc_tarethaAI::DoAction(), npc_scarlet_miner::npc_scarlet_minerAI::InitCartQuest(), npc_general_andorov::InitializeAI(), npc_kservant::npc_kservantAI::IsSummonedBy(), npc_custodian_of_time::npc_custodian_of_timeAI::MoveInLineOfSight(), npc_ancestral_wolf::npc_ancestral_wolfAI::npc_ancestral_wolfAI(), npc_frosthound::npc_frosthoundAI::PassengerBoarded(), npc_icefang::npc_icefangAI::PassengerBoarded(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::ReorderInstance(), npc_onyx_flamecaller::npc_onyx_flamecallerAI::Reset(), npc_black_knight_skeletal_gryphon::npc_black_knight_skeletal_gryphonAI::Reset(), npc_plaguehound_tracker::npc_plaguehound_trackerAI::Reset(), boss_ambassador_hellmaw::boss_ambassador_hellmawAI::Reset(), hyjalAI::Retreat(), npc_time_lost_proto_drake::npc_time_lost_proto_drakeAI::RollPath(), boss_grand_champion::boss_grand_championAI::SetData(), npc_argent_soldier::npc_argent_soldierAI::SetData(), npc_kurenai_captive::npc_kurenai_captiveAI::SetGUID(), npc_captain_saeed::npc_captain_saeedAI::SetGUID(), npc_akama_illidan::npc_akama_illidanAI::sGossipSelect(), npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI::sQuestAccept(), npc_ranger_lilatha::sQuestAccept(), npc_rinji::npc_rinjiAI::sQuestAccept(), npc_corporal_keeshan::npc_corporal_keeshanAI::sQuestAccept(), npc_muglash::npc_muglashAI::sQuestAccept(), npc_wounded_blood_elf::npc_wounded_blood_elfAI::sQuestAccept(), npc_barnes::npc_barnesAI::StartEvent(), npc_clintar_spirit::npc_clintar_spiritAI::StartEvent(), boss_anetheron::boss_anetheronAI::UpdateAI(), boss_azgalor::boss_azgalorAI::UpdateAI(), boss_kazrogal::boss_kazrogalAI::UpdateAI(), boss_rage_winterchill::boss_rage_winterchillAI::UpdateAI(), npc_giant_infernal::npc_giant_infernalAI::UpdateAI(), npc_abomination::npc_abominationAI::UpdateAI(), npc_ghoul::npc_ghoulAI::UpdateAI(), npc_necromancer::npc_necromancerAI::UpdateAI(), npc_banshee::npc_bansheeAI::UpdateAI(), npc_crypt_fiend::npc_crypt_fiendAI::UpdateAI(), npc_fel_stalker::npc_fel_stalkerAI::UpdateAI(), npc_frost_wyrm::npc_frost_wyrmAI::UpdateAI(), npc_gargoyle::npc_gargoyleAI::UpdateAI(), hyjal_trashAI::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateAI(), npc_crok_scourgebane::npc_crok_scourgebaneAI::UpdateAI(), violet_hold_trashAI::UpdateAI(), npc_azure_saboteur::npc_azure_saboteurAI::UpdateAI(), npc_grimstone::npc_grimstoneAI::UpdateEscortAI(), npc_magwin::npc_magwinAI::UpdateEscortAI(), and npc_cork_gizelton::npc_cork_gizeltonAI::UpdateEscortAI().
|
overridevirtual |
Reimplemented from ScriptedAI.
Reimplemented in npc_rocknot::npc_rocknotAI, npc_barnes::npc_barnesAI, npc_scarlet_miner::npc_scarlet_minerAI, npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI, npc_corporal_keeshan::npc_corporal_keeshanAI, npc_varian_wrynn::npc_varian_wrynnAI, npc_thrall_bfu::npc_thrall_bfuAI, boss_anetheron::boss_anetheronAI, boss_azgalor::boss_azgalorAI, npc_lesser_doomguard::npc_lesser_doomguardAI, boss_kazrogal::boss_kazrogalAI, boss_rage_winterchill::boss_rage_winterchillAI, npc_giant_infernal::npc_giant_infernalAI, npc_abomination::npc_abominationAI, npc_ghoul::npc_ghoulAI, npc_necromancer::npc_necromancerAI, npc_banshee::npc_bansheeAI, npc_crypt_fiend::npc_crypt_fiendAI, npc_fel_stalker::npc_fel_stalkerAI, npc_frost_wyrm::npc_frost_wyrmAI, npc_gargoyle::npc_gargoyleAI, hyjal_trashAI, hyjalAI, npc_arthas::npc_arthasAI, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, npc_muglash::npc_muglashAI, npc_clintar_spirit::npc_clintar_spiritAI, npc_custodian_of_time::npc_custodian_of_timeAI, npc_ame::npc_ameAI, npc_argent_soldier::npc_argent_soldierAI, boss_grand_champion::boss_grand_championAI, npc_crok_scourgebane::npc_crok_scourgebaneAI, npc_mimirons_inferno::npc_mimirons_infernoAI, violet_hold_trashAI, npc_azure_invader::npc_azure_invaderAI, npc_azure_binder::npc_azure_binderAI, npc_azure_mage_slayer::npc_azure_mage_slayerAI, npc_azure_raider::npc_azure_raiderAI, npc_azure_stalker::npc_azure_stalkerAI, npc_azure_spellbreaker::npc_azure_spellbreakerAI, npc_azure_captain::npc_azure_captainAI, npc_azure_sorceror::npc_azure_sorcerorAI, npc_azure_saboteur::npc_azure_saboteurAI, npc_lurgglbr::npc_lurgglbrAI, npc_frosthound::npc_frosthoundAI, npc_icefang::npc_icefangAI, boss_ambassador_hellmaw::boss_ambassador_hellmawAI, npc_maghar_captive::npc_maghar_captiveAI, npc_captain_saeed::npc_captain_saeedAI, npc_garments_of_quests::npc_garments_of_questsAI, npc_koltira_deathweaver::npc_koltira_deathweaverAI, npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, npc_tyrion_spybot::npc_tyrion_spybotAI, npc_black_knight_skeletal_gryphon::npc_black_knight_skeletal_gryphonAI, npc_engineer_helice::npc_engineer_heliceAI, and npc_maxx_a_million_escort::npc_maxx_a_million_escortAI.
References CurrentWP, DespawnAtEnd, DespawnAtFar, Creature::DespawnOrUnsummon(), Movement::MoveSpline::Finalized(), GenerateWaypointArray(), Unit::GetMotionMaster(), Creature::GetRespawnPosition(), Unit::GetVictim(), HasEscortState(), IsPlayerOrGroupInRange(), JUST_DIED, m_bCanInstantRespawn, m_bCanReturnToStart, m_uiPlayerCheckTimer, m_uiPlayerGUID, m_uiWPWaitTimer, ScriptedAI::me, MotionMaster::MovePoint(), Unit::movespline, MotionMaster::MoveSplinePath(), POINT_HOME, RemoveEscortState(), Creature::Respawn(), Creature::setDeathState(), STATE_ESCORT_ESCORTING, STATE_ESCORT_PAUSED, STATE_ESCORT_RETURNING, UpdateEscortAI(), WaypointList, and WaypointStart().
Referenced by hyjalAI::DoOverrun(), npc_daphne_stilwell::npc_daphne_stilwellAI::Update(), npc_rocknot::npc_rocknotAI::UpdateAI(), npc_barnes::npc_barnesAI::UpdateAI(), npc_scarlet_miner::npc_scarlet_minerAI::UpdateAI(), npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI::UpdateAI(), npc_corporal_keeshan::npc_corporal_keeshanAI::UpdateAI(), npc_varian_wrynn::npc_varian_wrynnAI::UpdateAI(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), boss_anetheron::boss_anetheronAI::UpdateAI(), boss_azgalor::boss_azgalorAI::UpdateAI(), boss_kazrogal::boss_kazrogalAI::UpdateAI(), boss_rage_winterchill::boss_rage_winterchillAI::UpdateAI(), npc_giant_infernal::npc_giant_infernalAI::UpdateAI(), npc_abomination::npc_abominationAI::UpdateAI(), npc_ghoul::npc_ghoulAI::UpdateAI(), npc_necromancer::npc_necromancerAI::UpdateAI(), npc_banshee::npc_bansheeAI::UpdateAI(), npc_crypt_fiend::npc_crypt_fiendAI::UpdateAI(), npc_fel_stalker::npc_fel_stalkerAI::UpdateAI(), npc_frost_wyrm::npc_frost_wyrmAI::UpdateAI(), npc_gargoyle::npc_gargoyleAI::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateAI(), npc_muglash::npc_muglashAI::UpdateAI(), npc_clintar_spirit::npc_clintar_spiritAI::UpdateAI(), npc_custodian_of_time::npc_custodian_of_timeAI::UpdateAI(), npc_ame::npc_ameAI::UpdateAI(), npc_argent_soldier::npc_argent_soldierAI::UpdateAI(), boss_grand_champion::boss_grand_championAI::UpdateAI(), npc_crok_scourgebane::npc_crok_scourgebaneAI::UpdateAI(), npc_mimirons_inferno::npc_mimirons_infernoAI::UpdateAI(), violet_hold_trashAI::UpdateAI(), npc_azure_saboteur::npc_azure_saboteurAI::UpdateAI(), npc_lurgglbr::npc_lurgglbrAI::UpdateAI(), npc_frosthound::npc_frosthoundAI::UpdateAI(), npc_icefang::npc_icefangAI::UpdateAI(), boss_ambassador_hellmaw::boss_ambassador_hellmawAI::UpdateAI(), npc_maghar_captive::npc_maghar_captiveAI::UpdateAI(), npc_captain_saeed::npc_captain_saeedAI::UpdateAI(), npc_garments_of_quests::npc_garments_of_questsAI::UpdateAI(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::UpdateAI(), npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI::UpdateAI(), npc_tyrion_spybot::npc_tyrion_spybotAI::UpdateAI(), npc_black_knight_skeletal_gryphon::npc_black_knight_skeletal_gryphonAI::UpdateAI(), npc_engineer_helice::npc_engineer_heliceAI::UpdateAI(), and npc_maxx_a_million_escort::npc_maxx_a_million_escortAI::UpdateAI().
|
virtual |
Reimplemented in npc_grimstone::npc_grimstoneAI, npc_rinji::npc_rinjiAI, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, npc_general_andorov, npc_magwin::npc_magwinAI, npc_cork_gizelton::npc_cork_gizeltonAI, npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI, npc_ranshalla::npc_ranshallaAI, npc_onyx_flamecaller::npc_onyx_flamecallerAI, boss_bjarngrim::boss_bjarngrimAI, brann_bronzebeard::brann_bronzebeardAI, boss_yoggsaron_cloud::boss_yoggsaron_cloudAI, npc_apothecary_hanes::npc_Apothecary_HanesAI, npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI, npc_time_lost_proto_drake::npc_time_lost_proto_drakeAI, npc_akama_illidan::npc_akama_illidanAI, npc_kurenai_captive::npc_kurenai_captiveAI, npc_isla_starmane::npc_isla_starmaneAI, npc_crok_scourgebane::npc_crok_scourgebaneAI, and npc_bonker_togglevolt::npc_bonker_togglevoltAI.
References UnitAI::DoMeleeAttackIfReady(), and CreatureAI::UpdateVictim().
Referenced by UpdateAI(), npc_magwin::npc_magwinAI::UpdateEscortAI(), and npc_ranshalla::npc_ranshallaAI::UpdateEscortAI().
|
pure virtual |
Implemented in npc_black_knight_skeletal_gryphon::npc_black_knight_skeletal_gryphonAI, boss_grand_champion::boss_grand_championAI, npc_captain_saeed::npc_captain_saeedAI, brann_bronzebeard::brann_bronzebeardAI, violet_hold_trashAI, boss_bjarngrim::boss_bjarngrimAI, npc_ranshalla::npc_ranshallaAI, npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI, npc_akama_illidan::npc_akama_illidanAI, npc_argent_soldier::npc_argent_soldierAI, npc_arthas::npc_arthasAI, npc_azure_saboteur::npc_azure_saboteurAI, npc_grimstone::npc_grimstoneAI, npc_rocknot::npc_rocknotAI, npc_barnes::npc_barnesAI, npc_scarlet_miner::npc_scarlet_minerAI, npc_koltira_deathweaver::npc_koltira_deathweaverAI, npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI, npc_ranger_lilatha, npc_rinji::npc_rinjiAI, npc_corporal_keeshan::npc_corporal_keeshanAI, npc_deathstalker_erland::npc_deathstalker_erlandAI, npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, npc_tyrion_spybot::npc_tyrion_spybotAI, npc_varian_wrynn::npc_varian_wrynnAI, npc_thrall_bfu::npc_thrall_bfuAI, npc_daphne_stilwell::npc_daphne_stilwellAI, npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI, boss_anetheron::boss_anetheronAI, boss_azgalor::boss_azgalorAI, boss_kazrogal::boss_kazrogalAI, boss_rage_winterchill::boss_rage_winterchillAI, npc_giant_infernal::npc_giant_infernalAI, npc_abomination::npc_abominationAI, npc_ghoul::npc_ghoulAI, npc_necromancer::npc_necromancerAI, npc_banshee::npc_bansheeAI, npc_crypt_fiend::npc_crypt_fiendAI, npc_fel_stalker::npc_fel_stalkerAI, npc_frost_wyrm::npc_frost_wyrmAI, npc_gargoyle::npc_gargoyleAI, hyjalAI, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, npc_taretha::npc_tarethaAI, npc_general_andorov, npc_muglash::npc_muglashAI, npc_magwin::npc_magwinAI, npc_prospector_remtravel::npc_prospector_remtravelAI, npc_cork_gizelton::npc_cork_gizeltonAI, npc_clintar_spirit::npc_clintar_spiritAI, npc_kaya_flathoof::npc_kaya_flathoofAI, npc_custodian_of_time::npc_custodian_of_timeAI, npc_gilthares::npc_giltharesAI, npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI, npc_lakota_windsong::npc_lakota_windsongAI, npc_paoka_swiftmountain::npc_paoka_swiftmountainAI, npc_ame::npc_ameAI, npc_onyx_flamecaller::npc_onyx_flamecallerAI, npc_crok_scourgebane::npc_crok_scourgebaneAI, npc_lurgglbr::npc_lurgglbrAI, npc_mootoo_the_younger::npc_mootoo_the_youngerAI, npc_bonker_togglevolt::npc_bonker_togglevoltAI, npc_emily::npc_emilyAI, npc_apothecary_hanes::npc_Apothecary_HanesAI, npc_plaguehound_tracker::npc_plaguehound_trackerAI, npc_engineer_helice::npc_engineer_heliceAI, npc_frosthound::npc_frosthoundAI, npc_ancestral_wolf::npc_ancestral_wolfAI, npc_wounded_blood_elf::npc_wounded_blood_elfAI, npc_maghar_captive::npc_maghar_captiveAI, npc_kurenai_captive::npc_kurenai_captiveAI, npc_bessy::npc_bessyAI, npc_maxx_a_million_escort::npc_maxx_a_million_escortAI, npc_kservant::npc_kservantAI, npc_isla_starmane::npc_isla_starmaneAI, npc_kayra_longmane::npc_kayra_longmaneAI, npc_lesser_doomguard::npc_lesser_doomguardAI, npc_mimirons_inferno::npc_mimirons_infernoAI, boss_thorim_lightning_orb::boss_thorim_lightning_orbAI, boss_thorim_sif_blizzard::boss_thorim_sif_blizzardAI, boss_yoggsaron_cloud::boss_yoggsaron_cloudAI, npc_time_lost_proto_drake::npc_time_lost_proto_drakeAI, npc_icefang::npc_icefangAI, boss_ambassador_hellmaw::boss_ambassador_hellmawAI, and npc_garments_of_quests::npc_garments_of_questsAI.
Referenced by MovementInform().
|
inlinevirtual |
Reimplemented in npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, and npc_crok_scourgebane::npc_crok_scourgebaneAI.
Referenced by UpdateAI().
|
private |
Referenced by GenerateWaypointArray(), MovementInform(), SetNextWaypoint(), Start(), and UpdateAI().
|
private |
Referenced by SetDespawnAtEnd(), and UpdateAI().
|
private |
Referenced by SetDespawnAtFar(), and UpdateAI().
|
private |
Referenced by EnterEvadeMode(), and Start().
|
private |
Referenced by Start(), and UpdateAI().
|
private |
Referenced by Start(), and UpdateAI().
|
private |
Referenced by GetAttack(), SetCanAttack(), and Start().
|
private |
Referenced by MovementInform(), SetRun(), and Start().
|
private |
Referenced by JustDied(), and Start().
|
private |
Referenced by AddEscortState(), HasEscortState(), IsEscorted(), and RemoveEscortState().
|
private |
Referenced by UpdateAI().
|
private |
Referenced by GetEventStarterGUID(), GetPlayerForEscort(), JustDied(), Start(), and UpdateAI().
|
private |
Referenced by JustRespawned(), MovementInform(), and UpdateAI().
|
private |
Referenced by GetMaxPlayerDistance(), and SetMaxPlayerDistance().
|
private |
Referenced by AddWaypoint(), and Start().
|
private |
Referenced by AddWaypoint(), FillPointMovementListForCreature(), GenerateWaypointArray(), MovementInform(), SetNextWaypoint(), Start(), and UpdateAI().