TrinityCore
instance_aberrus_the_shadowed_crucible.cpp
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#include "Creature.h"
19#include "InstanceScript.h"
20#include "ScriptMgr.h"
22
24{
35 { 0, 0 } // END
36};
37
39{
42};
43
45{
47 { 0, 0 } // END
48};
49
51{
52 { DATA_KAZZARA_THE_HELLFORGED, {{ 2688 }} },
53 { DATA_THE_AMALGAMATION_CHAMBER, {{ 2687 }} },
54 { DATA_THE_FORGOTTEN_EXPERIMENTS, {{ 2693 }} },
55 { DATA_ASSAULT_OF_THE_ZAQALI, {{ 2682 }} },
56 { DATA_RASHOK_THE_ELDER, {{ 2680 }} },
58 { DATA_MAGMORAX, {{ 2683 }} },
59 { DATA_ECHO_OF_NELTHARION, {{ 2684 }} },
60 { DATA_SCALECOMMANDER_SARKARETH, {{ 2685 }} }
61};
62
64{
65 SPELL_ABERRUS_ENTRANCE_RP_CONVERSATION_3 = 403409 // Winglord Dezran, Sarkareth and Zskarn (Kazzara Summon)
66};
67
69{
70public:
72
74 {
76 {
82
85 }
86
87 uint32 GetData(uint32 dataId) const override
88 {
89 switch (dataId)
90 {
92 return _kazzaraIntroState;
93 default:
94 break;
95 }
96 return 0;
97 }
98
99 void SetData(uint32 dataId, uint32 value) override
100 {
101 switch (dataId)
102 {
104 _kazzaraIntroState = value;
105 break;
106 default:
107 break;
108 }
109 }
110
111 void OnCreatureCreate(Creature* creature) override
112 {
114
115 if (creature->HasStringId("kazzara_intro_trash"))
117 }
118
119 void OnUnitDeath(Unit* unit) override
120 {
121 Creature* creature = unit->ToCreature();
122 if (!creature)
123 return;
124
125 if (creature->HasStringId("kazzara_intro_trash"))
126 {
128 return;
129
132 return;
133
135
137 if (!sarkareth)
138 return;
139
141 }
142 }
143
144 private:
147 };
148
150 {
152 }
153};
154
156{
158}
uint8_t uint8
Definition: Define.h:144
uint32_t uint32
Definition: Define.h:142
@ IN_PROGRESS
@ NOT_STARTED
@ DATA_SCALECOMMANDER_SARKARETH
@ DATA_ZSKARN_THE_VIGILANT_STEWARD
@ DATA_THE_FORGOTTEN_EXPERIMENTS
@ DATA_KAZZARA_THE_HELLFORGED
@ DATA_ASSAULT_OF_THE_ZAQALI
@ DATA_THE_AMALGAMATION_CHAMBER
#define ATSCScriptName
@ NPC_SCALECOMMANDER_SARKARETH_AT_KAZZARA
@ BOSS_KAZZARA_THE_HELLFORGED
@ BOSS_SCALECOMMANDER_SARKARETH
@ BOSS_ZSKARN_THE_VIGILANT_STEWARD
@ BOSS_SHADOWFLAME_AMALGAMATION
#define DataHeader
uint32 const EncounterCount
bool HasStringId(std::string_view id) const
Definition: Creature.cpp:3165
void SetBossNumber(uint32 number)
virtual void OnCreatureCreate(Creature *creature) override
Creature * GetCreature(uint32 type)
void LoadDungeonEncounterData(T const &encounters)
void LoadDoorData(DoorData const *data)
void SetHeaders(std::string const &dataHeaders)
void LoadObjectData(ObjectData const *creatureData, ObjectData const *gameObjectData)
static Creature * ToCreature(Object *o)
Definition: Object.h:219
Definition: Unit.h:627
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
Definition: Object.cpp:2896
InstanceScript * GetInstanceScript(InstanceMap *map) const override
ObjectData const creatureData[]
ObjectData const objectData[]
DoorData const doorData[]
DungeonEncounterData const encounters[]
void AddSC_instance_aberrus_the_shadowed_crucible()