mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 00:18:43 +01:00
Scripts/Spells: Get rid of some database spell scripts (#30915)
This commit is contained in:
225
sql/updates/world/3.3.5/2025_05_08_01_world.sql
Normal file
225
sql/updates/world/3.3.5/2025_05_08_01_world.sql
Normal file
@@ -0,0 +1,225 @@
|
||||
--
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 37013;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_gen_despawn_target' AND `spell_id` = 37013;
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(37013, 'spell_gen_despawn_target');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 32348;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_mana_tombs_summon_arcane_fiends';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(32348, 'spell_mana_tombs_summon_arcane_fiends');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (29126,29137,29135,29136,29138,29139,46672,46671);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
|
||||
'spell_midsummer_cleansing_flames_darnassus',
|
||||
'spell_midsummer_cleansing_flames_stormwind',
|
||||
'spell_midsummer_cleansing_flames_ironforge',
|
||||
'spell_midsummer_cleansing_flames_orgrimmar',
|
||||
'spell_midsummer_cleansing_flames_thunder_bluff',
|
||||
'spell_midsummer_cleansing_flames_the_undercity',
|
||||
'spell_midsummer_cleansing_flames_silvermoon',
|
||||
'spell_midsummer_cleansing_flames_the_exodar');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(29126, 'spell_midsummer_cleansing_flames_darnassus'),
|
||||
(29137, 'spell_midsummer_cleansing_flames_stormwind'),
|
||||
(29135, 'spell_midsummer_cleansing_flames_ironforge'),
|
||||
(29136, 'spell_midsummer_cleansing_flames_orgrimmar'),
|
||||
(29138, 'spell_midsummer_cleansing_flames_thunder_bluff'),
|
||||
(29139, 'spell_midsummer_cleansing_flames_the_undercity'),
|
||||
(46672, 'spell_midsummer_cleansing_flames_silvermoon'),
|
||||
(46671, 'spell_midsummer_cleansing_flames_the_exodar');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 52933;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_zuldrak_rampage_summon_zulaman_gods_master';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(52933, 'spell_zuldrak_rampage_summon_zulaman_gods_master');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 51862;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_zuldrak_breaking_through_summon_zulaman_gods_master';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(51862, 'spell_zuldrak_breaking_through_summon_zulaman_gods_master');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (29182,29188);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
|
||||
'spell_temple_of_ahnqiraj_teleport_to_twin_emperors',
|
||||
'spell_temple_of_ahnqiraj_teleport_to_final_chamber');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(29182, 'spell_temple_of_ahnqiraj_teleport_to_twin_emperors'),
|
||||
(29188, 'spell_temple_of_ahnqiraj_teleport_to_final_chamber');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (51864,51889);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_zuldrak_summon_nass';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(51864, 'spell_zuldrak_summon_nass'),
|
||||
(51889, 'spell_zuldrak_summon_nass');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 36327;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 21186 AND `source_type` = 0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = -79409 AND `source_type` = 0 AND `id` = 2;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(21186,0,0,0,8,0,100,0,36327,0,0,0,0,11,36521,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Arcane Warder Target - On Spellhit 'Shoot Arcane Explosion Arrow' - Cast 'Summon Arcane Explosion'"),
|
||||
(-79409,0,2,0,8,0,100,0,36327,0,0,0,0,11,36521,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Arcane Warder Target - On Spellhit 'Shoot Arcane Explosion Arrow' - Cast 'Summon Arcane Explosion'");
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 45030;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 25003 AND `source_type` = 0 AND `id` = 3;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(25003,0,3,0,8,0,100,0,45030,0,0,0,0,11,45088,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Emissary of Hate - On Spellhit 'Impale Emissary' - Cast 'Emissary of Hate Credit'");
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 53010;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_zuldrak_remove_akalis_stun';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(53010, 'spell_zuldrak_remove_akalis_stun');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (47117,47149,47316,47405,50439);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
|
||||
'spell_grizzly_hills_script_cast_summon_image_of_drakuru_01',
|
||||
'spell_grizzly_hills_script_cast_summon_image_of_drakuru_02',
|
||||
'spell_grizzly_hills_script_cast_summon_image_of_drakuru_03',
|
||||
'spell_grizzly_hills_script_cast_summon_image_of_drakuru_04',
|
||||
'spell_grizzly_hills_script_cast_summon_image_of_drakuru_05');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(47117, 'spell_grizzly_hills_script_cast_summon_image_of_drakuru_01'),
|
||||
(47149, 'spell_grizzly_hills_script_cast_summon_image_of_drakuru_02'),
|
||||
(47316, 'spell_grizzly_hills_script_cast_summon_image_of_drakuru_03'),
|
||||
(47405, 'spell_grizzly_hills_script_cast_summon_image_of_drakuru_04'),
|
||||
(50439, 'spell_grizzly_hills_script_cast_summon_image_of_drakuru_05');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (58916,58917);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
|
||||
'spell_icecrown_gift_of_the_lich_king',
|
||||
'spell_icecrown_consume_minions');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(58916, 'spell_icecrown_gift_of_the_lich_king'),
|
||||
(58917, 'spell_icecrown_consume_minions');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 37028;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_bem_dispelling_analysis';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(37028, 'spell_bem_dispelling_analysis');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 37834;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_shadowmoon_unbanish_azaloth';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(37834, 'spell_shadowmoon_unbanish_azaloth');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 46550;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_borean_tundra_weakness_to_lightning_on_quest_complete';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(46550, 'spell_borean_tundra_weakness_to_lightning_on_quest_complete');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (37867,37892,37894);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
|
||||
'spell_shadowmoon_arcano_scorp_control_01',
|
||||
'spell_shadowmoon_arcano_scorp_control_02',
|
||||
'spell_shadowmoon_arcano_scorp_control_03');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(37867, 'spell_shadowmoon_arcano_scorp_control_01'),
|
||||
(37892, 'spell_shadowmoon_arcano_scorp_control_02'),
|
||||
(37894, 'spell_shadowmoon_arcano_scorp_control_03');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (25143,29128,29129,25140);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
|
||||
'spell_terokkar_translocation_firewing_point_building_down',
|
||||
'spell_terokkar_translocation_firewing_point_building_up',
|
||||
'spell_terokkar_translocation_firewing_point_tower_down',
|
||||
'spell_terokkar_translocation_firewing_point_tower_up');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(25143, 'spell_terokkar_translocation_firewing_point_building_down'),
|
||||
(29128, 'spell_terokkar_translocation_firewing_point_building_up'),
|
||||
(29129, 'spell_terokkar_translocation_firewing_point_tower_down'),
|
||||
(25140, 'spell_terokkar_translocation_firewing_point_tower_up');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (25650,25652);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
|
||||
'spell_hellfire_peninsula_translocation_falcon_watch_tower_down',
|
||||
'spell_hellfire_peninsula_translocation_falcon_watch_tower_up');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(25650, 'spell_hellfire_peninsula_translocation_falcon_watch_tower_down'),
|
||||
(25652, 'spell_hellfire_peninsula_translocation_falcon_watch_tower_up');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (34448,34452,35376,35727);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
|
||||
'spell_eastern_kingdoms_duskwither_spire_up',
|
||||
'spell_eastern_kingdoms_duskwither_spire_down',
|
||||
'spell_eastern_kingdoms_silvermoon_to_undercity',
|
||||
'spell_eastern_kingdoms_undercity_to_silvermoon');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(34448, 'spell_eastern_kingdoms_duskwither_spire_up'),
|
||||
(34452, 'spell_eastern_kingdoms_duskwither_spire_down'),
|
||||
(35376, 'spell_eastern_kingdoms_silvermoon_to_undercity'),
|
||||
(35727, 'spell_eastern_kingdoms_undercity_to_silvermoon');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (47393,47615,47638);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
|
||||
'spell_dragonblight_focus_on_the_beach_quest_completion_script',
|
||||
'spell_dragonblight_atop_the_woodlands_quest_completion_script',
|
||||
'spell_dragonblight_end_of_the_line_quest_completion_script');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(47393, 'spell_dragonblight_focus_on_the_beach_quest_completion_script'),
|
||||
(47615, 'spell_dragonblight_atop_the_woodlands_quest_completion_script'),
|
||||
(47638, 'spell_dragonblight_end_of_the_line_quest_completion_script');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 24320;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_zulgurub_poisonous_blood';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(24320, 'spell_zulgurub_poisonous_blood');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 45071;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_eastern_kingdoms_dead_scar_bombing_run';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(45071, 'spell_eastern_kingdoms_dead_scar_bombing_run');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 57753;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 30681 AND `source_type` = 0 AND `id` = 5;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(30681,0,5,0,8,0,100,0,57753,0,0,0,0,11,57752,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Onyx Blaze Mistress - On Spellhit 'Conjure Flame Orb' - Cast 'Flame Orb Summon'");
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 46237;
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 25861;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 25861 AND `source_type` = 0;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(25861,0,0,0,8,0,100,0,46237,0,0,0,0,41,3000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Orphaned Mammoth Calf - On Spellhit 'Dismiss Orphaned Mammoth' - Delayed Despawn"),
|
||||
(25861,0,1,0,8,0,100,0,46237,0,0,0,0,28,46233,0,0,0,0,0,23,0,0,0,0,0,0,0,0,"Orphaned Mammoth Calf - On Spellhit 'Dismiss Orphaned Mammoth' - Remove Aura 'Call Mammoth Orphan'");
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 23301;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_icecrown_ebon_blade_banner';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(23301, 'spell_icecrown_ebon_blade_banner');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` IN (54620,58622);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
|
||||
'spell_dalaran_teleport_to_dalaran',
|
||||
'spell_dalaran_teleport_to_lake_wintergrasp');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(54620, 'spell_dalaran_teleport_to_dalaran'),
|
||||
(58622, 'spell_dalaran_teleport_to_lake_wintergrasp');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 52124;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_chapter1_sky_darkener_assault';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(52124, 'spell_chapter1_sky_darkener_assault');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 45188;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_eastern_kingdoms_dawnblade_attack';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(45188, 'spell_eastern_kingdoms_dawnblade_attack');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 45958;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_borean_tundra_signal_alliance';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(45958, 'spell_borean_tundra_signal_alliance');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 46289;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_muru_negative_energy';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(46289, 'spell_muru_negative_energy');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 26393;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_lunar_festival_elunes_blessing';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(26393, 'spell_lunar_festival_elunes_blessing');
|
||||
|
||||
DELETE FROM `spell_scripts` WHERE `id` = 49466;
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_brewfest_mole_machine_portal_schedule';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(49466, 'spell_brewfest_mole_machine_portal_schedule');
|
||||
@@ -1143,6 +1143,32 @@ class spell_chapter1_runeforging_credit : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
enum SkyDarkenerAssault
|
||||
{
|
||||
SPELL_SKY_DARKENER_ASSAULT = 52125
|
||||
};
|
||||
|
||||
// 52124 - Sky Darkener Assault
|
||||
class spell_chapter1_sky_darkener_assault : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_chapter1_sky_darkener_assault);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SKY_DARKENER_ASSAULT });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->CastSpell(GetHitUnit(), SPELL_SKY_DARKENER_ASSAULT);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_chapter1_sky_darkener_assault::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_the_scarlet_enclave_c1()
|
||||
{
|
||||
new npc_unworthy_initiate();
|
||||
@@ -1160,4 +1186,5 @@ void AddSC_the_scarlet_enclave_c1()
|
||||
RegisterCreatureAI(npc_scarlet_ghoul);
|
||||
RegisterSpellScript(spell_gift_of_the_harvester);
|
||||
RegisterSpellScript(spell_chapter1_runeforging_credit);
|
||||
RegisterSpellScript(spell_chapter1_sky_darkener_assault);
|
||||
}
|
||||
|
||||
@@ -53,6 +53,7 @@ enum Spells
|
||||
SPELL_ENTROPIUS_COSMETIC_SPAWN = 46223,
|
||||
SPELL_DARKNESS_E = 46269,
|
||||
SPELL_NEGATIVE_ENERGY_PERIODIC_E = 46284,
|
||||
SPELL_NEGATIVE_ENERGY_DAMAGE = 46285,
|
||||
SPELL_BLACKHOLE = 46282,
|
||||
SPELL_SUMMON_DARKFIEND_E = 46263,
|
||||
|
||||
@@ -635,6 +636,27 @@ class spell_muru_negative_energy_periodic : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 46289 - Negative Energy
|
||||
class spell_muru_negative_energy : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_muru_negative_energy);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_NEGATIVE_ENERGY_DAMAGE });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->CastSpell(GetHitUnit(), SPELL_NEGATIVE_ENERGY_DAMAGE, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_muru_negative_energy::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_muru()
|
||||
{
|
||||
RegisterSunwellPlateauCreatureAI(boss_muru);
|
||||
@@ -649,4 +671,5 @@ void AddSC_boss_muru()
|
||||
RegisterSpellScript(spell_transform_visual_missile_periodic);
|
||||
RegisterSpellScript(spell_summon_blood_elves_periodic);
|
||||
RegisterSpellScript(spell_muru_negative_energy_periodic);
|
||||
RegisterSpellScript(spell_muru_negative_energy);
|
||||
}
|
||||
|
||||
@@ -16,10 +16,12 @@
|
||||
*/
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellScript.h"
|
||||
#include "zulgurub.h"
|
||||
#include "GameEventMgr.h"
|
||||
#include "GameObject.h"
|
||||
#include "GameObjectAI.h"
|
||||
#include "Unit.h"
|
||||
|
||||
/*######
|
||||
## go_brazier_of_madness
|
||||
@@ -74,7 +76,34 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
enum PoisonousBlood
|
||||
{
|
||||
SPELL_POISONOUS_BLOOD = 24321
|
||||
};
|
||||
|
||||
// 24320 - Poisonous Blood
|
||||
class spell_zulgurub_poisonous_blood : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_zulgurub_poisonous_blood);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_POISONOUS_BLOOD });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_POISONOUS_BLOOD);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_zulgurub_poisonous_blood::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_zulgurub()
|
||||
{
|
||||
new go_brazier_of_madness();
|
||||
RegisterSpellScript(spell_zulgurub_poisonous_blood);
|
||||
}
|
||||
|
||||
175
src/server/scripts/EasternKingdoms/eastern_kingdoms.cpp
Normal file
175
src/server/scripts/EasternKingdoms/eastern_kingdoms.cpp
Normal file
@@ -0,0 +1,175 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "DBCStores.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellScript.h"
|
||||
#include "Unit.h"
|
||||
|
||||
enum Translocation
|
||||
{
|
||||
SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_UP = 26566,
|
||||
SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_DOWN = 26572,
|
||||
SPELL_TRANSLOCATION_SILVERMOON_TO_UNDERCITY = 25649,
|
||||
SPELL_TRANSLOCATION_UNDERCITY_TO_SILVERMOON = 35730
|
||||
};
|
||||
|
||||
// 34448 - Translocate
|
||||
class spell_eastern_kingdoms_duskwither_spire_up : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_eastern_kingdoms_duskwither_spire_up);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_UP });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_UP);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_duskwither_spire_up::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// 34452 - Translocate
|
||||
class spell_eastern_kingdoms_duskwither_spire_down : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_eastern_kingdoms_duskwither_spire_down);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_DOWN });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_DOWN);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_duskwither_spire_down::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// 35376 - Translocate
|
||||
class spell_eastern_kingdoms_silvermoon_to_undercity : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_eastern_kingdoms_silvermoon_to_undercity);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_TRANSLOCATION_SILVERMOON_TO_UNDERCITY });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_SILVERMOON_TO_UNDERCITY);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_silvermoon_to_undercity::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// 35727 - Translocate
|
||||
class spell_eastern_kingdoms_undercity_to_silvermoon : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_eastern_kingdoms_undercity_to_silvermoon);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_TRANSLOCATION_UNDERCITY_TO_SILVERMOON });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_UNDERCITY_TO_SILVERMOON);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_undercity_to_silvermoon::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
enum DeadScarBombingRun
|
||||
{
|
||||
SOUND_ID_BOMBING_RUN = 12318
|
||||
};
|
||||
|
||||
// 45071 - Quest - Sunwell Daily - Dead Scar Bombing Run
|
||||
class spell_eastern_kingdoms_dead_scar_bombing_run : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_eastern_kingdoms_dead_scar_bombing_run);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return sSoundEntriesStore.LookupEntry(SOUND_ID_BOMBING_RUN);
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->PlayDirectSound(SOUND_ID_BOMBING_RUN);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_dead_scar_bombing_run::HandleScript, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
enum DawnbladeAttack
|
||||
{
|
||||
SPELL_DAWNBLADE_ATTACK = 45189
|
||||
};
|
||||
|
||||
// 45188 - Dawnblade Attack
|
||||
class spell_eastern_kingdoms_dawnblade_attack : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_eastern_kingdoms_dawnblade_attack);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_DAWNBLADE_ATTACK });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->CastSpell(GetHitUnit(), SPELL_DAWNBLADE_ATTACK);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_dawnblade_attack::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_eastern_kingdoms()
|
||||
{
|
||||
RegisterSpellScript(spell_eastern_kingdoms_duskwither_spire_up);
|
||||
RegisterSpellScript(spell_eastern_kingdoms_duskwither_spire_down);
|
||||
RegisterSpellScript(spell_eastern_kingdoms_silvermoon_to_undercity);
|
||||
RegisterSpellScript(spell_eastern_kingdoms_undercity_to_silvermoon);
|
||||
RegisterSpellScript(spell_eastern_kingdoms_dead_scar_bombing_run);
|
||||
RegisterSpellScript(spell_eastern_kingdoms_dawnblade_attack);
|
||||
}
|
||||
@@ -174,6 +174,7 @@ void AddSC_boss_renataki();
|
||||
void AddSC_boss_wushoolay();
|
||||
void AddSC_instance_zulgurub();
|
||||
void AddSC_zulgurub();
|
||||
void AddSC_eastern_kingdoms();
|
||||
//void AddSC_alterac_mountains();
|
||||
//void AddSC_arathi_highlands();
|
||||
void AddSC_blasted_lands();
|
||||
@@ -354,6 +355,7 @@ void AddEasternKingdomsScripts()
|
||||
AddSC_boss_wushoolay();
|
||||
AddSC_instance_zulgurub();
|
||||
AddSC_zulgurub();
|
||||
AddSC_eastern_kingdoms();
|
||||
//AddSC_alterac_mountains();
|
||||
//AddSC_arathi_highlands();
|
||||
AddSC_blasted_lands();
|
||||
|
||||
@@ -663,6 +663,32 @@ class spell_brewfest_botm_empty_bottle_throw_resolve : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
enum MoleMachine
|
||||
{
|
||||
SPELL_PORT_TO_GRIM_GUZZLER = 47523
|
||||
};
|
||||
|
||||
// 49466 - Mole Machine Portal Schedule
|
||||
class spell_brewfest_mole_machine_portal_schedule : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_brewfest_mole_machine_portal_schedule);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_PORT_TO_GRIM_GUZZLER });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_PORT_TO_GRIM_GUZZLER);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_brewfest_mole_machine_portal_schedule::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_event_brewfest()
|
||||
{
|
||||
RegisterSpellScript(spell_brewfest_giddyup);
|
||||
@@ -683,4 +709,5 @@ void AddSC_event_brewfest()
|
||||
RegisterSpellScript(spell_brewfest_botm_teach_language);
|
||||
RegisterSpellScript(spell_brewfest_botm_weak_alcohol);
|
||||
RegisterSpellScript(spell_brewfest_botm_empty_bottle_throw_resolve);
|
||||
RegisterSpellScript(spell_brewfest_mole_machine_portal_schedule);
|
||||
}
|
||||
|
||||
@@ -476,10 +476,37 @@ class spell_lunar_festival_elune_candle : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
enum ElunesBlessing
|
||||
{
|
||||
SPELL_ELUNES_BLESSING_QUEST_CREDIT = 26394
|
||||
};
|
||||
|
||||
// 26393 - Elune's Blessing
|
||||
class spell_lunar_festival_elunes_blessing : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_lunar_festival_elunes_blessing);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_ELUNES_BLESSING_QUEST_CREDIT });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_ELUNES_BLESSING_QUEST_CREDIT);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_lunar_festival_elunes_blessing::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_event_lunar_festival()
|
||||
{
|
||||
RegisterCreatureAI(npc_firework);
|
||||
RegisterCreatureAI(npc_omen);
|
||||
RegisterCreatureAI(npc_giant_spotlight);
|
||||
RegisterSpellScript(spell_lunar_festival_elune_candle);
|
||||
RegisterSpellScript(spell_lunar_festival_elunes_blessing);
|
||||
}
|
||||
|
||||
@@ -445,6 +445,51 @@ class spell_midsummer_fling_torch_missed : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
enum CleansingFlames
|
||||
{
|
||||
SPELL_CREATE_FLAME_OF_DARNASSUS = 29099,
|
||||
SPELL_CREATE_FLAME_OF_STORMWIND = 29101,
|
||||
SPELL_CREATE_FLAME_OF_IRONFORGE = 29102,
|
||||
SPELL_CREATE_FLAME_OF_ORGRIMMAR = 29130,
|
||||
SPELL_CREATE_FLAME_OF_THUNDER_BLUFF = 29132,
|
||||
SPELL_CREATE_FLAME_OF_THE_UNDERCITY = 29133,
|
||||
SPELL_CREATE_FLAME_OF_SILVERMOON = 46689,
|
||||
SPELL_CREATE_FLAME_OF_THE_EXODAR = 46690
|
||||
};
|
||||
|
||||
// 29126 - Cleansing Flames
|
||||
// 29137 - Cleansing Flames
|
||||
// 29135 - Cleansing Flames
|
||||
// 29136 - Cleansing Flames
|
||||
// 29138 - Cleansing Flames
|
||||
// 29139 - Cleansing Flames
|
||||
// 46672 - Cleansing Flames
|
||||
// 46671 - Cleansing Flames
|
||||
class spell_midsummer_cleansing_flames : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_midsummer_cleansing_flames);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ _triggeredSpell });
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), _triggeredSpell);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_midsummer_cleansing_flames::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
|
||||
uint32 _triggeredSpell;
|
||||
|
||||
public:
|
||||
explicit spell_midsummer_cleansing_flames(CleansingFlames triggeredSpell) : _triggeredSpell(triggeredSpell) { }
|
||||
};
|
||||
|
||||
void AddSC_event_midsummer()
|
||||
{
|
||||
RegisterSpellScript(spell_midsummer_braziers_hit);
|
||||
@@ -458,4 +503,12 @@ void AddSC_event_midsummer()
|
||||
RegisterSpellScript(spell_midsummer_fling_torch_triggered);
|
||||
RegisterSpellScript(spell_midsummer_fling_torch_catch);
|
||||
RegisterSpellScript(spell_midsummer_fling_torch_missed);
|
||||
RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_darnassus", SPELL_CREATE_FLAME_OF_DARNASSUS);
|
||||
RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_stormwind", SPELL_CREATE_FLAME_OF_STORMWIND);
|
||||
RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_ironforge", SPELL_CREATE_FLAME_OF_IRONFORGE);
|
||||
RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_orgrimmar", SPELL_CREATE_FLAME_OF_ORGRIMMAR);
|
||||
RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_thunder_bluff", SPELL_CREATE_FLAME_OF_THUNDER_BLUFF);
|
||||
RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_the_undercity", SPELL_CREATE_FLAME_OF_THE_UNDERCITY);
|
||||
RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_silvermoon", SPELL_CREATE_FLAME_OF_SILVERMOON);
|
||||
RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_the_exodar", SPELL_CREATE_FLAME_OF_THE_EXODAR);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellScript.h"
|
||||
#include "Unit.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_TELEPORT_TO_TWIN_EMPS_EFFECT = 29181,
|
||||
SPELL_TELEPORT_TO_FINAL_CHAMBER_EFFECT = 29190
|
||||
};
|
||||
|
||||
// 29182 - Teleport to Twin Emperors
|
||||
class spell_temple_of_ahnqiraj_teleport_to_twin_emperors : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_temple_of_ahnqiraj_teleport_to_twin_emperors);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_TELEPORT_TO_TWIN_EMPS_EFFECT });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TELEPORT_TO_TWIN_EMPS_EFFECT);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_temple_of_ahnqiraj_teleport_to_twin_emperors::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// 29188 - Teleport to Final Chamber
|
||||
class spell_temple_of_ahnqiraj_teleport_to_final_chamber : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_temple_of_ahnqiraj_teleport_to_final_chamber);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_TELEPORT_TO_FINAL_CHAMBER_EFFECT });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TELEPORT_TO_FINAL_CHAMBER_EFFECT);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_temple_of_ahnqiraj_teleport_to_final_chamber::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_temple_of_ahnqiraj()
|
||||
{
|
||||
RegisterSpellScript(spell_temple_of_ahnqiraj_teleport_to_twin_emperors);
|
||||
RegisterSpellScript(spell_temple_of_ahnqiraj_teleport_to_final_chamber);
|
||||
}
|
||||
@@ -95,6 +95,7 @@ void AddSC_boss_twinemperors();
|
||||
void AddSC_boss_ouro();
|
||||
void AddSC_npc_anubisath_sentinel();
|
||||
void AddSC_instance_temple_of_ahnqiraj();
|
||||
void AddSC_temple_of_ahnqiraj();
|
||||
// Wailing caverns
|
||||
void AddSC_wailing_caverns();
|
||||
void AddSC_instance_wailing_caverns();
|
||||
@@ -208,6 +209,7 @@ void AddKalimdorScripts()
|
||||
AddSC_boss_ouro();
|
||||
AddSC_npc_anubisath_sentinel();
|
||||
AddSC_instance_temple_of_ahnqiraj();
|
||||
AddSC_temple_of_ahnqiraj();
|
||||
// Wailing caverns
|
||||
AddSC_wailing_caverns();
|
||||
AddSC_instance_wailing_caverns();
|
||||
|
||||
@@ -1729,6 +1729,67 @@ class spell_borean_tundra_arcane_prisoner_rescue : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 11896: Weakness to Lightning
|
||||
######*/
|
||||
|
||||
enum WeaknessToLightning
|
||||
{
|
||||
SPELL_POWER_OF_THE_STORM = 46424
|
||||
};
|
||||
|
||||
// 46550 - Weakness to Lightning: On Quest Complete
|
||||
class spell_borean_tundra_weakness_to_lightning_on_quest_complete : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_borean_tundra_weakness_to_lightning_on_quest_complete);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_POWER_OF_THE_STORM });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->RemoveAurasDueToSpell(SPELL_POWER_OF_THE_STORM);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_borean_tundra_weakness_to_lightning_on_quest_complete::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 11711: Coward Delivery... Under 30 Minutes or it's Free
|
||||
######*/
|
||||
|
||||
// 45958 - Signal Alliance
|
||||
class spell_borean_tundra_signal_alliance : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_borean_tundra_signal_alliance);
|
||||
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
uint32(spellInfo->GetEffect(EFFECT_0).CalcValue()),
|
||||
uint32(spellInfo->GetEffect(EFFECT_1).CalcValue())
|
||||
});
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (caster->HasAura(uint32(GetEffectInfo(EFFECT_0).CalcValue())))
|
||||
caster->CastSpell(caster, uint32(GetEffectValue()));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_borean_tundra_signal_alliance::HandleDummy, EFFECT_1, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_borean_tundra()
|
||||
{
|
||||
RegisterCreatureAI(npc_beryl_sorcerer);
|
||||
@@ -1756,4 +1817,6 @@ void AddSC_borean_tundra()
|
||||
RegisterSpellScript(spell_borean_tundra_neural_needle);
|
||||
RegisterSpellScript(spell_borean_tundra_prototype_neural_needle);
|
||||
RegisterSpellScript(spell_borean_tundra_arcane_prisoner_rescue);
|
||||
RegisterSpellScript(spell_borean_tundra_weakness_to_lightning_on_quest_complete);
|
||||
RegisterSpellScript(spell_borean_tundra_signal_alliance);
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ Script Data End */
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellScript.h"
|
||||
#include "WorldSession.h"
|
||||
|
||||
/*******************************************************
|
||||
@@ -255,8 +256,46 @@ private:
|
||||
EventMap events;
|
||||
};
|
||||
|
||||
// 54620 - Teleport Crystal: Teleport to Dalaran AICast Script
|
||||
class spell_dalaran_teleport_to_dalaran : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_dalaran_teleport_to_dalaran);
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
/// @todo: replace this with spell
|
||||
if (Player* target = GetHitUnit()->ToPlayer())
|
||||
target->TeleportTo(571, 5807.75f, 588.063f, 660.939f, 1.64659f);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dalaran_teleport_to_dalaran::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// 58622 - Teleport to Lake Wintergrasp
|
||||
class spell_dalaran_teleport_to_lake_wintergrasp : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_dalaran_teleport_to_lake_wintergrasp);
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
/// @todo: replace this with spell
|
||||
if (Player* target = GetHitUnit()->ToPlayer())
|
||||
target->TeleportTo(571, 5386.05f, 2840.97f, 418.675f, 3.14159f);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dalaran_teleport_to_lake_wintergrasp::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_dalaran()
|
||||
{
|
||||
RegisterCreatureAI(npc_mageguard_dalaran);
|
||||
RegisterCreatureAI(npc_minigob_manabonk);
|
||||
RegisterSpellScript(spell_dalaran_teleport_to_dalaran);
|
||||
RegisterSpellScript(spell_dalaran_teleport_to_lake_wintergrasp);
|
||||
}
|
||||
|
||||
@@ -974,6 +974,96 @@ class spell_dragonblight_corrosive_spit : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 12065, 12066: The Focus on the Beach
|
||||
######*/
|
||||
|
||||
enum TheFocusOnTheBeach
|
||||
{
|
||||
SPELL_LEY_LINE_INFORMATION_01 = 47391
|
||||
};
|
||||
|
||||
// 47393 - The Focus on the Beach: Quest Completion Script
|
||||
class spell_dragonblight_focus_on_the_beach_quest_completion_script : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_dragonblight_focus_on_the_beach_quest_completion_script);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_LEY_LINE_INFORMATION_01 });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->RemoveAurasDueToSpell(SPELL_LEY_LINE_INFORMATION_01);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_dragonblight_focus_on_the_beach_quest_completion_script::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 12083, 12084: Atop the Woodlands
|
||||
######*/
|
||||
|
||||
enum AtopTheWoodlands
|
||||
{
|
||||
SPELL_LEY_LINE_INFORMATION_02 = 47473
|
||||
};
|
||||
|
||||
// 47615 - Atop the Woodlands: Quest Completion Script
|
||||
class spell_dragonblight_atop_the_woodlands_quest_completion_script : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_dragonblight_atop_the_woodlands_quest_completion_script);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_LEY_LINE_INFORMATION_02 });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->RemoveAurasDueToSpell(SPELL_LEY_LINE_INFORMATION_02);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_dragonblight_atop_the_woodlands_quest_completion_script::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 12107, 12110: The End of the Line
|
||||
######*/
|
||||
|
||||
enum TheEndOfTheLine
|
||||
{
|
||||
SPELL_LEY_LINE_INFORMATION_03 = 47636
|
||||
};
|
||||
|
||||
// 47638 - The End of the Line: Quest Completion Script
|
||||
class spell_dragonblight_end_of_the_line_quest_completion_script : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_dragonblight_end_of_the_line_quest_completion_script);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_LEY_LINE_INFORMATION_03 });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->RemoveAurasDueToSpell(SPELL_LEY_LINE_INFORMATION_03);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_dragonblight_end_of_the_line_quest_completion_script::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_dragonblight()
|
||||
{
|
||||
RegisterCreatureAI(npc_commander_eligor_dawnbringer);
|
||||
@@ -992,4 +1082,7 @@ void AddSC_dragonblight()
|
||||
RegisterSpellScript(spell_dragonblight_surge_needle_teleporter);
|
||||
RegisterSpellScript(spell_dragonblight_fill_blood_unholy_frost_gem);
|
||||
RegisterSpellScript(spell_dragonblight_corrosive_spit);
|
||||
RegisterSpellScript(spell_dragonblight_focus_on_the_beach_quest_completion_script);
|
||||
RegisterSpellScript(spell_dragonblight_atop_the_woodlands_quest_completion_script);
|
||||
RegisterSpellScript(spell_dragonblight_end_of_the_line_quest_completion_script);
|
||||
}
|
||||
|
||||
@@ -953,6 +953,45 @@ class spell_warhead_fuse : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
SPELL_ENVISION_DRAKURU_01 = 47118,
|
||||
SPELL_ENVISION_DRAKURU_02 = 47150,
|
||||
SPELL_ENVISION_DRAKURU_03 = 47317,
|
||||
SPELL_ENVISION_DRAKURU_04 = 47406,
|
||||
SPELL_ENVISION_DRAKURU_05 = 50440
|
||||
};
|
||||
|
||||
// 47117 - Script Cast Summon Image of Drakuru
|
||||
// 47149 - Script Cast Summon Image of Drakuru 02
|
||||
// 47316 - Script Cast Summon Image of Drakuru 03
|
||||
// 47405 - Script Cast Summon Image of Drakuru 04
|
||||
// 50439 - Script Cast Summon Image of Drakuru 05
|
||||
class spell_grizzly_hills_script_cast_summon_image_of_drakuru : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_grizzly_hills_script_cast_summon_image_of_drakuru);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ _triggeredSpellId });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), _triggeredSpellId);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_grizzly_hills_script_cast_summon_image_of_drakuru::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
|
||||
uint32 _triggeredSpellId;
|
||||
|
||||
public:
|
||||
explicit spell_grizzly_hills_script_cast_summon_image_of_drakuru(uint32 triggeredSpellId) : _triggeredSpellId(triggeredSpellId) { }
|
||||
};
|
||||
|
||||
void AddSC_grizzly_hills()
|
||||
{
|
||||
RegisterCreatureAI(npc_emily);
|
||||
@@ -970,4 +1009,9 @@ void AddSC_grizzly_hills()
|
||||
RegisterSpellScript(spell_warhead_detonate);
|
||||
RegisterSpellScript(spell_vehicle_warhead_fuse);
|
||||
RegisterSpellScript(spell_warhead_fuse);
|
||||
RegisterSpellScriptWithArgs(spell_grizzly_hills_script_cast_summon_image_of_drakuru, "spell_grizzly_hills_script_cast_summon_image_of_drakuru_01", SPELL_ENVISION_DRAKURU_01);
|
||||
RegisterSpellScriptWithArgs(spell_grizzly_hills_script_cast_summon_image_of_drakuru, "spell_grizzly_hills_script_cast_summon_image_of_drakuru_02", SPELL_ENVISION_DRAKURU_02);
|
||||
RegisterSpellScriptWithArgs(spell_grizzly_hills_script_cast_summon_image_of_drakuru, "spell_grizzly_hills_script_cast_summon_image_of_drakuru_03", SPELL_ENVISION_DRAKURU_03);
|
||||
RegisterSpellScriptWithArgs(spell_grizzly_hills_script_cast_summon_image_of_drakuru, "spell_grizzly_hills_script_cast_summon_image_of_drakuru_04", SPELL_ENVISION_DRAKURU_04);
|
||||
RegisterSpellScriptWithArgs(spell_grizzly_hills_script_cast_summon_image_of_drakuru, "spell_grizzly_hills_script_cast_summon_image_of_drakuru_05", SPELL_ENVISION_DRAKURU_05);
|
||||
}
|
||||
|
||||
@@ -937,6 +937,84 @@ class spell_icecrown_summon_freed_crusader : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 13236, 13395: Army of the Damned
|
||||
######*/
|
||||
|
||||
enum ArmyOfTheDamned
|
||||
{
|
||||
SPELL_GIFT_OF_THE_LICH_KING = 58915,
|
||||
SPELL_CONSUME_MINIONS = 58919
|
||||
};
|
||||
|
||||
// 58916 - Gift of the Lich King
|
||||
class spell_icecrown_gift_of_the_lich_king : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_icecrown_gift_of_the_lich_king);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_GIFT_OF_THE_LICH_KING });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->CastSpell(GetHitUnit(), SPELL_GIFT_OF_THE_LICH_KING);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_icecrown_gift_of_the_lich_king::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// 58917 - Consume Minions
|
||||
class spell_icecrown_consume_minions : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_icecrown_consume_minions);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_CONSUME_MINIONS });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->CastSpell(GetHitUnit(), SPELL_CONSUME_MINIONS);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_icecrown_consume_minions::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 12995: Leave Our Mark
|
||||
######*/
|
||||
|
||||
enum LeaveOurMark
|
||||
{
|
||||
NPC_LEAVE_OUR_MARK_KILL_CREDIT_BUNNY = 30220
|
||||
};
|
||||
|
||||
// 23301 - Ebon Blade Banner
|
||||
class spell_icecrown_ebon_blade_banner : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_icecrown_ebon_blade_banner);
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Player* caster = GetCaster()->ToPlayer())
|
||||
caster->KilledMonsterCredit(NPC_LEAVE_OUR_MARK_KILL_CREDIT_BUNNY);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_icecrown_ebon_blade_banner::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_icecrown()
|
||||
{
|
||||
RegisterCreatureAI(npc_argent_valiant);
|
||||
@@ -951,4 +1029,7 @@ void AddSC_icecrown()
|
||||
RegisterSpellScript(spell_icecrown_through_the_eye_the_eye_of_the_lk);
|
||||
RegisterSpellScript(spell_icecrown_through_the_eye_kill_credit_to_master);
|
||||
RegisterSpellScript(spell_icecrown_summon_freed_crusader);
|
||||
RegisterSpellScript(spell_icecrown_gift_of_the_lich_king);
|
||||
RegisterSpellScript(spell_icecrown_consume_minions);
|
||||
RegisterSpellScript(spell_icecrown_ebon_blade_banner);
|
||||
}
|
||||
|
||||
@@ -906,6 +906,153 @@ class spell_zuldrak_chains_of_the_scourge : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 12721: Rampage
|
||||
######*/
|
||||
|
||||
enum Rampage
|
||||
{
|
||||
SPELL_RAMPAGE_SUMMON_AKILZON = 52934,
|
||||
SPELL_RAMPAGE_SUMMON_HALAZZI = 52935,
|
||||
SPELL_RAMPAGE_SUMMON_JANALAI = 52936,
|
||||
SPELL_RAMPAGE_SUMMON_NALORAKK = 52937
|
||||
};
|
||||
|
||||
// 52933 - Rampage: Summon Zul'Aman Gods Master
|
||||
class spell_zuldrak_rampage_summon_zulaman_gods_master : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_zuldrak_rampage_summon_zulaman_gods_master);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_RAMPAGE_SUMMON_AKILZON,
|
||||
SPELL_RAMPAGE_SUMMON_HALAZZI,
|
||||
SPELL_RAMPAGE_SUMMON_JANALAI,
|
||||
SPELL_RAMPAGE_SUMMON_NALORAKK
|
||||
});
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
caster->CastSpell(caster, SPELL_RAMPAGE_SUMMON_AKILZON);
|
||||
caster->CastSpell(caster, SPELL_RAMPAGE_SUMMON_HALAZZI);
|
||||
caster->CastSpell(caster, SPELL_RAMPAGE_SUMMON_JANALAI);
|
||||
caster->CastSpell(caster, SPELL_RAMPAGE_SUMMON_NALORAKK);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_zuldrak_rampage_summon_zulaman_gods_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 12627: Breaking Through Jin'Alai
|
||||
######*/
|
||||
|
||||
enum BreakingThroughJinAlai
|
||||
{
|
||||
SPELL_BREAKING_THROUGH_SUMMON_AKILZON = 51861,
|
||||
SPELL_BREAKING_THROUGH_SUMMON_JANALAI = 52452,
|
||||
SPELL_BREAKING_THROUGH_SUMMON_HALAZZI = 52453,
|
||||
SPELL_BREAKING_THROUGH_SUMMON_NALORAKK = 52454
|
||||
};
|
||||
|
||||
// 51862 - Breaking Through Jin'Alai: Summon Zul'Aman Gods Master
|
||||
class spell_zuldrak_breaking_through_summon_zulaman_gods_master : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_zuldrak_breaking_through_summon_zulaman_gods_master);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_BREAKING_THROUGH_SUMMON_AKILZON,
|
||||
SPELL_BREAKING_THROUGH_SUMMON_JANALAI,
|
||||
SPELL_BREAKING_THROUGH_SUMMON_HALAZZI,
|
||||
SPELL_BREAKING_THROUGH_SUMMON_NALORAKK
|
||||
});
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
caster->CastSpell(caster, SPELL_BREAKING_THROUGH_SUMMON_AKILZON);
|
||||
caster->CastSpell(caster, SPELL_BREAKING_THROUGH_SUMMON_JANALAI);
|
||||
caster->CastSpell(caster, SPELL_BREAKING_THROUGH_SUMMON_HALAZZI);
|
||||
caster->CastSpell(caster, SPELL_BREAKING_THROUGH_SUMMON_NALORAKK);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_zuldrak_breaking_through_summon_zulaman_gods_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 12630: Kickin' Nass and Takin' Manes
|
||||
######*/
|
||||
|
||||
enum KickinNassAndTakinManes
|
||||
{
|
||||
SPELL_SUMMON_NASS = 51865
|
||||
};
|
||||
|
||||
// 51864 - Player Summon Nass
|
||||
// 51889 - Quest Accept Summon Nass
|
||||
class spell_zuldrak_summon_nass : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_zuldrak_summon_nass);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SUMMON_NASS });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_SUMMON_NASS);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_zuldrak_summon_nass::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 12730: Convocation at Zol'Heb
|
||||
######*/
|
||||
|
||||
enum ConvocationAtZolHeb
|
||||
{
|
||||
SPELL_AKALIS_STUN = 52989
|
||||
};
|
||||
|
||||
// 53010 - Convocation at Zol'Heb: Removef Akali's Stun
|
||||
class spell_zuldrak_remove_akalis_stun : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_zuldrak_remove_akalis_stun);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_AKALIS_STUN });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->RemoveAurasDueToSpell(SPELL_AKALIS_STUN);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_zuldrak_remove_akalis_stun::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_zuldrak()
|
||||
{
|
||||
RegisterCreatureAI(npc_released_offspring_harkoa);
|
||||
@@ -925,4 +1072,8 @@ void AddSC_zuldrak()
|
||||
RegisterSpellScript(spell_zuldrak_cocooned_on_quest);
|
||||
RegisterSpellScript(spell_zuldrak_scourgewagon_explosion);
|
||||
RegisterSpellScript(spell_zuldrak_chains_of_the_scourge);
|
||||
RegisterSpellScript(spell_zuldrak_rampage_summon_zulaman_gods_master);
|
||||
RegisterSpellScript(spell_zuldrak_breaking_through_summon_zulaman_gods_master);
|
||||
RegisterSpellScript(spell_zuldrak_summon_nass);
|
||||
RegisterSpellScript(spell_zuldrak_remove_akalis_stun);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellScript.h"
|
||||
#include "Unit.h"
|
||||
|
||||
enum
|
||||
{
|
||||
SPELL_SUMMON_ARCANE_FIEND_1 = 32349,
|
||||
SPELL_SUMMON_ARCANE_FIEND_2 = 32353
|
||||
};
|
||||
|
||||
// 32348 - Summon Arcane Fiends
|
||||
class spell_mana_tombs_summon_arcane_fiends : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_mana_tombs_summon_arcane_fiends);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_SUMMON_ARCANE_FIEND_1,
|
||||
SPELL_SUMMON_ARCANE_FIEND_2
|
||||
});
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
caster->CastSpell(caster, SPELL_SUMMON_ARCANE_FIEND_1);
|
||||
caster->CastSpell(caster, SPELL_SUMMON_ARCANE_FIEND_2);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_mana_tombs_summon_arcane_fiends::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_mana_tombs()
|
||||
{
|
||||
RegisterSpellScript(spell_mana_tombs_summon_arcane_fiends);
|
||||
}
|
||||
@@ -25,6 +25,7 @@ void AddSC_instance_auchenai_crypts();
|
||||
void AddSC_boss_pandemonius();
|
||||
void AddSC_boss_nexusprince_shaffar();
|
||||
void AddSC_instance_mana_tombs();
|
||||
void AddSC_mana_tombs();
|
||||
|
||||
// Auchindoun - Sekketh Halls
|
||||
void AddSC_boss_darkweaver_syth();
|
||||
@@ -148,6 +149,7 @@ void AddOutlandScripts()
|
||||
AddSC_boss_pandemonius();
|
||||
AddSC_boss_nexusprince_shaffar();
|
||||
AddSC_instance_mana_tombs();
|
||||
AddSC_mana_tombs();
|
||||
|
||||
// Auchindoun - Sekketh Halls
|
||||
AddSC_boss_darkweaver_syth();
|
||||
|
||||
@@ -1013,6 +1013,36 @@ class spell_oscillating_field : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 10556: Scratches
|
||||
######*/
|
||||
|
||||
enum Scratches
|
||||
{
|
||||
SPELL_LASHHAN_CHANNELING = 36904
|
||||
};
|
||||
|
||||
// 37028 - Dispelling Analysis
|
||||
class spell_bem_dispelling_analysis : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_bem_dispelling_analysis);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_LASHHAN_CHANNELING });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->RemoveAurasDueToSpell(SPELL_LASHHAN_CHANNELING);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_bem_dispelling_analysis::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_blades_edge_mountains()
|
||||
{
|
||||
new npc_nether_drake();
|
||||
@@ -1022,4 +1052,5 @@ void AddSC_blades_edge_mountains()
|
||||
new go_apexis_relic();
|
||||
new npc_oscillating_frequency_scanner_master_bunny();
|
||||
new spell_oscillating_field();
|
||||
RegisterSpellScript(spell_bem_dispelling_analysis);
|
||||
}
|
||||
|
||||
@@ -850,6 +850,39 @@ class spell_hellfire_peninsula_send_vengeance_to_player : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
enum Translocation
|
||||
{
|
||||
SPELL_TRANSLOCATION_FALCON_WATCH_TOWER_DOWN = 30140,
|
||||
SPELL_TRANSLOCATION_FALCON_WATCH_TOWER_UP = 30141
|
||||
};
|
||||
|
||||
// 25650 - Translocate
|
||||
// 25652 - Translocate
|
||||
class spell_hellfire_peninsula_translocation_falcon_watch : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_hellfire_peninsula_translocation_falcon_watch);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ _triggeredSpellId });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), _triggeredSpellId);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_hellfire_peninsula_translocation_falcon_watch::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
|
||||
uint32 _triggeredSpellId;
|
||||
|
||||
public:
|
||||
explicit spell_hellfire_peninsula_translocation_falcon_watch(Translocation triggeredSpellId) : _triggeredSpellId(triggeredSpellId) { }
|
||||
};
|
||||
|
||||
void AddSC_hellfire_peninsula()
|
||||
{
|
||||
new npc_colonel_jules();
|
||||
@@ -860,4 +893,6 @@ void AddSC_hellfire_peninsula()
|
||||
RegisterCreatureAI(npc_fear_controller);
|
||||
RegisterSpellScript(spell_hellfire_peninsula_send_vengeance);
|
||||
RegisterSpellScript(spell_hellfire_peninsula_send_vengeance_to_player);
|
||||
RegisterSpellScriptWithArgs(spell_hellfire_peninsula_translocation_falcon_watch, "spell_hellfire_peninsula_translocation_falcon_watch_tower_down", SPELL_TRANSLOCATION_FALCON_WATCH_TOWER_DOWN);
|
||||
RegisterSpellScriptWithArgs(spell_hellfire_peninsula_translocation_falcon_watch, "spell_hellfire_peninsula_translocation_falcon_watch_tower_up", SPELL_TRANSLOCATION_FALCON_WATCH_TOWER_UP);
|
||||
}
|
||||
|
||||
@@ -1662,6 +1662,75 @@ class spell_shadowmoon_quest_credit_crazed_colossus : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 10637, 10688: A Necessary Distraction
|
||||
######*/
|
||||
|
||||
enum ANecessaryDistraction
|
||||
{
|
||||
SPELL_BANISH_AZALOTH = 37833
|
||||
};
|
||||
|
||||
// 37834 - Unbanish Azaloth
|
||||
class spell_shadowmoon_unbanish_azaloth : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_shadowmoon_unbanish_azaloth);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_BANISH_AZALOTH });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->RemoveAurasDueToSpell(SPELL_BANISH_AZALOTH);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_shadowmoon_unbanish_azaloth::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 10672: Frankly, It Makes No Sense...
|
||||
######*/
|
||||
|
||||
enum FranklyItMakesNoSense
|
||||
{
|
||||
SPELL_ARCANO_SCORP_CONTROL_01 = 37868,
|
||||
SPELL_ARCANO_SCORP_CONTROL_02 = 37893,
|
||||
SPELL_ARCANO_SCORP_CONTROL_03 = 37895
|
||||
};
|
||||
|
||||
// 37867 - Arcano-Scorp Control
|
||||
// 37892 - Arcano-Scorp Control
|
||||
// 37894 - Arcano-Scorp Control
|
||||
class spell_shadowmoon_arcano_scorp_control : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_shadowmoon_arcano_scorp_control);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ _triggeredSpellId });
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), _triggeredSpellId);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_shadowmoon_arcano_scorp_control::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
|
||||
uint32 _triggeredSpellId;
|
||||
|
||||
public:
|
||||
explicit spell_shadowmoon_arcano_scorp_control(uint32 triggeredSpellId) : _triggeredSpellId(triggeredSpellId) { }
|
||||
};
|
||||
|
||||
void AddSC_shadowmoon_valley()
|
||||
{
|
||||
new npc_invis_infernal_caster();
|
||||
@@ -1678,4 +1747,8 @@ void AddSC_shadowmoon_valley()
|
||||
new npc_shadowmoon_tuber_node();
|
||||
RegisterSpellScript(spell_shadowmoon_illidari_agent_illusion);
|
||||
RegisterSpellScript(spell_shadowmoon_quest_credit_crazed_colossus);
|
||||
RegisterSpellScript(spell_shadowmoon_unbanish_azaloth);
|
||||
RegisterSpellScriptWithArgs(spell_shadowmoon_arcano_scorp_control, "spell_shadowmoon_arcano_scorp_control_01", SPELL_ARCANO_SCORP_CONTROL_01);
|
||||
RegisterSpellScriptWithArgs(spell_shadowmoon_arcano_scorp_control, "spell_shadowmoon_arcano_scorp_control_02", SPELL_ARCANO_SCORP_CONTROL_02);
|
||||
RegisterSpellScriptWithArgs(spell_shadowmoon_arcano_scorp_control, "spell_shadowmoon_arcano_scorp_control_03", SPELL_ARCANO_SCORP_CONTROL_03);
|
||||
}
|
||||
|
||||
@@ -317,6 +317,43 @@ class spell_terokkar_cancel_shadowy_disguise : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
enum Translocation
|
||||
{
|
||||
SPELL_TRANSLOCATION_FIREWING_POINT_BUILDING_DOWN = 32572,
|
||||
SPELL_TRANSLOCATION_FIREWING_POINT_BUILDING_UP = 32568,
|
||||
SPELL_TRANSLOCATION_FIREWING_POINT_TOWER_DOWN = 32569,
|
||||
SPELL_TRANSLOCATION_FIREWING_POINT_TOWER_UP = 32571
|
||||
};
|
||||
|
||||
// 25143 - Translocate
|
||||
// 29128 - Translocate
|
||||
// 29129 - Translocate
|
||||
// 25140 - Translocate
|
||||
class spell_terokkar_translocation_firewing_point : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_terokkar_translocation_firewing_point);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ _triggeredSpellId });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), _triggeredSpellId);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_terokkar_translocation_firewing_point::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
|
||||
uint32 _triggeredSpellId;
|
||||
|
||||
public:
|
||||
explicit spell_terokkar_translocation_firewing_point(Translocation triggeredSpellId) : _triggeredSpellId(triggeredSpellId) { }
|
||||
};
|
||||
|
||||
void AddSC_terokkar_forest()
|
||||
{
|
||||
new npc_unkor_the_ruthless();
|
||||
@@ -326,4 +363,8 @@ void AddSC_terokkar_forest()
|
||||
RegisterSpellScript(spell_terokkar_shadowy_disguise_cast_from_questgiver);
|
||||
RegisterSpellScript(spell_terokkar_shadowy_disguise);
|
||||
RegisterSpellScript(spell_terokkar_cancel_shadowy_disguise);
|
||||
RegisterSpellScriptWithArgs(spell_terokkar_translocation_firewing_point, "spell_terokkar_translocation_firewing_point_building_down", SPELL_TRANSLOCATION_FIREWING_POINT_BUILDING_DOWN);
|
||||
RegisterSpellScriptWithArgs(spell_terokkar_translocation_firewing_point, "spell_terokkar_translocation_firewing_point_building_up", SPELL_TRANSLOCATION_FIREWING_POINT_BUILDING_UP);
|
||||
RegisterSpellScriptWithArgs(spell_terokkar_translocation_firewing_point, "spell_terokkar_translocation_firewing_point_tower_down", SPELL_TRANSLOCATION_FIREWING_POINT_TOWER_DOWN);
|
||||
RegisterSpellScriptWithArgs(spell_terokkar_translocation_firewing_point, "spell_terokkar_translocation_firewing_point_tower_up", SPELL_TRANSLOCATION_FIREWING_POINT_TOWER_UP);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user