aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAqua Deus <95978183+aquadeus@users.noreply.github.com>2023-12-08 01:47:19 +0100
committerGitHub <noreply@github.com>2023-12-08 01:47:19 +0100
commit36aac83ea37e667fb8e87fa9f8e97b5f0a38f235 (patch)
tree2b245320b790f9488d0a013b5e93344934a42251
parentd9e4eccf925a183692330eb621951739e9083d85 (diff)
Scripts/Spells: Implement Blinding Sleet (#29478)
-rw-r--r--sql/updates/world/master/2023_12_08_00_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp22
2 files changed, 25 insertions, 0 deletions
diff --git a/sql/updates/world/master/2023_12_08_00_world.sql b/sql/updates/world/master/2023_12_08_00_world.sql
new file mode 100644
index 00000000000..9d3357f64d1
--- /dev/null
+++ b/sql/updates/world/master/2023_12_08_00_world.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_dk_blinding_sleet';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(207167, 'spell_dk_blinding_sleet');
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index ddd1b2117fd..1e8c2542f03 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -40,6 +40,7 @@ enum DeathKnightSpells
SPELL_DK_ARMY_SKELETON_TRANSFORM = 127527,
SPELL_DK_ARMY_SPIKED_GHOUL_TRANSFORM = 127525,
SPELL_DK_ARMY_SUPER_ZOMBIE_TRANSFORM = 127526,
+ SPELL_DK_BLINDING_SLEET_SLOW = 317898,
SPELL_DK_BLOOD = 137008,
SPELL_DK_BLOOD_PLAGUE = 55078,
SPELL_DK_BLOOD_SHIELD_ABSORB = 77535,
@@ -226,6 +227,26 @@ class spell_dk_army_transform : public SpellScript
}
};
+// 207167 - Blinding Sleet
+class spell_dk_blinding_sleet : public AuraScript
+{
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_DK_BLINDING_SLEET_SLOW });
+ }
+
+ void HandleOnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_EXPIRE)
+ GetTarget()->CastSpell(GetTarget(), SPELL_DK_BLINDING_SLEET_SLOW, true);
+ }
+
+ void Register() override
+ {
+ AfterEffectRemove += AuraEffectRemoveFn(spell_dk_blinding_sleet::HandleOnRemove, EFFECT_0, SPELL_AURA_MOD_CONFUSE, AURA_EFFECT_HANDLE_REAL);
+ }
+};
+
// 50842 - Blood Boil
class spell_dk_blood_boil : public SpellScript
{
@@ -899,6 +920,7 @@ void AddSC_deathknight_spell_scripts()
RegisterSpellScript(spell_dk_advantage_t10_4p);
RegisterSpellScript(spell_dk_anti_magic_shell);
RegisterSpellScript(spell_dk_army_transform);
+ RegisterSpellScript(spell_dk_blinding_sleet);
RegisterSpellScript(spell_dk_blood_boil);
RegisterSpellScript(spell_dk_dancing_rune_weapon);
RegisterSpellAndAuraScriptPair(spell_dk_death_and_decay, spell_dk_death_and_decay_AuraScript);