mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 18:36:31 +01:00
Scripts/Arcatraz: Update Zereketh (#31125)
This commit is contained in:
@@ -17,6 +17,8 @@
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellMgr.h"
|
||||
#include "arcatraz.h"
|
||||
|
||||
enum ZerekethTexts
|
||||
@@ -49,12 +51,22 @@ struct boss_zereketh_the_unbound : public BossAI
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_VOID_ZONE, 6s, 10s);
|
||||
events.ScheduleEvent(EVENT_SHADOW_NOVA, 6s, 10s);
|
||||
events.ScheduleEvent(EVENT_SEED_OF_CORRUPTION, 12s, 20s);
|
||||
events.ScheduleEvent(EVENT_VOID_ZONE, 10s, 15s);
|
||||
events.ScheduleEvent(EVENT_SHADOW_NOVA, 15s, 20s);
|
||||
events.ScheduleEvent(EVENT_SEED_OF_CORRUPTION, 5s, 10s);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void OnSpellCast(SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == sSpellMgr->GetSpellIdForDifficulty(SPELL_SHADOW_NOVA, me))
|
||||
if (roll_chance_i(50))
|
||||
Talk(SAY_SHADOW_NOVA);
|
||||
}
|
||||
|
||||
// Do not despawn Void Zone
|
||||
void JustSummoned(Creature* /*summon*/) override { }
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
Talk(SAY_SLAY);
|
||||
@@ -81,19 +93,18 @@ struct boss_zereketh_the_unbound : public BossAI
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_VOID_ZONE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 100, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
DoCast(target, SPELL_VOID_ZONE);
|
||||
events.Repeat(6s, 10s);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
case EVENT_SHADOW_NOVA:
|
||||
DoCastVictim(SPELL_SHADOW_NOVA);
|
||||
Talk(SAY_SHADOW_NOVA);
|
||||
events.Repeat(6s, 10s);
|
||||
DoCastSelf(SPELL_SHADOW_NOVA);
|
||||
events.Repeat(15s, 20s);
|
||||
break;
|
||||
case EVENT_SEED_OF_CORRUPTION:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 100, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
DoCast(target, SPELL_SEED_OF_CORRUPTION);
|
||||
events.Repeat(12s, 20s);
|
||||
events.Repeat(15s, 20s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user