AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
npc_highlord_darion_mograine Struct Reference
Inheritance diagram for npc_highlord_darion_mograine:
ScriptedAI CreatureAI UnitAI

Public Member Functions

 npc_highlord_darion_mograine (Creature *creature)
 
void sGossipHello (Player *player) override
 
void sGossipSelect (Player *player, uint32, uint32 gossipListId) override
 
void DoAction (int32 param) override
 
uint32 GetData (uint32 type) const override
 
void SendUpdateWorldState (uint32 id, uint32 state)
 
void SendInitialWorldStates ()
 
void JustSummoned (Creature *cr) override
 
void SummonedCreatureDies (Creature *creature, Unit *) override
 
void JustDied (Unit *) override
 
void FinishFight ()
 
void JustEngagedWith (Unit *) override
 Called for reaction when initially engaged - this happens after JustEnteredCombat.
 
void Reset () override
 
void JustRespawned () override
 
CreatureGetEntryFromSummons (uint32 entry)
 
void MovementInform (uint32 type, uint32 point) override
 
void UpdateAI (uint32 diff) override
 Use to start attacking a target. Called just before JustEngagedWith()
 
- Public Member Functions inherited from ScriptedAI
 ScriptedAI (Creature *creature)
 
 ~ScriptedAI () override
 
void AttackStartNoMove (Unit *target)
 
void DamageTaken (Unit *, uint32 &, DamageEffectType, SpellSchoolMask) override
 Called at any Damage from any attacker (before damage apply)
 
void UpdateAI (uint32 diff) override
 Use to start attacking a target. Called just before JustEngagedWith()
 
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 (Position const *pos, Axis axis, bool above)
 
void Reset () override
 
void JustEngagedWith (Unit *) override
 Called for reaction when initially engaged - this happens after JustEnteredCombat.
 
void AttackStart (Unit *) override
 
void DoStartMovement (Unit *target, float distance=0.0f, float angle=0.0f)
 
void DoStartNoMovement (Unit *target)
 
void DoStopAttack ()
 
void DoRewardPlayersInArea ()
 
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 DoTeleportPlayer (Unit *unit, Position pos)
 
void DoTeleportAll (float x, float y, float z, float o)
 
UnitDoSelectLowestHpFriendly (float range, uint32 minHPDiff=1)
 
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, 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=0ms, uint32 uniqueId=0)
 
void ScheduleTimedEvent (Milliseconds timerMax, std::function< void()> exec, Milliseconds repeatMin, Milliseconds repeatMax=0ms, 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)
 
virtual bool CheckEvadeIfOutOfCombatArea () const
 
bool IsHeroic () 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
 
PlayerSelectTargetFromPlayerList (float maxdist, uint32 excludeAura=0, bool mustBeInLOS=false) const
 
void SetInvincibility (bool apply)
 
bool IsInvincible () const
 
void SetAutoAttackAllowed (bool allow)
 
bool IsAutoAttackAllowed () const
 
- Public Member Functions inherited from CreatureAI
void Talk (uint8 id, WorldObject const *whisperTarget=nullptr, Milliseconds delay=0ms)
 Causes the creature to talk/say the text assigned to their entry in the creature_text database table.
 
void Talk (uint8 id, Milliseconds delay)
 
WorldObjectGetSummoner () const
 Returns the summoner creature/object, if the creature is a temporary summon.
 
 CreatureAI (Creature *creature)
 
 ~CreatureAI () override
 
bool IsEngaged () const
 Check if creature is currently engaged in combat.
 
void MoveCircleChecks ()
 
void MoveBackwardsChecks ()
 
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At =================================
 
void TriggerAlert (Unit const *who) const
 
virtual bool CanRespawn ()
 
virtual bool IsEscortNPC (bool=true) const
 
virtual void EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 
void JustEnteredCombat (Unit *who) override
 Called when the unit enters combat.
 
virtual void JustStartedThreateningMe (Unit *who)
 
void EngagementStart (Unit *who)
 
void EngagementOver ()
 
void JustExitedCombat () override
 Called when the unit leaves combat.
 
virtual void IsSummonedBy (WorldObject *)
 
virtual void SummonedCreatureDespawnAll ()
 
virtual void SummonedCreatureEvade (Creature *)
 
virtual void OnSpellStart (SpellInfo const *)
 
virtual void OnSpellCast (SpellInfo const *)
 
virtual void OnSpellFailed (SpellInfo const *)
 
virtual void OnChannelFinished (SpellInfo const *)
 
virtual void AttackedBy (Unit *)
 
virtual bool IsEscorted ()
 
virtual void PathEndReached (uint32)
 
virtual void WaypointPathStarted (uint32)
 == Waypoints system =============================
 
virtual void WaypointStarted (uint32, uint32)
 
virtual void WaypointReached (uint32, uint32)
 
virtual void WaypointPathEnded (uint32, uint32)
 
void OnCharmed (bool apply) override
 Called when unit is charmed.
 
virtual void JustReachedHome ()
 
void DoZoneInCombat (Creature *creature=nullptr, float maxRangeToNearestTarget=250.0f)
 
virtual void ReceiveEmote (Player *, uint32)
 
virtual void OwnerAttackedBy (Unit *attacker)
 
virtual void OwnerAttacked (Unit *target)
 
void OnOwnerCombatInteraction (Unit *target)
 
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 ()
 
int32 VisualizeBoundary (uint32 duration, Unit *owner=nullptr, bool fill=false, bool checkZ=false) const
 
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 *)
 
virtual void OnAuraRemove (AuraApplication *, AuraRemoveMode)
 
virtual void DistancingStarted ()
 
virtual void DistancingEnded ()
 
- Public Member Functions inherited from UnitAI
 UnitAI (Unit *unit)
 
virtual ~UnitAI ()
 
virtual bool CanAIAttack (Unit const *) const
 
virtual void InitializeAI ()
 
virtual void SetData (uint32, uint32)
 
virtual void SetGUID (ObjectGuid const &, int32=0)
 
virtual ObjectGuid GetGUID (int32=0) const
 
UnitSelectTarget (SelectTargetMethod targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
 
template<class PREDICATE >
UnitSelectTarget (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)
 Select the best (up to) <num> targets (in <targetType> order) from the threat list that fulfill the following:
 
template<class PREDICATE >
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 position, PREDICATE const &predicate)
 
virtual void EvadeTimerExpired ()
 Called when evade timer expires (target unreachable for too long)
 
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType, SpellSchoolMask)
 Called at any Damage to any victim (before damage apply)
 
virtual void HealReceived (Unit *, uint32 &)
 Called when the creature receives heal.
 
virtual void OnPowerUpdate (Powers, int32, int32, uint32)
 Called when the creature power updates.
 
virtual void HealDone (Unit *, uint32 &)
 Called when the unit heals.
 
virtual void OnCalculateMeleeDamageReceived (uint32 &, Unit *)
 Called during damage calculations.
 
virtual void OnCalculateSpellDamageReceived (int32 &, Unit *)
 
virtual void OnCalculatePeriodicTickReceived (uint32 &, Unit *)
 Called during calculation when receiving periodic healing or damage (DoT or HoT)
 
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)
 To specify the caster as target if the spell is self-cast.
 
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, bool withTank=true, int32 aura=0)
 Cast the spell on a random unit from the threat list.
 
SpellCastResult DoCastMaxThreat (uint32 spellId, uint32 threatTablePosition=0, float dist=0.0f, bool playerOnly=true, bool triggered=false)
 Cast spell on the top threat target, which may not 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)
 Called when a summon reaches a waypoint or point movement finished.
 
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

EventMap events
 
SummonList summons
 
uint32 startTimeRemaining
 
uint32 defendersRemaining
 
uint32 scourgeRemaining
 
uint8 battleStarted
 
bool resetExecuted
 
- Public Attributes inherited from ScriptedAI
Creatureme
 

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 AISpellInfoTypeAISpellInfo
 
- Protected Member Functions inherited from CreatureAI
bool UpdateVictim ()
 
bool UpdateVictimWithGaze ()
 
void SetGazeOn (Unit *target)
 
