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 JustStartedThreateningMe (Unit *) override
 
void JustEnteredCombat (Unit *) override
 Called when the unit enters combat.
 
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=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 JustEngagedWith (Unit *)
 Called for reaction when initially engaged - this happens after JustEnteredCombat.
 
void EngagementStart (Unit *who)
 
void EngagementOver ()
 
void JustExitedCombat () override
 Called when the unit leaves combat.
 
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 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 JustRespawned ()
 
virtual void MovementInform (uint32, uint32)
 
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)
 
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 uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void SetGUID (ObjectGuid const &, int32=0)
 
virtual ObjectGuid GetGUID (int32=0) const
 
UnitSelectTarget (SelectTargetMethod targetType, uint32 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 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

InstanceScriptinstance
 
EventMap events
 
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
 
bool _isEngaged
 
- 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
213 : NullCreatureAI(creature)
214 {
216 if (!instance)
217 me->IsAIEnabled = false;
218 }
Creature *const me
Definition CreatureAI.h:71
Definition PassiveAI.h:56
bool IsAIEnabled
Definition Unit.h:2098
InstanceScript * GetInstanceScript() const
Definition Object.cpp:1238
InstanceScript * instance
Definition halls_of_reflection.cpp:220

References WorldObject::GetInstanceScript(), instance, Unit::IsAIEnabled, and CreatureAI::me.

Member Function Documentation

◆ DoAction()

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

Reimplemented from UnitAI.

240 {
241 switch (actionId)
242 {
244 events.ScheduleEvent(EVENT_START_INTRO, 0ms);
245 break;
247 events.ScheduleEvent(EVENT_SKIP_INTRO, 0ms);
248 break;
249 }
250 }
@ 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:255

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.

225 {
226 shortver = false;
227 events.Reset();
230 {
231 events.ScheduleEvent(EVENT_PRE_INTRO_1, 10s);
232 events.ScheduleEvent(EVENT_PRE_INTRO_2, 11s);
233 events.ScheduleEvent(EVENT_EMOTE_LEADER_1, 16s);
234 events.ScheduleEvent(EVENT_TALK_LEADER_1, 16s);
235 events.ScheduleEvent(EVENT_PRE_INTRO_3, 19s);
236 }
237 }
@ EMOTE_ONESHOT_NONE
Definition SharedDefines.h:1898
@ UNIT_NPC_EMOTESTATE
Definition UpdateFields.h:140
uint32 GetPersistentData(uint32 index) const
Definition InstanceScript.h:257
void SetUInt32Value(uint16 index, uint32 value)
Definition Unit.cpp:17358
@ 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
@ PERSISTENT_DATA_INTRO
Definition halls_of_reflection.h:119
bool shortver
Definition halls_of_reflection.cpp:222

References EMOTE_ONESHOT_NONE, EVENT_EMOTE_LEADER_1, EVENT_PRE_INTRO_1, EVENT_PRE_INTRO_2, EVENT_PRE_INTRO_3, EVENT_TALK_LEADER_1, InstanceScript::GetPersistentData(), instance, CreatureAI::me, PERSISTENT_DATA_INTRO, 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.

253 {
254 events.Update(diff);
255 switch (events.ExecuteEvent())
256 {
258 if (instance)
259 {
260
262 me->SetVisible(true);
263
264 }
265 break;
267 if (me->GetEntry() == NPC_JAINA_PART1)
270 break;
274 break;
277 break;
281 break;
283 shortver = false;
287 {
288 loralen->LoadEquipment(true);
289 loralen->SetVisible(true);
290 loralen->SetWalk(true);
291 loralen->GetMotionMaster()->MovePoint(0, LoralenMidleFollowPos);
292 }
293 // Begining of intro is differents between factions as the speech sequence and timers are differents.
294 if (me->GetEntry() == NPC_JAINA_PART1)
295 events.ScheduleEvent(EVENT_INTRO_A2_1, 10s);
296 else
297 {
298 events.ScheduleEvent(EVENT_INTRO_H2_2, 9s);
299 events.ScheduleEvent(EVENT_LORALEN_MOVE_1, 24s);
300 events.ScheduleEvent(EVENT_LORALEN_MOVE_2, 32s);
301 }
302 break;
303
304 case EVENT_SKIP_INTRO:
305 shortver = true;
309 loralen->GetMotionMaster()->MovePoint(0, LoralenFollowPos);
310 events.ScheduleEvent(EVENT_INTRO_LK_1, 0ms);
311 break;
312
313 // A2 Intro Events
314 case EVENT_INTRO_A2_1:
316 events.ScheduleEvent(EVENT_INTRO_A2_2, 5s);
317 break;
318 case EVENT_INTRO_A2_2:
320 events.ScheduleEvent(EVENT_INTRO_A2_3, 10s);
321 break;
322 case EVENT_INTRO_A2_3:
325 //DoCastSelf(SPELL_ARCANE_CAST_VISUAL);// the sniff is missing from the alliance
326 events.ScheduleEvent(EVENT_INTRO_A2_4, 10s);
327 break;
328 case EVENT_INTRO_A2_4:
329 if (Creature* uther = instance->GetCreature(NPC_UTHER))
330 {
331 uther->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
332 uther->SetVisible(true);
333 if (Aura* a = uther->AddAura(SPELL_SHADOWMOURNE_VISUAL, uther))
334 a->SetDuration(8000);
335 }
336 events.ScheduleEvent(EVENT_INTRO_A2_5, 2s);
337 break;
338 case EVENT_INTRO_A2_5:
339 if (Creature* uther = instance->GetCreature(NPC_UTHER))
340 {
341 uther->AI()->Talk(SAY_UTHER_INTRO_A2_1);
342 events.ScheduleEvent(EVENT_INTRO_A2_6, 3s);
343 }
344 break;
345 case EVENT_INTRO_A2_6:
347 events.ScheduleEvent(EVENT_INTRO_A2_7, 6s);
348 break;
349 case EVENT_INTRO_A2_7:
350 if (Creature* uther = instance->GetCreature(NPC_UTHER))
351 uther->AI()->Talk(SAY_UTHER_INTRO_A2_2);
352 events.ScheduleEvent(EVENT_INTRO_A2_8, 6500ms);
353 break;
354 case EVENT_INTRO_A2_8:
356 events.ScheduleEvent(EVENT_INTRO_A2_9, 2s);
357 break;
358 case EVENT_INTRO_A2_9:
359 if (Creature* uther = instance->GetCreature(NPC_UTHER))
360 uther->AI()->Talk(SAY_UTHER_INTRO_A2_3);
361 events.ScheduleEvent(EVENT_INTRO_A2_10, 9s);
362 break;
365 events.ScheduleEvent(EVENT_INTRO_A2_11, 5s);
366 break;
368 if (Creature* uther = instance->GetCreature(NPC_UTHER))
369 uther->AI()->Talk(SAY_UTHER_INTRO_A2_4);
370 events.ScheduleEvent(EVENT_INTRO_A2_12, 11s);
371 break;
374 events.ScheduleEvent(EVENT_INTRO_A2_13, 4s);
375 break;
377 if (Creature* uther = instance->GetCreature(NPC_UTHER))
378 uther->AI()->Talk(SAY_UTHER_INTRO_A2_5);
379 events.ScheduleEvent(EVENT_INTRO_A2_14, 12s + 500ms);
380 break;
383 events.ScheduleEvent(EVENT_INTRO_A2_15, 10s);
384 break;
386 if (Creature* uther = instance->GetCreature(NPC_UTHER))
387 uther->AI()->Talk(SAY_UTHER_INTRO_A2_6);
388 events.ScheduleEvent(EVENT_INTRO_A2_16, 24s);
389 break;
391 if (Creature* uther = instance->GetCreature(NPC_UTHER))
392 uther->AI()->Talk(SAY_UTHER_INTRO_A2_7);
393 events.ScheduleEvent(EVENT_INTRO_A2_17, 4s);
394 break;
397 events.ScheduleEvent(EVENT_INTRO_A2_18, 2s);
398 break;
400 if (Creature* uther = instance->GetCreature(NPC_UTHER))
401 {
402 uther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
403 uther->AI()->Talk(SAY_UTHER_INTRO_A2_8);
404 }
405 events.ScheduleEvent(EVENT_INTRO_A2_19, 11s);
406 break;
409 events.ScheduleEvent(EVENT_INTRO_LK_1, 2s);
410 break;
411
412 // H2 Intro Events
415 loralen->GetMotionMaster()->MovePoint(0, LoralenFollowPos);
416 break;
417
420 loralen->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL);
421 break;
422
423 case EVENT_INTRO_H2_2:
427 events.ScheduleEvent(EVENT_INTRO_H2_2_1, 7s + 500ms);
428 break;
429
433 events.ScheduleEvent(EVENT_INTRO_H2_3, 2s);
434 break;
435
436 case EVENT_INTRO_H2_3:
438 events.ScheduleEvent(EVENT_INTRO_H2_3_1, 5s);
439 break;
440
444 events.ScheduleEvent(EVENT_INTRO_H2_3_2, 3s);
445 break;
446
449 events.ScheduleEvent(EVENT_INTRO_H2_4, 2s);
450 break;
451 case EVENT_INTRO_H2_4:
452 if (Creature* uther = instance->GetCreature(NPC_UTHER))
453 {
454 uther->SetVisible(true);
455 if (Aura* a = uther->AddAura(SPELL_SHADOWMOURNE_VISUAL, uther))
456 a->SetDuration(8000);
457 }
458 events.ScheduleEvent(EVENT_INTRO_H2_5, 7s);
459 break;
460
461 case EVENT_INTRO_H2_5:
462 if (Creature* uther = instance->GetCreature(NPC_UTHER))
463 {
464 uther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
465 uther->AI()->Talk(SAY_UTHER_INTRO_H2_1);
466 }
467 events.ScheduleEvent(EVENT_INTRO_H2_6, 11s);
468 break;
469 case EVENT_INTRO_H2_6:
472 events.ScheduleEvent(EVENT_INTRO_H2_7, 2s + 500ms);
473 break;
474 case EVENT_INTRO_H2_7:
475 if (Creature* uther = instance->GetCreature(NPC_UTHER))
476 {
477 uther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
478 uther->AI()->Talk(SAY_UTHER_INTRO_H2_2);
479 }
480 events.ScheduleEvent(EVENT_INTRO_H2_8, 9s);//
481 break;
482 case EVENT_INTRO_H2_8:
485 events.ScheduleEvent(EVENT_INTRO_H2_9, 5s);
486 break;
487 case EVENT_INTRO_H2_9:
488 if (Creature* uther = instance->GetCreature(NPC_UTHER))
489 {
490 uther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
491 uther->AI()->Talk(SAY_UTHER_INTRO_H2_3);
492 }
493 events.ScheduleEvent(EVENT_INTRO_H2_10, 20s);
494 break;
498 events.ScheduleEvent(EVENT_INTRO_H2_11, 3s);
499 break;
501 if (Creature* uther = instance->GetCreature(NPC_UTHER))
502 {
503 uther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
504 uther->AI()->Talk(SAY_UTHER_INTRO_H2_4);
505 }
506 events.ScheduleEvent(EVENT_INTRO_H2_12, 21s + 500ms);
507 break;
511 events.ScheduleEvent(EVENT_INTRO_H2_13, 3s + 500ms);
512 break;
514 if (Creature* uther = instance->GetCreature(NPC_UTHER))
515 {
516 uther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
517 uther->AI()->Talk(SAY_UTHER_INTRO_H2_5);
518 }
519 events.ScheduleEvent(EVENT_INTRO_H2_14, 12s + 500ms);
520 break;
522 if (Creature* uther = instance->GetCreature(NPC_UTHER))
523 {
524 uther->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
525 uther->AI()->Talk(SAY_UTHER_INTRO_H2_6);
526 }
527 events.ScheduleEvent(EVENT_INTRO_H2_15, 8s);
528 break;
532 events.ScheduleEvent(EVENT_INTRO_LK_1, 2s);
533 break;
534
535 // Remaining Intro Events common for both faction
536 case EVENT_INTRO_LK_1:
538 {
539
541 lichKing->SetVisible(true);
542
543 lichKing->GetMotionMaster()->MovePoint(0, LichKingMoveMidlelThronePos, FORCED_MOVEMENT_NONE, 0.f, false);
544
545 }
546
547 if (!shortver)
548 if (Creature* uther = instance->GetCreature(NPC_UTHER))
549 {
550 uther->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION);
551 if (me->GetEntry() == NPC_JAINA_PART1)
552
553 uther->AI()->Talk(SAY_UTHER_INTRO_A2_9);
554 else
555 uther->AI()->Talk(SAY_UTHER_INTRO_H2_7);
556
557 }
558 events.ScheduleEvent(EVENT_INTRO_LK_1_1, 9s);
559 events.ScheduleEvent(EVENT_INTRO_LK_1_2, 3s);
560 events.ScheduleEvent(EVENT_INTRO_LK_1_3, 6s);
561 events.ScheduleEvent(EVENT_INTRO_LK_2, 12s);
562 break;
563
566 {
567 lichKing->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION);
568 lichKing->AI()->Talk(SAY_LK_INTRO_1);
569 }
570 break;
571
573 if (!shortver)
574 if (Creature* uther = instance->GetCreature(NPC_UTHER))
575 {
576 uther->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_COWER);
577 uther->SetFacingTo(0.89f);
578 }
579 break;
580
583 break;
584
585 case EVENT_INTRO_LK_2:
586 if (!shortver)
588 {
589 lichKing->SetVisible(true);
590 lichKing->GetMotionMaster()->MovePoint(0, LichKingMoveThronePos, FORCED_MOVEMENT_NONE, 0.f, false);
591 }
592 events.ScheduleEvent(EVENT_INTRO_LK_2_1, 1s);
593 break;
594
596 if (!shortver)
597 if (Creature* uther = instance->GetCreature(NPC_UTHER))
598 {
599 uther->SendPlaySpellVisual(SPELL_UTHER_DESPAWN);
600 uther->CastSpell(uther, SPELL_UTHER_DESPAWN, true);
601 }
602 events.ScheduleEvent(EVENT_INTRO_LK_3, 2s);
603 break;
604
605 case EVENT_INTRO_LK_3:
606 if (!shortver)
607 if (Creature* uther = instance->GetCreature(NPC_UTHER))
608 uther->SetVisible(false);
609 events.ScheduleEvent(EVENT_INTRO_LK_4, 6s);
610 break;
611
612 case EVENT_INTRO_LK_4:
614 {
615 lichKing->HandleEmoteCommand(EMOTE_ONESHOT_QUESTION);
616 lichKing->AI()->Talk(SAY_LK_INTRO_2);
617 }
618 events.ScheduleEvent(EVENT_INTRO_LK_4_2, 10s);
619 break;
620
623 {
624 lichKing->LoadEquipment(1, true);
625 lichKing->SendMovementFlagUpdate();
626 lichKing->CastSpell(lichKing, SPELL_FROSTMOURNE_EQUIP);
628 events.ScheduleEvent(EVENT_INTRO_LK_4_3, 1750ms);
629 }
630 events.ScheduleEvent(EVENT_INTRO_LK_5, 6s);
631 break;
632
635 go->SetPhaseMask(2, true);
636 break;
637 case EVENT_INTRO_LK_5:
639 {
640 falric->UpdatePosition(5274.9f, 2039.2f, 709.319f, 5.4619f, true);
641 falric->StopMovingOnCurrentPos();
642 falric->SetVisible(true);
643 if (falric->IsAlive())
644 {
645 falric->GetMotionMaster()->MovePoint(0, FalricMovePos);
646 if (Aura* a = falric->AddAura(SPELL_SHADOWMOURNE_VISUAL, falric))
647 a->SetDuration(8000);
648 }
649 }
651 {
652 marwyn->UpdatePosition(5343.77f, 1973.86f, 709.319f, 2.35173f, true);
653 marwyn->StopMovingOnCurrentPos();
654 marwyn->SetVisible(true);
655 if (marwyn->IsAlive())
656 {
657 marwyn->GetMotionMaster()->MovePoint(0, MarwynMovePos);
658 if (Aura* a = marwyn->AddAura(SPELL_SHADOWMOURNE_VISUAL, marwyn))
659 a->SetDuration(8000);
660 }
661 }
662 events.ScheduleEvent(EVENT_INTRO_LK_5_1, 0s);
663 events.ScheduleEvent(EVENT_INTRO_LK_5_2, 7s);
664 events.ScheduleEvent(EVENT_INTRO_LK_5_3, 0s);
665 events.ScheduleEvent(EVENT_INTRO_LK_6, 11s);
666 break;
667
670 {
671 lichKing->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
672 lichKing->AI()->Talk(SAY_LK_INTRO_3);
673 }
674 break;
675
678 lichKing->GetMotionMaster()->MovePoint(0, LichKingMoveAwayPos, FORCED_MOVEMENT_NONE, 0.f, false);
679 break;
680
682 me->SetSpeed(MOVE_RUN, 1.6);
686 {
687 loralen->SetSheath(SHEATH_STATE_MELEE);
688 loralen->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_READY1H);
689 loralen->SetWalk(false);
690 loralen->LoadEquipment(true);
691 }
692 break;
693
694 case EVENT_INTRO_LK_6:
696 {
697 falric->HandleEmoteCommand(EMOTE_ONESHOT_BOW);
698 falric->AI()->Talk(SAY_FALRIC_INTRO_1);
699 }
700 events.ScheduleEvent(EVENT_INTRO_LK_7, 2s);
701 break;
702
703 case EVENT_INTRO_LK_7:
705 {
706 marwyn->HandleEmoteCommand(EMOTE_ONESHOT_BOW);
707 marwyn->AI()->Talk(SAY_MARWYN_INTRO_1);
708 }
709 events.ScheduleEvent(EVENT_INTRO_LK_8, 3s);
710 break;
711
712 case EVENT_INTRO_LK_8:
714 {
715 falric->AI()->Talk(SAY_FALRIC_INTRO_2);
718 }
719 events.ScheduleEvent(EVENT_INTRO_LK_9, 6s);
720 break;
721
722 case EVENT_INTRO_LK_9:
723 if (me->GetEntry() == NPC_JAINA_PART1)
724 {
726 }
727 else
728 {
732 }
734 loralen->GetMotionMaster()->MovePoint(0, LoralenFollowLk1, FORCED_MOVEMENT_NONE, 0.f, false);
735 events.ScheduleEvent(EVENT_INTRO_LK_10, 1s + 500ms);
736 break;
737
740 loralen->GetMotionMaster()->MovePoint(0, LoralenFollowLk2, FORCED_MOVEMENT_NONE, 0.f, false);
741 events.ScheduleEvent(EVENT_INTRO_LK_11, 2s);
742 break;
743
746 loralen->GetMotionMaster()->MovePoint(0, LoralenFollowLk3, FORCED_MOVEMENT_NONE, 0.f, false);
747 events.ScheduleEvent(EVENT_INTRO_LK_12, 5s + 500ms);
748 break;
749
752 lichKing->SetVisible(false);
754 loralen->GetMotionMaster()->MovePoint(0, LoralenFollowLkFinal, FORCED_MOVEMENT_NONE, 0.f, false);
755 events.ScheduleEvent(EVENT_INTRO_LK_13, 2s);
756 break;
758 me->SetVisible(false);
759 events.ScheduleEvent(EVENT_INTRO_END, 2s +500ms);
760 break;
761
762 case EVENT_INTRO_END:
765 events.ScheduleEvent(EVENT_INTRO_END_SET, 3s);
766 break;
769 {
770 loralen->UpdatePosition(5369.71289f, 2083.6330f, 707.695129f, 0.188739f, true);
771 loralen->StopMovingOnCurrentPos();
772 loralen->SetVisible(true);
773 loralen->KillSelf(loralen);
774 }
776 break;
777 }
778 }
@ DONE
Definition InstanceScript.h:61
@ FORCED_MOVEMENT_NONE
Definition MotionMaster.h:86
@ EMOTE_STATE_READY1H
Definition SharedDefines.h:1970
@ EMOTE_ONESHOT_KNEEL
Definition SharedDefines.h:1912
@ EMOTE_ONESHOT_EXCLAMATION
Definition SharedDefines.h:1903
@ EMOTE_ONESHOT_QUESTION
Definition SharedDefines.h:1904
@ EMOTE_STATE_COWER
Definition SharedDefines.h:2029
@ EMOTE_ONESHOT_READY1H
Definition SharedDefines.h:1936
@ EMOTE_ONESHOT_BOW
Definition SharedDefines.h:1900
@ EMOTE_STATE_READY2H
Definition SharedDefines.h:1974
@ EMOTE_ONESHOT_TALK
Definition SharedDefines.h:1899
@ UNIT_NPC_FLAG_GOSSIP
Definition UnitDefines.h:322
@ UNIT_NPC_FLAG_QUESTGIVER
Definition UnitDefines.h:323
@ SHEATH_STATE_UNARMED
Definition UnitDefines.h:129
@ SHEATH_STATE_MELEE
Definition UnitDefines.h:130
@ MOVE_RUN
Definition UnitDefines.h:357
Definition SpellAuras.h:87
Definition Creature.h:47
Definition GameObject.h:120
Creature * GetCreature(uint32 type)
Definition InstanceScript.cpp:116
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
Open or close a GameObject by GUID.
Definition InstanceScript.cpp:126
GameObject * GetGameObject(uint32 type)
Definition InstanceScript.cpp:121
void MovePoint(uint32 id, const Position &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
uint32 GetEntry() const
Definition Object.h:117
SpellCastResult DoCastSelf(uint32 spellId, bool triggered=false)
Definition UnitAI.h:394
void SetVisible(bool x)
Definition Unit.cpp:11098
MotionMaster * GetMotionMaster()
Definition Unit.h:1759
virtual void SetSheath(SheathState sheathed)
Definition Unit.h:1778
void SetNpcFlag(NPCFlags flags)
Definition Unit.h:764
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition Unit.cpp:5171
void SetSpeed(UnitMoveType mtype, float rate, bool forced=false)
Definition Unit.cpp:11296
void HandleEmoteCommand(uint32 emoteId)
Definition Unit.cpp:2197
virtual void SetData(uint32, uint32)
Definition ZoneScript.h:52
@ NPC_UTHER
Definition culling_of_stratholme.h:58
@ 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:47
@ 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:343
const Position MoveThronePos
Definition halls_of_reflection.h:337
@ GO_FRONT_DOOR
Definition halls_of_reflection.h:94
@ GO_FROSTMOURNE
Definition halls_of_reflection.h:92
@ GO_ARTHAS_DOOR
Definition halls_of_reflection.h:95
const Position LoralenFollowPos
Definition halls_of_reflection.h:331
const Position LichKingMoveAwayPos
Definition halls_of_reflection.h:342
@ NPC_DARK_RANGER_LORALEN
Definition halls_of_reflection.h:68
@ NPC_LICH_KING_EVENT
Definition halls_of_reflection.h:59
const Position LoralenFollowLk3
Definition halls_of_reflection.h:334
const Position LichKingMoveThronePos
Definition halls_of_reflection.h:341
const Position MarwynMovePos
Definition halls_of_reflection.h:344
const Position LoralenFollowLkFinal
Definition halls_of_reflection.h:335
@ SPELL_FROSTMOURNE_SPAWN_SOUND
Definition halls_of_reflection.h:265
@ SPELL_UTHER_DESPAWN
Definition halls_of_reflection.h:270
@ SPELL_SUMMON_SOULS
Definition halls_of_reflection.h:272
@ SPELL_FROSTMOURNE_EQUIP
Definition halls_of_reflection.h:266
@ SPELL_SHADOWMOURNE_VISUAL
Definition halls_of_reflection.h:269
const Position LoralenFollowLk2
Definition halls_of_reflection.h:333
const Position LoralenFollowLk1
Definition halls_of_reflection.h:332
@ SAY_UTHER_INTRO_A2_4
Definition halls_of_reflection.h:146
@ SAY_LK_INTRO_2
Definition halls_of_reflection.h:176
@ SAY_UTHER_INTRO_H2_6
Definition halls_of_reflection.h:170
@ SAY_UTHER_INTRO_H2_4
Definition halls_of_reflection.h:167
@ SAY_UTHER_INTRO_A2_2
Definition halls_of_reflection.h:142
@ SAY_MARWYN_INTRO_1
Definition halls_of_reflection.h:179
@ SAY_JAINA_INTRO_10
Definition halls_of_reflection.h:152
@ SAY_JAINA_INTRO_9
Definition halls_of_reflection.h:149
@ SAY_UTHER_INTRO_H2_5
Definition halls_of_reflection.h:169
@ SAY_JAINA_INTRO_END
Definition halls_of_reflection.h:182
@ SAY_UTHER_INTRO_H2_3
Definition halls_of_reflection.h:165
@ SAY_FALRIC_INTRO_1
Definition halls_of_reflection.h:178
@ SAY_UTHER_INTRO_A2_5
Definition halls_of_reflection.h:148
@ SAY_SYLVANAS_INTRO_8
Definition halls_of_reflection.h:171
@ SAY_UTHER_INTRO_A2_8
Definition halls_of_reflection.h:153
@ SAY_UTHER_INTRO_A2_7
Definition halls_of_reflection.h:151
@ SAY_UTHER_INTRO_A2_1
Definition halls_of_reflection.h:140
@ SAY_LK_INTRO_1
Definition halls_of_reflection.h:175
@ SAY_UTHER_INTRO_A2_6
Definition halls_of_reflection.h:150
@ SAY_LK_INTRO_3
Definition halls_of_reflection.h:177
@ SAY_FALRIC_INTRO_2
Definition halls_of_reflection.h:180
@ SAY_UTHER_INTRO_A2_3
Definition halls_of_reflection.h:144
@ SAY_UTHER_INTRO_A2_9
Definition halls_of_reflection.h:155
@ SAY_UTHER_INTRO_H2_2
Definition halls_of_reflection.h:163
@ SAY_UTHER_INTRO_H2_7
Definition halls_of_reflection.h:172
@ SAY_SYLVANAS_INTRO_END
Definition halls_of_reflection.h:183
@ SAY_JAINA_INTRO_11
Definition halls_of_reflection.h:154
@ SAY_UTHER_INTRO_H2_1
Definition halls_of_reflection.h:161
@ SAY_SYLVANAS_INTRO_7
Definition halls_of_reflection.h:168
const Position LoralenMidleFollowPos
Definition halls_of_reflection.h:330
const Position SpawnPos
Definition halls_of_reflection.h:329
const Position LichKingMoveMidlelThronePos
Definition halls_of_reflection.h:340
@ ACTION_SHOW_TRASH
Definition halls_of_reflection.h:46
@ DATA_MARWYN
Definition halls_of_reflection.h:32
@ DATA_FALRIC
Definition halls_of_reflection.h:31
@ DATA_INTRO
Definition halls_of_reflection.h:37
Talk
Definition hyjal.cpp:82

References ACTION_SHOW_TRASH, DATA_FALRIC, DATA_INTRO, DATA_MARWYN, UnitAI::DoCastSelf(), 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, FORCED_MOVEMENT_NONE, InstanceScript::GetCreature(), Object::GetEntry(), InstanceScript::GetGameObject(), Unit::GetMotionMaster(), GO_ARTHAS_DOOR, GO_FRONT_DOOR, GO_FROSTMOURNE, Unit::HandleEmoteCommand(), InstanceScript::HandleGameObject(), 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, 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

◆ instance

InstanceScript* npc_hor_leader::npc_hor_leaderAI::instance

Referenced by npc_hor_leaderAI(), Reset(), 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: