aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAqua Deus <95978183+aquadeus@users.noreply.github.com>2025-01-17 12:40:25 +0100
committerGitHub <noreply@github.com>2025-01-17 12:40:25 +0100
commita3b36597d08ea23eafb3ba8da837194e9427dda6 (patch)
treeb428785db147c81053a037ae00e75d8edc176107
parent95292cdcc8c7615178c3147c2c26160f2b481b17 (diff)
Scripts/Spells: Implement demon hunter talent "Unhindered Assault" (#30547)
-rw-r--r--sql/updates/world/master/2025_01_17_03_world.sql7
-rw-r--r--src/server/scripts/Spells/spell_dh.cpp20
2 files changed, 27 insertions, 0 deletions
diff --git a/sql/updates/world/master/2025_01_17_03_world.sql b/sql/updates/world/master/2025_01_17_03_world.sql
new file mode 100644
index 00000000000..1fdbf248e95
--- /dev/null
+++ b/sql/updates/world/master/2025_01_17_03_world.sql
@@ -0,0 +1,7 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dh_unhindered_assault';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(444931, 'spell_dh_unhindered_assault');
+
+DELETE FROM `spell_proc` WHERE `SpellId` IN (444931);
+INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
+(444931,0x00,107,0x00000008,0x00000000,0x00000000,0x00000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0,0,0); -- Unhindered Assault
diff --git a/src/server/scripts/Spells/spell_dh.cpp b/src/server/scripts/Spells/spell_dh.cpp
index 0344cddcda2..f8572d8fb66 100644
--- a/src/server/scripts/Spells/spell_dh.cpp
+++ b/src/server/scripts/Spells/spell_dh.cpp
@@ -1451,6 +1451,25 @@ class spell_dh_tactical_retreat : public SpellScript
}
};
+// 444931 - Unhindered Assault
+class spell_dh_unhindered_assault : public AuraScript
+{
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_DH_FELBLADE });
+ }
+
+ void HandleOnProc(AuraEffect const* /*aurEff*/, ProcEventInfo const& /*eventInfo*/) const
+ {
+ GetTarget()->GetSpellHistory()->ResetCooldown(SPELL_DH_FELBLADE, true);
+ }
+
+ void Register() override
+ {
+ OnEffectProc += AuraEffectProcFn(spell_dh_unhindered_assault::HandleOnProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
+};
+
// 198813 - Vengeful Retreat
class spell_dh_vengeful_retreat_damage : public SpellScript
{
@@ -1507,6 +1526,7 @@ void AddSC_demon_hunter_spell_scripts()
RegisterSpellScript(spell_dh_sigil_of_chains);
RegisterSpellScript(spell_dh_student_of_suffering);
RegisterSpellScript(spell_dh_tactical_retreat);
+ RegisterSpellScript(spell_dh_unhindered_assault);
RegisterSpellScript(spell_dh_vengeful_retreat_damage);
RegisterAreaTriggerAI(areatrigger_dh_darkness);