Skip to content

Commit 502afe5

Browse files
authored
Scripts/Spells: Get rid of remaining database spell scripts (#31471)
1 parent 38b1977 commit 502afe5

11 files changed

Lines changed: 605 additions & 24 deletions

File tree

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
--
2+
UPDATE `creature_template` SET `unit_flags` = 768 WHERE `entry` = 38374;
3+
UPDATE `creature_template_addon` SET `SheathState` = 1 WHERE `entry` = 38374;
4+
5+
DELETE FROM `spell_scripts` WHERE `id` IN (71848,71874);
6+
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
7+
'spell_pet_gen_toxic_wasteling_find_target',
8+
'spell_pet_gen_toxic_wasteling_devour');
9+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
10+
(71848, 'spell_pet_gen_toxic_wasteling_find_target'),
11+
(71874, 'spell_pet_gen_toxic_wasteling_devour');
12+
13+
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 38374;
14+
DELETE FROM `smart_scripts` WHERE `entryorguid` = 38374 AND `source_type` = 0;
15+
DELETE FROM `smart_scripts` WHERE `entryorguid` = 3837400 AND `source_type` = 9;
16+
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
17+
(38374,0,0,0,31,0,100,0,71847,0,0,0,0,80,3837400,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Toxic Wasteling - On Target Spellhit 'Toxic Wasteling Attack' - Run Script"),
18+
-- After jumping default follow movement is launched, making it work not like on retail
19+
(3837400,9,0,0,0,0,100,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Toxic Wasteling - On Script - Stop Follow"),
20+
(3837400,9,1,0,0,0,100,0,1500,1500,0,0,0,11,71874,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Toxic Wasteling - On Script - Cast 'Toxic Wasteling Devour'"),
21+
(3837400,9,3,0,0,0,100,0,1500,1500,0,0,0,11,71854,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Toxic Wasteling - On Script - Cast 'Toxic Wasteling Grow'"),
22+
(3837400,9,4,0,0,0,100,0,2500,2500,0,0,0,29,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,"Toxic Wasteling - On Script - Follow Owner");
23+
24+
--
25+
DELETE FROM `spell_scripts` WHERE `id` = 50499;
26+
27+
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
28+
'spell_item_disco_ball_listening_to_music_periodic',
29+
'spell_item_disco_ball_listening_to_music_check',
30+
'spell_item_disco_ball_listening_to_music_parent');
31+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
32+
(50493, 'spell_item_disco_ball_listening_to_music_periodic'),
33+
(50492, 'spell_item_disco_ball_listening_to_music_check'),
34+
(50499, 'spell_item_disco_ball_listening_to_music_parent');
35+
36+
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 13 AND `SourceEntry` = 50492;
37+
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
38+
(13,1,50492,0,0,31,0,3,27989,0,0,0,0,"","Group 0: Spell 'Listening to Music CHECK' (Effect 0) targets creature 'D.I.S.C.O.'");
39+
40+
DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (50493,50317,-50493,-50314);
41+
42+
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27989;
43+
DELETE FROM `smart_scripts` WHERE `entryorguid` = 27989 AND `source_type` = 0;
44+
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
45+
(27989,0,0,0,11,0,100,0,0,0,0,0,0,11,50314,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"D.I.S.C.O. - On Spawn - Cast 'Disco Ball'"),
46+
(27989,0,1,0,11,0,100,0,0,0,0,0,0,11,50487,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"D.I.S.C.O. - On Spawn - Cast 'Create Disco Ball Visual Object'"),
47+
(27989,0,2,0,11,0,100,0,0,0,0,0,0,11,50493,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"D.I.S.C.O. - On Spawn - Cast 'Listening to Music'"),
48+
(27989,0,3,0,11,0,100,0,0,0,0,0,0,11,28782,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"D.I.S.C.O. - On Spawn - Cast 'Stun Self + Immune'");
49+
50+
UPDATE `creature_template_addon` SET `auras` = '' WHERE `entry` = 27989;
51+
52+
--
53+
DELETE FROM `spell_scripts` WHERE `id` = 49899;
54+
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_wintergrasp_activate_robotic_arms';
55+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
56+
(49899, 'spell_wintergrasp_activate_robotic_arms');
57+
58+
--
59+
DELETE FROM `spell_scripts` WHERE `id` IN (49625,49634);
60+
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
61+
'spell_fjord_braves_flare',
62+
'spell_fjord_sergeants_flare');
63+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
64+
(49625, 'spell_fjord_braves_flare'),
65+
(49634, 'spell_fjord_sergeants_flare');
66+
67+
--
68+
DELETE FROM `spell_scripts` WHERE `id` = 44563;
69+
70+
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24823;
71+
DELETE FROM `smart_scripts` WHERE `entryorguid` = 24823 AND `source_type` = 0;
72+
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
73+
(24823,0,0,0,8,0,100,512,44563,0,0,0,0,11,44569,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Iron Rune Construct - On Spellhit 'Bluff Quest Credit' - Cast 'Bluff Quest Credit'");
74+
75+
--
76+
DELETE FROM `spell_scripts` WHERE `id` = 51659;
77+
78+
DELETE FROM `smart_scripts` WHERE `entryorguid` = 28379 AND `source_type` = 0 AND `id` = 2;
79+
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
80+
(28379,0,2,0,8,0,100,0,51659,0,0,0,0,11,51656,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Shattertusk Mammoth - On Spellhit 'Apply Harness' - Cast 'Mount Mammoth Cue'");
81+
82+
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_sholazar_mount_mammoth_cue';
83+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
84+
(51656, 'spell_sholazar_mount_mammoth_cue');
85+
86+
--
87+
DELETE FROM `spell_scripts` WHERE `id` = 21977;
88+
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_warr_warriors_wrath';
89+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
90+
(21977, 'spell_warr_warriors_wrath');
91+
92+
--
93+
DELETE FROM `spell_scripts` WHERE `id` = 49203;
94+
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_dk_hungering_cold_init';
95+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
96+
(49203, 'spell_dk_hungering_cold_init');
97+
98+
--
99+
DELETE FROM `spell_scripts` WHERE `id` = 31231;
100+
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_rog_cheat_death_cooldown';
101+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
102+
(31231, 'spell_rog_cheat_death_cooldown');
103+
104+
--
105+
DELETE FROM `spell_scripts` WHERE `id` = 51662;
106+
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_rog_hunger_for_blood';
107+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
108+
(51662, 'spell_rog_hunger_for_blood');
109+
110+
--
111+
DELETE FROM `spell_scripts` WHERE `id` = 40109;
112+
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_bem_kfc_the_bolt';
113+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
114+
(40109, 'spell_bem_kfc_the_bolt');
115+
116+
--
117+
DELETE FROM `spell_scripts` WHERE `id` = 38173;
118+
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_bem_summon_spirit';
119+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
120+
(38173, 'spell_bem_summon_spirit');
121+
122+
--
123+
DELETE FROM `spell_scripts` WHERE `id` IN (45685,45691);
124+
125+
UPDATE `spell_script_names` SET `ScriptName` = 'spell_borean_tundra_shortening_blaster' WHERE `ScriptName` = 'spell_q11653_shortening_blaster';
126+
127+
DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
128+
'spell_borean_tundra_magnataur_on_death_1',
129+
'spell_borean_tundra_magnataur_on_death_2');
130+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
131+
(45691, 'spell_borean_tundra_magnataur_on_death_1'),
132+
(45685, 'spell_borean_tundra_magnataur_on_death_2');
133+
134+
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 22 AND `SourceEntry` IN (25432,25434) AND `SourceId` = 0;
135+
136+
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (25432,25434) AND `source_type` = 0;
137+
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
138+
(25432,0,0,0,2,0,100,1,0,30,0,0,0,11,50420,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Mate of Magmothregar - Between 0-30% Health - Cast 'Enrage' (No Repeat)"),
139+
(25432,0,1,0,83,0,100,0,50420,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Mate of Magmothregar - On Spell Cast 'Enrage' - Say Line 0"),
140+
(25432,0,2,0,6,0,100,0,0,0,0,0,0,11,45691,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Mate of Magmothregar - On Death - Cast 'Hah... : Magnataur On Death 1'"),
141+
142+
(25434,0,0,0,0,0,100,0,0,5000,10000,15000,0,11,50413,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Magmoth Crusher - In Combat - Cast 'Magnataur Charge'"),
143+
(25434,0,1,0,0,0,100,0,5000,10000,10000,15000,0,11,50410,0,0,0,0,0,2,0,0,0,0,0,0,0,0,"Magmoth Crusher - In Combat - Cast 'Tusk Strike'"),
144+
(25434,0,2,0,6,0,100,0,0,0,0,0,0,11,45691,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Magmoth Crusher - On Death - Cast 'Hah... : Magnataur On Death 1'");

src/server/scripts/Northrend/zone_borean_tundra.cpp

Lines changed: 90 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1348,43 +1348,108 @@ struct npc_bloodmage_laurith : public ScriptedAI
13481348
ObjectGuid _playerGUID;
13491349
};
13501350

1351-
enum ShorteningBlaster
1351+
/*######
1352+
## Quest 11653: Hah... You're Not So Big Now!
1353+
######*/
1354+
1355+
enum HahYoureNotSoBigNow
13521356
{
1353-
SPELL_SHORTENING_BLASTER_BIGGER1 = 45674,
1354-
SPELL_SHORTENING_BLASTER_SHRUNK1 = 45675,
1355-
SPELL_SHORTENING_BLASTER_YELLOW1 = 45678,
1356-
SPELL_SHORTENING_BLASTER_GHOST1 = 45682,
1357-
SPELL_SHORTENING_BLASTER_POLYMORPH1 = 45684,
1358-
1359-
SPELL_SHORTENING_BLASTER_BIGGER2 = 45673,
1360-
SPELL_SHORTENING_BLASTER_SHRUNK2 = 45672,
1361-
SPELL_SHORTENING_BLASTER_YELLOW2 = 45677,
1362-
SPELL_SHORTENING_BLASTER_GHOST2 = 45682,
1363-
SPELL_SHORTENING_BLASTER_POLYMORPH2 = 45683
1357+
SPELL_BIGGER_1 = 45674,
1358+
SPELL_SHRUNK_1 = 45675,
1359+
SPELL_YELLOW_1 = 45678,
1360+
SPELL_GHOST_1 = 45682,
1361+
SPELL_POLYMORPH_1 = 45684,
1362+
1363+
SPELL_BIGGER_2 = 45673,
1364+
SPELL_SHRUNK_2 = 45672,
1365+
SPELL_YELLOW_2 = 45677,
1366+
SPELL_GHOST_2 = 45681,
1367+
SPELL_POLYMORPH_2 = 45683,
1368+
1369+
SPELL_MAGNATAUR_KILL_CREDIT = 45686,
1370+
SPELL_MAGNATAUR_ON_DEATH_2 = 45685
13641371
};
13651372

1373+
static constexpr std::array<uint32, 5> BlasterCasterSpells = { SPELL_BIGGER_1, SPELL_SHRUNK_1, SPELL_YELLOW_1, SPELL_GHOST_1, SPELL_POLYMORPH_1 };
1374+
static constexpr std::array<uint32, 5> BlasterTargetSpells = { SPELL_BIGGER_2, SPELL_SHRUNK_2, SPELL_YELLOW_2, SPELL_GHOST_2, SPELL_POLYMORPH_2 };
1375+
13661376
// 45668 - Crafty's Ultra-Advanced Proto-Typical Shortening Blaster
1367-
class spell_q11653_shortening_blaster : public SpellScript
1377+
class spell_borean_tundra_shortening_blaster : public SpellScript
13681378
{
1369-
PrepareSpellScript(spell_q11653_shortening_blaster);
1379+
PrepareSpellScript(spell_borean_tundra_shortening_blaster);
13701380

1371-
void HandleScript(SpellEffIndex /* effIndex */)
1381+
bool Validate(SpellInfo const* /*spellInfo*/) override
1382+
{
1383+
return ValidateSpellInfo(BlasterCasterSpells) && ValidateSpellInfo(BlasterTargetSpells);
1384+
}
1385+
1386+
void HandleScript(SpellEffIndex /*effIndex*/)
13721387
{
13731388
Unit* caster = GetCaster();
13741389
Unit* target = GetHitUnit();
13751390

1376-
uint32 spellId = RAND(SPELL_SHORTENING_BLASTER_BIGGER1, SPELL_SHORTENING_BLASTER_SHRUNK1, SPELL_SHORTENING_BLASTER_YELLOW1,
1377-
SPELL_SHORTENING_BLASTER_GHOST1, SPELL_SHORTENING_BLASTER_POLYMORPH1);
1378-
uint32 spellId2 = RAND(SPELL_SHORTENING_BLASTER_BIGGER2, SPELL_SHORTENING_BLASTER_SHRUNK2, SPELL_SHORTENING_BLASTER_YELLOW2,
1379-
SPELL_SHORTENING_BLASTER_GHOST2, SPELL_SHORTENING_BLASTER_POLYMORPH2);
1391+
caster->CastSpell(caster, Trinity::Containers::SelectRandomContainerElement(BlasterCasterSpells));
1392+
target->CastSpell(target, Trinity::Containers::SelectRandomContainerElement(BlasterTargetSpells));
1393+
}
1394+
1395+
void Register() override
1396+
{
1397+
OnEffectHitTarget += SpellEffectFn(spell_borean_tundra_shortening_blaster::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
1398+
}
1399+
};
1400+
1401+
// 45691 - Hah... : Magnataur On Death 1
1402+
class spell_borean_tundra_magnataur_on_death_1 : public SpellScript
1403+
{
1404+
PrepareSpellScript(spell_borean_tundra_magnataur_on_death_1);
1405+
1406+
bool Validate(SpellInfo const* /*spellInfo*/) override
1407+
{
1408+
return ValidateSpellInfo(BlasterTargetSpells) && ValidateSpellInfo({ SPELL_MAGNATAUR_KILL_CREDIT, SPELL_MAGNATAUR_ON_DEATH_2 });
1409+
}
1410+
1411+
void HandleScript(SpellEffIndex /*effIndex*/)
1412+
{
1413+
Creature* caster = GetCaster()->ToCreature();
1414+
if (!caster)
1415+
return;
1416+
1417+
Player* player = caster->GetLootRecipient();
1418+
if (!player)
1419+
return;
1420+
1421+
if (std::ranges::none_of(BlasterTargetSpells, [caster](uint32 spell) { return caster->HasAura(spell); }))
1422+
return;
1423+
1424+
player->CastSpell(player, SPELL_MAGNATAUR_KILL_CREDIT);
1425+
caster->CastSpell(caster, SPELL_MAGNATAUR_ON_DEATH_2);
1426+
}
1427+
1428+
void Register() override
1429+
{
1430+
OnEffectHit += SpellEffectFn(spell_borean_tundra_magnataur_on_death_1::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
1431+
}
1432+
};
13801433

1381-
caster->CastSpell(caster, spellId, true);
1382-
target->CastSpell(target, spellId2, true);
1434+
// 45685 - Hah... : Magnataur On Death 2
1435+
class spell_borean_tundra_magnataur_on_death_2 : public SpellScript
1436+
{
1437+
PrepareSpellScript(spell_borean_tundra_magnataur_on_death_2);
1438+
1439+
bool Validate(SpellInfo const* /*spellInfo*/) override
1440+
{
1441+
return ValidateSpellInfo(BlasterTargetSpells);
1442+
}
1443+
1444+
void HandleDummy(SpellEffIndex /*effIndex*/)
1445+
{
1446+
for (uint32 spell : BlasterTargetSpells)
1447+
GetCaster()->RemoveAurasDueToSpell(spell);
13831448
}
13841449

13851450
void Register() override
13861451
{
1387-
OnEffectHitTarget += SpellEffectFn(spell_q11653_shortening_blaster::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
1452+
OnEffectHit += SpellEffectFn(spell_borean_tundra_magnataur_on_death_2::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
13881453
}
13891454
};
13901455

@@ -2056,7 +2121,9 @@ void AddSC_borean_tundra()
20562121
RegisterSpellScript(spell_windsoul_totem_aura);
20572122
RegisterSpellScript(spell_q11719_bloodspore_ruination_45997);
20582123
RegisterCreatureAI(npc_bloodmage_laurith);
2059-
RegisterSpellScript(spell_q11653_shortening_blaster);
2124+
RegisterSpellScript(spell_borean_tundra_shortening_blaster);
2125+
RegisterSpellScript(spell_borean_tundra_magnataur_on_death_1);
2126+
RegisterSpellScript(spell_borean_tundra_magnataur_on_death_2);
20602127
RegisterSpellScript(spell_borean_tundra_nerubar_web_random_unit_not_on_quest);
20612128
RegisterSpellScript(spell_borean_tundra_nerubar_web_random_unit_not_on_quest_dummy);
20622129
RegisterSpellScript(spell_borean_tundra_nerubar_web_random_unit_on_quest_dummy);

src/server/scripts/Northrend/zone_howling_fjord.cpp

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -837,6 +837,66 @@ class spell_fjord_worg_disguise_dummy : public AuraScript
837837
}
838838
};
839839

840+
/*######
841+
## Quest 11259: Towers of Certain Doom
842+
######*/
843+
844+
enum TowersOfCertainDoomHorde
845+
{
846+
SPELL_BRAVES_FLARE_EFFECT = 43106
847+
};
848+
849+
// 49625 - Brave's Flare
850+
class spell_fjord_braves_flare : public SpellScript
851+
{
852+
PrepareSpellScript(spell_fjord_braves_flare);
853+
854+
bool Validate(SpellInfo const* /*spellInfo*/) override
855+
{
856+
return ValidateSpellInfo({ SPELL_BRAVES_FLARE_EFFECT });
857+
}
858+
859+
void HandleAfterCast()
860+
{
861+
GetCaster()->CastSpell(GetCaster(), SPELL_BRAVES_FLARE_EFFECT, true);
862+
}
863+
864+
void Register() override
865+
{
866+
AfterCast += SpellCastFn(spell_fjord_braves_flare::HandleAfterCast);
867+
}
868+
};
869+
870+
/*######
871+
## Quest 11245: Towers of Certain Doom
872+
######*/
873+
874+
enum TowersOfCertainDoomAlliance
875+
{
876+
SPELL_SERGEANTS_FLARE_EFFECT = 43068
877+
};
878+
879+
// 49634 - Sergeant's Flare
880+
class spell_fjord_sergeants_flare : public SpellScript
881+
{
882+
PrepareSpellScript(spell_fjord_sergeants_flare);
883+
884+
bool Validate(SpellInfo const* /*spellInfo*/) override
885+
{
886+
return ValidateSpellInfo({ SPELL_SERGEANTS_FLARE_EFFECT });
887+
}
888+
889+
void HandleAfterCast()
890+
{
891+
GetCaster()->CastSpell(GetCaster(), SPELL_SERGEANTS_FLARE_EFFECT, true);
892+
}
893+
894+
void Register() override
895+
{
896+
AfterCast += SpellCastFn(spell_fjord_sergeants_flare::HandleAfterCast);
897+
}
898+
};
899+
840900
void AddSC_howling_fjord()
841901
{
842902
RegisterCreatureAI(npc_daegarn);
@@ -860,4 +920,6 @@ void AddSC_howling_fjord()
860920
RegisterSpellScript(spell_fjord_taxi_to_explorers_league_outpost);
861921
RegisterSpellScript(spell_fjord_worg_disguise);
862922
RegisterSpellScript(spell_fjord_worg_disguise_dummy);
923+
RegisterSpellScript(spell_fjord_braves_flare);
924+
RegisterSpellScript(spell_fjord_sergeants_flare);
863925
}

0 commit comments

Comments
 (0)