aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhaster <theghaster1@gmail.com>2019-01-03 16:52:22 +0100
committerShauren <shauren.trinity@gmail.com>2021-11-18 22:41:57 +0100
commitf4d029b9523b35c38b80f0fb4aa9fb317a42e237 (patch)
treefe238eee1898a2fb1c6951f2e7f4c09b3b421654
parentc4eed6561c380dc1df53344d4234a332a940dd72 (diff)
Core/Creature: Profession trainer fixes (PR #22904)
Closes #22903 (cherry picked from commit 19791a35df11e2c5c42ee437bfc13466c708ea43)
-rw-r--r--src/server/game/Entities/Creature/Trainer.cpp10
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;
}