Skip to content

Commit 5715b96

Browse files
authored
Scripts/Arcatraz: Update Zereketh (TrinityCore#31125)
1 parent 001d5d3 commit 5715b96

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

src/server/scripts/Outland/TempestKeep/arcatraz/boss_zereketh_the_unbound.cpp

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
#include "ScriptMgr.h"
1919
#include "ScriptedCreature.h"
20+
#include "SpellInfo.h"
21+
#include "SpellMgr.h"
2022
#include "arcatraz.h"
2123

2224
enum ZerekethTexts
@@ -49,12 +51,22 @@ struct boss_zereketh_the_unbound : public BossAI
4951
void JustEngagedWith(Unit* who) override
5052
{
5153
BossAI::JustEngagedWith(who);
52-
events.ScheduleEvent(EVENT_VOID_ZONE, 6s, 10s);
53-
events.ScheduleEvent(EVENT_SHADOW_NOVA, 6s, 10s);
54-
events.ScheduleEvent(EVENT_SEED_OF_CORRUPTION, 12s, 20s);
54+
events.ScheduleEvent(EVENT_VOID_ZONE, 10s, 15s);
55+
events.ScheduleEvent(EVENT_SHADOW_NOVA, 15s, 20s);
56+
events.ScheduleEvent(EVENT_SEED_OF_CORRUPTION, 5s, 10s);
5557
Talk(SAY_AGGRO);
5658
}
5759

60+
void OnSpellCast(SpellInfo const* spell) override
61+
{
62+
if (spell->Id == sSpellMgr->GetSpellIdForDifficulty(SPELL_SHADOW_NOVA, me))
63+
if (roll_chance_i(50))
64+
Talk(SAY_SHADOW_NOVA);
65+
}
66+
67+
// Do not despawn Void Zone
68+
void JustSummoned(Creature* /*summon*/) override { }
69+
5870
void KilledUnit(Unit* /*victim*/) override
5971
{
6072
Talk(SAY_SLAY);
@@ -81,19 +93,18 @@ struct boss_zereketh_the_unbound : public BossAI
8193
switch (eventId)
8294
{
8395
case EVENT_VOID_ZONE:
84-
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 100, true))
96+
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
8597
DoCast(target, SPELL_VOID_ZONE);
86-
events.Repeat(6s, 10s);
98+
events.Repeat(15s);
8799
break;
88100
case EVENT_SHADOW_NOVA:
89-
DoCastVictim(SPELL_SHADOW_NOVA);
90-
Talk(SAY_SHADOW_NOVA);
91-
events.Repeat(6s, 10s);
101+
DoCastSelf(SPELL_SHADOW_NOVA);
102+
events.Repeat(15s, 20s);
92103
break;
93104
case EVENT_SEED_OF_CORRUPTION:
94-
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 100, true))
105+
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
95106
DoCast(target, SPELL_SEED_OF_CORRUPTION);
96-
events.Repeat(12s, 20s);
107+
events.Repeat(15s, 20s);
97108
break;
98109
default:
99110
break;

0 commit comments

Comments
 (0)