No Matches
npc_garona::npc_garonaAI Struct Reference

Public Member Functions

 npc_garonaAI (Creature *creature)
void Reset () override
void UpdateAI (uint32 diff) override
- Public Member Functions inherited from ScriptedAI
 ScriptedAI (Creature *creature)
 ScriptedAI (Creature *creature, uint32 scriptId)
virtual ~ScriptedAI ()
void AttackStartNoMove (Unit *target)
virtual void UpdateAI (uint32 diff) override
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 AddThreat (Unit *victim, float amount, Unit *who=nullptr)
void ModifyThreatByPercent (Unit *victim, int32 pct, Unit *who=nullptr)
void ResetThreat (Unit *victim, Unit *who=nullptr)
void ResetThreatList (Unit *who=nullptr)
float GetThreat (Unit const *victim, Unit const *who=nullptr)
void ForceCombatStop (Creature *who, bool reset=true)
void ForceCombatStopForCreatureEntry (uint32 entry, float maxSearchRange=250.0f, bool samePhase=true, bool reset=true)
void ForceCombatStopForCreatureEntry (std::vector< uint32 > creatureEntries, float maxSearchRange=250.0f, bool samePhase=true, bool reset=true)
void DoTeleportTo (float x, float y, float z, uint32 time=0)
void DoTeleportTo (float const pos[4])
void DoTeleportPlayer (Unit *unit, float x, float y, float z, float o)
void DoTeleportAll (float x, float y, float z, float o)
UnitDoSelectLowestHpFriendly (float range, uint32 minHPDiff=1)
UnitDoSelectBelowHpPctFriendlyWithEntry (uint32 entry, float range, uint8 hpPct=1, bool excludeSelf=true)
std::list< Creature * > DoFindFriendlyCC (float range)
std::list< Creature * > DoFindFriendlyMissingBuff (float range, uint32 spellId)
PlayerGetPlayerAtMinimumRange (float minRange)
CreatureDoSpawnCreature (uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, Milliseconds despawntime)
bool HealthBelowPct (uint32 pct) const
bool HealthAbovePct (uint32 pct) const
SpellInfo const * SelectSpell (Unit *target, uint32 school, uint32 mechanic, SelectTargetType targets, 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
bool IsLFR () const
bool IsNormal () const
bool IsHeroic () const
bool IsMythic () const
bool IsMythicPlus () const
bool IsHeroicOrHigher () const
bool IsTimewalking () const
Difficulty GetDifficulty () const
bool Is25ManRaid () const
template<class T >
T const & DUNGEON_MODE (T const &normal5, T const &heroic10) const
template<class T >
T const & RAID_MODE (T const &normal10, T const &normal25) const
template<class T >
T const & RAID_MODE (T const &normal10, T const &normal25, T const &heroic10, T const &heroic25) const
- Public Member Functions inherited from CreatureAI
 CreatureAI (Creature *creature, uint32 scriptId={})
virtual ~CreatureAI ()
uint32 GetId () const
bool IsEngaged () const
void Talk (uint8 id, WorldObject const *whisperTarget=nullptr)
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At =================================
void TriggerAlert (Unit const *who) const
virtual void EnterEvadeMode (EvadeReason why=EvadeReason::Other)
void JustEnteredCombat (Unit *) override
virtual void JustStartedThreateningMe (Unit *who)
virtual void JustEngagedWith (Unit *)
virtual void OnHealthDepleted (Unit *, bool)
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 JustSummonedGameobject (GameObject *)
virtual void SummonedGameobjectDespawn (GameObject *)
virtual void JustRegisteredDynObject (DynamicObject *)
virtual void JustUnregisteredDynObject (DynamicObject *)
virtual void JustRegisteredAreaTrigger (AreaTrigger *)
virtual void JustUnregisteredAreaTrigger (AreaTrigger *)
virtual void SpellHit (WorldObject *, SpellInfo const *)
virtual void SpellHitTarget (WorldObject *, SpellInfo const *)
virtual void OnSpellCast (SpellInfo const *)
virtual void OnSpellFailed (SpellInfo const *)
virtual void OnSpellStart (SpellInfo const *)
virtual void OnChannelFinished (SpellInfo const *)
virtual bool IsEscorted () const
virtual void JustAppeared ()
virtual void MovementInform (uint32, uint32)
void OnCharmed (bool isNew) override
virtual void JustReachedHome ()
void DoZoneInCombat ()
virtual void ReceiveEmote (Player *, uint32)
virtual void OwnerAttackedBy (Unit *attacker)
virtual void OwnerAttacked (Unit *target)
virtual void CorpseRemoved (uint32 &)
 == Triggered Actions Requested ==================
virtual Optional< QuestGiverStatusGetDialogStatus (Player const *player)
 == Gossip system ================================
virtual bool OnGossipHello (Player *)
virtual bool OnGossipSelect (Player *, uint32, uint32)
virtual bool OnGossipSelectCode (Player *, uint32, uint32, char const *)
virtual void OnQuestAccept (Player *, Quest const *)
virtual void OnQuestReward (Player *, Quest const *, LootItemType, uint32)
virtual void WaypointStarted (uint32, uint32)
 == Waypoints system =============================
virtual void WaypointReached (uint32, uint32)
virtual void WaypointPathEnded (uint32, uint32)
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields =======================================
virtual void OnSpellClick (Unit *, bool)
virtual bool CanSeeAlways (WorldObject const *)
virtual PlayerAIGetAIForCharmedPlayer (Player *)
int32 VisualizeBoundary (Seconds duration, Unit *owner=nullptr, bool fill=false) const
virtual bool CheckInRoom ()
CreatureBoundary const * GetBoundary () const
void SetBoundary (CreatureBoundary const *boundary, bool negativeBoundaries=false)
bool IsInBoundary (Position const *who=nullptr) const
- 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 diff)=0
virtual void InitializeAI ()
virtual void Reset ()
virtual void OnCharmed (bool isNew)
virtual void DoAction (int32)
virtual uint32 GetData (uint32) const
virtual void SetData (uint32, uint32)
virtual void SetGUID (ObjectGuid const &, int32=0)
virtual ObjectGuid GetGUID (int32=0) const
UnitSelectTarget (SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
template<class PREDICATE >
UnitSelectTarget (SelectTargetMethod targetType, uint32 offset, PREDICATE const &predicate)
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 offset=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 offset, PREDICATE const &predicate)
virtual void JustEnteredCombat (Unit *)
virtual void JustExitedCombat ()
virtual void OnDespawn ()
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType)
virtual void DamageTaken (Unit *, uint32 &, DamageEffectType, SpellInfo const *)
virtual void HealReceived (Unit *, uint32 &)
virtual void HealDone (Unit *, uint32 &)
virtual void SpellInterrupted (uint32, uint32)
void AttackStartCaster (Unit *victim, float dist)
SpellCastResult DoCast (uint32 spellId)
SpellCastResult DoCast (Unit *victim, uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastSelf (uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastVictim (uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastAOE (uint32 spellId, CastSpellExtraArgs const &args={})
void DoMeleeAttackIfReady ()
bool DoSpellAttackIfReady (uint32 spellId)
virtual void OnGameEvent (bool, uint16)
virtual std::string GetDebugInfo () const

Private Attributes

EventMap _events

Additional Inherited Members

- Static Public Member Functions inherited from CreatureAI
static void DoZoneInCombat (Creature *creature)
static bool IsInBounds (CreatureBoundary const &boundary, Position const *who)
- Static Public Member Functions inherited from UnitAI
static void FillAISpellInfo ()
- Public Attributes inherited from ScriptedAI
bool IsFleeing
- Static Public Attributes inherited from UnitAI
static std::unordered_map< std::pair< uint32, Difficulty >, AISpellInfoTypeAISpellInfo
- Protected Member Functions inherited from CreatureAI
bool UpdateVictim ()
CreatureDoSummon (uint32 entry, Position const &pos, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
CreatureDoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
CreatureDoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
void EngagementStart (Unit *who)
void EngagementOver ()
virtual void MoveInLineOfSight (Unit *)
bool _EnterEvadeMode (EvadeReason why=EvadeReason::Other)
- Protected Attributes inherited from CreatureAI
Creature *const me
CreatureBoundary const * _boundary
bool _negateBoundary
- Protected Attributes inherited from UnitAI
Unit *const me

Detailed Description

Definition at line 1841 of file boss_yogg_saron.cpp.

Constructor & Destructor Documentation

◆ npc_garonaAI()

npc_garona::npc_garonaAI::npc_garonaAI ( Creature creature)

Definition at line 1843 of file boss_yogg_saron.cpp.

1843: ScriptedAI(creature) { }

Member Function Documentation

◆ Reset()

void npc_garona::npc_garonaAI::Reset ( )

Reimplemented from UnitAI.

Definition at line 1845 of file boss_yogg_saron.cpp.

1846 {
1847 _events.Reset();
1849 me->SetWalk(true);
1856 }
Position const IllusionsMiscPos[2]
Creature *const me
Definition: CreatureAI.h:61
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
Definition: EventMap.cpp:36
void Reset()
Definition: EventMap.cpp:21
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
MotionMaster * GetMotionMaster()
Definition: Unit.h:1757
bool SetWalk(bool enable)
Definition: Unit.cpp:12777
+ Here is the call graph for this function:

◆ UpdateAI()

void npc_garona::npc_garonaAI::UpdateAI ( uint32  diff)

Reimplemented from ScriptedAI.

Definition at line 1858 of file boss_yogg_saron.cpp.

1859 {
1860 _events.Update(diff);
1862 while (uint32 eventId = _events.ExecuteEvent())
1863 {
1864 switch (eventId)
1865 {
1868 break;
1871 break;
1874 break;
1877 if (Creature* llane = me->FindNearestCreature(NPC_KING_LLANE, 50.0f))
1878 {
1880 llane->CastSpell(llane, SPELL_PERMANENT_FEIGN_DEATH);
1881 }
1882 break;
1883 default:
1884 break;
1885 }
1886 }
1887 }
uint32_t uint32
Definition: Define.h:143
uint32 ExecuteEvent()
Definition: EventMap.cpp:73
void Update(uint32 time)
Definition: EventMap.h:56
SpellCastResult DoCast(uint32 spellId)
Definition: UnitAI.cpp:124
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition: Object.cpp:2135
Definition: ulduar.h:211
+ Here is the call graph for this function:

Member Data Documentation

◆ _events

EventMap npc_garona::npc_garonaAI::_events

Definition at line 1890 of file boss_yogg_saron.cpp.

The documentation for this struct was generated from the following file: