AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
npc_hor_leader::npc_hor_leaderAI Struct Reference
Inheritance diagram for npc_hor_leader::npc_hor_leaderAI:
NullCreatureAI CreatureAI UnitAI

Public Member Functions

 npc_hor_leaderAI (Creature *creature)
 
void Reset () override
 
void DoAction (int32 actionId) override
 
void UpdateAI (uint32 diff) override
 Use to start attacking a target. Called just before JustEngagedWith() More...
 
- Public Member Functions inherited from NullCreatureAI
 NullCreatureAI (Creature *c)
 
void MoveInLineOfSight (Unit *) override
 
void AttackStart (Unit *) override
 
void UpdateAI (uint32) override
 Use to start attacking a target. Called just before JustEngagedWith() More...
 
void EnterEvadeMode (EvadeReason) override
 
void OnCharmed (bool) override
 Called when unit is charmed. More...
 
- 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. More...
 
void Talk (uint8 id, Milliseconds delay)
 
WorldObjectGetSummoner () const
 Returns the summoner creature/object, if the creature is a temporary summon. More...
 
 CreatureAI (Creature *creature)
 
 ~CreatureAI () override
 
void MoveCircleChecks ()
 
void MoveBackwardsChecks ()
 
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At ================================= More...
 
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. More...
 
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 SummonedCreatureEvade (Creature *)
 
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
 Called when unit is charmed. More...
 
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 ================== More...
 
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields ======================================= More...
 
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 *)
 
virtual void OnAuraRemove (AuraApplication *, AuraRemoveMode)
 
- 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
 Use to start attacking a target. Called just before JustEngagedWith() More...
 
virtual void InitializeAI ()
 
virtual void Reset ()
 
virtual void OnCharmed (bool apply)=0
 Called when unit is charmed. More...
 
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
 
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: More...
 
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. More...
 
virtual void JustExitedCombat ()
 Called when the unit leaves combat. More...
 
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType)
 Called at any Damage to any victim (before damage apply) More...
 
virtual void DamageTaken (Unit *, uint32 &, DamageEffectType, SpellSchoolMask)
 Called at any Damage from any attacker (before damage apply) More...
 
virtual void HealReceived (Unit *, uint32 &)
 Called when the creature receives heal. More...
 
virtual void OnPowerUpdate (Powers, int32, int32, uint32)
 Called when the creature power updates. More...
 
virtual void HealDone (Unit *, uint32 &)
 Called when the unit heals. More...
 
virtual void OnCalculateMeleeDamageReceived (uint32 &, Unit *)
 Called during damage calculations. More...
 
virtual void OnCalculateSpellDamageReceived (int32 &, Unit *)
 
virtual void OnCalculatePeriodicTickReceived (uint32 &, Unit *)
 Called during calculation when receiving periodic healing or damage (DoT or HoT) More...
 
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. More...
 
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)
 Cast the spell on a random unit from the threat list. More...
 
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. More...
 
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. More...
 
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

InstanceScriptpInstance
 
EventMap events
 
bool first
 
bool shortver
 

Additional Inherited Members

- 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 NullCreatureAI
static int32 Permissible (Creature const *creature)
 
- 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
 
- Protected Attributes inherited from UnitAI
Unit *const me
 

Detailed Description

Constructor & Destructor Documentation

◆ npc_hor_leaderAI()

npc_hor_leader::npc_hor_leaderAI::npc_hor_leaderAI ( Creature creature)
inline
217 : NullCreatureAI(creature)
218 {
220 if (!pInstance)
221 me->IsAIEnabled = false;
223 }
@ DATA_INTRO
Definition: halls_of_reflection.h:30
Definition: PassiveAI.h:53
Creature *const me
Definition: CreatureAI.h:72
InstanceScript * GetInstanceScript() const
Definition: Object.cpp:1203
bool IsAIEnabled
Definition: Unit.h:1962
virtual uint32 GetData(uint32) const
Definition: ZoneScript.h:51
InstanceScript * pInstance
Definition: halls_of_reflection.cpp:225
bool first
Definition: halls_of_reflection.cpp:227

References DATA_INTRO, first, ZoneScript::GetData(), WorldObject::GetInstanceScript(), Unit::IsAIEnabled, CreatureAI::me, and pInstance.

Member Function Documentation

◆ DoAction()

void npc_hor_leader::npc_hor_leaderAI::DoAction ( int32  actionId)
inlineoverridevirtual

Reimplemented from UnitAI.

247 {
248 switch (actionId)
249 {
251 events.ScheduleEvent(EVENT_START_INTRO, 0ms);
252 break;
254 events.ScheduleEvent(EVENT_SKIP_INTRO, 0ms);
255 break;
256 }
257 }
events
Definition: boss_sartura.cpp:43
@ ACTION_SKIP_INTRO
Definition: halls_of_reflection.h:244
@ EVENT_START_INTRO
Definition: halls_of_reflection.cpp:40
@ EVENT_SKIP_INTRO
Definition: halls_of_reflection.cpp:41
@ ACTION_START_INTRO
Definition: boss_nightbane.cpp:57

References ACTION_SKIP_INTRO, ACTION_START_INTRO, EVENT_SKIP_INTRO, and EVENT_START_INTRO.

◆ Reset()

void npc_hor_leader::npc_hor_leaderAI::Reset ( )
inlineoverridevirtual

Reimplemented from UnitAI.

