mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-08 15:58:04 +00:00
fix(Core/Spells): Script Shaman T8 Elemental 4P Bonus (#17424)
* fix(Core/Spells): Script Shaman T8 Elemental 4P Bonus * 🧙♂️✨
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
-- 64930 - Electrified | Shaman T8 Elemental 4P Bonus
|
||||||
|
DELETE FROM `spell_script_names` WHERE `spell_id` = 64928;
|
||||||
|
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (64928, 'spell_sha_t8_electrified');
|
||||||
@@ -8159,13 +8159,6 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
|
|||||||
CastCustomSpell(this, triggered_spell_id, &basepoints0, nullptr, nullptr, true, castItem, triggeredByAura, originalCaster);
|
CastCustomSpell(this, triggered_spell_id, &basepoints0, nullptr, nullptr, true, castItem, triggeredByAura, originalCaster);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// Shaman T8 Elemental 4P Bonus
|
|
||||||
case 64928:
|
|
||||||
{
|
|
||||||
basepoints0 = CalculatePct(int32(damage), triggerAmount);
|
|
||||||
triggered_spell_id = 64930; // Electrified
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// Shaman T9 Elemental 4P Bonus
|
// Shaman T9 Elemental 4P Bonus
|
||||||
case 67228:
|
case 67228:
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ enum ShamanSpells
|
|||||||
SPELL_SHAMAN_CLEANSING_TOTEM_EFFECT = 52025,
|
SPELL_SHAMAN_CLEANSING_TOTEM_EFFECT = 52025,
|
||||||
SPELL_SHAMAN_EARTH_SHIELD_HEAL = 379,
|
SPELL_SHAMAN_EARTH_SHIELD_HEAL = 379,
|
||||||
SPELL_SHAMAN_ELEMENTAL_MASTERY = 16166,
|
SPELL_SHAMAN_ELEMENTAL_MASTERY = 16166,
|
||||||
|
SPELL_SHAMAN_ELECTRIFIED = 64930,
|
||||||
SPELL_SHAMAN_EXHAUSTION = 57723,
|
SPELL_SHAMAN_EXHAUSTION = 57723,
|
||||||
SPELL_SHAMAN_FIRE_NOVA_R1 = 1535,
|
SPELL_SHAMAN_FIRE_NOVA_R1 = 1535,
|
||||||
SPELL_SHAMAN_FIRE_NOVA_TRIGGERED_R1 = 8349,
|
SPELL_SHAMAN_FIRE_NOVA_TRIGGERED_R1 = 8349,
|
||||||
@@ -59,7 +60,8 @@ enum ShamanSpells
|
|||||||
SPELL_SHAMAN_TOTEM_HEALING_STREAM_HEAL = 52042,
|
SPELL_SHAMAN_TOTEM_HEALING_STREAM_HEAL = 52042,
|
||||||
SPELL_SHAMAN_BLESSING_OF_THE_ETERNALS_R1 = 51554,
|
SPELL_SHAMAN_BLESSING_OF_THE_ETERNALS_R1 = 51554,
|
||||||
SPELL_SHAMAN_STORMSTRIKE = 17364,
|
SPELL_SHAMAN_STORMSTRIKE = 17364,
|
||||||
SPELL_SHAMAN_LAVA_LASH = 60103
|
SPELL_SHAMAN_LAVA_LASH = 60103,
|
||||||
|
SPELL_SHAMAN_LIGHTNING_BOLT_OVERLOAD = 45284,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ShamanSpellIcons
|
enum ShamanSpellIcons
|
||||||
@@ -1104,6 +1106,45 @@ class spell_sha_flurry_proc : public AuraScript
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 64928 - Item - Shaman T8 Elemental 4P Bonus
|
||||||
|
class spell_sha_t8_electrified : public AuraScript
|
||||||
|
{
|
||||||
|
PrepareAuraScript(spell_sha_t8_electrified);
|
||||||
|
|
||||||
|
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||||
|
{
|
||||||
|
return ValidateSpellInfo({ SPELL_SHAMAN_ELECTRIFIED });
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
|
||||||
|
{
|
||||||
|
PreventDefaultAction();
|
||||||
|
|
||||||
|
DamageInfo* damageInfo = eventInfo.GetDamageInfo();
|
||||||
|
if (!damageInfo || !damageInfo->GetDamage())
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Do not proc from Lightning Overload (patch 3.1~)
|
||||||
|
if (SpellInfo const* spellInfo = eventInfo.GetSpellInfo())
|
||||||
|
{
|
||||||
|
if (spellInfo->Id == SPELL_SHAMAN_LIGHTNING_BOLT_OVERLOAD)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SpellInfo const* electrifiedDot = sSpellMgr->AssertSpellInfo(SPELL_SHAMAN_ELECTRIFIED);
|
||||||
|
int32 amount = int32(CalculatePct(eventInfo.GetDamageInfo()->GetDamage(), aurEff->GetAmount()) / electrifiedDot->GetMaxTicks());
|
||||||
|
|
||||||
|
eventInfo.GetProcTarget()->CastDelayedSpellWithPeriodicAmount(eventInfo.GetActor(), SPELL_SHAMAN_ELECTRIFIED, SPELL_AURA_PERIODIC_DAMAGE, amount);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Register() override
|
||||||
|
{
|
||||||
|
OnEffectProc += AuraEffectProcFn(spell_sha_t8_electrified::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
void AddSC_shaman_spell_scripts()
|
void AddSC_shaman_spell_scripts()
|
||||||
{
|
{
|
||||||
RegisterSpellScript(spell_sha_totem_of_wrath);
|
RegisterSpellScript(spell_sha_totem_of_wrath);
|
||||||
@@ -1135,4 +1176,5 @@ void AddSC_shaman_spell_scripts()
|
|||||||
RegisterSpellScript(spell_sha_sentry_totem);
|
RegisterSpellScript(spell_sha_sentry_totem);
|
||||||
RegisterSpellScript(spell_sha_thunderstorm);
|
RegisterSpellScript(spell_sha_thunderstorm);
|
||||||
RegisterSpellScript(spell_sha_flurry_proc);
|
RegisterSpellScript(spell_sha_flurry_proc);
|
||||||
|
RegisterSpellScript(spell_sha_t8_electrified);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user