CreatureDoSummon (uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummonFlyer (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
 
bool _isEngaged
 
- Protected Attributes inherited from UnitAI
Unit *const me
 

Detailed Description

Constructor & Destructor Documentation

◆ npc_highlord_darion_mograine()

npc_highlord_darion_mograine::npc_highlord_darion_mograine ( Creature creature)
inline
1583 : ScriptedAI(creature), summons(me)
1584 {
1586 me->SetCorpseDelay(3 * 60);
1587 me->SetRespawnTime(3 * 60);
1588 resetExecuted = false;
1589 }
void SetRespawnTime(uint32 respawn)
Definition Creature.cpp:3841
void SetCorpseDelay(uint32 delay)
Definition Creature.h:74
Definition ScriptedCreature.h:191
Creature * me
Definition ScriptedCreature.h:281
SummonList summons
Definition zone_the_scarlet_enclave.cpp:1592
bool resetExecuted
Definition zone_the_scarlet_enclave.cpp:1597
uint8 battleStarted
Definition zone_the_scarlet_enclave.cpp:1596
@ ENCOUNTER_STATE_NONE
Definition zone_the_scarlet_enclave.cpp:1457

References battleStarted, ENCOUNTER_STATE_NONE, ScriptedAI::me, resetExecuted, Creature::SetCorpseDelay(), and Creature::SetRespawnTime().

Member Function Documentation

◆ DoAction()

void npc_highlord_darion_mograine::DoAction ( int32  param)
inlineoverridevirtual

Reimplemented from UnitAI.

1623 {
1624 if (param == ACTION_START_EVENT && !startTimeRemaining && events.Empty())
1625 {
1627
1631
1633
1634 events.Reset();
1635 events.ScheduleEvent(EVENT_START_COUNTDOWN_1, 60s);
1636 events.ScheduleEvent(EVENT_START_COUNTDOWN_2, 120s);
1637 events.ScheduleEvent(EVENT_START_COUNTDOWN_3, 180s);
1638 events.ScheduleEvent(EVENT_START_COUNTDOWN_4, 240s);
1639 events.ScheduleEvent(EVENT_START_COUNTDOWN_5, 300s);
1640 events.ScheduleEvent(EVENT_START_COUNTDOWN_6, 308s);
1641 events.ScheduleEvent(EVENT_START_COUNTDOWN_7, 312s);
1642 events.ScheduleEvent(EVENT_START_COUNTDOWN_8, 316s);
1643 events.ScheduleEvent(EVENT_START_COUNTDOWN_9, 320s);
1644 events.ScheduleEvent(EVENT_START_COUNTDOWN_10, 324s);
1645 events.ScheduleEvent(EVENT_START_COUNTDOWN_11, 332s);
1646 events.ScheduleEvent(EVENT_START_COUNTDOWN_12, 335s);
1647 events.ScheduleEvent(EVENT_START_COUNTDOWN_13, 337s + 500ms);
1648 events.ScheduleEvent(EVENT_START_COUNTDOWN_14, 345s);
1649 }
1650 }
events
Definition boss_sartura.cpp:43
Talk
Definition hyjal.cpp:82
uint32 scourgeRemaining
Definition zone_the_scarlet_enclave.cpp:1595
void SendInitialWorldStates()
Definition zone_the_scarlet_enclave.cpp:1682
uint32 defendersRemaining
Definition zone_the_scarlet_enclave.cpp:1594
uint32 startTimeRemaining
Definition zone_the_scarlet_enclave.cpp:1593
@ EVENT_START_COUNTDOWN_3
Definition zone_the_scarlet_enclave.cpp:1362
@ EVENT_START_COUNTDOWN_2
Definition zone_the_scarlet_enclave.cpp:1361
@ EVENT_START_COUNTDOWN_7
Definition zone_the_scarlet_enclave.cpp:1366
@ EVENT_START_COUNTDOWN_6
Definition zone_the_scarlet_enclave.cpp:1365
@ ACTION_START_EVENT
Definition zone_the_scarlet_enclave.cpp:1449
@ EVENT_START_COUNTDOWN_5
Definition zone_the_scarlet_enclave.cpp:1364
@ EVENT_START_COUNTDOWN_10
Definition zone_the_scarlet_enclave.cpp:1369
@ ENCOUNTER_TOTAL_SCOURGE
Definition zone_the_scarlet_enclave.cpp:1455
@ EVENT_START_COUNTDOWN_13
Definition zone_the_scarlet_enclave.cpp:1372
@ EVENT_START_COUNTDOWN_4
Definition zone_the_scarlet_enclave.cpp:1363
@ EVENT_START_COUNTDOWN_8
Definition zone_the_scarlet_enclave.cpp:1367
@ EVENT_START_COUNTDOWN_12
Definition zone_the_scarlet_enclave.cpp:1371
@ EVENT_START_COUNTDOWN_11
Definition zone_the_scarlet_enclave.cpp:1370
@ EVENT_START_COUNTDOWN_14
Definition zone_the_scarlet_enclave.cpp:1373
@ EVENT_START_COUNTDOWN_1
Definition zone_the_scarlet_enclave.cpp:1360
@ ENCOUNTER_TOTAL_DEFENDERS
Definition zone_the_scarlet_enclave.cpp:1454
@ EVENT_START_COUNTDOWN_9
Definition zone_the_scarlet_enclave.cpp:1368
@ ENCOUNTER_START_TIME
Definition zone_the_scarlet_enclave.cpp:1453
@ SAY_LIGHT_OF_DAWN01
Definition zone_the_scarlet_enclave.cpp:1283

References ACTION_START_EVENT, defendersRemaining, ENCOUNTER_START_TIME, ENCOUNTER_TOTAL_DEFENDERS, ENCOUNTER_TOTAL_SCOURGE, EVENT_START_COUNTDOWN_1, EVENT_START_COUNTDOWN_10, EVENT_START_COUNTDOWN_11, EVENT_START_COUNTDOWN_12, EVENT_START_COUNTDOWN_13, EVENT_START_COUNTDOWN_14, EVENT_START_COUNTDOWN_2, EVENT_START_COUNTDOWN_3, EVENT_START_COUNTDOWN_4, EVENT_START_COUNTDOWN_5, EVENT_START_COUNTDOWN_6, EVENT_START_COUNTDOWN_7, EVENT_START_COUNTDOWN_8, EVENT_START_COUNTDOWN_9, SAY_LIGHT_OF_DAWN01, scourgeRemaining, SendInitialWorldStates(), and startTimeRemaining.

Referenced by sGossipSelect().

◆ FinishFight()

void npc_highlord_darion_mograine::FinishFight ( )
inline
1744 {
1746 {
1747 tirion->LoadEquipment(0, true);
1748 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN25, 4s);
1749
1750 tirion->m_Events.AddEventAtOffset([&, tirion] {
1751 tirion->GetMotionMaster()->MoveWaypoint(NPC_HIGHLORD_TIRION_FORDRING * 10, false);
1752 }, 14s);
1753
1754 events.Reset();
1755 events.ScheduleEvent(EVENT_FINISH_FIGHT_1, 10s);
1756 events.ScheduleEvent(EVENT_FINISH_FIGHT_2, 20s);
1757 events.ScheduleEvent(EVENT_FINISH_FIGHT_3, 22s);
1758 events.ScheduleEvent(EVENT_FINISH_FIGHT_4, 23s);
1759 events.ScheduleEvent(EVENT_FINISH_FIGHT_5, 24s);
1760
1761 tirion->SummonGameObject(GO_HOLY_LIGHTNING, 2254.84f, -5298.75f, 82.168f, 1.134f, 0, 0, 0.537102f, 0.843517f, 20);
1762 tirion->SummonGameObject(GO_HOLY_LIGHTNING, 2296.24f, -5296.44f, 81.9964f, 5.3398f, 0, 0, 0.454395f, -0.8908f, 20);
1763 tirion->SummonGameObject(GO_HOLY_LIGHTNING, 2314.29f, -5261.78f, 83.1349f, 3.05822f, 0, 0, 0.999131f, 0.0416735f, 20);
1764 tirion->SummonGameObject(GO_HOLY_LIGHTNING, 2278.43f, -5270.14f, 81.7247f, 0.70988f, 0, 0, 0.347534f, 0.937667f, 20);
1765 }
1766 }
@ TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
Definition Object.h:50
Definition Creature.h:47
TempSummon * SummonCreature(uint32 id, Position const &pos, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0, SummonPropertiesEntry const *properties=nullptr, bool visibleBySummonerOnly=false) const
Definition Object.cpp:2448
@ GO_HOLY_LIGHTNING
Definition zone_the_scarlet_enclave.cpp:1494
const Position LightOfDawnPos[]
Definition zone_the_scarlet_enclave.cpp:1530
@ EVENT_FINISH_FIGHT_2
Definition zone_the_scarlet_enclave.cpp:1382
@ EVENT_FINISH_FIGHT_4
Definition zone_the_scarlet_enclave.cpp:1384
@ EVENT_FINISH_FIGHT_5
Definition zone_the_scarlet_enclave.cpp:1385
@ EVENT_FINISH_FIGHT_3
Definition zone_the_scarlet_enclave.cpp:1383
@ EVENT_FINISH_FIGHT_1
Definition zone_the_scarlet_enclave.cpp:1381
@ SAY_LIGHT_OF_DAWN25
Definition zone_the_scarlet_enclave.cpp:1292
@ NPC_HIGHLORD_TIRION_FORDRING
Definition zone_the_scarlet_enclave.cpp:1486

References EVENT_FINISH_FIGHT_1, EVENT_FINISH_FIGHT_2, EVENT_FINISH_FIGHT_3, EVENT_FINISH_FIGHT_4, EVENT_FINISH_FIGHT_5, GO_HOLY_LIGHTNING, LightOfDawnPos, ScriptedAI::me, NPC_HIGHLORD_TIRION_FORDRING, SAY_LIGHT_OF_DAWN25, WorldObject::SummonCreature(), and TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN.

Referenced by SummonedCreatureDies().

◆ GetData()

uint32 npc_highlord_darion_mograine::GetData ( uint32  type) const
inlineoverridevirtual

Reimplemented from UnitAI.

1653 {
1654 switch (type)
1655 {
1657 return defendersRemaining;
1659 return scourgeRemaining;
1661 return me->IsAlive() && (startTimeRemaining || battleStarted);
1663 return me->IsAlive() && startTimeRemaining;
1665 return startTimeRemaining;
1667 return me->IsAlive() && !startTimeRemaining && battleStarted;
1668 }
1669 return 0;
1670 }
@ WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SOLDIERS_ENABLE
Definition WorldStateDefines.h:517
@ WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_EVENT_BEGIN_ENABLE
Definition WorldStateDefines.h:520
@ WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT
Definition WorldStateDefines.h:515
@ WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME
Definition WorldStateDefines.h:519
@ WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_ENABLE
Definition WorldStateDefines.h:518
@ WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT
Definition WorldStateDefines.h:516
bool IsAlive() const
Definition Unit.h:1793

References battleStarted, defendersRemaining, Unit::IsAlive(), ScriptedAI::me, scourgeRemaining, startTimeRemaining, WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_ENABLE, WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME, WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT, WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_EVENT_BEGIN_ENABLE, WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT, and WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SOLDIERS_ENABLE.

Referenced by SendInitialWorldStates(), sGossipHello(), and SummonedCreatureDies().

◆ GetEntryFromSummons()

Creature * npc_highlord_darion_mograine::GetEntryFromSummons ( uint32  entry)
inline
1812 {
1813 for (SummonList::const_iterator itr = summons.begin(); itr != summons.end(); ++itr)
1814 if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr))
1815 if (summon->GetEntry() == entry)
1816 return summon;
1817 return nullptr;
1818 }
iterator begin()
Definition ScriptedCreature.h:48
StorageType::const_iterator const_iterator
Definition ScriptedCreature.h:37
iterator end()
Definition ScriptedCreature.h:58
Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
Definition ObjectAccessor.cpp:234

References SummonList::begin(), SummonList::end(), ObjectAccessor::GetCreature(), ScriptedAI::me, and summons.

Referenced by UpdateAI().

◆ JustDied()

void npc_highlord_darion_mograine::JustDied ( Unit )
inlineoverridevirtual

Reimplemented from CreatureAI.

1737 {
1739 me->SetCorpseDelay(3 * 60);
1740 me->SetRespawnTime(3 * 60);
1741 }
void DespawnAll(Milliseconds delay=0ms)
Definition ScriptedCreature.cpp:72

References SummonList::DespawnAll(), ScriptedAI::me, Creature::SetCorpseDelay(), Creature::SetRespawnTime(), and summons.

◆ JustEngagedWith()

void npc_highlord_darion_mograine::JustEngagedWith ( Unit )
inlineoverridevirtual

Called for reaction when initially engaged - this happens after JustEnteredCombat.

Reimplemented from CreatureAI.

1769 {
1771 return;
1772
1773 events.RescheduleEvent(EVENT_SPELL_ANTI_MAGIC_ZONE, 15s);
1774 events.RescheduleEvent(EVENT_SPELL_DEATH_STRIKE, 8s);
1775 events.RescheduleEvent(EVENT_SPELL_DEATH_EMBRACE, 5s);
1776 events.RescheduleEvent(EVENT_SPELL_UNHOLY_BLIGHT, 10s);
1777 events.RescheduleEvent(EVENT_SPELL_DARION_MOD_DAMAGE, 500ms);
1778 }
@ ENCOUNTER_STATE_FIGHT
Definition zone_the_scarlet_enclave.cpp:1458
@ EVENT_SPELL_ANTI_MAGIC_ZONE
Definition zone_the_scarlet_enclave.cpp:1375
@ EVENT_SPELL_UNHOLY_BLIGHT
Definition zone_the_scarlet_enclave.cpp:1378
@ EVENT_SPELL_DEATH_STRIKE
Definition zone_the_scarlet_enclave.cpp:1376
@ EVENT_SPELL_DEATH_EMBRACE
Definition zone_the_scarlet_enclave.cpp:1377
@ EVENT_SPELL_DARION_MOD_DAMAGE
Definition zone_the_scarlet_enclave.cpp:1379

