Skip to content

Commit 001d5d3

Browse files
authored
Scripts/HallsOfStone: Modernize scripts (TrinityCore#31109)
1 parent 7a688c1 commit 001d5d3

File tree

3 files changed

+69
-63
lines changed

3 files changed

+69
-63
lines changed

src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -19,45 +19,42 @@
1919
#include "halls_of_stone.h"
2020
#include "ScriptedCreature.h"
2121
#include "SpellInfo.h"
22+
#include "SpellMgr.h"
2223
#include "SpellScript.h"
2324

24-
enum Spells
25+
enum KrystallusTexts
2526
{
26-
SPELL_BOULDER_TOSS = 50843,
27-
SPELL_GROUND_SPIKE = 59750,
28-
SPELL_GROUND_SLAM = 50827,
29-
SPELL_SHATTER = 50810,
30-
SPELL_SHATTER_EFFECT = 50811,
31-
SPELL_STONED = 50812,
32-
SPELL_STOMP = 48131
27+
SAY_AGGRO = 0,
28+
SAY_SLAY = 1,
29+
SAY_DEATH = 2,
30+
SAY_SHATTER = 3
3331
};
3432

35-
enum Yells
33+
enum KrystallusSpells
3634
{
37-
SAY_AGGRO = 0,
38-
SAY_KILL = 1,
39-
SAY_DEATH = 2,
40-
SAY_SHATTER = 3
35+
SPELL_BOULDER_TOSS = 50843,
36+
SPELL_GROUND_SPIKE = 59750,
37+
SPELL_GROUND_SLAM = 50827,
38+
SPELL_SHATTER = 50810,
39+
SPELL_SHATTER_EFFECT = 50811,
40+
SPELL_STONED = 50812,
41+
SPELL_STOMP = 48131
4142
};
4243

43-
enum Events
44+
enum KrystallusEvents
4445
{
45-
EVENT_BOULDER_TOSS = 1,
46+
EVENT_BOULDER_TOSS = 1,
4647
EVENT_GROUND_SPIKE,
4748
EVENT_GROUND_SLAM,
4849
EVENT_STOMP,
4950
EVENT_SHATTER
5051
};
5152

53+
// 27977 - Krystallus
5254
struct boss_krystallus : public BossAI
5355
{
5456
boss_krystallus(Creature* creature) : BossAI(creature, DATA_KRYSTALLUS) { }
5557

56-
void Reset() override
57-
{
58-
_Reset();
59-
}
60-
6158
void JustEngagedWith(Unit* who) override
6259
{
6360
Talk(SAY_AGGRO);
@@ -70,9 +67,26 @@ struct boss_krystallus : public BossAI
7067
events.ScheduleEvent(EVENT_GROUND_SPIKE, 9s, 14s);
7168
}
7269

70+
void OnSpellCast(SpellInfo const* spell) override
71+
{
72+
if (spell->Id == sSpellMgr->GetSpellIdForDifficulty(SPELL_SHATTER, me))
73+
Talk(SAY_SHATTER);
74+
}
75+
76+
void KilledUnit(Unit* victim) override
77+
{
78+
if (victim->GetTypeId() == TYPEID_PLAYER)
79+
Talk(SAY_SLAY);
80+
}
81+
82+
void JustDied(Unit* /*killer*/) override
83+
{
84+
Talk(SAY_DEATH);
85+
_JustDied();
86+
}
87+
7388
void UpdateAI(uint32 diff) override
7489
{
75-
// Return since we have no target
7690
if (!UpdateVictim())
7791
return;
7892

@@ -88,24 +102,24 @@ struct boss_krystallus : public BossAI
88102
case EVENT_BOULDER_TOSS:
89103
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true))
90104
DoCast(target, SPELL_BOULDER_TOSS);
91-
events.ScheduleEvent(EVENT_BOULDER_TOSS, 9s, 15s);
105+
events.Repeat(9s, 15s);
92106
break;
93107
case EVENT_GROUND_SPIKE:
94108
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
95109
DoCast(target, SPELL_GROUND_SPIKE);
96-
events.ScheduleEvent(EVENT_GROUND_SPIKE, 12s, 17s);
110+
events.Repeat(12s, 17s);
97111
break;
98112
case EVENT_GROUND_SLAM:
99-
DoCast(me, SPELL_GROUND_SLAM);
113+
DoCastSelf(SPELL_GROUND_SLAM);
100114
events.ScheduleEvent(EVENT_SHATTER, 10s);
101-
events.ScheduleEvent(EVENT_GROUND_SLAM, 15s, 18s);
115+
events.Repeat(15s, 18s);
102116
break;
103117
case EVENT_STOMP:
104-
DoCast(me, SPELL_STOMP);
105-
events.ScheduleEvent(EVENT_STOMP, 20s, 29s);
118+
DoCastSelf(SPELL_STOMP);
119+
events.Repeat(20s, 29s);
106120
break;
107121
case EVENT_SHATTER:
108-
DoCast(me, SPELL_SHATTER);
122+
DoCastSelf(SPELL_SHATTER);
109123
break;
110124
default:
111125
break;
@@ -117,18 +131,6 @@ struct boss_krystallus : public BossAI
117131

118132
DoMeleeAttackIfReady();
119133
}
120-
121-
void JustDied(Unit* /*killer*/) override
122-
{
123-
Talk(SAY_DEATH);
124-
_JustDied();
125-
}
126-
127-
void KilledUnit(Unit* victim) override
128-
{
129-
if (victim->GetTypeId() == TYPEID_PLAYER)
130-
Talk(SAY_KILL);
131-
}
132134
};
133135

