summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew <47818697+Nyeriah@users.noreply.github.com>2025-09-15 16:08:00 -0300
committerGitHub <noreply@github.com>2025-09-15 16:08:00 -0300
commit900f45514dcfc5ec36eae453fa01540d38ff9d6b (patch)
tree6e0567a064a390e60cf0fb13122ed9337ecd1c20 /src
parent738ab902a10791176d6fb2e099e39495404c56a6 (diff)
fix(DB/SAI): Fix several A Returning to Resting quest issues (#22930)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp
index c6405cc18c..6022af4bca 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -394,6 +394,38 @@ public:
}
};
+enum RodinLightningSpells
+{
+ SPELL_RODIN_LIGHTNING_START = 44787,
+ SPELL_RODIN_LIGHTNING_END = 44791,
+
+ NPC_RODIN = 24876
+};
+
+struct npc_rodin_lightning_enabler : public ScriptedAI
+{
+ npc_rodin_lightning_enabler(Creature* creature) : ScriptedAI(creature) {}
+
+ void Reset() override
+ {
+ _scheduler.Schedule(1s, [this](TaskContext context)
+ {
+ if (Creature* rodin = me->FindNearestCreature(NPC_RODIN, 10.0f))
+ DoCast(rodin, urand(SPELL_RODIN_LIGHTNING_START, SPELL_RODIN_LIGHTNING_END));
+
+ context.Repeat(2s, 8s);
+ });
+ }
+
+ void UpdateAI(uint32 /*diff*/) override
+ {
+ _scheduler.Update();
+ }
+
+private:
+ TaskScheduler _scheduler;
+};
+
enum HawkHunting
{
SPELL_HAWK_HUNTING_ITEM = 44408
@@ -431,5 +463,6 @@ void AddSC_howling_fjord()
new npc_apothecary_hanes();
new npc_plaguehound_tracker();
new npc_razael_and_lyana();
+ RegisterCreatureAI(npc_rodin_lightning_enabler);
RegisterSpellScript(spell_hawk_hunting);
}