References battleStarted, ENCOUNTER_STATE_FIGHT, EVENT_SPELL_ANTI_MAGIC_ZONE, EVENT_SPELL_DARION_MOD_DAMAGE, EVENT_SPELL_DEATH_EMBRACE, EVENT_SPELL_DEATH_STRIKE, and EVENT_SPELL_UNHOLY_BLIGHT.

◆ JustRespawned()

void npc_highlord_darion_mograine::JustRespawned ( )
inlineoverridevirtual

Reimplemented from CreatureAI.

1790 {
1791 events.Reset();
1793
1794 me->SetImmuneToAll(true);
1795 me->LoadEquipment(1, true);
1798 me->SetVisible(true);
1799 me->setActive(true);
1800 me->SetWalk(false);
1801
1805 scourgeRemaining = 0;
1806
1809 }
@ UNIT_STAND_STATE_STAND
Definition UnitDefines.h:35
@ UNIT_NPC_FLAG_GOSSIP
Definition UnitDefines.h:322
@ UNIT_NPC_FLAG_QUESTGIVER
Definition UnitDefines.h:323
void LoadEquipment(int8 id=1, bool force=false)
Definition Creature.cpp:1791
bool SetWalk(bool enable) override
Enable or disable the creature's walk mode by removing: MOVEMENTFLAG_WALKING. Infom also the client.
Definition Creature.cpp:3343
void SetVisible(bool x)
Definition Unit.cpp:11106
void ReplaceAllNpcFlags(NPCFlags flags)
Definition Unit.h:767
void SetStandState(uint8 state)
Definition Unit.cpp:13126
void SetImmuneToAll(bool apply, bool keepCombat=false)
Definition Unit.h:925
void setActive(bool isActiveObject)
Definition Object.cpp:1086
void SummonCreatureGroup(uint8 group, std::list< TempSummon * > *list=nullptr)
Definition Object.cpp:2525

References battleStarted, defendersRemaining, SummonList::DespawnAll(), ENCOUNTER_STATE_NONE, Creature::LoadEquipment(), ScriptedAI::me, Unit::ReplaceAllNpcFlags(), scourgeRemaining, SendInitialWorldStates(), WorldObject::setActive(), Unit::SetImmuneToAll(), Unit::SetStandState(), Unit::SetVisible(), Creature::SetWalk(), startTimeRemaining, WorldObject::SummonCreatureGroup(), summons, UNIT_NPC_FLAG_GOSSIP, UNIT_NPC_FLAG_QUESTGIVER, and UNIT_STAND_STATE_STAND.

Referenced by Reset().

◆ JustSummoned()

void npc_highlord_darion_mograine::JustSummoned ( Creature cr)
inlineoverridevirtual

Reimplemented from CreatureAI.

