TrinityCore
Loading...
Searching...
No Matches
npc_arthas.cpp File Reference
#include "culling_of_stratholme.h"
#include "Containers.h"
#include "GameObject.h"
#include "InstanceScript.h"
#include "Log.h"
#include "Map.h"
#include "MotionMaster.h"
#include "MoveSplineInit.h"
#include "ObjectAccessor.h"
#include "PassiveAI.h"
#include "Player.h"
#include "Random.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "ScriptMgr.h"
#include "ScriptSystem.h"
#include "SmartEnum.h"
#include "SpellScript.h"
#include "SplineChainMovementGenerator.h"
#include "TemporarySummon.h"
#include <array>
#include <unordered_map>
#include <vector>
+ Include dependency graph for npc_arthas.cpp:

Go to the source code of this file.

Classes

struct  SnapbackInfo
 
class  npc_arthas_stratholme
 
struct  npc_arthas_stratholme::npc_arthas_stratholmeAI
 
struct  npc_stratholme_rp_dummy
 
class  spell_stratholme_crusader_strike
 

Enumerations

enum  Entries {
  NPC_MALGANIS_BUNNY = 20562 , NPC_UTHER = 26528 , NPC_JAINA = 26497 , NPC_CITIZEN = 28167 ,
  NPC_RESIDENT = 28169 , NPC_FOOTMAN = 27745 , NPC_KNIGHT = 27746 , NPC_PRIEST = 27747 ,
  NPC_SORCERESS = 27752 , NPC_RISEN_ZOMBIE = 27737 , NPC_CITIZEN_INFINITE = 28340 , NPC_RESIDENT_INFINITE = 28341 ,
  NPC_TIME_RIFT = 28409 , NPC_TIME_RIFT_LARGE = 28439 , NPC_INFINITE_ADVERSARY = 27742 , NPC_INFINITE_HUNTER = 27743 ,
  NPC_INFINITE_AGENT = 27744 , NPC_EPOCH = 26532 , NPC_MALGANIS = 26533 , NPC_CHROMIE_3 = 30997 ,
  SPELL_HOLY_LIGHT = 52444 , SPELL_EXORCISM = 52445 , SPELL_DEVOTION_AURA = 52442 , SPELL_CRUSADER_STRIKE = 50773 ,
  SPELL_SHADOWSTEP_VISUAL = 51908 , SPELL_TRANSFORM_VISUAL = 33133 , SPELL_MALGANIS_QUEST_CREDIT = 58124 , SPELL_MALGANIS_KILL_CREDIT = 58630 ,
  SPELL_CHROMIE_3_TRANSFORM = 58986 , GO_CHEST_NORMAL = 190663 , GO_CHEST_HEROIC = 193597
}
 
enum  SplineChains {
  RP1_CHAIN_ARTHAS1 = 1 , RP1_CHAIN_UTHER1 = 1 , RP1_CHAIN_JAINA1 = 1 , RP1_CHAIN_ARTHAS2 = 2 ,
  RP1_CHAIN_UTHER2 = 2 , RP1_CHAIN_JAINA2 = 2 , RP1_CHAIN_UTHER3 = 3 , RP1_CHAIN_JAINA3 = 3 ,
  RP1_CHAIN_JAINA4 = 4 , RP1_CHAIN_ARTHAS3 = 3 , RP1_CHAIN_ARTHAS4 = 4 , RP2_CHAIN_ARTHAS1 = 5 ,
  RP2_CHAIN_CITIZEN1 = 1 , RP2_CHAIN_ARTHAS2 = 6 , RP2_CHAIN_ARTHAS3 = 7 , RP3_CHAIN_ARTHAS1 = 91 ,
  RP3_CHAIN_ARTHAS2 = 92 , RP3_CHAIN_ARTHAS3 = 95 , RP3_CHAIN_ARTHAS3_2 = 96 , RP3_CHAIN_ARTHAS4 = 97 ,
  RP3_CHAIN_ARTHAS5 = 98 , RP3_CHAIN_EPOCH = 1 , RP3_CHAIN_SPAWN1_LOC1 = 4 , RP3_CHAIN_SPAWN1_LOC2 = 2 ,
  RP3_CHAIN_SPAWN1_LOC3 = 1 , RP3_CHAIN_SPAWN1_LOC4 = 3 , RP3_CHAIN_SPAWN2_LOC1 = 5 , RP3_CHAIN_SPAWN2_LOC2 = 6 ,
  RP3_CHAIN_SPAWN2_LOC3 = 7 , RP3_CHAIN_SPAWN2_LOC4 = 8 , RP3_CHAIN_SPAWN3_LOC1 = 9 , RP3_CHAIN_SPAWN3_LOC2 = 10 ,
  RP3_CHAIN_SPAWN3_LOC3 = 11 , RP3_CHAIN_SPAWN3_LOC4 = 12 , RP4_CHAIN_ARTHAS1 = 101 , RP4_CHAIN_ARTHAS2 = 128 ,
  RP4_CHAIN_GAUNTLET1 = 1024 , RP4_CHAIN_GAUNTLET2 = 1025 , RP5_CHAIN_ARTHAS1 = 121 , RP5_CHAIN_ARTHAS2 = 124 ,
  RP5_CHAIN_ARTHAS3 = 125 , RP5_CHAIN_ARTHAS4 = 127
}
 
