aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAqua Deus <95978183+aquadeus@users.noreply.github.com>2022-08-31 22:42:59 +0200
committerGitHub <noreply@github.com>2022-08-31 22:42:59 +0200
commit62e5b52d2b91832889f02edc7bbd83ad474923e3 (patch)
tree5f11797b824a9a32306106a7e3f752b01cb96ff9 /src
parentb1c0bc53726b4825efce2fde5a2f6c95dc58d5f5 (diff)
Scripts/Spells: Fixed Mag'har Orc racial Ancestral Call (#28225)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 1aa75e40d48..615cf7072e0 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -5032,6 +5032,46 @@ class spell_gen_mount_check_aura : public AuraScript
}
};
+enum AncestralCallSpells
+{
+ SPELL_RICTUS_OF_THE_LAUGHING_SKULL = 274739,
+ SPELL_ZEAL_OF_THE_BURNING_BLADE = 274740,
+ SPELL_FEROCITY_OF_THE_FROSTWOLF = 274741,
+ SPELL_MIGHT_OF_THE_BLACKROCK = 274742
+};
+
+// 274738 - Ancestral Call (Mag'har Orc Racial)
+class spell_gen_ancestral_call : public SpellScript
+{
+ PrepareSpellScript(spell_gen_ancestral_call);
+
+ bool Validate(SpellInfo const* /*spell*/) override
+ {
+ return ValidateSpellInfo(
+ {
+ SPELL_RICTUS_OF_THE_LAUGHING_SKULL,
+ SPELL_ZEAL_OF_THE_BURNING_BLADE,
+ SPELL_FEROCITY_OF_THE_FROSTWOLF,
+ SPELL_MIGHT_OF_THE_BLACKROCK
+ });
+ }
+
+ static constexpr uint32 AncestralCallBuffs[] = { SPELL_RICTUS_OF_THE_LAUGHING_SKULL, SPELL_ZEAL_OF_THE_BURNING_BLADE, SPELL_FEROCITY_OF_THE_FROSTWOLF, SPELL_MIGHT_OF_THE_BLACKROCK };
+
+ void HandleOnCast()
+ {
+ Unit* caster = GetCaster();
+ uint32 spellId = Trinity::Containers::SelectRandomContainerElement(AncestralCallBuffs);
+
+ caster->CastSpell(caster, spellId, true);
+ }
+
+ void Register() override
+ {
+ OnCast += SpellCastFn(spell_gen_ancestral_call::HandleOnCast);
+ }
+};
+
void AddSC_generic_spell_scripts()
{
RegisterSpellScript(spell_gen_absorb0_hitlimit1);
@@ -5187,4 +5227,5 @@ void AddSC_generic_spell_scripts()
RegisterSpellScript(spell_summon_battle_pet);
RegisterSpellScript(spell_gen_anchor_here);
RegisterSpellScript(spell_gen_mount_check_aura);
+ RegisterSpellScript(spell_gen_ancestral_call);
}