1693 {
1694 summons.Summon(cr);
1695
1697 {
1698 Position pos = LightOfDawnFightPos[urand(0, 9)];
1699 if (Unit* target = cr->SelectNearbyTarget(nullptr, 10.0f))
1700 if (target->IsCreature())
1701 target->GetMotionMaster()->MoveCharge(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), me->GetSpeed(MOVE_RUN));
1703 }
1704
1706 {
1708 cr->SetImmuneToAll(true);
1711 }
1712 }
uint32 urand(uint32 min, uint32 max)
Definition Random.cpp:44
@ EMOTE_STATE_READY1H
Definition SharedDefines.h:1970
@ MOVE_RUN
Definition UnitDefines.h:357
@ REACT_PASSIVE
Definition Unit.h:567
@ UNIT_NPC_EMOTESTATE
Definition UpdateFields.h:140
void SetReactState(ReactStates state)
A creature can have 3 ReactStates : Agressive, Passive, Neutral.
Definition Creature.h:100
void MoveCharge(float x, float y, float z, float speed=SPEED_CHARGE, uint32 id=EVENT_CHARGE, Movement::PointsArray const *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.
Definition MotionMaster.cpp:741
uint32 GetEntry() const
Definition Object.h:117
void Summon(Creature const *summon)
Definition ScriptedCreature.h:88
Definition Unit.h:665
float GetSpeed(UnitMoveType mtype) const
Definition Unit.cpp:11299
Unit * SelectNearbyTarget(Unit *exclude=nullptr, float dist=NOMINAL_MELEE_RANGE) const
Definition Unit.cpp:13384
MotionMaster * GetMotionMaster()
Definition Unit.h:1758
void SetUInt32Value(uint16 index, uint32 value)
Definition Unit.cpp:17367
void HandleEmoteCommand(uint32 emoteId)
Definition Unit.cpp:2187
bool IsInCombat() const
Definition Unit.h:936
Definition Position.h:27
float GetPositionZ() const
Definition Position.h:123
float GetPositionX() const
Definition Position.h:121
float GetPositionY() const
Definition Position.h:122
const Position LightOfDawnFightPos[]
Definition zone_the_scarlet_enclave.cpp:1550
@ ENCOUNTER_STATE_OUTRO
Definition zone_the_scarlet_enclave.cpp:1459
@ NPC_DEFENDER_OF_THE_LIGHT
Definition zone_the_scarlet_enclave.cpp:1465

References battleStarted, EMOTE_STATE_READY1H, ENCOUNTER_STATE_FIGHT, ENCOUNTER_STATE_OUTRO, Object::GetEntry(), Unit::GetMotionMaster(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Unit::GetSpeed(), Unit::HandleEmoteCommand(), Unit::IsInCombat(), LightOfDawnFightPos, ScriptedAI::me, MOVE_RUN, MotionMaster::MoveCharge(), NPC_DEFENDER_OF_THE_LIGHT, NPC_HIGHLORD_TIRION_FORDRING, REACT_PASSIVE, Unit::SelectNearbyTarget(), Unit::SetImmuneToAll(), Creature::SetReactState(), Unit::SetUInt32Value(), SummonList::Summon(), summons, UNIT_NPC_EMOTESTATE, and urand().

◆ MovementInform()

void npc_highlord_darion_mograine::MovementInform ( uint32  type,
uint32  point 
)
inlineoverridevirtual

Reimplemented from CreatureAI.

1821 {
1822 if (type == POINT_MOTION_TYPE && point == 2)
1823 {
1826 events.Reset();
1827
1828 events.ScheduleEvent(EVENT_OUTRO_SCENE_1, 2s);
1829 events.ScheduleEvent(EVENT_OUTRO_SCENE_2, 19s);
1830 events.ScheduleEvent(EVENT_OUTRO_SCENE_3, 38s);
1831 events.ScheduleEvent(EVENT_OUTRO_SCENE_4, 50s);
1832 events.ScheduleEvent(EVENT_OUTRO_SCENE_5, 62s);
1833 events.ScheduleEvent(EVENT_OUTRO_SCENE_6, 68s);
1834 events.ScheduleEvent(EVENT_OUTRO_SCENE_7, 71s);
1835 events.ScheduleEvent(EVENT_OUTRO_SCENE_8, 72s);
1836 events.ScheduleEvent(EVENT_OUTRO_SCENE_9, 74s);
1837 events.ScheduleEvent(EVENT_OUTRO_SCENE_10, 77s);
1838 events.ScheduleEvent(EVENT_OUTRO_SCENE_11, 79s);
1839 events.ScheduleEvent(EVENT_OUTRO_SCENE_12, 82s);
1840 events.ScheduleEvent(EVENT_OUTRO_SCENE_13, 85s);
1841 events.ScheduleEvent(EVENT_OUTRO_SCENE_14, 92s);
1842 events.ScheduleEvent(EVENT_OUTRO_SCENE_15, 98s);
1843 events.ScheduleEvent(EVENT_OUTRO_SCENE_16, 105s);
1844 events.ScheduleEvent(EVENT_OUTRO_SCENE_17, 120s);
1845 events.ScheduleEvent(EVENT_OUTRO_SCENE_18, 131s);
1846 events.ScheduleEvent(EVENT_OUTRO_SCENE_19, 158s);
1847 }
1848 }
@ POINT_MOTION_TYPE
Definition MotionMaster.h:48
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition Unit.cpp:5189
@ SPELL_THE_LIGHT_OF_DAWN
Definition zone_the_scarlet_enclave.cpp:1514
@ EVENT_OUTRO_SCENE_19
Definition zone_the_scarlet_enclave.cpp:1405
@ EVENT_OUTRO_SCENE_5
Definition zone_the_scarlet_enclave.cpp:1391
@ EVENT_OUTRO_SCENE_7
Definition zone_the_scarlet_enclave.cpp:1393
@ EVENT_OUTRO_SCENE_15
Definition zone_the_scarlet_enclave.cpp:1401
@ EVENT_OUTRO_SCENE_18
Definition zone_the_scarlet_enclave.cpp:1404
@ EVENT_OUTRO_SCENE_1
Definition zone_the_scarlet_enclave.cpp:1387
@ EVENT_OUTRO_SCENE_3
Definition zone_the_scarlet_enclave.cpp:1389
@ EVENT_OUTRO_SCENE_13
Definition zone_the_scarlet_enclave.cpp:1399
@ EVENT_OUTRO_SCENE_11
Definition zone_the_scarlet_enclave.cpp:1397
@ EVENT_OUTRO_SCENE_8
Definition zone_the_scarlet_enclave.cpp:1394
@ EVENT_OUTRO_SCENE_12
Definition zone_the_scarlet_enclave.cpp:1398
@ EVENT_OUTRO_SCENE_14
Definition zone_the_scarlet_enclave.cpp:1400
@ EVENT_OUTRO_SCENE_2
Definition zone_the_scarlet_enclave.cpp:1388
@ EVENT_OUTRO_SCENE_17
Definition zone_the_scarlet_enclave.cpp:1403
@ EVENT_OUTRO_SCENE_6
Definition zone_the_scarlet_enclave.cpp:1392
@ EVENT_OUTRO_SCENE_10
Definition zone_the_scarlet_enclave.cpp:1396
@ EVENT_OUTRO_SCENE_4
Definition zone_the_scarlet_enclave.cpp:1390
@ EVENT_OUTRO_SCENE_9
Definition zone_the_scarlet_enclave.cpp:1395
@ EVENT_OUTRO_SCENE_16
Definition zone_the_scarlet_enclave.cpp:1402
@ EMOTE_LIGHT_OF_DAWN05
Definition zone_the_scarlet_enclave.cpp:1341

References EMOTE_LIGHT_OF_DAWN05, EVENT_OUTRO_SCENE_1, EVENT_OUTRO_SCENE_10, EVENT_OUTRO_SCENE_11, EVENT_OUTRO_SCENE_12, EVENT_OUTRO_SCENE_13, EVENT_OUTRO_SCENE_14, EVENT_OUTRO_SCENE_15, EVENT_OUTRO_SCENE_16, EVENT_OUTRO_SCENE_17, EVENT_OUTRO_SCENE_18, EVENT_OUTRO_SCENE_19, EVENT_OUTRO_SCENE_2, EVENT_OUTRO_SCENE_3, EVENT_OUTRO_SCENE_4, EVENT_OUTRO_SCENE_5, EVENT_OUTRO_SCENE_6, EVENT_OUTRO_SCENE_7, EVENT_OUTRO_SCENE_8, EVENT_OUTRO_SCENE_9, ScriptedAI::me, POINT_MOTION_TYPE, Unit::RemoveAurasDueToSpell(), and SPELL_THE_LIGHT_OF_DAWN.

◆ Reset()

void npc_highlord_darion_mograine::Reset ( )
inlineoverridevirtual

Reimplemented from UnitAI.

1781 {
1782 if (resetExecuted)
1783 return;
1784
1785 resetExecuted = true;
1786 JustRespawned();
1787 }
void JustRespawned() override
Definition zone_the_scarlet_enclave.cpp:1789

References JustRespawned(), and resetExecuted.

◆ SendInitialWorldStates()

void npc_highlord_darion_mograine::SendInitialWorldStates ( )
inline

References GetData(), SendUpdateWorldState(), WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_ENABLE, WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME, WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT, WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_EVENT_BEGIN_ENABLE, WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT, and WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SOLDIERS_ENABLE.

Referenced by DoAction(), and JustRespawned().

◆ SendUpdateWorldState()

void npc_highlord_darion_mograine::SendUpdateWorldState ( uint32  id,
uint32  state 
)
inline
1673 {
1674 Map::PlayerList const& players = me->GetMap()->GetPlayers();
1675 if (!players.IsEmpty())
1676 for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
1677 if (Player* player = itr->GetSource())
1678 if (player->GetPhaseMask() & 128) // Xinef: client skips players without chapter 5 aura anyway, speedup
1679 player->SendUpdateWorldState(id, state);
1680 }
Definition LinkedList.h:139
bool IsEmpty() const
Definition LinkedList.h:97
Definition MapRefMgr.h:26
iterator begin()
Definition MapRefMgr.h:36
iterator end()
Definition MapRefMgr.h:37
PlayerList const & GetPlayers() const
Definition Map.h:335
Definition Player.h:1086
Map * GetMap() const
Definition Object.h:631

References MapRefMgr::begin(), MapRefMgr::end(), WorldObject::GetMap(), Map::GetPlayers(), LinkedListHead::IsEmpty(), and ScriptedAI::me.

Referenced by SendInitialWorldStates(), SummonedCreatureDies(), and UpdateAI().

◆ sGossipHello()

void npc_highlord_darion_mograine::sGossipHello ( Player player)
inlineoverridevirtual

Reimplemented from UnitAI.

1600 {
1601 ClearGossipMenuFor(player);
1602
1603 if (me->IsQuestGiver())
1604 player->PrepareQuestMenu(me->GetGUID());
1605
1608
1609 SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID());
1610 }
@ QUEST_STATUS_INCOMPLETE
Definition QuestDef.h:103
void AddGossipItemFor(Player *player, uint32 icon, std::string const &text, uint32 sender, uint32 action)
Definition ScriptedGossip.cpp:28
void SendGossipMenuFor(Player *player, uint32 npcTextID, ObjectGuid const &guid)
Definition ScriptedGossip.cpp:45
void ClearGossipMenuFor(Player *player)
Definition ScriptedGossip.cpp:22
@ GOSSIP_SENDER_MAIN
Definition ScriptedGossip.h:70
@ GOSSIP_ACTION_INFO_DEF
Definition ScriptedGossip.h:68
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:114
void PrepareQuestMenu(ObjectGuid guid)
Definition PlayerQuest.cpp:40
QuestStatus GetQuestStatus(uint32 quest_id) const
Definition PlayerQuest.cpp:1489
uint32 GetGossipTextId(uint32 menuId, WorldObject *source)
Definition PlayerGossip.cpp:409
bool IsQuestGiver() const
Definition Unit.h:806

References AddGossipItemFor(), ClearGossipMenuFor(), GetData(), Player::GetGossipTextId(), Object::GetGUID(), Player::GetQuestStatus(), GOSSIP_ACTION_INFO_DEF, GOSSIP_SENDER_MAIN, Unit::IsQuestGiver(), ScriptedAI::me, Player::PrepareQuestMenu(), QUEST_STATUS_INCOMPLETE, SendGossipMenuFor(), and WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SOLDIERS_ENABLE.

◆ sGossipSelect()

void npc_highlord_darion_mograine::sGossipSelect ( Player player,
uint32  ,
uint32  gossipListId 
)
inlineoverridevirtual

Reimplemented from UnitAI.

1613 {
1614 if (player->PlayerTalkClass->GetGossipOptionAction(gossipListId) == GOSSIP_ACTION_INFO_DEF + 1)
1615 {
1616 ClearGossipMenuFor(player);
1617 CloseGossipMenuFor(player);
1619 }
1620 }
void CloseGossipMenuFor(Player *player)
Definition ScriptedGossip.cpp:56
uint32 GetGossipOptionAction(uint32 selection) const
Definition GossipDef.h:271
PlayerMenu * PlayerTalkClass
Definition Player.h:2285
void DoAction(int32 param) override
Definition zone_the_scarlet_enclave.cpp:1622

References ACTION_START_EVENT, ClearGossipMenuFor(), CloseGossipMenuFor(), DoAction(), PlayerMenu::GetGossipOptionAction(), GOSSIP_ACTION_INFO_DEF, and Player::PlayerTalkClass.

◆ SummonedCreatureDies()

void npc_highlord_darion_mograine::SummonedCreatureDies ( Creature creature,
Unit  
)
inlineoverridevirtual

Reimplemented from CreatureAI.

1715 {
1716 // Refill Armies and update counters
1718 return;
1719
1720 me->m_Events.AddEventAtOffset(new DelayedSummonEvent(me, creature->GetEntry(), *creature), 3s);
1721 if (creature->GetEntry() >= NPC_RAMPAGING_ABOMINATION)
1722 {
1725 }
1726 else
1727 {
1730
1731 if (defendersRemaining == 200)
1732 FinishFight();
1733 }
1734 }
Definition zone_the_scarlet_enclave.cpp:1565
void AddEventAtOffset(BasicEvent *event, Milliseconds offset, uint8 eventGroup=0)
Definition EventProcessor.h:108
EventProcessor m_Events
Definition Object.h:742
void FinishFight()
Definition zone_the_scarlet_enclave.cpp:1743
@ NPC_RAMPAGING_ABOMINATION
Definition zone_the_scarlet_enclave.cpp:1475

References EventProcessor::AddEventAtOffset(), battleStarted, defendersRemaining, ENCOUNTER_STATE_FIGHT, FinishFight(), GetData(), Object::GetEntry(), WorldObject::m_Events, ScriptedAI::me, NPC_RAMPAGING_ABOMINATION, scourgeRemaining, SendUpdateWorldState(), WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT, and WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT.

◆ UpdateAI()

void npc_highlord_darion_mograine::UpdateAI ( uint32  )
inlineoverridevirtual

Use to start attacking a target. Called just before JustEngagedWith()

Implements UnitAI.

1851 {
1852 events.Update(diff);
1853 uint32 eventId = events.ExecuteEvent();
1854
1855 switch (eventId)
1856 {
1859 break;
1862 break;
1865 break;
1869 break;
1873 Talk(SAY_LIGHT_OF_DAWN04); // Wrong order in DB!
1877 break;
1883 if (eventId == EVENT_START_COUNTDOWN_6)
1884 {
1887 }
1888 else
1891 break;
1894 break;
1897 break;
1899 {
1900 uint8 first = 1;
1901 for (SummonList::const_iterator itr = summons.begin(); itr != summons.end(); ++itr)
1902 {
1903 if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr))
1904 {
1905 Position pos = LightOfDawnPos[first];
1906 summon->SetHomePosition(pos);
1907 summon->GetMotionMaster()->MovePoint(1, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), FORCED_MOVEMENT_NONE, 0.f, 0.f, true, false);
1908 }
1909 first = first == 0 ? 1 : 0;
1910 }
1911 Position pos = LightOfDawnPos[first];
1912 me->SetHomePosition(pos);
1913 me->SetWalk(false);
1914 me->GetMotionMaster()->MovePoint(1, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), FORCED_MOVEMENT_NONE, 0.f, 0.f, true, true);
1916 break;
1917 }
1919 me->SetImmuneToAll(false);
1921 return;
1925 break;
1927 {
1933
1935 {
1936 orbaz->SetReactState(REACT_PASSIVE);
1937 orbaz->AI()->Talk(EMOTE_LIGHT_OF_DAWN04);
1938 orbaz->GetMotionMaster()->MovePoint(2, LightOfDawnPos[2], FORCED_MOVEMENT_NONE, 0.f, true, true);
1939 orbaz->DespawnOrUnsummon(7s);
1940 }
1941
1942 for (SummonList::const_iterator itr = summons.begin(); itr != summons.end(); ++itr)
1943 if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr))
1944 {
1945 summon->CombatStop(true);
1946 summon->GetThreatMgr().ClearAllThreat();
1947 summon->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
1948 summon->SetImmuneToAll(true);
1949 summon->SetReactState(REACT_PASSIVE);
1950 summon->GetMotionMaster()->Clear(false);
1951 }
1952 me->CombatStop(true);
1954 me->SetImmuneToAll(true);
1956 me->GetMotionMaster()->Clear(false);
1957
1958 // Position main stars
1960
1961 me->SummonCreature(NPC_DEFENDER_OF_THE_LIGHT, 2276.66f, -5273.60f, 81.86f, 5.14f, TEMPSUMMON_CORPSE_DESPAWN);
1962 me->SummonCreature(NPC_DEFENDER_OF_THE_LIGHT, 2272.11f, -5279.08f, 82.01f, 5.69f, TEMPSUMMON_CORPSE_DESPAWN);
1963 me->SummonCreature(NPC_DEFENDER_OF_THE_LIGHT, 2285.11f, -5276.73f, 82.08f, 4.23f, TEMPSUMMON_CORPSE_DESPAWN);
1964 me->SummonCreature(NPC_DEFENDER_OF_THE_LIGHT, 2290.06f, -5286.41f, 82.51f, 3.16f, TEMPSUMMON_CORPSE_DESPAWN);
1965 break;
1966 }
1969 {
1970 koltira->SetWalk(true);
1971 koltira->SetHomePosition(*koltira);
1972 koltira->CastSpell(koltira, SPELL_THE_LIGHT_OF_DAWN, false);
1973 koltira->GetMotionMaster()->MoveCharge(LightOfDawnPos[3].GetPositionX(), LightOfDawnPos[3].GetPositionY(), LightOfDawnPos[3].GetPositionZ(), 4.0f, 2);
1974 }
1975 break;
1978 {
1979 thassarin->SetWalk(true);
1980 thassarin->SetHomePosition(*thassarin);
1981 thassarin->CastSpell(thassarin, SPELL_THE_LIGHT_OF_DAWN, false);
1982 thassarin->GetMotionMaster()->MoveCharge(LightOfDawnPos[4].GetPositionX(), LightOfDawnPos[4].GetPositionY(), LightOfDawnPos[4].GetPositionZ(), 4.0f, 2);
1983 }
1984 break;
1986 me->SetWalk(true);
1988 me->RemoveAllAuras();
1991
1993 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN26);
1994 break;
1997 me->SetFacingTo(4.8f);
1999 break;
2002 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN28);
2003 break;
2006 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN29);
2007 break;
2010 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN30);
2011 break;
2015 break;
2018 {
2019 alex->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
2020 alex->GetMotionMaster()->MovePoint(0, LightOfDawnPos[8].GetPositionX(), LightOfDawnPos[8].GetPositionY(), LightOfDawnPos[8].GetPositionZ());
2021 alex->CastSpell(alex, SPELL_ALEXANDROS_MOGRAINE_SPAWN, true);
2022 //alex->AI()->Talk(EMOTE_LIGHT_OF_DAWN06);
2023 }
2024 break;
2027 {
2028 alex->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
2029 alex->AI()->Talk(SAY_LIGHT_OF_DAWN32);
2030 me->SetFacingToObject(alex);
2031 }
2032 break;
2035 break;
2039 break;
2042 {
2043 darion->AI()->Talk(SAY_LIGHT_OF_DAWN35);
2044 darion->SetWalk(false);
2045 }
2046 break;
2049 {
2050 //darion->AI()->Talk(EMOTE_LIGHT_OF_DAWN07);
2051 darion->GetMotionMaster()->MovePoint(0, LightOfDawnPos[10].GetPositionX(), LightOfDawnPos[10].GetPositionY(), LightOfDawnPos[10].GetPositionZ());
2052 }
2053 break;
2056 darion->AI()->Talk(EMOTE_LIGHT_OF_DAWN08);
2057 break;
2060 darion->AI()->Talk(SAY_LIGHT_OF_DAWN36);
2061 break;
2064 alex->AI()->Talk(SAY_LIGHT_OF_DAWN37);
2065 break;
2068 darion->AI()->Talk(SAY_LIGHT_OF_DAWN38);
2069 break;
2072 alex->AI()->Talk(SAY_LIGHT_OF_DAWN39);
2073
2075 tirion->GetMotionMaster()->MovePoint(0, LightOfDawnPos[11].GetPositionX(), LightOfDawnPos[11].GetPositionY(), LightOfDawnPos[11].GetPositionZ());
2076 break;
2079 darion->AI()->Talk(SAY_LIGHT_OF_DAWN40);
2080 break;
2083 alex->AI()->Talk(SAY_LIGHT_OF_DAWN41);
2084
2086 darion->DespawnOrUnsummon(3s);
2087 break;
2090 alex->AI()->Talk(SAY_LIGHT_OF_DAWN42);
2091
2092 events.Reset();
2093 events.ScheduleEvent(EVENT_OUTRO_SCENE_20, 4s);
2094 events.ScheduleEvent(EVENT_OUTRO_SCENE_21, 4s + 500ms);
2095 events.ScheduleEvent(EVENT_OUTRO_SCENE_22, 7s);
2096 events.ScheduleEvent(EVENT_OUTRO_SCENE_23, 9s);
2097 events.ScheduleEvent(EVENT_OUTRO_SCENE_24, 14s);
2098 events.ScheduleEvent(EVENT_OUTRO_SCENE_25, 21s + 200ms);
2099 events.ScheduleEvent(EVENT_OUTRO_SCENE_26, 22s + 500ms);
2100 events.ScheduleEvent(EVENT_OUTRO_SCENE_27, 24s);
2101 events.ScheduleEvent(EVENT_OUTRO_SCENE_28, 28s);
2102 events.ScheduleEvent(EVENT_OUTRO_SCENE_29, 34s);
2103 events.ScheduleEvent(EVENT_OUTRO_SCENE_30, 36s);
2104 events.ScheduleEvent(EVENT_OUTRO_SCENE_31, 51s);
2105 events.ScheduleEvent(EVENT_OUTRO_SCENE_32, 68s);
2106 events.ScheduleEvent(EVENT_OUTRO_SCENE_33, 73s);
2107 events.ScheduleEvent(EVENT_OUTRO_SCENE_34, 76s);
2108 events.ScheduleEvent(EVENT_OUTRO_SCENE_35, 77s);
2109 events.ScheduleEvent(EVENT_OUTRO_SCENE_36, 81s);
2110 break;
2113 lk->AI()->Talk(SAY_LIGHT_OF_DAWN43);
2114 break;
2117 lk->CastSpell(lk, SPELL_ICEBOUND_VISAGE, true);
2118 break;
2121 {
2122 lk->AI()->Talk(SAY_LIGHT_OF_DAWN45);
2124 {
2125 alex->RemoveAllAuras();
2126 lk->CastSpell(alex, SPELL_SOUL_FEAST_ALEX, false);
2127 }
2128 }
2129 break;
2132 {
2133 alex->DespawnOrUnsummon(5s);
2134 alex->SetVisible(false);
2135 }
2136 break;
2140 break;
2143 lk->GetMotionMaster()->MovePoint(0, LightOfDawnPos[13].GetPositionX(), LightOfDawnPos[13].GetPositionY(), LightOfDawnPos[13].GetPositionZ());
2144 break;
2147 break;
2150 {
2151 lk->AI()->Talk(SAY_LIGHT_OF_DAWN46);
2152 // Mograine's charge puts him inside the Lich King's collision, so we need to teleport him out
2153 // Otherwise, Rebuke will kick him the wrong direction
2154 me->NearTeleportTo(2279.7493f, -5258.1f, 80.065f, 4.3419204f);
2155 lk->m_Events.AddEventAtOffset([&, lk] {
2156 lk->CastSpell(me, SPELL_REBUKE, false);
2157 }, 1s);
2158 }
2159 break;
2163 {
2164 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN47);
2166 tirion->SetFacingToObject(lk);
2167 }
2168 break;
2171 {
2172 lk->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH);
2173 lk->PlayDirectSound(14820);
2174 }
2175 break;
2178 lk->AI()->Talk(SAY_LIGHT_OF_DAWN48);
2179 break;
2182 lk->AI()->Talk(SAY_LIGHT_OF_DAWN49);
2183 break;
2186 {
2188 {
2189 lk->CastSpell(lk, SPELL_SOUL_FEAST_TIRION, false);
2190 tirion->AI()->Talk(EMOTE_LIGHT_OF_DAWN12);
2191 }
2192
2193 for (SummonList::const_iterator itr = summons.begin(); itr != summons.end(); ++itr)
2194 if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr))
2195 if (summon->GetEntry() <= NPC_RIMBLAT_EARTHSHATTER && summon->GetEntry() != NPC_HIGHLORD_TIRION_FORDRING)
2196 {
2197 float o = lk->GetAngle(summon);
2198 summon->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
2199 summon->GetMotionMaster()->MovePoint(3, lk->GetPositionX() + 2.0f * cos(o), lk->GetPositionY() + 2.0f * std::sin(o), lk->GetPositionZ());
2200 summon->ToTempSummon()->SetTempSummonType(TEMPSUMMON_MANUAL_DESPAWN);
2201 }
2202 }
2203 break;
2206 {
2207 lk->AI()->Talk(SAY_LIGHT_OF_DAWN51);
2208 lk->CastSpell(lk, SPELL_APOCALYPSE, true);
2209 }
2210 break;
2212 for (SummonList::const_iterator itr = summons.begin(); itr != summons.end(); ++itr)
2213 if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr))
2214 if (summon->GetEntry() <= NPC_RIMBLAT_EARTHSHATTER && summon->GetEntry() != NPC_HIGHLORD_TIRION_FORDRING)
2215 Unit::Kill(summon, summon);
2216 break;
2219 break;
2224 me->SetFacingToObject(tirion);
2225
2226 events.Reset();
2227 events.ScheduleEvent(EVENT_OUTRO_SCENE_37, 1s);
2228 events.ScheduleEvent(EVENT_OUTRO_SCENE_38, 5s);
2229 events.ScheduleEvent(EVENT_OUTRO_SCENE_39, 7s);
2230 events.ScheduleEvent(EVENT_OUTRO_SCENE_40, 9s);
2231 events.ScheduleEvent(EVENT_OUTRO_SCENE_41, 13s);
2232 events.ScheduleEvent(EVENT_OUTRO_SCENE_42, 16s);
2233 events.ScheduleEvent(EVENT_OUTRO_SCENE_43, 17s);
2234 events.ScheduleEvent(EVENT_OUTRO_SCENE_44, 19s);
2235 events.ScheduleEvent(EVENT_OUTRO_SCENE_45, 25s);
2236 events.ScheduleEvent(EVENT_OUTRO_SCENE_46, 32s);
2237 events.ScheduleEvent(EVENT_OUTRO_SCENE_47, 42s);
2238 events.ScheduleEvent(EVENT_OUTRO_SCENE_48, 52s);
2239 events.ScheduleEvent(EVENT_OUTRO_SCENE_49, 54s);
2240 events.ScheduleEvent(EVENT_OUTRO_SCENE_50, 58s);
2241 events.ScheduleEvent(EVENT_OUTRO_SCENE_51, 65s);
2242 events.ScheduleEvent(EVENT_OUTRO_SCENE_52, 70s);
2243 events.ScheduleEvent(EVENT_OUTRO_SCENE_53, 84s);
2244 break;
2248 break;
2251 {
2252 tirion->RemoveAllAuras();
2253 tirion->CastSpell(me, SPELL_REBIRTH_OF_THE_ASHBRINGER, true);
2254 tirion->SummonGameObject(GO_LIGHT_OF_DAWN, tirion->GetPositionX(), tirion->GetPositionY(), tirion->GetPositionZ(), tirion->GetOrientation(), 0, 0, 0, 0, 180);
2255 tirion->LoadEquipment(1, true);
2256 }
2258 break;
2261 {
2262 tirion->RemoveAllAuras();
2263 tirion->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
2264 }
2265 break;
2268 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN54);
2269 break;
2272 lk->AI()->Talk(SAY_LIGHT_OF_DAWN55);
2273 break;
2276 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN56);
2277 break;
2280 {
2281 tirion->CastSpell(tirion, SPELL_TIRION_CHARGE, true);
2282 tirion->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H);
2283 tirion->SetImmuneToAll(true);
2284 }
2285 break;
2288 lk->AI()->Talk(SAY_LIGHT_OF_DAWN57);
2289 break;
2292 lk->AI()->Talk(SAY_LIGHT_OF_DAWN58);
2293 break;
2296 lk->AI()->Talk(SAY_LIGHT_OF_DAWN59);
2297 break;
2300 {
2301 lk->CastSpell(lk, SPELL_EXIT_TELEPORT_VISUAL, true);
2302 lk->DespawnOrUnsummon(1500ms);
2303 }
2304
2306 {
2307 float o = me->GetAngle(tirion);
2308 tirion->GetMotionMaster()->MovePoint(4, me->GetPositionX() + 2.0f * cos(o), me->GetPositionY() + 2.0f * std::sin(o), me->GetPositionZ(), FORCED_MOVEMENT_NONE, 0.f, 0.f, false);
2309 tirion->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
2310 tirion->SetFaction(FACTION_FRIENDLY);
2311 }
2312 break;
2315 tirion->CastSpell(me, SPELL_LAY_ON_HANDS, false);
2317 break;
2320 {
2321 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN60);
2322 tirion->SetWalk(true);
2323 }
2324 break;
2327 tirion->GetMotionMaster()->MovePoint(4, LightOfDawnPos[14].GetPositionX(), LightOfDawnPos[14].GetPositionY(), LightOfDawnPos[14].GetPositionZ());
2328 break;
2331 tirion->GetMotionMaster()->MovePoint(4, LightOfDawnPos[15].GetPositionX(), LightOfDawnPos[15].GetPositionY(), LightOfDawnPos[15].GetPositionZ());
2332 break;
2335 {
2336 tirion->SetFacingToObject(me);
2337 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN61);
2338 }
2339 break;
2342 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN62);
2343
2344 events.Reset();
2345 events.ScheduleEvent(EVENT_OUTRO_SCENE_54, 6s);
2346 events.ScheduleEvent(EVENT_OUTRO_SCENE_55, 14s);
2347 events.ScheduleEvent(EVENT_OUTRO_SCENE_56, 27s);
2348 events.ScheduleEvent(EVENT_OUTRO_SCENE_57, 37s);
2349 events.ScheduleEvent(EVENT_OUTRO_SCENE_58, 44s);
2350 events.ScheduleEvent(EVENT_OUTRO_SCENE_59, 50s);
2351 events.ScheduleEvent(EVENT_OUTRO_SCENE_60, 63s);
2352 events.ScheduleEvent(EVENT_OUTRO_SCENE_61, 150s);
2353 break;
2356 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN63);
2357 break;
2360 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN64);
2361 break;
2364 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN65);
2365 break;
2368 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN66);
2369 break;
2372 tirion->AI()->Talk(SAY_LIGHT_OF_DAWN67);
2373 break;
2377 break;
2379 {
2380 Map::PlayerList const& PlayerList = me->GetMap()->GetPlayers();
2381 if (!PlayerList.IsEmpty())
2382 {
2383 for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
2384 if (i->GetSource()->IsAlive() && me->IsWithinDistInMap(i->GetSource(), 100))
2385 i->GetSource()->CastSpell(i->GetSource(), SPELL_THE_LIGHT_OF_DAWN_Q, false);
2386 }
2388 break;
2389 }
2392 me->DespawnOrUnsummon(1ms);
2393 events.Reset();
2394 return;
2395 }
2396
2398 return;
2399
2400 if (!UpdateVictim())
2401 return;
2402
2403 switch (eventId)
2404 {
2407 events.RescheduleEvent(eventId, 30s, 45s);
2408 break;
2411 events.RescheduleEvent(eventId, 5s, 35s);
2412 break;
2415 events.RescheduleEvent(eventId, 45s, 60s);
2416 break;
2419 events.RescheduleEvent(eventId, 60s);
2420 break;
2424 events.RescheduleEvent(eventId, 15s, 25s);
2425 break;
2426 }
2427
2429 }
@ EQUIP_UNEQUIP
Definition CreatureAI.h:65
std::uint8_t uint8
Definition Define.h:109
std::uint32_t uint32
Definition Define.h:107
@ FORCED_MOVEMENT_NONE
Definition MotionMaster.h:86
@ TEMPSUMMON_MANUAL_DESPAWN
Definition Object.h:56
@ TEMPSUMMON_CORPSE_DESPAWN
Definition Object.h:53
@ EMOTE_ONESHOT_LAUGH
Definition SharedDefines.h:1907
@ EMOTE_ONESHOT_ROAR
Definition SharedDefines.h:1911
@ EMOTE_STATE_READY2H
Definition SharedDefines.h:1974
@ EMOTE_ONESHOT_NONE
Definition SharedDefines.h:1898
@ FACTION_FRIENDLY
Definition SharedDefines.h:189
@ UNIT_STAND_STATE_DEAD
Definition UnitDefines.h:42
@ UNIT_STAND_STATE_KNEEL
Definition UnitDefines.h:43
@ UNIT_NPC_FLAG_NONE
Definition UnitDefines.h:321
@ UNIT_FLAG_NON_ATTACKABLE
Definition UnitDefines.h:258
@ UNIT_FLAG_NOT_SELECTABLE
Definition UnitDefines.h:282
@ UNIT_VIRTUAL_ITEM_SLOT_ID
Definition UpdateFields.h:116
bool UpdateVictim()
Definition CreatureAI.cpp:350
void SetHomePosition(float x, float y, float z, float o)
Definition Creature.h:347
void DespawnOrUnsummon(Milliseconds msTimeToDespawn=0ms, Seconds forcedRespawnTimer=0s)
Definition Creature.cpp:2199
void MovePoint(uint32 id, Position const &pos, ForcedMovement forcedMovement=FORCED_MOVEMENT_NONE, float speed=0.f, bool generatePath=true, bool forceDestination=true, std::optional< AnimTier > animTier=std::nullopt)
Definition MotionMaster.h:240
void Clear(bool reset=true)
Definition MotionMaster.h:193
void DespawnEntry(uint32 entry)
Definition ScriptedCreature.cpp:55
void DoAction(int32 info, uint16 max=0)
Definition ScriptedCreature.h:102
void ClearAllThreat()
Definition ThreatManager.cpp:575
void DoMeleeAttackIfReady()
Definition UnitAI.cpp:41
SpellCastResult DoCastVictim(uint32 spellId, bool triggered=false)
Definition UnitAI.cpp:278
SpellCastResult DoCastSelf(uint32 spellId, bool triggered=false)
Definition UnitAI.h:394
SpellCastResult DoCast(uint32 spellId)
Definition UnitAI.cpp:179
void SetFacingToObject(WorldObject *object, Milliseconds timed=0ms)
Definition Unit.cpp:16465
void SetFacingTo(float ori)
Definition Unit.cpp:16455
static void Kill(Unit *killer, Unit *victim, bool durabilityLoss=true, WeaponAttackType attackType=BASE_ATTACK, SpellInfo const *spellProto=nullptr, Spell const *spell=nullptr)
Definition Unit.cpp:13975
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition Unit.cpp:1361
ThreatManager & GetThreatMgr()
Definition Unit.h:952
void RemoveAllAuras()
Definition Unit.cpp:5612
void NearTeleportTo(Position &pos, bool casting=false, bool vehicleTeleport=false, bool withPet=false, bool removeTransport=false)
Definition Unit.cpp:15959
void CombatStop(bool includingCast=false, bool mutualPvP=true)
Definition Unit.cpp:7532
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
Definition Object.cpp:1381
float GetAngle(Position const *pos) const
Definition Position.cpp:85
float GetOrientation() const
Definition Position.h:124
Creature * GetEntryFromSummons(uint32 entry)
Definition zone_the_scarlet_enclave.cpp:1811
@ GO_LIGHT_OF_DAWN
Definition zone_the_scarlet_enclave.cpp:1495
@ SPELL_TIRION_CHARGE
Definition zone_the_scarlet_enclave.cpp:1524
@ SPELL_DEATH_EMBRACE
Definition zone_the_scarlet_enclave.cpp:1508
@ SPELL_MOGRAINE_CHARGE
Definition zone_the_scarlet_enclave.cpp:1518
@ SPELL_DEATH_STRIKE
Definition zone_the_scarlet_enclave.cpp:1507
@ SPELL_THE_MIGHT_OF_MOGRAINE
Definition zone_the_scarlet_enclave.cpp:1503
@ SPELL_DARION_MOD_DAMAGE
Definition zone_the_scarlet_enclave.cpp:1511
@ SPELL_SOUL_FEAST_TIRION
Definition zone_the_scarlet_enclave.cpp:1520
@ SPELL_UNHOLY_BLIGHT
Definition zone_the_scarlet_enclave.cpp:1510
@ SPELL_ICEBOUND_VISAGE
Definition zone_the_scarlet_enclave.cpp:1516
@ SPELL_EXIT_TELEPORT_VISUAL
Definition zone_the_scarlet_enclave.cpp:1525
@ SPELL_CAMERA_SHAKE_INIT
Definition zone_the_scarlet_enclave.cpp:1501
@ SPELL_APOCALYPSE
Definition zone_the_scarlet_enclave.cpp:1521
@ SPELL_ANTI_MAGIC_ZONE1
Definition zone_the_scarlet_enclave.cpp:1506
@ SPELL_CAMERA_SHAKE
Definition zone_the_scarlet_enclave.cpp:1502
@ SPELL_LAY_ON_HANDS
Definition zone_the_scarlet_enclave.cpp:1526
@ SPELL_THROW_ASHBRINGER
Definition zone_the_scarlet_enclave.cpp:1522
@ SPELL_SOUL_FEAST_ALEX
Definition zone_the_scarlet_enclave.cpp:1517
@ SPELL_REBIRTH_OF_THE_ASHBRINGER
Definition zone_the_scarlet_enclave.cpp:1523
@ SPELL_THE_LIGHT_OF_DAWN_Q
Definition zone_the_scarlet_enclave.cpp:1527
@ SPELL_ALEXANDROS_MOGRAINE_SPAWN
Definition zone_the_scarlet_enclave.cpp:1515
@ SPELL_REBUKE
Definition zone_the_scarlet_enclave.cpp:1519
@ EVENT_OUTRO_SCENE_38
Definition zone_the_scarlet_enclave.cpp:1424
@ EVENT_OUTRO_SCENE_23
Definition zone_the_scarlet_enclave.cpp:1409
@ EVENT_OUTRO_SCENE_25
Definition zone_the_scarlet_enclave.cpp:1411
@ EVENT_OUTRO_SCENE_30
Definition zone_the_scarlet_enclave.cpp:1416
@ EVENT_OUTRO_SCENE_32
Definition zone_the_scarlet_enclave.cpp:1418
@ EVENT_OUTRO_SCENE_60
Definition zone_the_scarlet_enclave.cpp:1446
@ EVENT_OUTRO_SCENE_35
Definition zone_the_scarlet_enclave.cpp:1421
@ EVENT_OUTRO_SCENE_55
Definition zone_the_scarlet_enclave.cpp:1441
@ EVENT_OUTRO_SCENE_24
Definition zone_the_scarlet_enclave.cpp:1410
@ EVENT_OUTRO_SCENE_61
Definition zone_the_scarlet_enclave.cpp:1447
@ EVENT_OUTRO_SCENE_59
Definition zone_the_scarlet_enclave.cpp:1445
@ EVENT_OUTRO_SCENE_40
Definition zone_the_scarlet_enclave.cpp:1426
@ EVENT_OUTRO_SCENE_51
Definition zone_the_scarlet_enclave.cpp:1437
@ EVENT_OUTRO_SCENE_36
Definition zone_the_scarlet_enclave.cpp:1422
@ EVENT_OUTRO_SCENE_21
Definition zone_the_scarlet_enclave.cpp:1407
@ EVENT_OUTRO_SCENE_48
Definition zone_the_scarlet_enclave.cpp:1434
@ EVENT_OUTRO_SCENE_34
Definition zone_the_scarlet_enclave.cpp:1420
@ EVENT_OUTRO_SCENE_29
Definition zone_the_scarlet_enclave.cpp:1415
@ EVENT_OUTRO_SCENE_33
Definition zone_the_scarlet_enclave.cpp:1419
@ EVENT_OUTRO_SCENE_57
Definition zone_the_scarlet_enclave.cpp:1443
@ EVENT_OUTRO_SCENE_43
Definition zone_the_scarlet_enclave.cpp:1429
@ ACTION_POSITION_NPCS
Definition zone_the_scarlet_enclave.cpp:1451
@ EVENT_OUTRO_SCENE_47
Definition zone_the_scarlet_enclave.cpp:1433
@ EVENT_OUTRO_SCENE_31
Definition zone_the_scarlet_enclave.cpp:1417
@ EVENT_OUTRO_SCENE_58
Definition zone_the_scarlet_enclave.cpp:1444
@ EVENT_OUTRO_SCENE_46
Definition zone_the_scarlet_enclave.cpp:1432
@ EVENT_OUTRO_SCENE_52
Definition zone_the_scarlet_enclave.cpp:1438
@ EVENT_OUTRO_SCENE_20
Definition zone_the_scarlet_enclave.cpp:1406
@ EVENT_OUTRO_SCENE_26
Definition zone_the_scarlet_enclave.cpp:1412
@ ACTION_PLAY_EMOTE
Definition zone_the_scarlet_enclave.cpp:1450
@ EVENT_OUTRO_SCENE_22
Definition zone_the_scarlet_enclave.cpp:1408
@ EVENT_OUTRO_SCENE_37
Definition zone_the_scarlet_enclave.cpp:1423
@ EVENT_OUTRO_SCENE_56
Definition zone_the_scarlet_enclave.cpp:1442
@ EVENT_OUTRO_SCENE_45
Definition zone_the_scarlet_enclave.cpp:1431
@ EVENT_OUTRO_SCENE_54
Definition zone_the_scarlet_enclave.cpp:1440
@ EVENT_OUTRO_SCENE_44
Definition zone_the_scarlet_enclave.cpp:1430
@ EVENT_OUTRO_SCENE_49
Definition zone_the_scarlet_enclave.cpp:1435
@ EVENT_OUTRO_SCENE_53
Definition zone_the_scarlet_enclave.cpp:1439
@ EVENT_OUTRO_SCENE_27
Definition zone_the_scarlet_enclave.cpp:1413
@ EVENT_OUTRO_SCENE_28
Definition zone_the_scarlet_enclave.cpp:1414
@ EVENT_OUTRO_SCENE_42
Definition zone_the_scarlet_enclave.cpp:1428
@ EVENT_OUTRO_SCENE_41
Definition zone_the_scarlet_enclave.cpp:1427
@ EVENT_OUTRO_SCENE_39
Definition zone_the_scarlet_enclave.cpp:1425
@ EVENT_OUTRO_SCENE_50
Definition zone_the_scarlet_enclave.cpp:1436
@ SAY_LIGHT_OF_DAWN27
Definition zone_the_scarlet_enclave.cpp:1294
@ SAY_LIGHT_OF_DAWN59
Definition zone_the_scarlet_enclave.cpp:1326
@ SAY_LIGHT_OF_DAWN53
Definition zone_the_scarlet_enclave.cpp:1320
@ SAY_LIGHT_OF_DAWN38
Definition zone_the_scarlet_enclave.cpp:1305
@ SAY_LIGHT_OF_DAWN49
Definition zone_the_scarlet_enclave.cpp:1316
@ SAY_LIGHT_OF_DAWN32
Definition zone_the_scarlet_enclave.cpp:1299
@ SAY_LIGHT_OF_DAWN52
Definition zone_the_scarlet_enclave.cpp:1319
@ SAY_LIGHT_OF_DAWN37
Definition zone_the_scarlet_enclave.cpp:1304
@ SAY_LIGHT_OF_DAWN09
Definition zone_the_scarlet_enclave.cpp:1291
@ SAY_LIGHT_OF_DAWN42
Definition zone_the_scarlet_enclave.cpp:1309
@ SAY_LIGHT_OF_DAWN02
Definition zone_the_scarlet_enclave.cpp:1284
@ SAY_LIGHT_OF_DAWN04
Definition zone_the_scarlet_enclave.cpp:1286
@ SAY_LIGHT_OF_DAWN67
Definition zone_the_scarlet_enclave.cpp:1334
@ EMOTE_LIGHT_OF_DAWN08
Definition zone_the_scarlet_enclave.cpp:1344
@ SAY_LIGHT_OF_DAWN29
Definition zone_the_scarlet_enclave.cpp:1296
@ SAY_LIGHT_OF_DAWN56
Definition zone_the_scarlet_enclave.cpp:1323
@ SAY_LIGHT_OF_DAWN61
Definition zone_the_scarlet_enclave.cpp:1328
@ SAY_LIGHT_OF_DAWN47
Definition zone_the_scarlet_enclave.cpp:1314
@ SAY_LIGHT_OF_DAWN54
Definition zone_the_scarlet_enclave.cpp:1321
@ SAY_LIGHT_OF_DAWN26
Definition zone_the_scarlet_enclave.cpp:1293
@ SAY_LIGHT_OF_DAWN06
Definition zone_the_scarlet_enclave.cpp:1288
@ SAY_LIGHT_OF_DAWN41
Definition zone_the_scarlet_enclave.cpp:1308
@ SAY_LIGHT_OF_DAWN68
Definition zone_the_scarlet_enclave.cpp:1335
@ SAY_LIGHT_OF_DAWN31
Definition zone_the_scarlet_enclave.cpp:1298
@ SAY_LIGHT_OF_DAWN64
Definition zone_the_scarlet_enclave.cpp:1331
@ SAY_LIGHT_OF_DAWN58
Definition zone_the_scarlet_enclave.cpp:1325
@ SAY_LIGHT_OF_DAWN44
Definition zone_the_scarlet_enclave.cpp:1311
@ SAY_LIGHT_OF_DAWN46
Definition zone_the_scarlet_enclave.cpp:1313
@ EMOTE_LIGHT_OF_DAWN04
Definition zone_the_scarlet_enclave.cpp:1340
@ SAY_LIGHT_OF_DAWN35
Definition zone_the_scarlet_enclave.cpp:1302
@ SAY_LIGHT_OF_DAWN62
Definition zone_the_scarlet_enclave.cpp:1329
@ SAY_LIGHT_OF_DAWN65
Definition zone_the_scarlet_enclave.cpp:1332
@ SAY_LIGHT_OF_DAWN28
Definition zone_the_scarlet_enclave.cpp:1295
@ SAY_LIGHT_OF_DAWN34
Definition zone_the_scarlet_enclave.cpp:1301
@ SAY_LIGHT_OF_DAWN33
Definition zone_the_scarlet_enclave.cpp:1300
@ SAY_LIGHT_OF_DAWN40
Definition zone_the_scarlet_enclave.cpp:1307
@ SAY_LIGHT_OF_DAWN55
Definition zone_the_scarlet_enclave.cpp:1322
@ SAY_LIGHT_OF_DAWN30
Definition zone_the_scarlet_enclave.cpp:1297
@ SAY_LIGHT_OF_DAWN45
Definition zone_the_scarlet_enclave.cpp:1312
@ SAY_LIGHT_OF_DAWN57
Definition zone_the_scarlet_enclave.cpp:1324
@ SAY_LIGHT_OF_DAWN43
Definition zone_the_scarlet_enclave.cpp:1310
@ SAY_LIGHT_OF_DAWN36
Definition zone_the_scarlet_enclave.cpp:1303
@ SAY_LIGHT_OF_DAWN48
Definition zone_the_scarlet_enclave.cpp:1315
@ EMOTE_LIGHT_OF_DAWN12
Definition zone_the_scarlet_enclave.cpp:1348
@ SAY_LIGHT_OF_DAWN60
Definition zone_the_scarlet_enclave.cpp:1327
@ SAY_LIGHT_OF_DAWN39
Definition zone_the_scarlet_enclave.cpp:1306
@ SAY_LIGHT_OF_DAWN51
Definition zone_the_scarlet_enclave.cpp:1318
@ SAY_LIGHT_OF_DAWN05
Definition zone_the_scarlet_enclave.cpp:1287
@ SAY_LIGHT_OF_DAWN66
Definition zone_the_scarlet_enclave.cpp:1333
@ SAY_LIGHT_OF_DAWN63
Definition zone_the_scarlet_enclave.cpp:1330
@ NPC_THE_LICH_KING
Definition zone_the_scarlet_enclave.cpp:1489
@ NPC_FLESH_BEHEMOTH
Definition zone_the_scarlet_enclave.cpp:1478
@ NPC_ORBAZ_BLOODBANE
Definition zone_the_scarlet_enclave.cpp:1482
@ NPC_DARION_MOGRAINE
Definition zone_the_scarlet_enclave.cpp:1488
@ NPC_ACHERUS_GHOUL
Definition zone_the_scarlet_enclave.cpp:1476
@ NPC_WARRIOR_OF_THE_FROZEN_WASTES
Definition zone_the_scarlet_enclave.cpp:1477
@ NPC_THASSARIAN
Definition zone_the_scarlet_enclave.cpp:1483
@ NPC_RIMBLAT_EARTHSHATTER
Definition zone_the_scarlet_enclave.cpp:1472
@ NPC_HIGHLORD_ALEXANDROS_MOGRAINE
Definition zone_the_scarlet_enclave.cpp:1487
@ NPC_KOLTIRA_DEATHWEAVER
Definition zone_the_scarlet_enclave.cpp:1481

