AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "hyjalAI.h"
Classes | |
struct | Spell |
Public Member Functions | |
hyjalAI (Creature *creature) | |
void | Reset () override |
void | EnterEvadeMode (EvadeReason=EVADE_REASON_OTHER) override |
void | JustEngagedWith (Unit *) override |
Called for reaction when initially engaged. | |
void | UpdateAI (uint32 diff) override |
void | JustDied (Unit *) override |
void | SetFaction (uint32 _faction) |
void | Retreat () |
void | SpawnVeins () |
void | DeSpawnVeins () |
void | JustSummoned (Creature *summoned) override |
void | SummonedCreatureDespawn (Creature *summoned) override |
void | HideNearPos (float x, float y) |
void | RespawnNearPos (float x, float y) |
void | WaypointReached (uint32 waypointId) override |
void | DoOverrun (uint32 faction, const uint32 diff) |
void | MoveInLineOfSight (Unit *who) override |
void | SummonCreature (uint32 entry, float Base[4][3]) |
void | SummonNextWave (const Wave wave[18], uint32 Count, float Base[4][3]) |
void | StartEvent (Player *player) |
uint32 | GetInstanceData (uint32 Event) |
Public Member Functions inherited from npc_escortAI | |
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 | IsUniqueTimedEventDone (uint32 id) const |
void | SetUniqueTimedEventDone (uint32 id) |
void | ResetUniqueTimedEvent (uint32 id) |
void | ClearUniqueTimedEventsDone () |
void | ScheduleTimedEvent (Milliseconds timerMin, Milliseconds timerMax, std::function< void()> exec, Milliseconds repeatMin, Milliseconds repeatMax=0s, uint32 uniqueId=0) |
void | ScheduleTimedEvent (Milliseconds timerMax, std::function< void()> exec, Milliseconds repeatMin, Milliseconds repeatMax=0s, uint32 uniqueId=0) |
void | ScheduleUniqueTimedEvent (Milliseconds timer, std::function< void()> exec, uint32 uniqueId) |
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 | OnPowerUpdate (Powers, int32, int32, uint32) |
virtual void | HealDone (Unit *, uint32 &) |
virtual void | OnCalculateMeleeDamageReceived (uint32 &, Unit *) |
virtual void | OnCalculateSpellDamageReceived (int32 &, Unit *) |
virtual void | OnCalculatePeriodicTickReceived (uint32 &, Unit *) |
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 |
Public Attributes | |
InstanceScript * | instance |
ObjectGuid | PlayerGUID |
ObjectGuid | BossGUID [2] |
ObjectGuid | VeinGUID [14] |
uint32 | NextWaveTimer |
uint32 | WaveCount |
uint32 | CheckTimer |
uint32 | Faction |
uint32 | EnemyCount |
uint32 | RetreatTimer |
bool | EventBegun |
bool | FirstBossDead |
bool | SecondBossDead |
bool | Summon |
bool | bRetreat |
bool | Debug |
bool | VeinsSpawned [2] |
uint8 | InfernalCount |
SummonList | Summons |
bool | Overrun |
bool | Teleported |
bool | WaitForTeleport |
uint32 | TeleportTimer |
uint32 | OverrunCounter |
uint32 | OverrunCounter2 |
uint32 | InfernalPoint |
uint32 | RespawnTimer |
bool | DoRespawn |
bool | DoHide |
bool | IsDummy |
uint32 | MassTeleportTimer |
bool | DoMassTeleport |
ObjectGuid | DummyGuid |
struct hyjalAI::Spell | Spells [HYJAL_AI_MAX_SPELLS] |
Public Attributes inherited from ScriptedAI | |
Creature * | me |
bool | IsFleeing |
Private Attributes | |
uint32 | SpellTimer [3] |
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 () |
Static Public Attributes inherited from UnitAI | |
static AISpellInfoType * | AISpellInfo |
Protected Member Functions inherited from npc_escortAI | |
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) |
Protected Attributes inherited from CreatureAI | |
Creature *const | me |
EventMap | events |
TaskScheduler | scheduler |
CreatureBoundary const * | _boundary |
bool | _negateBoundary |
Protected Attributes inherited from UnitAI | |
Unit *const | me |
hyjalAI::hyjalAI | ( | Creature * | creature | ) |
References DoHide, DoMassTeleport, DoRespawn, WorldObject::GetInstanceScript(), InfernalCount, InfernalPoint, instance, MassTeleportTimer, Overrun, OverrunCounter, OverrunCounter2, RespawnTimer, Teleported, TeleportTimer, VeinsSpawned, and WaitForTeleport.
void hyjalAI::DeSpawnVeins | ( | ) |
References Creature::AI(), CAST_AI, DATA_JAINAPROUDMOORE, DATA_THRALL, Faction, ObjectAccessor::GetCreature(), Map::GetGameObject(), InstanceScript::GetGuidData(), InstanceScript::instance, instance, ScriptedAI::me, and VeinGUID.
Referenced by npc_thrall::OnGossipSelect(), and StartEvent().
References ABOMINATION, Creature::AI(), AllianceBase, AllianceFirePos, AllianceOverrunGargPos, bRetreat, CAST_AI, UnitAI::DoCast(), Faction, FACTION_FRIENDLY, GARGOYLE, WorldObject::GetGridActivationRange(), GHOUL, GIANT_INFERNAL, GO_ROARING_FLAME, HordeBase, HordeFirePos, InfernalSPWP, irand(), ScriptedAI::me, Overrun, RetreatTimer, WorldObject::setActive(), Creature::SetHomePosition(), SPELL_TELEPORT_VISUAL, WorldObject::SummonCreature(), WorldObject::SummonGameObject(), Teleported, TeleportTimer, TEMPSUMMON_MANUAL_DESPAWN, UNIT_FLAG_NON_ATTACKABLE, npc_escortAI::UpdateAI(), Cell::VisitGridObjects(), and WaitForTeleport.
Referenced by UpdateAI().
|
overridevirtual |
Reimplemented from npc_escortAI.
References ThreatMgr::ClearAllThreat(), Unit::CombatStop(), Object::GetEntry(), Unit::GetMotionMaster(), Unit::GetThreatMgr(), Unit::IsAlive(), JAINA, Creature::LoadCreaturesAddon(), ScriptedAI::me, MotionMaster::MoveTargetedHome(), Unit::RemoveAllAuras(), and Creature::SetLootRecipient().
Referenced by npc_jaina_proudmoore::GetAI(), npc_thrall::GetAI(), and npc_tyrande_whisperwind::GetAI().
References ZoneScript::GetData(), and instance.
Referenced by npc_jaina_proudmoore::OnGossipHello(), npc_thrall::OnGossipHello(), and npc_tyrande_whisperwind::OnGossipHello().
void hyjalAI::HideNearPos | ( | float | x, |
float | y | ||
) |
References FACTION_FRIENDLY, WorldObject::GetGridActivationRange(), WorldObject::GetMap(), ScriptedAI::me, and Cell::VisitGridObjects().
Referenced by UpdateAI().
|
overridevirtual |
Reimplemented from npc_escortAI.
References DATA_ANETHERONEVENT, DATA_AZGALOREVENT, DATA_KAZROGALEVENT, DATA_RAGEWINTERCHILLEVENT, DATA_RESET_RAIDDAMAGE, DEATH, DoRespawn, ZoneScript::GetData(), IN_PROGRESS, instance, IsDummy, ScriptedAI::me, NOT_STARTED, Creature::Respawn(), RespawnTimer, ZoneScript::SetData(), and Unit::SetVisible().
|
overridevirtual |
Called for reaction when initially engaged.
Reimplemented from ScriptedAI.
References ATTACKED, HYJAL_AI_MAX_SPELLS, IsDummy, and SpellTimer.
|
overridevirtual |
Reimplemented from ScriptedAI.
|
overridevirtual |
Reimplemented from npc_escortAI.
References IsDummy, and npc_escortAI::MoveInLineOfSight().
|
overridevirtual |
Reimplemented from ScriptedAI.
References BossGUID, bRetreat, CheckTimer, ObjectGuid::Clear(), DATA_ALLIANCE_RETREAT, DATA_RESET_TRASH_COUNT, Debug, UnitAI::DoCast(), DoHide, InstanceScript::DoUpdateWorldState(), EnemyCount, EventBegun, Faction, FirstBossDead, ZoneScript::GetData(), Object::GetEntry(), HYJAL_AI_MAX_SPELLS, instance, IsDummy, JAINA, ScriptedAI::me, NextWaveTimer, PlayerGUID, RetreatTimer, SecondBossDead, WorldObject::setActive(), ZoneScript::SetData(), Unit::SetNpcFlag(), SPELL_BRILLIANCE_AURA, Summon, THRALL, TYRANDE, UNIT_NPC_FLAG_GOSSIP, WaveCount, WORLD_STATE_ENEMY, WORLD_STATE_ENEMYCOUNT, and WORLD_STATE_WAVES.
Referenced by npc_jaina_proudmoore::GetAI(), npc_thrall::GetAI(), and npc_tyrande_whisperwind::GetAI().
void hyjalAI::RespawnNearPos | ( | float | x, |
float | y | ||
) |
References WorldObject::GetGridActivationRange(), WorldObject::GetMap(), ScriptedAI::me, and Cell::VisitGridObjects().
Referenced by UpdateAI().
void hyjalAI::Retreat | ( | ) |
References npc_escortAI::AddWaypoint(), Creature::AI(), CAST_AI, DATA_ALLIANCE_RETREAT, DATA_HORDE_RETREAT, DummyGuid, Faction, Object::GetGUID(), instance, JAINA, JainaDummySpawn, JainaWPs, ScriptedAI::me, Overrun, Unit::RemoveNpcFlag(), ZoneScript::SetData(), npc_escortAI::SetDespawnAtEnd(), SpawnVeins(), SPECIAL, npc_escortAI::Start(), WorldObject::SummonCreature(), TEMPSUMMON_TIMED_DESPAWN, TYPE_RETREAT, and UNIT_NPC_FLAG_GOSSIP.
Referenced by npc_jaina_proudmoore::OnGossipSelect(), and npc_thrall::OnGossipSelect().
|
inline |
void hyjalAI::SpawnVeins | ( | ) |
References Faction, Object::GetGUID(), GO_ANCIENT_VEIN, ScriptedAI::me, WorldObject::SummonGameObject(), VeinGUID, VeinPos, and VeinsSpawned.
Referenced by Retreat().
void hyjalAI::StartEvent | ( | Player * | player | ) |
References BEGIN, CheckTimer, DeSpawnVeins(), InstanceScript::DoUpdateWorldState(), EventBegun, Object::GetGUID(), instance, IsDummy, ScriptedAI::me, NextWaveTimer, PlayerGUID, Unit::RemoveNpcFlag(), Summon, UNIT_NPC_FLAG_GOSSIP, WORLD_STATE_ENEMY, WORLD_STATE_ENEMYCOUNT, and WORLD_STATE_WAVES.
Referenced by npc_jaina_proudmoore::OnGossipSelect(), and npc_thrall::OnGossipSelect().
void hyjalAI::SummonCreature | ( | uint32 | entry, |
float | Base[4][3] | ||
) |
References ABOMINATION, Creature::AI(), ANETHERON, AZGALOR, BANSHEE, BossGUID, CAST_AI, CheckTimer, CRYPT_FIEND, DATA_RAIDDAMAGE, EnemyCount, FEL_STALKER, FirstBossDead, FROST_WYRM, GARGOYLE, ZoneScript::GetData(), Object::GetGUID(), GHOUL, GIANT_INFERNAL, InfernalCount, InfernalPos, instance, irand(), Creature::isWorldBoss(), KAZROGAL, ScriptedAI::me, MINRAIDDAMAGE, NECROMANCER, RAGE_WINTERCHILL, WorldObject::setActive(), Creature::SetDisableReputationGain(), Creature::SetWalk(), SPAWN_GARG_GATE, SPAWN_NEAR_TOWER, SPAWN_WYRM_GATE, SpawnLoc, SpawnPointSpecial, WorldObject::SummonCreature(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, and WaveCount.
Referenced by SummonNextWave().
|
overridevirtual |
Reimplemented from ScriptedAI.
References CheckTimer, DATA_TRASH, Debug, InstanceScript::DoUpdateWorldState(), EnemyCount, FirstBossDead, ZoneScript::GetData(), InfernalCount, instance, NextWaveTimer, RALLY, ZoneScript::SetData(), Summon, SummonCreature(), Wave::WaveTimer, WORLD_STATE_ENEMY, WORLD_STATE_ENEMYCOUNT, and WORLD_STATE_WAVES.
Referenced by UpdateAI().
|
overridevirtual |
Reimplemented from npc_escortAI.
References AllianceBase, AllianceFirePos, AllianceWaves, BossGUID, bRetreat, CheckTimer, ObjectGuid::Clear(), DATA_ALLIANCE_RETREAT, DATA_HORDE_RETREAT, DATA_TRASH, UnitAI::DoCast(), DoHide, DoMassTeleport, UnitAI::DoMeleeAttackIfReady(), DoOverrun(), DoRespawn, InstanceScript::DoUpdateWorldState(), EnemyCount, EventBegun, Faction, FirstBossDead, ZoneScript::GetData(), Object::GetEntry(), Position::GetPositionX(), Position::GetPositionY(), ObjectAccessor::GetUnit(), Unit::GetVictim(), GO_ROARING_FLAME, HideNearPos(), HordeBase, HordeFirePos, HordeWaves, HYJAL_AI_MAX_SPELLS, INCOMING, instance, Unit::InterruptNonMeleeSpells(), Unit::IsAlive(), IsDummy, Unit::IsNonMeleeSpellCast(), JAINA, MassTeleportTimer, ScriptedAI::me, NextWaveTimer, Overrun, RespawnNearPos(), RespawnTimer, RetreatTimer, SecondBossDead, UnitAI::SelectTarget(), Unit::SetNpcFlag(), Unit::SetVisible(), SPELL_MASS_TELEPORT, SpellTimer, SUCCESS, Summon, WorldObject::SummonGameObject(), SummonNextWave(), TARGETTYPE_RANDOM, TARGETTYPE_SELF, TARGETTYPE_VICTIM, THRALL, UNIT_NPC_FLAG_GOSSIP, CreatureAI::UpdateVictim(), WaveCount, and WORLD_STATE_ENEMY.
|
overridevirtual |
Implements npc_escortAI.
References CAST_AI, UnitAI::DoCast(), DoMassTeleport, DummyGuid, Position::GetAngle(), ObjectAccessor::GetCreature(), Object::GetEntry(), WorldObject::GetGridActivationRange(), WorldObject::GetNearPoint(), Position::GetPositionZ(), IDLE_MOTION_TYPE, irand(), JAINA, LANG_UNIVERSAL, MassTeleportTimer, ScriptedAI::me, SPELL_MASS_TELEPORT, TeleportTimer, THRALL, Cell::VisitGridObjects(), WaitForTeleport, Unit::Yell(), and YELL_HURRY.
ObjectGuid hyjalAI::BossGUID[2] |
Referenced by Reset(), SummonCreature(), and UpdateAI().
bool hyjalAI::bRetreat |
Referenced by DoOverrun(), Reset(), and UpdateAI().
uint32 hyjalAI::CheckTimer |
Referenced by Reset(), StartEvent(), SummonCreature(), SummonNextWave(), and UpdateAI().
bool hyjalAI::Debug |
Referenced by npc_jaina_proudmoore::OnGossipSelect(), npc_thrall::OnGossipSelect(), Reset(), and SummonNextWave().
bool hyjalAI::DoHide |
Referenced by hyjalAI(), Reset(), and UpdateAI().
bool hyjalAI::DoMassTeleport |
Referenced by hyjalAI(), UpdateAI(), and WaypointReached().
bool hyjalAI::DoRespawn |
Referenced by hyjalAI(), JustDied(), and UpdateAI().
ObjectGuid hyjalAI::DummyGuid |
Referenced by Retreat(), and WaypointReached().
uint32 hyjalAI::EnemyCount |
Referenced by Reset(), SummonCreature(), SummonNextWave(), and UpdateAI().
bool hyjalAI::EventBegun |
Referenced by npc_jaina_proudmoore::OnGossipHello(), npc_thrall::OnGossipHello(), Reset(), StartEvent(), and UpdateAI().
uint32 hyjalAI::Faction |
Referenced by DeSpawnVeins(), DoOverrun(), Reset(), Retreat(), SetFaction(), SpawnVeins(), and UpdateAI().
bool hyjalAI::FirstBossDead |
Referenced by npc_jaina_proudmoore::OnGossipSelect(), npc_thrall::OnGossipSelect(), Reset(), SummonCreature(), SummonNextWave(), and UpdateAI().
uint8 hyjalAI::InfernalCount |
Referenced by hyjalAI(), SummonCreature(), and SummonNextWave().
InstanceScript* hyjalAI::instance |
Referenced by DeSpawnVeins(), GetInstanceData(), hyjalAI(), JustDied(), Reset(), Retreat(), StartEvent(), SummonCreature(), SummonNextWave(), and UpdateAI().
bool hyjalAI::IsDummy |
Referenced by JustDied(), JustEngagedWith(), MoveInLineOfSight(), Reset(), StartEvent(), and UpdateAI().
uint32 hyjalAI::MassTeleportTimer |
Referenced by hyjalAI(), UpdateAI(), and WaypointReached().
uint32 hyjalAI::NextWaveTimer |
Referenced by Reset(), StartEvent(), SummonNextWave(), and UpdateAI().
bool hyjalAI::Overrun |
Referenced by DoOverrun(), hyjalAI(), Retreat(), and UpdateAI().
ObjectGuid hyjalAI::PlayerGUID |
Referenced by Reset(), and StartEvent().
uint32 hyjalAI::RespawnTimer |
Referenced by hyjalAI(), JustDied(), and UpdateAI().
uint32 hyjalAI::RetreatTimer |
Referenced by DoOverrun(), Reset(), and UpdateAI().
bool hyjalAI::SecondBossDead |
Referenced by Reset(), and UpdateAI().
struct hyjalAI::Spell hyjalAI::Spells[HYJAL_AI_MAX_SPELLS] |
Referenced by npc_jaina_proudmoore::GetAI(), and npc_thrall::GetAI().
|
private |
Referenced by JustEngagedWith(), and UpdateAI().
bool hyjalAI::Summon |
Referenced by Reset(), StartEvent(), SummonNextWave(), and UpdateAI().
SummonList hyjalAI::Summons |
bool hyjalAI::Teleported |
Referenced by DoOverrun(), and hyjalAI().
uint32 hyjalAI::TeleportTimer |
Referenced by DoOverrun(), hyjalAI(), and WaypointReached().
ObjectGuid hyjalAI::VeinGUID[14] |
Referenced by DeSpawnVeins(), and SpawnVeins().
bool hyjalAI::VeinsSpawned[2] |
Referenced by hyjalAI(), and SpawnVeins().
bool hyjalAI::WaitForTeleport |
Referenced by DoOverrun(), hyjalAI(), and WaypointReached().
uint32 hyjalAI::WaveCount |
Referenced by npc_jaina_proudmoore::OnGossipSelect(), npc_thrall::OnGossipSelect(), Reset(), SummonCreature(), and UpdateAI().