TrinityCore
pit_of_saron.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
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 PIT_OF_SARON_H_
19#define PIT_OF_SARON_H_
20
21#include "CreatureAIImpl.h"
22#include "EventProcessor.h"
23
24#define PoSScriptName "instance_pit_of_saron"
25#define DataHeader "POS"
26
28
30{
31 // Encounter states and GUIDs
35
36 // GUIDs
39 DATA_JAINA_SYLVANAS_1 = 5, // GUID of either Jaina or Sylvanas part 1, depending on team, as it's the same spawn.
40 DATA_JAINA_SYLVANAS_2 = 6, // GUID of either Jaina or Sylvanas part 2, depending on team, as it's the same spawn.
45};
46
48{
49 NPC_GARFROST = 36494,
50 NPC_KRICK = 36477,
51 NPC_ICK = 36476,
52 NPC_TYRANNUS = 36658,
53 NPC_RIMEFANG = 36661,
54
60 NPC_KILARA = 37583,
61 NPC_ELANDRA = 37774,
62 NPC_KORALEN = 37779,
63 NPC_KORLAEN = 37582,
69
90
96};
97
99{
101 GO_ICE_WALL = 201885,
104
106{
112
113class Creature;
114
116{
117 public:
118 ScheduledIcicleSummons(Creature* trigger) : _trigger(trigger) { }
119
120 bool Execute(uint64 /*time*/, uint32 /*diff*/) override;
121
122 private:
124};
125
126template <class AI, class T>
127inline AI* GetPitOfSaronAI(T* obj)
128{
129 return GetInstanceAI<AI>(obj, PoSScriptName);
130}
131
132#define RegisterPitOfSaronCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetPitOfSaronAI)
133
134#endif // PIT_OF_SARON_H_
uint64_t uint64
Definition: Define.h:141
uint32_t uint32
Definition: Define.h:142
ScheduledIcicleSummons(Creature *trigger)
Definition: pit_of_saron.h:118
bool Execute(uint64, uint32) override
uint32 const EncounterCount
Definition: pit_of_saron.h:27
AI * GetPitOfSaronAI(T *obj)
Definition: pit_of_saron.h:127
#define PoSScriptName
Definition: pit_of_saron.h:24
POSDataTypes
Definition: pit_of_saron.h:30
@ DATA_ICK
Definition: pit_of_saron.h:33
@ DATA_TEAM_IN_INSTANCE
Definition: pit_of_saron.h:42
@ DATA_CAVERN_ACTIVE
Definition: pit_of_saron.h:44
@ DATA_JAINA_SYLVANAS_2
Definition: pit_of_saron.h:40
@ DATA_ICE_SHARDS_HIT
Definition: pit_of_saron.h:43
@ DATA_TYRANNUS_EVENT
Definition: pit_of_saron.h:41
@ DATA_RIMEFANG
Definition: pit_of_saron.h:37
@ DATA_KRICK
Definition: pit_of_saron.h:38
@ DATA_JAINA_SYLVANAS_1
Definition: pit_of_saron.h:39
@ DATA_GARFROST
Definition: pit_of_saron.h:32
@ DATA_TYRANNUS
Definition: pit_of_saron.h:34
POSGameObjectIds
Definition: pit_of_saron.h:99
@ GO_SARONITE_ROCK
Definition: pit_of_saron.h:100
@ GO_ICE_WALL
Definition: pit_of_saron.h:101
@ GO_HALLS_OF_REFLECTION_PORTCULLIS
Definition: pit_of_saron.h:102
SpellsIcicle
Definition: pit_of_saron.h:106
@ SPELL_DONT_LOOK_UP_ACHIEV_CREDIT
Definition: pit_of_saron.h:110
@ SPELL_ICICLE_FALL_VISUAL
Definition: pit_of_saron.h:109
@ SPELL_ICICLE_FALL_TRIGGER
Definition: pit_of_saron.h:108
@ SPELL_ICICLE_SUMMON
Definition: pit_of_saron.h:107
POSCreatureIds
Definition: pit_of_saron.h:48
@ NPC_JAINA_PART1
Definition: pit_of_saron.h:58
@ NPC_ICK
Definition: pit_of_saron.h:51
@ NPC_FREED_SLAVE_1_ALLIANCE
Definition: pit_of_saron.h:78
@ NPC_CHAMPION_1_ALLIANCE
Definition: pit_of_saron.h:67
@ NPC_KORALEN
Definition: pit_of_saron.h:62
@ NPC_HORDE_SLAVE_3
Definition: pit_of_saron.h:72
@ NPC_JAINA_PART2
Definition: pit_of_saron.h:59
@ NPC_RIMEFANG
Definition: pit_of_saron.h:53
@ NPC_ALLIANCE_SLAVE_2
Definition: pit_of_saron.h:75
@ NPC_FREED_SLAVE_3_HORDE
Definition: pit_of_saron.h:83
@ NPC_FREED_SLAVE_3_ALLIANCE
Definition: pit_of_saron.h:80
@ NPC_KORLAEN
Definition: pit_of_saron.h:63
@ NPC_KILARA
Definition: pit_of_saron.h:60
@ NPC_GARFROST
Definition: pit_of_saron.h:49
@ NPC_CAVERN_EVENT_TRIGGER
Definition: pit_of_saron.h:95
@ NPC_CHAMPION_1_HORDE
Definition: pit_of_saron.h:64
@ NPC_ICY_BLAST
Definition: pit_of_saron.h:94
@ NPC_FORGEMASTER_STALKER
Definition: pit_of_saron.h:91
@ NPC_FREED_SLAVE_2_HORDE
Definition: pit_of_saron.h:82
@ NPC_CHAMPION_2_ALLIANCE
Definition: pit_of_saron.h:68
@ NPC_HORDE_SLAVE_2
Definition: pit_of_saron.h:71
@ NPC_TYRANNUS_EVENTS
Definition: pit_of_saron.h:55
@ NPC_YMIRJAR_DEATHBRINGER
Definition: pit_of_saron.h:93
@ NPC_HORDE_SLAVE_1
Definition: pit_of_saron.h:70
@ NPC_KRICK
Definition: pit_of_saron.h:50
@ NPC_GORKUN_IRONSKULL_2
Definition: pit_of_saron.h:89
@ NPC_SYLVANAS_PART2
Definition: pit_of_saron.h:57
@ NPC_ELANDRA
Definition: pit_of_saron.h:61
@ NPC_FREED_SLAVE_1_HORDE
Definition: pit_of_saron.h:81
@ NPC_RESCUED_SLAVE_HORDE
Definition: pit_of_saron.h:85
@ NPC_MARTIN_VICTUS_1
Definition: pit_of_saron.h:86
@ NPC_TYRANNUS
Definition: pit_of_saron.h:52
@ NPC_CHAMPION_3_HORDE
Definition: pit_of_saron.h:66
@ NPC_EXPLODING_ORB
Definition: pit_of_saron.h:92
@ NPC_CHAMPION_2_HORDE
Definition: pit_of_saron.h:65
@ NPC_ALLIANCE_SLAVE_4
Definition: pit_of_saron.h:77
@ NPC_RESCUED_SLAVE_ALLIANCE
Definition: pit_of_saron.h:84
@ NPC_MARTIN_VICTUS_2
Definition: pit_of_saron.h:87
@ NPC_HORDE_SLAVE_4
Definition: pit_of_saron.h:73
@ NPC_SYLVANAS_PART1
Definition: pit_of_saron.h:56
@ NPC_ALLIANCE_SLAVE_3
Definition: pit_of_saron.h:76
@ NPC_FREED_SLAVE_2_ALLIANCE
Definition: pit_of_saron.h:79
@ NPC_ALLIANCE_SLAVE_1
Definition: pit_of_saron.h:74
@ NPC_GORKUN_IRONSKULL_1
Definition: pit_of_saron.h:88