aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-06-12 16:07:48 +0200
committerOvahlord <dreadkiller@gmx.de>2024-06-20 01:19:55 +0200
commit7d5a7470ae958f9f7eba00b0380d959b97f2e2ba (patch)
tree7e613d482f637aa8561ff411d62efa9607184b3e /src/server/game/Spells/Spell.cpp
parentd0c37cba22667c6a2d5f9753216b94f2f50e5e23 (diff)
Core/Spells: Implemented SPELL_ATTR9_ITEM_CAST_GRANTS_SKILL_GAIN
(cherry picked from commit 00efee9ca12d6e625e9954a39768bbec029d0459)
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r--src/server/game/Spells/Spell.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index b0a5b3c7cdd..50a53a0cdd0 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -3853,6 +3853,11 @@ void Spell::_cast(bool skipCheck)
player->UpdateCriteria(CriteriaType::CastSpell, m_spellInfo->Id);
}
+ // Spells that don't create items can have this attribute - handle here
+ if (m_CastItem && m_spellInfo->HasAttribute(SPELL_ATTR9_ITEM_CAST_GRANTS_SKILL_GAIN))
+ if (Player* playerCaster = m_caster->ToPlayer())
+ playerCaster->UpdateCraftSkill(m_spellInfo);
+
if (!(_triggeredCastFlags & TRIGGERED_IGNORE_POWER_AND_REAGENT_COST))
{
// Powers have to be taken before SendSpellGo