AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
hyjal.h File Reference
#include "CreatureAIImpl.h"

Go to the source code of this file.

Macros

#define DataHeader   "HY"
 
#define HyjalScriptName   "instance_hyjal"
 
#define RegisterHyjalAI(ai_name)   RegisterCreatureAIWithFactory(ai_name, GetHyjalAI)
 

Enumerations

enum  DataTypes {
  DATA_WINTERCHILL = 0 ,
  DATA_ANETHERON = 1 ,
  DATA_KAZROGAL = 2 ,
  DATA_AZGALOR = 3 ,
  DATA_ARCHIMONDE = 4 ,
  DATA_ALLIANCE_RETREAT = 11 ,
  DATA_HORDE_RETREAT = 12 ,
  DATA_JAINA = 13 ,
  DATA_THRALL = 14 ,
  DATA_TYRANDE = 15 ,
  DATA_SPAWN_WAVES = 20 ,
  DATA_SPAWN_INFERNALS = 21 ,
  DATA_RESET_ALLIANCE = 22 ,
  DATA_RESET_HORDE = 23 ,
  DATA_RESET_NIGHT_ELF = 24 ,
  DATA_RESET_WAVES = 25 ,
  DATA_WAVE_STATUS = 26 ,
  DATA_BOSS_WAVE = 27
}
 
enum  HyjalCreaturesIds {
  NPC_GHOUL = 17895 ,
  NPC_CRYPT = 17897 ,
  NPC_ABOMI = 17898 ,
  NPC_NECRO = 17899 ,
  NPC_BANSH = 17905 ,
  NPC_GARGO = 17906 ,
  NPC_FROST = 17907 ,
  NPC_INFER = 17908 ,
  NPC_STALK = 17916 ,
  NPC_BUILD = 18304 ,
  NPC_SKELETON_INVADER = 17902 ,
  NPC_SKELETON_MAGE = 17903 ,
  NPC_JAINA = 17772 ,
  NPC_ALLIANCE_PEASANT = 17931 ,
  NPC_ALLIANCE_KNIGHT = 17920 ,
  NPC_ALLIANCE_FOOTMAN = 17919 ,
  NPC_ALLIANCE_RIFLEMAN = 17921 ,
  NPC_ALLIANCE_PRIEST = 17928 ,
  NPC_ALLIANCE_SORCERESS = 17922 ,
  NPC_GUARDIAN_ELEMENTAL = 18001 ,
  NPC_THRALL = 17852 ,
  NPC_HORDE_HEADHUNTER = 17934 ,
  NPC_HORDE_SHAMAN = 17936 ,
  NPC_HORDE_GRUNT = 17932 ,
  NPC_HORDE_HEALING_WARD = 18036 ,
  NPC_TAUREN_WARRIOR = 17933 ,
  NPC_HORDE_WITCH_DOCTOR = 17935 ,
  NPC_HORDE_PEON = 17937 ,
  NPC_INFERNAL_RELAY = 18242 ,
  NPC_INFERNAL_TARGET = 21075 ,
  NPC_DIRE_WOLF = 17854 ,
  NPC_TYRANDE = 17948 ,
  NPC_DRUID_OF_THE_TALON = 3794 ,
  NPC_DRUID_OF_THE_CLAW = 3795 ,
  NPC_NELF_ANCIENT_PROT = 18487 ,
  NPC_NELF_ANCIENT_OF_LORE = 18486 ,
  NPC_NELF_ANCIENT_OF_WAR = 18485 ,
  NPC_NELF_ARCHER = 17943 ,
  NPC_NELF_HUNTRESS = 17945 ,
  NPC_DRYAD = 17944 ,
  NPC_WINTERCHILL = 17767 ,
  NPC_ANETHERON = 17808 ,
  NPC_KAZROGAL = 17888 ,
  NPC_AZGALOR = 17842 ,
  NPC_ARCHIMONDE = 17968 ,
  NPC_WORLD_TRIGGER_TINY = 21987 ,
  NPC_TOWERING_INFERNAL = 17818 ,
  NPC_LESSER_DOOMGUARD = 17864
}
 
