TrinityCore
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_TIME_RIFT = 28409 , NPC_GUARDIAN_OF_TIME = 32281 , 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 , NPC_LAVA_FISSURE = 43242 , NPC_STALACTITE_TRIGGER_GROUND = 43357 , NPC_STALACTITE_TRIGGER = 43159 ,
  GO_STALACTITE = 204337
}
 
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_GUNSHIP_READY = 1 , ACTION_IOC_INTERACT_CAPTURABLE_OBJECT = 2 , ACTION_IOC_CAPTURE_CAPTURABLE_OBJECT = 3 , ACTION_INTRO = 1 ,
  ACTION_DEACTIVATE = 0 , ACTION_ENRAGE , ACTION_CHANNEL_WORLD_TREE , 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 , ACTION_EQUIP_DEFAULT = 1 , ACTION_EQUIP_INFERNO_BLADE = 2 ,
  ACTION_EQUIP_DECIMATION_BLADE = 3 , ACTION_DISABLE_BEACON , ACTION_EXPLODE = 0 , ACTION_STONE_PHASE_START = 1 ,
  ACTION_STONE_PHASE_END = 2 , ACTION_TRIGGER_WEAKNESS = 1 , ACTION_FLESH_TENTACLE_KILLED = 1 , ACTION_STALACTITE_MISSLE ,
  ACTION_PET_DIED = 1 , ACTION_PET_EVADE , ACTION_HADRONOX_MOVE = 1 , ACTION_CRUSHER_ENGAGED ,
  ACTION_PACK_WALK , ACTION_GASHRA_DIED , ACTION_NARJIL_DIED , ACTION_SILTHIK_DIED ,
  ACTION_WATCHER_ENGAGED , ACTION_PET_ENGAGED , ACTION_PET_EVADE , ACTION_CLONE = 1 ,
  ACTION_METEOR_STRIKE_BURN = 1 , ACTION_METEOR_STRIKE_AOE = 2 , ACTION_MONITOR_CORPOREALITY = 3 , ACTION_WARNING_SHOOT = 4 ,
  ACTION_SHOOT = 5 , ACTION_ACTIVATE_EMBERS = 6 , ACTION_VORTEX , ACTION_PACT ,
  ACTION_OUTRO = 1 , ACTION_STORE_OLD_TARGET , ACTION_RESET_THREAT , ACTION_START_INTRO = 1 ,
  ACTION_START_RIMEFANG = 2 , ACTION_START_OUTRO = 3 , ACTION_END_COMBAT = 4 , ACTION_START_INTRO = 1 ,
  ACTION_INTRO_DONE , ACTION_STAND_UP , ACTION_CAST_INVOCATION , ACTION_REMOVE_INVOCATION ,
  ACTION_KINETIC_BOMB_JUMP , ACTION_FLAME_BALL_CHASE , ACTION_START_EVENT = -3781300 , ACTION_CONTINUE_INTRO = -3781301 ,
  ACTION_CHARGE = -3781302 , ACTION_START_OUTRO = -3781303 , ACTION_DESPAWN = -3781304 , ACTION_INTERRUPT_INTRO = -3781305 ,
  ACTION_MARK_OF_THE_FALLEN_CHAMPION = -72293 , ACTION_START_INTRO , ACTION_CLEAR_SPIKE_IMMUNITIES = 1 , ACTION_TALK_ENTER_ZONE = 2 ,
  ACTION_BEGIN_MOVEMENT = 1 , ACTION_BEGIN_FIGHTING , ACTION_GATE_OPENED = 1 , ACTION_MINION_EVADE ,
  ACTION_ACQUIRE_TARGET , ACTION_BEGIN_ENCOUNTER , ACTION_JUST_SUMMONED , ACTION_ABOMINATION_DIED ,
  ACTION_KELTHUZAD_DIED , ACTION_LAND_ENCOUNTER_START = 0 , ACTION_EXECUTE_VORTEX = 1 , ACTION_HANDLE_P_THREE_INTRO = 2 ,
  ACTION_LIFT_IN_AIR = 3 , ACTION_HANDLE_RESPAWN = 4 , ACTION_CYCLIC_MOVEMENT = 5 , ACTION_DELAYED_DESPAWN = 8 ,
  ACTION_SET_DISK_VICTIM_CHASE = 0 , ACTION_SET_NORMAL_EVENTS = 1 , ACTION_SWITCH_STANCE = 0 , ACTION_SHATTER_GOLEMS = 0 ,
  ACTION_GOLEMS_TEMPERED = 1 , ACTION_SHATTER = 0 , ACTION_START_INTRO = 0 , ACTION_ACTIVATE_STAR ,
  ACTION_BIG_BANG , ACTION_ASCEND , ACTION_OUTRO , ACTION_INTRO_2 ,
  ACTION_REMOVE_BUFF = 20 , DO_START_MKII , DO_HARDMODE_MKII , DO_ACTIVATE_VX001 ,
  DO_START_VX001 , DO_HARDMODE_VX001 , DO_ACTIVATE_AERIAL , DO_START_AERIAL ,
  DO_HARDMODE_AERIAL , DO_DISABLE_AERIAL , DO_ENABLE_AERIAL , DO_ACTIVATE_V0L7R0N_1 ,
  DO_ACTIVATE_V0L7R0N_2 , DO_ASSEMBLED_COMBAT , DO_ACTIVATE_HARD_MODE , DO_ACTIVATE_COMPUTER ,
  DO_DEACTIVATE_COMPUTER , DO_ACTIVATE_SELF_DESTRUCT , DO_ENCOUNTER_DONE , ACTION_START_FIGHT = 1 ,
  ACTION_FIX_HARPOONS , ACTION_GROUND_PHASE , ACTION_ENGINEER_DEAD , ACTION_SHACKLE_RAZORSCALE ,
  ACTION_START_PERMA_GROUND , ACTION_RETURN_TO_BASE , ACTION_BUILD_HARPOON_1 , ACTION_BUILD_HARPOON_2 ,
  ACTION_BUILD_HARPOON_3 , ACTION_BUILD_HARPOON_4 , ACTION_DESTROY_HARPOONS , ACTION_STOP_CONTROLLERS ,
  ACTION_STOP_CAST , ACTION_INCREASE_PREADDS_COUNT , ACTION_ACTIVATE_RUNIC_SMASH , ACTION_ACTIVATE_ADDS ,
  ACTION_PILLAR_CHARGED , ACTION_START_HARD_MODE , ACTION_BERSERK , ACTION_ENTER_HARD_MODE ,
  ACTION_START_PHASE_HEART , ACTION_DISPOSE_HEART , ACTION_PHASE_TRANSFORM = 0 , ACTION_PHASE_TWO = 1 ,
  ACTION_PHASE_THREE = 2 , ACTION_INDUCE_MADNESS = 3 , ACTION_SANITY_WELLS = 4 , ACTION_FLASH_FREEZE = 5 ,
  ACTION_TENTACLE_KILLED = 6 , ACTION_START_ROLEPLAY = 8 , ACTION_TOGGLE_SHATTERED_ILLUSION = 9 , ACTION_OTHER_JUST_DIED = 1 ,
  ACTION_DESPAWN_SUMMONS = 2 , ACTION_START_ENCOUNTER = 0 , ACTION_DRAKE_BREATH , ACTION_GAUNTLET_END ,
  ACTION_HARPOON_HIT , ACTION_WATER_GLOBULE_HIT = 1 , ACTION_PROTECTIVE_BUBBLE_SHATTERED = 2 , ACTION_DRAINED = 3 ,
  ACTION_START_SPAWNING = 0 , ACTION_STOP_SPAWNING = 1 , ACTION_DESPAWN_ALL_SPAWNS = 2 , ACTION_SHADE_OF_AKAMA_DEAD = 3 ,
  ACTION_BROKEN_SPECIAL = 4 , ACTION_BROKEN_EMOTE = 5 , ACTION_BROKEN_HAIL = 6 , ACTION_DISABLE_VULCANO = 1 ,
  ACTION_START_INTRO = 1 , ACTION_START_EVENT = -2574500 , ACTION_STOP_EVENT = -2574501 , ACTION_AHUNE_RETREAT = -2586500 ,
  ACTION_AHUNE_RESURFACE = -2586501 , ACTION_EMOTE_RESURFACE = -2575400 , ACTION_START_ENCOUNTER , ACTION_REVIVE_ADVISORS ,
  ACTION_PREPARE_ADVISORS , ACTION_ACTIVE_ADVISOR , ACTION_SCHEDULE_COMBAT_EVENTS
}
 