References ACTION_PLAY_EMOTE, ACTION_POSITION_NPCS, battleStarted, SummonList::begin(), MapRefMgr::begin(), Unit::CastSpell(), MotionMaster::Clear(), ThreatManager::ClearAllThreat(), Unit::CombatStop(), SummonList::DespawnAll(), SummonList::DespawnEntry(), Creature::DespawnOrUnsummon(), SummonList::DoAction(), UnitAI::DoCast(), UnitAI::DoCastSelf(), UnitAI::DoCastVictim(), UnitAI::DoMeleeAttackIfReady(), EMOTE_LIGHT_OF_DAWN04, EMOTE_LIGHT_OF_DAWN08, EMOTE_LIGHT_OF_DAWN12, EMOTE_ONESHOT_LAUGH, EMOTE_ONESHOT_NONE, EMOTE_ONESHOT_ROAR, EMOTE_STATE_READY2H, ENCOUNTER_STATE_FIGHT, ENCOUNTER_STATE_OUTRO, SummonList::end(), MapRefMgr::end(), EQUIP_UNEQUIP, EVENT_FINISH_FIGHT_1, EVENT_FINISH_FIGHT_2, EVENT_FINISH_FIGHT_3, EVENT_FINISH_FIGHT_4, EVENT_FINISH_FIGHT_5, EVENT_OUTRO_SCENE_1, EVENT_OUTRO_SCENE_10, EVENT_OUTRO_SCENE_11, EVENT_OUTRO_SCENE_12, EVENT_OUTRO_SCENE_13, EVENT_OUTRO_SCENE_14, EVENT_OUTRO_SCENE_15, EVENT_OUTRO_SCENE_16, EVENT_OUTRO_SCENE_17, EVENT_OUTRO_SCENE_18, EVENT_OUTRO_SCENE_19, EVENT_OUTRO_SCENE_2, EVENT_OUTRO_SCENE_20, EVENT_OUTRO_SCENE_21, EVENT_OUTRO_SCENE_22, EVENT_OUTRO_SCENE_23, EVENT_OUTRO_SCENE_24, EVENT_OUTRO_SCENE_25, EVENT_OUTRO_SCENE_26, EVENT_OUTRO_SCENE_27, EVENT_OUTRO_SCENE_28, EVENT_OUTRO_SCENE_29, EVENT_OUTRO_SCENE_3, EVENT_OUTRO_SCENE_30, EVENT_OUTRO_SCENE_31, EVENT_OUTRO_SCENE_32, EVENT_OUTRO_SCENE_33, EVENT_OUTRO_SCENE_34, EVENT_OUTRO_SCENE_35, EVENT_OUTRO_SCENE_36, EVENT_OUTRO_SCENE_37, EVENT_OUTRO_SCENE_38, EVENT_OUTRO_SCENE_39, EVENT_OUTRO_SCENE_4, EVENT_OUTRO_SCENE_40, EVENT_OUTRO_SCENE_41, EVENT_OUTRO_SCENE_42, EVENT_OUTRO_SCENE_43, EVENT_OUTRO_SCENE_44, EVENT_OUTRO_SCENE_45, EVENT_OUTRO_SCENE_46, EVENT_OUTRO_SCENE_47, EVENT_OUTRO_SCENE_48, EVENT_OUTRO_SCENE_49, EVENT_OUTRO_SCENE_5, EVENT_OUTRO_SCENE_50, EVENT_OUTRO_SCENE_51, EVENT_OUTRO_SCENE_52, EVENT_OUTRO_SCENE_53, EVENT_OUTRO_SCENE_54, EVENT_OUTRO_SCENE_55, EVENT_OUTRO_SCENE_56, EVENT_OUTRO_SCENE_57, EVENT_OUTRO_SCENE_58, EVENT_OUTRO_SCENE_59, EVENT_OUTRO_SCENE_6, EVENT_OUTRO_SCENE_60, EVENT_OUTRO_SCENE_61, EVENT_OUTRO_SCENE_7, EVENT_OUTRO_SCENE_8, EVENT_OUTRO_SCENE_9, EVENT_SPELL_ANTI_MAGIC_ZONE, EVENT_SPELL_DARION_MOD_DAMAGE, EVENT_SPELL_DEATH_EMBRACE, EVENT_SPELL_DEATH_STRIKE, EVENT_SPELL_UNHOLY_BLIGHT, EVENT_START_COUNTDOWN_1, EVENT_START_COUNTDOWN_10, EVENT_START_COUNTDOWN_11, EVENT_START_COUNTDOWN_12, EVENT_START_COUNTDOWN_13, EVENT_START_COUNTDOWN_14, EVENT_START_COUNTDOWN_2, EVENT_START_COUNTDOWN_3, EVENT_START_COUNTDOWN_4, EVENT_START_COUNTDOWN_5, EVENT_START_COUNTDOWN_6, EVENT_START_COUNTDOWN_7, EVENT_START_COUNTDOWN_8, EVENT_START_COUNTDOWN_9, FACTION_FRIENDLY, FORCED_MOVEMENT_NONE, Position::GetAngle(), ObjectAccessor::GetCreature(), GetEntryFromSummons(), WorldObject::GetMap(), Unit::GetMotionMaster(), Position::GetOrientation(), Map::GetPlayers(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Unit::GetThreatMgr(), GO_LIGHT_OF_DAWN, LinkedListHead::IsEmpty(), WorldObject::IsWithinDistInMap(), Unit::Kill(), LightOfDawnPos, ScriptedAI::me, MotionMaster::MoveCharge(), MotionMaster::MovePoint(), Unit::NearTeleportTo(), NPC_ACHERUS_GHOUL, NPC_DARION_MOGRAINE, NPC_DEFENDER_OF_THE_LIGHT, NPC_FLESH_BEHEMOTH, NPC_HIGHLORD_ALEXANDROS_MOGRAINE, NPC_HIGHLORD_TIRION_FORDRING, NPC_KOLTIRA_DEATHWEAVER, NPC_ORBAZ_BLOODBANE, NPC_RAMPAGING_ABOMINATION, NPC_RIMBLAT_EARTHSHATTER, NPC_THASSARIAN, NPC_THE_LICH_KING, NPC_WARRIOR_OF_THE_FROZEN_WASTES, REACT_PASSIVE, Unit::RemoveAllAuras(), Unit::ReplaceAllNpcFlags(), SAY_LIGHT_OF_DAWN02, SAY_LIGHT_OF_DAWN04, SAY_LIGHT_OF_DAWN05, SAY_LIGHT_OF_DAWN06, SAY_LIGHT_OF_DAWN09, SAY_LIGHT_OF_DAWN26, SAY_LIGHT_OF_DAWN27, SAY_LIGHT_OF_DAWN28, SAY_LIGHT_OF_DAWN29, SAY_LIGHT_OF_DAWN30, SAY_LIGHT_OF_DAWN31, SAY_LIGHT_OF_DAWN32, SAY_LIGHT_OF_DAWN33, SAY_LIGHT_OF_DAWN34, SAY_LIGHT_OF_DAWN35, SAY_LIGHT_OF_DAWN36, SAY_LIGHT_OF_DAWN37, SAY_LIGHT_OF_DAWN38, SAY_LIGHT_OF_DAWN39, SAY_LIGHT_OF_DAWN40, SAY_LIGHT_OF_DAWN41, SAY_LIGHT_OF_DAWN42, SAY_LIGHT_OF_DAWN43, SAY_LIGHT_OF_DAWN44, SAY_LIGHT_OF_DAWN45, SAY_LIGHT_OF_DAWN46, SAY_LIGHT_OF_DAWN47, SAY_LIGHT_OF_DAWN48, SAY_LIGHT_OF_DAWN49, SAY_LIGHT_OF_DAWN51, SAY_LIGHT_OF_DAWN52, SAY_LIGHT_OF_DAWN53, SAY_LIGHT_OF_DAWN54, SAY_LIGHT_OF_DAWN55, SAY_LIGHT_OF_DAWN56, SAY_LIGHT_OF_DAWN57, SAY_LIGHT_OF_DAWN58, SAY_LIGHT_OF_DAWN59, SAY_LIGHT_OF_DAWN60, SAY_LIGHT_OF_DAWN61, SAY_LIGHT_OF_DAWN62, SAY_LIGHT_OF_DAWN63, SAY_LIGHT_OF_DAWN64, SAY_LIGHT_OF_DAWN65, SAY_LIGHT_OF_DAWN66, SAY_LIGHT_OF_DAWN67, SAY_LIGHT_OF_DAWN68, SendUpdateWorldState(), Unit::SetFacingTo(), Unit::SetFacingToObject(), Creature::SetHomePosition(), Unit::SetImmuneToAll(), Creature::SetReactState(), Unit::SetStandState(), Unit::SetUInt32Value(), Creature::SetWalk(), SPELL_ALEXANDROS_MOGRAINE_SPAWN, SPELL_ANTI_MAGIC_ZONE1, SPELL_APOCALYPSE, SPELL_CAMERA_SHAKE, SPELL_CAMERA_SHAKE_INIT, SPELL_DARION_MOD_DAMAGE, SPELL_DEATH_EMBRACE, SPELL_DEATH_STRIKE, SPELL_EXIT_TELEPORT_VISUAL, SPELL_ICEBOUND_VISAGE, SPELL_LAY_ON_HANDS, SPELL_MOGRAINE_CHARGE, SPELL_REBIRTH_OF_THE_ASHBRINGER, SPELL_REBUKE, SPELL_SOUL_FEAST_ALEX, SPELL_SOUL_FEAST_TIRION, SPELL_THE_LIGHT_OF_DAWN, SPELL_THE_LIGHT_OF_DAWN_Q, SPELL_THE_MIGHT_OF_MOGRAINE, SPELL_THROW_ASHBRINGER, SPELL_TIRION_CHARGE, SPELL_UNHOLY_BLIGHT, WorldObject::SummonCreature(), WorldObject::SummonCreatureGroup(), summons, TEMPSUMMON_CORPSE_DESPAWN, TEMPSUMMON_MANUAL_DESPAWN, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, UNIT_FLAG_NON_ATTACKABLE, UNIT_FLAG_NOT_SELECTABLE, UNIT_NPC_EMOTESTATE, UNIT_NPC_FLAG_GOSSIP, UNIT_NPC_FLAG_NONE, UNIT_NPC_FLAG_QUESTGIVER, UNIT_STAND_STATE_DEAD, UNIT_STAND_STATE_KNEEL, UNIT_STAND_STATE_STAND, UNIT_VIRTUAL_ITEM_SLOT_ID, CreatureAI::UpdateVictim(), WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_ENABLE, WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME, and WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_EVENT_BEGIN_ENABLE.

Member Data Documentation

◆ battleStarted

◆ defendersRemaining

uint32 npc_highlord_darion_mograine::defendersRemaining

◆ events

EventMap npc_highlord_darion_mograine::events

◆ resetExecuted

bool npc_highlord_darion_mograine::resetExecuted

◆ scourgeRemaining

uint32 npc_highlord_darion_mograine::scourgeRemaining

◆ startTimeRemaining

uint32 npc_highlord_darion_mograine::startTimeRemaining

Referenced by DoAction(), GetData(), and JustRespawned().

◆ summons

SummonList npc_highlord_darion_mograine::summons

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