aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2025-08-28 14:19:48 +0300
committerGitHub <noreply@github.com>2025-08-28 13:19:48 +0200
commit5dcef2bbaf8e5f82dc722ff93dca10593eec280a (patch)
tree212703d1ccc227b267a80b48b74e611ea45b0097
parentce061447adaa2afff0bf29e185f25ab9a6ad65d7 (diff)
Scripts/Shadow Labyrinth: Modernize scripts (#31010)
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp17
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp9
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp38
3 files changed, 34 insertions, 30 deletions
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
index 718427dfe46..937fbbc8fab 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
@@ -72,6 +72,7 @@ class BlackheartCharmedPlayerAI : public SimpleCharmedPlayerAI
}
};
+// 18667 - Blackheart the Inciter
struct boss_blackheart_the_inciter : public BossAI
{
boss_blackheart_the_inciter(Creature* creature) : BossAI(creature, DATA_BLACKHEART_THE_INCITER) { }
@@ -124,6 +125,7 @@ struct boss_blackheart_the_inciter : public BossAI
void UpdateAI(uint32 diff) override
{
events.Update(diff);
+
if (me->HasReactState(REACT_PASSIVE) || !UpdateVictim())
return;
@@ -139,19 +141,19 @@ struct boss_blackheart_the_inciter : public BossAI
if (me->GetThreatManager().GetThreatListSize() > 1)
{
ResetThreatList();
- DoCast(me, SPELL_INCITE_CHAOS);
+ DoCastSelf(SPELL_INCITE_CHAOS);
}
- events.ScheduleEvent(EVENT_INCITE_CHAOS, 40s);
+ events.Repeat(40s);
break;
}
case EVENT_CHARGE_ATTACK:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
DoCast(target, SPELL_CHARGE);
- events.ScheduleEvent(EVENT_CHARGE, 15s, 25s);
+ events.Repeat(15s, 25s);
break;
case EVENT_WAR_STOMP:
- DoCast(me, SPELL_WAR_STOMP);
- events.ScheduleEvent(EVENT_WAR_STOMP, 18s, 24s);
+ DoCastSelf(SPELL_WAR_STOMP);
+ events.Repeat(18s, 24s);
break;
}
@@ -168,6 +170,7 @@ struct boss_blackheart_the_inciter_mc_dummy : public NullCreatureAI
using NullCreatureAI::NullCreatureAI;
void InitializeAI() override { me->SetReactState(REACT_PASSIVE); }
static const uint32 FIRST_DUMMY = NPC_BLACKHEART_DUMMY1, LAST_DUMMY = NPC_BLACKHEART_DUMMY5;
+
void IsSummonedBy(WorldObject* whoWO) override
{
Unit* who = whoWO->ToUnit();
@@ -215,7 +218,8 @@ class spell_blackheart_incite_chaos : public SpellScript
static const uint8 NUM_INCITE_SPELLS = 5;
static const uint32 INCITE_SPELLS[NUM_INCITE_SPELLS];
- uint8 i=0;
+ uint8 i = 0;
+
void HandleDummy(SpellEffIndex /*effIndex*/)
{
if (Unit* target = GetHitUnit())
@@ -230,6 +234,7 @@ class spell_blackheart_incite_chaos : public SpellScript
OnEffectHitTarget += SpellEffectFn(spell_blackheart_incite_chaos::HandleDummy, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
+
const uint32 spell_blackheart_incite_chaos::INCITE_SPELLS[spell_blackheart_incite_chaos::NUM_INCITE_SPELLS] = { 33677,33680,33681,33682,33683 };
void AddSC_boss_blackheart_the_inciter()
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
index de1d1107cd2..3d82f8a7699 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
@@ -23,7 +23,7 @@
#include "ScriptedCreature.h"
#include "shadow_labyrinth.h"
-enum Texts
+enum VorpilTexts
{
SAY_HELP = 0,
SAY_AGGRO = 1,
@@ -33,7 +33,7 @@ enum Texts
SAY_WIPE = 5
};
-enum Spells
+enum VorpilSpells
{
SPELL_SHADOWBOLT_VOLLEY = 33841,
SPELL_BANISH = 38791,
@@ -64,7 +64,7 @@ enum Spells
SPELL_INSTAKILL_SELF = 29878
};
-enum Events
+enum VorpilEvents
{
EVENT_HELP = 1,
EVENT_SHADOWBOLT_VOLLEY,
@@ -78,6 +78,7 @@ std::array<uint32, 5> const VoidwalkerSummonSpells =
SPELL_SUMMON_VOIDWALKER_A, SPELL_SUMMON_VOIDWALKER_B, SPELL_SUMMON_VOIDWALKER_C, SPELL_SUMMON_VOIDWALKER_D, SPELL_SUMMON_VOIDWALKER_E
};
+// 18732 - Grandmaster Vorpil
struct boss_grandmaster_vorpil : public BossAI
{
boss_grandmaster_vorpil(Creature* creature) : BossAI(creature, DATA_GRANDMASTER_VORPIL) { }
@@ -171,6 +172,7 @@ struct boss_grandmaster_vorpil : public BossAI
}
};
+// 19427 - Voidwalker Summoner
struct npc_voidwalker_summoner : public ScriptedAI
{
npc_voidwalker_summoner(Creature* creature) : ScriptedAI(creature) { }
@@ -193,6 +195,7 @@ private:
TaskScheduler _scheduler;
};
+// 19226 - Void Traveler
struct npc_void_traveler : public ScriptedAI
{
npc_void_traveler(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
index 70402c356d0..da5fd4d9956 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
@@ -15,12 +15,7 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* ScriptData
-SDName: Boss_Murmur
-SD%Complete: 90
-SDComment: Timers may be incorrect
-SDCategory: Auchindoun, Shadow Labyrinth
-EndScriptData */
+/* Timers requires update */
#include "ScriptMgr.h"
#include "ObjectAccessor.h"
@@ -29,12 +24,12 @@ EndScriptData */
#include "SpellAuraEffects.h"
#include "SpellScript.h"
-enum Texts
+enum MurmurTexts
{
EMOTE_SONIC_BOOM = 0
};
-enum Spells
+enum MurmurSpells
{
SPELL_RESONANCE = 33657,
SPELL_MAGNETIC_PULL = 33689,
@@ -50,16 +45,17 @@ enum Spells
SPELL_SHOCKWAVE_KNOCK_BACK = 33673
};
-enum Events
+enum MurmurEvents
{
EVENT_SONIC_BOOM = 1,
- EVENT_MURMURS_TOUCH = 2,
- EVENT_RESONANCE = 3,
- EVENT_MAGNETIC_PULL = 4,
- EVENT_THUNDERING_STORM = 5,
- EVENT_SONIC_SHOCK = 6
+ EVENT_MURMURS_TOUCH,
+ EVENT_RESONANCE,
+ EVENT_MAGNETIC_PULL,
+ EVENT_THUNDERING_STORM,
+ EVENT_SONIC_SHOCK
};
+// 18708 - Murmur
struct boss_murmur : public BossAI
{
boss_murmur(Creature* creature) : BossAI(creature, DATA_MURMUR)
@@ -103,20 +99,20 @@ struct boss_murmur : public BossAI
{
case EVENT_SONIC_BOOM:
Talk(EMOTE_SONIC_BOOM);
- DoCast(me, SPELL_SONIC_BOOM_CAST);
- events.ScheduleEvent(EVENT_SONIC_BOOM, 30s);
+ DoCastSelf(SPELL_SONIC_BOOM_CAST);
+ events.Repeat(30s);
events.ScheduleEvent(EVENT_RESONANCE, 1500ms);
break;
case EVENT_MURMURS_TOUCH:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 80.0f, true))
DoCast(target, SPELL_MURMURS_TOUCH);
- events.ScheduleEvent(EVENT_MURMURS_TOUCH, 25s, 35s);
+ events.Repeat(25s, 35s);
break;
case EVENT_RESONANCE:
if (!(me->IsWithinMeleeRange(me->GetVictim())))
{
- DoCast(me, SPELL_RESONANCE);
- events.ScheduleEvent(EVENT_RESONANCE, 5s);
+ DoCastSelf(SPELL_RESONANCE);
+ events.Repeat(5s);
}
break;
case EVENT_MAGNETIC_PULL:
@@ -130,12 +126,12 @@ struct boss_murmur : public BossAI
break;
case EVENT_THUNDERING_STORM:
DoCastAOE(SPELL_THUNDERING_STORM, true);
- events.ScheduleEvent(EVENT_THUNDERING_STORM, 15s);
+ events.Repeat(15s);
break;
case EVENT_SONIC_SHOCK:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 20.0f, false))
DoCast(target, SPELL_SONIC_SHOCK);
- events.ScheduleEvent(EVENT_SONIC_SHOCK, 10s, 20s);
+ events.Repeat(10s, 20s);
break;
}