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()
 
- 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()
 
void EnterEvadeMode (EvadeReason) override
 
void OnCharmed (bool) override
 Called when unit is charmed.
 
- Public Member Functions inherited from CreatureAI
void Talk (uint8 id, WorldObject const *whisperTarget=nullptr, Milliseconds delay=0s)
 Causes the creature to talk/say the text assigned to their entry in the creature_text database table.
 
void Talk (uint8 id, Milliseconds delay)
 
WorldObjectGetSummoner () const
 Returns the summoner creature/object, if the creature is a temporary summon.
 
 CreatureAI (Creature *creature)
 
 ~CreatureAI () override
 
void MoveCircleChecks ()
 
void MoveBackwardsChecks ()
 
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At =================================
 
void TriggerAlert (Unit const *who) const
 
virtual bool CanRespawn ()
 
virtual void JustEngagedWith (Unit *)
 Called for reaction when initially engaged.
 
virtual void JustDied (Unit *)
 
virtual void KilledUnit (Unit *)
 
virtual void JustSummoned (Creature *)
 
virtual void IsSummonedBy (WorldObject *)
 
virtual void SummonedCreatureDespawn (Creature *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void SummonedCreatureDespawnAll ()
 
virtual void 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)
 
virtual void JustReachedHome ()
 
void DoZoneInCombat (Creature *creature=nullptr, float maxRangeToNearestTarget=250.0f)
 
virtual void ReceiveEmote (Player *, uint32)
 
virtual void OwnerAttackedBy (Unit *)
 
virtual void OwnerAttacked (Unit *)
 
virtual void CorpseRemoved (uint32 &)
 == Triggered Actions Requested ==================
 
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields =======================================
 
virtual bool BeforeSpellClick (Unit *)
 
virtual void OnSpellClick (Unit *, bool &)
 
virtual bool CanSeeAlways (WorldObject const *)
 
virtual bool CanBeSeen (Player const *)
 
virtual bool CanAlwaysBeDetectable (WorldObject const *)
 
virtual void PetStopAttack ()
 
virtual bool CheckInRoom ()
 
CreatureBoundary const * GetBoundary () const
 
void SetBoundary (CreatureBoundary const *boundary, bool negativeBoundaries=false)
 
bool IsInBoundary (Position const *who=nullptr) const
 
virtual void CalculateThreat (Unit *, float &, SpellInfo const *)
 
virtual bool OnTeleportUnreacheablePlayer (Player *)
 
virtual void OnAuraRemove (AuraApplication *, AuraRemoveMode)
 
- Public Member Functions inherited from UnitAI
 UnitAI (Unit *unit)
 
virtual ~UnitAI ()
 
virtual bool CanAIAttack (Unit const *) const
 
virtual void InitializeAI ()
 
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:
 
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.
 
virtual void JustExitedCombat ()
 Called when the unit leaves combat.
 
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType, SpellSchoolMask)
 Called at any Damage to any victim (before damage apply)
 
virtual void DamageTaken (Unit *, uint32 &, DamageEffectType, SpellSchoolMask)
 Called at any Damage from any attacker (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)
 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 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)
 
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 }
Creature *const me
Definition CreatureAI.h:72
Definition PassiveAI.h:53
bool IsAIEnabled
Definition Unit.h:2012
InstanceScript * GetInstanceScript() const
Definition Object.cpp:1203
virtual uint32 GetData(uint32) const
Definition ZoneScript.h:51
@ DATA_INTRO
Definition halls_of_reflection.h:30
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 }
@ ACTION_START_INTRO
Definition boss_nightbane.cpp:57
events
Definition boss_sartura.cpp:43
@ EVENT_START_INTRO
Definition halls_of_reflection.cpp:40
@ EVENT_SKIP_INTRO
Definition halls_of_reflection.cpp:41
@ ACTION_SKIP_INTRO
Definition halls_of_reflection.h:238

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 }
@ EMOTE_ONESHOT_NONE
Definition SharedDefines.h:1894
@ UNIT_NPC_EMOTESTATE
Definition UpdateFields.h:140
void SetUInt32Value(uint16 index, uint32 value)
Definition Unit.cpp:21372
@ 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
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()

