Skip to content

Commit f536e1a

Browse files
authored
Scripts/Quest: Update 'Guide Our Sights' (TrinityCore#31132)
1 parent 0793cd7 commit f536e1a

File tree

2 files changed

+102
-9
lines changed

2 files changed

+102
-9
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
--
2+
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (23957,23972) AND `source_type` = 0;
3+
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (2395700,2397200,2395701,2397201) AND `source_type` = 9;
4+
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
5+
(23957,0,0,0,8,0,100,0,43076,0,0,0,0,80,2395700,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger East - On Spellhit 'Mark Cannon' - Run Script"),
6+
(23957,0,1,0,8,0,100,0,43078,0,0,0,0,80,2395701,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger East - On Spellhit 'Vengeance Landing Cannonfire' - Run Script"),
7+
8+
(2395700,9,0,0,0,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger East - On Script - Say Line 0"),
9+
(2395700,9,1,0,0,0,100,0,0,0,0,0,0,33,23957,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger East - On Script - Quest Credit 'Guide Our Sights'"),
10+
(2395700,9,2,0,0,0,100,0,5000,5000,0,0,0,45,0,1,0,0,0,0,10,120360,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger East - On Script - Set Data 0 1 (Vengeance Landing Cannon Controller)"),
11+
12+
(2395701,9,0,0,0,0,100,0,0,0,0,0,0,11,43080,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger East - On Script - Cast 'Quest - Howling Fjord - Guide Our Sights - FX Master'"),
13+
14+
(23972,0,0,0,8,0,100,0,43076,0,0,0,0,80,2397200,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger West - On Spellhit 'Mark Cannon' - Run Script"),
15+
(23972,0,1,0,8,0,100,0,43079,0,0,0,0,80,2397201,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger West - On Spellhit 'Vengeance Landing Cannonfire' - Run Script"),
16+
17+
(2397200,9,0,0,0,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger West - On Script - Say Line 0"),
18+
(2397200,9,1,0,0,0,100,0,0,0,0,0,0,33,23972,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger West - On Script - Quest Credit 'Guide Our Sights'"),
19+
(2397200,9,2,0,0,0,100,0,5000,5000,0,0,0,45,0,2,0,0,0,0,10,120353,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger West - On Script - Set Data 0 2 (Vengeance Landing Cannon Controller)"),
20+
21+
(2397201,9,0,0,0,0,100,0,0,0,0,0,0,11,43080,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Westguard Cannon Credit Trigger West - On Script - Cast 'Quest - Howling Fjord - Guide Our Sights - FX Master'");
22+
23+
DELETE FROM `smart_scripts` WHERE `entryorguid` = 23805 AND `source_type` = 0 AND `id` IN (1,2);
24+
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
25+
(23805,0,1,0,38,0,100,0,0,1,0,0,0,11,43078,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Vengeance Landing Cannon Controller - On Data Set 0 1 - Cast 'Vengeance Landing Cannonfire'"),
26+
(23805,0,2,0,38,0,100,0,0,2,0,0,0,11,43079,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Vengeance Landing Cannon Controller - On Data Set 0 2 - Cast 'Vengeance Landing Cannonfire'");
27+
28+
DELETE FROM `creature_text` WHERE `CreatureID` IN (23957,23972);
29+
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
30+
(23957,0,0,"Cannonfire rings off in the distance, followed by the sound of a whistling cannonball coming from above.",16,0,100,0,0,0,22784,0,"Westguard Cannon Credit Trigger East"),
31+
(23972,0,0,"Cannonfire rings off in the distance, followed by the sound of a whistling cannonball coming from above.",16,0,100,0,0,0,22784,0,"Westguard Cannon Credit Trigger West");
32+
33+
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 13 AND `SourceEntry` IN (43078,43079,43080);
34+
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
35+
(13,1,43078,0,0,31,0,3,23957,0,0,0,0,"","Group 0: Spell 'Vengeance Landing Cannonfire' (Effect 0) targets creature 'Westguard Cannon Credit Trigger East'"),
36+
(13,1,43079,0,0,31,0,3,23972,0,0,0,0,"","Group 0: Spell 'Vengeance Landing Cannonfire' (Effect 0) targets creature 'Westguard Cannon Credit Trigger West'"),
37+
38+
(13,4,43080,0,0,31,0,5,186391,0,0,0,0,"","Group 0: Spell 'Quest - Howling Fjord - Guide Our Sights - FX Master' (Effect 2) targets object 'Westguard Cannon'");
39+
40+
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_fjord_guide_our_sights_fx_master';
41+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
42+
(43080, 'spell_fjord_guide_our_sights_fx_master');

src/server/scripts/Northrend/zone_howling_fjord.cpp

Lines changed: 60 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,44 @@ struct npc_daegarn : public ScriptedAI
205205
SummonList _summons;
206206
};
207207

208+
/*######
209+
## Quest 11232: Guide Our Sights
210+
######*/
211+
212+
enum GuideOurSights
213+
{
214+
SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_01 = 43081,
215+
SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_02 = 43082
216+
};
217+
218+
// 43080 - Quest - Howling Fjord - Guide Our Sights - FX Master
219+
class spell_fjord_guide_our_sights_fx_master : public SpellScript
220+
{
221+
PrepareSpellScript(spell_fjord_guide_our_sights_fx_master);
222+
223+
bool Validate(SpellInfo const* /*spellInfo*/) override
224+
{
225+
return ValidateSpellInfo(
226+
{
227+
SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_01,
228+
SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_02
229+
});
230+
}
231+
232+
void HandleScript(SpellEffIndex /*effIndex*/)
233+
{
234+
Unit* caster = GetCaster();
235+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_01);
236+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_02);
237+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_02);
238+
}
239+
240+
void Register() override
241+
{
242+
OnEffectHit += SpellEffectFn(spell_fjord_guide_our_sights_fx_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
243+
}
244+
};
245+
208246
/*######
209247
## Quest 11310: Warning: Some Assembly Required
210248
######*/
@@ -256,15 +294,27 @@ class spell_fjord_mindless_abomination_explosion_fx_master : public SpellScript
256294
void HandleScript(SpellEffIndex /*eff*/)
257295
{
258296
Unit* caster = GetCaster();
259-
260-
for (uint8 i = 0; i < 11; ++i)
261-
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
262-
263-
for (uint8 i = 0; i < 6; ++i)
264-
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE);
265-
266-
for (uint8 i = 0; i < 4; ++i)
267-
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2);
297+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
298+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2);
299+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE);
300+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2);
301+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2);
302+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
303+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE);
304+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
305+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
306+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE);
307+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
308+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
309+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2);
310+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE);
311+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
312+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
313+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE);
314+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
315+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
316+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE);
317+
caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
268318
}
269319

270320
void Register() override
@@ -702,6 +752,7 @@ class spell_fjord_failed_mix_concoction_2 : public SpellScript
702752
void AddSC_howling_fjord()
703753
{
704754
RegisterCreatureAI(npc_daegarn);
755+
RegisterSpellScript(spell_fjord_guide_our_sights_fx_master);
705756
RegisterSpellScript(spell_fjord_mindless_abomination_ping_master);
706757
RegisterSpellScript(spell_fjord_mindless_abomination_explosion_fx_master);
707758
RegisterSpellScript(spell_fjord_rivenwood_captives_not_on_quest);

0 commit comments

Comments
 (0)