aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2022-03-01 03:42:22 +0200
committerGitHub <noreply@github.com>2022-03-01 03:42:22 +0200
commitb7de3299413d05514581150f44a032384b91506e (patch)
treed05961233d60b4ce4c93281329ea63f055e3266e /src
parentcb15c9111068f60ed28394cc056c15863ad83813 (diff)
Scripts/Quest: Update 'Jormuttar is Soo Fat...' (#27838)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp56
-rw-r--r--src/server/scripts/Spells/spell_quest.cpp47
2 files changed, 56 insertions, 47 deletions
diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp
index b973b685dcb..a1ea0efddcf 100644
--- a/src/server/scripts/Northrend/zone_storm_peaks.cpp
+++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp
@@ -1359,6 +1359,60 @@ class spell_read_pronouncement : public AuraScript
}
};
+/*######
+## Quest 13011: Jormuttar is Soo Fat...
+######*/
+
+enum JormuttarIsSooFat
+{
+ SPELL_CREATE_BEAR_FLANK = 56566,
+ SPELL_BEAR_FLANK_FAIL = 56569,
+ TEXT_CARVE_FAIL = 30986
+};
+
+// 56565 - Bear Flank Master
+class spell_bear_flank_master : public SpellScript
+{
+ PrepareSpellScript(spell_bear_flank_master);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_CREATE_BEAR_FLANK, SPELL_BEAR_FLANK_FAIL });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->CastSpell(GetHitUnit(), roll_chance_i(20) ? SPELL_CREATE_BEAR_FLANK : SPELL_BEAR_FLANK_FAIL);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_bear_flank_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+// 56569 - Bear Flank Fail
+class spell_bear_flank_fail : public AuraScript
+{
+ PrepareAuraScript(spell_bear_flank_fail);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return sObjectMgr->GetBroadcastText(TEXT_CARVE_FAIL);
+ }
+
+ void AfterApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (Player* target = GetTarget()->ToPlayer())
+ target->Unit::Whisper(TEXT_CARVE_FAIL, target, true);
+ }
+
+ void Register() override
+ {
+ AfterEffectApply += AuraEffectApplyFn(spell_bear_flank_fail::AfterApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ }
+};
+
void AddSC_storm_peaks()
{
new npc_roxi_ramrocket();
@@ -1383,4 +1437,6 @@ void AddSC_storm_peaks()
new spell_player_mount_wyrm();
RegisterSpellScript(spell_q12823_remove_collapsing_cave_aura);
RegisterSpellScript(spell_read_pronouncement);
+ RegisterSpellScript(spell_bear_flank_master);
+ RegisterSpellScript(spell_bear_flank_fail);
}
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp
index fdbe614d123..71eeaeab518 100644
--- a/src/server/scripts/Spells/spell_quest.cpp
+++ b/src/server/scripts/Spells/spell_quest.cpp
@@ -1301,52 +1301,6 @@ class spell_q12847_summon_soul_moveto_bunny : public SpellScript
}
};
-enum BearFlankMaster
-{
- SPELL_CREATE_BEAR_FLANK = 56566,
- SPELL_BEAR_FLANK_FAIL = 56569
-};
-
-// 56565 - Bear Flank Master
-class spell_q13011_bear_flank_master : public SpellScript
-{
- PrepareSpellScript(spell_q13011_bear_flank_master);
-
- bool Validate(SpellInfo const* /*spellInfo*/) override
- {
- return ValidateSpellInfo(
- {
- SPELL_CREATE_BEAR_FLANK,
- SPELL_BEAR_FLANK_FAIL
- });
- }
-
- bool Load() override
- {
- return GetCaster()->GetTypeId() == TYPEID_UNIT;
- }
-
- void HandleScript(SpellEffIndex /*effIndex*/)
- {
- if (Player* player = GetHitPlayer())
- {
- if (roll_chance_i(50))
- {
- Creature* creature = GetCaster()->ToCreature();
- player->CastSpell(creature, SPELL_BEAR_FLANK_FAIL);
- creature->AI()->Talk(0, player);
- }
- else
- player->CastSpell(player, SPELL_CREATE_BEAR_FLANK);
- }
- }
-
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_q13011_bear_flank_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
- }
-};
-
// 57385 - Argent Cannon
// 57412 - Reckoning Bomb
class spell_q13086_cannons_target : public SpellScript
@@ -2280,7 +2234,6 @@ void AddSC_quest_spell_scripts()
RegisterSpellScript(spell_q13291_q13292_q13239_q13261_frostbrood_skytalon_grab_decoy);
RegisterSpellScript(spell_q13291_q13292_q13239_q13261_armored_decoy_summon_skytalon);
RegisterSpellScript(spell_q12847_summon_soul_moveto_bunny);
- RegisterSpellScript(spell_q13011_bear_flank_master);
RegisterSpellScript(spell_q13086_cannons_target);
RegisterSpellScript(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59576);
RegisterSpellScript(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59579);