aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAqua Deus <95978183+aquadeus@users.noreply.github.com>2022-02-07 12:41:41 +0100
committerGitHub <noreply@github.com>2022-02-07 12:41:41 +0100
commite64e6f4963ae7c6efe54fd5e6124158202478b3f (patch)
tree353a9d2b4ba62dc4dcd51eb62902904b4b93b4d5
parentd5bb799f27f2604741af2de8db07b2871d37b378 (diff)
Scripts/Spells: Fixed Icefury talent proc and frost shock energize (#27699)
-rw-r--r--sql/updates/world/master/2022_02_07_00_world_shaman_icefury.sql7
-rw-r--r--src/server/scripts/Spells/spell_shaman.cpp26
2 files changed, 32 insertions, 1 deletions
diff --git a/sql/updates/world/master/2022_02_07_00_world_shaman_icefury.sql b/sql/updates/world/master/2022_02_07_00_world_shaman_icefury.sql
new file mode 100644
index 00000000000..3e703f4f24f
--- /dev/null
+++ b/sql/updates/world/master/2022_02_07_00_world_shaman_icefury.sql
@@ -0,0 +1,7 @@
+DELETE FROM `spell_proc` WHERE `SpellId` IN (210714);
+INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
+(210714,0x00,11,0x80000000,0x00000000,0x00000000,0x00000000,0x0,0x0,0x1,0x0,0x8,0x0,0,0,0,0); -- Icefury
+
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_sha_icefury';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(210714,'spell_sha_icefury');
diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp
index 8ba4423d60f..65de050dd25 100644
--- a/src/server/scripts/Spells/spell_shaman.cpp
+++ b/src/server/scripts/Spells/spell_shaman.cpp
@@ -66,6 +66,7 @@ enum ShamanSpells
SPELL_SHAMAN_FLAMETONGUE_ATTACK = 10444,
SPELL_SHAMAN_FLAMETONGUE_WEAPON_ENCHANT = 334294,
SPELL_SHAMAN_FLAMETONGUE_WEAPON_AURA = 319778,
+ SPELL_SHAMAN_FROST_SHOCK_ENERGIZE = 289439,
SPELL_SHAMAN_GATHERING_STORMS = 198299,
SPELL_SHAMAN_GATHERING_STORMS_BUFF = 198300,
SPELL_SHAMAN_GHOST_WOLF = 2645,
@@ -108,7 +109,7 @@ enum ShamanSpells
SPELL_SHAMAN_UNLIMITED_POWER_BUFF = 272737,
SPELL_SHAMAN_WINDFURY_ATTACK = 25504,
SPELL_SHAMAN_WINDFURY_ENCHANTMENT = 334302,
- SPELL_SHAMAN_WIND_RUSH = 192082,
+ SPELL_SHAMAN_WIND_RUSH = 192082
};
enum MiscSpells
@@ -773,6 +774,28 @@ class spell_sha_heroism : public SpellScript
}
};
+// 210714 - Icefury
+class spell_sha_icefury : public AuraScript
+{
+ PrepareAuraScript(spell_sha_icefury);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_SHAMAN_FROST_SHOCK_ENERGIZE });
+ }
+
+ void HandleEffectProc(AuraEffect* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
+ {
+ if (Unit* caster = GetCaster())
+ caster->CastSpell(caster, SPELL_SHAMAN_FROST_SHOCK_ENERGIZE, TRIGGERED_IGNORE_CAST_IN_PROGRESS);
+ }
+
+ void Register() override
+ {
+ OnEffectProc += AuraEffectProcFn(spell_sha_icefury::HandleEffectProc, EFFECT_1, SPELL_AURA_ADD_PCT_MODIFIER);
+ }
+};
+
// 23551 - Lightning Shield T2 Bonus
class spell_sha_item_lightning_shield : public AuraScript
{
@@ -1783,6 +1806,7 @@ void AddSC_shaman_spell_scripts()
RegisterSpellScript(spell_sha_healing_rain_target_limit);
RegisterSpellScript(spell_sha_healing_stream_totem_heal);
RegisterSpellScript(spell_sha_heroism);
+ RegisterSpellScript(spell_sha_icefury);
RegisterSpellScript(spell_sha_item_lightning_shield);
RegisterSpellScript(spell_sha_item_lightning_shield_trigger);
RegisterSpellScript(spell_sha_item_mana_surge);