diff options
author | Sorikoff <46191832+Sorikoff@users.noreply.github.com> | 2019-06-22 07:44:23 +0000 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-11 22:58:16 +0100 |
commit | aa407adf3ea74ef8262105d5857185723ab644c1 (patch) | |
tree | 87f7441ada448c6b9e76e1f76cd715c6484ca635 /src | |
parent | b709ea9a8dcceb76bf1d057d01e86e347e207e51 (diff) |
Scripts/Spells: Ultra-Advanced Proto-Typical Shortening Blaster (#23456)
* Scripts/Spells: Ultra-Advanced Proto-Typical Shortening Blaster
* Fix NoPCH
* Correct header
* fixup! Clean up
* Rename 9999_99_99_99_world.sql to 2019_06_22_00_world.sql
(cherry picked from commit 40b09e3df144304562a63f33d16e25bbde5079fd)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 29 | ||||
-rw-r--r-- | src/server/scripts/Northrend/zone_borean_tundra.cpp | 44 |
2 files changed, 44 insertions, 29 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 7021b966002..f8b82477a67 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -3270,35 +3270,6 @@ void Spell::EffectScriptEffect() } return; } - case 45668: // Ultra-Advanced Proto-Typical Shortening Blaster - { - if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT) - return; - - static uint32 const spellPlayer[5] = - { - 45674, // Bigger! - 45675, // Shrunk - 45678, // Yellow - 45682, // Ghost - 45684 // Polymorph - }; - - static uint32 const spellTarget[5] = - { - 45673, // Bigger! - 45672, // Shrunk - 45677, // Yellow - 45681, // Ghost - 45683 // Polymorph - }; - - m_caster->CastSpell(m_caster, spellPlayer[urand(0, 4)], CastSpellExtraArgs(TRIGGERED_FULL_MASK) - .SetOriginalCastId(m_castId)); - unitTarget->CastSpell(unitTarget, spellTarget[urand(0, 4)], CastSpellExtraArgs(TRIGGERED_FULL_MASK) - .SetOriginalCastId(m_castId)); - break; - } } break; } diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index d5b0d53e5e8..0b7760cf5fa 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -39,6 +39,7 @@ EndContentData */ #include "PhasingHandler.h" #include "Player.h" #include "QuestDef.h" +#include "CreatureAIImpl.h" #include "ScriptedEscortAI.h" #include "ScriptedFollowerAI.h" #include "ScriptedGossip.h" @@ -2523,6 +2524,48 @@ public: } }; +// 45668 - Ultra-Advanced Proto-Typical Shortening Blaster +enum ShorteningBlaster +{ + SPELL_SHORTENING_BLASTER_BIGGER1 = 45674, + SPELL_SHORTENING_BLASTER_SHRUNK1 = 45675, + SPELL_SHORTENING_BLASTER_YELLOW1 = 45678, + SPELL_SHORTENING_BLASTER_GHOST1 = 45682, + SPELL_SHORTENING_BLASTER_POLYMORPH1 = 45684, + + SPELL_SHORTENING_BLASTER_BIGGER2 = 45673, + SPELL_SHORTENING_BLASTER_SHRUNK2 = 45672, + SPELL_SHORTENING_BLASTER_YELLOW2 = 45677, + SPELL_SHORTENING_BLASTER_GHOST2 = 45682, + SPELL_SHORTENING_BLASTER_POLYMORPH2 = 45683 +}; + +class spell_q11653_shortening_blaster : public SpellScript +{ + PrepareSpellScript(spell_q11653_shortening_blaster); + + void HandleScript(SpellEffIndex /* effIndex */) + { + Unit* caster = GetCaster(); + Unit* target = GetHitUnit(); + + uint32 spellId = RAND(SPELL_SHORTENING_BLASTER_BIGGER1, SPELL_SHORTENING_BLASTER_SHRUNK1, + SPELL_SHORTENING_BLASTER_YELLOW1, + SPELL_SHORTENING_BLASTER_GHOST1, SPELL_SHORTENING_BLASTER_POLYMORPH1); + uint32 spellId2 = RAND(SPELL_SHORTENING_BLASTER_BIGGER2, SPELL_SHORTENING_BLASTER_SHRUNK2, + SPELL_SHORTENING_BLASTER_YELLOW2, + SPELL_SHORTENING_BLASTER_GHOST2, SPELL_SHORTENING_BLASTER_POLYMORPH2); + + caster->CastSpell(caster, spellId, true); + target->CastSpell(target, spellId2, true); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_q11653_shortening_blaster::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_borean_tundra() { new npc_sinkhole_kill_credit(); @@ -2550,4 +2593,5 @@ void AddSC_borean_tundra() new spell_q11719_bloodspore_ruination_45997(); new npc_bloodmage_laurith(); new npc_orabus_the_helmsman_ship_exit_pos(); + RegisterSpellScript(spell_q11653_shortening_blaster); } |