diff options
author | Aqua Deus <95978183+aquadeus@users.noreply.github.com> | 2024-12-30 23:51:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-30 23:51:35 +0100 |
commit | 5436a6ae6ce28b2cca47ce795d01eeadb37a677d (patch) | |
tree | df65a91a465631980b269e6e189c9b8a5501e64e | |
parent | 40472c60424c6cd955b30cd54b892f951f9ad252 (diff) |
Spells/Spells: Fix demon hunter talent "Fiery Brand" (#30490)
-rw-r--r-- | sql/updates/world/master/2024_12_30_02_world.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_dh.cpp | 29 |
2 files changed, 30 insertions, 2 deletions
diff --git a/sql/updates/world/master/2024_12_30_02_world.sql b/sql/updates/world/master/2024_12_30_02_world.sql new file mode 100644 index 00000000000..a554f4a7561 --- /dev/null +++ b/sql/updates/world/master/2024_12_30_02_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dh_fiery_brand'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(204021, 'spell_dh_fiery_brand'); diff --git a/src/server/scripts/Spells/spell_dh.cpp b/src/server/scripts/Spells/spell_dh.cpp index cd50b321309..be74f96ced7 100644 --- a/src/server/scripts/Spells/spell_dh.cpp +++ b/src/server/scripts/Spells/spell_dh.cpp @@ -111,8 +111,9 @@ enum DemonHunterSpells SPELL_DH_FELBLADE_COOLDOWN_RESET_PROC_VISUAL = 204497, SPELL_DH_FELBLADE_DAMAGE = 213243, SPELL_DH_FIERY_BRAND = 204021, - SPELL_DH_FIERY_BRAND_DMG_REDUCTION_DEBUFF = 207744, - SPELL_DH_FIERY_BRAND_DOT = 207771, + SPELL_DH_FIERY_BRAND_RANK_2 = 320962, + SPELL_DH_FIERY_BRAND_DEBUFF_RANK_1 = 207744, + SPELL_DH_FIERY_BRAND_DEBUFF_RANK_2 = 207771, SPELL_DH_FIRST_BLOOD = 206416, SPELL_DH_FLAME_CRASH = 227322, SPELL_DH_FRAILTY = 224509, @@ -733,6 +734,29 @@ class spell_dh_felblade_cooldown_reset_proc : public AuraScript } }; +// 204021 - Fiery Brand +class spell_dh_fiery_brand : public SpellScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_DH_FIERY_BRAND_DEBUFF_RANK_1, SPELL_DH_FIERY_BRAND_DEBUFF_RANK_2, SPELL_DH_FIERY_BRAND_RANK_2 }); + } + + void HandleDamage(SpellEffIndex /*effIndex*/) const + { + GetCaster()->CastSpell(GetHitUnit(), GetCaster()->HasAura(SPELL_DH_FIERY_BRAND_RANK_2) ? SPELL_DH_FIERY_BRAND_DEBUFF_RANK_2 : SPELL_DH_FIERY_BRAND_DEBUFF_RANK_1, + CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + .TriggeringSpell = GetSpell() + }); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_dh_fiery_brand::HandleDamage, EFFECT_1, SPELL_EFFECT_SCHOOL_DAMAGE); + } +}; + // 206416 - First Blood class spell_dh_first_blood : public AuraScript { @@ -1211,6 +1235,7 @@ void AddSC_demon_hunter_spell_scripts() RegisterSpellScript(spell_dh_felblade); RegisterSpellScript(spell_dh_felblade_charge); RegisterSpellScript(spell_dh_felblade_cooldown_reset_proc); + RegisterSpellScript(spell_dh_fiery_brand); RegisterSpellScript(spell_dh_furious_gaze); RegisterSpellScript(spell_dh_last_resort); RegisterSpellScript(spell_dh_restless_hunter); |