Skip to content

Commit 4286642

Browse files
committed
[2461] Implement doors for General Drakkisath - Blackrock Spire
Also add some texts and spells for a future improvement of the stadium event
1 parent 2784781 commit 4286642

File tree

6 files changed

+85
-16
lines changed

6 files changed

+85
-16
lines changed

scripts/eastern_kingdoms/blackrock_spire/blackrock_spire.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ enum
1313
TYPE_ROOM_EVENT = 1,
1414
TYPE_EMBERSEER = 2,
1515
TYPE_FLAMEWREATH = 3, // Only summon once per instance
16-
TYPE_GYTH = 4,
16+
TYPE_STADIUM = 4,
1717
TYPE_VALTHALAK = 5, // Only summon once per instance
1818

1919
NPC_SCARSHIELD_INFILTRATOR = 10299,
@@ -22,7 +22,13 @@ enum
2222
NPC_PYROGUARD_EMBERSEER = 9816,
2323
NPC_BLACKHAND_INCANCERATOR = 10316,
2424
NPC_LORD_VICTOR_NEFARIUS = 10162,
25+
NPC_REND_BLACKHAND = 10429,
2526
NPC_GYTH = 10339,
27+
NPC_DRAKKISATH = 10363,
28+
NPC_FIRE_TONGUE = 10372, // related to Gyth arena event
29+
NPC_CHROMATIC_WHELP = 10442,
30+
NPC_CHROMATIC_DRAGON = 10447,
31+
NPC_BLACKHAND_ELITE = 10317,
2632

2733
// Doors
2834
GO_EMBERSEER_IN = 175244,
@@ -31,6 +37,8 @@ enum
3137
GO_GYTH_ENTRY_DOOR = 164726,
3238
GO_GYTH_COMBAT_DOOR = 175185, // control in boss_script, because will auto-close after each wave
3339
GO_GYTH_EXIT_DOOR = 175186,
40+
GO_DRAKKISATH_DOOR_1 = 175946,
41+
GO_DRAKKISATH_DOOR_2 = 175947,
3442

3543
GO_ROOM_7_RUNE = 175194,
3644
GO_ROOM_3_RUNE = 175195,
@@ -53,6 +61,7 @@ class MANGOS_DLL_DECL instance_blackrock_spire : public ScriptedInstance
5361

5462
void OnObjectCreate(GameObject* pGo);
5563
void OnCreatureCreate(Creature* pCreature);
64+
void OnCreatureDeath(Creature* pCreature);
5665

5766
void SetData(uint32 uiType, uint32 uiData);
5867
void SetData64(uint32 uiType, uint64 uiData);

scripts/eastern_kingdoms/blackrock_spire/boss_gyth.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ EndScriptData */
2626

2727
enum
2828
{
29+
SPELL_REND_MOUNTS = 16167,
30+
SPELL_SUMMON_REND = 16328,
2931
SPELL_CORROSIVEACID = 20667,
3032
SPELL_FREEZE = 16350, // ID was wrong!
3133
SPELL_FLAMEBREATH = 20712,
@@ -34,12 +36,6 @@ enum
3436
MODEL_ID_INVISIBLE = 11686,
3537
MODEL_ID_GYTH_MOUNTED = 9723,
3638
MODEL_ID_GYTH = 9806,
37-
38-
NPC_FIRE_TONGUE = 10372,
39-
NPC_CHROMATIC_WHELP = 10442,
40-
NPC_CHROMATIC_DRAGON = 10447,
41-
NPC_BLACKHAND_ELITE = 10317,
42-
NPC_REND_BLACKHAND = 10429
4339
};
4440

4541
struct MANGOS_DLL_DECL boss_gythAI : public ScriptedAI
@@ -89,19 +85,19 @@ struct MANGOS_DLL_DECL boss_gythAI : public ScriptedAI
8985
void Aggro(Unit* pWho)
9086
{
9187
if (m_pInstance)
92-
m_pInstance->SetData(TYPE_GYTH, IN_PROGRESS);
88+
m_pInstance->SetData(TYPE_STADIUM, IN_PROGRESS);
9389
}
9490

9591
void JustDied(Unit* pKiller)
9692
{
9793
if (m_pInstance)
98-
m_pInstance->SetData(TYPE_GYTH, DONE);
94+
m_pInstance->SetData(TYPE_STADIUM, DONE);
9995
}
10096

10197
void JustReachedHome()
10298
{
10399
if (m_pInstance)
104-
m_pInstance->SetData(TYPE_GYTH, FAIL);
100+
m_pInstance->SetData(TYPE_STADIUM, FAIL);
105101
}
106102

107103
void SummonCreatureWithRandomTarget(uint32 uiCreatureId)

