mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
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:
committed by
Giacomo Pozzoni
parent
8163ea60c8
commit
40b09e3df1
3
sql/updates/world/3.3.5/2019_06_22_00_world.sql
Normal file
3
sql/updates/world/3.3.5/2019_06_22_00_world.sql
Normal 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');
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user