enum  PointIDs {
  RP1_POINTID_UTHER1 = 1 , RP1_POINTID_ARTHAS2 , RP1_POINTID_UTHER2 , RP1_POINTID_JAINA2 ,
  RP1_POINTID_UTHER3 , RP1_POINTID_JAINA4 , RP1_POINTID_ARTHAS3 , RP1_POINTID_ARTHAS4 ,
  RP2_POINTID_ARTHAS1 , RP2_POINTID_ARTHAS2 , RP2_POINTID_ARTHAS3 , RP3_POINTID_TOWN_HALL ,
  RP3_POINTID_ARTHAS1 , RP3_POINTID_ARTHAS2 , RP3_POINTID_ARTHAS3 , RP3_POINTID_ARTHAS4 ,
  RP3_POINTID_ARTHAS5 , RP4_POINTID_ARTHAS1 , RP4_POINTID_ARTHAS2 , RP4_POINTID_GAUNTLET1 ,
  RP4_POINTID_GAUNTLET2 , RP5_POINTID_ARTHAS1 , RP5_POINTID_ARTHAS3 , RP5_POINTID_ARTHAS4
}
 
enum  Actions {
  ACTION_NONE = 0 , RP3_ACTION_AFTER_INITIAL , RP3_ACTION_AFTER_SPAWN1 , RP3_ACTION_AFTER_SPAWN2 ,
  RP3_ACTION_AFTER_SPAWN3 , RP3_ACTION_AFTER_EPOCH , RP5_ACTION_AFTER_MALGANIS
}
 
enum  Data { DATA_RP_DUMMY_MOVED }
 
