diff options
author | Sorikoff <46191832+Sorikoff@users.noreply.github.com> | 2019-06-28 18:18:02 +0000 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-13 00:42:18 +0100 |
commit | 88457030cc1044b2452d73023d9fc5017080cdf2 (patch) | |
tree | 5f0952cb386a630034f5c80236dbaed24e0d7ecc | |
parent | ea4c1ae7d0c4b3420b1d78623c5254466c64f43b (diff) |
Scripts/Spells: Deathbolt (#23531)
* Scripts/Spells: Deathbolt
* Rename 9999_99_99_99_world.sql to 2019_06_28_01_world.sql
(cherry picked from commit 62b2c379b37b843076eb4df379e7de86b18303eb)
-rw-r--r-- | sql/updates/world/master/2021_12_12_13_world_2019_06_28_01_world.sql | 2 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 15 | ||||
-rw-r--r-- | src/server/scripts/Northrend/zone_sholazar_basin.cpp | 46 |
3 files changed, 31 insertions, 32 deletions
diff --git a/sql/updates/world/master/2021_12_12_13_world_2019_06_28_01_world.sql b/sql/updates/world/master/2021_12_12_13_world_2019_06_28_01_world.sql new file mode 100644 index 00000000000..00b99addd44 --- /dev/null +++ b/sql/updates/world/master/2021_12_12_13_world_2019_06_28_01_world.sql @@ -0,0 +1,2 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_q12611_deathbolt'; +INSERT INTO `spell_script_names` VALUES (51854,'spell_q12611_deathbolt'); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index a10fd80aa74..6ada7064844 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -3143,21 +3143,6 @@ void Spell::EffectScriptEffect() break; } - // Deathbolt from Thalgran Blightbringer - // reflected by Freya's Ward - // Retribution by Sevenfold Retribution - case 51854: - { - if (!unitTarget) - return; - if (unitTarget->HasAura(51845)) - unitTarget->CastSpell(m_caster, 51856, CastSpellExtraArgs(TRIGGERED_FULL_MASK) - .SetOriginalCastId(m_castId)); - else - m_caster->CastSpell(unitTarget, 51855, CastSpellExtraArgs(TRIGGERED_FULL_MASK) - .SetOriginalCastId(m_castId)); - break; - } // Summon Ghouls On Scarlet Crusade case 51904: { diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp index 565aabddb7c..fd4d463b601 100644 --- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp +++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp @@ -15,23 +15,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Sholazar_Basin -SD%Complete: 100 -SDComment: Quest support: 12550, 12645, 12688, 12726, 13957 -SDCategory: Sholazar_Basin -EndScriptData */ - -/* ContentData -npc_engineer_helice -npc_jungle_punch_target -spell_q12620_the_lifewarden_wrath -spell_q12589_shoot_rjr -npc_haiphoon (Quest: "Song of Wind and Water") -npc_vics_flying_machine -spell_shango_tracks -EndContentData */ - #include "ScriptMgr.h" #include "CombatAI.h" #include "Map.h" @@ -768,6 +751,34 @@ public: } }; +enum ReturnedSevenfold +{ + SPELL_FREYAS_WARD = 51845, + SPELL_SEVENFOLD_RETRIBUTION = 51856, + SPELL_DEATHBOLT = 51855 +}; + +class spell_q12611_deathbolt : public SpellScript +{ + PrepareSpellScript(spell_q12611_deathbolt); + + void HandleScriptEffect(SpellEffIndex /* effIndex */) + { + Unit* caster = GetCaster(); + Unit* target = GetHitUnit(); + + if (target->HasAura(SPELL_FREYAS_WARD)) + target->CastSpell(caster, SPELL_SEVENFOLD_RETRIBUTION, true); + else + caster->CastSpell(target, SPELL_DEATHBOLT, true); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_q12611_deathbolt::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_sholazar_basin() { new npc_engineer_helice(); @@ -777,4 +788,5 @@ void AddSC_sholazar_basin() new npc_haiphoon(); new npc_vics_flying_machine(); new spell_shango_tracks(); + RegisterSpellScript(spell_q12611_deathbolt); } |