From 95329dc15c1daaff0c352337ca191b1c900a5e97 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Mon, 28 Jul 2025 23:03:52 +0200 Subject: [PATCH] Scripts/Spells: fixed Heroic Strike damage calculation --- sql/updates/world/4.3.4/2025_07_28_00_world.sql | 3 +++ src/server/scripts/Spells/spell_warrior.cpp | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 sql/updates/world/4.3.4/2025_07_28_00_world.sql diff --git a/sql/updates/world/4.3.4/2025_07_28_00_world.sql b/sql/updates/world/4.3.4/2025_07_28_00_world.sql new file mode 100644 index 0000000000..40073a876e --- /dev/null +++ b/sql/updates/world/4.3.4/2025_07_28_00_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_warr_heroic_strike'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(78, 'spell_warr_heroic_strike'); diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp index 69ec05852d..1fa482c7ce 100644 --- a/src/server/scripts/Spells/spell_warrior.cpp +++ b/src/server/scripts/Spells/spell_warrior.cpp @@ -1098,6 +1098,21 @@ class spell_warr_enraged_regeneration_AuraScript: public AuraScript AfterEffectRemove.Register(&spell_warr_enraged_regeneration_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_OBS_MOD_HEALTH, AURA_EFFECT_HANDLE_REAL); } }; + +// 78 - Heroic Strike +class spell_warr_heroic_strike : public SpellScript +{ + void CalculateDamage(Unit* /*victim*/, int32& damage, int32& /*flatMod*/, float& /*pctMod*/) + { + // Tooltip value: + damage = 8 + GetCaster()->GetTotalAttackPowerValue(BASE_ATTACK) * 60 / 100; + } + + void Register() override + { + CalcDamage.Register(&spell_warr_heroic_strike::CalculateDamage); + } +}; } void AddSC_warrior_spell_scripts() @@ -1116,6 +1131,7 @@ void AddSC_warrior_spell_scripts() RegisterSpellScript(spell_warr_glyph_of_sunder_armor); RegisterSpellScript(spell_warr_heroic_fury); RegisterSpellScript(spell_warr_heroic_leap); + RegisterSpellScript(spell_warr_heroic_strike); RegisterSpellScript(spell_warr_intimidating_shout); RegisterSpellScript(spell_warr_lambs_to_the_slaughter); RegisterSpellScript(spell_warr_last_stand);