diff options
author | Ghaster <theghaster1@gmail.com> | 2019-01-03 16:52:22 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-11-18 22:41:57 +0100 |
commit | f4d029b9523b35c38b80f0fb4aa9fb317a42e237 (patch) | |
tree | fe238eee1898a2fb1c6951f2e7f4c09b3b421654 | |
parent | c4eed6561c380dc1df53344d4234a332a940dd72 (diff) |
Core/Creature: Profession trainer fixes (PR #22904)
Closes #22903
(cherry picked from commit 19791a35df11e2c5c42ee437bfc13466c708ea43)
-rw-r--r-- | src/server/game/Entities/Creature/Trainer.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Entities/Creature/Trainer.cpp b/src/server/game/Entities/Creature/Trainer.cpp index 3f5294b069d..73aab6e4151 100644 --- a/src/server/game/Entities/Creature/Trainer.cpp +++ b/src/server/game/Entities/Creature/Trainer.cpp @@ -115,6 +115,16 @@ namespace Trainer if (trainerSpellInfo->IsPrimaryProfessionFirstRank() && !player->GetFreePrimaryProfessionPoints()) return false; + for (SpellEffectInfo const& effect : trainerSpellInfo->GetEffects()) + { + if (!effect.IsEffect(SPELL_EFFECT_LEARN_SPELL)) + continue; + + SpellInfo const* learnedSpellInfo = sSpellMgr->GetSpellInfo(effect.TriggerSpell, DIFFICULTY_NONE); + if (learnedSpellInfo && learnedSpellInfo->IsPrimaryProfessionFirstRank() && !player->GetFreePrimaryProfessionPoints()) + return false; + } + return true; } |