TrinityCore
gundrak.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 GUNDRAK_H_
19#define GUNDRAK_H_
20
21#include "CreatureAIImpl.h"
22
23#define GundrakScriptName "instance_gundrak"
24#define DataHeader "GD"
25
27
29{
30 // Encounter Ids // Encounter States // Boss GUIDs
36
37 // Additional Objects
41
46
50
52};
53
55{
56 NPC_SLAD_RAN = 29304,
57 NPC_MOORABI = 29305,
63 NPC_RHINO_SPIRIT = 29791
64};
65
67{
80 GO_TRAPDOOR = 193188,
81 GO_COLLISION = 192633,
82};
83
85{
89};
90
91inline constexpr Milliseconds TIMER_STATUE_ACTIVATION = 3500ms;
92
93template <class AI, class T>
94inline AI* GetGundrakAI(T* obj)
95{
96 return GetInstanceAI<AI>(obj, GundrakScriptName);
97}
98
99#define RegisterGundrakCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetGundrakAI)
100#define RegisterGundrakGameObjectAI(ai_name) RegisterGameObjectAIWithFactory(ai_name, GetGundrakAI)
101
102#endif // GUNDRAK_H_
uint32_t uint32
Definition: Define.h:142
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
Definition: Duration.h:29
GDSpellIds
Definition: gundrak.h:85
@ SPELL_FIRE_BEAM_MAMMOTH
Definition: gundrak.h:86
@ SPELL_FIRE_BEAM_ELEMENTAL
Definition: gundrak.h:88
@ SPELL_FIRE_BEAM_SNAKE
Definition: gundrak.h:87
uint32 const EncounterCount
Definition: gundrak.h:26
#define GundrakScriptName
Definition: gundrak.h:23
AI * GetGundrakAI(T *obj)
Definition: gundrak.h:94
constexpr Milliseconds TIMER_STATUE_ACTIVATION
Definition: gundrak.h:91
GDDataTypes
Definition: gundrak.h:29
@ DATA_SLAD_RAN
Definition: gundrak.h:31
@ DATA_SLAD_RAN_ALTAR
Definition: gundrak.h:38
@ DATA_DRAKKARI_COLOSSUS
Definition: gundrak.h:32
@ DATA_MOORABI
Definition: gundrak.h:33
@ DATA_STATUE_ACTIVATE
Definition: gundrak.h:51
@ DATA_COLLISION
Definition: gundrak.h:48
@ DATA_GAL_DARAH
Definition: gundrak.h:34
@ DATA_GAL_DARAH_STATUE
Definition: gundrak.h:45
@ DATA_DRAKKARI_COLOSSUS_ALTAR
Definition: gundrak.h:39
@ DATA_MOORABI_STATUE
Definition: gundrak.h:44
@ DATA_MOORABI_ALTAR
Definition: gundrak.h:40
@ DATA_ECK_THE_FEROCIOUS
Definition: gundrak.h:35
@ DATA_SLAD_RAN_STATUE
Definition: gundrak.h:42
@ DATA_DRAKKARI_COLOSSUS_STATUE
Definition: gundrak.h:43
@ DATA_TRAPDOOR
Definition: gundrak.h:47
@ DATA_BRIDGE
Definition: gundrak.h:49
GDGameObjectIds
Definition: gundrak.h:67
@ GO_GAL_DARAH_DOOR_2
Definition: gundrak.h:78
@ GO_DRAKKARI_COLOSSUS_STATUE
Definition: gundrak.h:74
@ GO_COLLISION
Definition: gundrak.h:81
@ GO_GAL_DARAH_DOOR_1
Definition: gundrak.h:77
@ GO_SLAD_RAN_STATUE
Definition: gundrak.h:71
@ GO_ECK_THE_FEROCIOUS_DOOR_BEHIND
Definition: gundrak.h:76
@ GO_ECK_THE_FEROCIOUS_DOOR
Definition: gundrak.h:75
@ GO_TRAPDOOR
Definition: gundrak.h:80
@ GO_MOORABI_ALTAR
Definition: gundrak.h:69
@ GO_MOORABI_STATUE
Definition: gundrak.h:72
@ GO_SLAD_RAN_ALTAR
Definition: gundrak.h:68
@ GO_GAL_DARAH_DOOR_3
Definition: gundrak.h:79
@ GO_GAL_DARAH_STATUE
Definition: gundrak.h:73
@ GO_DRAKKARI_COLOSSUS_ALTAR
Definition: gundrak.h:70
GDCreatureIds
Definition: gundrak.h:55
@ NPC_GAL_DARAH
Definition: gundrak.h:58
@ NPC_ECK_THE_FEROCIOUS
Definition: gundrak.h:61
@ NPC_RUIN_DWELLER
Definition: gundrak.h:60
@ NPC_SLAD_RAN
Definition: gundrak.h:56
@ NPC_MOORABI
Definition: gundrak.h:57
@ NPC_ALTAR_TRIGGER
Definition: gundrak.h:62
@ NPC_DRAKKARI_COLOSSUS
Definition: gundrak.h:59
@ NPC_RHINO_SPIRIT
Definition: gundrak.h:63