aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-04-09 15:59:18 +0200
committerShauren <shauren.trinity@gmail.com>2023-04-09 15:59:18 +0200
commitd0d9520aa979b426db2bec969f8b1ab3509b170c (patch)
tree523bb4b7b63536646c78405d8cd37bb5d89b7d6d /src
parentcc5fa9107f372cf84741c0c0672509e5ef5d8952 (diff)
Scripts/Spells: Added proc requirements to a few auras that have SPELL_ATTR3_CAN_PROC_FROM_PROCS attribute
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_item.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index 21f5c58fb62..a6a36ac6348 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -4603,6 +4603,44 @@ class spell_item_set_march_of_the_legion : public AuraScript
}
};
+// 234113 - Arrogance (used by item 142171 - Seal of Darkshire Nobility)
+class spell_item_seal_of_darkshire_nobility : public AuraScript
+{
+ PrepareAuraScript(spell_item_seal_of_darkshire_nobility);
+
+ bool Validate(SpellInfo const* spellInfo) override
+ {
+ return spellInfo->GetEffects().size() > EFFECT_1
+ && ValidateSpellInfo({ spellInfo->GetEffect(EFFECT_1).TriggerSpell });
+ }
+
+ bool CheckCooldownAura(ProcEventInfo& eventInfo)
+ {
+ return eventInfo.GetProcTarget() && !eventInfo.GetProcTarget()->HasAura(GetEffectInfo(EFFECT_1).TriggerSpell, GetTarget()->GetGUID());
+ }
+
+ void Register() override
+ {
+ DoCheckProc += AuraCheckProcFn(spell_item_seal_of_darkshire_nobility::CheckCooldownAura);
+ }
+};
+
+// 247625 - March of the Legion
+class spell_item_lightblood_elixir : public AuraScript
+{
+ PrepareAuraScript(spell_item_lightblood_elixir);
+
+ bool IsDemon(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
+ {
+ return eventInfo.GetProcTarget() && eventInfo.GetProcTarget()->GetCreatureType() == CREATURE_TYPE_DEMON;
+ }
+
+ void Register() override
+ {
+ DoCheckEffectProc += AuraCheckEffectProcFn(spell_item_lightblood_elixir::IsDemon, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
+ }
+};
+
// 277253 - Heart of Azeroth
class spell_item_heart_of_azeroth : public AuraScript
{
@@ -4780,6 +4818,8 @@ void AddSC_item_spell_scripts()
RegisterSpellScript(spell_item_amalgams_seventh_spine);
RegisterSpellScript(spell_item_amalgams_seventh_spine_mana_restore);
RegisterSpellScript(spell_item_set_march_of_the_legion);
+ RegisterSpellScript(spell_item_seal_of_darkshire_nobility);
+ RegisterSpellScript(spell_item_lightblood_elixir);
RegisterSpellScript(spell_item_heart_of_azeroth);
}