enum  HyjalGameobjectIds {
  GO_HORDE_ENCAMPMENT_PORTAL = 182060 ,
  GO_NIGHT_ELF_VILLAGE_PORTAL = 182061 ,
  GO_ANCIENT_GEM = 185557 ,
  GO_FLAME = 182260
}
 
enum  HyjalMisc {
  MAX_WAVES_STANDARD = 9 ,
  MAX_WAVES_RETREAT = 3 ,
  MAX_WAVES_NIGHT_ELF = 1 ,
  START_WAVE_WINTERCHILL = 0 ,
  START_WAVE_ANETHERON = 9 ,
  START_WAVE_KAZROGAL = 18 ,
  START_WAVE_AZGALOR = 27 ,
  START_WAVE_ALLIANCE_RETREAT = 36 ,
  START_WAVE_HORDE_RETREAT = 39 ,
  START_WAVE_NIGHT_ELF = 42 ,
  CONTEXT_GROUP_WAVES = 1 ,
  AREA_NORDRASSIL = 3710 ,
  SPELL_ETERNAL_SILENCE = 42201 ,
  GUID_GAIN_SOUL_CHARGE_PLAYER = 1
}
 
enum  HyjalPaths {
  ALLIANCE_BASE_CHARGE_1 = 177721 ,
  ALLIANCE_BASE_CHARGE_2 = 177722 ,
  ALLIANCE_BASE_CHARGE_3 = 177723 ,
  ALLIANCE_BASE_PATROL_1 = 177724 ,
  ALLIANCE_BASE_PATROL_2 = 177725 ,
  ALLIANCE_BASE_PATROL_3 = 177726 ,
  JAINA_RETREAT_PATH = 177727 ,
  HORDE_BASE_CHARGE_1 = 178521 ,
  HORDE_BASE_CHARGE_2 = 178522 ,
  HORDE_BASE_CHARGE_3 = 178523 ,
  HORDE_BASE_PATROL_1 = 178524 ,
  HORDE_BASE_PATROL_2 = 178525 ,
  HORDE_BASE_PATROL_3 = 178526 ,
  NIGHT_ELF_BASE_CHARGE_1 = 179481 ,
  NIGHT_ELF_BASE_CHARGE_2 = 179482 ,
  NIGHT_ELF_BASE_CHARGE_3 = 179483 ,
  GARGOYLE_PATH_TROLL_CAMP_1 = 179061 ,
  GARGOYLE_PATH_TROLL_CAMP_2 = 179062 ,
  GARGOYLE_PATH_TROLL_CAMP_3 = 179063 ,
  GARGOYLE_PATH_FORTRESS_1 = 179064 ,
  GARGOYLE_PATH_FORTRESS_2 = 179065 ,
  GARGOYLE_PATH_FORTRESS_3 = 179066 ,
  FROST_WYRM_TROLL_CAMP = 179071 ,
  FROST_WYRM_FORTRESS = 179072 ,
  FROST_WYRM_FORTRESS_PATROL = 179073 ,
  HORDE_BOSS_PATH = 178527
}
 
enum  BossActions { ACTION_BECOME_ACTIVE_AND_CHANNEL = 0 }
 

Functions

template<class AI , class T >
AI * GetHyjalAI (T *obj)
 

Variables

uint32 const EncounterCount = 5
 

Macro Definition Documentation

◆ DataHeader

#define DataHeader   "HY"

◆ HyjalScriptName

#define HyjalScriptName   "instance_hyjal"

◆ RegisterHyjalAI

#define RegisterHyjalAI (   ai_name)    RegisterCreatureAIWithFactory(ai_name, GetHyjalAI)

Enumeration Type Documentation

◆ BossActions

Enumerator
ACTION_BECOME_ACTIVE_AND_CHANNEL 
185{
187};
@ ACTION_BECOME_ACTIVE_AND_CHANNEL
Definition hyjal.h:186

◆ DataTypes