231 {
232 shortver = false;
233 events.Reset();
235 if (first)
236 {
237 first = false;
238 events.ScheduleEvent(EVENT_PRE_INTRO_1, 10s);
239 events.ScheduleEvent(EVENT_PRE_INTRO_2, 11s);
240 events.ScheduleEvent(EVENT_EMOTE_LEADER_1, 16s);
241 events.ScheduleEvent(EVENT_TALK_LEADER_1, 16s);
242 events.ScheduleEvent(EVENT_PRE_INTRO_3, 19s);
243 }
244 }
@ EVENT_PRE_INTRO_1
Definition: halls_of_reflection.cpp:33
@ EVENT_PRE_INTRO_2
Definition: halls_of_reflection.cpp:34
@ EVENT_EMOTE_LEADER_1
Definition: halls_of_reflection.cpp:38
@ EVENT_TALK_LEADER_1
Definition: halls_of_reflection.cpp:37
@ EVENT_PRE_INTRO_3
Definition: halls_of_reflection.cpp:35
@ EMOTE_ONESHOT_NONE
Definition: SharedDefines.h:1894
@ UNIT_NPC_EMOTESTATE
Definition: UpdateFields.h:140
void SetUInt32Value(uint16 index, uint32 value)
Definition: Unit.cpp:21316
bool shortver
Definition: halls_of_reflection.cpp:228

References EMOTE_ONESHOT_NONE, EVENT_EMOTE_LEADER_1, EVENT_PRE_INTRO_1, EVENT_PRE_INTRO_2, EVENT_PRE_INTRO_3, EVENT_TALK_LEADER_1, first, CreatureAI::me, Unit::SetUInt32Value(), shortver, and UNIT_NPC_EMOTESTATE.

◆ UpdateAI()

void npc_hor_leader::npc_hor_leaderAI::UpdateAI ( uint32  )
inlineoverridevirtual

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

Reimplemented from NullCreatureAI.