scripts/eastern_kingdoms/blackrock_spire/instance_blackrock_spire.cpp

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,24 @@ EndScriptData */
2727
enum
2828
{
2929
AREATRIGGER_ENTER_UBRS = 2046,
30-
AREATRIGGER_STADIUM = 2026
30+
AREATRIGGER_STADIUM = 2026,
31+
32+
// Arena event dialogue - handled by instance
33+
SAY_NEFARIUS_INTRO_1 = -1229004,
34+
SAY_NEFARIUS_INTRO_2 = -1229005,
35+
SAY_NEFARIUS_ATTACK_1 = -1229006,
36+
SAY_REND_JOIN = -1229007,
37+
SAY_NEFARIUS_ATTACK_2 = -1229008,
38+
SAY_NEFARIUS_ATTACK_3 = -1229009,
39+
SAY_NEFARIUS_ATTACK_4 = -1229010,
40+
SAY_REND_LOSE_1 = -1229011,
41+
SAY_REND_LOSE_2 = -1229012,
42+
SAY_NEFARIUS_LOSE_3 = -1229013,
43+
SAY_NEFARIUS_LOSE_4 = -1229014,
44+
SAY_REND_ATTACK = -1229015,
45+
SAY_NEFARIUS_WARCHIEF = -1229016,
46+
SAY_NEFARIUS_BUFF_GYTH = -1229017,
47+
SAY_NEFARIUS_VICTORY = -1229018,
3148
};
3249

