fixed recipe knowledge indicator for rollis/faustina recipes

git [03-11-18 - 13:51]
fixed recipe knowledge indicator for rollis/faustina recipes
Filename
FurnitureCatalogue/FurCData.lua
FurnitureCatalogue/FurCDatabaseQuery.lua
FurnitureCatalogue/FurCTooltip.lua
FurnitureCatalogue/FurnitureCatalogue_Export/FurCDataExport.lua
FurnitureCatalogue/data/RumourRecipes.lua
diff --git a/FurnitureCatalogue/FurCData.lua b/FurnitureCatalogue/FurCData.lua
index acd6969..70fdf28 100644
--- a/FurnitureCatalogue/FurCData.lua
+++ b/FurnitureCatalogue/FurCData.lua
@@ -140,9 +140,10 @@ end


 function FurC.Find(itemOrBlueprintLink)						-- sets recipeArray, returns it - calls scanItemLink
-	-- p("scanItemLink(<<1>>)...", itemOrBlueprintLink)		-- do not return empty arrays. If this returns nil, abort!

-	if nil == itemOrBlueprintLink then return end
+	if nil == itemOrBlueprintLink or #itemOrBlueprintLink == 0 then return end
+	if tonumber(itemOrBlueprintLink) == itemOrBlueprintLink then itemOrBlueprintLink = FurC.GetItemLink(itemOrBlueprintLink) end
+	p("scanItemLink(<<1>>)...", itemOrBlueprintLink)		-- do not return empty arrays. If this returns nil, abort!

 	if itemOrBlueprintLink == lastLink and nil ~= recipeArray then
 		return recipeArray
@@ -150,12 +151,13 @@ function FurC.Find(itemOrBlueprintLink)						-- sets recipeArray, returns it - c
 		recipeArray = nil
 		lastLink = itemOrBlueprintLink
 	end
-
+
 	if IsItemLinkFurnitureRecipe(itemOrBlueprintLink) then
 		recipeArray = parseBlueprint(itemOrBlueprintLink)
 	elseif IsItemLinkPlaceableFurniture(itemOrBlueprintLink) then
 		recipeArray = parseFurnitureItem(itemOrBlueprintLink)
 	end
+
 	return recipeArray
 end

@@ -325,7 +327,7 @@ local function scanFromFiles(shouldScanCharacter)
 					recipeArray.origin 			= origin
 					recipeArray.blueprint		= recipeId
 					addDatabaseEntry(recipeKey, recipeArray)
-				end
+				end
 			end
 		end

@@ -333,10 +335,10 @@ local function scanFromFiles(shouldScanCharacter)
 			scanArray(versionData, versionNumber, FURC_CRAFTING)
 		end
 		for versionNumber, versionData in pairs(FurC.RollisRecipes) do
-			scanArray(versionData, versionNumber, FURC_ROLLIS)
+			scanArray(versionData, versionNumber, FURC_CRAFTING)
 		end
 		for versionNumber, versionData in pairs(FurC.FaustinaRecipes) do
-			scanArray(versionData, versionNumber, FURC_ROLLIS)
+			scanArray(versionData, versionNumber, FURC_CRAFTING)
 		end
 	end

@@ -501,7 +503,7 @@ function FurC.GetItemDescription(recipeKey, recipeArray, stripColor)
 	recipeArray = recipeArray or FurC.Find(recipeKey, recipeArray)
 	if not recipeArray then return "" end
 	local origin = recipeArray.origin
-	if origin == FURC_CRAFTING then
+	if origin == FURC_CRAFTING or origin == FURC_WRIT_VENDOR then
 		return FurC.GetMats(recipeKey, recipeArray, stripColor)
 	elseif origin == FURC_ROLLIS then
 		return FurC.getRollisSource(recipeKey, recipeArray, stripColor)
@@ -516,7 +518,7 @@ function FurC.GetItemDescription(recipeKey, recipeArray, stripColor)
 	elseif origin == FURC_PVP then
 		return FurC.getPvpSource(recipeKey, recipeArray, stripColor)
 	elseif origin == FURC_RUMOUR then
-		return FurC.getRumourSource(recipeKey, recipeArray), stripColor
+		return FurC.getRumourSource(recipeKey, recipeArray, stripColor)
 	else
 		itemSource = FurC.GetMiscItemSource(recipeKey, recipeArray, stripColor)
 	end