260 {
261 events.Update(diff);
262 switch (events.ExecuteEvent())
263 {
265 if (pInstance)
266 {
267
269 me->SetVisible(true);
270
271 }
272 break;
274 if (me->GetEntry() == NPC_JAINA_PART1)
275 {
277 }
279 break;
283 break;
286 break;
290 break;
292 shortver = false;
296 {
297 pLoralen->LoadEquipment(true);
298 pLoralen->SetVisible(true);
299 pLoralen->SetWalk(true);
300 pLoralen->GetMotionMaster()->MovePoint(0, LoralenMidleFollowPos);
301
302 }
303 // Begining of intro is differents between factions as the speech sequence and timers are differents.
304 if (me->GetEntry() == NPC_JAINA_PART1)
305 {
306 events.ScheduleEvent(EVENT_INTRO_A2_1, 10s);
307 }
308 else
309 {
310 events.ScheduleEvent(EVENT_INTRO_H2_2, 9s);
311 events.ScheduleEvent(EVENT_LORALEN_MOVE_1, 24s);
312 events.ScheduleEvent(EVENT_LORALEN_MOVE_2, 32s);
313 }
314 break;
315
316 case EVENT_SKIP_INTRO:
317 shortver = true;
321 {
322 pLoralen->GetMotionMaster()->MovePoint(0, LoralenFollowPos);
323 }
324 events.ScheduleEvent(EVENT_INTRO_LK_1, 0ms);
325 break;
326
327 // A2 Intro Events
328 case EVENT_INTRO_A2_1:
330 events.ScheduleEvent(EVENT_INTRO_A2_2, 5s);
331 break;
332 case EVENT_INTRO_A2_2:
334 events.ScheduleEvent(EVENT_INTRO_A2_3, 10s);
335 break;
336 case EVENT_INTRO_A2_3:
339 //me->CastSpell(me, SPELL_ARCANE_CAST_VISUAL, false);// the sniff is missing from the alliance
340 events.ScheduleEvent(EVENT_INTRO_A2_4, 10s);
341 break;
342 case EVENT_INTRO_A2_4:
344 {
345 pUther->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
346 pUther->SetVisible(true);
347 if (Aura* a = pUther->AddAura(SPELL_SHADOWMOURNE_VISUAL, pUther))
348 a->SetDuration(8000);
349 }
350 events.ScheduleEvent(EVENT_INTRO_A2_5, 2s);
351 break;
352 case EVENT_INTRO_A2_5:
354 {
355 pUther->AI()->Talk(SAY_UTHER_INTRO_A2_1);
356 events.ScheduleEvent(EVENT_INTRO_A2_6, 3s);
357 }
358 break;
359 case EVENT_INTRO_A2_6:
361 events.ScheduleEvent(EVENT_INTRO_A2_7, 6s);
362 break;
363 case EVENT_INTRO_A2_7:
365 {
366 pUther->AI()->Talk(SAY_UTHER_INTRO_A2_2);
367 }
368 events.ScheduleEvent(EVENT_INTRO_A2_8, 6500ms);
369 break;
370 case EVENT_INTRO_A2_8:
372 events.ScheduleEvent(EVENT_INTRO_A2_9, 2s);
373 break;
374 case EVENT_INTRO_A2_9:
376 {
377 pUther->AI()->Talk(SAY_UTHER_INTRO_A2_3);
378 }
379 events.ScheduleEvent(EVENT_INTRO_A2_10, 9s);
380 break;
383 events.ScheduleEvent(EVENT_INTRO_A2_11, 5s);
384 break;
387 {
388 pUther->AI()->Talk(SAY_UTHER_INTRO_A2_4);
389 }
390 events.ScheduleEvent(EVENT_INTRO_A2_12, 11s);
391 break;
394 events.ScheduleEvent(EVENT_INTRO_A2_13, 4s);
395 break;
398 {
399 pUther->AI()->Talk(SAY_UTHER_INTRO_A2_5);
400 }
401 events.ScheduleEvent(EVENT_INTRO_A2_14, 12s + 500ms);
402 break;
405 events.ScheduleEvent(EVENT_INTRO_A2_15, 10s);
406 break;
409 {
410 pUther->AI()->Talk(SAY_UTHER_INTRO_A2_6);
411 }
412 events.ScheduleEvent(EVENT_INTRO_A2_16, 24s);
413 break;
416 pUther->AI()->Talk(SAY_UTHER_INTRO_A2_7);
417 events.ScheduleEvent(EVENT_INTRO_A2_17, 4s);
418 break;
421 events.ScheduleEvent(EVENT_INTRO_A2_18, 2s);
422 break;
425 {
426 pUther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
427 pUther->AI()->Talk(SAY_UTHER_INTRO_A2_8);
428 }
429 events.ScheduleEvent(EVENT_INTRO_A2_19, 11s);
430 break;
433 events.ScheduleEvent(EVENT_INTRO_LK_1, 2s);
434 break;
435
436 // H2 Intro Events
439 {
440 pLoralen->GetMotionMaster()->MovePoint(0, LoralenFollowPos);
441 }
442 break;
443
446 {
447 pLoralen->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL);
448 }
449 break;
450
451 case EVENT_INTRO_H2_2:
455 events.ScheduleEvent(EVENT_INTRO_H2_2_1, 7s + 500ms);
456 break;
457
461 events.ScheduleEvent(EVENT_INTRO_H2_3, 2s);
462 break;
463
464 case EVENT_INTRO_H2_3:
466 events.ScheduleEvent(EVENT_INTRO_H2_3_1, 5s);
467 break;
468
472 events.ScheduleEvent(EVENT_INTRO_H2_3_2, 3s);
473 break;
474
477 events.ScheduleEvent(EVENT_INTRO_H2_4, 2s);
478 break;
479 case EVENT_INTRO_H2_4:
481 {
482 pUther->SetVisible(true);
483 if (Aura* a = pUther->AddAura(SPELL_SHADOWMOURNE_VISUAL, pUther))
484 {
485 a->SetDuration(8000);
486 }
487 }
488 events.ScheduleEvent(EVENT_INTRO_H2_5, 7s);
489 break;
490
491 case EVENT_INTRO_H2_5:
493 {
494 pUther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
495 pUther->AI()->Talk(SAY_UTHER_INTRO_H2_1);
496 }
497 events.ScheduleEvent(EVENT_INTRO_H2_6, 11s);
498 break;
499 case EVENT_INTRO_H2_6:
502 events.ScheduleEvent(EVENT_INTRO_H2_7, 2s + 500ms);
503 break;
504 case EVENT_INTRO_H2_7:
506 {
507 pUther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
508 pUther->AI()->Talk(SAY_UTHER_INTRO_H2_2);
509 }
510 events.ScheduleEvent(EVENT_INTRO_H2_8, 9s);//
511 break;
512 case EVENT_INTRO_H2_8:
515 events.ScheduleEvent(EVENT_INTRO_H2_9, 5s);
516 break;
517 case EVENT_INTRO_H2_9:
519 {
520 pUther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
521 pUther->AI()->Talk(SAY_UTHER_INTRO_H2_3);
522 }
523 events.ScheduleEvent(EVENT_INTRO_H2_10, 20s);
524 break;
528 events.ScheduleEvent(EVENT_INTRO_H2_11, 3s);
529 break;
532 {
533 pUther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
534 pUther->AI()->Talk(SAY_UTHER_INTRO_H2_4);
535 }
536 events.ScheduleEvent(EVENT_INTRO_H2_12, 21s + 500ms);
537 break;
541 events.ScheduleEvent(EVENT_INTRO_H2_13, 3s + 500ms);
542 break;
545 {
546 pUther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
547 pUther->AI()->Talk(SAY_UTHER_INTRO_H2_5);
548
549 }
550 events.ScheduleEvent(EVENT_INTRO_H2_14, 12s + 500ms);
551 break;
554 {
555 pUther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
556 pUther->AI()->Talk(SAY_UTHER_INTRO_H2_6);
557 }
558 events.ScheduleEvent(EVENT_INTRO_H2_15, 8s);
559 break;
563 events.ScheduleEvent(EVENT_INTRO_LK_1, 2s);
564 break;
565
566 // Remaining Intro Events common for both faction
567 case EVENT_INTRO_LK_1:
569 {
570
572 pLichKing->SetVisible(true);
573
574 pLichKing->GetMotionMaster()->MovePoint(0, LichKingMoveMidlelThronePos, false);
575
576 }
577
578 if (!shortver)
580 {
581 pUther->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION);
582 if (me->GetEntry() == NPC_JAINA_PART1)
583
584 pUther->AI()->Talk(SAY_UTHER_INTRO_A2_9);
585 else
586 pUther->AI()->Talk(SAY_UTHER_INTRO_H2_7);
587
588 }
589 events.ScheduleEvent(EVENT_INTRO_LK_1_1, 9s);
590 events.ScheduleEvent(EVENT_INTRO_LK_1_2, 3s);
591 events.ScheduleEvent(EVENT_INTRO_LK_1_3, 6s);
592 events.ScheduleEvent(EVENT_INTRO_LK_2, 12s);
593 break;
594
597 {
598 pLichKing->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION);
599 pLichKing->AI()->Talk(SAY_LK_INTRO_1);
600 }
601 break;
602
604 if (!shortver)
606 {
607 pUther->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_COWER);
608 pUther->SetFacingTo(0.89f);
609 }
610 break;
611
614 break;
615
616 case EVENT_INTRO_LK_2:
617 if (!shortver)
619 {
620 pLichKing->SetVisible(true);
621 pLichKing->GetMotionMaster()->MovePoint(0, LichKingMoveThronePos, false);
622 }
623 events.ScheduleEvent(EVENT_INTRO_LK_2_1, 1s);
624 break;
625
627 if (!shortver)
629 {
630 pUther->SendPlaySpellVisual(SPELL_UTHER_DESPAWN);
631 pUther->CastSpell(pUther, SPELL_UTHER_DESPAWN, true);
632 }
633 events.ScheduleEvent(EVENT_INTRO_LK_3, 2s);
634 break;
635
636 case EVENT_INTRO_LK_3:
637 if (!shortver)
639 {
640 pUther->SetVisible(false);
641 }
642 events.ScheduleEvent(EVENT_INTRO_LK_4, 6s);
643 break;
644
645 case EVENT_INTRO_LK_4:
647 {
648 pLichKing->HandleEmoteCommand(EMOTE_ONESHOT_QUESTION);
649 pLichKing->AI()->Talk(SAY_LK_INTRO_2);
650 }
651 events.ScheduleEvent(EVENT_INTRO_LK_4_2, 10s);
652 break;
653
656 {
657 pLichKing->LoadEquipment(1, true);
658 pLichKing->SendMovementFlagUpdate();
659 pLichKing->CastSpell(pLichKing, SPELL_FROSTMOURNE_EQUIP, false);
661 events.ScheduleEvent(EVENT_INTRO_LK_4_3, 1750);
662 }
663 events.ScheduleEvent(EVENT_INTRO_LK_5, 6s);
664 break;
665
668 go->SetPhaseMask(2, true);
669 break;
670 case EVENT_INTRO_LK_5:
672 {
673 pFalric->UpdatePosition(5274.9f, 2039.2f, 709.319f, 5.4619f, true);
674 pFalric->StopMovingOnCurrentPos();
675 pFalric->SetVisible(true);
676 if (pFalric->IsAlive())
677 {
678 pFalric->GetMotionMaster()->MovePoint(0, FalricMovePos);
679 if (Aura* a = pFalric->AddAura(SPELL_SHADOWMOURNE_VISUAL, pFalric))
680 a->SetDuration(8000);
681 }
682 }
684 {
685 pMarwyn->UpdatePosition(5343.77f, 1973.86f, 709.319f, 2.35173f, true);
686 pMarwyn->StopMovingOnCurrentPos();
687 pMarwyn->SetVisible(true);
688 if (pMarwyn->IsAlive())
689 {
690 pMarwyn->GetMotionMaster()->MovePoint(0, MarwynMovePos);
691 if (Aura* a = pMarwyn->AddAura(SPELL_SHADOWMOURNE_VISUAL, pMarwyn))
692 a->SetDuration(8000);
693 }
694 }
695 events.ScheduleEvent(EVENT_INTRO_LK_5_1, 0s);
696 events.ScheduleEvent(EVENT_INTRO_LK_5_2, 7s);
697 events.ScheduleEvent(EVENT_INTRO_LK_5_3, 0s);
698 events.ScheduleEvent(EVENT_INTRO_LK_6, 11s);
699 break;
700
703 {
704 pLichKing->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
705 pLichKing->AI()->Talk(SAY_LK_INTRO_3);
706 }
707 break;
708
711 {
712 pLichKing->GetMotionMaster()->MovePoint(0, LichKingMoveAwayPos, false);
713 }
714 break;
715
717 me->SetSpeed(MOVE_RUN, 1.6);
721 {
722 pLoralen->SetSheath(SHEATH_STATE_MELEE);
723 pLoralen->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_READY1H);
724 pLoralen->SetWalk(false);
725 pLoralen->LoadEquipment(true);
726 }
727 break;
728
729 case EVENT_INTRO_LK_6:
731 {
732 pFalric->HandleEmoteCommand(EMOTE_ONESHOT_BOW);
733 pFalric->AI()->Talk(SAY_FALRIC_INTRO_1);
734 }
735 events.ScheduleEvent(EVENT_INTRO_LK_7, 2s);
736 break;
737
738 case EVENT_INTRO_LK_7:
740 {
741 pMarwyn->HandleEmoteCommand(EMOTE_ONESHOT_BOW);
742 pMarwyn->AI()->Talk(SAY_MARWYN_INTRO_1);
743 }
744 events.ScheduleEvent(EVENT_INTRO_LK_8, 3s);
745 break;
746
747 case EVENT_INTRO_LK_8:
749 {
750 pFalric->AI()->Talk(SAY_FALRIC_INTRO_2);
753 }
754 events.ScheduleEvent(EVENT_INTRO_LK_9, 6s);
755 break;
756
757 case EVENT_INTRO_LK_9:
758 if (me->GetEntry() == NPC_JAINA_PART1)
759 {
761 }
762 else
763 {
767 }
769 {
770 pLoralen->GetMotionMaster()->MovePoint(0, LoralenFollowLk1, false);
771 }
772 events.ScheduleEvent(EVENT_INTRO_LK_10, 1s + 500ms);
773 break;
774
777 {
778 pLoralen->GetMotionMaster()->MovePoint(0, LoralenFollowLk2, false);
779
780 }
781 events.ScheduleEvent(EVENT_INTRO_LK_11, 2s);
782 break;
783
786 {
787 pLoralen->GetMotionMaster()->MovePoint(0, LoralenFollowLk3, false);
788 }
789 events.ScheduleEvent(EVENT_INTRO_LK_12, 5s + 500ms);
790 break;
791
794 {
795 pLichKing->SetVisible(false);
796 }
798 {
799 pLoralen->GetMotionMaster()->MovePoint(0, LoralenFollowLkFinal, false);
800 }
801 events.ScheduleEvent(EVENT_INTRO_LK_13, 2s);
802 break;
804 me->SetVisible(false);
805 events.ScheduleEvent(EVENT_INTRO_END, 2s +500ms);
806 break;
807
808 case EVENT_INTRO_END:
811 events.ScheduleEvent(EVENT_INTRO_END_SET, 3s);
812 break;
815 {
816 pLoralen->UpdatePosition(5369.71289f, 2083.6330f, 707.695129f, 0.188739f, true);
817 pLoralen->StopMovingOnCurrentPos();
818 pLoralen->SetVisible(true);
819 pLoralen->KillSelf(pLoralen);
820 }
822 break;
823 }
824 }
@ NPC_UTHER
Definition: culling_of_stratholme.h:56
Talk
Definition: hyjal.cpp:82
const Position FalricMovePos
Definition: halls_of_reflection.h:329
const Position MoveThronePos
Definition: halls_of_reflection.h:323
@ GO_FRONT_DOOR
Definition: halls_of_reflection.h:88
@ GO_FROSTMOURNE
Definition: halls_of_reflection.h:86
@ GO_ARTHAS_DOOR
Definition: halls_of_reflection.h:89
const Position LoralenFollowPos
Definition: halls_of_reflection.h:317
const Position LichKingMoveAwayPos
Definition: halls_of_reflection.h:328
@ NPC_DARK_RANGER_LORALEN
Definition: halls_of_reflection.h:62
@ NPC_LICH_KING_EVENT
Definition: halls_of_reflection.h:53
const Position LoralenFollowLk3
Definition: halls_of_reflection.h:320
const Position LichKingMoveThronePos
Definition: halls_of_reflection.h:327
const Position MarwynMovePos
Definition: halls_of_reflection.h:330
const Position LoralenFollowLkFinal
Definition: halls_of_reflection.h:321
@ SPELL_FROSTMOURNE_SPAWN_SOUND
Definition: halls_of_reflection.h:256
@ SPELL_UTHER_DESPAWN
Definition: halls_of_reflection.h:261
@ SPELL_SUMMON_SOULS
Definition: halls_of_reflection.h:263
@ SPELL_FROSTMOURNE_EQUIP
Definition: halls_of_reflection.h:257
@ SPELL_SHADOWMOURNE_VISUAL
Definition: halls_of_reflection.h:260
const Position LoralenFollowLk2
Definition: halls_of_reflection.h:319
const Position LoralenFollowLk1
Definition: halls_of_reflection.h:318
@ SAY_UTHER_INTRO_A2_4
Definition: halls_of_reflection.h:135
@ SAY_LK_INTRO_2
Definition: halls_of_reflection.h:165
@ SAY_UTHER_INTRO_H2_6
Definition: halls_of_reflection.h:159
@ SAY_UTHER_INTRO_H2_4
Definition: halls_of_reflection.h:156
@ SAY_UTHER_INTRO_A2_2
Definition: halls_of_reflection.h:131
@ SAY_MARWYN_INTRO_1
Definition: halls_of_reflection.h:168
@ SAY_JAINA_INTRO_10
Definition: halls_of_reflection.h:141
@ SAY_JAINA_INTRO_9
Definition: halls_of_reflection.h:138
@ SAY_UTHER_INTRO_H2_5
Definition: halls_of_reflection.h:158
@ SAY_JAINA_INTRO_END
Definition: halls_of_reflection.h:171
@ SAY_UTHER_INTRO_H2_3
Definition: halls_of_reflection.h:154
@ SAY_FALRIC_INTRO_1
Definition: halls_of_reflection.h:167
@ SAY_UTHER_INTRO_A2_5
Definition: halls_of_reflection.h:137
@ SAY_SYLVANAS_INTRO_8
Definition: halls_of_reflection.h:160
@ SAY_UTHER_INTRO_A2_8
Definition: halls_of_reflection.h:142
@ SAY_UTHER_INTRO_A2_7
Definition: halls_of_reflection.h:140
@ SAY_UTHER_INTRO_A2_1
Definition: halls_of_reflection.h:129
@ SAY_LK_INTRO_1
Definition: halls_of_reflection.h:164
@ SAY_UTHER_INTRO_A2_6
Definition: halls_of_reflection.h:139
@ SAY_LK_INTRO_3
Definition: halls_of_reflection.h:166
@ SAY_FALRIC_INTRO_2
Definition: halls_of_reflection.h:169
@ SAY_UTHER_INTRO_A2_3
Definition: halls_of_reflection.h:133
@ SAY_UTHER_INTRO_A2_9
Definition: halls_of_reflection.h:144
@ SAY_UTHER_INTRO_H2_2
Definition: halls_of_reflection.h:152
@ SAY_UTHER_INTRO_H2_7
Definition: halls_of_reflection.h:161
@ SAY_SYLVANAS_INTRO_END
Definition: halls_of_reflection.h:172
@ SAY_JAINA_INTRO_11
Definition: halls_of_reflection.h:143
@ SAY_UTHER_INTRO_H2_1
Definition: halls_of_reflection.h:150
@ SAY_SYLVANAS_INTRO_7
Definition: halls_of_reflection.h:157
const Position LoralenMidleFollowPos
Definition: halls_of_reflection.h:316
const Position SpawnPos
Definition: halls_of_reflection.h:315
const Position LichKingMoveMidlelThronePos
Definition: halls_of_reflection.h:326
@ ACTION_SHOW_TRASH
Definition: halls_of_reflection.h:38
@ DATA_MARWYN
Definition: halls_of_reflection.h:32
@ DATA_FALRIC
Definition: halls_of_reflection.h:31
@ EVENT_INTRO_H2_4
Definition: halls_of_reflection.cpp:71
@ EVENT_INTRO_LK_2_1
Definition: halls_of_reflection.cpp:92
@ EVENT_INTRO_A2_14
Definition: halls_of_reflection.cpp:58
@ EVENT_INTRO_A2_18
Definition: halls_of_reflection.cpp:62
@ EVENT_INTRO_H2_14
Definition: halls_of_reflection.cpp:81
@ EVENT_INTRO_LK_2
Definition: halls_of_reflection.cpp:91
@ EVENT_INTRO_LK_9
Definition: halls_of_reflection.cpp:104
@ EVENT_INTRO_LK_4_3
Definition: halls_of_reflection.cpp:96
@ EVENT_INTRO_LK_4
Definition: halls_of_reflection.cpp:94
@ EVENT_INTRO_LK_1_3
Definition: halls_of_reflection.cpp:90
@ EVENT_INTRO_A2_12
Definition: halls_of_reflection.cpp:56
@ EVENT_INTRO_H2_15
Definition: halls_of_reflection.cpp:82
@ EVENT_INTRO_LK_5_3
Definition: halls_of_reflection.cpp:100
@ EVENT_INTRO_END_SET
Definition: halls_of_reflection.cpp:111
@ EVENT_INTRO_LK_12
Definition: halls_of_reflection.cpp:107
@ EVENT_INTRO_A2_11
Definition: halls_of_reflection.cpp:55
@ EVENT_INTRO_A2_3
Definition: halls_of_reflection.cpp:47
@ EVENT_INTRO_A2_8
Definition: halls_of_reflection.cpp:52
@ EVENT_INTRO_H2_2
Definition: halls_of_reflection.cpp:66
@ EVENT_INTRO_LK_4_2
Definition: halls_of_reflection.cpp:95
@ EVENT_INTRO_A2_1
Definition: halls_of_reflection.cpp:45
@ EVENT_INTRO_LK_8
Definition: halls_of_reflection.cpp:103
@ EVENT_INTRO_A2_15
Definition: halls_of_reflection.cpp:59
@ EVENT_INTRO_H2_13
Definition: halls_of_reflection.cpp:80
@ EVENT_INTRO_LK_1_1
Definition: halls_of_reflection.cpp:88
@ EVENT_INTRO_A2_9
Definition: halls_of_reflection.cpp:53
@ EVENT_INTRO_LK_13
Definition: halls_of_reflection.cpp:108
@ EVENT_INTRO_LK_1
Definition: halls_of_reflection.cpp:87
@ EVENT_INTRO_H2_2_1
Definition: halls_of_reflection.cpp:67
@ EVENT_INTRO_H2_3_2
Definition: halls_of_reflection.cpp:70
@ EVENT_INTRO_LK_5
Definition: halls_of_reflection.cpp:97
@ EVENT_LORALEN_MOVE_2
Definition: halls_of_reflection.cpp:43
@ EVENT_INTRO_H2_9
Definition: halls_of_reflection.cpp:76
@ EVENT_INTRO_LK_10
Definition: halls_of_reflection.cpp:105
@ EVENT_INTRO_END
Definition: halls_of_reflection.cpp:110
@ EVENT_INTRO_H2_11
Definition: halls_of_reflection.cpp:78
@ EVENT_INTRO_A2_16
Definition: halls_of_reflection.cpp:60
@ EVENT_INTRO_H2_3_1
Definition: halls_of_reflection.cpp:69
@ EVENT_INTRO_A2_4
Definition: halls_of_reflection.cpp:48
@ EVENT_INTRO_A2_5
Definition: halls_of_reflection.cpp:49
@ EVENT_INTRO_H2_10
Definition: halls_of_reflection.cpp:77
@ EVENT_INTRO_A2_17
Definition: halls_of_reflection.cpp:61
@ EVENT_INTRO_LK_11
Definition: halls_of_reflection.cpp:106
@ EVENT_INTRO_LK_5_2
Definition: halls_of_reflection.cpp:99
@ EVENT_INTRO_LK_5_1
Definition: halls_of_reflection.cpp:98
@ EVENT_INTRO_LK_7
Definition: halls_of_reflection.cpp:102
@ EVENT_INTRO_H2_8
Definition: halls_of_reflection.cpp:75
@ EVENT_INTRO_LK_3
Definition: halls_of_reflection.cpp:93
@ EVENT_INTRO_H2_6
Definition: halls_of_reflection.cpp:73
@ EVENT_INTRO_A2_13
Definition: halls_of_reflection.cpp:57
@ EVENT_INTRO_A2_6
Definition: halls_of_reflection.cpp:50
@ EVENT_INTRO_A2_2
Definition: halls_of_reflection.cpp:46
@ EVENT_LORALEN_MOVE_1
Definition: halls_of_reflection.cpp:42
@ EVENT_INTRO_A2_10
Definition: halls_of_reflection.cpp:54
@ EVENT_INTRO_A2_19
Definition: halls_of_reflection.cpp:63
@ EVENT_INTRO_A2_7
Definition: halls_of_reflection.cpp:51
@ EVENT_INTRO_LK_6
Definition: halls_of_reflection.cpp:101
@ EVENT_INTRO_H2_12
Definition: halls_of_reflection.cpp:79
@ EVENT_INTRO_H2_5
Definition: halls_of_reflection.cpp:72
@ EVENT_INTRO_H2_3
Definition: halls_of_reflection.cpp:68
@ EVENT_INTRO_LK_1_2
Definition: halls_of_reflection.cpp:89
@ EVENT_INTRO_H2_7
Definition: halls_of_reflection.cpp:74
@ NPC_JAINA_PART1
Definition: forge_of_souls.h:42
@ SAY_JAINA_INTRO_4
Definition: forge_of_souls.cpp:31
@ SAY_SYLVANAS_INTRO_3
Definition: forge_of_souls.cpp:39
@ SAY_JAINA_INTRO_5
Definition: forge_of_souls.cpp:32
@ SAY_SYLVANAS_INTRO_4
Definition: forge_of_souls.cpp:40
@ SAY_JAINA_INTRO_6
Definition: forge_of_souls.cpp:33
@ SAY_JAINA_INTRO_2
Definition: forge_of_souls.cpp:29
@ SAY_JAINA_INTRO_1
Definition: forge_of_souls.cpp:28
@ SAY_JAINA_INTRO_8
Definition: forge_of_souls.cpp:35
@ SAY_SYLVANAS_INTRO_5
Definition: forge_of_souls.cpp:41
@ SAY_SYLVANAS_INTRO_2
Definition: forge_of_souls.cpp:38
@ SAY_SYLVANAS_INTRO_6
Definition: forge_of_souls.cpp:42
@ SAY_JAINA_INTRO_7
Definition: forge_of_souls.cpp:34
@ SAY_JAINA_INTRO_3
Definition: forge_of_souls.cpp:30
@ SAY_SYLVANAS_INTRO_1
Definition: forge_of_souls.cpp:37
@ EMOTE_STATE_READY1H
Definition: SharedDefines.h:1966
@ EMOTE_ONESHOT_KNEEL
Definition: SharedDefines.h:1908
@ EMOTE_ONESHOT_EXCLAMATION
Definition: SharedDefines.h:1899
@ EMOTE_ONESHOT_QUESTION
Definition: SharedDefines.h:1900
@ EMOTE_STATE_COWER
Definition: SharedDefines.h:2025
@ EMOTE_ONESHOT_READY1H
Definition: SharedDefines.h:1932
@ EMOTE_ONESHOT_BOW
Definition: SharedDefines.h:1896
@ EMOTE_STATE_READY2H
Definition: SharedDefines.h:1970
@ EMOTE_ONESHOT_TALK
Definition: SharedDefines.h:1895
@ DONE
Definition: InstanceScript.h:60
@ UNIT_NPC_FLAG_GOSSIP
Definition: UnitDefines.h:294
@ UNIT_NPC_FLAG_QUESTGIVER
Definition: UnitDefines.h:295
@ SHEATH_STATE_UNARMED
Definition: UnitDefines.h:105
@ SHEATH_STATE_MELEE
Definition: UnitDefines.h:106
@ MOVE_RUN
Definition: UnitDefines.h:329
Creature * GetCreature(WorldObject const &u, ObjectGuid const guid)
Definition: ObjectAccessor.cpp:210
Definition: Creature.h:43
Definition: GameObject.h:120
uint32 GetEntry() const
Definition: Object.h:115
void SetVisible(bool x)
Definition: Unit.cpp:14232
MotionMaster * GetMotionMaster()
Definition: Unit.h:1620
virtual void SetSheath(SheathState sheathed)
Definition: Unit.h:1639
void SetNpcFlag(NPCFlags flags)
Definition: Unit.h:726
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:1167
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition: Unit.cpp:4909
void SetSpeed(UnitMoveType mtype, float rate, bool forced=false)
Definition: Unit.cpp:14429
void HandleEmoteCommand(uint32 emoteId)
Definition: Unit.cpp:2000
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
Definition: InstanceScript.cpp:113
ObjectGuid GetGuidData(uint32 type) const override
Definition: InstanceScript.cpp:98
Map * instance
Definition: InstanceScript.h:148
GameObject * GetGameObject(ObjectGuid const guid)
Definition: Map.cpp:3322
Creature * GetCreature(ObjectGuid const guid)
Definition: Map.cpp:3317
virtual void SetData(uint32, uint32)
Definition: ZoneScript.h:52
void MovePoint(uint32 id, const Position &pos, bool generatePath=true, bool forceDestination=true)
Definition: MotionMaster.h:213
Definition: SpellAuras.h:87

