summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew <47818697+Nyeriah@users.noreply.github.com>2025-09-16 06:59:09 -0300
committerGitHub <noreply@github.com>2025-09-16 11:59:09 +0200
commit6a156a69fd843c538ee97a5d78e86847b7200152 (patch)
tree54f337d73f92f3f108e970328666a41f5e76da75
parent56f2a8e4f3c197b9cd6cecbe29c8e44b08656ae5 (diff)
fix(Scripts/AzjolNerub): Fix Drain Power spell (#22933)
-rw-r--r--data/sql/updates/pending_db_world/rev_1757944110586233600.sql17
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp27
2 files changed, 44 insertions, 0 deletions
diff --git a/data/sql/updates/pending_db_world/rev_1757944110586233600.sql b/data/sql/updates/pending_db_world/rev_1757944110586233600.sql
new file mode 100644
index 0000000000..2b21d51568
--- /dev/null
+++ b/data/sql/updates/pending_db_world/rev_1757944110586233600.sql
@@ -0,0 +1,17 @@
+--
+
+DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_azjol_drain_power';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(54314, 'spell_azjol_drain_power'),
+(59354, 'spell_azjol_drain_power');
+
+DELETE FROM `spelldifficulty_dbc` WHERE `ID` IN (54315, 54314, 54309);
+INSERT INTO `spelldifficulty_dbc` (`ID`, `DifficultySpellID_1`, `DifficultySpellID_2`) VALUES
+(54315, 54315, 59355),
+(54314, 54314, 59354),
+(54309, 54309, 59352);
+
+DELETE FROM `smart_scripts` WHERE (`entryorguid` = 29128) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3));
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(29128, 0, 0, 0, 0, 0, 100, 0, 0, 10000, 10000, 10000, 0, 0, 11, 54314, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Prime Guard - In Combat - Cast \'Drain Power\''),
+(29128, 0, 2, 0, 0, 0, 100, 0, 6000, 12000, 12000, 25000, 0, 0, 11, 54309, 0, 0, 0, 0, 0, 5, 30, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Prime Guard - In Combat - Cast \'Mark of Darkness\'');
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
index 3ee2f91f98..9d6616db97 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
@@ -126,9 +126,36 @@ class spell_azjol_nerub_web_wrap_aura : public AuraScript
}
};
+enum DrainPowerSpells
+{
+ SPELL_DRAIN_POWER_AURA = 54315
+};
+
+// 54314, 59354 - Drain Power
+class spell_azjol_drain_power : public SpellScript
+{
+ PrepareSpellScript(spell_azjol_drain_power);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_DRAIN_POWER_AURA });
+ }
+
+ void HandleScriptEffect(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetCaster(), SPELL_DRAIN_POWER_AURA, true);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_azjol_drain_power::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
+ }
+};
+
void AddSC_instance_azjol_nerub()
{
new instance_azjol_nerub();
RegisterSpellScript(spell_azjol_nerub_fixate);
RegisterSpellScript(spell_azjol_nerub_web_wrap_aura);
+ RegisterSpellScript(spell_azjol_drain_power);
}