mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/Spells: Fix shaman Undulation talent (#27695)
Co-authored-by: Modox <moardox@gmail.com> Co-authored-by: Shauren <shauren.trinity@gmail.com>
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (200071,216251);
|
||||
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
|
||||
(200071,0x00,11,0x00000080,0x00000000,0x00010000,0x00000000,0x00004400,0x0,0x1,0x0,0x0,0x0,0,100,0,0), -- Undulation (passive)
|
||||
(216251,0x00,11,0x00000000,0x00000000,0x00000000,0x00000000,0x0,0x0,0x1,0x0,0x8,0x0,0,0,0,0); -- Undulation (proc)
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_sha_undulation_passive';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(200071,'spell_sha_undulation_passive');
|
||||
@@ -104,6 +104,7 @@ enum ShamanSpells
|
||||
SPELL_SHAMAN_TOTEMIC_POWER_SPELL_POWER = 28825,
|
||||
SPELL_SHAMAN_TOTEMIC_POWER_ATTACK_POWER = 28826,
|
||||
SPELL_SHAMAN_TOTEMIC_POWER_ARMOR = 28827,
|
||||
SPELL_SHAMAN_UNDULATION_PROC = 216251,
|
||||
SPELL_SHAMAN_UNLIMITED_POWER_BUFF = 272737,
|
||||
SPELL_SHAMAN_WINDFURY_ATTACK = 25504,
|
||||
SPELL_SHAMAN_WINDFURY_ENCHANTMENT = 334302,
|
||||
@@ -1636,6 +1637,33 @@ class spell_sha_unlimited_power : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 200071 - Undulation
|
||||
class spell_sha_undulation_passive : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_sha_undulation_passive);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SHAMAN_UNDULATION_PROC });
|
||||
}
|
||||
|
||||
void HandleProc(AuraEffect* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
|
||||
{
|
||||
if (++_castCounter == 3)
|
||||
{
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_SHAMAN_UNDULATION_PROC, true);
|
||||
_castCounter = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_sha_undulation_passive::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
}
|
||||
|
||||
uint8 _castCounter = 1; // first proc happens after two casts, then one every 3 casts
|
||||
};
|
||||
|
||||
// 33757 - Windfury Weapon
|
||||
class spell_sha_windfury_weapon : public SpellScript
|
||||
{
|
||||
@@ -1781,6 +1809,7 @@ void AddSC_shaman_spell_scripts()
|
||||
RegisterSpellScript(spell_sha_t10_elemental_4p_bonus);
|
||||
RegisterSpellScript(spell_sha_t10_restoration_4p_bonus);
|
||||
RegisterSpellScript(spell_sha_unlimited_power);
|
||||
RegisterSpellScript(spell_sha_undulation_passive);
|
||||
RegisterSpellScript(spell_sha_windfury_weapon);
|
||||
RegisterSpellScript(spell_sha_windfury_weapon_proc);
|
||||
RegisterAreaTriggerAI(areatrigger_sha_wind_rush_totem);
|
||||
|
||||
Reference in New Issue
Block a user