Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
ruby_sanctum.h
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
6
#ifndef RUBY_SANCTUM_H_
7
#define RUBY_SANCTUM_H_
8
9
#include "
SpellScript.h
"
10
#include "
Map.h
"
11
#include "
Creature.h
"
12
#include "
GameObjectAI.h
"
13
14
#define RSScriptName "instance_ruby_sanctum"
15
uint32
const
EncounterCount
= 4;
16
17
Position
const
HalionControllerSpawnPos
= {3156.037f, 533.2656f, 72.97205f, 0.0f};
18
19
enum
DataTypes
20
{
21
// Encounter States/Boss GUIDs
22
DATA_BALTHARUS_THE_WARBORN
= 0,
23
DATA_GENERAL_ZARITHRIAN
= 1,
24
DATA_SAVIANA_RAGEFIRE
= 2,
25
DATA_HALION
= 3,
26
27
// Etc
28
DATA_TWILIGHT_HALION
= 4,
29
DATA_XERESTRASZA
= 5,
30
DATA_CRYSTAL_CHANNEL_TARGET
= 6,
31
DATA_BALTHARUS_SHARED_HEALTH
= 7,
32
DATA_ZARITHRIAN_SPAWN_STALKER_1
= 8,
33
DATA_ZARITHRIAN_SPAWN_STALKER_2
= 9,
34
DATA_HALION_CONTROLLER
= 10,
35
DATA_ORB_CARRIER
= 11,
36
DATA_ORB_ROTATION_FOCUS
= 12,
37
DATA_BURNING_TREE_1
= 13,
38
DATA_BURNING_TREE_2
= 14,
39
DATA_BURNING_TREE_3
= 15,
40
DATA_BURNING_TREE_4
= 16,
41
DATA_FLAME_RING
= 17,
42
DATA_TWILIGHT_FLAME_RING
= 18,
43
};
44
45
enum
SharedActions
46
{
47
ACTION_INTRO_BALTHARUS
= -3975101,
48
ACTION_BALTHARUS_DEATH
= -3975102,
49
ACTION_INTRO_HALION
= -4014601,
50
};
51
52
enum
CreaturesIds
53
{
54
// Baltharus the Warborn
55
NPC_BALTHARUS_THE_WARBORN
= 39751,
56
NPC_BALTHARUS_THE_WARBORN_CLONE
= 39899,
57
NPC_BALTHARUS_TARGET
= 26712,
58
59
// General Zarithrian
60
NPC_GENERAL_ZARITHRIAN
= 39746,
61
NPC_ONYX_FLAMECALLER
= 39814,
62
NPC_ZARITHRIAN_SPAWN_STALKER
= 39794,
63
64
// Saviana Ragefire
65
NPC_SAVIANA_RAGEFIRE
= 39747,
66
67
// Halion
68
NPC_HALION
= 39863,
69
NPC_TWILIGHT_HALION
= 40142,
70
NPC_HALION_CONTROLLER
= 40146,
71
NPC_LIVING_INFERNO
= 40681,
72
NPC_LIVING_EMBER
= 40683,
73
NPC_ORB_CARRIER
= 40081,
74
NPC_ORB_ROTATION_FOCUS
= 40091,
75
NPC_SHADOW_ORB_N
= 40083,
76
NPC_SHADOW_ORB_S
= 40100,
77
NPC_SHADOW_ORB_E
= 40468,
78
NPC_SHADOW_ORB_W
= 40469,
79
NPC_METEOR_STRIKE_MARK
= 40029,
80
NPC_METEOR_STRIKE_NORTH
= 40041,
81
NPC_METEOR_STRIKE_EAST
= 40042,
82
NPC_METEOR_STRIKE_WEST
= 40043,
83
NPC_METEOR_STRIKE_SOUTH
= 40044,
84
NPC_METEOR_STRIKE_FLAME
= 40055,
85
NPC_COMBUSTION
= 40001,
86
NPC_CONSUMPTION
= 40135,
87
NPC_COMBAT_STALKER
= 40151,
// Seen in sniffs but not used, so no wonder.
88
89
// Xerestrasza
90
NPC_XERESTRASZA
= 40429,
91
};
92
93
enum
GameObjectsIds
94
{
95
GO_HALION_PORTAL_1
= 202794,
// Unknown spell 75074, should be somehow be linked to 74807
96
GO_HALION_PORTAL_2
= 202795,
// Also spell 75074
97
GO_HALION_PORTAL_EXIT
= 202796,
// Leave Twilight Realm (74812)
98
GO_FIRE_FIELD
= 203005,
99
GO_FLAME_WALLS
= 203006,
100
GO_FLAME_RING
= 203007,
101
GO_TWILIGHT_FLAME_RING
= 203624,
102
GO_BURNING_TREE_1
= 203034,
103
GO_BURNING_TREE_2
= 203035,
104
GO_BURNING_TREE_3
= 203036,
105
GO_BURNING_TREE_4
= 203037,
106
};
107
108
enum
WorldStatesRS
109
{
110
WORLDSTATE_CORPOREALITY_MATERIAL
= 5049,
111
WORLDSTATE_CORPOREALITY_TWILIGHT
= 5050,
112
WORLDSTATE_CORPOREALITY_TOGGLE
= 5051,
113
};
114
115
enum
InstanceSpell
116
{
117
SPELL_BERSERK
= 26662,
118
};
119
120
template
<
class
AI>
121
CreatureAI
*
GetRubySanctumAI
(
Creature
* creature)
122
{
123
if
(
InstanceMap
* instance = creature->
GetMap
()->
ToInstanceMap
())
124
if
(instance->GetInstanceScript())
125
if
(instance->GetScriptId() ==
sObjectMgr
->GetScriptId(
RSScriptName
))
126
return
new
AI(creature);
127
return
NULL;
128
}
129
130
template
<
class
AI>
131
GameObjectAI
*
GetRubySanctumAI
(
GameObject
* go)
132
{
133
if
(
InstanceMap
* instance = go->
GetMap
()->
ToInstanceMap
())
134
if
(instance->GetInstanceScript())
135
if
(instance->GetScriptId() ==
sObjectMgr
->GetScriptId(
RSScriptName
))
136
return
new
AI(go);
137
138
return
NULL;
139
}
140
141
#endif
// RUBY_SANCTUM_H_
Creature.h
uint32
std::uint32_t uint32
Definition
Define.h:77
GameObjectAI.h
Map.h
sObjectMgr
#define sObjectMgr
Definition
ObjectMgr.h:1617
SpellScript.h
EncounterCount
uint32 const EncounterCount
Definition
baradin_hold.h:15
DataTypes
DataTypes
Definition
baradin_hold.h:18
CreaturesIds
CreaturesIds
Definition
blackrock_spire.h:42
GameObjectsIds
GameObjectsIds
Definition
blackrock_spire.h:75
SPELL_BERSERK
#define SPELL_BERSERK
Definition
boss_four_horsemen.cpp:62
CreatureAI
Definition
CreatureAI.h:54
Creature
Definition
Creature.h:427
GameObjectAI
Definition
GameObjectAI.h:16
GameObject
Definition
GameObject.h:629
InstanceMap
Definition
Map.h:637
Map::ToInstanceMap
InstanceMap * ToInstanceMap()
Definition
Map.h:440
WorldObject::GetMap
Map * GetMap() const
Definition
Object.h:740
NPC_HALION_CONTROLLER
@ NPC_HALION_CONTROLLER
Definition
ruby_sanctum.h:70
NPC_METEOR_STRIKE_EAST
@ NPC_METEOR_STRIKE_EAST
Definition
ruby_sanctum.h:81
NPC_SAVIANA_RAGEFIRE
@ NPC_SAVIANA_RAGEFIRE
Definition
ruby_sanctum.h:65
NPC_SHADOW_ORB_N
@ NPC_SHADOW_ORB_N
Definition
ruby_sanctum.h:75
NPC_BALTHARUS_THE_WARBORN_CLONE
@ NPC_BALTHARUS_THE_WARBORN_CLONE
Definition
ruby_sanctum.h:56
NPC_METEOR_STRIKE_NORTH
@ NPC_METEOR_STRIKE_NORTH
Definition
ruby_sanctum.h:80
NPC_ORB_CARRIER
@ NPC_ORB_CARRIER
Definition
ruby_sanctum.h:73
NPC_HALION
@ NPC_HALION
Definition
ruby_sanctum.h:68
NPC_BALTHARUS_THE_WARBORN
@ NPC_BALTHARUS_THE_WARBORN
Definition
ruby_sanctum.h:55
NPC_BALTHARUS_TARGET
@ NPC_BALTHARUS_TARGET
Definition
ruby_sanctum.h:57
NPC_ORB_ROTATION_FOCUS
@ NPC_ORB_ROTATION_FOCUS
Definition
ruby_sanctum.h:74
NPC_METEOR_STRIKE_SOUTH
@ NPC_METEOR_STRIKE_SOUTH
Definition
ruby_sanctum.h:83
NPC_METEOR_STRIKE_WEST
@ NPC_METEOR_STRIKE_WEST
Definition
ruby_sanctum.h:82
NPC_TWILIGHT_HALION
@ NPC_TWILIGHT_HALION
Definition
ruby_sanctum.h:69
NPC_LIVING_INFERNO
@ NPC_LIVING_INFERNO
Definition
ruby_sanctum.h:71
NPC_SHADOW_ORB_S
@ NPC_SHADOW_ORB_S
Definition
ruby_sanctum.h:76
NPC_SHADOW_ORB_E
@ NPC_SHADOW_ORB_E
Definition
ruby_sanctum.h:77
NPC_COMBAT_STALKER
@ NPC_COMBAT_STALKER
Definition
ruby_sanctum.h:87
NPC_CONSUMPTION
@ NPC_CONSUMPTION
Definition
ruby_sanctum.h:86
NPC_SHADOW_ORB_W
@ NPC_SHADOW_ORB_W
Definition
ruby_sanctum.h:78
NPC_ONYX_FLAMECALLER
@ NPC_ONYX_FLAMECALLER
Definition
ruby_sanctum.h:61
NPC_METEOR_STRIKE_FLAME
@ NPC_METEOR_STRIKE_FLAME
Definition
ruby_sanctum.h:84
NPC_XERESTRASZA
@ NPC_XERESTRASZA
Definition
ruby_sanctum.h:90
NPC_GENERAL_ZARITHRIAN
@ NPC_GENERAL_ZARITHRIAN
Definition
ruby_sanctum.h:60
NPC_LIVING_EMBER
@ NPC_LIVING_EMBER
Definition
ruby_sanctum.h:72
NPC_METEOR_STRIKE_MARK
@ NPC_METEOR_STRIKE_MARK
Definition
ruby_sanctum.h:79
NPC_COMBUSTION
@ NPC_COMBUSTION
Definition
ruby_sanctum.h:85
NPC_ZARITHRIAN_SPAWN_STALKER
@ NPC_ZARITHRIAN_SPAWN_STALKER
Definition
ruby_sanctum.h:62
SharedActions
SharedActions
Definition
ruby_sanctum.h:46
ACTION_INTRO_HALION
@ ACTION_INTRO_HALION
Definition
ruby_sanctum.h:49
ACTION_INTRO_BALTHARUS
@ ACTION_INTRO_BALTHARUS
Definition
ruby_sanctum.h:47
ACTION_BALTHARUS_DEATH
@ ACTION_BALTHARUS_DEATH
Definition
ruby_sanctum.h:48
WorldStatesRS
WorldStatesRS
Definition
ruby_sanctum.h:109
WORLDSTATE_CORPOREALITY_TOGGLE
@ WORLDSTATE_CORPOREALITY_TOGGLE
Definition
ruby_sanctum.h:112
WORLDSTATE_CORPOREALITY_MATERIAL
@ WORLDSTATE_CORPOREALITY_MATERIAL
Definition
ruby_sanctum.h:110
WORLDSTATE_CORPOREALITY_TWILIGHT
@ WORLDSTATE_CORPOREALITY_TWILIGHT
Definition
ruby_sanctum.h:111
GetRubySanctumAI
CreatureAI * GetRubySanctumAI(Creature *creature)
Definition
ruby_sanctum.h:121
RSScriptName
#define RSScriptName
Definition
ruby_sanctum.h:14
HalionControllerSpawnPos
Position const HalionControllerSpawnPos
Definition
ruby_sanctum.h:17
InstanceSpell
InstanceSpell
Definition
ruby_sanctum.h:116
GO_HALION_PORTAL_1
@ GO_HALION_PORTAL_1
Definition
ruby_sanctum.h:95
GO_FIRE_FIELD
@ GO_FIRE_FIELD
Definition
ruby_sanctum.h:98
GO_BURNING_TREE_2
@ GO_BURNING_TREE_2
Definition
ruby_sanctum.h:103
GO_TWILIGHT_FLAME_RING
@ GO_TWILIGHT_FLAME_RING
Definition
ruby_sanctum.h:101
GO_FLAME_RING
@ GO_FLAME_RING
Definition
ruby_sanctum.h:100
GO_HALION_PORTAL_EXIT
@ GO_HALION_PORTAL_EXIT
Definition
ruby_sanctum.h:97
GO_BURNING_TREE_1
@ GO_BURNING_TREE_1
Definition
ruby_sanctum.h:102
GO_BURNING_TREE_3
@ GO_BURNING_TREE_3
Definition
ruby_sanctum.h:104
GO_HALION_PORTAL_2
@ GO_HALION_PORTAL_2
Definition
ruby_sanctum.h:96
GO_BURNING_TREE_4
@ GO_BURNING_TREE_4
Definition
ruby_sanctum.h:105
GO_FLAME_WALLS
@ GO_FLAME_WALLS
Definition
ruby_sanctum.h:99
DATA_HALION_CONTROLLER
@ DATA_HALION_CONTROLLER
Definition
ruby_sanctum.h:34
DATA_TWILIGHT_FLAME_RING
@ DATA_TWILIGHT_FLAME_RING
Definition
ruby_sanctum.h:42
DATA_CRYSTAL_CHANNEL_TARGET
@ DATA_CRYSTAL_CHANNEL_TARGET
Definition
ruby_sanctum.h:30
DATA_BALTHARUS_SHARED_HEALTH
@ DATA_BALTHARUS_SHARED_HEALTH
Definition
ruby_sanctum.h:31
DATA_BURNING_TREE_1
@ DATA_BURNING_TREE_1
Definition
ruby_sanctum.h:37
DATA_GENERAL_ZARITHRIAN
@ DATA_GENERAL_ZARITHRIAN
Definition
ruby_sanctum.h:23
DATA_BURNING_TREE_2
@ DATA_BURNING_TREE_2
Definition
ruby_sanctum.h:38
DATA_SAVIANA_RAGEFIRE
@ DATA_SAVIANA_RAGEFIRE
Definition
ruby_sanctum.h:24
DATA_BURNING_TREE_3
@ DATA_BURNING_TREE_3
Definition
ruby_sanctum.h:39
DATA_ZARITHRIAN_SPAWN_STALKER_2
@ DATA_ZARITHRIAN_SPAWN_STALKER_2
Definition
ruby_sanctum.h:33
DATA_BURNING_TREE_4
@ DATA_BURNING_TREE_4
Definition
ruby_sanctum.h:40
DATA_ZARITHRIAN_SPAWN_STALKER_1
@ DATA_ZARITHRIAN_SPAWN_STALKER_1
Definition
ruby_sanctum.h:32
DATA_XERESTRASZA
@ DATA_XERESTRASZA
Definition
ruby_sanctum.h:29
DATA_ORB_CARRIER
@ DATA_ORB_CARRIER
Definition
ruby_sanctum.h:35
DATA_TWILIGHT_HALION
@ DATA_TWILIGHT_HALION
Definition
ruby_sanctum.h:28
DATA_FLAME_RING
@ DATA_FLAME_RING
Definition
ruby_sanctum.h:41
DATA_HALION
@ DATA_HALION
Definition
ruby_sanctum.h:25
DATA_ORB_ROTATION_FOCUS
@ DATA_ORB_ROTATION_FOCUS
Definition
ruby_sanctum.h:36
DATA_BALTHARUS_THE_WARBORN
@ DATA_BALTHARUS_THE_WARBORN
Definition
ruby_sanctum.h:22
Position
Definition
Object.h:274
src
server
scripts
Northrend
ChamberOfAspects
RubySanctum
ruby_sanctum.h
Generated on
for Project SkyFire Core by
1.17.0