Skip to content

Commit 8011ef7

Browse files
committed
Scripts/Stratholme: Added missing dungeon encounter ids
(cherry picked from commit 4370f2fe2933d54be4ed4dd815d62ff34a701ed2)
1 parent 2ce4c86 commit 8011ef7

12 files changed

+276
-308
lines changed

src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
*/
1717

1818
#include "ScriptMgr.h"
19-
#include "InstanceScript.h"
2019
#include "ScriptedCreature.h"
2120
#include "SpellInfo.h"
2221
#include "stratholme.h"
@@ -62,23 +61,10 @@ uint32 const RaiseDeadSpells[6] =
6261
struct boss_baron_rivendare : public BossAI
6362
{
6463
public:
65-
boss_baron_rivendare(Creature* creature) : BossAI(creature, TYPE_BARON), RaiseDead(false) { }
66-
67-
void Reset() override
68-
{
69-
// needed until re-write of instance scripts is done
70-
if (instance->GetData(TYPE_RAMSTEIN) == DONE)
71-
instance->SetData(TYPE_BARON, NOT_STARTED);
72-
73-
BossAI::Reset();
74-
}
64+
boss_baron_rivendare(Creature* creature) : BossAI(creature, BOSS_RIVENDARE), RaiseDead(false) { }
7565

7666
void JustEngagedWith(Unit* who) override
7767
{
78-
// needed until re-write of instance scripts is done
79-
if (instance->GetData(TYPE_BARON) == NOT_STARTED)
80-
instance->SetData(TYPE_BARON, IN_PROGRESS);
81-
8268
events.ScheduleEvent(EVENT_SHADOWBOLT, 5s);
8369
events.ScheduleEvent(EVENT_CLEAVE, 8s);
8470
events.ScheduleEvent(EVENT_MORTALSTRIKE, 12s);
@@ -87,14 +73,6 @@ struct boss_baron_rivendare : public BossAI
8773
BossAI::JustEngagedWith(who);
8874
}
8975

90-
void JustDied(Unit* killer) override
91-
{
92-
// needed until re-write of instance scripts is done
93-
instance->SetData(TYPE_BARON, DONE);
94-
95-
BossAI::JustDied(killer);
96-
}
97-
9876
void UpdateAI(uint32 diff) override
9977
{
10078
if (!UpdateVictim())

src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,14 @@ enum BaronessAnastariEvents
4343

4444
struct boss_baroness_anastari : public BossAI
4545
{
46-
boss_baroness_anastari(Creature* creature) : BossAI(creature, TYPE_BARONESS) { }
46+
boss_baroness_anastari(Creature* creature) : BossAI(creature, BOSS_BARONESS_ANASTARI) { }
4747

4848
ObjectGuid _possessedTargetGuid;
4949

5050
void Reset() override
5151
{
52+
_Reset();
53+
5254
_possessedTargetGuid.Clear();
5355

5456
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_POSSESS);
@@ -66,13 +68,6 @@ struct boss_baroness_anastari : public BossAI
6668
events.ScheduleEvent(EVENT_SPELL_POSSESS, 20s, 30s);
6769
}
6870

69-
void JustDied(Unit* /*killer*/) override
70-
{
71-
// needed until crystals implemented,
72-
// see line 305 instance_stratholme.cpp
73-
instance->SetData(TYPE_BARONESS, IN_PROGRESS);
74-
}
75-
7671
void UpdateAI(uint32 diff) override
7772
{
7873
if (!UpdateVictim())

src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,18 @@ enum WilleyEvents
4141
};
4242

4343
// 10997 - Cannon Master Willey
44-
struct boss_cannon_master_willey : public ScriptedAI
44+
struct boss_cannon_master_willey : public BossAI
4545
{
46-
boss_cannon_master_willey(Creature* creature) : ScriptedAI(creature) { }
46+
boss_cannon_master_willey(Creature* creature) : BossAI(creature, BOSS_CANNON_MASTER_WILLEY) { }
4747

48-
void Reset() override
48+
void JustEngagedWith(Unit* who) override
4949
{
50-
_events.Reset();
51-
}
50+
BossAI::JustEngagedWith(who);
5251

53-
void JustEngagedWith(Unit* /*who*/) override
54-
{
55-
_events.ScheduleEvent(EVENT_SHOOT, 0s);
56-
_events.ScheduleEvent(EVENT_KNOCK_AWAY, 10s, 20s);
57-
_events.ScheduleEvent(EVENT_PUMMEL, 10s, 15s);
58-
_events.ScheduleEvent(EVENT_SUMMON_RIFLEMAN, 5s, 10s);
52+
events.ScheduleEvent(EVENT_SHOOT, 0s);
53+
events.ScheduleEvent(EVENT_KNOCK_AWAY, 10s, 20s);
54+
events.ScheduleEvent(EVENT_PUMMEL, 10s, 15s);
55+
events.ScheduleEvent(EVENT_SUMMON_RIFLEMAN, 5s, 10s);
5956
}
6057

6158
void AttackStart(Unit* who) override
@@ -68,30 +65,30 @@ struct boss_cannon_master_willey : public ScriptedAI
6865
if (!UpdateVictim())
6966
return;
7067

71-
_events.Update(diff);
68+
events.Update(diff);
7269

7370
if (me->HasUnitState(UNIT_STATE_CASTING))
7471
return;
7572

76-
while (uint32 eventId = _events.ExecuteEvent())
73+
while (uint32 eventId = events.ExecuteEvent())
7774
{
7875
switch (eventId)
7976
{
8077
case EVENT_SHOOT:
8178
DoCastVictim(SPELL_SHOOT);
82-
_events.Repeat(2s, 4s);
79+
events.Repeat(2s, 4s);
8380
break;
8481
case EVENT_KNOCK_AWAY:
8582
DoCastVictim(SPELL_KNOCK_AWAY);
86-
_events.Repeat(15s, 25s);
83+
events.Repeat(15s, 25s);
8784
break;
8885
case EVENT_PUMMEL:
8986
DoCastVictim(SPELL_PUMMEL);
90-
_events.Repeat(10s, 15s);
87+
events.Repeat(10s, 15s);
9188
break;
9289
case EVENT_SUMMON_RIFLEMAN:
9390
DoCastSelf(SPELL_SUMMON_RIFLEMAN);
94-
_events.Repeat(15s, 25s);
91+
events.Repeat(15s, 25s);
9592
break;
9693
default:
9794
break;
@@ -103,9 +100,6 @@ struct boss_cannon_master_willey : public ScriptedAI
103100

104101
DoMeleeAttackIfReady();
105102
}
106-
107-
private:
108-
EventMap _events;
109103
};
110104

111105
void AddSC_boss_cannon_master_willey()

src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,14 @@ enum DathrohanMisc
7474
};
7575

7676
// 10812 - Grand Crusader Dathrohan
77-
struct boss_dathrohan_balnazzar : public ScriptedAI
77+
struct boss_dathrohan_balnazzar : public BossAI
7878
{
79-
boss_dathrohan_balnazzar(Creature* creature) : ScriptedAI(creature), _transformed(false) { }
79+
boss_dathrohan_balnazzar(Creature* creature) : BossAI(creature, BOSS_BALNAZZAR), _transformed(false) { }
8080

8181
void Reset() override
8282
{
83-
_events.Reset();
83+
BossAI::Reset();
84+
8485
_transformed = false;
8586

8687
if (me->GetEntry() == NPC_BALNAZZAR)
@@ -89,27 +90,31 @@ struct boss_dathrohan_balnazzar : public ScriptedAI
8990
SetEquipmentSlots(true);
9091
}
9192

92-
void JustEngagedWith(Unit* /*who*/) override
93+
void JustEngagedWith(Unit* who) override
9394
{
95+
BossAI::JustEngagedWith(who);
96+
9497
Talk(SAY_AGGRO);
9598

96-
_events.ScheduleEvent(EVENT_CRUSADERS_HAMMER, 15s, 25s);
97-
_events.ScheduleEvent(EVENT_CRUSADER_STRIKE, 5s, 10s);
98-
_events.ScheduleEvent(EVENT_HOLY_STRIKE, 10s, 20s);
99-
_events.ScheduleEvent(EVENT_MIND_BLAST, 5s, 15s);
99+
events.ScheduleEvent(EVENT_CRUSADERS_HAMMER, 15s, 25s);
100+
events.ScheduleEvent(EVENT_CRUSADER_STRIKE, 5s, 10s);
101+
events.ScheduleEvent(EVENT_HOLY_STRIKE, 10s, 20s);
102+
events.ScheduleEvent(EVENT_MIND_BLAST, 5s, 15s);
100103
}
101104

102105
void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
103106
{
104107
if (!_transformed && me->HealthBelowPctDamaged(40, damage))
105108
{
106109
_transformed = true;
107-
_events.ScheduleEvent(EVENT_TRANSFORM_1, 0s);
110+
events.ScheduleEvent(EVENT_TRANSFORM_1, 0s);
108111
}
109112
}
110113

111-
void JustDied(Unit* /*killer*/) override
114+
void JustDied(Unit* killer) override
112115
{
116+
BossAI::JustDied(killer);
117+
113118
Talk(SAY_DEATH);
114119
me->SummonCreatureGroup(SUMMON_GROUP_DEATH);
115120
}
@@ -119,78 +124,78 @@ struct boss_dathrohan_balnazzar : public ScriptedAI
119124
if (!UpdateVictim())
120125
return;
121126

122-
_events.Update(diff);
127+
events.Update(diff);
123128

124129
if (me->HasUnitState(UNIT_STATE_CASTING))
125130
return;
126131

127-
while (uint32 eventId = _events.ExecuteEvent())
132+
while (uint32 eventId = events.ExecuteEvent())
128133
{
129134
switch (eventId)
130135
{
131136
case EVENT_CRUSADERS_HAMMER:
132137
DoCastSelf(SPELL_CRUSADERS_HAMMER);
133-
_events.Repeat(20s, 30s);
138+
events.Repeat(20s, 30s);
134139
break;
135140
case EVENT_CRUSADER_STRIKE:
136141
DoCastVictim(SPELL_CRUSADER_STRIKE);
137-
_events.Repeat(10s, 20s);
142+
events.Repeat(10s, 20s);
138143
break;
139144
case EVENT_HOLY_STRIKE:
140145
DoCastVictim(SPELL_HOLY_STRIKE);
141-
_events.Repeat(10s, 15s);
146+
events.Repeat(10s, 15s);
142147
break;
143148

144149
case EVENT_MIND_BLAST:
145150
DoCastVictim(SPELL_MIND_BLAST);
146-
_events.Repeat(10s, 15s);
151+
events.Repeat(10s, 15s);
147152
break;
148153

149154
case EVENT_SHADOW_SHOCK:
150155
DoCastSelf(SPELL_SHADOW_SHOCK);
151-
_events.Repeat(10s, 15s);
156+
events.Repeat(10s, 15s);
152157
break;
153158
case EVENT_PSYCHIC_SCREAM:
154159
DoCastSelf(SPELL_PSYCHIC_SCREAM);
155-
_events.Repeat(20s, 30s);
160+
events.Repeat(20s, 30s);
156161
break;
157162
case EVENT_SLEEP:
158163
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
159164
DoCast(target, SPELL_SLEEP);
160-
_events.Repeat(15s, 20s);
165+
events.Repeat(15s, 20s);
161166
break;
162167
case EVENT_DOMINATION:
163168
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
164169
DoCast(target, SPELL_DOMINATION);
165-
_events.Repeat(20s, 25s);
170+
events.Repeat(20s, 25s);
166171
break;
167172

168173
case EVENT_TRANSFORM_1:
169-
_events.CancelEvent(EVENT_CRUSADERS_HAMMER);
170-
_events.CancelEvent(EVENT_CRUSADER_STRIKE);
171-
_events.CancelEvent(EVENT_HOLY_STRIKE);
172-
_events.CancelEvent(EVENT_MIND_BLAST);
174+
events.CancelEvent(EVENT_CRUSADERS_HAMMER);
175+
events.CancelEvent(EVENT_CRUSADER_STRIKE);
176+
events.CancelEvent(EVENT_HOLY_STRIKE);
177+
events.CancelEvent(EVENT_MIND_BLAST);
173178
DoCastSelf(SPELL_BALNAZZAR_TRANSFORM);
174179
me->SetReactState(REACT_PASSIVE);
175-
_events.ScheduleEvent(EVENT_TRANSFORM_2, 2s);
180+
events.ScheduleEvent(EVENT_TRANSFORM_2, 2s);
176181
break;
177182
case EVENT_TRANSFORM_2:
178183
me->UpdateEntry(NPC_BALNAZZAR);
179184
me->SetReactState(REACT_PASSIVE);
180185
SetEquipmentSlots(false, EQUIP_UNEQUIP);
181-
_events.ScheduleEvent(EVENT_TRANSFORM_3, 2s);
186+
events.ScheduleEvent(EVENT_TRANSFORM_3, 2s);
182187
break;
183188
case EVENT_TRANSFORM_3:
184189
Talk(SAY_TRANSFORM);
185-
_events.ScheduleEvent(EVENT_TRANSFORM_4, 4s);
190+
events.ScheduleEvent(EVENT_TRANSFORM_4, 4s);
186191
break;
187192
case EVENT_TRANSFORM_4:
188193
me->SetReactState(REACT_AGGRESSIVE);
189-
_events.ScheduleEvent(EVENT_MIND_BLAST, 5s, 15s);
190-
_events.ScheduleEvent(EVENT_SHADOW_SHOCK, 10s, 15s);
191-
_events.ScheduleEvent(EVENT_PSYCHIC_SCREAM, 15s, 25s);
192-
_events.ScheduleEvent(EVENT_SLEEP, 5s, 15s);
193-
_events.ScheduleEvent(EVENT_DOMINATION, 15s, 25s);
194+
events.ScheduleEvent(EVENT_MIND_BLAST, 5s, 15s);
195+
events.ScheduleEvent(EVENT_SHADOW_SHOCK, 10s, 15s);
196+
events.ScheduleEvent(EVENT_PSYCHIC_SCREAM, 15s, 25s);
197+
events.ScheduleEvent(EVENT_SLEEP, 5s, 15s);
198+
events.ScheduleEvent(EVENT_DOMINATION, 15s, 25s);
194199
break;
195200
default:
196201
break;
@@ -205,7 +210,6 @@ struct boss_dathrohan_balnazzar : public ScriptedAI
205210

206211
private:
207212
bool _transformed;
208-
EventMap _events;
209213
};
210214

211215
void AddSC_boss_dathrohan_balnazzar()

0 commit comments

Comments
 (0)