enum  RPEvents {
  RP1_EVENT_START1 = 1 , RP1_EVENT_START2 , RP1_EVENT_ARTHAS1 , RP1_EVENT_UTHER1 ,
  RP1_EVENT_ARTHAS2 , RP1_EVENT_ARTHAS3 , RP1_EVENT_UTHER_FACE , RP1_EVENT_JAINA_FACE ,
  RP1_EVENT_UTHER2 , RP1_EVENT_ARTHAS4 , RP1_EVENT_UTHER3 , RP1_EVENT_ARTHAS_TURN ,
  RP1_EVENT_ARTHAS5 , RP1_EVENT_UTHER4 , RP1_EVENT_ARTHAS6 , RP1_EVENT_UTHER5 ,
  RP1_EVENT_ARTHAS7 , RP1_EVENT_JAINA1 , RP1_EVENT_ARTHAS8 , RP1_EVENT_ARTHAS8_2 ,
  RP1_EVENT_UTHER6 , RP1_EVENT_UTHER_LEAVE , RP1_EVENT_JAINA_LEAVE , RP1_EVENT_ARTHAS9 ,
  RP1_EVENT_JAINA2 , RP1_EVENT_JAINA_LEAVE2 , RP1_EVENT_ARTHAS_LEAVE , RP1_EVENT_ARTHAS10 ,
  RP1_EVENT_ARTHAS_LEAVE2 , RP1_EVENT_FINISHED , RP2_EVENT_ARTHAS_MOVE_1 , RP2_EVENT_CITIZEN1 ,
  RP2_EVENT_ARTHAS2 , RP2_EVENT_ARTHAS_MOVE_2 , RP2_EVENT_CITIZEN2 , RP2_EVENT_KILL1 ,
  RP2_EVENT_ARTHAS_MOVE_3 , RP2_EVENT_KILL2 , RP2_EVENT_REACT1 , RP2_EVENT_REACT2 ,
  RP2_EVENT_REACT3 , RP2_EVENT_REACT4 , RP2_EVENT_REACT5 , RP2_EVENT_ARTHAS_MOVE_4 ,
  RP2_EVENT_ARTHAS3 , RP2_EVENT_MALGANIS1 , RP2_EVENT_TROOPS_FACE , RP2_EVENT_ARTHAS_FACE ,
  RP2_EVENT_MALGANIS2 , RP2_EVENT_MALGANIS_LEAVE1 , RP2_EVENT_MALGANIS_LEAVE2 , RP2_EVENT_ARTHAS4 ,
  RP2_EVENT_ARTHAS4_2 , RP2_EVENT_ARTHAS_MOVE_5 , RP2_EVENT_ARTHAS5 , RP2_EVENT_ARTHAS5_2 ,
  RP2_EVENT_ARTHAS5_3 , RP2_EVENT_WAVE_START , EVENT_TOWN_HALL_REACHED , RP3_EVENT_RESIDENT_FACE ,
  RP3_EVENT_ARTHAS_FACE , RP3_EVENT_CITIZEN1 , RP3_EVENT_ARTHAS2 , RP3_EVENT_ARTHAS_KILL ,
  RP3_EVENT_INFINITE_LAUGH , RP3_EVENT_ARTHAS3 , RP3_EVENT_CITIZEN2 , RP3_EVENT_TRANSFORM1 ,
  RP3_EVENT_TRANSFORM2 , RP3_EVENT_TRANSFORM3 , RP3_EVENT_AGGRO , RP3_EVENT_ARTHAS4 ,
  RP3_EVENT_ARTHAS_MOVE_1 , RP3_EVENT_ARTHAS_MOVE_1_2 , RP3_EVENT_SPAWN1 , RP3_EVENT_SPAWN1_FACE ,
  RP3_EVENT_SPAWN1_AGGRO , RP3_EVENT_ARTHAS11 , RP3_EVENT_ARTHAS_MOVE_2 , RP3_EVENT_ARTHAS20 ,
  RP3_EVENT_SPAWN2 , RP3_EVENT_ARTHAS_FACE2 , RP3_EVENT_SPAWN2_FACE , RP3_EVENT_SPAWN2_AGGRO ,
  RP3_EVENT_ARTHAS21 , RP3_EVENT_ARTHAS_MOVE_3 , RP3_EVENT_SPAWN3 , RP3_EVENT_ARTHAS30 ,
  RP3_EVENT_SPAWN3_FACE , RP3_EVENT_SPAWN3_AGGRO , RP3_EVENT_EPOCH_SPAWN , RP3_EVENT_ARTHAS31 ,
  RP3_EVENT_EPOCH_FACE , RP3_EVENT_EPOCH1 , RP3_EVENT_ARTHAS32 , RP3_EVENT_ARTHAS32_2 ,
  RP3_EVENT_EPOCH_AGGRO , RP4_EVENT_ARTHAS2 , RP4_EVENT_HIDDEN_PASSAGE , RP4_EVENT_ARTHAS3 ,
  RP4_EVENT_GAUNTLET_REACHED , RP4_EVENT_ARTHAS_MOVE , RP4_EVENT_ARTHAS11 , RP4_EVENT_ARTHAS_FACE ,
  RP4_EVENT_ARTHAS12 , RP4_EVENT_GAUNTLET_RESUME , RP4_EVENT_ARTHAS13 , RP4_EVENT_GAUNTLET_DONE ,
  RP5_EVENT_ARTHAS2 , RP5_EVENT_MALGANIS1 , RP5_EVENT_MALGANIS_DONE , RP5_EVENT_MALGANIS12 ,
  RP5_EVENT_MALGANIS_LEAVE , RP5_EVENT_ARTHAS10 , RP5_EVENT_ARTHAS10_2 , RP5_EVENT_ARTHAS11 ,
  RP5_EVENT_ARTHAS11_2 , RP5_EVENT_ARTHAS_LEAVE , RP5_EVENT_ARTHAS_LEAVE2 , RP5_EVENT_CHROMIE_SPAWN ,
  RP5_EVENT_CHROMIE_LAND , RP5_EVENT_CHROMIE_TRANSFORM
}
 
enum  RPEventLines1 {
  RP1_LINE_ARTHAS1 = 0 , RP1_LINE_UTHER1 = 0 , RP1_LINE_ARTHAS2 = 1 , RP1_LINE_ARTHAS3 = 2 ,
  RP1_LINE_UTHER2 = 1 , RP1_LINE_ARTHAS4 = 3 , RP1_LINE_UTHER3 = 2 , RP1_LINE_ARTHAS5 = 4 ,
  RP1_LINE_UTHER4 = 3 , RP1_LINE_ARTHAS6 = 5 , RP1_LINE_UTHER5 = 4 , RP1_LINE_ARTHAS7 = 6 ,
  RP1_LINE_JAINA1 = 0 , RP1_LINE_ARTHAS8 = 7 , RP1_LINE_UTHER6 = 5 , RP1_LINE_ARTHAS9 = 8 ,
  RP1_LINE_JAINA2 = 1 , RP1_LINE_ARTHAS10 = 9 , RP1_LINE_ARTHAS11 = 40
}
 
