aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOvah <dreadkiller@gmx.de>2022-10-07 20:56:46 +0200
committerGitHub <noreply@github.com>2022-10-07 20:56:46 +0200
commit3be76db592033828ed0e56cb08cdc5a2df5be8b0 (patch)
tree59920a2ef58156bfbf763a98aa5f7878e1533b25 /src
parent8f6ce648366099aecb966a57049371bfa4b19e56 (diff)
Scripts/DK: Fixed Rime talent (#28333)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index 72577473715..0d7f9f3da31 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -52,6 +52,7 @@ enum DeathKnightSpells
SPELL_DK_DEATH_STRIKE_OFFHAND = 66188,
SPELL_DK_FESTERING_WOUND = 194310,
SPELL_DK_FROST = 137006,
+ SPELL_DK_FROST_SCYTHE = 207230,
SPELL_DK_GLYPH_OF_FOUL_MENAGERIE = 58642,
SPELL_DK_GLYPH_OF_THE_GEIST = 58640,
SPELL_DK_GLYPH_OF_THE_SKELETON = 146652,
@@ -795,6 +796,31 @@ class spell_dk_raise_dead : public SpellScript
}
};
+// 59057 - Rime
+class spell_dk_rime : public AuraScript
+{
+ PrepareAuraScript(spell_dk_rime);
+
+ bool Validate(SpellInfo const* spellInfo) override
+ {
+ return spellInfo->GetEffects().size() > EFFECT_1 && ValidateSpellInfo({ SPELL_DK_FROST_SCYTHE });
+ }
+
+ bool CheckProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
+ {
+ float chance = static_cast<float>(GetSpellInfo()->GetEffect(EFFECT_1).CalcValue(GetTarget()));
+ if (eventInfo.GetSpellInfo()->Id == SPELL_DK_FROST_SCYTHE)
+ chance /= 2.f;
+
+ return roll_chance_f(chance);
+ }
+
+ void Register() override
+ {
+ DoCheckEffectProc += AuraCheckEffectProcFn(spell_dk_rime::CheckProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
+ }
+};
+
// 55233 - Vampiric Blood
class spell_dk_vampiric_blood : public AuraScript
{
@@ -834,5 +860,6 @@ void AddSC_deathknight_spell_scripts()
RegisterSpellScript(spell_dk_pet_skeleton_transform);
RegisterSpellScript(spell_dk_pvp_4p_bonus);
RegisterSpellScript(spell_dk_raise_dead);
+ RegisterSpellScript(spell_dk_rime);
RegisterSpellScript(spell_dk_vampiric_blood);
}