diff --git a/FurnitureCatalogue/FurCDatabaseQuery.lua b/FurnitureCatalogue/FurCDatabaseQuery.lua
index 04e7e7c..7a5c1e3 100644
--- a/FurnitureCatalogue/FurCDatabaseQuery.lua
+++ b/FurnitureCatalogue/FurCDatabaseQuery.lua
@@ -174,13 +174,15 @@ function FurC.getRumourSource(recipeKey, recipeArray)
 	return (recipeArray.blueprint and GetString(SI_FURC_RUMOUR_SOURCE_RECIPE)) or GetString(SI_FURC_RUMOUR_SOURCE_ITEM)
 end

-function FurC.GetCrafterList(recipeArray)
-	if nil == recipeArray or recipeArray.origin ~= FURC_CRAFTING then
-		if recipeArray.origin == FURC_RUMOUR then
-			return FurC.getRumourSource(recipeKey, recipeArray)
-		end
-		return "FurC.GetCrafterList called for a non-craftable"
+function FurC.GetCrafterList(itemLink, recipeArray)
+	if nil == recipeArray and nil == itemLink then return end
+	recipeArray = recipeArray or FurC.Find(itemLink)
+	if nil == recipeArray then
+		d("")
+		d(recipeArray)
+		zo_strformat("FurC.GetCrafterList called for a non-craftable")
 	end
+
 	if nil == recipeArray.characters or NonContiguousCount(recipeArray.characters) == 0 then
 		return GetString(SI_FURC_STRING_CANNOT_CRAFT)
 	end
diff --git a/FurnitureCatalogue/FurCTooltip.lua b/FurnitureCatalogue/FurCTooltip.lua
index 3e94594..ccba0c8 100644
--- a/FurnitureCatalogue/FurCTooltip.lua
+++ b/FurnitureCatalogue/FurCTooltip.lua
@@ -37,7 +37,10 @@ local function addTooltipData(control, itemLink)
 	-- if craftable:
 	if isRecipe or recipeArray.origin == FURC_CRAFTING then
 		if unknown and not FurC.GetHideUnknown() or not FurC.GetHideKnowledge() then
-			stringTable = add(stringTable, tryColorize(FurC.GetCrafterList(recipeArray)))
+			local crafterList = FurC.GetCrafterList(itemLink, recipeArray)
+			if crafterList then
+				stringTable = add(stringTable, tryColorize(crafterList))
+			end
 		end
 		if not isRecipe and (not FurC.GetHideCraftingStation()) then
 			stringTable = add(stringTable, FurC.PrintCraftingStation(itemId, recipeArray))
diff --git a/FurnitureCatalogue/FurnitureCatalogue_Export/FurCDataExport.lua b/FurnitureCatalogue/FurnitureCatalogue_Export/FurCDataExport.lua
index 973c79d..77d218f 100644
--- a/FurnitureCatalogue/FurnitureCatalogue_Export/FurCDataExport.lua
+++ b/FurnitureCatalogue/FurnitureCatalogue_Export/FurCDataExport.lua
@@ -35,7 +35,7 @@ function FurCExport.Export()

 		local exportArray = (known and exportKnown) or exportUnknown
 		local mats = FurC.GetMats(itemLink, recipeArray, false, true)
-		local knowledge = (known and (FurC.GetCrafterList(recipeArray) .. ": "):gsub("Can be crafted by ", "")) or ""
+		local knowledge = (known and (FurC.GetCrafterList(itemLink, recipeArray) .. ": "):gsub("Can be crafted by ", "")) or ""
 		local exportString = zo_strformat("<<1>><<2>>", knowledge, mats)
 		exportArray[itemName] = exportString
 	end
diff --git a/FurnitureCatalogue/data/RumourRecipes.lua b/FurnitureCatalogue/data/RumourRecipes.lua
index a7d1910..0029475 100644
--- a/FurnitureCatalogue/data/RumourRecipes.lua
+++ b/FurnitureCatalogue/data/RumourRecipes.lua
@@ -36,7 +36,7 @@ FurC.RumourRecipes = {
 	117991, -- Stool, Carved
 	118278, -- Plaque, Bordered Deer Antlers
 	132199, -- Telvanni Tower, Miniature
-	132197, -- Death Skeleton, Shrouded
+	-- 132197, -- Death Skeleton, Shrouded
 	121198, -- Shelf, Poison
 	118304, -- Shelf, Poison