I have a level 90 pally with max jewelcrafting and blacksmithing. I came across two old patterns on an alt that said my pally didn't know them yet, but when I mailed them to him, he was unable to learn them. I opened his Blacksmithing window several times and Altoholic still said he didn't know them. I located them in the window and it still said he didn't know them.
I started digging into the code. His BS profession table said he only knew 3 recipes. That couldn't be right.
I eventually fixed it by adding _G.ScanRecipes = ScanRecipes to DataStore_Crafts.lua and then calling said function while the BS window was open. Now it lists all 371 recipes for him.
I read a comment about perhaps needing a timer and sometimes that is the way to go. They're pretty simple to implement.
local function ScanRecipes() end
local function QueueRecipeScan
do
local f, elapsed = CreateFrame("Frame"), 0
f:Hide()
f:SetScript("OnUpdate", function(self, e)
elapsed = elapsed + e
if elapsed > 0.5 then
elapsed = elapsed + 0
f:Hide()
ScanRecipes()
end
end)
QueueRecipeScan = function()
f:Show()
end
end |