TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
halls_of_reflection.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2 of the License, or (at your
7  * option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef HALLS_OF_REFLECTION_H_
19 #define HALLS_OF_REFLECTION_H_
20 
21 #define HoRScriptName "instance_halls_of_reflection"
22 #define DataHeader "HOR"
23 
25 
26 /* Halls of Reflection encounters:
27  0 - Falric
28  1 - Marwyn
29  2 - The Lich King
30 */
31 
33 {
37 
40 
50 
51  // Quest stuff
56 };
57 
59 {
60  NPC_JAINA_INTRO = 37221,
62  NPC_UTHER = 37225,
64  NPC_KORELN = 37582,
65  NPC_LORALEN = 37779,
67 
68  NPC_FALRIC = 38112,
69  NPC_MARWYN = 38113,
73  NPC_WAVE_PRIEST = 38175,
74  NPC_WAVE_MAGE = 38172,
75 
77  NPC_REFLECTION = 37068, // 37107 for tank only?
78 
83 
87 
91 
93 };
94 
96 {
97  GO_FROSTMOURNE = 202302,
98  GO_ENTRANCE_DOOR = 201976,
101  GO_ESCAPE_DOOR = 197343, // always open ?
102 
103  GO_ICE_WALL = 201385,
104  GO_CAVE_IN = 201596,
105 
111 
116 };
117 
119 {
122 };
123 
124 // Common actions from Instance Script to Boss Script
126 {
132 };
133 
135 {
142 };
143 
145 {
149 };
150 
152 {
153  // Trash
154  SPELL_WELL_OF_SOULS = 72630, // cast when spawn (become visible)
155  SPELL_SPIRIT_ACTIVATE = 72130, // cast when unit activates
156 
157  // Start Quests
161 
162  // Quest Credits
166 
167  // Gunship
171 
172  // Halls of Reflection quest
175 };
176 
178 {
181 };
182 
184 {
187 };
188 
190 {
193 };
194 
195 // Base class for FALRIC and MARWYN
197 {
198  boss_horAI(Creature* creature, uint32 bossId) : BossAI(creature, bossId) { }
199 
200  void Reset() override
201  {
202  _Reset();
203  me->SetVisible(false);
208  }
209 
210  void DoAction(int32 actionId) override
211  {
212  switch (actionId)
213  {
214  case ACTION_ENTER_COMBAT: // called by InstanceScript when boss shall enter in combat.
217  DoZoneInCombat(me, 150.0f);
218  break;
219  default:
220  break;
221  }
222  }
223 
224  void JustSummoned(Creature* summon) override
225  {
226  summons.Summon(summon);
227  }
228 };
229 
231 {
232  public:
233  GameObjectDeleteDelayEvent(Unit* owner, ObjectGuid gameObjectGUID) : _owner(owner), _gameObjectGUID(gameObjectGUID) { }
234 
236  {
238  go->Delete();
239  }
240 
241  bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override
242  {
244  return true;
245  }
246 
247  void Abort(uint64 /*execTime*/) override
248  {
250  }
251 
252  private:
255 };
256 
257 template<class AI>
259 {
260  return GetInstanceAI<AI>(creature, HoRScriptName);
261 }
262 
263 #endif // HALLS_OF_REFLECTION_H_
Definition: halls_of_reflection.h:158
Definition: halls_of_reflection.h:101
Definition: halls_of_reflection.h:113
void Reset() override
Definition: halls_of_reflection.h:200
void DoAction(int32 actionId) override
Definition: halls_of_reflection.h:210
Definition: halls_of_reflection.h:109
Definition: halls_of_reflection.h:115
Definition: Unit.h:1131
Definition: halls_of_reflection.h:92
Definition: halls_of_reflection.h:106
Definition: halls_of_reflection.h:147
Definition: halls_of_reflection.h:174
Definition: halls_of_reflection.h:97
Definition: halls_of_reflection.h:85
Definition: halls_of_reflection.h:160
uint32 const EncounterCount
Definition: halls_of_reflection.h:24
Definition: halls_of_reflection.h:154
Definition: halls_of_reflection.h:53
Definition: halls_of_reflection.h:41
Definition: Unit.h:1129
Definition: halls_of_reflection.h:112
Definition: halls_of_reflection.h:98
Definition: halls_of_reflection.h:130
Definition: halls_of_reflection.h:76
virtual uint32 GetData(uint32) const
Definition: ZoneScript.h:51
Definition: halls_of_reflection.h:155
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
Definition: CreatureAI.cpp:47
Definition: halls_of_reflection.h:38
Achievements
Definition: boss_herald_volazj.cpp:52
Definition: halls_of_reflection.h:99
Definition: halls_of_reflection.h:114
Definition: halls_of_reflection.h:107
Definition: halls_of_reflection.h:131
Definition: halls_of_reflection.h:84
Unit * _owner
Definition: halls_of_reflection.h:253
void Summon(Creature const *summon)
Definition: ScriptedCreature.h:92
Definition: halls_of_reflection.h:127
arena_t NULL
Definition: jemalloc_internal.h:624
Definition: halls_of_reflection.h:54
Definition: halls_of_reflection.h:165
InstanceSpells
Definition: halls_of_reflection.h:151
Definition: halls_of_reflection.h:191
Definition: halls_of_reflection.h:230
DataTypes
Definition: baradin_hold.h:30
Definition: halls_of_reflection.h:88
GameObjectIds
Definition: baradin_hold.h:48
Definition: Creature.h:467
void DeleteGameObject()
Definition: halls_of_reflection.h:235
ObjectGuid _gameObjectGUID
Definition: halls_of_reflection.h:254
void SetFlag(uint16 index, uint32 newFlag)
Definition: Object.cpp:1199
Definition: Unit.h:681
Definition: halls_of_reflection.h:164
Definition: halls_of_reflection.h:110
Definition: halls_of_reflection.h:104
Definition: halls_of_reflection.h:69
#define HoRScriptName
Definition: halls_of_reflection.h:21
Definition: halls_of_reflection.h:140
Definition: halls_of_reflection.h:60
Definition: halls_of_reflection.h:169
Definition: halls_of_reflection.h:100
Definition: halls_of_reflection.h:129
bool Execute(uint64, uint32) override
Definition: halls_of_reflection.h:241
Definition: halls_of_reflection.h:90
Creature *const me
Definition: CreatureAI.h:71
Actions
Definition: BattlegroundIC.h:203
Definition: halls_of_reflection.h:73
Definition: halls_of_reflection.h:136
Definition: halls_of_reflection.h:180
Definition: halls_of_reflection.h:42
Definition: halls_of_reflection.h:139
Definition: halls_of_reflection.h:79
Definition: halls_of_reflection.h:173
Definition: halls_of_reflection.h:66
Definition: InstanceScript.h:58
Definition: halls_of_reflection.h:55
void SetVisible(bool x)
Definition: Unit.cpp:10368
void _Reset()
Definition: ScriptedCreature.cpp:457
int32_t int32
Definition: Define.h:146
Definition: halls_of_reflection.h:35
uint32_t uint32
Definition: Define.h:150
uint64_t uint64
Definition: Define.h:149
Definition: halls_of_reflection.h:186
InstanceEvents
Definition: instance_stratholme.cpp:37
Definition: GameObject.h:880
Definition: halls_of_reflection.h:70
Definition: halls_of_reflection.h:81
Definition: halls_of_reflection.h:39
Definition: halls_of_reflection.h:159
Definition: halls_of_reflection.h:141
Definition: halls_of_reflection.h:43
Definition: halls_of_reflection.h:120
SummonList summons
Definition: ScriptedCreature.h:372
boss_horAI(Creature *creature, uint32 bossId)
Definition: halls_of_reflection.h:198
Definition: halls_of_reflection.h:61
Definition: halls_of_reflection.h:65
void RemoveFlag(uint16 index, uint32 oldFlag)
Definition: Object.cpp:1214
Definition: Unit.h:682
Definition: halls_of_reflection.h:128
Definition: EventProcessor.h:28
Definition: halls_of_reflection.h:196
InstanceWorldStates
Definition: halls_of_reflection.h:183
Definition: halls_of_reflection.h:163
Definition: halls_of_reflection.h:168
InstanceQuests
Definition: halls_of_reflection.h:177
Definition: halls_of_reflection.h:89
Definition: halls_of_reflection.h:47
Definition: halls_of_reflection.h:179
Definition: UpdateFields.h:109
Definition: halls_of_reflection.h:34
Definition: halls_of_reflection.h:108
Definition: halls_of_reflection.h:185
Definition: halls_of_reflection.h:46
Definition: halls_of_reflection.h:52
TC_GAME_API GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:143
Definition: halls_of_reflection.h:146
Definition: halls_of_reflection.h:68
Definition: halls_of_reflection.h:80
void JustSummoned(Creature *summon) override
Definition: halls_of_reflection.h:224
Definition: halls_of_reflection.h:86
Definition: halls_of_reflection.h:82
Definition: ObjectGuid.h:189
Definition: halls_of_reflection.h:137
Definition: halls_of_reflection.h:45
Definition: halls_of_reflection.h:49
Definition: halls_of_reflection.h:148
Definition: ScriptedCreature.h:334
Definition: halls_of_reflection.h:48
Definition: halls_of_reflection.h:138
Definition: halls_of_reflection.h:36
virtual void ProcessEvent(WorldObject *, uint32)
Definition: ZoneScript.h:54
Definition: halls_of_reflection.h:44
Definition: halls_of_reflection.h:72
Definition: halls_of_reflection.h:192
Definition: halls_of_reflection.h:103
InstanceYells
Definition: halls_of_reflection.h:189
Definition: halls_of_reflection.h:62
Definition: Unit.h:1305
Definition: halls_of_reflection.h:77
Definition: halls_of_reflection.h:170
void Abort(uint64) override
Definition: halls_of_reflection.h:247
void SetReactState(ReactStates st)
Definition: Creature.h:502
InstanceEventIds
Definition: magisters_terrace.h:62
Definition: halls_of_reflection.h:71
GameObjectDeleteDelayEvent(Unit *owner, ObjectGuid gameObjectGUID)
Definition: halls_of_reflection.h:233
CreatureIds
Definition: baradin_hold.h:37
Definition: halls_of_reflection.h:74
Definition: halls_of_reflection.h:64
AI * GetHallsOfReflectionAI(Creature *creature)
Definition: halls_of_reflection.h:258
InstanceScript *const instance
Definition: ScriptedCreature.h:340
Definition: halls_of_reflection.h:63
Definition: halls_of_reflection.h:121