diff --git a/data/sql/updates/pending_db_world/rev_1669543104429416500.sql b/data/sql/updates/pending_db_world/rev_1669543104429416500.sql new file mode 100644 index 000000000..16086da50 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1669543104429416500.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `spell_script_names` WHERE `spell_id`=30421; +INSERT INTO `spell_script_names` VALUES +(30421,'spell_nether_portal_perseverence'); diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp index 3d44d5785..6c648f3f9 100644 --- a/src/server/game/Spells/SpellInfoCorrections.cpp +++ b/src/server/game/Spells/SpellInfoCorrections.cpp @@ -334,12 +334,6 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->Attributes &= ~SPELL_ATTR0_NOT_SHAPESHIFTED; // with this spell atrribute aura can be stacked several times }); - // Nether Portal - Perseverence - ApplySpellFix({ 30421 }, [](SpellInfo* spellInfo) - { - spellInfo->Effects[EFFECT_2].BasePoints += 30000; - }); - // Natural shapeshifter ApplySpellFix({ 16834, 16835 }, [](SpellInfo* spellInfo) { diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp index 4fb6956fb..c0ce0af29 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp @@ -26,6 +26,8 @@ EndScriptData */ #include "ScriptMgr.h" #include "ScriptedCreature.h" #include "karazhan.h" +#include "SpellAuraEffects.h" +#include "SpellScript.h" enum Netherspite { @@ -347,7 +349,23 @@ public: }; }; +class spell_nether_portal_perseverence : public AuraScript +{ + PrepareAuraScript(spell_nether_portal_perseverence); + + void HandleApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) + { + const_cast(aurEff)->SetAmount(aurEff->GetAmount() + 30000); + } + + void Register() override + { + OnEffectApply += AuraEffectApplyFn(spell_nether_portal_perseverence::HandleApply, EFFECT_2, SPELL_AURA_MOD_INCREASE_HEALTH, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK); + } +}; + void AddSC_boss_netherspite() { new boss_netherspite(); + RegisterSpellScript(spell_nether_portal_perseverence); }