From b19162f9f9cb6ed37d2cf16d67d64cc77d66f056 Mon Sep 17 00:00:00 2001 From: EricksOliveira Date: Wed, 9 Sep 2026 12:00:37 -0300 Subject: [PATCH] fix(Scripts/Dragonblight): make Alystros' Lapsing Dream affect players (#27356) Co-authored-by: Claude Opus 5 (1M context) --- .../rev_1787772549867487200.sql | 6 ++++ .../scripts/Northrend/zone_dragonblight.cpp | 30 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1787772549867487200.sql diff --git a/data/sql/updates/pending_db_world/rev_1787772549867487200.sql b/data/sql/updates/pending_db_world/rev_1787772549867487200.sql new file mode 100644 index 0000000000..3d895208bd --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1787772549867487200.sql @@ -0,0 +1,6 @@ +-- Alystros the Verdant Keeper - Lapsing Dream +DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_alystros_lapsing_dream_aura'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(51922, 'spell_alystros_lapsing_dream_aura'); + +UPDATE `smart_scripts` SET `target_type` = 5, `target_param2` = 1 WHERE `entryorguid` = 27249 AND `source_type` = 0 AND `id` = 2; diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index 4749871e22..a484875e36 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -2338,6 +2338,35 @@ class spell_dragonblight_devour_ghoul_periodic : public AuraScript } }; +enum LapsingDream +{ + SPELL_LAPSING_DREAM_SLOW = 51928 +}; + +class spell_alystros_lapsing_dream_aura : public AuraScript +{ + PrepareAuraScript(spell_alystros_lapsing_dream_aura); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_LAPSING_DREAM_SLOW }); + } + + void HandlePeriodic(AuraEffect const* /*aurEff*/) + { + PreventDefaultAction(); + + // default trigger makes the victim the caster, and 51928's area targets then find nobody + if (Unit* caster = GetCaster()) + caster->AddAura(SPELL_LAPSING_DREAM_SLOW, GetTarget()); + } + + void Register() override + { + OnEffectPeriodic += AuraEffectPeriodicFn(spell_alystros_lapsing_dream_aura::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL); + } +}; + void AddSC_dragonblight() { new npc_conversing_with_the_depths_trigger(); @@ -2368,4 +2397,5 @@ void AddSC_dragonblight() RegisterSpellScript(spell_dragonblight_flame_fury); RegisterSpellScript(spell_dragonblight_devour_ghoul); RegisterSpellScript(spell_dragonblight_devour_ghoul_periodic); + RegisterSpellScript(spell_alystros_lapsing_dream_aura); }