Code originally changed from
bool prof = SpellMgr::IsProfessionSpell(trainer_spell->learnedSpell);
// check level requirement
if (!prof || GetSession()->GetSecurity() < AccountTypes(sWorld.getConfig(CONFIG_UINT32_TRADE_SKILL_GMIGNORE_LEVEL)))
{
if (getLevel() < reqLevel)
{
return TRAINER_SPELL_RED;
}
}
on lines 4748-4757 in v22.02.65 to this
bool prof = SpellMgr::IsProfessionSpell(trainer_spell->spell);
if (prof || trainer_spell->reqLevel && (trainer_spell->reqLevel) < reqLevel)
{
return TRAINER_SPELL_RED;
}
on lines 4763-4767 in v22.02.67
I thought it could have happened accidentally that the function getLevel() was not taken over bc it worked before and now it's discarded.
Made not much sense imho but I am no software developer so I haven't been able to figure out more about what's behind the dynamic properties yet. Just looked for the explicit difference between these two versions for now.
Happy to help!