diff options
-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); |