enum DataTypes
Enumerator
DATA_WINTERCHILL 
DATA_ANETHERON 
DATA_KAZROGAL 
DATA_AZGALOR 
DATA_ARCHIMONDE 
DATA_ALLIANCE_RETREAT 
DATA_HORDE_RETREAT 
DATA_JAINA 
DATA_THRALL 
DATA_TYRANDE 
DATA_SPAWN_WAVES 
DATA_SPAWN_INFERNALS 
DATA_RESET_ALLIANCE 
DATA_RESET_HORDE 
DATA_RESET_NIGHT_ELF 
DATA_RESET_WAVES 
DATA_WAVE_STATUS 
DATA_BOSS_WAVE 
30{
33 DATA_KAZROGAL = 2,
34 DATA_AZGALOR = 3,
36
39
40 DATA_JAINA = 13,
41 DATA_THRALL = 14,
42 DATA_TYRANDE = 15,
43
52};
@ DATA_SPAWN_INFERNALS
Definition hyjal.h:45
@ DATA_RESET_HORDE
Definition hyjal.h:47
@ DATA_RESET_WAVES
Definition hyjal.h:49
@ DATA_JAINA
Definition hyjal.h:40
@ DATA_RESET_NIGHT_ELF
Definition hyjal.h:48
@ DATA_THRALL
Definition hyjal.h:41
@ DATA_KAZROGAL
Definition hyjal.h:33
@ DATA_SPAWN_WAVES
Definition hyjal.h:44
@ DATA_TYRANDE
Definition hyjal.h:42
@ DATA_RESET_ALLIANCE
Definition hyjal.h:46
@ DATA_BOSS_WAVE
Definition hyjal.h:51
@ DATA_WAVE_STATUS
Definition hyjal.h:50
@ DATA_AZGALOR
Definition hyjal.h:34
@ DATA_WINTERCHILL
Definition hyjal.h:31
@ DATA_ANETHERON
Definition hyjal.h:32
@ DATA_ARCHIMONDE
Definition hyjal.h:35
@ DATA_ALLIANCE_RETREAT
Definition hyjal.h:37
@ DATA_HORDE_RETREAT
Definition hyjal.h:38

◆ HyjalCreaturesIds

