From f7be217c941140609c412bc67d2f54854fd1d615 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sun, 9 Feb 2025 20:11:34 +0100 Subject: Scripts/Spells: fixed Lava Burst crit chance against targets affected by Flame Shock --- src/server/scripts/Spells/spell_shaman.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src') diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index e50797350d4..eb25b9b6503 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -22,7 +22,30 @@ */ #include "ScriptMgr.h" +#include "SpellScript.h" +#include "Unit.h" + +namespace Scripts::Spells::Shaman +{ + // 51505 - Lava Burst + class spell_sha_lava_burst : public SpellScript + { + void CalcCritChance(Unit const* victim, float& critChance) + { + // The crit chance against targets effected by the caster's Flame Shock spell is 100% + if (victim->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_SHAMAN, flag128(0x10000000), GetCaster()->GetGUID())) + critChance = 100.0f; + } + + void Register() override + { + OnCalcCritChance += SpellOnCalcCritChanceFn(spell_sha_lava_burst::CalcCritChance); + } + }; +} void AddSC_shaman_spell_scripts() { + using namespace Scripts::Spells::Shaman; + RegisterSpellScript(spell_sha_lava_burst); } -- cgit v1.2.3