enum  RPEventLines2 {
  RP2_LINE_ARTHAS1 = 10 , RP2_LINE_CITIZEN1 = 0 , RP2_LINE_ARTHAS2 = 11 , RP2_LINE_CITIZEN2 = 1 ,
  RP2_LINE_RESIDENT1 = 0 , RP2_LINE_ARTHAS3 = 12 , RP2_LINE_MALGANIS1 = 0 , RP2_LINE_MALGANIS2 = 1 ,
  RP2_LINE_ARTHAS4 = 13 , RP2_LINE_ARTHAS5 = 14
}
 
enum  RPEventLines3 {
  RP3_LINE_ARTHAS1 = 16 , RP3_LINE_CITIZEN1 = 0 , RP3_LINE_ARTHAS2 = 17 , RP3_LINE_ARTHAS3 = 18 ,
  RP3_LINE_CITIZEN2 = 1 , RP3_LINE_ARTHAS4 = 19 , RP3_LINE_ARTHAS10 = 20 , RP3_LINE_ARTHAS11 = 21 ,
  RP3_LINE_ARTHAS20 = 22 , RP3_LINE_ARTHAS21 = 24 , RP3_LINE_ARTHAS30 = 25 , RP3_LINE_ARTHAS31 = 26 ,
  RP3_LINE_EPOCH1 = 0 , RP3_LINE_ARTHAS32 = 27 , RP3_LINE_EPOCH2 = 1
}
 
enum  RPEventLines4 {
  RP4_LINE_ARTHAS1 = 28 , RP4_LINE_ARTHAS2 = 29 , RP4_LINE_ARTHAS3 = 30 , RP4_LINE_ARTHAS10 = 31 ,
  RP4_LINE_ARTHAS11 = 32 , RP4_LINE_ARTHAS12 = 33 , RP4_LINE_ARTHAS13 = 34
}
 
enum  RPEventLines5 {
  RP5_LINE_ARTHAS1 = 35 , RP5_LINE_ARTHAS2 = 36 , RP5_LINE_MALGANIS1 = 2 , RP5_LINE_MALGANIS12 = 10 ,
  RP5_LINE_ARTHAS10 = 37 , RP5_LINE_ARTHAS11 = 38 , RP5_LINE_CHROMIE0 = 0
}
 
enum  PositionIndices : uint32 {
  RP1_ARTHAS_INITIAL = 0 , RP1_UTHER_SPAWN , RP1_JAINA_SPAWN , ARTHAS_PURGE_PENDING_POS ,
  ARTHAS_WAVES_POS , RP2_PRIEST1_POS , RP2_PRIEST2_POS , RP2_FOOT1_POS ,
  RP2_FOOT2_POS , RP2_FOOT3_POS , RP2_FOOT4_POS , RP2_MALGANIS_POS ,
  ARTHAS_TOWN_HALL_POS , RP3_SPAWN1_LOC1 , RP3_SPAWN1_LOC2 , RP3_SPAWN1_LOC3 ,
  RP3_SPAWN1_LOC4 , RP3_SPAWN1_RIFT , RP3_SPAWN2_LOC1 , RP3_SPAWN2_LOC2 ,
  RP3_SPAWN2_LOC3 , RP3_SPAWN2_LOC4 , RP3_SPAWN2_RIFT1 , RP3_SPAWN2_RIFT2 ,
  RP3_SPAWN3_LOC1 , RP3_SPAWN3_LOC2 , RP3_SPAWN3_LOC3 , RP3_SPAWN3_LOC4 ,
  RP3_SPAWN3_RIFT1 , RP3_SPAWN3_RIFT2 , RP3_EPOCH_SPAWN , RP3_EPOCH_RIFT ,
  ARTHAS_TOWN_HALL_END_POS , ARTHAS_GAUNTLET_POS , ARTHAS_GAUNTLET_END_POS , RP5_MALGANIS_POS ,
  ARTHAS_FINAL_POS , RP5_CHROMIE_SPAWN , NUM_POSITIONS
}
 
enum  OtherLines { LINE_TOWN_HALL_PENDING = 15 , LINE_SLAY_ZOMBIE = 39 }
 

Functions

Position const & GetArthasSnapbackFor (COSProgressStates state)
 
void AddSC_npc_arthas_stratholme ()
 

Variables

static std::array< Position, NUM_POSITIONS > const ArthasPositions
 
G3D::Vector3 const ChromieSplinePos []
 
static float const ArthasSnapbackDistanceThreshold = 5.0f
 
static std::unordered_map< uint32, SnapbackInfo > const ArthasSnapbackPositions
 

