TrinityCore
shattered_halls.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 DEF_SHATTERED_H
19#define DEF_SHATTERED_H
20
21#include "CreatureAIImpl.h"
22#include "Position.h"
23
24#define SHScriptName "instance_shattered_halls"
25#define DataHeader "SHv1"
26
29
31{
36
39
41
45};
46
48{
52
54
55 // Alliance Ids
57
61
62 // Horde Ids
63 NPC_DRISELLA = 17294,
64
67 NPC_HORDE_VICTIM_2 = 17297
68};
69
71{
74};
75
77{
80};
81
83{
87
89};
90
92{
94};
95
96extern Position const Executioner;
97
99{
100 FactionSpawnerHelper(uint32 allianceEntry, uint32 hordeEntry, Position const& pos) : _allianceNPC(allianceEntry), _hordeNPC(hordeEntry), _spawnPos(pos) { }
101
102 inline uint32 operator()(uint32 teamID) const { return teamID == ALLIANCE ? _allianceNPC : _hordeNPC; }
103 inline Position const& GetPos() const { return _spawnPos; }
104
105private:
109};
110
112{
113 { NPC_CAPTAIN_ALINA, NPC_CAPTAIN_BONESHATTER, { 138.8807f, -84.22707f, 1.992269f, 0.06981317f } },
114 { NPC_ALLIANCE_VICTIM_1, NPC_HORDE_VICTIM_1, { 151.2411f, -91.02930f, 2.019741f, 1.57079600f } },
115 { NPC_ALLIANCE_VICTIM_2, NPC_HORDE_VICTIM_2, { 151.0459f, -77.51981f, 2.021008f, 4.74729500f } }
116};
117
118template <class AI, class T>
119inline AI* GetShatteredHallsAI(T* obj)
120{
121 return GetInstanceAI<AI>(obj, SHScriptName);
122}
123
124#endif
uint32_t uint32
Definition: Define.h:142
@ ALLIANCE
SHDataTypes
Definition: sethekk_halls.h:29
SHCreatureIds
Definition: sethekk_halls.h:40
@ DATA_TEAM_IN_INSTANCE
@ DATA_PORUNG
@ DATA_KARGATH
@ DATA_OMROGG
@ DATA_SHATTERED_EXECUTIONER
@ DATA_SECOND_PRISONER
@ DATA_PRISONERS_EXECUTED
@ DATA_NETHEKURSE
@ DATA_THIRD_PRISONER
@ DATA_FIRST_PRISONER
uint32 const EncounterCount
SHActions
@ ACTION_EXECUTIONER_TAUNT
#define SHScriptName
AI * GetShatteredHallsAI(T *obj)
@ NPC_ALLIANCE_VICTIM_1
@ NPC_HORDE_VICTIM_2
@ NPC_BLOOD_GUARD_PORUNG
@ NPC_CAPTAIN_ALINA
@ NPC_ALLIANCE_VICTIM_2
@ NPC_SHATTERED_EXECUTIONER
@ NPC_DRISELLA
@ NPC_GRAND_WARLOCK_NETHEKURSE
@ NPC_RANDY_WHIZZLESPROCKET
@ NPC_HORDE_VICTIM_1
@ NPC_KARGATH_BLADEFIST
@ NPC_CAPTAIN_BONESHATTER
SHGameobjectIds
@ GO_GRAND_WARLOCK_CHAMBER_DOOR_1
@ GO_GRAND_WARLOCK_CHAMBER_DOOR_2
SHInstanceSpells
@ SPELL_KARGATH_EXECUTIONER_2
@ SPELL_KARGATH_EXECUTIONER_3
@ SPELL_REMOVE_KARGATH_EXECUTIONER
@ SPELL_KARGATH_EXECUTIONER_1
uint32 const VictimCount
Position const Executioner
FactionSpawnerHelper const executionerVictims[VictimCount]
SHQuestIds
@ QUEST_IMPRISONED_H
@ QUEST_IMPRISONED_A
Position const _spawnPos
uint32 const _allianceNPC
uint32 operator()(uint32 teamID) const
FactionSpawnerHelper(uint32 allianceEntry, uint32 hordeEntry, Position const &pos)
Position const & GetPos() const