Enumerator
NPC_GHOUL 
NPC_CRYPT 
NPC_ABOMI 
NPC_NECRO 
NPC_BANSH 
NPC_GARGO 
NPC_FROST 
NPC_INFER 
NPC_STALK 
NPC_BUILD 
NPC_SKELETON_INVADER 
NPC_SKELETON_MAGE 
NPC_JAINA 
NPC_ALLIANCE_PEASANT 
NPC_ALLIANCE_KNIGHT 
NPC_ALLIANCE_FOOTMAN 
NPC_ALLIANCE_RIFLEMAN 
NPC_ALLIANCE_PRIEST 
NPC_ALLIANCE_SORCERESS 
NPC_GUARDIAN_ELEMENTAL 
NPC_THRALL 
NPC_HORDE_HEADHUNTER 
NPC_HORDE_SHAMAN 
NPC_HORDE_GRUNT 
NPC_HORDE_HEALING_WARD 
NPC_TAUREN_WARRIOR 
NPC_HORDE_WITCH_DOCTOR 
NPC_HORDE_PEON 
NPC_INFERNAL_RELAY 
NPC_INFERNAL_TARGET 
NPC_DIRE_WOLF 
NPC_TYRANDE 
NPC_DRUID_OF_THE_TALON 
NPC_DRUID_OF_THE_CLAW 
NPC_NELF_ANCIENT_PROT 
NPC_NELF_ANCIENT_OF_LORE 
NPC_NELF_ANCIENT_OF_WAR 
NPC_NELF_ARCHER 
NPC_NELF_HUNTRESS 
NPC_DRYAD 
NPC_WINTERCHILL 
NPC_ANETHERON 
NPC_KAZROGAL 
NPC_AZGALOR 
NPC_ARCHIMONDE 
NPC_WORLD_TRIGGER_TINY 
NPC_TOWERING_INFERNAL 
NPC_LESSER_DOOMGUARD 
55{
56 // Trash Mobs summoned in waves
57 NPC_GHOUL = 17895,
58 NPC_CRYPT = 17897,
59 NPC_ABOMI = 17898,
60 NPC_NECRO = 17899,
61 NPC_BANSH = 17905,
62 NPC_GARGO = 17906,
63 NPC_FROST = 17907,
64 NPC_INFER = 17908,
65 NPC_STALK = 17916,
66 NPC_BUILD = 18304, // Serverside creature? Not found in CreateObject packets, but seen as targets
67
68 // Summoned necromancer mobs
70 NPC_SKELETON_MAGE = 17903,
71
72 // Alliance Base
73 NPC_JAINA = 17772,
75 NPC_ALLIANCE_KNIGHT = 17920,
78 NPC_ALLIANCE_PRIEST = 17928,
81
82 // Horde Base
83 NPC_THRALL = 17852,
85 NPC_HORDE_SHAMAN = 17936,
86 NPC_HORDE_GRUNT = 17932,
88 NPC_TAUREN_WARRIOR = 17933,
90 NPC_HORDE_PEON = 17937,
91 NPC_INFERNAL_RELAY = 18242,
92 NPC_INFERNAL_TARGET = 21075,
93 NPC_DIRE_WOLF = 17854,
94
95 // Night Elf Base
96 NPC_TYRANDE = 17948,
102 NPC_NELF_ARCHER = 17943,
103 NPC_NELF_HUNTRESS = 17945,
104 NPC_DRYAD = 17944,
105
106 // Bosses
107 NPC_WINTERCHILL = 17767,
108 NPC_ANETHERON = 17808,
109 NPC_KAZROGAL = 17888,
110 NPC_AZGALOR = 17842,
111 NPC_ARCHIMONDE = 17968,
113
114 // Boss summons
115 NPC_TOWERING_INFERNAL = 17818,
117};
@ NPC_DRUID_OF_THE_TALON
Definition hyjal.h:97
@ NPC_NELF_ANCIENT_OF_WAR
Definition hyjal.h:101
@ NPC_GARGO
Definition hyjal.h:62
@ NPC_SKELETON_INVADER
Definition hyjal.h:69
@ NPC_INFERNAL_RELAY
Definition hyjal.h:91
@ NPC_WINTERCHILL
Definition hyjal.h:107
@ NPC_BUILD
Definition hyjal.h:66
@ NPC_HORDE_PEON
Definition hyjal.h:90
@ NPC_STALK
Definition hyjal.h:65
@ NPC_INFER
Definition hyjal.h:64
@ NPC_KAZROGAL
Definition hyjal.h:109
@ NPC_NELF_ANCIENT_OF_LORE
Definition hyjal.h:100
@ NPC_ALLIANCE_KNIGHT
Definition hyjal.h:75
@ NPC_DRYAD
Definition hyjal.h:104
@ NPC_ALLIANCE_FOOTMAN
Definition hyjal.h:76
@ NPC_NELF_ANCIENT_PROT
Definition hyjal.h:99
@ NPC_HORDE_WITCH_DOCTOR
Definition hyjal.h:89
@ NPC_FROST
Definition hyjal.h:63
@ NPC_HORDE_SHAMAN
Definition hyjal.h:85
@ NPC_GUARDIAN_ELEMENTAL
Definition hyjal.h:80
@ NPC_HORDE_HEADHUNTER
Definition hyjal.h:84
@ NPC_DRUID_OF_THE_CLAW
Definition hyjal.h:98
@ NPC_TYRANDE
Definition hyjal.h:96
@ NPC_GHOUL
Definition hyjal.h:57
@ NPC_TOWERING_INFERNAL
Definition hyjal.h:115
@ NPC_LESSER_DOOMGUARD
Definition hyjal.h:116
@ NPC_NECRO
Definition hyjal.h:60
@ NPC_ALLIANCE_RIFLEMAN
Definition hyjal.h:77
@ NPC_HORDE_HEALING_WARD
Definition hyjal.h:87
@ NPC_JAINA
Definition hyjal.h:73
@ NPC_ABOMI
Definition hyjal.h:59
@ NPC_NELF_HUNTRESS
Definition hyjal.h:103
@ NPC_HORDE_GRUNT
Definition hyjal.h:86
@ NPC_DIRE_WOLF
Definition hyjal.h:93
@ NPC_THRALL
Definition hyjal.h:83
@ NPC_SKELETON_MAGE
Definition hyjal.h:70
@ NPC_CRYPT
Definition hyjal.h:58
@ NPC_TAUREN_WARRIOR
Definition hyjal.h:88
@ NPC_ARCHIMONDE
Definition hyjal.h:111
@ NPC_ANETHERON
Definition hyjal.h:108
@ NPC_ALLIANCE_PRIEST
Definition hyjal.h:78
@ NPC_ALLIANCE_SORCERESS
Definition hyjal.h:79
@ NPC_BANSH
Definition hyjal.h:61
@ NPC_NELF_ARCHER
Definition hyjal.h:102
@ NPC_AZGALOR
Definition hyjal.h:110
@ NPC_INFERNAL_TARGET
Definition hyjal.h:92
@ NPC_ALLIANCE_PEASANT
Definition hyjal.h:74
@ NPC_WORLD_TRIGGER_TINY
Definition hyjal.h:112