134136
// 50810, 61546 - Shatter

src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,35 +22,36 @@
2222
#include "SpellInfo.h"
2323
#include "SpellMgr.h"
2424

25-
enum Texts
25+
enum MaidenOfGriefTexts
2626
{
2727
SAY_AGGRO = 0,
2828
SAY_SLAY = 1,
2929
SAY_DEATH = 2,
3030
SAY_STUN = 3
3131
};
3232

33-
enum Spells
33+
enum MaidenOfGriefSpells
3434
{
3535
SPELL_PARTING_SORROW = 59723,
3636
SPELL_STORM_OF_GRIEF = 50752,
3737
SPELL_SHOCK_OF_SORROW = 50760,
3838
SPELL_PILLAR_OF_WOE = 50761
3939
};
4040

41-
enum Events
41+
enum MaidenOfGriefEvents
4242
{
4343
EVENT_PARTING_SORROW = 1,
4444
EVENT_STORM_OF_GRIEF,
4545
EVENT_SHOCK_OF_SORROW,
4646
EVENT_PILLAR_OF_WOE
4747
};
4848

49-
enum Achievements
49+
enum MaidenOfGriefAchievements
5050
{
5151
ACHIEV_GOOD_GRIEF_START_EVENT = 20383,
5252
};
5353

54+
// 27975 - Maiden of Grief
5455
struct boss_maiden_of_grief : public BossAI
5556
{
5657
boss_maiden_of_grief(Creature* creature) : BossAI(creature, DATA_MAIDEN_OF_GRIEF) { }
@@ -76,17 +77,17 @@ struct boss_maiden_of_grief : public BossAI
7677
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_GOOD_GRIEF_START_EVENT);
7778
}
7879

79-
void KilledUnit(Unit* /*who*/) override
80-
{
81-
Talk(SAY_SLAY);
82-
}
83-
8480
void OnSpellCast(SpellInfo const* spell) override
8581
{
8682
if (spell->Id == sSpellMgr->GetSpellIdForDifficulty(SPELL_SHOCK_OF_SORROW, me))
8783
Talk(SAY_STUN);
8884
}
8985

86+
void KilledUnit(Unit* /*who*/) override
87+
{
88+
Talk(SAY_SLAY);
89+
}
90+
9091
void JustDied(Unit* /*killer*/) override
9192
{
9293
_JustDied();

src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@
2525
#include "SpellMgr.h"
2626
#include "SpellScript.h"
2727

28-
enum Texts
28+
enum SjonnirTexts
2929
{
3030
SAY_AGGRO = 0,
3131
SAY_SLAY = 1,
3232
SAY_DEATH = 2,
3333
EMOTE_FRENZY = 3
3434
};
3535

36-
enum Spells
36+
enum SjonnirSpells
3737
{
3838
SPELL_LIGHTNING_RING_1 = 50840,
3939
SPELL_LIGHTNING_RING_2 = 51849,
@@ -65,14 +65,24 @@ enum Spells
6565
SPELL_TOXIC_VOLLEY = 50838
6666
};
6767

68-
enum Creatures
68+
enum SjonnirEvents
69+
{
70+
EVENT_CHAIN_LIGHTNING = 1,
71+
EVENT_LIGHTNING_SHIELD,
72+
EVENT_STATIC_CHARGE,
73+
EVENT_LIGHTNING_RING_1,
74+
EVENT_LIGHTNING_RING_2,
75+
EVENT_FRENZY
76+
};
77+
78+
enum SjonnirCreatures
6979
{
7080
NPC_FORGED_IRON_TROGG = 27979,
7181
NPC_FORGED_IRON_DWARF = 27982,
7282
NPC_EARTHEN_DWARF = 27980
7383
};
7484

75-
enum Misc
85+
enum SjonnirMisc
7686
{
7787
POINT_CENTER = 0,
7888
POINT_COMBINE = 1,
@@ -81,18 +91,9 @@ enum Misc
8191
DATA_ABUSE_THE_OOZE = 2
8292
};
8393

84-
enum Events
85-
{
86-
EVENT_CHAIN_LIGHTNING = 1,
87-
EVENT_LIGHTNING_SHIELD,
88-
EVENT_STATIC_CHARGE,
89-
EVENT_LIGHTNING_RING_1,
90-
EVENT_LIGHTNING_RING_2,
91-
EVENT_FRENZY
92-
};
93-
9494
Position const CenterPoint = { 1293.8799f, 666.942f, 189.60754f, 0.0f };
9595

96+
// 27978 - Sjonnir The Ironshaper
9697
struct boss_sjonnir : public BossAI
9798
{
9899
boss_sjonnir(Creature* creature) : BossAI(creature, DATA_SJONNIR_THE_IRONSHAPER),
@@ -259,6 +260,7 @@ struct boss_sjonnir : public BossAI
259260
bool _frenzied;
260261
};
261262

263+
// 27981 - Malformed Ooze
262264
struct npc_malformed_ooze : public ScriptedAI
263265
{
264266
npc_malformed_ooze(Creature* creature) : ScriptedAI(creature) { }
@@ -350,6 +352,7 @@ struct npc_malformed_ooze : public ScriptedAI
350352
ObjectGuid _combineTarget;
351353
};
352354

355+
// 28165 - Iron Sludge
353356
struct npc_iron_sludge : public ScriptedAI
354357
{
355358
npc_iron_sludge(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }

0 commit comments

Comments
 (0)