mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 00:18:43 +01:00
Scripts/Spells: Fix dk talent Icy Talons (#30232)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
This commit is contained in:
8
sql/updates/world/master/2024_10_12_03_world.sql
Normal file
8
sql/updates/world/master/2024_10_12_03_world.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (194878);
|
||||
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
|
||||
(194878,0x00,15,0x00000000,0x00000000,0x00000000,0x00000000,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0,0,0,0); -- Icy Talons
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_dk_icy_talons','spell_dk_icy_talons_buff');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(194878, 'spell_dk_icy_talons'),
|
||||
(194879, 'spell_dk_icy_talons_buff');
|
||||
@@ -80,6 +80,7 @@ enum DeathKnightSpells
|
||||
SPELL_DK_RUNIC_RETURN = 61258,
|
||||
SPELL_DK_SLUDGE_BELCHER = 207313,
|
||||
SPELL_DK_SLUDGE_BELCHER_SUMMON = 212027,
|
||||
SPELL_DK_SMOTHERING_OFFENSE = 435005,
|
||||
SPELL_DK_DEATH_STRIKE_ENABLER = 89832, // Server Side
|
||||
SPELL_DK_TIGHTENING_GRASP = 206970,
|
||||
//SPELL_DK_TIGHTENING_GRASP_SLOW = 143375, // dropped in BfA
|
||||
@@ -750,6 +751,43 @@ class spell_dk_howling_blast : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 194878 - Icy Talons
|
||||
class spell_dk_icy_talons : public AuraScript
|
||||
{
|
||||
bool CheckProc(AuraEffect const* /*aurEff*/, ProcEventInfo const& eventInfo) const
|
||||
{
|
||||
if (Spell const* procSpell = eventInfo.GetProcSpell())
|
||||
return procSpell->GetPowerTypeCostAmount(POWER_RUNIC_POWER) > 0;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoCheckEffectProc += AuraCheckEffectProcFn(spell_dk_icy_talons::CheckProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE);
|
||||
}
|
||||
};
|
||||
|
||||
// 194879 - Icy Talons
|
||||
class spell_dk_icy_talons_buff : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_DK_SMOTHERING_OFFENSE });
|
||||
}
|
||||
|
||||
void HandleSmotheringOffense(WorldObject*& target) const
|
||||
{
|
||||
if (!GetCaster()->HasAura(SPELL_DK_SMOTHERING_OFFENSE))
|
||||
target = nullptr;
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_dk_icy_talons_buff::HandleSmotheringOffense, EFFECT_1, TARGET_UNIT_CASTER);
|
||||
}
|
||||
};
|
||||
|
||||
// 206940 - Mark of Blood
|
||||
class spell_dk_mark_of_blood : public AuraScript
|
||||
{
|
||||
@@ -1071,6 +1109,8 @@ void AddSC_deathknight_spell_scripts()
|
||||
RegisterSpellScript(spell_dk_ghoul_explode);
|
||||
RegisterSpellScript(spell_dk_glyph_of_scourge_strike_script);
|
||||
RegisterSpellScript(spell_dk_howling_blast);
|
||||
RegisterSpellScript(spell_dk_icy_talons);
|
||||
RegisterSpellScript(spell_dk_icy_talons_buff);
|
||||
RegisterSpellScript(spell_dk_mark_of_blood);
|
||||
RegisterSpellScript(spell_dk_necrosis);
|
||||
RegisterSpellScript(spell_dk_obliteration);
|
||||
|
||||
Reference in New Issue
Block a user