From f4d029b9523b35c38b80f0fb4aa9fb317a42e237 Mon Sep 17 00:00:00 2001 From: Ghaster Date: Thu, 3 Jan 2019 16:52:22 +0100 Subject: Core/Creature: Profession trainer fixes (PR #22904) Closes #22903 (cherry picked from commit 19791a35df11e2c5c42ee437bfc13466c708ea43) --- src/server/game/Entities/Creature/Trainer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') 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; } -- cgit v1.2.3