3350
/* Areatrigger
@@ -71,9 +88,11 @@ void instance_blackrock_spire::OnObjectCreate(GameObject* pGo)
7188
break;
7289
case GO_GYTH_ENTRY_DOOR:
7390
case GO_GYTH_COMBAT_DOOR:
91+
case GO_DRAKKISATH_DOOR_1:
92+
case GO_DRAKKISATH_DOOR_2:
7493
break;
7594
case GO_GYTH_EXIT_DOOR:
76-
if (GetData(TYPE_GYTH) == DONE)
95+
if (GetData(TYPE_STADIUM) == DONE)
7796
pGo->SetGoState(GO_STATE_ACTIVE);
7897
break;
7998

@@ -132,7 +151,7 @@ void instance_blackrock_spire::SetData(uint32 uiType, uint32 uiData)
132151
case TYPE_FLAMEWREATH:
133152
m_auiEncounter[2] = uiData;
134153
break;
135-
case TYPE_GYTH:
154+
case TYPE_STADIUM:
136155
if (uiData == IN_PROGRESS || uiData == FAIL)
137156
DoUseDoorOrButton(GO_GYTH_ENTRY_DOOR);
138157
else if (uiData == DONE)
@@ -214,7 +233,7 @@ uint32 instance_blackrock_spire::GetData(uint32 uiType)
214233
case TYPE_ROOM_EVENT: return m_auiEncounter[0];
215234
case TYPE_EMBERSEER: return m_auiEncounter[1];
216235
case TYPE_FLAMEWREATH: return m_auiEncounter[2];
217-
case TYPE_GYTH: return m_auiEncounter[3];
236+
case TYPE_STADIUM: return m_auiEncounter[3];
218237
case TYPE_VALTHALAK: return m_auiEncounter[4];
219238
}
220239
return 0;
@@ -241,6 +260,18 @@ void instance_blackrock_spire::DoSortRoomEventMobs()
241260
SetData(TYPE_ROOM_EVENT, IN_PROGRESS);
242261
}
243262

263+
void instance_blackrock_spire::OnCreatureDeath(Creature* pCreature)
264+
{
265+
switch (pCreature->GetEntry())
266+
{
267+
case NPC_DRAKKISATH:
268+
// Just open the doors, don't save anything because it's the last boss
269+
DoUseDoorOrButton(GO_DRAKKISATH_DOOR_1);
270+
DoUseDoorOrButton(GO_DRAKKISATH_DOOR_2);
271+
break;
272+
}
273+
}
274+
244275
InstanceData* GetInstanceData_instance_blackrock_spire(Map* pMap)
245276
{
246277
return new instance_blackrock_spire(pMap);

sd2_revision_nr.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#ifndef __SD2_REVISION_NR_H__
22
#define __SD2_REVISION_NR_H__
3-
#define SD2_REVISION_NR "2460"
3+
#define SD2_REVISION_NR "2461"
44
#endif // __SD2_REVISION_NR_H__

sql/scriptdev2_script_full.sql

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1061,7 +1061,23 @@ INSERT INTO script_texts (entry,content_default,sound,type,language,emote,commen
10611061
(-1229000,'%s begins to regain its strength!',0,2,0,0,'pyroguard EMOTE_BEGIN'),
10621062
(-1229001,'%s is nearly at full strength!',0,2,0,0,'pyroguard EMOTE_NEAR'),
10631063
(-1229002,'%s regains its power and breaks free of its bonds!',0,2,0,0,'pyroguard EMOTE_FULL'),
1064-
(-1229003,'Ha! Ha! Ha! Thank you for freeing me, fools. Now let me repay you by charring the flesh from your bones.',0,1,0,0,'pyroguard SAY_FREE');
1064+
(-1229003,'Ha! Ha! Ha! Thank you for freeing me, fools. Now let me repay you by charring the flesh from your bones.',0,1,0,0,'pyroguard SAY_FREE'),
1065+
1066+
(-1229004,'Excellent... it would appear as if the meddlesome insects have arrived just in time to feed my legion. Welcome, mortals!',0,1,0,0,'nefarius SAY_INTRO_1'),
1067+
(-1229005,'Let not even a drop of their blood remain upon the arena floor, my children. Feast on their souls!',0,1,0,0,'nefarius SAY_INTRO_2'),
1068+
(-1229006,'Foolsss...Kill the one in the dress!',0,1,0,0,'nefarius SAY_ATTACK_1'),
1069+
(-1229007,'Sire, let me join the fray! I shall tear their spines out with my bare hands!',0,1,0,0,'rend SAY_REND_JOIN'),
1070+
(-1229008,'Concentrate your attacks upon the healer!',0,1,0,0,'nefarius SAY_ATTACK_2'),
1071+
(-1229009,'Inconceivable!',0,1,0,0,'nefarius SAY_ATTACK_3'),
1072+
(-1229010,'Do not force my hand, children! I shall use your hides to line my boots.',0,1,0,0,'nefarius SAY_ATTACK_4'),
1073+
(-1229011,'Defilers!',0,1,0,0,'rend SAY_LOSE_1'),
1074+
(-1229012,'Impossible!',0,1,0,0,'rend SAY_LOSE_2'),
1075+
(-1229013,'Your efforts will prove fruitless. None shall stand in our way!',0,1,0,0,'nefarius SAY_LOSE_3'),
1076+
(-1229014,'THIS CANNOT BE!!! Rend, deal with these insects.',0,1,0,0,'nefarius SAY_LOSE_4'),
1077+
(-1229015,'With pleasure...',0,1,0,0,'rend SAY_REND_ATTACK'),
1078+
(-1229016,'The Warchief shall make quick work of you, mortals. Prepare yourselves!',0,1,0,0,'nefarius SAY_WARCHIEF'),
1079+
(-1229017,'Taste in my power!',0,1,0,0,'nefarius SAY_BUFF_GYTH'),
1080+
(-1229018,'Your victory shall be short lived. The days of both the Alliance and Horde are coming to an end. The next time we meet shall be the last.',0,1,0,0,'nefarius SAY_VICTORY');
10651081

10661082
-- -1 230 000 BLACKROCK DEPTHS
10671083
INSERT INTO script_texts (entry,content_default,sound,type,language,emote,comment) VALUES

sql/updates/r2461_scriptdev2.sql

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
DELETE FROM script_texts WHERE entry BETWEEN -1229018 AND -1229004;
2+
INSERT INTO script_texts (entry,content_default,sound,type,language,emote,comment) VALUES
3+
(-1229004,'Excellent... it would appear as if the meddlesome insects have arrived just in time to feed my legion. Welcome, mortals!',0,1,0,0,'nefarius SAY_INTRO_1'),
4+
(-1229005,'Let not even a drop of their blood remain upon the arena floor, my children. Feast on their souls!',0,1,0,0,'nefarius SAY_INTRO_2'),
5+
(-1229006,'Foolsss...Kill the one in the dress!',0,1,0,0,'nefarius SAY_ATTACK_1'),
6+
(-1229007,'Sire, let me join the fray! I shall tear their spines out with my bare hands!',0,1,0,0,'rend SAY_REND_JOIN'),
7+
(-1229008,'Concentrate your attacks upon the healer!',0,1,0,0,'nefarius SAY_ATTACK_2'),
8+
(-1229009,'Inconceivable!',0,1,0,0,'nefarius SAY_ATTACK_3'),
9+
(-1229010,'Do not force my hand, children! I shall use your hides to line my boots.',0,1,0,0,'nefarius SAY_ATTACK_4'),
10+
(-1229011,'Defilers!',0,1,0,0,'rend SAY_LOSE_1'),
11+
(-1229012,'Impossible!',0,1,0,0,'rend SAY_LOSE_2'),
12+
(-1229013,'Your efforts will prove fruitless. None shall stand in our way!',0,1,0,0,'nefarius SAY_LOSE_3'),
13+
(-1229014,'THIS CANNOT BE!!! Rend, deal with these insects.',0,1,0,0,'nefarius SAY_LOSE_4'),
14+
(-1229015,'With pleasure...',0,1,0,0,'rend SAY_REND_ATTACK'),
15+
(-1229016,'The Warchief shall make quick work of you, mortals. Prepare yourselves!',0,1,0,0,'nefarius SAY_WARCHIEF'),
16+
(-1229017,'Taste in my power!',0,1,0,0,'nefarius SAY_BUFF_GYTH'),
17+
(-1229018,'Your victory shall be short lived. The days of both the Alliance and Horde are coming to an end. The next time we meet shall be the last.',0,1,0,0,'nefarius SAY_VICTORY');

0 commit comments

Comments
 (0)