aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-06-16 23:54:29 +0200
committerShauren <shauren.trinity@gmail.com>2023-06-16 23:54:29 +0200
commitcd7c5eff49bc877fd39950c94b04a1cb2168e380 (patch)
tree6bd3d93f7b7ff58dcd24e865f57ddd61c859b7f6 /src/server/game/Spells/Spell.cpp
parentd4fc589f4c4efac69723211b37239a2afa161cc6 (diff)
Core/Spells: Validate known heirlooms for SPELL_EFFECT_CREATE_HEIRLOOM_ITEM
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r--src/server/game/Spells/Spell.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 84752a67067..998c7662098 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -6417,6 +6417,16 @@ SpellCastResult Spell::CheckCast(bool strict, int32* param1 /*= nullptr*/, int32
}
break;
}
+ case SPELL_EFFECT_CREATE_HEIRLOOM_ITEM:
+ {
+ if (!m_caster->IsPlayer())
+ return SPELL_FAILED_BAD_TARGETS;
+
+ if (!m_caster->ToPlayer()->GetSession()->GetCollectionMgr()->HasHeirloom(m_misc.Raw.Data[0]))
+ return SPELL_FAILED_BAD_TARGETS;
+
+ break;
+ }
case SPELL_EFFECT_GIVE_ARTIFACT_POWER:
case SPELL_EFFECT_GIVE_ARTIFACT_POWER_NO_BONUS:
{