diff options
author | Aqua Deus <95978183+aquadeus@users.noreply.github.com> | 2022-02-07 12:41:41 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-07 12:41:41 +0100 |
commit | e64e6f4963ae7c6efe54fd5e6124158202478b3f (patch) | |
tree | 353a9d2b4ba62dc4dcd51eb62902904b4b93b4d5 | |
parent | d5bb799f27f2604741af2de8db07b2871d37b378 (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.sql | 7 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_shaman.cpp | 26 |
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); |