TrinityCore
Loading...
Searching...
No Matches
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
97
104
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:153
uint32_t uint32
Definition Define.h:154
ScheduledIcicleSummons(Creature *trigger)
bool Execute(uint64, uint32) override
uint32 const EncounterCount
AI * GetPitOfSaronAI(T *obj)
#define PoSScriptName
POSDataTypes
@ DATA_ICK
@ DATA_TEAM_IN_INSTANCE
@ DATA_CAVERN_ACTIVE
@ DATA_JAINA_SYLVANAS_2
@ DATA_ICE_SHARDS_HIT
@ DATA_TYRANNUS_EVENT
@ DATA_RIMEFANG
@ DATA_KRICK
@ DATA_JAINA_SYLVANAS_1
@ DATA_GARFROST
@ DATA_TYRANNUS
POSGameObjectIds
@ GO_SARONITE_ROCK
@ GO_ICE_WALL
@ GO_HALLS_OF_REFLECTION_PORTCULLIS
SpellsIcicle
@ SPELL_DONT_LOOK_UP_ACHIEV_CREDIT
@ SPELL_ICICLE_FALL_VISUAL
@ SPELL_ICICLE_FALL_TRIGGER
@ SPELL_ICICLE_SUMMON
POSCreatureIds
@ NPC_JAINA_PART1
@ NPC_ICK
@ NPC_FREED_SLAVE_1_ALLIANCE
@ NPC_CHAMPION_1_ALLIANCE
@ NPC_KORALEN
@ NPC_HORDE_SLAVE_3
@ NPC_JAINA_PART2
@ NPC_RIMEFANG
@ NPC_ALLIANCE_SLAVE_2
@ NPC_FREED_SLAVE_3_HORDE
@ NPC_FREED_SLAVE_3_ALLIANCE
@ NPC_KORLAEN
@ NPC_KILARA
@ NPC_GARFROST
@ NPC_CAVERN_EVENT_TRIGGER
@ NPC_CHAMPION_1_HORDE
@ NPC_ICY_BLAST
@ NPC_FORGEMASTER_STALKER
@ NPC_FREED_SLAVE_2_HORDE
@ NPC_CHAMPION_2_ALLIANCE
@ NPC_HORDE_SLAVE_2
@ NPC_TYRANNUS_EVENTS
@ NPC_YMIRJAR_DEATHBRINGER
@ NPC_HORDE_SLAVE_1
@ NPC_KRICK
@ NPC_GORKUN_IRONSKULL_2
@ NPC_SYLVANAS_PART2
@ NPC_ELANDRA
@ NPC_FREED_SLAVE_1_HORDE
@ NPC_RESCUED_SLAVE_HORDE
@ NPC_MARTIN_VICTUS_1
@ NPC_TYRANNUS
@ NPC_CHAMPION_3_HORDE
@ NPC_EXPLODING_ORB
@ NPC_CHAMPION_2_HORDE
@ NPC_ALLIANCE_SLAVE_4
@ NPC_RESCUED_SLAVE_ALLIANCE
@ NPC_MARTIN_VICTUS_2
@ NPC_HORDE_SLAVE_4
@ NPC_SYLVANAS_PART1
@ NPC_ALLIANCE_SLAVE_3
@ NPC_FREED_SLAVE_2_ALLIANCE
@ NPC_ALLIANCE_SLAVE_1
@ NPC_GORKUN_IRONSKULL_1