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
This commit is contained in:
Sorikoff
2019-06-22 07:44:23 +00:00
committed by Giacomo Pozzoni
parent 8163ea60c8
commit 40b09e3df1
3 changed files with 47 additions and 27 deletions

View File

@@ -0,0 +1,3 @@
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_q11653_shortening_blaster');
INSERT INTO `spell_script_names` VALUES
(45668,'spell_q11653_shortening_blaster');

View File

@@ -3699,33 +3699,6 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
}
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)], true);
unitTarget->CastSpell(unitTarget, spellTarget[urand(0, 4)], true);
break;
}
}
break;
}

View File

@@ -39,6 +39,7 @@ EndContentData */
#include "ObjectMgr.h"
#include "Player.h"
#include "QuestDef.h"
#include "CreatureAIImpl.h"
#include "ScriptedEscortAI.h"
#include "ScriptedFollowerAI.h"
#include "ScriptedGossip.h"
@@ -2525,6 +2526,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();
@@ -2552,4 +2595,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);
}