Project SkyFire Core
SkyFire 5.4.8 server core API documentation
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"
16
17Position const HalionControllerSpawnPos = {3156.037f, 533.2656f, 72.97205f, 0.0f};
18
44
51
53{
54 // Baltharus the Warborn
58
59 // General Zarithrian
63
64 // Saviana Ragefire
66
67 // Halion
68 NPC_HALION = 39863,
87 NPC_COMBAT_STALKER = 40151, // Seen in sniffs but not used, so no wonder.
88
89 // Xerestrasza
91};
92
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,
106};
107
114
116{
118};
119
120template<class AI>
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
130template<class AI>
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_
std::uint32_t uint32
Definition Define.h:77
#define sObjectMgr
Definition ObjectMgr.h:1617
uint32 const EncounterCount
DataTypes
CreaturesIds
GameObjectsIds
#define SPELL_BERSERK
InstanceMap * ToInstanceMap()
Definition Map.h:440
Map * GetMap() const
Definition Object.h:740
@ NPC_HALION_CONTROLLER
@ NPC_METEOR_STRIKE_EAST
@ NPC_SAVIANA_RAGEFIRE
@ NPC_SHADOW_ORB_N
@ NPC_BALTHARUS_THE_WARBORN_CLONE
@ NPC_METEOR_STRIKE_NORTH
@ NPC_ORB_CARRIER
@ NPC_HALION
@ NPC_BALTHARUS_THE_WARBORN
@ NPC_BALTHARUS_TARGET
@ NPC_ORB_ROTATION_FOCUS
@ NPC_METEOR_STRIKE_SOUTH
@ NPC_METEOR_STRIKE_WEST
@ NPC_TWILIGHT_HALION
@ NPC_LIVING_INFERNO
@ NPC_SHADOW_ORB_S
@ NPC_SHADOW_ORB_E
@ NPC_COMBAT_STALKER
@ NPC_CONSUMPTION
@ NPC_SHADOW_ORB_W
@ NPC_ONYX_FLAMECALLER
@ NPC_METEOR_STRIKE_FLAME
@ NPC_XERESTRASZA
@ NPC_GENERAL_ZARITHRIAN
@ NPC_LIVING_EMBER
@ NPC_METEOR_STRIKE_MARK
@ NPC_COMBUSTION
@ NPC_ZARITHRIAN_SPAWN_STALKER
SharedActions
@ ACTION_INTRO_HALION
@ ACTION_INTRO_BALTHARUS
@ ACTION_BALTHARUS_DEATH
WorldStatesRS
@ WORLDSTATE_CORPOREALITY_TOGGLE
@ WORLDSTATE_CORPOREALITY_MATERIAL
@ WORLDSTATE_CORPOREALITY_TWILIGHT
CreatureAI * GetRubySanctumAI(Creature *creature)
#define RSScriptName
Position const HalionControllerSpawnPos
InstanceSpell
@ GO_HALION_PORTAL_1
@ GO_FIRE_FIELD
@ GO_BURNING_TREE_2
@ GO_TWILIGHT_FLAME_RING
@ GO_FLAME_RING
@ GO_HALION_PORTAL_EXIT
@ GO_BURNING_TREE_1
@ GO_BURNING_TREE_3
@ GO_HALION_PORTAL_2
@ GO_BURNING_TREE_4
@ GO_FLAME_WALLS
@ DATA_HALION_CONTROLLER
@ DATA_TWILIGHT_FLAME_RING
@ DATA_CRYSTAL_CHANNEL_TARGET
@ DATA_BALTHARUS_SHARED_HEALTH
@ DATA_BURNING_TREE_1
@ DATA_GENERAL_ZARITHRIAN
@ DATA_BURNING_TREE_2
@ DATA_SAVIANA_RAGEFIRE
@ DATA_BURNING_TREE_3
@ DATA_ZARITHRIAN_SPAWN_STALKER_2
@ DATA_BURNING_TREE_4
@ DATA_ZARITHRIAN_SPAWN_STALKER_1
@ DATA_XERESTRASZA
@ DATA_ORB_CARRIER
@ DATA_TWILIGHT_HALION
@ DATA_FLAME_RING
@ DATA_HALION
@ DATA_ORB_ROTATION_FOCUS
@ DATA_BALTHARUS_THE_WARBORN