References ACTION_SHOW_TRASH, Unit::CastSpell(), DATA_FALRIC, DATA_INTRO, DATA_MARWYN, DONE, EMOTE_ONESHOT_BOW, EMOTE_ONESHOT_EXCLAMATION, EMOTE_ONESHOT_KNEEL, EMOTE_ONESHOT_NONE, EMOTE_ONESHOT_QUESTION, EMOTE_ONESHOT_READY1H, EMOTE_ONESHOT_TALK, EMOTE_STATE_COWER, EMOTE_STATE_READY1H, EMOTE_STATE_READY2H, EVENT_EMOTE_LEADER_1, EVENT_INTRO_A2_1, EVENT_INTRO_A2_10, EVENT_INTRO_A2_11, EVENT_INTRO_A2_12, EVENT_INTRO_A2_13, EVENT_INTRO_A2_14, EVENT_INTRO_A2_15, EVENT_INTRO_A2_16, EVENT_INTRO_A2_17, EVENT_INTRO_A2_18, EVENT_INTRO_A2_19, EVENT_INTRO_A2_2, EVENT_INTRO_A2_3, EVENT_INTRO_A2_4, EVENT_INTRO_A2_5, EVENT_INTRO_A2_6, EVENT_INTRO_A2_7, EVENT_INTRO_A2_8, EVENT_INTRO_A2_9, EVENT_INTRO_END, EVENT_INTRO_END_SET, EVENT_INTRO_H2_10, EVENT_INTRO_H2_11, EVENT_INTRO_H2_12, EVENT_INTRO_H2_13, EVENT_INTRO_H2_14, EVENT_INTRO_H2_15, EVENT_INTRO_H2_2, EVENT_INTRO_H2_2_1, EVENT_INTRO_H2_3, EVENT_INTRO_H2_3_1, EVENT_INTRO_H2_3_2, EVENT_INTRO_H2_4, EVENT_INTRO_H2_5, EVENT_INTRO_H2_6, EVENT_INTRO_H2_7, EVENT_INTRO_H2_8, EVENT_INTRO_H2_9, EVENT_INTRO_LK_1, EVENT_INTRO_LK_10, EVENT_INTRO_LK_11, EVENT_INTRO_LK_12, EVENT_INTRO_LK_13, EVENT_INTRO_LK_1_1, EVENT_INTRO_LK_1_2, EVENT_INTRO_LK_1_3, EVENT_INTRO_LK_2, EVENT_INTRO_LK_2_1, EVENT_INTRO_LK_3, EVENT_INTRO_LK_4, EVENT_INTRO_LK_4_2, EVENT_INTRO_LK_4_3, EVENT_INTRO_LK_5, EVENT_INTRO_LK_5_1, EVENT_INTRO_LK_5_2, EVENT_INTRO_LK_5_3, EVENT_INTRO_LK_6, EVENT_INTRO_LK_7, EVENT_INTRO_LK_8, EVENT_INTRO_LK_9, EVENT_LORALEN_MOVE_1, EVENT_LORALEN_MOVE_2, EVENT_PRE_INTRO_1, EVENT_PRE_INTRO_2, EVENT_PRE_INTRO_3, EVENT_SKIP_INTRO, EVENT_START_INTRO, EVENT_TALK_LEADER_1, FalricMovePos, Map::GetCreature(), ObjectAccessor::GetCreature(), Object::GetEntry(), Map::GetGameObject(), InstanceScript::GetGuidData(), Unit::GetMotionMaster(), GO_ARTHAS_DOOR, GO_FRONT_DOOR, GO_FROSTMOURNE, Unit::HandleEmoteCommand(), InstanceScript::HandleGameObject(), InstanceScript::instance, LichKingMoveAwayPos, LichKingMoveMidlelThronePos, LichKingMoveThronePos, LoralenFollowLk1, LoralenFollowLk2, LoralenFollowLk3, LoralenFollowLkFinal, LoralenFollowPos, LoralenMidleFollowPos, MarwynMovePos, CreatureAI::me, MOVE_RUN, MotionMaster::MovePoint(), MoveThronePos, NPC_DARK_RANGER_LORALEN, NPC_JAINA_PART1, NPC_LICH_KING_EVENT, NPC_UTHER, pInstance, Unit::RemoveAurasDueToSpell(), SAY_FALRIC_INTRO_1, SAY_FALRIC_INTRO_2, SAY_JAINA_INTRO_1, SAY_JAINA_INTRO_10, SAY_JAINA_INTRO_11, SAY_JAINA_INTRO_2, SAY_JAINA_INTRO_3, SAY_JAINA_INTRO_4, SAY_JAINA_INTRO_5, SAY_JAINA_INTRO_6, SAY_JAINA_INTRO_7, SAY_JAINA_INTRO_8, SAY_JAINA_INTRO_9, SAY_JAINA_INTRO_END, SAY_LK_INTRO_1, SAY_LK_INTRO_2, SAY_LK_INTRO_3, SAY_MARWYN_INTRO_1, SAY_SYLVANAS_INTRO_1, SAY_SYLVANAS_INTRO_2, SAY_SYLVANAS_INTRO_3, SAY_SYLVANAS_INTRO_4, SAY_SYLVANAS_INTRO_5, SAY_SYLVANAS_INTRO_6, SAY_SYLVANAS_INTRO_7, SAY_SYLVANAS_INTRO_8, SAY_SYLVANAS_INTRO_END, SAY_UTHER_INTRO_A2_1, SAY_UTHER_INTRO_A2_2, SAY_UTHER_INTRO_A2_3, SAY_UTHER_INTRO_A2_4, SAY_UTHER_INTRO_A2_5, SAY_UTHER_INTRO_A2_6, SAY_UTHER_INTRO_A2_7, SAY_UTHER_INTRO_A2_8, SAY_UTHER_INTRO_A2_9, SAY_UTHER_INTRO_H2_1, SAY_UTHER_INTRO_H2_2, SAY_UTHER_INTRO_H2_3, SAY_UTHER_INTRO_H2_4, SAY_UTHER_INTRO_H2_5, SAY_UTHER_INTRO_H2_6, SAY_UTHER_INTRO_H2_7, ZoneScript::SetData(), Unit::SetNpcFlag(), Unit::SetSheath(), Unit::SetSpeed(), Unit::SetUInt32Value(), Unit::SetVisible(), SHEATH_STATE_MELEE, SHEATH_STATE_UNARMED, shortver, SpawnPos, SPELL_FROSTMOURNE_EQUIP, SPELL_FROSTMOURNE_SPAWN_SOUND, SPELL_SHADOWMOURNE_VISUAL, SPELL_SUMMON_SOULS, SPELL_UTHER_DESPAWN, UNIT_NPC_EMOTESTATE, UNIT_NPC_FLAG_GOSSIP, and UNIT_NPC_FLAG_QUESTGIVER.

Member Data Documentation

◆ events

EventMap npc_hor_leader::npc_hor_leaderAI::events

◆ first

bool npc_hor_leader::npc_hor_leaderAI::first

Referenced by npc_hor_leaderAI(), and Reset().

◆ pInstance

InstanceScript* npc_hor_leader::npc_hor_leaderAI::pInstance

Referenced by npc_hor_leaderAI(), and UpdateAI().

◆ shortver

bool npc_hor_leader::npc_hor_leaderAI::shortver

Referenced by Reset(), and UpdateAI().