aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraquadeus <95978183+aquadeus@users.noreply.github.com>2021-12-25 21:55:23 +0100
committerGitHub <noreply@github.com>2021-12-25 21:55:23 +0100
commitc95b1784dfb164b2844658c7a80a34586a7cb8fc (patch)
treef3a8bbfef10a0259176ed4b310640130ac3a58c0 /src
parent5be16577f714958af7ec9a3e163d0b5e17b77973 (diff)
Scripts/Spells: Fixed lightning bolt energize (elemental) (#27467)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_shaman.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp
index 1e9cc40ba65..3b680dec910 100644
--- a/src/server/scripts/Spells/spell_shaman.cpp
+++ b/src/server/scripts/Spells/spell_shaman.cpp
@@ -66,7 +66,9 @@ enum ShamanSpells
SPELL_SHAMAN_LAVA_BURST = 51505,
SPELL_SHAMAN_LAVA_BURST_BONUS_DAMAGE = 71824,
SPELL_SHAMAN_LAVA_SURGE = 77762,
+ SPELL_SHAMAN_LIGHTNING_BOLT_ENERGIZE = 214815,
SPELL_SHAMAN_LIQUID_MAGMA_HIT = 192231,
+ SPELL_SHAMAN_MAELSTROM_CONTROLLER = 343725,
SPELL_SHAMAN_PATH_OF_FLAMES_SPREAD = 210621,
SPELL_SHAMAN_PATH_OF_FLAMES_TALENT = 201909,
SPELL_SHAMAN_POWER_SURGE = 40466,
@@ -770,6 +772,30 @@ class spell_sha_lava_surge_proc : public SpellScript
}
};
+// 188196 - Lightning Bolt
+class spell_sha_lightning_bolt : public SpellScript
+{
+ PrepareSpellScript(spell_sha_lightning_bolt);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_SHAMAN_LIGHTNING_BOLT_ENERGIZE, SPELL_SHAMAN_MAELSTROM_CONTROLLER })
+ && sSpellMgr->AssertSpellInfo(SPELL_SHAMAN_MAELSTROM_CONTROLLER, DIFFICULTY_NONE)->GetEffects().size() > EFFECT_0;
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ if (AuraEffect const* energizeAmount = GetCaster()->GetAuraEffect(SPELL_SHAMAN_MAELSTROM_CONTROLLER, EFFECT_0))
+ GetCaster()->CastSpell(GetCaster(), SPELL_SHAMAN_LIGHTNING_BOLT_ENERGIZE, CastSpellExtraArgs(energizeAmount)
+ .AddSpellMod(SPELLVALUE_BASE_POINT0, energizeAmount->GetAmount()));
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_sha_lightning_bolt::HandleScript, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
+ }
+};
+
// 192223 - Liquid Magma Totem (erupting hit spell)
class spell_sha_liquid_magma_totem : public SpellScript
{
@@ -1187,6 +1213,7 @@ void AddSC_shaman_spell_scripts()
RegisterSpellScript(spell_sha_lava_burst);
RegisterAuraScript(spell_sha_lava_surge);
RegisterSpellScript(spell_sha_lava_surge_proc);
+ RegisterSpellScript(spell_sha_lightning_bolt);
RegisterSpellScript(spell_sha_liquid_magma_totem);
RegisterSpellScript(spell_sha_path_of_flames_spread);
RegisterAuraScript(spell_sha_tidal_waves);