enum  Data {
  DATA_LAST_FIRED_CANNON = 0 , DATA_RP_DUMMY_MOVED , DATA_CRUSHER_PACK_ID = 1 , DATA_HADRONOX_ENTERED_COMBAT ,
  DATA_HADRONOX_WEBBED_DOORS , DATA_PET_GROUP , DATA_SHATTER_RESISTANT = 0 , DATA_SETUP_MINE ,
  DATA_SETUP_BOMB , DATA_SETUP_ROCKET , DATA_NOT_SO_FRIENDLY_FIRE , DATA_FIREFIGHTER ,
  DATA_WATERSPRAY , DATA_MOVE_NEW , DATA_CHARGED_PILLAR = 1
}
 
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
 
uint32 const chromiePathSize = 3
 
G3D::Vector3 const ChromieSplinePos [chromiePathSize]
 
static float const ArthasSnapbackDistanceThreshold = 5.0f
 
static std::unordered_map< uint32, SnapbackInfo > const ArthasSnapbackPositions
 

Enumeration Type Documentation

◆ Actions

enum Actions
Enumerator
ACTION_GUNSHIP_READY 
ACTION_IOC_INTERACT_CAPTURABLE_OBJECT 
ACTION_IOC_CAPTURE_CAPTURABLE_OBJECT 
ACTION_INTRO 
ACTION_DEACTIVATE 
ACTION_ENRAGE 
ACTION_CHANNEL_WORLD_TREE 
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 
ACTION_EQUIP_DEFAULT 
ACTION_EQUIP_INFERNO_BLADE 
ACTION_EQUIP_DECIMATION_BLADE 
ACTION_DISABLE_BEACON 
ACTION_EXPLODE 
ACTION_STONE_PHASE_START 
ACTION_STONE_PHASE_END 
ACTION_TRIGGER_WEAKNESS 
ACTION_FLESH_TENTACLE_KILLED 
ACTION_STALACTITE_MISSLE 
ACTION_PET_DIED 
ACTION_PET_EVADE 
ACTION_HADRONOX_MOVE 
ACTION_CRUSHER_ENGAGED 
ACTION_PACK_WALK 
ACTION_GASHRA_DIED 
ACTION_NARJIL_DIED 
ACTION_SILTHIK_DIED 
ACTION_WATCHER_ENGAGED 
ACTION_PET_ENGAGED 
ACTION_PET_EVADE 
ACTION_CLONE 
ACTION_METEOR_STRIKE_BURN 
ACTION_METEOR_STRIKE_AOE 
ACTION_MONITOR_CORPOREALITY 
ACTION_WARNING_SHOOT 
ACTION_SHOOT 
ACTION_ACTIVATE_EMBERS 
ACTION_VORTEX 
ACTION_PACT 
ACTION_OUTRO 
ACTION_STORE_OLD_TARGET 
ACTION_RESET_THREAT 
ACTION_START_INTRO 
ACTION_START_RIMEFANG 
ACTION_START_OUTRO 
ACTION_END_COMBAT 
ACTION_START_INTRO 
ACTION_INTRO_DONE 
ACTION_STAND_UP 
ACTION_CAST_INVOCATION 
ACTION_REMOVE_INVOCATION 
ACTION_KINETIC_BOMB_JUMP 
ACTION_FLAME_BALL_CHASE 
ACTION_START_EVENT 
ACTION_CONTINUE_INTRO 
ACTION_CHARGE 
ACTION_START_OUTRO 
ACTION_DESPAWN 
ACTION_INTERRUPT_INTRO 
ACTION_MARK_OF_THE_FALLEN_CHAMPION 
ACTION_START_INTRO 
ACTION_CLEAR_SPIKE_IMMUNITIES 
ACTION_TALK_ENTER_ZONE 
ACTION_BEGIN_MOVEMENT 
ACTION_BEGIN_FIGHTING 
ACTION_GATE_OPENED 
ACTION_MINION_EVADE 
ACTION_ACQUIRE_TARGET 
ACTION_BEGIN_ENCOUNTER 
ACTION_JUST_SUMMONED 
ACTION_ABOMINATION_DIED 
ACTION_KELTHUZAD_DIED 
ACTION_LAND_ENCOUNTER_START 
ACTION_EXECUTE_VORTEX 
ACTION_HANDLE_P_THREE_INTRO 
ACTION_LIFT_IN_AIR 
ACTION_HANDLE_RESPAWN 
ACTION_CYCLIC_MOVEMENT 
ACTION_DELAYED_DESPAWN 
ACTION_SET_DISK_VICTIM_CHASE 
ACTION_SET_NORMAL_EVENTS 
ACTION_SWITCH_STANCE 
ACTION_SHATTER_GOLEMS 
ACTION_GOLEMS_TEMPERED 
ACTION_SHATTER 
ACTION_START_INTRO 
ACTION_ACTIVATE_STAR 
ACTION_BIG_BANG 
ACTION_ASCEND 
ACTION_OUTRO 
ACTION_INTRO_2 
ACTION_REMOVE_BUFF 
DO_START_MKII 
DO_HARDMODE_MKII 
DO_ACTIVATE_VX001 
DO_START_VX001 
DO_HARDMODE_VX001 
DO_ACTIVATE_AERIAL 
DO_START_AERIAL 
DO_HARDMODE_AERIAL 
DO_DISABLE_AERIAL 
DO_ENABLE_AERIAL 
DO_ACTIVATE_V0L7R0N_1 
DO_ACTIVATE_V0L7R0N_2 
DO_ASSEMBLED_COMBAT 
DO_ACTIVATE_HARD_MODE 
DO_ACTIVATE_COMPUTER 
DO_DEACTIVATE_COMPUTER 
DO_ACTIVATE_SELF_DESTRUCT 
DO_ENCOUNTER_DONE 
ACTION_START_FIGHT 
ACTION_FIX_HARPOONS 
ACTION_GROUND_PHASE 
ACTION_ENGINEER_DEAD 
ACTION_SHACKLE_RAZORSCALE 
ACTION_START_PERMA_GROUND 
ACTION_RETURN_TO_BASE 
ACTION_BUILD_HARPOON_1 
ACTION_BUILD_HARPOON_2 
ACTION_BUILD_HARPOON_3 
ACTION_BUILD_HARPOON_4 
ACTION_DESTROY_HARPOONS 
ACTION_STOP_CONTROLLERS 
ACTION_STOP_CAST 
ACTION_INCREASE_PREADDS_COUNT 
ACTION_ACTIVATE_RUNIC_SMASH 
ACTION_ACTIVATE_ADDS 
ACTION_PILLAR_CHARGED 
ACTION_START_HARD_MODE 
ACTION_BERSERK 
ACTION_ENTER_HARD_MODE 
ACTION_START_PHASE_HEART 
ACTION_DISPOSE_HEART 
ACTION_PHASE_TRANSFORM 
ACTION_PHASE_TWO 
ACTION_PHASE_THREE 
ACTION_INDUCE_MADNESS 
ACTION_SANITY_WELLS 
ACTION_FLASH_FREEZE 
ACTION_TENTACLE_KILLED 
ACTION_START_ROLEPLAY 
ACTION_TOGGLE_SHATTERED_ILLUSION 
ACTION_OTHER_JUST_DIED 
ACTION_DESPAWN_SUMMONS 
ACTION_START_ENCOUNTER 
ACTION_DRAKE_BREATH 
ACTION_GAUNTLET_END 
ACTION_HARPOON_HIT 
ACTION_WATER_GLOBULE_HIT 
ACTION_PROTECTIVE_BUBBLE_SHATTERED 
ACTION_DRAINED 
ACTION_START_SPAWNING 
ACTION_STOP_SPAWNING 
ACTION_DESPAWN_ALL_SPAWNS 
ACTION_SHADE_OF_AKAMA_DEAD 
ACTION_BROKEN_SPECIAL 
ACTION_BROKEN_EMOTE 
ACTION_BROKEN_HAIL 
ACTION_DISABLE_VULCANO 
ACTION_START_INTRO 
ACTION_START_EVENT 
ACTION_STOP_EVENT 
ACTION_AHUNE_RETREAT 
ACTION_AHUNE_RESURFACE 
ACTION_EMOTE_RESURFACE 
ACTION_START_ENCOUNTER 
ACTION_REVIVE_ADVISORS 
ACTION_PREPARE_ADVISORS 
ACTION_ACTIVE_ADVISOR 
ACTION_SCHEDULE_COMBAT_EVENTS 

