Core/Spells: fixed DK T12 dps 2p and 4p bonus effects

This commit is contained in:
Ovahlord committed 2020-10-01 22:20:29 +02:00
1 parent 616e50cb55
commit 973d4a139a
2 files changed
+63

No files matched your search

@@ -0,0 +1,13 @@
--
DELETE FROM `spell_proc` WHERE `SpellId` IN (98970, 98996);
INSERT INTO `spell_proc` (`SpellId`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `SpellTypeMask`, `SpellPhaseMask`) VALUES
(98970, 15, 0, 0x40000000, 0, 4, 1),
(98996, 15, 0, 0x20000 | 0x8000000, 0, 1, 2);
DELETE FROM `spell_script_names` WHERE `ScriptName` IN
('spell_dk_item_death_knight_t12_dps_4p_bonus',
'spell_dk_smoldering_rune');
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(98996, 'spell_dk_item_death_knight_t12_dps_4p_bonus'),
(98971, 'spell_dk_smoldering_rune');
+50
View File
@@ -65,6 +65,7 @@ enum DeathKnightSpells
SPELL_DK_ENERGIZE_BLOOD_RUNE = 81166,
SPELL_DK_ENERGIZE_FROST_RUNE = 81168,
SPELL_DK_ENERGIZE_UNHOLY_RUNE = 81169,
SPELL_DK_FLAMING_TORRENT = 99000,
SPELL_DK_FROST_FEVER = 55095,
SPELL_DK_FROST_PRESENCE = 48266,
SPELL_DK_FROST_STRIKE = 49143,
@@ -92,6 +93,7 @@ enum DeathKnightSpells
SPELL_DK_SCENT_OF_BLOOD = 50422,
SPELL_DK_SCOURGE_STRIKE_TRIGGERED = 70890,
SPELL_DK_SHADOW_INFUSION = 91342,
SPELL_DK_SMOLDERING_RUNE_ENERGIZE = 99055,
SPELL_DK_UNHOLY_BLIGHT_PERIODIC = 50536,
SPELL_DK_UNHOLY_PRESENCE = 48265,
SPELL_DK_PESTILENCE_REDUCED_DOTS = 76243,
@@ -1675,6 +1677,52 @@ class spell_dk_killing_machine : public SpellScript
}
};
// 98996 - Item - Death Knight T12 DPS 4P Bonus
class spell_dk_item_death_knight_t12_dps_4p_bonus : public AuraScript
{
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_DK_FLAMING_TORRENT });
}
bool CheckProc(ProcEventInfo& eventInfo)
{
return eventInfo.GetDamageInfo();
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
{
PreventDefaultAction();
int32 damage = CalculatePct(aurEff->GetAmount(), eventInfo.GetDamageInfo()->GetDamage());
GetTarget()->CastCustomSpell(SPELL_DK_FLAMING_TORRENT, SPELLVALUE_BASE_POINT0, damage, eventInfo.GetProcTarget(), true, nullptr, aurEff);
}
void Register() override
{
DoCheckProc.Register(&spell_dk_item_death_knight_t12_dps_4p_bonus::CheckProc);
OnEffectProc.Register(&spell_dk_item_death_knight_t12_dps_4p_bonus::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
// 98971 - Smoldering Rune
class spell_dk_smoldering_rune : public AuraScript
{
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_DK_SMOLDERING_RUNE_ENERGIZE });
}
void HandleDummyTick(AuraEffect const* aurEff)
{
GetTarget()->CastSpell(GetTarget(), SPELL_DK_SMOLDERING_RUNE_ENERGIZE, true, nullptr, aurEff);
}
void Register() override
{
OnEffectPeriodic.Register(&spell_dk_smoldering_rune::HandleDummyTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
void AddSC_deathknight_spell_scripts()
{
RegisterSpellScript(spell_dk_anti_magic_shell);
@@ -1692,6 +1740,7 @@ void AddSC_deathknight_spell_scripts()
RegisterSpellScript(spell_dk_death_gate);
RegisterSpellScript(spell_dk_death_grip);
RegisterSpellScript(spell_dk_death_grip_initial);
RegisterSpellScript(spell_dk_item_death_knight_t12_dps_4p_bonus);
RegisterSpellScript(spell_dk_death_pact);
RegisterSpellScript(spell_dk_death_strike);
RegisterSpellScript(spell_dk_death_strike_enabler);
@@ -1717,6 +1766,7 @@ void AddSC_deathknight_spell_scripts()
RegisterSpellScript(spell_dk_scent_of_blood);
RegisterSpellScript(spell_dk_shadow_infusion);
RegisterSpellScript(spell_dk_scourge_strike);
RegisterSpellScript(spell_dk_smoldering_rune);
RegisterSpellScript(spell_dk_threat_of_thassarian);
RegisterSpellScript(spell_dk_unoly_blight);
RegisterSpellScript(spell_dk_unholy_command);