Enumeration Type Documentation

◆ Actions

enum Actions
Enumerator
ACTION_NONE 
RP3_ACTION_AFTER_INITIAL 
RP3_ACTION_AFTER_SPAWN1 
RP3_ACTION_AFTER_SPAWN2 
RP3_ACTION_AFTER_SPAWN3 
RP3_ACTION_AFTER_EPOCH 
RP5_ACTION_AFTER_MALGANIS 

Definition at line 167 of file npc_arthas.cpp.

◆ Data

enum Data
Enumerator
DATA_RP_DUMMY_MOVED 

Definition at line 178 of file npc_arthas.cpp.

◆ Entries

enum Entries
Enumerator
NPC_MALGANIS_BUNNY 
NPC_UTHER 
NPC_JAINA 
NPC_CITIZEN 
NPC_RESIDENT 
NPC_FOOTMAN 
NPC_KNIGHT 
NPC_PRIEST 
NPC_SORCERESS 
NPC_RISEN_ZOMBIE 
NPC_CITIZEN_INFINITE 
NPC_RESIDENT_INFINITE 
NPC_TIME_RIFT 
NPC_TIME_RIFT_LARGE 
NPC_INFINITE_ADVERSARY 
NPC_INFINITE_HUNTER 
NPC_INFINITE_AGENT 
NPC_EPOCH 
NPC_MALGANIS 
NPC_CHROMIE_3 
SPELL_HOLY_LIGHT 
SPELL_EXORCISM 
SPELL_DEVOTION_AURA 
SPELL_CRUSADER_STRIKE 
SPELL_SHADOWSTEP_VISUAL 
SPELL_TRANSFORM_VISUAL 
SPELL_MALGANIS_QUEST_CREDIT 
SPELL_MALGANIS_KILL_CREDIT 
SPELL_CHROMIE_3_TRANSFORM 
GO_CHEST_NORMAL 
GO_CHEST_HEROIC 

Definition at line 42 of file npc_arthas.cpp.

◆ OtherLines

enum OtherLines
Enumerator
LINE_TOWN_HALL_PENDING 
LINE_SLAY_ZOMBIE 

Definition at line 449 of file npc_arthas.cpp.

◆ PointIDs

enum PointIDs
Enumerator
RP1_POINTID_UTHER1 
RP1_POINTID_ARTHAS2 
RP1_POINTID_UTHER2 
RP1_POINTID_JAINA2 
RP1_POINTID_UTHER3 
RP1_POINTID_JAINA4 
RP1_POINTID_ARTHAS3 
RP1_POINTID_ARTHAS4 
RP2_POINTID_ARTHAS1 
RP2_POINTID_ARTHAS2 
RP2_POINTID_ARTHAS3 
RP3_POINTID_TOWN_HALL 
RP3_POINTID_ARTHAS1 
RP3_POINTID_ARTHAS2 
RP3_POINTID_ARTHAS3 
RP3_POINTID_ARTHAS4 
RP3_POINTID_ARTHAS5 
RP4_POINTID_ARTHAS1 
RP4_POINTID_ARTHAS2 
RP4_POINTID_GAUNTLET1 
RP4_POINTID_GAUNTLET2 
RP5_POINTID_ARTHAS1 
RP5_POINTID_ARTHAS3 
RP5_POINTID_ARTHAS4 

Definition at line 135 of file npc_arthas.cpp.

◆ PositionIndices

Enumerator
RP1_ARTHAS_INITIAL 
RP1_UTHER_SPAWN 
RP1_JAINA_SPAWN 
ARTHAS_PURGE_PENDING_POS 
ARTHAS_WAVES_POS 
RP2_PRIEST1_POS 
RP2_PRIEST2_POS 
RP2_FOOT1_POS 
RP2_FOOT2_POS 
RP2_FOOT3_POS 
RP2_FOOT4_POS 
RP2_MALGANIS_POS 
ARTHAS_TOWN_HALL_POS 
RP3_SPAWN1_LOC1 
RP3_SPAWN1_LOC2 
RP3_SPAWN1_LOC3 
RP3_SPAWN1_LOC4 
RP3_SPAWN1_RIFT 
RP3_SPAWN2_LOC1 
RP3_SPAWN2_LOC2 
RP3_SPAWN2_LOC3 
RP3_SPAWN2_LOC4 
RP3_SPAWN2_RIFT1 
RP3_SPAWN2_RIFT2 
RP3_SPAWN3_LOC1 
RP3_SPAWN3_LOC2 
RP3_SPAWN3_LOC3 
RP3_SPAWN3_LOC4 
RP3_SPAWN3_RIFT1 
RP3_SPAWN3_RIFT2 
RP3_EPOCH_SPAWN 
RP3_EPOCH_RIFT 
ARTHAS_TOWN_HALL_END_POS 
ARTHAS_GAUNTLET_POS 
ARTHAS_GAUNTLET_END_POS 
RP5_MALGANIS_POS 
ARTHAS_FINAL_POS 
RP5_CHROMIE_SPAWN 
NUM_POSITIONS 

