diff options
author | offl <11556157+offl@users.noreply.github.com> | 2025-07-24 23:48:02 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-24 22:48:02 +0200 |
commit | f536e1a266c2f38ed423a28116d3af88dbca5e40 (patch) | |
tree | c445d711dfb02f22af92b6a2487caed389fae307 /src | |
parent | 0793cd70c315d6fbd696b6b16b66fae31f96a236 (diff) |
Scripts/Quest: Update 'Guide Our Sights' (#31132)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/zone_howling_fjord.cpp | 69 |
1 files changed, 60 insertions, 9 deletions
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp index 5809bbce402..f9fec626827 100644 --- a/src/server/scripts/Northrend/zone_howling_fjord.cpp +++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp @@ -206,6 +206,44 @@ private: }; /*###### +## Quest 11232: Guide Our Sights +######*/ + +enum GuideOurSights +{ + SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_01 = 43081, + SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_02 = 43082 +}; + +// 43080 - Quest - Howling Fjord - Guide Our Sights - FX Master +class spell_fjord_guide_our_sights_fx_master : public SpellScript +{ + PrepareSpellScript(spell_fjord_guide_our_sights_fx_master); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo( + { + SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_01, + SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_02 + }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + Unit* caster = GetCaster(); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_01); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_02); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_CANNON_PART_02); + } + + void Register() override + { + OnEffectHit += SpellEffectFn(spell_fjord_guide_our_sights_fx_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + +/*###### ## Quest 11310: Warning: Some Assembly Required ######*/ @@ -256,15 +294,27 @@ class spell_fjord_mindless_abomination_explosion_fx_master : public SpellScript void HandleScript(SpellEffIndex /*eff*/) { Unit* caster = GetCaster(); - - for (uint8 i = 0; i < 11; ++i) - caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); - - for (uint8 i = 0; i < 6; ++i) - caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE); - - for (uint8 i = 0; i < 4; ++i) - caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE); + caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON); } void Register() override @@ -702,6 +752,7 @@ class spell_fjord_failed_mix_concoction_2 : public SpellScript void AddSC_howling_fjord() { RegisterCreatureAI(npc_daegarn); + RegisterSpellScript(spell_fjord_guide_our_sights_fx_master); RegisterSpellScript(spell_fjord_mindless_abomination_ping_master); RegisterSpellScript(spell_fjord_mindless_abomination_explosion_fx_master); RegisterSpellScript(spell_fjord_rivenwood_captives_not_on_quest); |