All there’s left to do now is make him only teach the recipes for the main profession and for each profession’s specialization separately; for example, make him give you Tailoring recipes and ONLY Spellfire if you select it. Not Mooncloth, Spellfire and Shadoweave all at once.
If there’s anybody there that may help out with doing this, much appreciated.
You’d need to fix your version of HandleLearnSkillRecipesHelper() so that it skips the specializations and only teaches the standard recipes. Something like:
case 22222: // these would be the IDs of the specializations you want to skip
// do nothing. VS likes to have a 'default' case though
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(skillLine->spellId);
if (!spellInfo || !SpellMgr::IsSpellValid(spellInfo, player, false))
Then you’d need to write one that teaches only the specializations when selected.