Definition at line 397 of file npc_arthas.cpp.

◆ RPEventLines1

Enumerator
RP1_LINE_ARTHAS1 
RP1_LINE_UTHER1 
RP1_LINE_ARTHAS2 
RP1_LINE_ARTHAS3 
RP1_LINE_UTHER2 
RP1_LINE_ARTHAS4 
RP1_LINE_UTHER3 
RP1_LINE_ARTHAS5 
RP1_LINE_UTHER4 
RP1_LINE_ARTHAS6 
RP1_LINE_UTHER5 
RP1_LINE_ARTHAS7 
RP1_LINE_JAINA1 
RP1_LINE_ARTHAS8 
RP1_LINE_UTHER6 
RP1_LINE_ARTHAS9 
RP1_LINE_JAINA2 
RP1_LINE_ARTHAS10 
RP1_LINE_ARTHAS11 

Definition at line 315 of file npc_arthas.cpp.

◆ RPEventLines2

Enumerator
RP2_LINE_ARTHAS1 
RP2_LINE_CITIZEN1 
RP2_LINE_ARTHAS2 
RP2_LINE_CITIZEN2 
RP2_LINE_RESIDENT1 
RP2_LINE_ARTHAS3 
RP2_LINE_MALGANIS1 
RP2_LINE_MALGANIS2 
RP2_LINE_ARTHAS4 
RP2_LINE_ARTHAS5 

Definition at line 338 of file npc_arthas.cpp.

◆ RPEventLines3

Enumerator
RP3_LINE_ARTHAS1 
RP3_LINE_CITIZEN1 
RP3_LINE_ARTHAS2 
RP3_LINE_ARTHAS3 
RP3_LINE_CITIZEN2 
RP3_LINE_ARTHAS4 
RP3_LINE_ARTHAS10 
RP3_LINE_ARTHAS11 
RP3_LINE_ARTHAS20 
RP3_LINE_ARTHAS21 
RP3_LINE_ARTHAS30 
RP3_LINE_ARTHAS31 
RP3_LINE_EPOCH1 
RP3_LINE_ARTHAS32 
RP3_LINE_EPOCH2 

Definition at line 352 of file npc_arthas.cpp.

◆ RPEventLines4

Enumerator
RP4_LINE_ARTHAS1 
RP4_LINE_ARTHAS2 
RP4_LINE_ARTHAS3 
RP4_LINE_ARTHAS10 
RP4_LINE_ARTHAS11 
RP4_LINE_ARTHAS12 
RP4_LINE_ARTHAS13 

Definition at line 374 of file npc_arthas.cpp.

◆ RPEventLines5

Enumerator
RP5_LINE_ARTHAS1 
RP5_LINE_ARTHAS2 
RP5_LINE_MALGANIS1 
RP5_LINE_MALGANIS12 
RP5_LINE_ARTHAS10 
RP5_LINE_ARTHAS11 
RP5_LINE_CHROMIE0 

Definition at line 386 of file npc_arthas.cpp.

◆ RPEvents