Implements UnitAI.

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 }
@ DONE
Definition InstanceScript.h:61
@ 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
@ UNIT_NPC_FLAG_GOSSIP
Definition UnitDefines.h:315
@ UNIT_NPC_FLAG_QUESTGIVER
Definition UnitDefines.h:316
@ SHEATH_STATE_UNARMED
Definition UnitDefines.h:126
@ SHEATH_STATE_MELEE
Definition UnitDefines.h:127
@ MOVE_RUN
Definition UnitDefines.h:350
Definition SpellAuras.h:87
Definition Creature.h:43
Definition GameObject.h:120
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
Definition InstanceScript.cpp:125
ObjectGuid GetGuidData(uint32 type) const override
Definition InstanceScript.cpp:110
Map * instance
Definition InstanceScript.h:149
GameObject * GetGameObject(ObjectGuid const guid)
Definition Map.cpp:2503
Creature * GetCreature(ObjectGuid const guid)
Definition Map.cpp:2498
void MovePoint(uint32 id, const Position &pos, bool generatePath=true, bool forceDestination=true)
Definition MotionMaster.h:213
uint32 GetEntry() const
Definition Object.h:115
void SetVisible(bool x)
Definition Unit.cpp:14284
MotionMaster * GetMotionMaster()
Definition Unit.h:1673
virtual void SetSheath(SheathState sheathed)
Definition Unit.h:1692
void SetNpcFlag(NPCFlags flags)
Definition Unit.h:735
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:1178
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition Unit.cpp:4941
void SetSpeed(UnitMoveType mtype, float rate, bool forced=false)
Definition Unit.cpp:14481
void HandleEmoteCommand(uint32 emoteId)
Definition Unit.cpp:2011
virtual void SetData(uint32, uint32)
Definition ZoneScript.h:52
@ NPC_UTHER
Definition culling_of_stratholme.h:56
@ 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
@ NPC_JAINA_PART1
Definition forge_of_souls.h:42
@ 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
const Position FalricMovePos
Definition halls_of_reflection.h:323
const Position MoveThronePos
Definition halls_of_reflection.h:317
@ 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:311
const Position LichKingMoveAwayPos
Definition halls_of_reflection.h:322
@ 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:314
const Position LichKingMoveThronePos
Definition halls_of_reflection.h:321
const Position MarwynMovePos
Definition halls_of_reflection.h:324
const Position LoralenFollowLkFinal
Definition halls_of_reflection.h:315
@ SPELL_FROSTMOURNE_SPAWN_SOUND
Definition halls_of_reflection.h:250
@ SPELL_UTHER_DESPAWN
Definition halls_of_reflection.h:255
@ SPELL_SUMMON_SOULS
Definition halls_of_reflection.h:257
@ SPELL_FROSTMOURNE_EQUIP
Definition halls_of_reflection.h:251
@ SPELL_SHADOWMOURNE_VISUAL
Definition halls_of_reflection.h:254
const Position LoralenFollowLk2
Definition halls_of_reflection.h:313
const Position LoralenFollowLk1
Definition halls_of_reflection.h:312
@ SAY_UTHER_INTRO_A2_4
Definition halls_of_reflection.h:129
@ SAY_LK_INTRO_2
Definition halls_of_reflection.h:159
@ SAY_UTHER_INTRO_H2_6
Definition halls_of_reflection.h:153
@ SAY_UTHER_INTRO_H2_4
Definition halls_of_reflection.h:150
@ SAY_UTHER_INTRO_A2_2
Definition halls_of_reflection.h:125
@ SAY_MARWYN_INTRO_1
Definition halls_of_reflection.h:162
@ SAY_JAINA_INTRO_10
Definition halls_of_reflection.h:135
@ SAY_JAINA_INTRO_9
Definition halls_of_reflection.h:132
@ SAY_UTHER_INTRO_H2_5
Definition halls_of_reflection.h:152
@ SAY_JAINA_INTRO_END
Definition halls_of_reflection.h:165
@ SAY_UTHER_INTRO_H2_3
Definition halls_of_reflection.h:148
@ SAY_FALRIC_INTRO_1
Definition halls_of_reflection.h:161
@ SAY_UTHER_INTRO_A2_5
Definition halls_of_reflection.h:131
@ SAY_SYLVANAS_INTRO_8
Definition halls_of_reflection.h:154
@ SAY_UTHER_INTRO_A2_8
Definition halls_of_reflection.h:136
@ SAY_UTHER_INTRO_A2_7
Definition halls_of_reflection.h:134
@ SAY_UTHER_INTRO_A2_1
Definition halls_of_reflection.h:123
@ SAY_LK_INTRO_1
Definition halls_of_reflection.h:158
@ SAY_UTHER_INTRO_A2_6
Definition halls_of_reflection.h:133
@ SAY_LK_INTRO_3
Definition halls_of_reflection.h:160
@ SAY_FALRIC_INTRO_2
Definition halls_of_reflection.h:163
@ SAY_UTHER_INTRO_A2_3
Definition halls_of_reflection.h:127
@ SAY_UTHER_INTRO_A2_9
Definition halls_of_reflection.h:138
@ SAY_UTHER_INTRO_H2_2
Definition halls_of_reflection.h:146
@ SAY_UTHER_INTRO_H2_7
Definition halls_of_reflection.h:155
@ SAY_SYLVANAS_INTRO_END
Definition halls_of_reflection.h:166
@ SAY_JAINA_INTRO_11
Definition halls_of_reflection.h:137
@ SAY_UTHER_INTRO_H2_1
Definition halls_of_reflection.h:144
@ SAY_SYLVANAS_INTRO_7
Definition halls_of_reflection.h:151
const Position LoralenMidleFollowPos
Definition halls_of_reflection.h:310
const Position SpawnPos
Definition halls_of_reflection.h:309
const Position LichKingMoveMidlelThronePos
Definition halls_of_reflection.h:320
@ 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
Talk
Definition hyjal.cpp:82
Creature * GetCreature(WorldObject const &u, ObjectGuid const guid)
Definition ObjectAccessor.cpp:210

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().


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