◆ HyjalGameobjectIds

Enumerator
GO_HORDE_ENCAMPMENT_PORTAL 
GO_NIGHT_ELF_VILLAGE_PORTAL 
GO_ANCIENT_GEM 
GO_FLAME 
120{
123 GO_ANCIENT_GEM = 185557,
124 GO_FLAME = 182260
125};
@ GO_FLAME
Definition hyjal.h:124
@ GO_ANCIENT_GEM
Definition hyjal.h:123
@ GO_HORDE_ENCAMPMENT_PORTAL
Definition hyjal.h:121
@ GO_NIGHT_ELF_VILLAGE_PORTAL
Definition hyjal.h:122

◆ HyjalMisc

enum HyjalMisc
Enumerator
MAX_WAVES_STANDARD 
MAX_WAVES_RETREAT 
MAX_WAVES_NIGHT_ELF 
START_WAVE_WINTERCHILL 
START_WAVE_ANETHERON 
START_WAVE_KAZROGAL 
START_WAVE_AZGALOR 
START_WAVE_ALLIANCE_RETREAT 
START_WAVE_HORDE_RETREAT 
START_WAVE_NIGHT_ELF 
CONTEXT_GROUP_WAVES 
AREA_NORDRASSIL 
SPELL_ETERNAL_SILENCE 
GUID_GAIN_SOUL_CHARGE_PLAYER 
128{
139
141
142 AREA_NORDRASSIL = 3710,
143
144 SPELL_ETERNAL_SILENCE = 42201,
145
147};
@ START_WAVE_WINTERCHILL
Definition hyjal.h:132
@ MAX_WAVES_RETREAT
Definition hyjal.h:130
@ SPELL_ETERNAL_SILENCE
Definition hyjal.h:144
@ START_WAVE_ALLIANCE_RETREAT
Definition hyjal.h:136
@ START_WAVE_NIGHT_ELF
Definition hyjal.h:138
@ GUID_GAIN_SOUL_CHARGE_PLAYER
Definition hyjal.h:146
@ AREA_NORDRASSIL
Definition hyjal.h:142
@ START_WAVE_ANETHERON
Definition hyjal.h:133
@ START_WAVE_AZGALOR
Definition hyjal.h:135
@ START_WAVE_KAZROGAL
Definition hyjal.h:134
@ START_WAVE_HORDE_RETREAT
Definition hyjal.h:137
@ MAX_WAVES_STANDARD
Definition hyjal.h:129
@ CONTEXT_GROUP_WAVES
Definition hyjal.h:140
@ MAX_WAVES_NIGHT_ELF
Definition hyjal.h:131

◆ HyjalPaths