enum RPEvents
Enumerator
RP1_EVENT_START1 
RP1_EVENT_START2 
RP1_EVENT_ARTHAS1 
RP1_EVENT_UTHER1 
RP1_EVENT_ARTHAS2 
RP1_EVENT_ARTHAS3 
RP1_EVENT_UTHER_FACE 
RP1_EVENT_JAINA_FACE 
RP1_EVENT_UTHER2 
RP1_EVENT_ARTHAS4 
RP1_EVENT_UTHER3 
RP1_EVENT_ARTHAS_TURN 
RP1_EVENT_ARTHAS5 
RP1_EVENT_UTHER4 
RP1_EVENT_ARTHAS6 
RP1_EVENT_UTHER5 
RP1_EVENT_ARTHAS7 
RP1_EVENT_JAINA1 
RP1_EVENT_ARTHAS8 
RP1_EVENT_ARTHAS8_2 
RP1_EVENT_UTHER6 
RP1_EVENT_UTHER_LEAVE 
RP1_EVENT_JAINA_LEAVE 
RP1_EVENT_ARTHAS9 
RP1_EVENT_JAINA2 
RP1_EVENT_JAINA_LEAVE2 
RP1_EVENT_ARTHAS_LEAVE 
RP1_EVENT_ARTHAS10 
RP1_EVENT_ARTHAS_LEAVE2 
RP1_EVENT_FINISHED 
RP2_EVENT_ARTHAS_MOVE_1 
RP2_EVENT_CITIZEN1 
RP2_EVENT_ARTHAS2 
RP2_EVENT_ARTHAS_MOVE_2 
RP2_EVENT_CITIZEN2 
RP2_EVENT_KILL1 
RP2_EVENT_ARTHAS_MOVE_3 
RP2_EVENT_KILL2 
RP2_EVENT_REACT1 
RP2_EVENT_REACT2 
RP2_EVENT_REACT3 
RP2_EVENT_REACT4 
RP2_EVENT_REACT5 
RP2_EVENT_ARTHAS_MOVE_4 
RP2_EVENT_ARTHAS3 
RP2_EVENT_MALGANIS1 
RP2_EVENT_TROOPS_FACE 
RP2_EVENT_ARTHAS_FACE 
RP2_EVENT_MALGANIS2 
RP2_EVENT_MALGANIS_LEAVE1 
RP2_EVENT_MALGANIS_LEAVE2 
RP2_EVENT_ARTHAS4 
RP2_EVENT_ARTHAS4_2 
RP2_EVENT_ARTHAS_MOVE_5 
RP2_EVENT_ARTHAS5 
RP2_EVENT_ARTHAS5_2 
RP2_EVENT_ARTHAS5_3 
RP2_EVENT_WAVE_START 
EVENT_TOWN_HALL_REACHED 
RP3_EVENT_RESIDENT_FACE 
RP3_EVENT_ARTHAS_FACE 
RP3_EVENT_CITIZEN1 
RP3_EVENT_ARTHAS2 
RP3_EVENT_ARTHAS_KILL 
RP3_EVENT_INFINITE_LAUGH 
RP3_EVENT_ARTHAS3 
RP3_EVENT_CITIZEN2 
RP3_EVENT_TRANSFORM1 
RP3_EVENT_TRANSFORM2 
RP3_EVENT_TRANSFORM3 
RP3_EVENT_AGGRO 
RP3_EVENT_ARTHAS4 
RP3_EVENT_ARTHAS_MOVE_1 
RP3_EVENT_ARTHAS_MOVE_1_2 
RP3_EVENT_SPAWN1 
RP3_EVENT_SPAWN1_FACE 
RP3_EVENT_SPAWN1_AGGRO 
RP3_EVENT_ARTHAS11 
RP3_EVENT_ARTHAS_MOVE_2 
RP3_EVENT_ARTHAS20 
RP3_EVENT_SPAWN2 
RP3_EVENT_ARTHAS_FACE2 
RP3_EVENT_SPAWN2_FACE 
RP3_EVENT_SPAWN2_AGGRO 
RP3_EVENT_ARTHAS21 
RP3_EVENT_ARTHAS_MOVE_3 
RP3_EVENT_SPAWN3 
RP3_EVENT_ARTHAS30 
RP3_EVENT_SPAWN3_FACE 
RP3_EVENT_SPAWN3_AGGRO 
RP3_EVENT_EPOCH_SPAWN 
RP3_EVENT_ARTHAS31 
RP3_EVENT_EPOCH_FACE 
RP3_EVENT_EPOCH1 
RP3_EVENT_ARTHAS32 
RP3_EVENT_ARTHAS32_2 
RP3_EVENT_EPOCH_AGGRO 
RP4_EVENT_ARTHAS2 
RP4_EVENT_HIDDEN_PASSAGE 
RP4_EVENT_ARTHAS3 
RP4_EVENT_GAUNTLET_REACHED 
RP4_EVENT_ARTHAS_MOVE 
RP4_EVENT_ARTHAS11 
RP4_EVENT_ARTHAS_FACE 
RP4_EVENT_ARTHAS12 
RP4_EVENT_GAUNTLET_RESUME 
RP4_EVENT_ARTHAS13 
RP4_EVENT_GAUNTLET_DONE 
RP5_EVENT_ARTHAS2 
RP5_EVENT_MALGANIS1 
RP5_EVENT_MALGANIS_DONE 
RP5_EVENT_MALGANIS12 
RP5_EVENT_MALGANIS_LEAVE 
RP5_EVENT_ARTHAS10 
RP5_EVENT_ARTHAS10_2 
RP5_EVENT_ARTHAS11 
RP5_EVENT_ARTHAS11_2 
RP5_EVENT_ARTHAS_LEAVE 
RP5_EVENT_ARTHAS_LEAVE2 
RP5_EVENT_CHROMIE_SPAWN 
RP5_EVENT_CHROMIE_LAND 
RP5_EVENT_CHROMIE_TRANSFORM 