Definition at line 167 of file npc_arthas.cpp.

◆ Data

enum Data
Enumerator
DATA_LAST_FIRED_CANNON 
DATA_RP_DUMMY_MOVED 
DATA_CRUSHER_PACK_ID 
DATA_HADRONOX_ENTERED_COMBAT 
DATA_HADRONOX_WEBBED_DOORS 
DATA_PET_GROUP 
DATA_SHATTER_RESISTANT 
DATA_SETUP_MINE 
DATA_SETUP_BOMB 
DATA_SETUP_ROCKET 
DATA_NOT_SO_FRIENDLY_FIRE 
DATA_FIREFIGHTER 
DATA_WATERSPRAY 
DATA_MOVE_NEW 
DATA_CHARGED_PILLAR 

Definition at line 178 of file npc_arthas.cpp.

◆ Entries

enum Entries
Enumerator
NPC_TIME_RIFT 
NPC_GUARDIAN_OF_TIME 
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 
NPC_LAVA_FISSURE 
NPC_STALACTITE_TRIGGER_GROUND 
NPC_STALACTITE_TRIGGER 
GO_STALACTITE 

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 1672 of file npc_arthas.cpp.

+ Here is the caller graph for this function:

◆ GetArthasSnapbackFor()

Position const & GetArthasSnapbackFor ( COSProgressStates  state)

