diff --git a/data/sql/updates/pending_db_world/rev_1777468016237312188.sql b/data/sql/updates/pending_db_world/rev_1777468016237312188.sql new file mode 100644 index 000000000..5ec5fee84 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1777468016237312188.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `spell_script_names` WHERE `spell_id` = 27812 AND `ScriptName` = 'spell_kelthuzad_void_blast'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(27812, 'spell_kelthuzad_void_blast'); diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp index abb53e6e2..7f28e2301 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp @@ -680,10 +680,34 @@ class spell_kelthuzad_detonate_mana_aura : public AuraScript } }; +class spell_kelthuzad_void_blast : public SpellScript +{ + PrepareSpellScript(spell_kelthuzad_void_blast); + + void HandleAfterHit() + { + Player* player = GetHitPlayer(); + if (!player) + return; + + if (player->IsAlive()) + return; + + if (InstanceScript* instance = player->GetInstanceScript()) + instance->StorePersistentData(PERSISTENT_DATA_IMMORTAL_FAIL, 1); + } + + void Register() override + { + AfterHit += SpellHitFn(spell_kelthuzad_void_blast::HandleAfterHit); + } +}; + void AddSC_boss_kelthuzad() { new boss_kelthuzad(); new boss_kelthuzad_minion(); RegisterSpellScript(spell_kelthuzad_frost_blast); RegisterSpellScript(spell_kelthuzad_detonate_mana_aura); + RegisterSpellScript(spell_kelthuzad_void_blast); }