Definition at line 183 of file npc_arthas.cpp.

◆ SplineChains

Enumerator
RP1_CHAIN_ARTHAS1 
RP1_CHAIN_UTHER1 
RP1_CHAIN_JAINA1 
RP1_CHAIN_ARTHAS2 
RP1_CHAIN_UTHER2 
RP1_CHAIN_JAINA2 
RP1_CHAIN_UTHER3 
RP1_CHAIN_JAINA3 
RP1_CHAIN_JAINA4 
RP1_CHAIN_ARTHAS3 
RP1_CHAIN_ARTHAS4 
RP2_CHAIN_ARTHAS1 
RP2_CHAIN_CITIZEN1 
RP2_CHAIN_ARTHAS2 
RP2_CHAIN_ARTHAS3 
RP3_CHAIN_ARTHAS1 
RP3_CHAIN_ARTHAS2 
RP3_CHAIN_ARTHAS3 
RP3_CHAIN_ARTHAS3_2 
RP3_CHAIN_ARTHAS4 
RP3_CHAIN_ARTHAS5 
RP3_CHAIN_EPOCH 
RP3_CHAIN_SPAWN1_LOC1 
RP3_CHAIN_SPAWN1_LOC2 
RP3_CHAIN_SPAWN1_LOC3 
RP3_CHAIN_SPAWN1_LOC4 
RP3_CHAIN_SPAWN2_LOC1 
RP3_CHAIN_SPAWN2_LOC2 
RP3_CHAIN_SPAWN2_LOC3 
RP3_CHAIN_SPAWN2_LOC4 
RP3_CHAIN_SPAWN3_LOC1 
RP3_CHAIN_SPAWN3_LOC2 
RP3_CHAIN_SPAWN3_LOC3 
RP3_CHAIN_SPAWN3_LOC4 
RP4_CHAIN_ARTHAS1 
RP4_CHAIN_ARTHAS2 
RP4_CHAIN_GAUNTLET1 
RP4_CHAIN_GAUNTLET2 
RP5_CHAIN_ARTHAS1 
RP5_CHAIN_ARTHAS2 
RP5_CHAIN_ARTHAS3 
RP5_CHAIN_ARTHAS4 

Definition at line 78 of file npc_arthas.cpp.

Function Documentation

◆ AddSC_npc_arthas_stratholme()

void AddSC_npc_arthas_stratholme ( )

Definition at line 1670 of file npc_arthas.cpp.

+ Here is the caller graph for this function:

◆ GetArthasSnapbackFor()

Position const & GetArthasSnapbackFor ( COSProgressStates  state)

Definition at line 1633 of file npc_arthas.cpp.

+ Here is the caller graph for this function:

Variable Documentation

◆ ArthasPositions

std::array<Position, NUM_POSITIONS> const ArthasPositions
static

Definition at line 457 of file npc_arthas.cpp.

◆ ArthasSnapbackDistanceThreshold

float const ArthasSnapbackDistanceThreshold = 5.0f
static

Definition at line 512 of file npc_arthas.cpp.

◆ ArthasSnapbackPositions

std::unordered_map<uint32, SnapbackInfo> const ArthasSnapbackPositions
static
Initial value:
=
{
}
@ REACT_DEFENSIVE
@ REACT_PASSIVE
@ REACT_AGGRESSIVE
@ TOWN_HALL_COMPLETE
@ CRATES_IN_PROGRESS
@ GAUNTLET_IN_PROGRESS
@ TOWN_HALL_PENDING
@ GAUNTLET_PENDING
@ MALGANIS_IN_PROGRESS
@ WAVES_IN_PROGRESS
@ GAUNTLET_TRANSITION
@ PURGE_PENDING
@ PURGE_STARTING
@ GAUNTLET_COMPLETE
static std::array< Position, NUM_POSITIONS > const ArthasPositions
@ ARTHAS_GAUNTLET_POS
@ ARTHAS_FINAL_POS
@ RP1_ARTHAS_INITIAL
@ ARTHAS_GAUNTLET_END_POS
@ ARTHAS_PURGE_PENDING_POS
@ ARTHAS_TOWN_HALL_POS
@ ARTHAS_TOWN_HALL_END_POS
@ ARTHAS_WAVES_POS

Definition at line 522 of file npc_arthas.cpp.

◆ ChromieSplinePos

G3D::Vector3 const ChromieSplinePos[]
Initial value:
=
{
{ 2320.632f, 1507.193f, 152.5081f },
{ 2319.823f, 1506.605f, 152.5081f },
{ 2306.770f, 1496.780f, 128.3620f }
}

Definition at line 505 of file npc_arthas.cpp.