enum HyjalPaths
Enumerator
ALLIANCE_BASE_CHARGE_1 
ALLIANCE_BASE_CHARGE_2 
ALLIANCE_BASE_CHARGE_3 
ALLIANCE_BASE_PATROL_1 
ALLIANCE_BASE_PATROL_2 
ALLIANCE_BASE_PATROL_3 
JAINA_RETREAT_PATH 
HORDE_BASE_CHARGE_1 
HORDE_BASE_CHARGE_2 
HORDE_BASE_CHARGE_3 
HORDE_BASE_PATROL_1 
HORDE_BASE_PATROL_2 
HORDE_BASE_PATROL_3 
NIGHT_ELF_BASE_CHARGE_1 
NIGHT_ELF_BASE_CHARGE_2 
NIGHT_ELF_BASE_CHARGE_3 
GARGOYLE_PATH_TROLL_CAMP_1 
GARGOYLE_PATH_TROLL_CAMP_2 
GARGOYLE_PATH_TROLL_CAMP_3 
GARGOYLE_PATH_FORTRESS_1 
GARGOYLE_PATH_FORTRESS_2 
GARGOYLE_PATH_FORTRESS_3 
FROST_WYRM_TROLL_CAMP 
FROST_WYRM_FORTRESS 
FROST_WYRM_FORTRESS_PATROL 
HORDE_BOSS_PATH 
150{
151 ALLIANCE_BASE_CHARGE_1 = 177721,
152 ALLIANCE_BASE_CHARGE_2 = 177722,
153 ALLIANCE_BASE_CHARGE_3 = 177723,
154 ALLIANCE_BASE_PATROL_1 = 177724,
155 ALLIANCE_BASE_PATROL_2 = 177725,
156 ALLIANCE_BASE_PATROL_3 = 177726,
157 JAINA_RETREAT_PATH = 177727,
158
159 HORDE_BASE_CHARGE_1 = 178521,
160 HORDE_BASE_CHARGE_2 = 178522,
161 HORDE_BASE_CHARGE_3 = 178523,
162 HORDE_BASE_PATROL_1 = 178524,
163 HORDE_BASE_PATROL_2 = 178525,
164 HORDE_BASE_PATROL_3 = 178526,
165
169
176
177 FROST_WYRM_TROLL_CAMP = 179071,
178 FROST_WYRM_FORTRESS = 179072,
180
181 HORDE_BOSS_PATH = 178527
182};
@ NIGHT_ELF_BASE_CHARGE_1
Definition hyjal.h:166
@ GARGOYLE_PATH_TROLL_CAMP_1
Definition hyjal.h:170
@ NIGHT_ELF_BASE_CHARGE_3
Definition hyjal.h:168
@ FROST_WYRM_FORTRESS
Definition hyjal.h:178
@ GARGOYLE_PATH_FORTRESS_1
Definition hyjal.h:173
@ ALLIANCE_BASE_PATROL_3
Definition hyjal.h:156
@ JAINA_RETREAT_PATH
Definition hyjal.h:157
@ NIGHT_ELF_BASE_CHARGE_2
Definition hyjal.h:167
@ HORDE_BOSS_PATH
Definition hyjal.h:181
@ GARGOYLE_PATH_TROLL_CAMP_3
Definition hyjal.h:172
@ GARGOYLE_PATH_TROLL_CAMP_2
Definition hyjal.h:171
@ HORDE_BASE_PATROL_1
Definition hyjal.h:162
@ GARGOYLE_PATH_FORTRESS_2
Definition hyjal.h:174
@ HORDE_BASE_CHARGE_3
Definition hyjal.h:161
@ HORDE_BASE_CHARGE_2
Definition hyjal.h:160
@ FROST_WYRM_TROLL_CAMP
Definition hyjal.h:177
@ ALLIANCE_BASE_CHARGE_2
Definition hyjal.h:152
@ HORDE_BASE_PATROL_2
Definition hyjal.h:163
@ ALLIANCE_BASE_PATROL_1
Definition hyjal.h:154
@ HORDE_BASE_PATROL_3
Definition hyjal.h:164
@ HORDE_BASE_CHARGE_1
Definition hyjal.h:159
@ ALLIANCE_BASE_CHARGE_1
Definition hyjal.h:151
@ GARGOYLE_PATH_FORTRESS_3
Definition hyjal.h:175
@ ALLIANCE_BASE_CHARGE_3
Definition hyjal.h:153
@ ALLIANCE_BASE_PATROL_2
Definition hyjal.h:155
@ FROST_WYRM_FORTRESS_PATROL
Definition hyjal.h:179

Function Documentation

◆ GetHyjalAI()

template<class AI , class T >
AI * GetHyjalAI ( T *  obj)
inline
191{
192 return GetInstanceAI<AI>(obj, HyjalScriptName);
193}
#define HyjalScriptName
Definition hyjal.h:25

References HyjalScriptName.

Variable Documentation

◆ EncounterCount

uint32 const EncounterCount = 5