diff options
author | Ovahlord <dreadkiller@gmx.de> | 2025-02-09 20:11:34 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2025-02-09 20:11:34 +0100 |
commit | f7be217c941140609c412bc67d2f54854fd1d615 (patch) | |
tree | 9ef34d78ab43a8289215ac9dd1efc7ad7a39f4b8 /src | |
parent | 0cb94ea082a58474d2ea1fa5166372c0bfcec48e (diff) |
Scripts/Spells: fixed Lava Burst crit chance against targets affected by Flame Shock
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_shaman.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
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); } |