Definition at line 1635 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 513 of file npc_arthas.cpp.

◆ ArthasSnapbackPositions

std::unordered_map<uint32, SnapbackInfo> const ArthasSnapbackPositions
static
Initial value:
=
{
}
@ REACT_DEFENSIVE
Definition: UnitDefines.h:507
@ REACT_PASSIVE
Definition: UnitDefines.h:506
@ REACT_AGGRESSIVE
Definition: UnitDefines.h:508
@ UTHER_TALK
@ JUST_STARTED
@ TOWN_HALL_COMPLETE
@ CRATES_IN_PROGRESS
@ GAUNTLET_IN_PROGRESS
@ TOWN_HALL_PENDING
@ CRATES_DONE
@ GAUNTLET_PENDING
@ WAVES_DONE
@ MALGANIS_IN_PROGRESS
@ WAVES_IN_PROGRESS
@ GAUNTLET_TRANSITION
@ PURGE_PENDING
@ PURGE_STARTING
@ GAUNTLET_COMPLETE
static std::array< Position, NUM_POSITIONS > const ArthasPositions
Definition: npc_arthas.cpp:457
@ ARTHAS_GAUNTLET_POS
Definition: npc_arthas.cpp:438
@ ARTHAS_FINAL_POS
Definition: npc_arthas.cpp:442
@ RP1_ARTHAS_INITIAL
Definition: npc_arthas.cpp:400
@ ARTHAS_GAUNTLET_END_POS
Definition: npc_arthas.cpp:439
@ ARTHAS_PURGE_PENDING_POS
Definition: npc_arthas.cpp:405
@ ARTHAS_TOWN_HALL_POS
Definition: npc_arthas.cpp:416
@ ARTHAS_TOWN_HALL_END_POS
Definition: npc_arthas.cpp:436
@ ARTHAS_WAVES_POS
Definition: npc_arthas.cpp:406

Definition at line 523 of file npc_arthas.cpp.

◆ chromiePathSize

uint32 const chromiePathSize = 3

Definition at line 505 of file npc_arthas.cpp.

◆ ChromieSplinePos

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

Definition at line 506 of file npc_arthas.cpp.