diff --git a/FurCContextMenu.lua b/FurCContextMenu.lua index c443060..c03bab6 100644 --- a/FurCContextMenu.lua +++ b/FurCContextMenu.lua @@ -13,107 +13,107 @@ function AddFurnitureShoppingListMenuEntry(itemId, calledFromFurC) end local itemLink = FurC.GetItemLink(itemId) if nil == FurC.Find(itemLink) then return end - AddCustomMenuItem(FURC_S_SHOPPINGLIST_1, - function() - FurnitureShoppingListAdd(itemLink) - end, + AddCustomMenuItem(FURC_S_SHOPPINGLIST_1, + function() + FurnitureShoppingListAdd(itemLink) + end, MENU_ADD_OPTION_LABEL) - AddCustomMenuItem(FURC_S_SHOPPINGLIST_5, - function() - FurnitureShoppingListAdd(itemLink) - FurnitureShoppingListAdd(itemLink) - FurnitureShoppingListAdd(itemLink) - FurnitureShoppingListAdd(itemLink) - FurnitureShoppingListAdd(itemLink) - end, + AddCustomMenuItem(FURC_S_SHOPPINGLIST_5, + function() + FurnitureShoppingListAdd(itemLink) + FurnitureShoppingListAdd(itemLink) + FurnitureShoppingListAdd(itemLink) + FurnitureShoppingListAdd(itemLink) + FurnitureShoppingListAdd(itemLink) + end, + MENU_ADD_OPTION_LABEL) + AddCustomMenuItem(FURC_S_TOGGLE_SL, + function() + FurnitureShoppingListWindow_Toggle() + end, MENU_ADD_OPTION_LABEL) - AddCustomMenuItem(FURC_S_TOGGLE_SL, - function() - FurnitureShoppingListWindow_Toggle() - end, - MENU_ADD_OPTION_LABEL) end local function addMenuItems(itemLink, recipeArray) - + recipeArray = recipeArray or FurC.Find(itemLink) if (nil == recipeArray) then return end -- ClearMenu() - - AddCustomMenuItem(GetString(SI_FURC_MENU_HEADER), - function() FurC.ToChat(itemLink) end, + + AddCustomMenuItem(GetString(SI_FURC_MENU_HEADER), + function() FurC.ToChat(itemLink) end, MENU_ADD_OPTION_LABEL ) local faveText = FurC.IsFavorite(itemLink, recipeArray) and GetString(SI_FURC_REMOVE_FAVE) or GetString(SI_FURC_ADD_FAVE) - AddCustomMenuItem(faveText, - function() FurC.Fave(itemLink, recipeArray) end, + AddCustomMenuItem(faveText, + function() FurC.Fave(itemLink, recipeArray) end, MENU_ADD_OPTION_LABEL ) - - if recipeArray.origin ~= FURC_CRAFTING then - AddCustomMenuItem(GetString(SI_FURC_POST_ITEMSOURCE), - function() FurC.PrintSource(itemLink, recipeArray) end, + + if recipeArray.origin ~= FURC_CRAFTING then + AddCustomMenuItem(GetString(SI_FURC_POST_ITEMSOURCE), + function() FurC.PrintSource(itemLink, recipeArray) end, MENU_ADD_OPTION_LABEL - ) + ) else - if IsItemLinkFurnitureRecipe(itemLink) then - AddCustomMenuItem(GetString(SI_FURC_POST_ITEM), - function() FurC.ToChat(GetItemLinkRecipeResultItemLink(itemLink)) end, + if IsItemLinkFurnitureRecipe(itemLink) then + AddCustomMenuItem(GetString(SI_FURC_POST_ITEM), + function() FurC.ToChat(GetItemLinkRecipeResultItemLink(itemLink)) end, MENU_ADD_OPTION_LABEL - ) - elseif nil ~= recipeArray.blueprint then - AddCustomMenuItem(GetString(SI_FURC_POST_RECIPE), - function() FurC.ToChat(FurC.GetItemLink(recipeArray.blueprint)) end, + ) + elseif nil ~= recipeArray.blueprint then + AddCustomMenuItem(GetString(SI_FURC_POST_RECIPE), + function() FurC.ToChat(FurC.GetItemLink(recipeArray.blueprint)) end, MENU_ADD_OPTION_LABEL - ) + ) end - AddCustomMenuItem(GetString(SI_FURC_POST_MATERIAL), - function() FurC.ToChat(itemLink .. ": " .. FurC.GetMats(itemLink, recipeArray, true)) end, + AddCustomMenuItem(GetString(SI_FURC_POST_MATERIAL), + function() FurC.ToChat(itemLink .. ": " .. FurC.GetMats(itemLink, recipeArray, true)) end, MENU_ADD_OPTION_LABEL ) AddFurnitureShoppingListMenuEntry(itemLink, true) end - -- ShowMenu() - + -- ShowMenu() + end function FurC_HandleClickEvent(itemLink, button, control) -- button being mouseButton here if (type(itemLink) == 'string' and #itemLink > 0) then local handled = LINK_HANDLER:FireCallbacks(LINK_HANDLER.LINK_MOUSE_UP_EVENT, itemLink, button, ZO_LinkHandler_ParseLink(itemLink)) - if (not handled) then - FurC_LinkHandlerBackup_OnLinkMouseUp(itemLink, button, control) + if (not handled) then + FurC_LinkHandlerBackup_OnLinkMouseUp(itemLink, button, control) if (button == 2 and itemLink ~= '') then - addMenuItems(itemLink, FurC.Find(itemLink)) - end + addMenuItems(itemLink, FurC.Find(itemLink)) + end ShowMenu(control) end - end + end end function FurC_HandleMouseEnter(inventorySlot) local inventorySlot = moc() - + if nil == inventorySlot or nil == inventorySlot.dataEntry then return end local data = inventorySlot.dataEntry.data - if nil == data then return end - + if nil == data then return end + local bagId, slotIndex = data.bagId, data.slotIndex FurC.CurrentLink = GetItemLink(bagId, slotIndex) if nil == FurC.CurrentLink then return end - + end -- thanks Randactyl for helping me with the handler :) function FurC_HandleInventoryContextMenu(control) - + local st = ZO_InventorySlot_GetType(control) local itemLink = nil - if st == SLOT_TYPE_ITEM - or st == SLOT_TYPE_BANK_ITEM - or st == SLOT_TYPE_GUILD_BANK_ITEM + if st == SLOT_TYPE_ITEM + or st == SLOT_TYPE_BANK_ITEM + or st == SLOT_TYPE_GUILD_BANK_ITEM or st == SLOT_TYPE_TRADING_HOUSE_POST_ITEM then local bagId, slotId = ZO_Inventory_GetBagAndIndex(control) itemLink = GetItemLink(bagId, slotId, linkStyle) @@ -123,46 +123,45 @@ function FurC_HandleInventoryContextMenu(control) end if st == SLOT_TYPE_TRADING_HOUSE_ITEM_LISTING then itemLink = GetTradingHouseListingItemLink(ZO_Inventory_GetSlotIndex(control), linkStyle) - end - + end + local recipeArray = FurC.Find(itemLink) -- d(recipeArray) - if nil == recipeArray then return end + if nil == recipeArray then return end - zo_callLater(function() - addMenuItems(itemLink, recipeArray) + zo_callLater(function() + addMenuItems(itemLink, recipeArray) ShowMenu() end, 50) - + end function FurC.OnControlMouseUp(control, button) - + if nil == control then return end if button ~= 2 then return end local itemLink = control.itemLink - + if nil == itemLink then return end local recipeArray = FurC.Find(itemLink) if nil == recipeArray then return end - zo_callLater(function() + zo_callLater(function() ItemTooltip:SetHidden(true) ClearMenu() addMenuItems(itemLink, recipeArray) ShowMenu() - end, 50) - + end, 50) + end function FurC.InitRightclickMenu() FurC_LinkHandlerBackup_OnLinkMouseUp = ZO_LinkHandler_OnLinkMouseUp ZO_LinkHandler_OnLinkMouseUp = function(itemLink, button, control) FurC_HandleClickEvent(itemLink, button, control) end ZO_PreHook('ZO_InventorySlot_OnMouseEnter', FurC_HandleMouseEnter) - ZO_PreHook('ZO_InventorySlot_ShowContextMenu', function(rowControl) - FurC_HandleInventoryContextMenu(rowControl) + ZO_PreHook('ZO_InventorySlot_ShowContextMenu', function(rowControl) + FurC_HandleInventoryContextMenu(rowControl) end) end - diff --git a/FurCControlBridge.lua b/FurCControlBridge.lua index ff23eec..a6206fe 100644 --- a/FurCControlBridge.lua +++ b/FurCControlBridge.lua @@ -11,30 +11,30 @@ end function FurC.LoadFrameInfo(calledFrom) local settings = FurC.settings.gui - + FurCGui:ClearAnchors() FurCGui:SetAnchor(TOPLEFT, GuiRoot, TOPLEFT, settings.lastX, settings.lastY) FurCGui:SetWidth(settings.width) FurCGui:SetHeight(settings.height) - + zo_callLater(function() FurC.UpdateInventoryScroll() end, 100) - + end -function FurC.SaveFrameInfo(calledFrom) +function FurC.SaveFrameInfo(calledFrom) local settings = FurC.settings["gui"] settings.lastX = FurCGui:GetLeft() settings.lastY = FurCGui:GetTop() settings.width = FurCGui:GetWidth() settings.height = FurCGui:GetHeight() - + FurC.UpdateInventoryScroll() - + end -function FurC.OnResizeStop() +function FurC.OnResizeStop() FurC.SaveFrameInfo() FurC.UpdateLineVisibility() @@ -43,17 +43,17 @@ function FurC.OnResizeStop() end function FurC.ChangeTemplateFromButton(value) - + local control = FurCGui_Header_Bar1_TemplateLarge local otherControl = FurCGui_Header_Bar1_TemplateTiny - - if value then + + if value then otherControl = FurCGui_Header_Bar1_TemplateLarge control = FurCGui_Header_Bar1_TemplateTiny - end + end control:SetHidden(true) otherControl:SetHidden(false) - + FurC.SetTinyUi(value) end @@ -65,16 +65,16 @@ local function forceRefresh() FurC.WipeDatabase() end -function FurC.GUIButtonRefreshOnMouseUp(control, mouseButton) +function FurC.GUIButtonRefreshOnMouseUp(control, mouseButton) if mouseButton == 1 then - FurC.ScanRecipes(false, true) + FurC.ScanRecipes(false, true) elseif mouseButton == 2 then FurC.ScanRecipes(true, false) elseif mouseButton == 3 then - if LAM and LAM.util then + if LAM and LAM.util then LAM.util.ShowConfirmationDialog( - GetString(SI_FURC_DIALOGUE_RESET_DB_HEADER), - GetString(SI_FURC_DIALOGUE_RESET_DB_BODY), + GetString(SI_FURC_DIALOGUE_RESET_DB_HEADER), + GetString(SI_FURC_DIALOGUE_RESET_DB_BODY), forceRefresh ) end @@ -86,7 +86,7 @@ function FurC.GuiShowTooltip(control, tooltiptext, reAnchor) InformationTooltip:SetHidden(false) InformationTooltip:ClearLines() InformationTooltip:AddLine(tooltiptext) - + if reAnchor then InformationTooltip:ClearAnchors() InformationTooltip:SetAnchor(TOPRIGHT, control, TOPLEFT, -10) @@ -99,15 +99,15 @@ end function FurC.GuiOnSearchBoxClick(control, mouseButton, doubleClick) FurC_SearchBoxText:SetText("") - if mouseButton == 2 or doubleClick then - control:SetText("") + if mouseButton == 2 or doubleClick then + control:SetText("") end end local FURC_S_FILTERDEFAULT = GetString(SI_FURC_TEXTBOX_FILTER_DEFAULT) function FurC.GuiOnSearchBoxFocusOut(control) - if control:GetText() and control:GetText() ~= "" then + if control:GetText() and control:GetText() ~= "" then FurC.GuiOnSliderUpdate(FurCGui_ListHolder_Slider, 0) FurC.UpdateGui() end @@ -131,7 +131,7 @@ function FurC.GuiOnScroll(control, delta) FurC.UpdateInventoryScroll() - + slider:SetValue(FurCGui_ListHolder.dataOffset) FurC.GuiLineOnMouseEnter(moc()) @@ -152,13 +152,13 @@ local currentLink, currentId function FurC.GuiLineOnMouseEnter(lineControl) currentLink, currentId = nil - + if not lineControl or not lineControl.itemLink or lineControl.itemLink == "" then return end currentLink = lineControl.itemLink currentId = lineControl.itemId - + if nil == currentLink then return end - + InitializeTooltip(ItemTooltip, lineControl, LEFT, 0, 0, 0) ItemTooltip:SetLink(currentLink) end @@ -169,12 +169,12 @@ end function FurC.Donate(control, mouseButton) local amount = 2000 - if mouseButton == 2 then + if mouseButton == 2 then amount = 10000 elseif mouseButton == 3 then amount = 25000 end - + SCENE_MANAGER:Show('mailSend') zo_callLater(function() ZO_MailSendToField:SetText("@manavortex") @@ -206,12 +206,12 @@ end local sortBy = nil -local sortDirection = "down" +local sortDirection = "down" local function getButtonTex(key) - if key ~= sortBy then + if key ~= sortBy then return "esoui/art/miscellaneous/list_sortheader_icon_neutral.dds" - end + end return "esoui/art/miscellaneous/list_sortheader_icon_sort" .. sortDirection .. ".dds" end @@ -220,18 +220,18 @@ function FurC.GetSortParams() end function FurC.GuiOnSort(key) - + -- set icon texture - if sortBy and sortBy == key then + if sortBy and sortBy == key then sortDirection = ((sortDirection == "up" and "down") or "up") else sortBy = key - sortDirection = "up" + sortDirection = "up" end FurCGui_Header_SortBar_Name_Button:SetNormalTexture(getButtonTex("itemName")) FurCGui_Header_SortBar_Quality_Button:SetNormalTexture(getButtonTex("itemQuality")) - + FurC.UpdateGui() end @@ -245,13 +245,13 @@ function FurC.UpdateDropdownChoice(dropdownName, value) end InformationTooltip:SetHidden(true) value = value or FurC.GetDropdownChoiceTextual(dropdownName) - + local controlName = "FurC_Dropdown"..dropdownName local control = _G[controlName] if nil == control then return end control:GetNamedChild("SelectedItemText"):SetText(value) end -function FurC.RefreshCounter() +function FurC.RefreshCounter() FurC_RecipeCount:SetText(#FurCGui_ListHolder.dataLines) -end \ No newline at end of file +end diff --git a/FurCData.lua b/FurCData.lua index 37a9a45..891204d 100644 --- a/FurCData.lua +++ b/FurCData.lua @@ -36,9 +36,9 @@ local function getItemLink(itemId) if nil == itemId then return end itemId = tostring(itemId) if #itemId > 55 then return itemId end - if #itemId < 4 then return end + if #itemId < 4 then return end return zo_strformat("|H1:item:<<1>>:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0|h|h", itemId) -end +end FurC.GetItemLink = getItemLink local function trySaveDevDebug(recipeArray) @@ -49,16 +49,16 @@ local function trySaveDevDebug(recipeArray) end local function addDatabaseEntry(recipeKey, recipeArray) - if recipeKey and recipeArray and {} ~= recipeArray then - FurC.settings.data[recipeKey] = recipeArray + if recipeKey and recipeArray and {} ~= recipeArray then + FurC.settings.data[recipeKey] = recipeArray end end -local function makeMaterial(recipeKey, recipeArray, tryPlaintext, forcePlaintext) +local function makeMaterial(recipeKey, recipeArray, tryPlaintext, forcePlaintext) - if nil == recipeArray or (nil == recipeArray.blueprint and nil == recipeArray.recipeIndex and nil == recipeArray.recipeListIndex) then - return "couldn't get material list, please re-scan character knowledge" + if nil == recipeArray or (nil == recipeArray.blueprint and nil == recipeArray.recipeIndex and nil == recipeArray.recipeListIndex) then + return "couldn't get material list, please re-scan character knowledge" end local ret = "" local ingredients = FurC.GetIngredients(recipeKey, recipeArray) @@ -69,14 +69,14 @@ local function makeMaterial(recipeKey, recipeArray, tryPlaintext, forcePlaintext ret = zo_strformat("<<1>> <<2>>x <<3>>, ", ret, qty, itemText) end return ret:sub(0, -3) - + end FurC.GetMats = makeMaterial function FurC.GetIngredients(itemLink, recipeArray) recipeArray = recipeArray or FurC.Find(itemLink) local ingredients = {} - if recipeArray.blueprint then + if recipeArray.blueprint then local blueprintLink = FurC.GetItemLink(recipeArray.blueprint) numIngredients = GetItemLinkRecipeNumIngredients(blueprintLink) for ingredientIndex=1, numIngredients do @@ -84,13 +84,13 @@ function FurC.GetIngredients(itemLink, recipeArray) ingredientLink = GetItemLinkRecipeIngredientItemLink(blueprintLink, ingredientIndex) ingredients[ingredientLink] = qty end - else + else _, name, numIngredients = GetRecipeInfo(recipeArray.recipeListIndex, recipeArray.recipeIndex) for ingredientIndex=1, numIngredients do - name, _, qty = GetRecipeIngredientItemInfo(recipeArray.recipeListIndex, recipeArray.recipeIndex, ingredientIndex) + name, _, qty = GetRecipeIngredientItemInfo(recipeArray.recipeListIndex, recipeArray.recipeIndex, ingredientIndex) ingredientLink = GetRecipeIngredientItemLink(recipeArray.recipeListIndex, recipeArray.recipeIndex, ingredientIndex) ingredients[ingredientLink] = qty - end + end end return ingredients end @@ -101,86 +101,86 @@ local function parseFurnitureItem(itemLink, override) -- saves to DB, return override or IsItemLinkPlaceableFurniture(itemLink) or GetItemLinkItemType(itemLink) == ITEMTYPE_FURNITURE ) then return end - + local recipeKey = getItemId(itemLink) local recipeArray = FurC.settings.data[recipeKey] if nil ~= recipeArray then return recipeArray end - + recipeArray = {} - + addDatabaseEntry(recipeKey, recipeArray) - + return recipeArray end local function parseBlueprint(blueprintLink) -- saves to DB, returns recipeArray - + local itemLink = GetItemLinkRecipeResultItemLink(blueprintLink, LINK_STYLE_BRACKETS) local blueprintId = getItemId(blueprintLink) local recipeKey = getItemId(itemLink) if nil == recipeKey or -- we don't have a key to access the database nil == itemLink or -- we don't have an item link to parse nil == GetItemLinkName(itemLink) -- we didn't find an item result for our recipe - then return end - + then return end + local recipeArray = FurC.settings.data[recipeKey] or {} recipeArray.origin = recipeArray.origin or FURC_CRAFTING recipeArray.characters = recipeArray.characters or {} recipeArray.craftingSkill = recipeArray.craftingSkill or GetItemLinkCraftingSkillType(blueprintLink) recipeArray.blueprint = recipeArray.blueprint or getItemId(blueprintLink) - - - if (IsItemLinkRecipeKnown(blueprintLink)) then + + + if (IsItemLinkRecipeKnown(blueprintLink)) then recipeArray.characters[getCurrentChar()] = true end addDatabaseEntry(recipeKey, recipeArray) return recipeArray - + end function FurC.Find(itemOrBlueprintLink) -- sets recipeArray, returns it - calls scanItemLink - - + + if tonumber(itemOrBlueprintLink) == itemOrBlueprintLink then itemOrBlueprintLink = FurC.GetItemLink(itemOrBlueprintLink) end if nil == itemOrBlueprintLink or #itemOrBlueprintLink == 0 then return end p("scanItemLink(<<1>>)...", itemOrBlueprintLink) -- do not return empty arrays. If this returns nil, abort! - - if itemOrBlueprintLink == lastLink and nil ~= recipeArray then + + if itemOrBlueprintLink == lastLink and nil ~= recipeArray then return recipeArray - else - recipeArray = nil + else + recipeArray = nil lastLink = itemOrBlueprintLink end - - if IsItemLinkFurnitureRecipe(itemOrBlueprintLink) then + + if IsItemLinkFurnitureRecipe(itemOrBlueprintLink) then recipeArray = parseBlueprint(itemOrBlueprintLink) - elseif IsItemLinkPlaceableFurniture(itemOrBlueprintLink) then - recipeArray = parseFurnitureItem(itemOrBlueprintLink) - end - + elseif IsItemLinkPlaceableFurniture(itemOrBlueprintLink) then + recipeArray = parseFurnitureItem(itemOrBlueprintLink) + end + return recipeArray end function FurC.Delete(itemOrBlueprintLink) -- sets recipeArray, returns it - calls scanItemLink - local recipeArray = scanItemLink(itemOrBlueprintLink) + local recipeArray = scanItemLink(itemOrBlueprintLink) if nil == recipeArray then return end local itemLink = recipeArray.itemId local itemKey = getItemId(itemLink) FurC.settings.data[itemKey] = nil end -function FurC.GetEntry(itemOrBlueprintLink) +function FurC.GetEntry(itemOrBlueprintLink) local itemLink = (IsItemLinkFurnitureRecipe(itemOrBlueprintLink) and GetRecipeResultItemLink(itemOrBlueprintLink)) or itemOrBlueprintLink local recipeArray = FurC.Find(itemLink) d(string.format("Trying to get entry for %s: %s", itemLink, recipeArray)) if not recipeArray then return end local itemId = getItemId(itemOrBlueprintLink) - if recipeArray.blueprint then + if recipeArray.blueprint then itemId = getItemId(GetItemLinkRecipeResultItemLink(blueprintLink)) end return itemId, recipeArray - + end function FurC.IsFavorite(itemLink, recipeArray) @@ -190,40 +190,40 @@ end function FurC.Fave(itemLink, recipeArray) recipeArray = recipeArray or FurC.Find(itemLink) recipeArray.favorite = not recipeArray.favorite - if not recipeArray.favorite then - recipeArray.favorite = nil + if not recipeArray.favorite then + recipeArray.favorite = nil end - + FurC.UpdateGui() end local function scanRecipeIndices(recipeListIndex, recipeIndex) -- returns recipeArray or nil, initialises - + local itemLink = GetRecipeResultItemLink(recipeListIndex, recipeIndex, LINK_STYLE_BRACKETS) - if nil == itemLink or #itemLink == 0 or not IsItemLinkPlaceableFurniture(itemLink) then return end - + if nil == itemLink or #itemLink == 0 or not IsItemLinkPlaceableFurniture(itemLink) then return end + local recipeKey = getItemId(itemLink) - + local recipeArray = FurC.settings.data[recipeKey] or {} recipeArray.origin = FURC_CRAFTING - recipeArray.version = recipeArray.version or 2 + recipeArray.version = recipeArray.version or 2 recipeArray.recipeListIndex = recipeArray.recipeListIndex or recipeListIndex recipeArray.recipeIndex = recipeArray.recipeIndex or recipeIndex - - recipeArray.characters = recipeArray.characters or {} - - + recipeArray.characters = recipeArray.characters or {} + + + if GetRecipeInfo(recipeListIndex, recipeIndex) then recipeArray.characters[getCurrentChar()] = true FurC.settings.accountCharacters = FurC.settings.accountCharacters or {} FurC.settings.accountCharacters[getCurrentChar()] = FurC.settings.accountCharacters[getCurrentChar()] or true end - - addDatabaseEntry(recipeKey, recipeArray) - return recipeArray - + + addDatabaseEntry(recipeKey, recipeArray) + return recipeArray + end function FurC.TryCreateRecipeEntry(recipeListIndex, recipeIndex) -- returns scanRecipeIndices, called from Events.lua @@ -239,7 +239,7 @@ end function FurC.CanCraft(recipeKey, recipeArray) if recipeKey == nil and recipeArray == nil then return false end recipeArray = recipeArray or FurC.settings.data[recipeKey] - if FurC.IsAccountKnown(recipeKey, recipeArray) then + if FurC.IsAccountKnown(recipeKey, recipeArray) then return recipeArray.characters[getCurrentChar()] end return false @@ -249,13 +249,13 @@ function FurC.GetCraftingSkillType(recipeKey, recipeArray) local itemLink = FurC.GetItemLink(recipeKey) local craftingSkillType = GetItemLinkCraftingSkillType(itemLink) - - if 0 == craftingSkillType and recipeArray.blueprint then + + if 0 == craftingSkillType and recipeArray.blueprint then craftingSkillType = GetItemLinkRecipeCraftingSkillType(FurC.GetItemLink(recipeArray.blueprint)) elseif 0 == craftingSkillType and recipeArray.recipeListIndex and recipeArray.recipeIndex then _, _, _, _, _, _, craftingSkillType = GetRecipeInfo(recipeArray.recipeListIndex, recipeArray.recipeIndex) end - + return craftingSkillType end @@ -264,63 +264,63 @@ local function scanCharacter() local listName, numRecipes for recipeListIndex=1, GetNumRecipeLists() do listName, numRecipes = GetRecipeListInfo(recipeListIndex) - for recipeIndex=1, numRecipes do + for recipeIndex=1, numRecipes do scanRecipeIndices(recipeListIndex, recipeIndex) -- returns true on success end - end + end p((GetString(SI_FURC_DEBUG_CHARSCANCOMPLETE))) end FurC.ScanCharacter = scanCharacter function FurC.RescanRumourRecipes() - + local function rescan() - for itemId, recipeArray in pairs(FurC.settings.data) do + for itemId, recipeArray in pairs(FurC.settings.data) do if recipeArray.source == FURC_RUMOUR then local itemLink = recipeArray[itemLink] - if not FurC.RumourRecipes[itemLink] then + if not FurC.RumourRecipes[itemLink] then recipeArray.source = FURC_CRAFTING recipeArray.origin = nil end end end end - + task:Call(rescan) :Then(FurC.UpdateGui) end -local recipeArray -local function scanFromFiles(shouldScanCharacter) +local recipeArray +local function scanFromFiles(shouldScanCharacter) local function parseZoneData(zoneName, zoneData, versionNumber, origin) for vendorName, vendorData in pairs(zoneData) do - for itemId, itemData in pairs(vendorData) do - - recipeArray = parseFurnitureItem(FurC.GetItemLink(itemId), true) - if not recipeArray then - p("Error when scanning <<1>>", itemId) + for itemId, itemData in pairs(vendorData) do + + recipeArray = parseFurnitureItem(FurC.GetItemLink(itemId), true) + if not recipeArray then + p("Error when scanning <<1>>", itemId) else - + recipeArray.origin = origin recipeArray.version = versionNumber addDatabaseEntry(itemId, recipeArray) end - + end - end + end end - + local function scanRecipeFile() local recipeKey, recipeArray local function scanArray(ary, versionNumber, origin) if nil == ary then return end - + for key, recipeId in ipairs(ary) do - local recipeLink = FurC.GetItemLink(recipeId) + local recipeLink = FurC.GetItemLink(recipeId) local itemLink = GetItemLinkRecipeResultItemLink(recipeLink) or FurC.GetItemLink(recipeId) recipeArray = FurC.Find(itemLink) or parseBlueprint(recipeLink) or parseFurnitureItem(itemLink) local recipeListIndex, recipeIndex = GetItemLinkGrantedRecipeIndices(recipeLink) - if nil == recipeArray then + if nil == recipeArray then p("scanRecipeFile: error for <<1>> (ID was <<2>>)", recipeLink, recipeId) else recipeKey = getItemId(itemLink) @@ -330,9 +330,9 @@ local function scanFromFiles(shouldScanCharacter) addDatabaseEntry(recipeKey, recipeArray) end end - end - - for versionNumber, versionData in pairs(FurC.Recipes) do + end + + for versionNumber, versionData in pairs(FurC.Recipes) do scanArray(versionData, versionNumber, FURC_CRAFTING) end for versionNumber, versionData in pairs(FurC.RollisRecipes) do @@ -342,110 +342,110 @@ local function scanFromFiles(shouldScanCharacter) scanArray(versionData, versionNumber, FURC_CRAFTING) end end - + local function scanRollis() for versionNumber, versionData in pairs(FurC.Rolis) do for itemId, itemSource in pairs(versionData) do recipeArray = parseFurnitureItem(FurC.GetItemLink(recipeId), true) - if nil ~= recipeArray then + if nil ~= recipeArray then recipeArray.version = versionNumber recipeArray.origin = FURC_ROLLIS - addDatabaseEntry(itemId, recipeArray) + addDatabaseEntry(itemId, recipeArray) end - end - end + end + end for versionNumber, versionData in pairs(FurC.Faustina) do for itemId, itemSource in pairs(versionData) do recipeArray = parseFurnitureItem(FurC.GetItemLink(recipeId), true) - if nil ~= recipeArray then + if nil ~= recipeArray then recipeArray.version = versionNumber recipeArray.origin = FURC_ROLLIS - addDatabaseEntry(itemId, recipeArray) + addDatabaseEntry(itemId, recipeArray) end - end - end + end + end end - + local function scanFestivalFiles() for versionNumber, versionData in pairs(FurC.EventItems) do for eventName, eventData in pairs(versionData) do for eventItemSource, eventItemData in pairs(eventData) do for itemId, _ in pairs(eventItemData) do recipeArray = {} - recipeArray.craftable = false + recipeArray.craftable = false recipeArray.version = versionNumber recipeArray.origin = FURC_FESTIVAL_DROP - addDatabaseEntry(itemId, recipeArray) - end - end - end - end + addDatabaseEntry(itemId, recipeArray) + end + end + end + end end - local function scanMiscItemFile() + local function scanMiscItemFile() for versionNumber, versionData in pairs(FurC.MiscItemSources) do - for origin, originData in pairs(versionData) do + for origin, originData in pairs(versionData) do for itemId, itemSource in pairs(originData) do local itemLink = FurC.GetItemLink(itemId) recipeArray = parseFurnitureItem(FurC.GetItemLink(itemId)) - if nil ~= recipeArray then + if nil ~= recipeArray then recipeArray.version = versionNumber recipeArray.origin = origin addDatabaseEntry(itemId, recipeArray) - else + else p("scanMiscItemFile: Error when scanning <<1>> (<<2>>) -> <<3>>", itemLink, itemId, origin) end - end + end end end end - + local function scanVendorFiles() - + FurC.InitAchievementVendorList() local recipeKey, recipeArray, itemSource - + for versionNumber, versionData in pairs(FurC.AchievementVendors) do - for zoneName, zoneData in pairs(versionData) do + for zoneName, zoneData in pairs(versionData) do parseZoneData(zoneName, zoneData, versionNumber, FURC_VENDOR) - end + end end - + for versionNumber, vendorData in pairs(FurC.LuxuryFurnisher) do for itemId, itemData in pairs(vendorData) do local recipeArray = {} - + recipeArray.origin = FURC_LUXURY - recipeArray.version = versionNumber + recipeArray.version = versionNumber addDatabaseEntry(itemId, recipeArray) - end + end end - + for versionNumber, versionData in pairs(FurC.PVP) do - for zoneName, zoneData in pairs(versionData) do - parseZoneData(zoneName, zoneData, versionNumber, FURC_PVP) - end - end + for zoneName, zoneData in pairs(versionData) do + parseZoneData(zoneName, zoneData, versionNumber, FURC_PVP) + end + end end local function scanRumourRecipes() for index, blueprintId in pairs(FurC.RumourRecipes) do local blueprintLink = FurC.GetItemLink(blueprintId) - local itemLink = GetItemLinkRecipeResultItemLink(blueprintLink, LINK_STYLE_BRACKETS) + local itemLink = GetItemLinkRecipeResultItemLink(blueprintLink, LINK_STYLE_BRACKETS) if #itemLink == 0 then itemLink = blueprintLink end local itemId = getItemId(itemLink) recipeArray = parseBlueprint(blueprintLink) or parseFurnitureItem(itemLink) or {} - if blueprintId ~= itemId then + if blueprintId ~= itemId then recipeArray.blueprint = blueprintId end recipeArray.recipeListIndex, recipeArray.recipeIndex = GetItemLinkGrantedRecipeIndices(blueprintLink) recipeArray.origin = FURC_RUMOUR recipeArray.verion = FURC_HOMESTEAD addDatabaseEntry(itemId, recipeArray) - end + end end FurC.IsLoading(true) - + task:Call(scanRecipeFile) :Then(scanMiscItemFile) :Then(scanRollis) @@ -453,8 +453,8 @@ local function scanFromFiles(shouldScanCharacter) :Then(scanRollis) :Then(scanFestivalFiles) :Then( - function() - if shouldScanCharacter then + function() + if shouldScanCharacter then scanCharacter() else startupMessage(GetString(SI_FURC_VERBOSE_STARTUP)) @@ -463,7 +463,7 @@ local function scanFromFiles(shouldScanCharacter) :Then(scanRumourRecipes) :Then(FurC.UpdateGui) startupMessage(GetString(SI_FURC_VERBOSE_DB_UPTODATE)) - + end function FurC.ScanFromFiles(scanCharacterKnowledge) @@ -476,28 +476,28 @@ local function getScanFromFiles() FurC.settings.version = FurC.version return true end - + return FurC.settings.data == {} -end +end local function getScanCharacter() if nil == FurC.settings.accountCharacters[FurC.CharacterName] then FurC.settings.accountCharacters[FurC.CharacterName] = false return true end -end +end function FurC.ScanRecipes(shouldScanFiles, shouldScanCharacter) -- returns database - + shouldScanFiles = shouldScanFiles or getScanFromFiles() shouldScanCharacter = (shouldScanCharacter or getScanCharacter()) - if (shouldScanFiles) then + if (shouldScanFiles) then p(GetString(SI_FURC_VERBOSE_SCANNING_DATA_FILE)) scanFromFiles(shouldScanCharacter) elseif (shouldScanCharacter) then p(GetString(SI_FURC_VERBOSE_SCANNING_CHARS)) - scanCharacter() - end + scanCharacter() + end end function FurC.GetItemDescription(recipeKey, recipeArray, stripColor) @@ -510,7 +510,7 @@ FurC.settings.emptyItemSources = FurC.settings.emptyItemSources or {} elseif origin == FURC_ROLLIS then return FurC.getRollisSource(recipeKey, recipeArray, stripColor) elseif origin == FURC_LUXURY then - return FurC.getLuxurySource(recipeKey, recipeArray, stripColor) + return FurC.getLuxurySource(recipeKey, recipeArray, stripColor) elseif origin == FURC_GUILDSTORE then return GetString(SI_FURC_SEEN_IN_GUILDSTORE) elseif origin == FURC_VENDOR then @@ -519,13 +519,14 @@ FurC.settings.emptyItemSources = FurC.settings.emptyItemSources or {} return FurC.getEventDropSource(recipeKey, recipeArray, stripColor) elseif origin == FURC_PVP then return FurC.getPvpSource(recipeKey, recipeArray, stripColor) - elseif origin == FURC_RUMOUR then + elseif origin == FURC_RUMOUR then return FurC.getRumourSource(recipeKey, recipeArray, stripColor) - else + else itemSource = FurC.GetMiscItemSource(recipeKey, recipeArray, stripColor) end if not itemSource then FurC.settings.emptyItemSources[recipeKey] = ", --" .. GetItemLinkName(FurC.GetItemLink(recipeKey)) end return itemSource or GetString(SI_FURC_ITEMSOURCE_EMPTY) -end \ No newline at end of file +end + diff --git a/FurCDataParser.lua b/FurCDataParser.lua index 37a60de..dc765b3 100644 --- a/FurCDataParser.lua +++ b/FurCDataParser.lua @@ -10,27 +10,27 @@ function FurC.PrintCraftingStation(itemId, recipeArray) end local function prefillChatBox(output, refresh) - + output = zo_strformat(output) if nil == output or FURC_EMPTY_STRING == output then return end local editControl = CHAT_SYSTEM.textEntry.editControl - - if not refresh then - output = editControl:GetText() .. output + + if not refresh then + output = editControl:GetText() .. output elseif CHAT_SYSTEM.textEntry.editControl:HasFocus() then editControl:Clear() - end - + end + -- trying to get rid of that double click error... if IsProtectedFunction("StartChatInput") then CallSecureProtected("StartChatInput", output) else StartChatInput(output) - end + end end function FurC.ToChat(output, refresh) - if type(output) == "number" then + if type(output) == "number" then output = FurC.GetItemLink(output) end prefillChatBox(output, refresh) @@ -41,9 +41,9 @@ local function stripColor(aString) return aString:gsub("|%l%l%d%d%d%d%d", ""):gsub("|%l%l%d%l%l%d%d", ""):gsub("|c25C31E", ""):gsub("|r", "") end -local function getNameFromEntry(recipeArray) +local function getNameFromEntry(recipeArray) if nil == recipeArray then return "" end - if nil == recipeArray.itemName and nil ~= recipeArray.itemId then + if nil == recipeArray.itemName and nil ~= recipeArray.itemId then recipeArray.itemName = GetItemLinkName(recipeArray.itemId) end return recipeArray.itemName or "" @@ -52,13 +52,13 @@ end function FurC.PrintSource(itemLink, recipeArray) if nil == recipeArray then recipeArray = FurC.Find(itemLink) end if nil == recipeArray then return end - + local source = FurC.GetItemDescription(FurC.GetItemId(itemLink), recipeArray, true) local output = string.format("%s: %s", itemLink, source) if recipeArray.achievement and recipeArray.achievement ~= "" then output = string.format("%s, requires %s", output, recipeArray.achievement) - end - + end + FurC.ToChat(output, true) end @@ -68,8 +68,8 @@ function FurC.FindByName(namePart) -- d(zo_strformat("Looking for <<1>>... \n", namePart)) for itemId, recipeArray in pairs(FurC.settings["data"]) do -- d(zo_strformat("<<1>>: <<2>> (<<3>>)", recipeArray.itemId, getNameFromEntry(recipeArray), string.match(string.lower(getNameFromEntry(recipeArray)), string.lower(namePart)))) - if nil ~= string.match(string.lower(getNameFromEntry(recipeArray)), string.lower(namePart)) then - table.insert(ret, recipeArray) + if nil ~= string.match(string.lower(getNameFromEntry(recipeArray)), string.lower(namePart)) then + table.insert(ret, recipeArray) end end return ret @@ -78,4 +78,5 @@ end local function capitalise(str) str = str:gsub("^(%l)(%w*)", function(a,b) return string.upper(a)..b end) return str -end \ No newline at end of file +end + diff --git a/FurCDatabaseQuery.lua b/FurCDatabaseQuery.lua index 2524a62..fded8ab 100644 --- a/FurCDatabaseQuery.lua +++ b/FurCDatabaseQuery.lua @@ -5,7 +5,7 @@ local goldColor = "e5da40" local apColor = "25C31E" local tvColor = "5EA4FF" local voucherColor = "82BCFF" -local p = FurC.DebugOut -- debug function calling zo_strformat with up to 10 args +local p = FurC.DebugOut -- debug function calling zo_strformat with up to 10 args local function colorise(str, col, ret) str = tostring(str) @@ -23,20 +23,20 @@ end local function getRollisSource(recipeKey, recipeArray) recipeArray = recipeArray or FurC.Find(recipeKey) if not recipeArray then return end - + local versionData = FurC.Rolis[recipeArray.version] - - if nil ~= versionData and nil ~= versionData[recipeKey] then + + if nil ~= versionData and nil ~= versionData[recipeKey] then local itemPrice = zo_strformat(GetString(SI_FURC_STRING_FOR_VOUCHERS), colorise(versionData[recipeKey], voucherColor)) - return zo_strformat(GetString(SI_FURC_STRING_ROLLIS), itemPrice) + return zo_strformat(GetString(SI_FURC_STRING_ROLLIS), itemPrice) end - + versionData = FurC.Faustina[recipeArray.version] if nil ~= versionData and nil ~= versionData[recipeKey] then local itemPrice = zo_strformat(GetString(SI_FURC_STRING_FOR_VOUCHERS), colorise(versionData[recipeKey], voucherColor)) return zo_strformat(GetString(SI_FURC_STRING_FAUSTINA), itemPrice) end - + return GetString(SI_FURC_STRING_VOUCHER_VENDOR) end FurC.getRollisSource = getRollisSource @@ -47,46 +47,46 @@ local function getLuxurySource(recipeKey, recipeArray, stripColor) if not recipeArray then return end local versionData = FurC.LuxuryFurnisher[recipeArray.version] if not versionData then return GetString(SI_FURC_STRING_FETCHER) end - + local itemData = versionData[recipeKey] - + if nil ~= itemData then local weekendString = (nil == itemData.itemDate and "") or zo_strformat(GetString(SI_FURC_STRING_WEEKEND_AROUND), itemData.itemDate) return zo_strformat( GetString(SI_FURC_STRING_WASSOLDBY), colorise(GetString(SI_FURC_STRING_ASSHOLE), vendorColor, stripColor), colorise(GetString(SI_FURC_STRING_HC), vendorColor, stripColor), - colorise(itemData.itemPrice, goldColor, stripColor), + colorise(itemData.itemPrice, goldColor, stripColor), weekendString ) - end - return GetString(SI_FURC_STRING_FETCHER) + end + return GetString(SI_FURC_STRING_FETCHER) end FurC.getLuxurySource = getLuxurySource local function getPvpSource(recipeKey, recipeArray, stripColor) - + recipeArray = recipeArray or FurC.Find(recipeKey) if not recipeArray then return end local versionData = FurC.PVP[recipeArray.version] if not versionData then return "getPvpSource: nil" end - + for vendorName, vendorData in pairs(versionData) do for locationName, locationData in pairs(vendorData) do - if nil ~= locationData[recipeKey] then + if nil ~= locationData[recipeKey] then return zo_strformat( - GetString(SI_FURC_STRING_VENDOR), - colorise(vendorName, vendorColor, stripColor), - colorise(locationName, vendorColor, stripColor), + GetString(SI_FURC_STRING_VENDOR), + colorise(vendorName, vendorColor, stripColor), + colorise(locationName, vendorColor, stripColor), colorise(locationData[recipeKey].itemPrice, apColor, stripColor), GetString(SI_FURC_STRING_AP) ) end end end - + return "getPvpSource" - + end FurC.getPvpSource = getPvpSource local typeTable = "table" @@ -95,21 +95,21 @@ local function getAchievementVendorSource(recipeKey, recipeArray, stripColor) recipeArray = recipeArray or FurC.Find(recipeKey) if not recipeArray then return end local versionData = FurC.AchievementVendors[recipeArray.version] - if not versionData then + if not versionData then return zo_strformat("getAchievementVendorSource: failed version lookup for ID <<1>> [<<2>>]", recipeKey, recipeArray.version) end - + local databaseEntry - + for zoneName, zoneData in pairs(versionData) do for vendorName, vendorData in pairs(zoneData) do databaseEntry = vendorData[recipeKey] - if nil ~= databaseEntry then - return zo_strformat( - GetString(SI_FURC_STRING_VENDOR), - colorise(vendorName, vendorColor, stripColor), - colorise(zoneName, vendorColor, stripColor), - colorise(databaseEntry.itemPrice, goldColor, stripColor), + if nil ~= databaseEntry then + return zo_strformat( + GetString(SI_FURC_STRING_VENDOR), + colorise(vendorName, vendorColor, stripColor), + colorise(zoneName, vendorColor, stripColor), + colorise(databaseEntry.itemPrice, goldColor, stripColor), makeAchievementLink(databaseEntry.achievement) ) end @@ -124,36 +124,36 @@ local function getEventDropSource(recipeKey, recipeArray, stripColor) recipeArray = recipeArray or FurC.Find(recipeKey) if not recipeArray then return end local versionData = FurC.EventItems[recipeArray.version] - local itemPriceString = "getEventDropSource: couldn't find " .. tostring(recipeKey) - if not versionData then + local itemPriceString = "getEventDropSource: couldn't find " .. tostring(recipeKey) + if not versionData then return itemPriceString end for versionNumber, versionData in pairs(FurC.EventItems) do for eventName, eventData in pairs(versionData) do for eventItemSource, eventSourceData in pairs(eventData) do - if eventSourceData[recipeKey] then + if eventSourceData[recipeKey] then itemPriceString = zo_strformat( - GetString(SI_FURC_FESTIVAL_DROP), - colorise(eventName, vendorColor, stripColor), + GetString(SI_FURC_FESTIVAL_DROP), + colorise(eventName, vendorColor, stripColor), colorise(eventItemSource, vendorColor, stripColor) ) local additionalsource = tostring(eventSourceData[recipeKey]) or "" - if #additionalsource > 4 then + if #additionalsource > 4 then itemPriceString = itemPriceString .. "\n" .. additionalsource - end + end return itemPriceString end - end - end - end - + end + end + end + return itemPriceString end FurC.getEventDropSource = getEventDropSource function FurC.GetMiscItemSource(recipeKey, recipeArray) if not recipeArray or not recipeArray.version or not recipeArray.origin then return end - + if recipeArray.origin == FURC_RUMOUR then return FurC.getRumourSource(recipeKey, recipeArray) end @@ -169,13 +169,13 @@ local function getRecipeSource(recipeKey, recipeArray) if nil == recipeKey and nil == recipeArray then return end if nil == FurC.RecipeSources then return end if nil ~= FurC.RecipeSources[recipeKey] then return FurC.RecipeSources[recipeKey] end - + recipeArray = recipeArray or FurC.Find(recipeKey) - + recipeKey = recipeArray.blueprint or recipeKey - + -- d(recipeKey) - return (recipeArray.origin == FURC_RUMOUR and FurC.getRumourSource(recipeKey, recipeArray)) + return (recipeArray.origin == FURC_RUMOUR and FurC.getRumourSource(recipeKey, recipeArray)) or FurC.RecipeSources[recipeKey] end FurC.getRecipeSource = getRecipeSource @@ -187,11 +187,11 @@ end function FurC.GetCrafterList(itemLink, recipeArray) if nil == recipeArray and nil == itemLink then return end recipeArray = recipeArray or FurC.Find(itemLink) - if nil == recipeArray then - return zo_strformat("FurC.GetCrafterList called for a non-craftable") + if nil == recipeArray then + return zo_strformat("FurC.GetCrafterList called for a non-craftable") end - - if nil == recipeArray.characters or NonContiguousCount(recipeArray.characters) == 0 then + + if nil == recipeArray.characters or NonContiguousCount(recipeArray.characters) == 0 then return GetString(SI_FURC_STRING_CANNOT_CRAFT) end local ret = GetString(SI_FURC_STRING_CRAFTABLE_BY) @@ -200,3 +200,4 @@ function FurC.GetCrafterList(itemLink, recipeArray) end return ret:sub(0, -3) end + diff --git a/FurCEvents.lua b/FurCEvents.lua index 7dcc543..a84f2da 100644 --- a/FurCEvents.lua +++ b/FurCEvents.lua @@ -10,9 +10,15 @@ end local wm = WINDOW_MANAGER local function createIcon(control) - local icon = wm:CreateControlFromVirtual(control:GetName().."FurCIcon", control, "FurC_SlotIconKnownYes") - icon:SetAnchor(BOTTOMLEFT, control:GetNamedChild("Button"), BOTTOMLEFT, -15, -10) - icon:SetHidden(true) + local icon + if FurC.settings["showIconOnLeft"] == nil or + FurC.settings["showIconOnLeft"] == true then + icon = wm:CreateControlFromVirtual(control:GetName().."FurCIcon", control, "FurC_SlotIconKnownYes") + icon:SetAnchor(BOTTOMLEFT, control:GetNamedChild("Button"), BOTTOMLEFT, -15, -10) + icon:SetHidden(true) + else + icon = control:GetNamedChild("TraitInfo") + end control.icon = icon return icon end @@ -20,22 +26,22 @@ end local function getItemKnowledge(itemLink) local recipeArray = FurC.Find(itemLink) if FurC.GetUseInventoryIconsOnChar() then - return FurC.CanCraft(itemId, recipeArray) + return FurC.CanCraft(itemId, recipeArray) end return FurC.IsAccountKnown(itemId, recipeArray) - + end local function updateItemInInventory(control) if 'listSlot' ~= control.slotControlType then return end local icon = control.icon or createIcon(control) local data = control.dataEntry.data - + local bagId = data.bagId local slotId = data.slotIndex local itemLink = GetItemLink(bagId, slotId) - - if not IsItemLinkFurnitureRecipe(itemLink) then + + if not IsItemLinkFurnitureRecipe(itemLink) then icon:SetHidden(true) return end @@ -43,11 +49,11 @@ local function updateItemInInventory(control) local hidden = known and FurC.GetHideKnownInventoryIcons() or (not FurC.GetUseInventoryIcons()) icon:SetHidden(hidden) - + local templateName = "FurC_SlotIconKnown" .. ((known and "Yes") or "No") - - WINDOW_MANAGER:ApplyTemplateToControl(icon, templateName) - + + WINDOW_MANAGER:ApplyTemplateToControl(icon, templateName) + end function FurC.SetupInventoryRecipeIcons(calledRecursively) @@ -61,25 +67,26 @@ function FurC.SetupInventoryRecipeIcons(calledRecursively) if not listView.dataTypes[1] then return false end return nil ~= listView.dataTypes[1].setupCallback end - + local inventories = PLAYER_INVENTORY.inventories - if not inventories and not calledRecursively then + if not inventories and not calledRecursively then return zo_callLater(function() FurC.SetupInventoryRecipeIcons(true) end, 1000) end -- ruthlessly stolen from Dryzler's Inventory, then tweaked for bagId, inventory in pairs(inventories) do if isValidBag(bagId, inventory) then - - ZO_PreHook( inventory.listView.dataTypes[1], "setupCallback", + + ZO_PreHook( inventory.listView.dataTypes[1], "setupCallback", function(control, slot) updateItemInInventory(control) end ) - + end - end + end end -function FurC.RegisterEvents() - em:RegisterForEvent("FurnitureCatalogue", EVENT_RECIPE_LEARNED, onRecipeLearned) -end \ No newline at end of file +function FurC.RegisterEvents() + em:RegisterForEvent("FurnitureCatalogue", EVENT_RECIPE_LEARNED, onRecipeLearned) +end + diff --git a/FurCFilter.lua b/FurCFilter.lua index 0b37a5e..c2040fe 100644 --- a/FurCFilter.lua +++ b/FurCFilter.lua @@ -16,16 +16,16 @@ local hideCrownStore = false local mergeLuxuryAndSales = false local filterAllOnTextSearch = false -local sourceIndices +local sourceIndices local recipeArray, itemId, itemLink, itemType, sItemType, itemName, recipeIndex, recipeListIndex function FurC.SetFilter(useDefaults, skipRefresh) ClearTooltip(InformationTooltip) sourceIndices = FurC.SourceIndices - searchString = FurC.GetSearchFilter() - - if useDefaults then + searchString = FurC.GetSearchFilter() + + if useDefaults then dropdownChoiceVersion = tonumber(FurC.GetDefaultDropdownChoice("Version")) ddSource = FurC.GetDefaultDropdownChoice("Source") dropdownChoiceCharacter = FurC.GetDefaultDropdownChoice("Character") @@ -34,7 +34,7 @@ function FurC.SetFilter(useDefaults, skipRefresh) ddSource = FurC.GetDropdownChoice("Source") dropdownChoiceCharacter = FurC.GetDropdownChoice("Character") end - + -- we need to hold the text here, in case it's not "All" ddTextCharacter = FurC.GetDropdownChoiceTextual("Character") @@ -44,14 +44,14 @@ function FurC.SetFilter(useDefaults, skipRefresh) hideRumours = FurC.GetHideRumourRecipes() mergeLuxuryAndSales = FurC.GetMergeLuxuryAndSales() hideCrownStore = FurC.GetHideCrownStoreItems() - + -- ignore filtered items when no dropdown filter is set and there's a text search? - filterAllOnTextSearch = FurC.GetFilterAllOnText() and #searchString > 0 and + filterAllOnTextSearch = FurC.GetFilterAllOnText() and #searchString > 0 and FURC_NONE == ddSource and FURC_NONE == dropdownChoiceVersion and FURC_NONE == dropdownChoiceCharacter - - if not skipRefresh then + + if not skipRefresh then zo_callLater(FurC.UpdateLineVisibility, 200) end end @@ -67,7 +67,7 @@ end local function isRecipeArrayKnown() if nil == recipeArray or nil == recipeArray.characters then return end - if dropdownChoiceCharacter == 1 then + if dropdownChoiceCharacter == 1 then for name, value in pairs(recipeArray.characters) do if (value) then return true end end @@ -78,48 +78,48 @@ end -- Version: All, Homestead, Morrowind local function matchVersionDropdown() - return dropdownChoiceVersion == 1 or recipeArray.version == dropdownChoiceVersion + return dropdownChoiceVersion == 1 or recipeArray.version == dropdownChoiceVersion end - + local function shouldBeHidden() return (ddSource ~= FURC_RUMOUR and recipeArray.origin == FURC_RUMOUR and hideRumours) or (ddSource ~= FURC_CROWN and recipeArray.origin == FURC_CROWN and hideCrownStore) end -- Source: All, All (craftable), Craftable (known), craftable (unknown), purchaseable -local function matchSourceDropdown() - - -- "All", don't care +local function matchSourceDropdown() + + -- "All", don't care if FURC_NONE == ddSource then -- All return true - elseif FURC_CRAFTING_KNOWN == ddSource then + elseif FURC_CRAFTING_KNOWN == ddSource then return recipeArray.origin == FURC_CRAFTING and isRecipeArrayKnown(recipeArray) - elseif FURC_CRAFTING_UNKNOWN == ddSource then - return recipeArray.origin == FURC_CRAFTING and not isRecipeArrayKnown(recipeArray) + elseif FURC_CRAFTING_UNKNOWN == ddSource then + return recipeArray.origin == FURC_CRAFTING and not isRecipeArrayKnown(recipeArray) elseif FURC_FAVE == ddSource then return recipeArray.favorite - elseif FURC_VENDOR == ddSource then + elseif FURC_VENDOR == ddSource then return (recipeArray.origin == FURC_VENDOR or (mergeLuxuryAndSales and recipeArray.origin == FURC_LUXURY)) elseif FURC_RUMOUR == ddSource then return recipeArray.origin == FURC_RUMOUR elseif FURC_WRIT_VENDOR == ddSource then - return recipeArray.origin == FURC_ROLLIS - elseif FURC_OTHER == ddSource then + return recipeArray.origin == FURC_ROLLIS + elseif FURC_OTHER == ddSource then return ( recipeArray.origin == FURC_FESTIVAL_DROP or - recipeArray.origin == FURC_DROP or - recipeArray.origin == FURC_FISHING or - recipeArray.origin == FURC_JUSTICE or + recipeArray.origin == FURC_DROP or + recipeArray.origin == FURC_FISHING or + recipeArray.origin == FURC_JUSTICE or recipeArray.origin == FURC_GUILDSTORE ) else return recipeArray.origin == ddSource end - + -- we're checking character knowledge - return 1 == dropdownChoiceCharacter or recipeArray.origin == FURC_CRAFTING - + return 1 == dropdownChoiceCharacter or recipeArray.origin == FURC_CRAFTING + end -local function matchDropdownFilter() +local function matchDropdownFilter() return matchVersionDropdown() and matchSourceDropdown() end @@ -133,7 +133,7 @@ end local function matchCraftingTypeFilter() if not recipeArray.origin == FURC_CRAFTING then return false end - local filterType = FurC.GetCraftingSkillType(itemId, recipeArray) + local filterType = FurC.GetCraftingSkillType(itemId, recipeArray) return filterType and filterType > 0 and craftingTypeFilter[filterType] end local function matchQualityFilter() @@ -143,8 +143,8 @@ end local function filterBooks(itemId, recipeArray) if not (hideBooks or filterAllOnTextSearch and FurC.GetFilterAllOnTextNoBooks()) then return false end local versionData = FurC.Books[recipeArray.version] - if nil == versionData then return end - return nil ~= versionData[itemId] + if nil == versionData then return end + return nil ~= versionData[itemId] end function FurC.MatchFilter(currentItemId, currentRecipeArray) @@ -153,29 +153,28 @@ function FurC.MatchFilter(currentItemId, currentRecipeArray) itemLink = FurC.GetItemLink(itemId) recipeArray = currentRecipeArray or FurC.Find(itemLink) itemType, sItemType = GetItemLinkItemType(itemLink) - - if filterBooks(itemId, recipeArray) then return false end - - + + if filterBooks(itemId, recipeArray) then return false end + + if recipeArray.origin == FURC_RUMOUR then - if filterAllOnTextSearch and not FurC.GetFilterAllOnTextNoRumour() then - return false + if filterAllOnTextSearch and not FurC.GetFilterAllOnTextNoRumour() then + return false end if hideRumours then return false end end - + if recipeArray.origin == FURC_CROWN then if filterAllOnTextSearch and FurC.GetFilterAllOnTextNoCrown() then return false end if hideCrownStore and ddSource ~= FURC_CROWN then return false end end - - if not (filterAllOnTextSearch or matchDropdownFilter()) then return false end - - - if not matchSearchString() then return false end + + if not (filterAllOnTextSearch or matchDropdownFilter()) then return false end + + + if not matchSearchString() then return false end if not (FurC.settings.filterCraftingTypeAll or matchCraftingTypeFilter()) then return false end if not (FurC.settings.filterQualityAll or matchQualityFilter()) then return false end - + return true - -end \ No newline at end of file +end diff --git a/FurCGui.lua b/FurCGui.lua index f53ee95..6312f3b 100644 --- a/FurCGui.lua +++ b/FurCGui.lua @@ -11,30 +11,30 @@ local async = LibStub("LibAsync"):Create("FurnitureCatalogue_forLoop") local p = FurC.DebugOut -- debug function calling zo_strformat with up to 10 args local sortTable = FurC.SortTable -local function sort(myTable) - local sortName, sortDirection = FurC.GetSortParams() +local function sort(myTable) + local sortName, sortDirection = FurC.GetSortParams() sortName = sortName or "itemName" local sortUp = ((ZO_SORT_ORDER_UP and sortDirection == "up") or ZO_SORT_ORDER_DOWN) - return sortTable(myTable, sortName, sortUp) + return sortTable(myTable, sortName, sortUp) end local headerHeight = FurCGui_Header:GetHeight() function FurC.CalculateMaxLines() FurCGui_ListHolder:SetHeight(FurCGui:GetHeight() - headerHeight) - FurCGui_ListHolder.maxLines = math.floor((FurCGui_ListHolder:GetHeight()) / FurCGui_ListHolder.lines[1]:GetHeight() ) + FurCGui_ListHolder.maxLines = math.floor((FurCGui_ListHolder:GetHeight()) / FurCGui_ListHolder.lines[1]:GetHeight() ) return FurCGui_ListHolder.maxLines end -local function updateLineVisibility() - - - local function fillLine(curLine, curData, lineIndex) +local function updateLineVisibility() + + + local function fillLine(curLine, curData, lineIndex) if nil == curLine then return end - + local dataLines = FurCGui_ListHolder.dataLines local maxLines = FurCGui_ListHolder.maxLines - + local hidden = lineIndex > #dataLines or lineIndex > maxLines curLine:SetHidden(hidden) if nil == curData or curLine:IsHidden() then @@ -55,43 +55,43 @@ local function updateLineVisibility() curLine.mats:SetText(mats) end end - + local isEmpty = #FurCGui_ListHolder.dataLines == 0 - + FurCGui_ListHolder:SetHidden( isEmpty) FurCGui_Empty:SetHidden( not isEmpty) - + if isEmpty then return end - + FurC.CalculateMaxLines() - + task:Call(function() local maxLines = FurCGui_ListHolder.maxLines local dataLines = FurCGui_ListHolder.dataLines - + local offset = FurCGui_ListHolder_Slider:GetValue() if offset > #dataLines then offset = 0 end FurCGui_ListHolder_Slider:SetValue(offset) - + local curLine, curData - + for i=1, FurCGui_ListHolder:GetNumChildren() do curLine = FurCGui_ListHolder.lines[i] curData = FurCGui_ListHolder.dataLines[offset + i] - fillLine(curLine, curData, i) + fillLine(curLine, curData, i) end FurCGui_ListHolder_Slider:SetMinMax(0, #dataLines) - + end) end FurC.UpdateLineVisibility = updateLineVisibility -function FurC.IsLoading(isBuffering) - +function FurC.IsLoading(isBuffering) + FurCGui_Wait:SetHidden(not isBuffering) - + local isEmpty = #FurCGui_ListHolder.dataLines == 0 - + FurCGui_ListHolder:SetHidden(isBuffering or isEmpty) FurCGui_Empty:SetHidden(isBuffering or not isEmpty) @@ -102,49 +102,49 @@ local function updateScrollDataLinesData() local dataLines = {} task:Call(function() local index = 0 - - data = FurC.settings.data - + + data = FurC.settings.data + local itemLink -- async:For(pairs(data)):Do( function(itemId, recipeArray) - for itemId, recipeArray in pairs(data) do + for itemId, recipeArray in pairs(data) do if FurC.MatchFilter(itemId, recipeArray) then itemLink = FurC.GetItemLink(itemId) if itemLink then tempDataLine = ZO_DeepTableCopy({}, recipeArray) tempDataLine.itemId = itemId - tempDataLine.itemLink = itemLink + tempDataLine.itemLink = itemLink tempDataLine.itemName = GetItemLinkName(itemLink) table.insert(dataLines, tempDataLine) - end + end end end -- end) - + end) :Then(function() dataLines = sort(dataLines) FurCGui_ListHolder.dataLines = dataLines FurC_RecipeCount:SetText(#dataLines) end) - + end function FurC.UpdateGui(useDefaults) if FurCGui:IsHidden() then return end - + otherTask:Call(function() - - FurC.IsLoading(true) + + FurC.IsLoading(true) FurC.LastFilter = useDefaults FurC.SetFilter(useDefaults, true) end) :Then(updateScrollDataLinesData) - :Then(function() zo_callLater(function() - + :Then(function() zo_callLater(function() + FurC.IsLoading(false) - updateLineVisibility() - + updateLineVisibility() + end, 200) end) end @@ -152,25 +152,25 @@ function FurC.UpdateInventoryScroll() local index = 0 FurCGui_ListHolder.dataOffset = FurCGui_ListHolder.dataOffset or 0 FurCGui_ListHolder.dataOffset = math.max(FurCGui_ListHolder.dataOffset, 0) - + FurC.CalculateMaxLines() - + local total = #FurCGui_ListHolder.dataLines - FurCGui_ListHolder.maxLines - if total > 0 then + if total > 0 then FurCGui_ListHolder_Slider:SetMinMax(0, total) end - + updateLineVisibility() end function FurC.SetLineHeight(applyTemplate) local curLine local size = FurC.GetFontSize() - + local nameFont = string.format("$(%s)|$(KB_%s)|soft-shadow-thin", (FurC.GetTinyUi() and "MEDIUM_FONT") or "BOLD_FONT", size) local matsFont = string.format("$(MEDIUM_FONT)|$(KB_%s)|soft-shadow-thin", size) - for i = 1, #FurCGui_ListHolder.lines do + for i = 1, #FurCGui_ListHolder.lines do curLine = FurCGui_ListHolder.lines[i] if applyTemplate then WINDOW_MANAGER:ApplyTemplateToControl(curLine, FurC.SlotTemplate) @@ -182,7 +182,7 @@ function FurC.SetLineHeight(applyTemplate) FurC.CalculateMaxLines() end -function FurC.ApplyLineTemplate() +function FurC.ApplyLineTemplate() local function resizeDropdowns(controlSize) local controlList = { @@ -195,38 +195,38 @@ function FurC.ApplyLineTemplate() end FurC_Search:SetWidth(controlSize-19) end - if FurC.GetTinyUi() then + if FurC.GetTinyUi() then FurC.SlotTemplate = "FurC_SlotTemplateTiny" resizeDropdowns(230) -- first column width: 230 FurCGui_Header_SortBar_Quality:ClearAnchors() - FurCGui_Header_SortBar_Quality:SetAnchor(TOPLEFT, FurCGui_Header_SortBar_Name, TOPRIGHT, -82) + FurCGui_Header_SortBar_Quality:SetAnchor(TOPLEFT, FurCGui_Header_SortBar_Name, TOPRIGHT, -82) else FurC.SlotTemplate = "FurC_SlotTemplate" resizeDropdowns(300) -- first column width: 280 FurCGui_Header_SortBar_Quality:ClearAnchors() - FurCGui_Header_SortBar_Quality:SetAnchor(TOPLEFT, FurCGui_Header_SortBar_Name, TOPRIGHT, 0) - end - + FurCGui_Header_SortBar_Quality:SetAnchor(TOPLEFT, FurCGui_Header_SortBar_Name, TOPRIGHT, 0) + end + FurC.SetLineHeight(true) - + local minWidth = 2*(FurC_DropdownCharacter:GetWidth()) + FurC_TypeFilter:GetWidth() + 40 local minHeight = 2*FurCGui_Header:GetHeight() FurCGui:SetDimensionConstraints(minWidth, minHeight) - + task:Call(function() updateLineVisibility() end) end local addedDropdownCharacterNames = {} local function createGui() - + local function createInventoryScroll() -- FurC.DebugOut("CreateInventoryScroll") local function createLine(i, predecessor) - + predecessor = predecessor or FurCGui_ListHolder - + local line = WINDOW_MANAGER:CreateControlFromVirtual("FurC_ListItem_".. i, FurCGui_ListHolder, FurC.SlotTemplate) line.icon = line:GetNamedChild("Button"):GetNamedChild("Icon") line.text = line:GetNamedChild("Name") @@ -244,7 +244,7 @@ local function createGui() end return line end - + FurCGui_ListHolder.dataOffset = 0 FurCGui_ListHolder.maxLines = 60 FurCGui_ListHolder.dataLines = {} @@ -273,93 +273,93 @@ local function createGui() local quality = 0 local function createQualityFilter(name, color, tooltip) local parent = FurC_QualityFilter - + local predecessor = buttons[#buttons] or parent local controlType = "FurC_QualityFilterButton" - + local button = WINDOW_MANAGER:CreateControlFromVirtual(parent:GetName()..name, parent, controlType) - local ctrlName = string.lower(name) + local ctrlName = string.lower(name) button:SetNormalTexture( string.format("FurnitureCatalogue/textures/%s_up.dds", ctrlName)) button:SetNormalTexture( string.format("FurnitureCatalogue/textures/%s_over.dds", ctrlName)) button:SetNormalTexture( string.format("FurnitureCatalogue/textures/%s_down.dds", ctrlName)) button.quality = quality - button.tooltip = tooltip - + button.tooltip = tooltip + local otherAnchor = ((predecessor == parent) and LEFT) or RIGHT local xOffset = ((predecessor == parent) and 0) or 6 button:SetAnchor(LEFT, predecessor, otherAnchor, xOffset) quality = quality +1 - + return button - + end - + buttons[quality+1] = createQualityFilter("All", nil, "All Items") - + buttons[quality+1] = createQualityFilter("White", ITEM_QUALITY_NORMAL, "White quality") buttons[quality+1] = createQualityFilter("Magic", ITEM_QUALITY_MAGIC, "Magic quality") buttons[quality+1] = createQualityFilter("Arcane", ITEM_QUALITY_ARCANE, "Superior quality") buttons[quality+1] = createQualityFilter("Artifact", ITEM_QUALITY_ARTIFACT, "Epic quality") buttons[quality+1] = createQualityFilter("Legendary", ITEM_QUALITY_LEGENDARY, "Legendary quality") - + FurC.GuiElements.qualityButtons = buttons - + end - + local function createCraftingTypeFilters() local buttons = {} - + local function createCraftingTypeFilter(craftingType, textureName) local parent = FurC_TypeFilter local predecessor = buttons[#buttons] or parent - + local name = parent:GetName() .. "Button" .. tostring(craftingType) - + local button = WINDOW_MANAGER:CreateControlFromVirtual(name, parent, "FurC_CraftingTypeFilterButton") - + button:SetNormalTexture( string.format("%s%s", textureName, "_up.dds")) button:SetMouseOverTexture( string.format("%s%s", textureName, "_over.dds")) button:SetPressedTexture( string.format("%s%s", textureName,"_down.dds")) - button.craftingType = craftingType + button.craftingType = craftingType button.tooltip = (craftingType > 0 and GetCraftingSkillName(craftingType)) or GetString("SI_ITEMFILTERTYPE", ITEMFILTERTYPE_ALL) - + local otherAnchor = ((predecessor == parent) and TOPLEFT) or TOPRIGHT button:SetAnchor(TOPLEFT, predecessor, otherAnchor, 0) - + return button - + end - - buttons[CRAFTING_TYPE_INVALID] = createCraftingTypeFilter(CRAFTING_TYPE_INVALID, "esoui/art/inventory/inventory_tabicon_all") + + buttons[CRAFTING_TYPE_INVALID] = createCraftingTypeFilter(CRAFTING_TYPE_INVALID, "esoui/art/inventory/inventory_tabicon_all") buttons[CRAFTING_TYPE_BLACKSMITHING] = createCraftingTypeFilter(CRAFTING_TYPE_BLACKSMITHING, "esoui/art/inventory/inventory_tabicon_craftbag_blacksmithing") buttons[CRAFTING_TYPE_CLOTHIER] = createCraftingTypeFilter(CRAFTING_TYPE_CLOTHIER, "esoui/art/inventory/inventory_tabicon_craftbag_clothing") buttons[CRAFTING_TYPE_ENCHANTING] = createCraftingTypeFilter(CRAFTING_TYPE_ENCHANTING, "esoui/art/inventory/inventory_tabicon_craftbag_enchanting") buttons[CRAFTING_TYPE_ALCHEMY] = createCraftingTypeFilter(CRAFTING_TYPE_ALCHEMY, "esoui/art/inventory/inventory_tabicon_craftbag_alchemy") buttons[CRAFTING_TYPE_WOODWORKING] = createCraftingTypeFilter(CRAFTING_TYPE_WOODWORKING, "esoui/art/inventory/inventory_tabicon_craftbag_woodworking") buttons[CRAFTING_TYPE_PROVISIONING] = createCraftingTypeFilter(CRAFTING_TYPE_PROVISIONING, "esoui/art/inventory/inventory_tabicon_craftbag_provisioning") - + FurC.GuiElements.craftingTypeFilters = buttons - + end - + local function createInventoryDropdown(dropdownName) local controlName = string.format("%s%s", "FurC_Dropdown", dropdownName) local control = _G[controlName] local dropdownData = FurnitureCatalogue.DropdownData local validChoices = dropdownData[string.format("%s%s", "Choices", dropdownName)] local choicesTooltips = dropdownData[string.format("%s%s", "Tooltips", dropdownName)] - local comboBox - - + local comboBox + + control.comboBox = control.comboBox or ZO_ComboBox_ObjectFromContainer(control) comboBox = control.comboBox - + local function HideTooltip(control) ClearTooltip(InformationTooltip) end - + -- ruthlessly stolen from LAM local function SetupTooltips(comboBox, choicesTooltips) local function ShowTooltip(control) @@ -367,25 +367,25 @@ local function createGui() SetTooltipText(InformationTooltip, control.tooltip) InformationTooltipTopLevel:BringWindowToTop() end - + -- allow for tooltips on the drop down entries local originalShow = comboBox.ShowDropdownInternal comboBox.ShowDropdownInternal = function(comboBox) originalShow(comboBox) local entries = ZO_Menu.items - for i = 1, #entries do - + for i = 1, #entries do + local entry = entries[i] local control = entries[i].item control.tooltip = choicesTooltips[i] - if control.tooltip then + if control.tooltip then entry.onMouseEnter = control:GetHandler("OnMouseEnter") entry.onMouseExit = control:GetHandler("OnMouseExit") ZO_PreHookHandler(control, "OnMouseEnter", ShowTooltip) ZO_PreHookHandler(control, "OnMouseExit", HideTooltip) end - + end end @@ -412,14 +412,14 @@ local function createGui() end comboBox:SetSortsItems(false) - local originalShow = comboBox.ShowDropdownInternal + local originalShow = comboBox.ShowDropdownInternal if dropdownName == "Character" then for _, characterName in ipairs(FurC.GetAccountCrafters()) do addedDropdownCharacterNames[characterName] = true table.insert(validChoices, characterName) table.insert(dropdownData["Tooltips"..dropdownName], zo_strformat(GetString(SI_FURC_STRING_RECIPESFORCHAR), characterName)) - end + end end for i = 1, #validChoices do @@ -429,23 +429,23 @@ local function createGui() comboBox:SetSelectedItem(validChoices[i]) end end - + SetupTooltips(comboBox, dropdownData["Tooltips"..dropdownName]) - + return control end - + createInventoryScroll() createQualityFilters() createCraftingTypeFilters() - createInventoryDropdown("Source") - createInventoryDropdown("Version") + createInventoryDropdown("Source") + createInventoryDropdown("Version") createInventoryDropdown("Character") FurC.ChangeTemplateFromButton(FurC.GetTinyUi()) FurC.SetFontSize(FurC.GetFontSize()) FurC.LoadFrameInfo() FurC.InitFilters() - + end function FurnitureCatalogue_Toggle() @@ -457,24 +457,25 @@ end function FurC.InitGui() - - local control = FurCGui + + local control = FurCGui local settings = FurC.settings["gui"] FurC.GuiElements = {} - if nil ~= control then + if nil ~= control then control:SetHeight(settings.height) - control:SetWidth(settings.width) + control:SetWidth(settings.width) end createGui() - - + + local slider = FurCGui_ListHolder_Slider slider:SetMinMax(1, #FurCGui_ListHolder.dataLines) - + FurC.UpdateGui(FurC.GetResetDropdownChoice()) - + FurC_Label:GetNamedChild("_2"):SetText(GetString(SI_FURC_LABEL_ENTRIES)) - + SCENE_MANAGER:RegisterTopLevel(FurCGui, false) -end \ No newline at end of file +end + diff --git a/FurCMenu.lua b/FurCMenu.lua index 2e0a530..f027551 100644 --- a/FurCMenu.lua +++ b/FurCMenu.lua @@ -20,56 +20,56 @@ function FurC.CreateSettings(savedVars, defaults) tooltip = "", getFunc = function() return FurC.GetEnableDebug() end, setFunc = function(value) FurC.SetEnableDebug(value) end - }, + }, { -- button: Reset database type = "button", name = GetString(SI_FURC_STRING_MENU_RESET_DB_NAME), tooltip = GetString(SI_FURC_STRING_MENU_RESET_DB_TT), - warning = GetString(SI_FURC_STRING_MENU_RESET_DB_WARNING), - func = function() + warning = GetString(SI_FURC_STRING_MENU_RESET_DB_WARNING), + func = function() FurC.WipeDatabase() end, - }, + }, { -- button: Reset database type = "button", name = GetString(SI_FURC_STRING_MENU_RESCAN_RUMOUR_NAME), width = "half", - tooltip = GetString(SI_FURC_STRING_MENU_RESCAN_RUMOUR_TT), + tooltip = GetString(SI_FURC_STRING_MENU_RESCAN_RUMOUR_TT), func = function() FurC.RescanRumourRecipes() end, - }, + }, { -- button: Re-scan data type = "button", name = GetString(SI_FURC_STRING_MENU_SCAN_FILES_NAME), tooltip = GetString(SI_FURC_STRING_MENU_SCAN_FILES_TT), width = "half", - func = function() + func = function() FurC.ScanRecipes(true, false) FurC.UpdateGui() end, - }, + }, { -- button: Re-scan data type = "button", - name = GetString(SI_FURC_STRING_MENU_SCAN_CHAR_NAME), - tooltip = GetString(SI_FURC_STRING_MENU_SCAN_CHAR_TT), + name = GetString(SI_FURC_STRING_MENU_SCAN_CHAR_NAME), + tooltip = GetString(SI_FURC_STRING_MENU_SCAN_CHAR_TT), width = "half", - func = function() + func = function() FurC.ScanRecipes(false, true) FurC.UpdateGui() end, - }, + }, { -- dropdown: delete character type = "dropdown", - name = GetString(SI_FURC_STRING_MENU_DELETE_CHAR_NAME), + name = GetString(SI_FURC_STRING_MENU_DELETE_CHAR_NAME), tooltip = GetString(SI_FURC_STRING_MENU_DELETE_CHAR_TT), warning = GetString(SI_FURC_STRING_MENU_DELETE_CHAR_WARNING), choices = FurC.GetAccountCharacters(), getFunc = function() return end, - setFunc = function(value) + setFunc = function(value) FurC.DeleteCharacter(value) - end, - }, - - + end, + }, + + -- ======================================================================================= -- header: Furniture Shopping List integration -- ======================================================================================= @@ -82,24 +82,24 @@ function FurC.CreateSettings(savedVars, defaults) name = GetString(SI_FURC_STRING_MENU_ENABLE_SHOPPINGLIST), getFunc = function() return (FurC.GetEnableShoppingList()) end, setFunc = function(value) FurC.SetEnableShoppingList(value) end - }, - - + }, + + -- ======================================================================================= -- header: UI and performance -- ======================================================================================= { -- header: UI and performance type = "header", name = "Performance", - }, - + }, + { -- checkbox: Skip Initial Scan type = "checkbox", name = GetString(SI_FURC_STRING_MENU_SKIP_INITIALSCAN), tooltip = GetString(SI_FURC_STRING_MENU_SKIP_INITIALSCAN_TT), getFunc = function() return FurC.GetSkipInitialScan() end, setFunc = function(value) FurC.SetSkipInitialScan(value) end - }, + }, -- ======================================================================================= -- header: Inventory and bank -- ======================================================================================= @@ -122,11 +122,11 @@ function FurC.CreateSettings(savedVars, defaults) }, { -- checkbox: Add items to known/unknown recipes? type = "checkbox", - name = GetString(SI_FURC_STRING_MENU_IT_THIS_ONLY), - tooltip = GetString(SI_FURC_STRING_MENU_IT_THIS_ONLY_TT), + name = GetString(SI_FURC_STRING_MENU_IT_THIS_ONLY), + tooltip = GetString(SI_FURC_STRING_MENU_IT_THIS_ONLY_TT), getFunc = function() return FurC.GetUseInventoryIconsOnChar() end, setFunc = function(value) FurC.SetUseInventoryIconsOnChar(value) end - }, + }, }, }, -- ======================================================================================= @@ -143,18 +143,25 @@ function FurC.CreateSettings(savedVars, defaults) getFunc = function() return FurC.GetTinyUi() end, setFunc = function(value) FurC.SetTinyUi(value) end }, - { -- checkbox: use small interface? + { -- checkbox: start silently? type = "checkbox", name = GetString(SI_FURC_STRING_MENU_STARTSILENT), tooltip = GetString(SI_FURC_STRING_MENU_STARTSILENT_TT), getFunc = function() return FurC.GetStartupSilently() end, setFunc = function(value) FurC.SetStartupSilently(value) end }, + { -- checkbox: show Icon on left of items? + type = "checkbox", + name = GetString(SI_FURC_STRING_MENU_SHOWICONONLEFT), + tooltip = GetString(SI_FURC_STRING_MENU_SHOWICONONLEFT_TT), + getFunc = function() return FurC.GetShowIconOnLeft() end, + setFunc = function(value) FurC.SetShowIconOnLeft(value) end + }, { -- slider: font size type = "slider", name = GetString(SI_FURC_STRING_MENU_FONTSIZE), tooltip = GetString(SI_FURC_STRING_MENU_FONTSIZE_TT), - min = 10, + min = 10, max = 28, getFunc = function() return FurC.GetFontSize() end, setFunc = function(value) FurC.SetFontSize(value) end @@ -167,7 +174,7 @@ function FurC.CreateSettings(savedVars, defaults) name = GetString(SI_FURC_STRING_MENU_DEFAULT_DD_USE), text = GetString(SI_FURC_STRING_MENU_DEFAULT_DD_USE_TT), }, - + { -- checkbox: Persistent? type = "checkbox", name = GetString(SI_FURC_STRING_MENU_DEFAULT_DD_RESET), @@ -181,14 +188,14 @@ function FurC.CreateSettings(savedVars, defaults) choices = FurC.GetChoicesSource(), getFunc = function() return FurC.GetDefaultDropdownChoiceText("Source") end, setFunc = function(value) FurC.SetDefaultDropdownChoice("Source", value) end - }, + }, { -- dropdown: default character type = "dropdown", name = GetString(SI_FURC_STRING_MENU_DEFAULT_DD_CHAR), choices = FurnitureCatalogue.DropdownData.ChoicesCharacter, getFunc = function() return FurC.GetDefaultDropdownChoiceText("Character") end, setFunc = function(value) FurC.SetDefaultDropdownChoice("Character", value) end - }, + }, { -- dropdown: default version type = "dropdown", name = GetString(SI_FURC_STRING_MENU_DEFAULT_DD_VERSION), @@ -199,7 +206,7 @@ function FurC.CreateSettings(savedVars, defaults) }, }, - + -- ======================================================================================= -- submenu: Catalogue filtering -- ======================================================================================= @@ -214,18 +221,18 @@ function FurC.CreateSettings(savedVars, defaults) name = GetString(SI_FURC_STRING_MENU_F_ALL_ON_TEXT), text = GetString(SI_FURC_STRING_MENU_HEADER_F_ALL_DESC), }, - + { -- checkbox: Filter everything when text searching without dropdown type = "checkbox", name = GetString(SI_FURC_STRING_MENU_FILTER_ALL_ON_TEXT), - tooltip = GetString(SI_FURC_STRING_MENU_FILTER_ALL_ON_TEXT_TT), + tooltip = GetString(SI_FURC_STRING_MENU_FILTER_ALL_ON_TEXT_TT), getFunc = function() return FurC.GetFilterAllOnText() end, setFunc = function(value) FurC.SetFilterAllOnText(value) end - }, + }, { -- checkbox: Exclude books from these type = "checkbox", name = GetString(SI_FURC_STRING_MENU_FALL_HIDE_BOOKS), - tooltip = GetString(SI_FURC_STRING_MENU_FALL_HIDE_BOOKS_TT), + tooltip = GetString(SI_FURC_STRING_MENU_FALL_HIDE_BOOKS_TT), getFunc = function() return FurC.GetFilterAllOnTextNoBooks() end, setFunc = function(value) FurC.SetFilterAllOnTextNoBooks(value) end, disabled = not FurC.GetFilterAllOnText() @@ -233,7 +240,7 @@ function FurC.CreateSettings(savedVars, defaults) { -- checkbox: Exclude crown store items from these type = "checkbox", name = GetString(SI_FURC_STRING_MENU_FALL_HIDE_CROWN), - tooltip = GetString(SI_FURC_STRING_MENU_FALL_HIDE_CROWN_TT), + tooltip = GetString(SI_FURC_STRING_MENU_FALL_HIDE_CROWN_TT), getFunc = function() return FurC.GetFilterAllOnTextNoCrown() end, setFunc = function(value) FurC.GetFilterAllOnTextNoCrown(value) end, disabled = not FurC.GetFilterAllOnText() @@ -241,34 +248,34 @@ function FurC.CreateSettings(savedVars, defaults) { -- checkbox: Exclude crown store items from these type = "checkbox", name = GetString(SI_FURC_STRING_MENU_FALL_HIDE_RUMOUR), - tooltip = GetString(SI_FURC_STRING_MENU_FALL_HIDE_RUMOUR_TT), + tooltip = GetString(SI_FURC_STRING_MENU_FALL_HIDE_RUMOUR_TT), getFunc = function() return FurC.GetFilterAllOnTextNoRumour() end, setFunc = function(value) FurC.GetFilterAllOnTextNoRumour(value) end, disabled = not FurC.GetFilterAllOnText() }, - }, - }, - - + }, + }, + + -- =============================================================================== -- header: Mages guild books -- =============================================================================== { -- header: Mages guild books type = "header", name = GetString(SI_FURC_STRING_MENU_FILTER_BOOKS), - }, + }, { -- checkbox: Hide Mages' guild books type = "checkbox", name = GetString(SI_FURC_STRING_MENU_FILTER_BOOKS_N), - tooltip = GetString(SI_FURC_STRING_MENU_FILTER_BOOKS_TT), + tooltip = GetString(SI_FURC_STRING_MENU_FILTER_BOOKS_TT), getFunc = function() return FurC.GetHideBooks() end, setFunc = function(value) FurC.SetHideBooks(value) end }, - + { -- header: Luxury items type = "header", name = GetString(SI_FURC_STRING_MENU_LUXURY), - }, + }, { -- checkbox: Hide Mages' guild books type = "checkbox", name = GetString(SI_FURC_STRING_MENU_LUXURY_N), @@ -277,8 +284,8 @@ function FurC.CreateSettings(savedVars, defaults) getFunc = function() return FurC.GetMergeLuxuryAndSales() end, setFunc = function(value) FurC.SetMergeLuxuryAndSales(value) end }, - - + + -- =============================================================================== -- header: Rumour Recipes -- =============================================================================== @@ -288,12 +295,12 @@ function FurC.CreateSettings(savedVars, defaults) }, { -- checkbox: Hide doubtful recipes type = "description", - name = GetString(SI_FURC_STRING_MENU_RUMOUR), + name = GetString(SI_FURC_STRING_MENU_RUMOUR), text = GetString(SI_FURC_STRING_MENU_RUMOUR_DESC), }, { -- checkbox: Hide doubtful recipes type = "checkbox", - name = GetString(SI_FURC_STRING_MENU_RUMOUR_N), + name = GetString(SI_FURC_STRING_MENU_RUMOUR_N), getFunc = function() return FurC.GetHideRumourRecipes() end, setFunc = function(value) FurC.SetHideRumourRecipes(value) end }, @@ -338,15 +345,15 @@ function FurC.CreateSettings(savedVars, defaults) }, ]] }, - }, - + }, + -- ======================================================================================= -- header: Tooltip -- ======================================================================================= { -- header: Tooltip type = "header", name = "Tooltip", - }, + }, { -- checkbox: Disable type = "checkbox", name = GetString(SI_FURC_STRING_MENU_TOOLTIP), @@ -357,53 +364,54 @@ function FurC.CreateSettings(savedVars, defaults) type = "checkbox", name = GetString(SI_FURC_STRING_MENU_TOOLTIP_COLOR), tooltip = GetString(SI_FURC_STRING_MENU_TOOLTIP_COLOR_TT), - disabled = FurC.GetDisableTooltips(), + disabled = FurC.GetDisableTooltips(), getFunc = function() return FurC.GetColouredTooltips() end, setFunc = function(value) FurC.SetColouredTooltips(value) end }, { -- checkbox: Hide 'known by' from tooltip type = "checkbox", name = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_KNOWN), - tooltip = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_KNOWN_TT), + tooltip = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_KNOWN_TT), width = "half", - disabled = FurC.GetDisableTooltips(), + disabled = FurC.GetDisableTooltips(), getFunc = function() return (FurC.GetHideKnowledge()) end, setFunc = function(value) FurC.SetHideKnowledge(value) end }, { -- checkbox: Hide 'known by' from tooltip type = "checkbox", - name = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_UNKNOWN), + name = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_UNKNOWN), tooltip = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_UNKNOWN_TT), width = "half", - disabled = FurC.GetDisableTooltips(), + disabled = FurC.GetDisableTooltips(), getFunc = function() return (FurC.GetHideUnknown()) end, setFunc = function(value) FurC.SetHideUnknown(value) end }, { -- checkbox: Hide item source type = "checkbox", - name = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_SOURCE), + name = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_SOURCE), tooltip = "", - disabled = FurC.GetDisableTooltips(), + disabled = FurC.GetDisableTooltips(), getFunc = function() return (FurC.GetHideSource()) end, setFunc = function(value) FurC.SetHideSource(value) end }, { -- checkbox: Hide item source type = "checkbox", - name = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_STATION), + name = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_STATION), tooltip = "", - disabled = FurC.GetDisableTooltips(), + disabled = FurC.GetDisableTooltips(), getFunc = function() return (FurC.GetHideCraftingStation()) end, setFunc = function(value) FurC.SetHideCraftingStation(value) end - }, + }, { -- checkbox: Hide materials from tooltip type = "checkbox", - name = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_MATERIAL), + name = GetString(SI_FURC_STRING_MENU_TOOLTIP_HIDE_MATERIAL), tooltip = "", - disabled = FurC.GetDisableTooltips(), + disabled = FurC.GetDisableTooltips(), getFunc = function() return (FurC.GetHideMats()) end, setFunc = function(value) FurC.SetHideMats(value) end - }, + }, } -- optionsData end LAM:RegisterOptionControls("FurC_OptionsPanel", optionsData) end + diff --git a/FurCSettingsAdapter.lua b/FurCSettingsAdapter.lua index 7d52de0..6d0b1cc 100644 --- a/FurCSettingsAdapter.lua +++ b/FurCSettingsAdapter.lua @@ -84,7 +84,7 @@ end function FurC.GetFontSize() - if FurC.settings["fontSize"] < 10 then + if FurC.settings["fontSize"] < 10 then FurC.settings["fontSize"] = 10 end return FurC.settings["fontSize"] @@ -93,12 +93,12 @@ function FurC.SetFontSize(value) if nil == value then value = FurC.GetFontSize() end if value == 0 then value = 18 end FurC.settings["fontSize"] = value - + local size = tostring(value) - + FurC.SetLineHeight() - + task:Call(function() FurC.UpdateGui() end) end @@ -106,10 +106,10 @@ end --------------------------- --------- Tooltip --------- --------------------------- -function FurC.GetDisableTooltips() +function FurC.GetDisableTooltips() return FurC.settings["disableTooltips"] end -function FurC.SetDisableTooltips(value) +function FurC.SetDisableTooltips(value) FurC.settings["disableTooltips"] = value end @@ -165,12 +165,31 @@ end -------- /Tooltip --------- --------------------------- + +--------------------------- +------- IconDisplay ------- +--------------------------- + +function FurC.GetShowIconOnLeft() + return FurC.settings["showIconOnLeft"] == nil or + FurC.settings["showIconOnLeft"] == true +end +function FurC.SetShowIconOnLeft(value) + FurC.settings["showIconOnLeft"] = value +end + +--------------------------- +------ /IconDisplay ------- +--------------------------- + + --------------------------- --------- Filters --------- --------------------------- + local function containsTrue(ary) - for key, value in pairs(ary) do + for key, value in pairs(ary) do if value then return true end end end @@ -181,22 +200,22 @@ end function FurC.SetFilterQuality(quality) local controls = FurC.GuiElements.qualityButtons - local filterArray = FurC.settings.filterQuality - + local filterArray = FurC.settings.filterQuality + quality = quality or 0 - + if quality == 0 then for key, value in pairs (filterArray) do - FurC.settings.filterQuality[key] = false - end - else + FurC.settings.filterQuality[key] = false + end + else filterArray[quality] = not filterArray[quality] - end + end FurC.settings.filterQualityAll = not containsTrue(filterArray) - + for key, control in pairs (controls) do control:SetState((filterArray[key-1] and BSTATE_PRESSED) or BSTATE_NORMAL) - end + end FurC.GuiOnScroll(nil, 0) FurC.SetFilter() FurC.UpdateGui() @@ -206,24 +225,24 @@ function FurC.GetFilterCraftingType() return FurC.settings.filterCraftingType end function FurC.SetFilterCraftingType(craftingType) - + local controls = FurC.GuiElements.craftingTypeFilters - local filterArray = FurC.settings.filterCraftingType - + local filterArray = FurC.settings.filterCraftingType + if craftingType == 0 then for key, value in pairs (filterArray) do - filterArray[key] = false + filterArray[key] = false end else filterArray[craftingType] = not filterArray[craftingType] end - + FurC.settings.filterCraftingTypeAll = not containsTrue(filterArray) - + for key, control in pairs (controls) do control:SetState((filterArray[key] and BSTATE_PRESSED) or BSTATE_NORMAL) - end - + end + FurC.GuiOnScroll(FurCGui_ListHolder_Slider, 0) FurC.SetFilter() FurC.UpdateGui() @@ -234,7 +253,7 @@ function FurC.GetSearchFilter() if (not FurC.SearchFilter) or FurC.SearchFilter == "Filter by text search" then FurC.SearchFilter = FurC_SearchBox:GetText() or "" end - + return FurC.SearchFilter or "" end @@ -243,9 +262,9 @@ function FurC.GuiSetSearchboxTextFrom(control) task:Call(function() local text = control:GetText() control:GetNamedChild("Text"):SetText((text == "" and "Filter by text search") or "") - + FurC.SearchFilter = text - + FurC.GuiOnSliderUpdate(FurCGui_ListHolder_Slider, 0) FurC.UpdateGui() end) @@ -301,12 +320,12 @@ local dropdownData = FurC.DropdownData function FurC.SetDropdownChoice(dropdownName, textValue, dropdownIndex) textValue = textValue or FurC.GetDefaultDropdownChoice(dropdownName) local dropdownIndex = dropdownIndex or getDropdownIndex(dropdownName, textValue) or 0 - - -- p("FurC.SetDropdownChoice(<<1>>, <<2>> (Index: <<3>>))", dropdownName, textValue, dropdownIndex) + + -- p("FurC.SetDropdownChoice(<<1>>, <<2>> (Index: <<3>>))", dropdownName, textValue, dropdownIndex) -- if we're setting the dropdown menu "source" to "purchaseable", set "character" to "All" FurC.DropdownChoices[dropdownName] = dropdownIndex - + if dropdownName == "Source" then if dropdownIndex > FURC_CRAFTING_UNKNOWN or dropdownIndex < FURC_CRAFTING then FurC.DropdownChoices["Character"] = 1 @@ -321,11 +340,11 @@ function FurC.SetDropdownChoice(dropdownName, textValue, dropdownIndex) FurC_DropdownSource:GetNamedChild("SelectedItemText"):SetText(FurnitureCatalogue.DropdownData.ChoicesSource[knownIndex]) end end - + FurC.DropdownChoices[dropdownName] = dropdownIndex - + zo_callLater(function() FurC.UpdateGui() end, 500) - + end function FurC.GetDefaultDropdownChoiceText(dropdownName) @@ -355,7 +374,7 @@ function FurC.GetDropdownChoiceTextual(dropdownName) return FurC.DropdownData["Choices"..dropdownName][value] end function FurC.GetDefaultDropdownChoiceTextual() - return FurC.DropdownData["Choices"..dropdownName][FurC.GetDefaultDropdownChoice(dropdownName)] + return FurC.DropdownData["Choices"..dropdownName][FurC.GetDefaultDropdownChoice(dropdownName)] end function FurC.GetAccountCrafters() @@ -435,36 +454,36 @@ end function FurC.WipeDatabase() d("|cFFFFFFresetting |r|c2266ffFurniture Catalogue |r|cFFFFFFdata...|r") - FurC.settings.data = {} - FurC.settings.accountCharacters = {} - FurC.settings.excelExport = {} + FurC.settings.data = {} + FurC.settings.accountCharacters = {} + FurC.settings.excelExport = {} FurC.ScanRecipes(true, true) -- d("FurnitureCatalogue: Scan complete") end function FurC.DeleteCharacter(characterName) - + d("Now deleting recipe knowledge for " .. characterName) - + for key, value in pairs(FurC.settings.accountCharacters) do if value == characterName then FurC.settings.accountCharacters[key] = false end end - + for recipeKey, recipeArray in pairs(FurC.settings.data) do if recipeArray.craftable then recipeArray.characters[characterName] = nil end end - + local guiDropdownEntries = FurC_Dropdown.comboBox.m_sortedItems if nil == guiDropdownEntries then return end for index, data in pairs(guiDropdownEntries) do if data.name == characterName then FurC_Dropdown.comboBox.m_sortedItems[index] = nil return - end + end end d(zo_strformat("<<1>> deleted from |c2266ffFurniture Catalogue|r database. Entry will disappear from settings dropdown after the next reloadui.", characterName)) @@ -475,5 +494,3 @@ function FurC.GetCurrentCharacterName() return FurC.CharacterName end - - \ No newline at end of file diff --git a/FurCTooltip.lua b/FurCTooltip.lua index 939613b..4a44fe8 100644 --- a/FurCTooltip.lua +++ b/FurCTooltip.lua @@ -11,12 +11,12 @@ end local defaultDebugString = "[<<1>>] = <<2>>, -- <<3>>" local function tryCreateDebugOutput(itemId, itemLink) - if not FurC.IsDebugging then return end + if not FurC.IsDebugging then return end itemId = itemId or FurC.GetItemId(itemLink) local price = 0 local control = moc() local debugString = defaultDebugString - if control and control.dataEntry then + if control and control.dataEntry then local data = control.dataEntry.data or {} if 0 == data.currencyQuantity1 then price = data.stackBuyPrice @@ -25,8 +25,8 @@ local function tryCreateDebugOutput(itemId, itemLink) price = data.currencyQuantity1 end end - d(zo_strformat(debugString, itemId, price, GetItemLinkName(itemLink))) - + d(zo_strformat(debugString, itemId, price, GetItemLinkName(itemLink))) + end local function addTooltipData(control, itemLink) @@ -35,20 +35,20 @@ local function addTooltipData(control, itemLink) local itemId, recipeArray = nil if nil == itemLink or FURC_EMPTY_STRING == itemLink then return end local isRecipe = IsItemLinkFurnitureRecipe(itemLink) - + tryCreateDebugOutput(itemId, itemLink) - + itemLink = (isRecipe and GetItemLinkRecipeResultItemLink(itemLink)) or itemLink - + if not (isRecipe or IsItemLinkPlaceableFurniture(itemLink)) then return end itemId = FurC.GetItemId(itemLink) recipeArray = FurC.Find(itemLink) - + -- |H0:item:118206:5:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0|h|h if not recipeArray then return end - - + + local unknown = not FurC.CanCraft(itemId, recipeArray) local stringTable = {} @@ -57,19 +57,19 @@ local function addTooltipData(control, itemLink) if nil ~= arg then t[#t + 1] = arg end return t end - + -- if craftable: - if isRecipe or recipeArray.origin == FURC_CRAFTING then + if isRecipe or recipeArray.origin == FURC_CRAFTING then if unknown and not FurC.GetHideUnknown() or not FurC.GetHideKnowledge() then local crafterList = FurC.GetCrafterList(itemLink, recipeArray) - if crafterList then + 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)) end - if isRecipe then + if isRecipe then stringTable = add(stringTable, FurC.getRecipeSource(itemId, recipeArray)) end -- check if we should show mats @@ -81,13 +81,13 @@ local function addTooltipData(control, itemLink) stringTable = add(stringTable, FurC.GetItemDescription(itemId, recipeArray)) end stringTable = add(stringTable, recipeArray.achievement) - end - + end + if #stringTable == 0 then return end control:AddVerticalPadding(8) ZO_Tooltip_AddDivider(control) - + for i = 1, #stringTable do control:AddLine(zo_strformat("<<C:1>>", stringTable[i])) end @@ -96,7 +96,7 @@ end local function TooltipHook(tooltipControl, method, linkFunc) local origMethod = tooltipControl[method] - + tooltipControl[method] = function(self, ...) origMethod(self, ...) addTooltipData(self, linkFunc(...)) @@ -131,6 +131,4 @@ do function FurC.CreateTooltips() EVENT_MANAGER:RegisterForEvent(identifier, EVENT_PLAYER_ACTIVATED, DeferHookToolTips) end - - -end \ No newline at end of file +end diff --git a/FurCUtil.lua b/FurCUtil.lua index dc09a2a..f5f1d6e 100644 --- a/FurCUtil.lua +++ b/FurCUtil.lua @@ -4,35 +4,35 @@ local p = FurC.DebugOut -- debug function calling zo_strformat with up to 10 a function FurC.SortTable(tTable, sortKey, SortOrderUp) local keys = {} for k in pairs(tTable) do table.insert(keys, k) end - table.sort(keys, function(a, b) + table.sort(keys, function(a, b) if nil == tTable[a] or nil == tTable[b] then - + elseif nil == tTable[a][sortKey] then d(tTable[a]) elseif nil == tTable[b][sortKey] then d(tTable[b]) else - if SortOrderUp then - return tTable[a][sortKey] > tTable[b][sortKey] + if SortOrderUp then + return tTable[a][sortKey] > tTable[b][sortKey] else - return tTable[a][sortKey] < tTable[b][sortKey] + return tTable[a][sortKey] < tTable[b][sortKey] end end - + end) - + local ret = {} local scannedLinks = {} local itemLink, entry - for _, k in ipairs(keys) do + for _, k in ipairs(keys) do entry = tTable[k] -- d(entry) itemLink = entry["itemLink"] ingredients = entry["ingredients"] local index = scannedLinks[itemLink] or k - - table.insert(ret, entry) + + table.insert(ret, entry) end - + return ret end diff --git a/data/100023.lua b/data/100023.lua index e1cc790..baaece5 100644 --- a/data/100023.lua +++ b/data/100023.lua @@ -1,11 +1,11 @@ local function getCrownStorePriceString(price) return string.format("%s (%u)", GetString(SI_FURC_CROWNSTORESOURCE), price) -end +end FurC.MiscItemSources[FURC_ALTMER] = { [FURC_DROP] = {}, [FURC_RUMOUR] = { - + [139265] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Fountain, Four-Way Timeworn", [139292] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Chalice, Ornate", [139171] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Psijic Table, Six-fold Symmetry", @@ -22,7 +22,7 @@ FurC.MiscItemSources[FURC_ALTMER] = { [139212] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Streetlight, Wrought Iron", [139110] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Limestone Shelf, Large", [139275] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Amphora, Embossed", - + [139201] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Sconce, Arched Glass", [139296] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Meal, Individual", [139116] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Limestone Retaining Wall, Long", @@ -58,7 +58,7 @@ FurC.MiscItemSources[FURC_ALTMER] = { [139125] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Tree, Blooming Ginkgo", [139220] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Wardrobe, Polished", [139323] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Tapestry, Royal Gryphons", - + [139182] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Sarcophagus, Wedge", [139120] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Sapling, Young Shade", [139215] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Bed, Overhang Full", @@ -95,12 +95,12 @@ FurC.MiscItemSources[FURC_ALTMER] = { [139221] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Bench, Verdant", [139097] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Spiral Skein Glowstalks, Sprouts", [139261] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Divider, Polished", - + [139096] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Daedric Urn, Sealed", [139186] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Stairway, Timeworn", [139253] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Scrimshaw, Sea Monster", [139059] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Ivory, Polished", - + [139191] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Wall, Stone Long", [139211] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Streetlight, Paired Wrought Iron", [139076] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Painting of Ancient Road, Refined", @@ -169,7 +169,7 @@ FurC.MiscItemSources[FURC_ALTMER] = { [139284] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Display Stand, Marble", [139203] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Brazier, Standing Coals", [139086] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Writing Desk, Noble", - + [139311] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Windowbox, Blue Wisteria", [139272] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Amphora, Delicate", [139207] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Sconce, Candles Tall", @@ -177,8 +177,8 @@ FurC.MiscItemSources[FURC_ALTMER] = { [139077] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Coral Formation, Bulwark", [139480] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Plants, Redtop Grass Tuft", [139162] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Webs, Cone", - - + + [139390] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Cabinet, Noble", [139147] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Plants, Scarlet Sawleaf", [139205] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Candelabra, Wrought Iron", @@ -186,28 +186,28 @@ FurC.MiscItemSources[FURC_ALTMER] = { [139188] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Wall, Stone Corner", [139315] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Carpet, Alinor Crescent", [139233] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Nightstand, Noble", - + [139074] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Painting of Aldmeri Ruins, Refined", [139251] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Scrimshaw Jewelry Box, Vineyard", [139320] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Carpet, Intricate", - - + + [139254] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Scrimshaw, Ship", [139381] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Evergloam Wispstone", [139294] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Plate, Embossed", [139242] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Trunk, Noble", [139240] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Trunk, Peaked", [139224] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Armchair, Noble", - + [139095] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Daedric Drinking Bowl, Ritual", [139274] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Urn, Stemmed", - + [139239] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Wall Mirror, Verdant", [139375] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Amphora, Portrait", [139376] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Alinor Banner, Hanging", - - - + + + [139112] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Limestone Border, Boulders", [139369] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Abyssal Pearl, Sealed", [139368] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Bathing Robes, Decorative", @@ -216,7 +216,7 @@ FurC.MiscItemSources[FURC_ALTMER] = { [139248] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Figurine, The Sea-Monster's Surprise", [139328] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Coral Spire, Branched", [139107] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Coral Shelf, Flat", - + [139327] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Coral Spire, Sturdy", [139357] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Mind Trap Coral Formation, Tree Antler", [139193] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Fence, Tall", @@ -256,7 +256,7 @@ FurC.MiscItemSources[FURC_ALTMER] = { [139129] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Tree, Young Mangrove", [139091] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Ancestor Clock, Celestial", [139364] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Sload Neural Tree, Active", - + [139219] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Bookshelf, Polished", [139325] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Statue, Orator", [139317] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Carpet, Vibrant", @@ -328,7 +328,7 @@ FurC.MiscItemSources[FURC_ALTMER] = { [139080] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Coral Formation, Ancient Pillar Polyps", [139064] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Flowers, Hummingbird Mint", [139214] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Bed, Canopy Full", - + [139271] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Urn, Gilded", [139346] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Flowers, Lizard Tail Patch", [139300] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Bowl, Millet", @@ -339,15 +339,15 @@ FurC.MiscItemSources[FURC_ALTMER] = { [139206] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Sconce, Candles", [139335] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Tree, Shade Ancient", [139088] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Table Runner, Verdant", - + [139189] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- High Elf Post, Stone Wall", [139163] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Mephala, The Webspinner", [139124] = GetString(SI_FURC_ITEMSOURCE_UNKNOWN_YET), -- Sapling, Summerset Spruce", }, - + [FURC_JUSTICE] = {}, [FURC_CROWN] = { - [140220] = GetString(SI_FURC_ITEMSOURCE_ITEMPACK) .. "'Trappings of Mephala Worship'" + [140220] = GetString(SI_FURC_ITEMSOURCE_ITEMPACK) .. "'Trappings of Mephala Worship'" } } @@ -358,51 +358,51 @@ FurC.AchievementVendors[FURC_ALTMER] = { [GetString(FURC_AV_ALI)] = { [GetString(FURC_AV_UNW)] = { [139122] = { -- Bush, Summerset Spruce - itemPrice = 100, - }, + itemPrice = 100, + }, [139107] = { -- Coral Shelf, Flat - itemPrice = 100, - }, + itemPrice = 100, + }, [139108] = { -- Coral Shelf, Large - itemPrice = 250, - }, + itemPrice = 250, + }, [139127] = { -- Hedge, Overgrown - itemPrice = 100, - }, + itemPrice = 100, + }, [139128] = { -- Hedge, Overgrown long itemPrice = 100, }, - [139112] = { -- Limestone Border, Boulders + [139112] = { -- Limestone Border, Boulders itemPrice = 100, }, - [139113] = { -- Limestone Border, Pebbles + [139113] = { -- Limestone Border, Pebbles itemPrice = 100, }, - [139111] = { -- Limestone Border, Stones + [139111] = { -- Limestone Border, Stones itemPrice = 100, }, [139114] = { -- Limestone Retaining Wall, Curved itemPrice = 100, - }, + }, [139116] = { -- Limestone Retaining Wall, Long itemPrice = 100, - }, + }, [139115] = { -- Limestone Retaining Wall, Short itemPrice = 100, - }, + }, [139109] = { -- Limestone Shelf, Curved itemPrice = 100, - }, + }, [139110] = { -- Limestone Shelf, Large itemPrice = 250, - }, + }, [139117] = { -- Limestone Stairway, Natural itemPrice = 100, - }, + }, [139126] = { -- Sapling, Gingko itemPrice = 100, }, - [139121] = { -- Sapling, Growing Shade + [139121] = { -- Sapling, Growing Shade itemPrice = 100, }, [139132] = { -- Sapling, Sea Grapes @@ -414,7 +414,7 @@ FurC.AchievementVendors[FURC_ALTMER] = { [139120] = { -- Sapling, Young Shade itemPrice = 100, }, - [139130] = { -- Saplings, Mangrove + [139130] = { -- Saplings, Mangrove itemPrice = 100, }, [139125] = { -- Tree, Blooming Gingko @@ -441,110 +441,110 @@ FurC.AchievementVendors[FURC_ALTMER] = { [139129] = { -- Tree, Young Mangrove itemPrice = 100, }, - [139135] = { -- Tree, Young Poplar + [139135] = { -- Tree, Young Poplar itemPrice = 100, }, [139133] = { -- Tree, Young Sea Grapes itemPrice = 100, }, - }, - + }, + [GetString(FURC_AV_TAR)] = { [139369] = { -- Abyssal Pearl, Sealed - itemPrice = 75000, + itemPrice = 75000, achievement = 2101, -- Back to the Abyss - }, - [139388] = { -- Banner of the House of Reveries, Hanging - itemPrice = 10000, - achievement = "Manor of Masques", -- - }, - [139377] = { -- Banner of the Sapiarchs, Hanging - itemPrice = 10000, + }, + [139388] = { -- Banner of the House of Reveries, Hanging + itemPrice = 10000, + achievement = "Manor of Masques", -- + }, + [139377] = { -- Banner of the Sapiarchs, Hanging + itemPrice = 10000, achievement = 2204, -- Resolute Guardian - }, + }, [139393] = { -- Cloudrest Banner, hanging - itemPrice = 10000, + itemPrice = 10000, achievement = 2131, -- Cloudrest Completed - }, + }, [139379] = { -- Coral Formation, Luminescent - itemPrice = 15000, + itemPrice = 15000, achievement = 2202, -- Precious Pearl - }, + }, [139380] = { -- Crystal Tower Key, Replica - itemPrice = 150000, + itemPrice = 150000, achievement = 2208, -- What Must Be Done - }, + }, [139371] = { -- Crystal Tower Stand - itemPrice = 50000, + itemPrice = 50000, achievement = 2193, -- Savior of Summerset - }, + }, [139386] = { -- Direnni Banner, Hanging - itemPrice = 10000, - achievement = "Lauriel's Lament", -- - }, - [139302] = { -- Display Case, Exhibit - itemPrice = 25000, + itemPrice = 10000, + achievement = "Lauriel's Lament", -- + }, + [139302] = { -- Display Case, Exhibit + itemPrice = 25000, achievement = 2203, -- Mind Games - }, + }, [139374] = { -- Enchanted Text, Illusory Forest - itemPrice = 100000, + itemPrice = 100000, achievement = 2209, -- Summerset Grand Adventurer - }, + }, [139381] = { -- Evergloam Wispstone - itemPrice = 75000, + itemPrice = 75000, achievement = 2207, -- Enemy of my enemy - }, + }, [139326] = { -- High Elf Statue, Kinlady - itemPrice = 20000, + itemPrice = 20000, achievement = 2204, -- Resolute Guardian - }, + }, [139373] = { -- High Elf Wine Press, Display - itemPrice = 50000, + itemPrice = 50000, achievement = 2007, -- Summerset Cave Delver }, - [139387] = { -- Lillandril Banner - itemPrice = 10000, - achievement = "Murder in Lilandril", + [139387] = { -- Lillandril Banner + itemPrice = 10000, + achievement = "Murder in Lilandril", }, - [139372] = { -- Mind Trap Kelp, Adult - itemPrice = 20000, + [139372] = { -- Mind Trap Kelp, Adult + itemPrice = 20000, achievement = 2203, -- Mind Games }, - [139383] = { -- Psijic Control Globe, Inactive - itemPrice = 50000, + [139383] = { -- Psijic Control Globe, Inactive + itemPrice = 50000, achievement = 2206, -- Unreliable Narrator }, - [139370] = { -- Replica of the Transparent Law - itemPrice = 100000, + [139370] = { -- Replica of the Transparent Law + itemPrice = 100000, achievement = 2193, -- Saviour of Summerset }, - [139378] = { -- Shimmerene Banner, Hanging - itemPrice = 10000, + [139378] = { -- Shimmerene Banner, Hanging + itemPrice = 10000, achievement = 2194, -- The Good of Many }, - [139446] = { -- Spiral Skein Coral, Brittle-Vein - itemPrice = 10000, + [139446] = { -- Spiral Skein Coral, Brittle-Vein + itemPrice = 10000, achievement = 2008, -- Summerset Pathfinder }, - [139382] = { -- Spiral Skein Coral, Elkhorn - itemPrice = 1000, + [139382] = { -- Spiral Skein Coral, Elkhorn + itemPrice = 1000, achievement = 2205, -- Sweet Dreams }, - [139392] = { -- Sunhold Banner, Hanging - itemPrice = 10000, + [139392] = { -- Sunhold Banner, Hanging + itemPrice = 10000, achievement = 2095, -- Sunhold Group Event }, - [139385] = { -- The Keeper's Oath - itemPrice = 75000, + [139385] = { -- The Keeper's Oath + itemPrice = 75000, achievement = 2099, -- Relics of Summerset }, - [139384] = { -- Waterfall, Small Everlasting - itemPrice = 75000, + [139384] = { -- Waterfall, Small Everlasting + itemPrice = 75000, achievement = 2197, -- Divine Magistrate }, }, - }, - + }, + } FurC.Books[FURC_ALTMER] = {} @@ -554,20 +554,20 @@ FurC.Recipes[FURC_ALTMER] = { 139571, --Sketch: Figurine, the Sea-Monster's Surprise 139572, --Sketch: Figurine, the Taming of the Gryphon 139486, --Sketch: High Elf Ancestor Clock, Celestial - 139613, --Sketch: High Elf Chalice, Delicate + 139613, --Sketch: High Elf Chalice, Delicate 139615, --Sketch: High Elf Chalice, Ornate 139616, --Sketch: High Elf Goblet, Silver Ornate 139612, --Sketch: High Elf Goblet, Silver Plain - 139614, --Sketch: High Elf Goblet, Silver Stamped + 139614, --Sketch: High Elf Goblet, Silver Stamped 139611, --Sketch: High Elf Goblet, Simple - 139257, --Sketch: Scrimshaw Jewelery Box, Floral - 139252, --Sketch: Scrimshaw Jewelery Box, Verdant Oval + 139257, --Sketch: Scrimshaw Jewelery Box, Floral + 139252, --Sketch: Scrimshaw Jewelery Box, Verdant Oval 139251, --Sketch: Scrimshaw Jewelery Box, Vineyard 139256, --Sketch: Scrimshaw, Ancient Vessel 139255, --Sketch: Scrimshaw, Octopus 139253, --Sketch: Scrimshaw, Sea Monster 139254, --Sketch: Scrimshaw, Ship - + 139514, -- Praxis: High Elf Wall, Stone Long", 139546, -- Praxis: High Elf Bench, Marble", 139556, -- Blueprint: High Elf Nightstand, Noble", @@ -731,8 +731,8 @@ FurC.Recipes[FURC_ALTMER] = { 139570, -- Blueprint: High Elf Jewelry Box, Octagonal", 139648, -- Design: High Elf Amphora, Portrait", 139484, -- Blueprint: High Elf Writing Desk, Noble", - - + + } FurC.LuxuryFurnisher = FurC.LuxuryFurnisher or {} @@ -744,4 +744,5 @@ FurC.LuxuryFurnisher[FURC_ALTMER] = { FurC.Faustina[FURC_ALTMER] = { [139391] = 10, -- Master Craftsman's Banner, Hanging [137870] = 125, -- Basic Jewelry Crafting Station -} \ No newline at end of file +} + diff --git a/data/AchievementVendors.lua b/data/AchievementVendors.lua index ef51dbd..eedc452 100644 --- a/data/AchievementVendors.lua +++ b/data/AchievementVendors.lua @@ -2,19 +2,19 @@ FurC.AchievementVendors[FURC_DRAGONS] = { ["the Undaunted Enclaves"] = { ["Undaunted Quartermaster"] = { [134908] = { -- Blackmarrow Banner - itemPrice = 15000, - achievement = 1975, -- Scalecaller Peak Vanquisher + itemPrice = 15000, + achievement = 1975, -- Scalecaller Peak Vanquisher }, - [134907] = { - itemPrice = 50000, - achievement = 1959, -- Fang Lair Vanquisher + [134907] = { + itemPrice = 50000, + achievement = 1959, -- Fang Lair Vanquisher }, }, }, } local bookList = { - [134553] = { -- The Truth in Sequence, Volume 1 + [134553] = { -- The Truth in Sequence, Volume 1 itemPrice = 2000, }, [134554] = { -- The Truth in Sequence, Volume 2 @@ -23,7 +23,7 @@ local bookList = { [134555] = { -- The Truth in Sequence, Volume 3 itemPrice = 2000, }, - [134556] = { -- The Truth in Sequence, Volume 4 + [134556] = { -- The Truth in Sequence, Volume 4 itemPrice = 2000, }, [134557] = { -- The Truth in Sequence, Volume 5 @@ -36,7 +36,7 @@ local bookList = { itemPrice = 2000, }, [134560] = { -- The Truth in Sequence, Volume 8 - itemPrice = 2000, + itemPrice = 2000, }, [134561] = { -- The Truth in Sequence, Volume 9 itemPrice = 2000, @@ -45,95 +45,95 @@ local bookList = { itemPrice = 2000, }, } -FurC.Books[FURC_CLOCKWORK ] = bookList +FurC.Books[FURC_CLOCKWORK ] = bookList FurC.AchievementVendors[FURC_CLOCKWORK] = { ["The Brass Citadel, Market"] = { ["Razoufa"] = { [134285] = { -- Active Fabrication Tank - itemPrice = 75000, + itemPrice = 75000, achievement = 2049, -- Hero of Clockwork City - }, + }, [134286] = { -- Clockwork Stylus - itemPrice = 3000, + itemPrice = 3000, achievement = 2068, -- CC Adventurer - }, + }, [134289] = { -- Energetic Anima Core - itemPrice = 15000, + itemPrice = 15000, achievement = 2072, -- Brass Fortress Quarter Master - }, + }, [134284] = { -- Mysterious Clockwork Sphere - itemPrice = 35000, + itemPrice = 35000, achievement = 2018, -- CC Master explorer - }, + }, [134288] = { -- Skeleton Key Replica - itemPrice = 7500, + itemPrice = 7500, achievement = 2064, -- The Burden Of Knowledge - }, + }, [134283] = { -- The motionless Guardian - itemPrice = 12000, + itemPrice = 12000, achievement = 2067, -- Honorary Blackfeather - }, + }, [134547] = { -- The Truth in Sequence - itemPrice = 20000, + itemPrice = 20000, achievement = 2069, -- Grand Adventurer - }, + }, }, ["Mulvise Valyn"] = { [134304] = { -- Boulder, Basalt Slap - itemPrice = 1000, - }, + itemPrice = 1000, + }, [134292] = { -- Boulder, Metallic Rubble - itemPrice = 500, - }, + itemPrice = 500, + }, [134293] = { -- Boulder, Metallic Shard - itemPrice = 500, - }, + itemPrice = 500, + }, [134305] = { -- Clockwork Junk Heap, Small - itemPrice = 1000, - }, + itemPrice = 1000, + }, [134303] = { -- Rock, Basalt Slab - itemPrice = 500, - }, + itemPrice = 500, + }, [134296] = { -- Rocks, Sintered Cluster - itemPrice = 1000, - }, + itemPrice = 1000, + }, [134294] = { -- Rocks, Sintered Column - itemPrice = 1000, - }, + itemPrice = 1000, + }, [134295] = { -- Rocks, Sintered Pile - itemPrice = 1000, - }, + itemPrice = 1000, + }, [134297] = { -- Scavenged Grating, Narrow - itemPrice = 500, - }, + itemPrice = 500, + }, [134298] = { -- Scavenged Grating, Wide - itemPrice = 500, - }, + itemPrice = 500, + }, [134301] = { -- Scavenged Plate, Ornate - itemPrice = 500, - }, + itemPrice = 500, + }, [134299] = { -- Scavenged Plate, Plain - itemPrice = 500, - }, + itemPrice = 500, + }, [134300] = { -- Scavenged Plate, Wide - itemPrice = 500, - }, + itemPrice = 500, + }, [134302] = { -- Scavenged Support, Straight - itemPrice = 500, + itemPrice = 500, }, }, }, - - ["any Alliance Capital"] = { + + ["any Alliance Capital"] = { [GetString(FURC_AV_HER)] = { [134291] = { -- New Life Bonfire - itemPrice = 10000, + itemPrice = 10000, achievement = 1671, }, [134290] = { -- New Life Celebrant's Standard - itemPrice = 2500, + itemPrice = 2500, achievement = 1674, } }, @@ -143,35 +143,33 @@ FurC.AchievementVendors[FURC_CLOCKWORK] = { function tableMerge(t1, t2) - if nil == t2 and nil == t1 then - return {} + if nil == t2 and nil == t1 then + return {} elseif nil == t2 then return t1 elseif nil == t1 then return t2 - end - + end + for k,v in pairs(t2) do - t1[k] = v + t1[k] = v end return t1 end - + -- global function, needs to live here, YES MANA function FurC.InitAchievementVendorList() - + FurC.SetupHomesteadItems() FurC.SetupMorrowindItems() FurC.SetupReachItems() - + -- local generatedTable, listTable - + -- FurC.ReachHornData.AchievementVendors["the Mages' guild"]["the Mystic as part of a collection"] = bookList - - -- listTable = FurC.ReachHornData.AchievementVendors["any Alliance Capital"]["Heralda Garscroft"] - -- listTable = tableMerge(listTable, achievementVendor) - - + -- listTable = FurC.ReachHornData.AchievementVendors["any Alliance Capital"]["Heralda Garscroft"] + -- listTable = tableMerge(listTable, achievementVendor) end + diff --git a/data/EventItems.lua b/data/EventItems.lua index e4480e5..7139671 100644 --- a/data/EventItems.lua +++ b/data/EventItems.lua @@ -16,11 +16,11 @@ FurC.EventItems[FURC_DRAGONS] = { [134680] = true, -- Jester Box } } - + } FurC.EventItems[FURC_MORROWIND] = { ["Midyear Mayhem"] = { - ["Boon Box"] = { + ["Boon Box"] = { [126157] = true, -- Song of Pelinal, #1 [126158] = true, -- Song of Pelinal, #2 [126159] = true, -- Song of Pelinal, #3 @@ -28,13 +28,13 @@ FurC.EventItems[FURC_MORROWIND] = { [126161] = true, -- Song of Pelinal, #5 [126162] = true, -- Song of Pelinal, #6 [126163] = true, -- Song of Pelinal, #7 - [126164] = true, -- Song of Pelinal, #8 + [126164] = true, -- Song of Pelinal, #8 [118053] = true, -- Common Campfire, Outdoor }, - }, + }, } FurC.EventItems[FURC_REACH] = { - + ["Witches' Festival"] = { ["Plunder Skull"] = { [130326] = true, -- Witches Brazier, Primitive Log", @@ -45,11 +45,11 @@ FurC.EventItems[FURC_REACH] = { [130327] = true, -- Witches Totem, Wooden Rack", [130328] = true, -- Witches Skull, Horned Ram", [130332] = true, -- Witches Totem, Bone Charms", - [130340] = true, -- Witches Totem, Gnarled Vines and Skull", + [130340] = true, -- Witches Totem, Gnarled Vines and Skull", [130339] = true, -- Witches Totem, Twisted Vines and Skull [130338] = true, -- Witches Bones, Offering", - [131434] = true, -- Witch's Festival, Cursed Totem, - [132154] = true, -- Witch's Totem, Bog", + [131434] = true, -- Witch's Festival, Cursed Totem, + [132154] = true, -- Witch's Totem, Bog", [130302] = GetString(SI_FURC_WW), -- Shrub, Burnt Brush" [130298] = GetString(SI_FURC_WW), -- Branch, Curved Laurel [130296] = GetString(SI_FURC_WW), -- Branch, Sturdy Laurel @@ -60,8 +60,6 @@ FurC.EventItems[FURC_REACH] = { [130299] = GetString(SI_FURC_WW), -- Saplings, Burnt Cluster [130300] = GetString(SI_FURC_WW), -- Saplings, Burnt Tall [130297] = GetString(SI_FURC_WW), -- Branch, Forked Laurel - - } - } -} \ No newline at end of file + } +} diff --git a/data/Homestead/H_AchievementVendors.lua b/data/Homestead/H_AchievementVendors.lua index 4481e9b..c4be22c 100644 --- a/data/Homestead/H_AchievementVendors.lua +++ b/data/Homestead/H_AchievementVendors.lua @@ -2,64 +2,64 @@ FurC.AchievementVendors = FurC.AchievementVendors or {} FurC.Books = FurC.Books or {} function tableMerge(t1, t2) - if nil == t2 and nil == t1 then - return {} + if nil == t2 and nil == t1 then + return {} elseif nil == t2 then return t1 elseif nil == t1 then return t2 - end - + end + for k,v in pairs(t2) do - t1[k] = v + t1[k] = v end return t1 end local jesterVendor = { - -- tree, Jester's Large + -- tree, Jester's Large [120994] = { - itemPrice = 15000, + itemPrice = 15000, achievement = 1723, }, -- tree, Jester's Small [118529] = { - itemPrice = 5000, + itemPrice = 5000, achievement = 1723, }, -- Banner of Mayhem [126720] = { - itemPrice = 5000, + itemPrice = 5000, achievement = 1883, }, -- Corpse of Mayhem, Argonian [126721] = { - itemPrice = 15000, + itemPrice = 15000, achievement = 1888, }, -- Corpse of Mayhem, Khajiit [126722] = { - itemPrice = 15000, + itemPrice = 15000, achievement = 1888, }, -- Corpse of Mayhem, Orc [126723] = { - itemPrice = 15000, + itemPrice = 15000, achievement = 1888, }, -- Probably-Not-Punch-Bowl of Mayhem [126724] = { - itemPrice = 30000, + itemPrice = 30000, achievement = 1892, }, -- Stamdard of Mayhem [126719] = { - itemPrice = 2500, + itemPrice = 2500, achievement = 1883, }, [131433] = { -- Witches Festival, Plunder Skulls - itemPrice = 10000, - -- achievement = 2049, + itemPrice = 10000, + -- achievement = 2049, }, } @@ -68,92 +68,92 @@ local capitalVendor = { itemPrice = 5000, }, [120037] = { -- Decorative Skyshard - itemPrice = 25000, - achievement = 1009, + itemPrice = 25000, + achievement = 1009, }, [120001] = { -- Decorative Treasure Chest - itemPrice = 10000, - achievement = "", + itemPrice = 10000, + achievement = "", }, [119994] = { -- Depleted Sigil Stone - itemPrice = 5000, - achievement = "", + itemPrice = 5000, + achievement = "", }, [120066] = { -- Display Craft Bag - itemPrice = 5000, - achievement = "", + itemPrice = 5000, + achievement = "", }, [120043] = { -- Fishing Vessel - itemPrice = 100000, - achievement = "", + itemPrice = 100000, + achievement = "", }, [120056] = { -- Hanging Map of Tamriel itemPrice = 10000, - achievement = "", + achievement = "", }, [119993] = { -- Lantern of Anguish itemPrice = 5000, - achievement = "", + achievement = "", }, [120039] = { -- Primal Altar to Hircine itemPrice = 50000, - achievement = 1009, + achievement = 1009, }, [119989] = { -- Replica Black Soulgem itemPrice = 2500, - achievement = "", + achievement = "", }, [119988] = { -- Replica Soul Gem itemPrice = 500, - achievement = "", + achievement = "", }, [119995] = { -- Silent Sentinel itemPrice = 20000, - achievement = "", + achievement = "", }, [119990] = { -- Soul Gem Case itemPrice = 4000, - achievement = "", + achievement = "", }, [119992] = { -- Soul Gem Crate itemPrice = 5000, - achievement = "", + achievement = "", }, [119996] = { -- Soul Gem Stand itemPrice = 4000, - achievement = "", + achievement = "", }, [119991] = { -- Spare Flesh Atronach Parts - + itemPrice = 10000, - achievement = "", + achievement = "", }, [119873] = { -- Tamrith Coffin itemPrice = 20000, - achievement = 1010, + achievement = 1010, }, [119872] = { -- Tamrith Coffin Lid itemPrice = 5000, - achievement = 1010, + achievement = 1010, }, [120064] = { -- DC shield itemPrice = 10000, - achievement = 61, + achievement = 61, }, [120063] = { -- AD shield itemPrice = 10000, - achievement = 618, + achievement = 618, }, [120065] = { -- EP shield itemPrice = 10000, - achievement = 617, + achievement = 617, }, } local furnishingVendor = { [120998] = { -- Block,Wood Cutting itemPrice = 100, - }, + }, [117994] = { -- Rough Block,Stone Slab itemPrice = 100, }, @@ -172,9 +172,9 @@ local furnishingVendor = { [117990] = { -- Tea Table,Carved itemPrice = 250, }, - + } - + local morrowindStones = { [120563] = { -- Stone,Jagged Grey itemPrice = 100 , @@ -195,119 +195,119 @@ local morrowindStones = { local structures = { [117984] = { -- Rough Block, Dark Stone - itemPrice = 100, - }, + itemPrice = 100, + }, [117983] = { -- Rough Block, Light Stone - itemPrice = 100, - }, + itemPrice = 100, + }, [117995] = { -- Rough Block, Stone Brick - itemPrice = 100, - }, + itemPrice = 100, + }, [117993] = { -- Rough Block, Stone Chunk - itemPrice = 100, - }, + itemPrice = 100, + }, [117992] = { -- Rough Block, Stone Section - itemPrice = 100, - }, + itemPrice = 100, + }, [117994] = { -- Rough Block, Stone Slab - itemPrice = 100, - }, - + itemPrice = 100, + }, + [117961] = { -- Rough Block, Woodcutter's - itemPrice = 100, - }, - + itemPrice = 100, + }, + [117987] = { -- Rough Plank, Long - itemPrice = 100, - }, + itemPrice = 100, + }, [117961] = { -- Rough Planks, Narrow - itemPrice = 100, - }, + itemPrice = 100, + }, [117988] = { -- Rough Planks, Platform - itemPrice = 100, - }, + itemPrice = 100, + }, [117989] = { -- Rough Plank, Wide - itemPrice = 100, + itemPrice = 100, }, [117973] = { -- Rough Crate, Dry - itemPrice = 100, - }, + itemPrice = 100, + }, -} +} local boxes = { [120998] = { -- Block,Wood Cutting itemPrice = 100, - }, + }, [117959] = { -- Rough Container, Shipping - itemPrice = 100, - }, - + itemPrice = 100, + }, + [117959] = { -- Rough Box, Slatted - itemPrice = 100, - }, + itemPrice = 100, + }, [117931] = { -- Rough Crate Lid - itemPrice = 100, - }, + itemPrice = 100, + }, [117957] = { -- Rough Crate, Cracked - itemPrice = 100, - }, + itemPrice = 100, + }, [117958] = { -- Rough Crate, Empty - itemPrice = 100, - }, + itemPrice = 100, + }, [117930] = { -- Rough Crate, Open - itemPrice = 100, - }, + itemPrice = 100, + }, [117953] = { -- Rough Crate, Sealed - itemPrice = 100, - }, + itemPrice = 100, + }, [117928] = { -- Rough Crate, Sturdy - itemPrice = 100, - }, + itemPrice = 100, + }, } local laundry = { [117968] = { -- Rough Clothesline, Full - itemPrice = 100, - }, + itemPrice = 100, + }, [117970] = { -- Rough Clothesline, Half - itemPrice = 100, - }, + itemPrice = 100, + }, [117969] = { -- Rough Clothesline, Long - itemPrice = 100, - }, + itemPrice = 100, + }, [117972] = { -- Rough Clothesline, Short - itemPrice = 100, - }, + itemPrice = 100, + }, [117971] = { -- Rough Clothesline, Post - itemPrice = 100, - }, + itemPrice = 100, + }, [117966] = { -- Rough Tarp, Oversized - itemPrice = 100, - }, + itemPrice = 100, + }, [117967] = { -- Rough Tarp, Standard - itemPrice = 100, - }, + itemPrice = 100, + }, } local fishing_trip = { - + [117965] = { -- Rough Campfire, Doused - itemPrice = 100, - }, + itemPrice = 100, + }, [117978] = { -- Rough Rod, Fishing - itemPrice = 100, - }, + itemPrice = 100, + }, [117979] = { -- Rough Spear, Fishing - itemPrice = 100, - }, + itemPrice = 100, + }, [117977] = { -- Rough Stool, Fishing - itemPrice = 100, - }, - + itemPrice = 100, + }, + } - + local bookList = { [120197] = { -- 16 accords of madness, vol vi itemPrice = 500, @@ -1199,29 +1199,29 @@ local bookList = { }, [120376] = { itemPrice = 500, - }, + }, [120406] = { itemPrice = 500, }, [120407] = { itemPrice = 500, }, -} +} -FurC.Books[FURC_HOMESTEAD] = bookList +FurC.Books[FURC_HOMESTEAD] = bookList --[[ - [""] = { -- + [""] = { -- itemPrice = 100, - }, -]] - + }, +]] + local miscVendor = tableMerge(tableMerge(tableMerge(structures, boxes), laundry), fishing_trip) FurC.AchievementVendors[FURC_HOMESTEAD] = { - - ["any Alliance Capital"] = { - [GetString(FURC_AV_NAR)] = capitalVendor, + + ["any Alliance Capital"] = { + [GetString(FURC_AV_NAR)] = capitalVendor, [GetString(FURC_AV_HER)] = jesterVendor, }, -- location name @@ -1256,12 +1256,12 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { }, [120568] = { -- Mushroom,Tall Chanterelle itemPrice = 250, - }, - }, - + }, + }, + }, ["Dhalmora, Bal Foyen"] = { - + [GetString(FURC_AV_FRO)] = { [120502] = { -- Flower, Grandmother Hibiscus itemPrice = 1000, @@ -1281,8 +1281,8 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [120622] = { -- Vines, Clustered Ivy itemPrice = 600, }, - - }, + + }, [GetString(FURC_AV_LTS)] = { [120956] = { -- Atmoran Eagle Totem Medallion itemPrice = 3000, @@ -1293,11 +1293,11 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [120955] = { -- Atmoran Whale Totem Medallion itemPrice = 3000, }, - }, - + }, + }, ["Stonefalls, Ebonheart"] = { - + [GetString(FURC_AV_FRO)] = { [120502] = { -- Flower, Grandmother Hibiscus itemPrice = 1000, @@ -1305,11 +1305,11 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [121028] = { -- Hedge, Dense Low Wall itemPrice = 1300, }, - + [121284] = { -- Dark Elf Column Lantern itemPrice = 250, }, - + [120621] = { -- Plant, Red Aloe itemPrice = 250, },[120620] = { -- Plant, Red Aloe Succulent @@ -1334,7 +1334,7 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { itemPrice = 15000, }, }, - + [GetString(FURC_AV_LTS)] = { [119890] = { -- Blood Fountain itemPrice = 100000, @@ -1351,14 +1351,14 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [119887] = { -- Serien's Stand itemPrice = 10000, }, - }, - + }, + }, ["Eastmarch, Fort Amol"] = { - - [GetString(FURC_AV_FRO)] = miscVendor, - - + + [GetString(FURC_AV_FRO)] = miscVendor, + + [GetString(FURC_AV_LTS)] = { [119905] = { -- Dragon Shrine Altar itemPrice = 20000, @@ -1375,19 +1375,19 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [119907] = { -- Visage of the Skald itemPrice = 25000, }, - }, - - }, + }, + + }, ["Shadowfen, Alten Corimont"] = { - - [GetString(FURC_AV_FRO)] = { + + [GetString(FURC_AV_FRO)] = { [120502] = { -- Flower, Grandmother Hibiscus itemPrice = 1000, }, [120630] = { -- Pebble, Stacked Lichen itemPrice = 100, }, - [120632] = { -- Pebble, Stacked Mossy + [120632] = { -- Pebble, Stacked Mossy itemPrice = 100, }, [120637] = { -- Plant, Dry Spike @@ -1405,12 +1405,12 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [120634] = { -- Tree, Towering Swamp Palm itemPrice = 250, }, - [120636] = { -- Tree, Mud Palm + [120636] = { -- Tree, Mud Palm itemPrice = 250, }, - - }, - + + }, + [GetString(FURC_AV_LTS)] = { [119897] = { -- Argonian Egg itemPrice = 2500, @@ -1428,11 +1428,11 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { itemPrice = 10000, }, }, - + }, ["Riften, Market, Armorer"] = { - - [GetString(FURC_AV_FRO)] = { + + [GetString(FURC_AV_FRO)] = { [120502] = { -- Flower, Grandmother Hibiscus itemPrice = 1000, }, @@ -1457,8 +1457,8 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [120499] = { -- Sapling, Tender Harvest itemPrice = 250, }, - }, - + }, + [GetString(FURC_AV_LTS)] = { [119915] = { -- Ancient Cultist Totem itemPrice = 5000, @@ -1475,128 +1475,128 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [119916] = { -- Ysgramor Statue itemPrice = 20000, }, - }, - }, + }, + }, + - ["Alik'r, Kozanzet, Sweetwater Inn"] = { [GetString(FURC_AV_LOT)] = { [119879] = { -- Kneeling Ansei Statue - itemPrice = 15000, - }, + itemPrice = 15000, + }, [119877] = { -- Reconstructed Necromantic Focus - itemPrice = 5000, - }, + itemPrice = 5000, + }, [119880] = { -- Replica Of Shattered Ansei Sword - itemPrice = 35000, - }, + itemPrice = 35000, + }, [119878] = { -- Standing Ansei Statue - itemPrice = 15000, - }, + itemPrice = 15000, + }, [119876] = { -- Tu'whacca's Braizer itemPrice = 5000, - }, - }, + }, + }, [GetString(FURC_AV_ROH)] = miscVendor, }, ["Bangkorai, Evermore"] = { [GetString(FURC_AV_LOT)] = { [119885] = { -- ceremonial Redguard vessel - itemPrice = 3000, - }, + itemPrice = 3000, + }, [119882] = { -- Damaged Knight of St. Pelin statue - itemPrice = 5000, - }, + itemPrice = 5000, + }, [119883] = { -- Evermore Mourning Banner - itemPrice = 4000, - }, + itemPrice = 4000, + }, [119881] = { -- Glenmoril Wyrd Stone - itemPrice = 5000, - }, + itemPrice = 5000, + }, [119884] = { -- Ragged Imperial Banner - itemPrice = 4000, - }, - - }, + itemPrice = 4000, + }, + + }, [GetString(FURC_AV_ROH)] = { [120449] = { -- Bush, Desert Scrub - itemPrice = 100, - }, + itemPrice = 100, + }, [120457] = { -- Pebble, smooth desert itemPrice = 100, - }, + }, [120461] = { -- Cactus, Desert Wine itemPrice = 500, - }, + }, [120452] = { -- Pebble, smooth grey itemPrice = 100, - }, + }, [120460] = { -- Plant, green water itemPrice = 100, - }, + }, [120450] = { -- plant, squat Yucca itemPrice = 100, - }, + }, [120462] = { -- Plant, tall flowering Yucca itemPrice = 100, - }, + }, [120440] = { -- Rocks, Scattered, Weatherd itemPrice = 100, - }, + }, [120454] = { -- Rocks, Stacked Desert itemPrice = 100, - }, + }, [120438] = { -- Rocks, Stacked Weathered itemPrice = 100, - }, + }, [120441] = { -- Sapling, Short Highland itemPrice = 100, - }, + }, [120443] = { -- Sapling, Strong Highland itemPrice = 100, - }, + }, [120443] = { -- Sapling, Tall Highland itemPrice = 100, - }, + }, [120442] = { -- Sapling, Squat Highland itemPrice = 100, - }, + }, [120459] = { -- Shrub, Browncrub itemPrice = 100, - }, + }, [120458] = { -- Shrub, Speckled Forest itemPrice = 250, - }, + }, [120446] = { -- Small Juniper Tree itemPrice = 100, - }, + }, [120451] = { -- Stones, Smooth Gray itemPrice = 100, - }, + }, [120455] = { -- Stone, stacked desert itemPrice = 100, - }, + }, [120439] = { -- Stone, tapered weathered itemPrice = 100, - }, + }, [120445] = { -- Sturdy Juniper Tree itemPrice = 100, - }, + }, [120453] = { -- Tree, hardened Juniper itemPrice = 100, - }, + }, [120448] = { -- Tree, old Juniper itemPrice = 100, - }, - - }, + }, + + }, }, ["Bethnikh, near tavern"] = { [GetString(FURC_AV_LOT)] = { [119984] = { -- Pirate Banner itemPrice = 10000, }, - }, + }, [GetString(FURC_AV_ROH)] = miscVendor, }, ["Glenumbra, Daggerfall, The Rosy Lion"] = { @@ -1616,7 +1616,7 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [119858] = { -- Bloodthorn Vines, small itemPrice = 5000, }, - }, + }, [GetString(FURC_AV_ROH)] = { [121011] = { -- Trees, young autumn birch itemPrice = 100, @@ -1654,7 +1654,7 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [120706] = { -- Boulder, Giant Mossy itemPrice = 100, }, - + }, }, ["Rivenspire, Shornhelm, Dead Wolf Inn"] = { @@ -1680,7 +1680,7 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [119868] = { -- Constellation: The Ritual itemPrice = 10000, }, - }, + }, [GetString(FURC_AV_ROH)] = { [120578] = { -- Sapling, Young Aspen itemPrice = 100, @@ -1694,7 +1694,7 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [120580] = { -- Flower, Healthy Hibiscus itemPrice = 250, }, - }, + }, }, ["Stormhaven, Wayrest, Merchant district"] = { [GetString(FURC_AV_LOT)] = { @@ -1713,9 +1713,9 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [119863] = { -- Knights of the Flame Banner itemPrice = 10000, }, - }, + }, [GetString(FURC_AV_ROH)] = { - + [120582] = { -- Tree, Yellowing Oak itemPrice = 20000, }, @@ -1730,7 +1730,7 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { }, } }, - + ["Skywatch, Auridon"] = { [GetString(FURC_AV_ATH)] = { [119823] = { -- Tanzelwil Culanda Stone @@ -1743,14 +1743,14 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { itemPrice = 10000, }, [119826] = { -- High Elf Throne - itemPrice = 25000, + itemPrice = 25000, }, [119827] = { -- Ancient High Elf Statue itemPrice = 35000, }, }, [GetString(FURC_AV_MAL)] = { - [120663] = { -- Saplings, Healthy Forest + [120663] = { -- Saplings, Healthy Forest itemPrice = 100, }, [120662] = { -- Saplings, Squat Forest @@ -1759,157 +1759,157 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [120661] = { -- Saplings, Young Forest itemPrice = 100, }, - + }, }, ["Greenshade, Marbruk"] = { [GetString(FURC_AV_MAL)] = { [120597] = { -- Fern Plant, Vibrant - itemPrice = 100, - }, + itemPrice = 100, + }, [120599] = { -- Fern, Healthy Green - itemPrice = 100, - }, + itemPrice = 100, + }, [120595] = { -- Fern, Lush - itemPrice = 100, - }, - [120600] = { -- Fern, Young, Healthy - itemPrice = 100, - }, + itemPrice = 100, + }, + [120600] = { -- Fern, Young, Healthy + itemPrice = 100, + }, [120598] = { -- Plants, Low weeds - itemPrice = 100, - }, + itemPrice = 100, + }, [120588] = { -- Rock, Slanted Algae - itemPrice = 100, - }, + itemPrice = 100, + }, [120590] = { -- Rocks, Smooth Set - itemPrice = 100, - }, + itemPrice = 100, + }, [120592] = { -- Saplings, Highland Cluster - itemPrice = 100, - }, + itemPrice = 100, + }, [120593] = { -- Saplings, Twin Highland - itemPrice = 100, - }, + itemPrice = 100, + }, [120589] = { -- Stone, Slanted Weathered - itemPrice = 100, - }, + itemPrice = 100, + }, [120591] = { -- Tree, Vibrant Privet - itemPrice = 250, - }, + itemPrice = 250, + }, [120587] = { -- Boulder, Flat Grey - itemPrice = 250, - }, + itemPrice = 250, + }, [120586] = { -- Boulder, Moss Covered - itemPrice = 250, - }, - - }, + itemPrice = 250, + }, + + }, + - [GetString(FURC_AV_ATH)] = { - [119839] = { -- Fires of the WIlderking - itemPrice = 4000, - }, + [119839] = { -- Fires of the WIlderking + itemPrice = 4000, + }, [119841] = { -- Hectahame Arboretum Relic - itemPrice = 10000, - }, + itemPrice = 10000, + }, [120991] = { -- Rise of the Silvenaar - itemPrice = 5000, - }, + itemPrice = 5000, + }, [119840] = { -- Sea Elf Banner - itemPrice = 10000, - }, - [119842] = { -- - itemPrice = 7500, - }, + itemPrice = 10000, + }, + [119842] = { -- + itemPrice = 7500, + }, }, - + }, ["Khenarthi's Roost, Mistral"] = { [GetString(FURC_AV_MAL)] = miscVendor, [GetString(FURC_AV_ATH)] = { [119986] = { -- Maomer Totem itemPrice = 10000, - }, + }, }, }, ["Malabal Tor, Vulkwaesten, tavern"] = { [GetString(FURC_AV_MAL)] = { [120529] = { -- Fern Cluster, Healthy itemPrice = 100, - }, + }, [120531] = { -- Fern Fronts, Healthy Green itemPrice = 100, - }, + }, [120530] = { -- Fern Fronds, Sunburst itemPrice = 100, - }, + }, [120527] = { -- Fern Plant, Green Curly itemPrice = 100, - }, + }, [120528] = { -- Fern Plant, Sturdy Mature itemPrice = 100, - }, + }, [120640] = { -- Fern, Budding Forest itemPrice = 100, - }, + }, [120641] = { -- Fern, Low Red itemPrice = 100, - }, + }, [120642] = { -- Mushrooms, Brown Gilled itemPrice = 100, - }, + }, [120534] = { -- Mushroom, Bruising Webcap itemPrice = 250, - }, + }, [120532] = { -- Mushrooms, Poison Pax Cluster itemPrice = 100, - }, + }, [120533] = { -- Mushrooms, Poison Pax Group itemPrice = 100, - }, + }, [120638] = { -- Rock, Slanted Weathered itemPrice = 100, - }, + }, [120523] = { -- Rocks, Mossy Cluster itemPrice = 100, - }, + }, [120524] = { -- Rocks, Mossy Set itemPrice = 100, - }, + }, [120639] = { -- Stones, Smooth Mossy itemPrice = 100, - }, + }, [120525] = { -- Tree, Mossy Swamp itemPrice = 100, - }, + }, [120643] = { -- Vines, Curtain Ivy itemPrice = 750, - }, + }, [120645] = { -- Vines, Draped Ivy itemPrice = 750, - }, + }, [120644] = { -- Vines, Lush Ivy itemPrice = 600, - }, + }, }, [GetString(FURC_AV_ATH)] = { [119847] = { -- Handfast itemPrice = 25000, - }, + }, [119846] = { -- Handfast Pedestal itemPrice = 5000, - }, - [119845] = { -- Wood Elf Union Trellis + }, + [119845] = { -- Wood Elf Union Trellis itemPrice = 15000, - }, - [119843] = { -- Wood Orc Dream Catcher + }, + [119843] = { -- Wood Orc Dream Catcher itemPrice = 4000, - }, + }, [119844] = { -- Wood Orc Malacath Banner itemPrice = 10000, - }, + }, }, }, ["Grahtwood, Redfur Trading Post"] = { @@ -1917,7 +1917,7 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [120725] = { -- Boulder, Mossy Crag itemPrice = 100, }, - [121285] = { -- Tree, Ancient Banyan + [121285] = { -- Tree, Ancient Banyan itemPrice = 25000, }, [121286] = { -- Tree, Giant Cypress @@ -1945,119 +1945,119 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [GetString(FURC_AV_ATH)] = { [119834] = { -- Aulus's Captive Audience itemPrice = 10000, - }, + }, [119836] = { -- Guardian Mane itemPrice = 10000, - }, + }, [119837] = { -- Orrery Control Pillar Replica itemPrice = 10000, - }, + }, [119835] = { -- Ukaezai's Ward itemPrice = 10000, - }, + }, [119838] = { -- Valenwood Brazier itemPrice = 4000, - }, + }, }, }, - + ["Reaper's March, Rawl'Kha, Market"] = { [GetString(FURC_AV_MAL)] = { - [120998] = { -- Block, Wood Cutting - itemPrice = 100, + [120998] = { -- Block, Wood Cutting + itemPrice = 100, }, - [120511] = { -- Bush, Mountain Scrub - itemPrice = 100, + [120511] = { -- Bush, Mountain Scrub + itemPrice = 100, }, - [120690] = { -- Fern Plant, Hardy - itemPrice = 100, + [120690] = { -- Fern Plant, Hardy + itemPrice = 100, }, - [120510] = { -- Fern Plant, Sturdy Towering - itemPrice = 100, + [120510] = { -- Fern Plant, Sturdy Towering + itemPrice = 100, }, - [120512] = { -- Fern, Fragile - itemPrice = 100, + [120512] = { -- Fern, Fragile + itemPrice = 100, }, - [120521] = { -- Fern, Withering - itemPrice = 100, + [120521] = { -- Fern, Withering + itemPrice = 100, }, - [120691] = { -- Fern, Young Sunburnt - itemPrice = 100, + [120691] = { -- Fern, Young Sunburnt + itemPrice = 100, }, - [120703] = { -- Khajiit Column, Spiked - itemPrice = 4000, + [120703] = { -- Khajiit Column, Spiked + itemPrice = 4000, }, - [120561] = { -- Plant, Jungle Leaf - itemPrice = 100, + [120561] = { -- Plant, Jungle Leaf + itemPrice = 100, }, - [120697] = { -- Plant, Leafy Sprouts - itemPrice = 100, + [120697] = { -- Plant, Leafy Sprouts + itemPrice = 100, }, - [120560] = { -- Plant, Squat Jungle Leaf - itemPrice = 100, + [120560] = { -- Plant, Squat Jungle Leaf + itemPrice = 100, }, - [120562] = { -- Plant, Towering Jungle Leaf - itemPrice = 100, + [120562] = { -- Plant, Towering Jungle Leaf + itemPrice = 100, }, - [120699] = { -- Platform, Weathered Dock - itemPrice = 250, + [120699] = { -- Platform, Weathered Dock + itemPrice = 250, }, - [120700] = { -- Post, Barnacle Covered - itemPrice = 100, + [120700] = { -- Post, Barnacle Covered + itemPrice = 100, }, - [120515] = { -- Shrub, Lanky Highland - itemPrice = 100, + [120515] = { -- Shrub, Lanky Highland + itemPrice = 100, }, - [120522] = { -- Shrub, Tender Privet - itemPrice = 100, + [120522] = { -- Shrub, Tender Privet + itemPrice = 100, }, - [117990] = { -- Tea Table, Carved - itemPrice = 250, + [117990] = { -- Tea Table, Carved + itemPrice = 250, }, - [121282] = { -- Tree, Ancient Jungle - itemPrice = 5000, + [121282] = { -- Tree, Ancient Jungle + itemPrice = 5000, }, - [121283] = { -- Tree, Healthy Jungle - itemPrice = 250, + [121283] = { -- Tree, Healthy Jungle + itemPrice = 250, }, - [120519] = { -- Tree, Healthy Privet - itemPrice = 250, + [120519] = { -- Tree, Healthy Privet + itemPrice = 250, }, - [120687] = { -- Tree, Sturdy Shade - itemPrice = 250, + [120687] = { -- Tree, Sturdy Shade + itemPrice = 250, }, [120558] = { -- Sapling, Eucalyptus Shrub itemPrice = 100, }, - + }, [GetString(FURC_AV_ATH)] = { - [119848] = { -- Colovian Projection Crystal - itemPrice = 5000, + [119848] = { -- Colovian Projection Crystal + itemPrice = 5000, achievement = 536, }, - [119853] = { -- Full Moons Tile - itemPrice = 5000, + [119853] = { -- Full Moons Tile + itemPrice = 5000, achievement = 602, }, - [119850] = { -- Khajiiti Shrine Guardian Statue - itemPrice = 20000, + [119850] = { -- Khajiiti Shrine Guardian Statue + itemPrice = 20000, achievement = 538, }, - [119849] = { -- Moonmont Lunar Altar - itemPrice = 15000, + [119849] = { -- Moonmont Lunar Altar + itemPrice = 15000, achievement = 537, }, - [119854] = { -- New Moons Tile - itemPrice = 5000, + [119854] = { -- New Moons Tile + itemPrice = 5000, achievement = 602, }, - [119852] = { -- Waning Moons Tile - itemPrice = 5000, + [119852] = { -- Waning Moons Tile + itemPrice = 5000, achievement = 602, }, - [119851] = { -- Waxing Moons Wall Tile - itemPrice = 5000, + [119851] = { -- Waxing Moons Wall Tile + itemPrice = 5000, achievement = 602, }, }, @@ -2066,118 +2066,118 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [GetString(FURC_AV_LOT)] = { [119933] = { -- Craglorn Brazier itemPrice = 5000, - }, + }, [119934] = { -- Craglorn Sconce itemPrice = 5000, - }, - [119931] = { -- Craglorn Tapestrie + }, + [119931] = { -- Craglorn Tapestrie itemPrice = 35000, - }, + }, [119925] = { -- Nirncrux Bowl itemPrice = 4000, - }, + }, [119935] = { -- Observatory Banner itemPrice = 25000, - }, + }, [119923] = { -- Serpent Stone itemPrice = 5000, - }, + }, [119929] = { -- Snake Prayer Tile itemPrice = 5000, - }, + }, [119930] = { -- Totem of the Serpent itemPrice = 10000, - }, - - }, + }, + + }, [GetString(FURC_AV_KRR)] = { [120964] = { -- Boulder, Craggy Heap itemPrice = 100, - }, + }, [120545] = { -- Tree, Sturdy Summer itemPrice = 250, - }, + }, [120963] = { -- Boulder, Jagged Crag itemPrice = 100, - }, + }, [120552] = { -- Bush, Flowering Scrub itemPrice = 250, - }, + }, [120555] = { -- Flowers, Healthy Goldenrod itemPrice = 250, - }, + }, [120551] = { -- Plant, Healthy Sage itemPrice = 100, - }, + }, [120977] = { -- Plant, Strong Sage itemPrice = 100, - }, + }, [120966] = { -- Rock, Craggy Rubble itemPrice = 100, - }, + }, [120539] = { -- Rock, Jagged Craggy itemPrice = 100, - }, + }, [120969] = { -- Sapling, Crabapple itemPrice = 100, - }, + }, [120972] = { -- Sapling, Desert itemPrice = 100, - }, + }, [120548] = { -- Sapling, Leaning Ash itemPrice = 100, - }, + }, [120973] = { -- Sapling, Mountain itemPrice = 100, - }, + }, [120983] = { -- Sapling, Mountain itemPrice = 100, - }, + }, [120971] = { -- Sapling, Tall Scrub itemPrice = 100, - }, + }, [120982] = { -- Sapling, Twisted itemPrice = 100, - }, + }, [120553] = { -- Sapling, Young Scrub itemPrice = 100, - }, + }, [120976] = { -- Sapling, Juniper Cluster itemPrice = 100, - }, + }, [120981] = { -- Sapling, Desert Scrub itemPrice = 100, - }, + }, [120967] = { -- Stone, Angled Grey itemPrice = 100, - }, + }, [120975] = { -- Tree, Angled Ash itemPrice = 100, - }, + }, [120543] = { -- Tree, Blooming Crabapple itemPrice = 6000, - }, + }, [120549] = { -- Tree, Large Twisted Ash itemPrice = 250, - }, + }, [120547] = { -- Tree, Leaning Ash itemPrice = 250, - }, + }, [120970] = { -- Tree, Sturdy Crabapple itemPrice = 13000, - }, + }, [120974] = { -- Tree, Sturdy Summer itemPrice = 250, - }, + }, [120550] = { -- Tree, Twisted itemPrice = 100, - }, - + }, + }, }, ["Coldharbour, Hollow City, Cicero's General Good"] = { - + [GetString(FURC_AV_LOT)] = { [119828] = { -- Ayleid Throne itemPrice = 50000, @@ -2199,9 +2199,9 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { }, }, [GetString(FURC_AV_KRR)] = boxes, - }, - - ["Gold Coast, Kvatch"] = { + }, + + ["Gold Coast, Kvatch"] = { [GetString(FURC_AV_ATH)] = { [119947] = { -- Banner of the Kvatch Guard itemPrice = 15000, @@ -2242,10 +2242,10 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [119948] = { -- Statue of the Mother itemPrice = 100000, }, - }, - [GetString(FURC_AV_FRO)] = structures, - }, - + }, + [GetString(FURC_AV_FRO)] = structures, + }, + ["Hew's Bane"] = { [GetString(FURC_AV_LTS)] = { [119965] = { -- Abah's Landing Banner @@ -2281,7 +2281,7 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [119955] = { -- Pale Garden Flowers itemPrice = 500, }, - [119954] = { -- Reliquary Skull + [119954] = { -- Reliquary Skull itemPrice = 25000, }, [119954] = { -- Statue of Shadows @@ -2293,12 +2293,12 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [119963] = { -- Yokudan Puzzle Column itemPrice = 5000, }, - }, + }, ["Rohiza"] = structures, - }, - + }, + ["Orsinium"] = { - + [GetString(FURC_AV_LOT)] = { [119979] = { -- Fur Throne itemPrice = 25000, @@ -2321,8 +2321,8 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [119981] = { -- Throne of the Orc King itemPrice = 50000, }, - }, - + }, + [GetString(FURC_AV_MAL)] = { [117955] = { -- Box, Slatted itemPrice = 100, @@ -2348,127 +2348,127 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { [117986] = { -- Rough Plank, Long itemPrice = 100, }, - + }, - + }, - - ["any city"] = { + + ["any city"] = { [FURC_AV_ENC] = { [120050] = { -- Enchanter's Sign - itemPrice = 5000, + itemPrice = 5000, }, [120051] = { -- Enchanting Gem - itemPrice = 5000, + itemPrice = 5000, achievement = 1317, }, - }, + }, [GetString(FURC_AV_ALC)] = { [120044] = { -- Alchemy sign - itemPrice = 10000, + itemPrice = 10000, achievement = 1031, }, [120058] = { -- Harvester's Herbs - itemPrice = 1000, + itemPrice = 1000, }, [120045] = { -- Poison Satchel - itemPrice = 5000, + itemPrice = 5000, achievement = 1464 }, - }, + }, [GetString(FURC_AV_COO)] = { [120053] = { -- Chef's Cleaver - itemPrice = 2500, + itemPrice = 2500, achievement = 1028, }, [120052] = { -- Provisioner's Sign - itemPrice = 5000, + itemPrice = 5000, achievement = 1035, }, }, [GetString(FURC_AV_CLO)] = { [120048] = { -- clothier's sign - itemPrice = 5000, + itemPrice = 5000, achievement = 1033, }, [120060] = { -- Harvester's Critter Trap - itemPrice = 5000, - achievement = 68, + itemPrice = 5000, + achievement = 68, }, [120061] = { -- Harvester's Garden Shrub - itemPrice = 10000, - achievement = 68, + itemPrice = 10000, + achievement = 68, }, }, [GetString(FURC_AV_CAR)] = { [120057] = { -- Harvester's Woodpile - itemPrice = 1000, - achievement = 68, + itemPrice = 1000, + achievement = 68, }, [120054] = { -- Woodworker's Sign - itemPrice = 5000, - achievement = 1036, + itemPrice = 5000, + achievement = 1036, }, }, [GetString(FURC_AV_BSM)] = { - + [120046] = { -- Blacksmith's Sign - itemPrice = 5000, + itemPrice = 5000, achievement = 1032, }, [120059] = { -- Harvester's Ore - itemPrice = 1000, - achievement = 68, + itemPrice = 1000, + achievement = 68, }, [120062] = { -- Smith's Bellow - itemPrice = 10000, - achievement = 1022, + itemPrice = 10000, + achievement = 1022, }, }, [GetString(FURC_AV_OUT)] = { [120028] = { -- Death Marker - itemPrice = 5000, + itemPrice = 5000, }, [120033] = { -- Decorative Safebox - itemPrice = 5000, + itemPrice = 5000, achievement = 1200, -- Safebox Cracker }, [120032] = { -- Decorative Thieves Trove - itemPrice = 5000, + itemPrice = 5000, achievement = "", -- No Stash Left Behind }, [120957] = { -- Faded fence banner - itemPrice = 10000, - achievement = "Ledgerdmain Rank 20", + itemPrice = 10000, + achievement = "Ledgerdmain Rank 20", }, [120027] = { -- Mass Tombstone - itemPrice = 10000, + itemPrice = 10000, }, [120026] = { -- Mountain of Loot - itemPrice = 10000, + itemPrice = 10000, achievement = "", -- Black Market Mogul }, [120029] = { -- Noble Pocket Lint - itemPrice = 1000, + itemPrice = 1000, achievement = 1192,-- Sneak Thief Extraordinaire }, [120023] = { -- Outlaw Banner - itemPrice = 5000, + itemPrice = 5000, achievement = "Ledgerdmain Rank 20", }, [120025] = { -- Pile of Coins - itemPrice = 2500, + itemPrice = 2500, achievement = 1196, -- Felonious Recompense }, [120030] = { -- Pocket Change - itemPrice = 500, + itemPrice = 500, }, [120031] = { -- Replica Key, Blank - itemPrice = 1000, + itemPrice = 1000, achievement = 1208, -- Master Burglar }, [120993] = { -- Scales of Felonious Recompense - itemPrice = 5000, + itemPrice = 5000, achievement = 1196, -- Felonious Recompense }, }, @@ -2477,113 +2477,112 @@ FurC.AchievementVendors[FURC_HOMESTEAD] = { ["the Mages' guild"] = { ["the Mystic as part of a collection"] = {}, - ["the Mystic"] = { + ["the Mystic"] = { [120003] = { -- cheese cutter - itemPrice = 5000, + itemPrice = 5000, }, [120011] = { -- Mages' Guild Banner - itemPrice = 10000, - }, + itemPrice = 10000, + }, } - + }, ["the Fighters' guild"] = { ["Hall Steward"] = { [120019] = { --Broken Chain - itemPrice = 50000, + itemPrice = 50000, }, [119999] = { -- Daedric Chest - itemPrice = 10000, + itemPrice = 10000, }, [120948] = { -- Dark Anchor Pinion - itemPrice = 100000, + itemPrice = 100000, }, [120019] = { -- Fighters' Guild Banner - itemPrice = 10000, - }, + itemPrice = 10000, + }, }, }, ["the Undaunted Enclaves"] = { ["Undaunted Quartermaster"] = { [120036] = { -- Undaunted Banner - itemPrice = 15000, + itemPrice = 15000, }, [120035] = { -- Undaunted Chest - itemPrice = 5000, + itemPrice = 5000, }, [120034] = { -- Undaunted Mug - itemPrice = 1000, - }, + itemPrice = 1000, + }, }, }, } function FurC.SetupHomesteadItems() local generatedTable, listTable - + FurC.AchievementVendors[FURC_HOMESTEAD]["the Mages' guild"]["the Mystic as part of a collection"] = bookList - - + + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Dhalmora, Bal Foyen"][GetString(FURC_AV_FRO)] - addTable = tableMerge(furnishingVendor, morrowindStones) + addTable = tableMerge(furnishingVendor, morrowindStones) + listTable = tableMerge(listTable, addTable) + + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Mournhold Bank"][GetString(FURC_AV_FRO)] listTable = tableMerge(listTable, addTable) - - listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Mournhold Bank"][GetString(FURC_AV_FRO)] - listTable = tableMerge(listTable, addTable) - - listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Stonefalls, Ebonheart"][GetString(FURC_AV_FRO)] - listTable = tableMerge(listTable, addTable) - + + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Stonefalls, Ebonheart"][GetString(FURC_AV_FRO)] + listTable = tableMerge(listTable, addTable) + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Shadowfen, Alten Corimont"][GetString(FURC_AV_FRO)] addTable = furnishingVendor - listTable = tableMerge(listTable, addTable) - + listTable = tableMerge(listTable, addTable) + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Riften, Market, Armorer"][GetString(FURC_AV_FRO)] addTable = furnishingVendor - listTable = tableMerge(listTable, addTable) - + listTable = tableMerge(listTable, addTable) + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Bangkorai, Evermore"][GetString(FURC_AV_ROH)] listTable = tableMerge(listTable, addTable) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Stormhaven, Wayrest, Merchant district"][GetString(FURC_AV_ROH)] listTable = tableMerge(listTable, addTable) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Greenshade, Marbruk"][GetString(FURC_AV_MAL)] listTable = tableMerge(listTable, addTable) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Malabal Tor, Vulkwaesten, tavern"][GetString(FURC_AV_MAL)] listTable = tableMerge(listTable, addTable) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Reaper's March, Rawl'Kha, Market"][GetString(FURC_AV_MAL)] listTable = tableMerge(listTable, structures) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Grahtwood, Redfur Trading Post"][GetString(FURC_AV_MAL)] listTable = tableMerge(listTable, furnishingVendor) listTable = tableMerge(listTable, miscVendor) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Craglorn, Belkarth Woodworking store"][GetString(FURC_AV_KRR)] listTable = tableMerge(listTable, furnishingVendor) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Coldharbour, Hollow City, Cicero's General Good"][GetString(FURC_AV_KRR)] - listTable = tableMerge(listTable, structures) - + listTable = tableMerge(listTable, structures) + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Gold Coast, Kvatch"][GetString(FURC_AV_FRO)] listTable = tableMerge(listTable, furnishingVendor) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Hew's Bane"]["Rohiza"] listTable = tableMerge(listTable, furnishingVendor) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Orsinium"][GetString(FURC_AV_MAL)] listTable = tableMerge(listTable, furnishingVendor) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Glenumbra, Daggerfall, The Rosy Lion"]["Rohiza"] listTable = tableMerge(listTable, furnishingVendor) - + listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Rivenspire, Shornhelm, Dead Wolf Inn"]["Rohiza"] - listTable = tableMerge(listTable, furnishingVendor) + listTable = tableMerge(listTable, furnishingVendor) listTable = FurC.AchievementVendors[FURC_HOMESTEAD]["Orsinium"][GetString(FURC_AV_MAL)] - listTable = tableMerge(listTable, structures) + listTable = tableMerge(listTable, structures) +end - -end \ No newline at end of file diff --git a/data/Homestead/H_Cyrodiil.lua b/data/Homestead/H_Cyrodiil.lua index 2936b10..a6a8a1b 100644 --- a/data/Homestead/H_Cyrodiil.lua +++ b/data/Homestead/H_Cyrodiil.lua @@ -4,127 +4,128 @@ FURC_IC = "Imperial City" FURC_ITEMSOURCE_VENDOR = "Furnishing vendor" FurC.PVP[FURC_HOMESTEAD] = { [FURC_ITEMSOURCE_VENDOR] = { - [FURC_CYRO] = { + [FURC_CYRO] = { [119656] = { -- Pennant, Small - itemPrice = 200, + itemPrice = 200, achievement = 92, -- Volunteer - }, + }, [119656] = { -- Wall Banner, Small - itemPrice = 400, + itemPrice = 400, achievement = 93, -- Recruit - }, + }, [119635] = { -- Wall Banner, Medium - itemPrice = 600, + itemPrice = 600, achievement = 94, -- Tyro - }, + }, [119636] = { -- Camp Banner - itemPrice = 1000, + itemPrice = 1000, achievement = 95, -- Legionary - }, + }, [119675] = { -- Defaced Covenant Flag - itemPrice = 2000, + itemPrice = 2000, achievement = 110, - }, + }, [119629] = { -- Defaced Dominion Flag - itemPrice = 2000, + itemPrice = 2000, achievement = 110, - }, + }, [119637] = { -- Wall Banner, Large - itemPrice = 3000, + itemPrice = 3000, achievement = 96, -- Veteran - }, + }, [119638] = { -- Point Capture Flag - itemPrice = 4000, + itemPrice = 4000, achievement = 97, -- Corporal - }, + }, [119639] = { -- Spare figurehead - itemPrice = 5000, + itemPrice = 5000, achievement = 98, -- Sergeant - }, + }, [119655] = { -- Keep Pennant - itemPrice = 8000, + itemPrice = 8000, achievement = 113, -- Grand Warlord - }, + }, [119617] = { -- Flaming Oil - itemPrice = 10000, + itemPrice = 10000, achievement = 104, -- Tribune - }, + }, [119642] = { -- Scattershot Catapult - itemPrice = 15000, + itemPrice = 15000, achievement = 100, -- Captain - }, + }, [120002] = { -- Dueling Banner - itemPrice = 20000, + itemPrice = 20000, achievement = 1689, - }, + }, [119641] = { -- Ballista - itemPrice = 20000, + itemPrice = 20000, achievement = 99, - }, + }, [119644] = { -- Battering ram - itemPrice = 25000, + itemPrice = 25000, achievement = 102, - }, + }, [119646] = { -- Oil Catapult - itemPrice = 25000, + itemPrice = 25000, achievement = 104, - }, + }, [119653] = { -- Cold fire ballista - itemPrice = 30000, + itemPrice = 30000, achievement = 111, - }, + }, [119645] = { -- Fire Ballista - itemPrice = 30000, + itemPrice = 30000, achievement = 103, -- Colonel - }, + }, [119649] = { -- Lightning Ballista - itemPrice = 30000, + itemPrice = 30000, achievement = 107, - }, + }, [119650] = { -- Meatbag Catapult - itemPrice = 30000, + itemPrice = 30000, achievement = 107, - }, + }, [119643] = { -- Stone Trebuchet - itemPrice = 40000, + itemPrice = 40000, achievement = 108, - }, + }, [119647] = { -- Fire - itemPrice = 45000, + itemPrice = 45000, achievement = 105, - }, + }, [119654] = { -- Cold Fire - itemPrice = 50000, + itemPrice = 50000, achievement = 112, - }, + }, [119648] = { -- Forward Camp - itemPrice = 50000, + itemPrice = 50000, achievement = 106, - }, + }, [119651] = { -- Iceball Treb - itemPrice = 50000, + itemPrice = 50000, achievement = 109, - }, + }, [120079] = { -- Transitus shrine - itemPrice = 100000, + itemPrice = 100000, achievement = 114, - }, + }, [120075] = { -- Elder Scroll - itemPrice = 200000, + itemPrice = 200000, achievement = 935, - }, + }, [120038] = { -- Throne - itemPrice = 250000, + itemPrice = 250000, achievement = 935, - }, + }, }, ["Imperial City"] = { [119983] = { -- Imperial Banner - itemPrice = 15000, - }, + itemPrice = 15000, + }, [119982] = { -- Molag Bal Brazier - itemPrice = 25000, - }, + itemPrice = 25000, + }, } } -} \ No newline at end of file +} + diff --git a/data/Homestead/H_EventItems.lua b/data/Homestead/H_EventItems.lua index 2ad6289..86138f3 100644 --- a/data/Homestead/H_EventItems.lua +++ b/data/Homestead/H_EventItems.lua @@ -6,5 +6,6 @@ FurC.EventItems[FURC_HOMESTEAD] = { [134680] = true, -- Banner, Jester's Standard } } - -} \ No newline at end of file + +} + diff --git a/data/Homestead/H_LuxuryFurnisher.lua b/data/Homestead/H_LuxuryFurnisher.lua index f92f501..bb7ff14 100644 --- a/data/Homestead/H_LuxuryFurnisher.lua +++ b/data/Homestead/H_LuxuryFurnisher.lua @@ -1,14 +1,14 @@ FurC.LuxuryFurnisher = FurC.LuxuryFurnisher or {} FurC.LuxuryFurnisher[FURC_HOMESTEAD] = { - + [120821] = { -- Sigil Stendarr - itemPrice = 15000, + itemPrice = 15000, itemDate = "2017-04-28", }, - - - + + + [120803] = { -- Hews Bane Bed, Royal itemPrice = 20000, itemDate = "2018-02-24", @@ -34,7 +34,7 @@ FurC.LuxuryFurnisher[FURC_HOMESTEAD] = { itemPrice = 50000, itemDate = "2018-02-17", }, - + [120798] = { -- Wedding Blossoms, Blue itemPrice = 2500, itemDate = "2018-02-10", @@ -51,5 +51,5 @@ FurC.LuxuryFurnisher[FURC_HOMESTEAD] = { itemPrice = 10000, itemDate = "2018-02-10", }, - } + diff --git a/data/Homestead/H_Recipes.lua b/data/Homestead/H_Recipes.lua index f29a41b..355d7ab 100644 --- a/data/Homestead/H_Recipes.lua +++ b/data/Homestead/H_Recipes.lua @@ -884,7 +884,7 @@ FurC.Recipes[FURC_HOMESTEAD] = { 119309, -- Redguard Lamp, Caged 119310, -- Redguard Lantern, Caged 119311, -- Redguard Lantern, Caged Stand - 119312, -- Redguard Tapestry, Starry + 119312, -- Redguard Tapestry, Starry 121373, -- Redguard Censer, Hanging Bulb 119314, -- Rough Stretcher, Military 119317, -- Rough Crate, Reinforced @@ -1021,8 +1021,8 @@ FurC.Recipes[FURC_HOMESTEAD] = { 119542, -- Fish", Medium 119543, -- Fish", Large 119592, -- Target Skeleton, Humanoid - - + + -- Rollis's recipes 121200, -- Cabinet, Poisonmaker's 121166, -- Podium, Skinning @@ -1037,41 +1037,42 @@ FurC.Recipes[FURC_HOMESTEAD] = { 121207, -- Orcish Table with Fur 121315, -- Target Skeleton, Robust Humanoid 119592, -- Target Skeleton, Humanoid - - 121311, -- Breton Throne + + 121311, -- Breton Throne 121120, -- Chair, Carved 121308, -- High Elf Banner, Gilded - + 121546, -- Argonian Box, Woven 121374, -- Redguard Censer, Hanging Disc 121108, -- Simple Brown Banner 121310, -- High Elf Sconce, Winged 121307, -- Orcish Brazier, Pillar - + -- 116214, -- Nord Banner, Bear -- 115786, -- Argonian Skiff, Common Reed - - + + 121207, -- Orcish Table with Fur 121203, -- Khajiit Brazier, Enchanted 121201, -- Sack of Beans - - - 121111, -- Simple Red Banner - 121110, -- Simple Purple Banner - 121109, -- Simple Gray Banner - 121372, -- Noble Standing Cauldron - - 121101, -- Sack of Millet, - 121100, -- Common Stewpot, Hanging - 121091, -- Stool, Carved - 121059, -- Rough Cup, Empty - + + + 121111, -- Simple Red Banner + 121110, -- Simple Purple Banner + 121109, -- Simple Gray Banner + 121372, -- Noble Standing Cauldron + + 121101, -- Sack of Millet, + 121100, -- Common Stewpot, Hanging + 121091, -- Stool, Carved + 121059, -- Rough Cup, Empty + 121313, -- Wood Elf Throne, Vine 121104, -- Common Quill, Feather - + 121305, -- Redguard Chandelier, Dark 121304, -- Redguard Chandelier, Grated 121366, -- Orcish Tapestry, Hunt 121365, -- High Elf Tapestry, Gilded } + diff --git a/data/Homestead/H_Rollis.lua b/data/Homestead/H_Rollis.lua index 8f0f38e..ce88278 100644 --- a/data/Homestead/H_Rollis.lua +++ b/data/Homestead/H_Rollis.lua @@ -4,32 +4,31 @@ FurC.Rollis_Recipes = FurC.Rollis_Recipes or {} FurC.Rolis[FURC_HOMESTEAD] = { -- Alchemy station - [118328] = 35, + [118328] = 35, -- Blacksmithing station [119781] = 35, -- Clothing station - [119707] = 35, + [119707] = 35, -- Dye Station - [118329] = 35, + [118329] = 35, -- Enchanting station - [118330] = 35, + [118330] = 35, -- Provisioning station - [118327] = 35, + [118327] = 35, -- Woodworking station - [119744] = 35, - + [119744] = 35, + -- Attunable Blacksmithing station - [119594] = 250, + [119594] = 250, -- Attunable Clothing station - [119821] = 250, + [119821] = 250, -- Attunable Woodworking station - [119822] = 250, + [119822] = 250, } -FurC.Rollis_Recipes[FURC_HOMESTEAD] = { +FurC.Rollis_Recipes[FURC_HOMESTEAD] = { 121207, -- Target Skeleton 121315, -- Robust Target Skeleton 126582, -- Target Centurion 126583, -- Robust Target Centurion } - diff --git a/data/LuxuryFurnisher.lua b/data/LuxuryFurnisher.lua index 7e0c888..c7a73f9 100644 --- a/data/LuxuryFurnisher.lua +++ b/data/LuxuryFurnisher.lua @@ -6,7 +6,7 @@ FurC.LuxuryFurnisher[FURC_DRAGONS] = { itemPrice = 10000, itemDate = "2018-05-12", }, - [134840] = { -- Necromancer's Spire, Compact + [134840] = { -- Necromancer's Spire, Compact itemPrice = 75000, itemDate = "2018-05-12", }, @@ -14,21 +14,21 @@ FurC.LuxuryFurnisher[FURC_DRAGONS] = { itemPrice = 100000, itemDate = "2018-05-12", }, - + [134836] = { -- Necromancer's Brazier, Flame itemPrice = 10000, itemDate = "2018-05-04", }, - [134838] = { -- Necromancer's Spire, Alcove + [134838] = { -- Necromancer's Spire, Alcove itemPrice = 75000, itemDate = "2018-05-04", }, - [134837] = { -- Necromancer's Spire, Narrow + [134837] = { -- Necromancer's Spire, Narrow itemPrice = 50000, itemDate = "2018-05-04", }, - - + + [134834] = { -- Bandages, Blood-Soaked itemPrice = 2000, itemDate = "2018-04-28", @@ -44,7 +44,7 @@ FurC.LuxuryFurnisher[FURC_DRAGONS] = { [120829] = { -- Torture Rack itemPrice = 5000, itemDate = "2018-04-28", - }, + }, [120828] = { -- Torture Wheel itemPrice = 100000, itemDate = "2018-04-28", @@ -54,8 +54,8 @@ FurC.LuxuryFurnisher[FURC_DRAGONS] = { [134833] = { -- Gibbet, Hanging Hooked itemPrice = 75000, itemDate = "2018-04-21", - }, - + }, + [120826] = { -- Iron Cross itemPrice = 10000, itemDate = "2017-04-21", @@ -63,19 +63,19 @@ FurC.LuxuryFurnisher[FURC_DRAGONS] = { [120825] = { -- Iron Cross, Large itemPrice = 25000, itemDate = "2017-04-21", - }, + }, [120827] = { -- Iron Maiden, Chained itemPrice = 20000, itemDate = "2017-04-21", - }, - - - + }, + + + [134832] = { -- Basin of the Divines itemPrice = 35000, itemDate = "2018-04-14", - }, - [120823] = { -- Sigil Stand + }, + [120823] = { -- Sigil Stand itemPrice = 15000, itemDate = "2018-04-14", }, @@ -95,8 +95,8 @@ FurC.LuxuryFurnisher[FURC_DRAGONS] = { itemPrice = 20000, itemDate = "2018-04-14", }, - - + + [120823] = { -- Sigil Stand itemPrice = 15000, itemDate = "2018-04-07", @@ -121,7 +121,7 @@ FurC.LuxuryFurnisher[FURC_DRAGONS] = { itemPrice = 50000, itemDate = "2018-04-07", }, - + [134830] = { -- Flowers, Blue Starbloom itemPrice = 15000, itemDate = "2018-03-31", @@ -464,4 +464,5 @@ FurC.LuxuryFurnisher[FURC_CLOCKWORK] = { itemPrice = 50000, itemDate = "2017-10-27", }, -} \ No newline at end of file +} + diff --git a/data/MiscItemSources.lua b/data/MiscItemSources.lua index c34d648..f7c8ee0 100644 --- a/data/MiscItemSources.lua +++ b/data/MiscItemSources.lua @@ -3,8 +3,8 @@ local FURC_CANBEPICKED_WW = GetString(SI_FURC_CANBEPICKED) .. " from woodworkers" local FURC_CANBEPICKED_ASS = GetString(SI_FURC_CANBEPICKED) .. " from outlaws and assassins" local FURC_CANBEPICKED_GUARD = GetString(SI_FURC_CANBEPICKED) .. " from guards" - - + + local FURC_CANBESTOLENINCC = GetString(SI_FURC_CANBESTOLEN) .. " in Clockwork City" local FURC_CANBESTOLEN_SCHOLARS = GetString(SI_FURC_CANBESTOLEN) .. " from scholars" local FURC_CANBESTOLEN_NERDS = FURC_CANBESTOLEN_SCHOLARS .. " and mages" @@ -14,13 +14,13 @@ local FURC_CANBESTOLEN_WW = GetString(SI_FURC_CANBESTOLEN) .. " from woodwor local FURC_CANBESTOLEN_WROTHGAR = GetString(SI_FURC_CANBESTOLEN) .. " in Wrothgar" - + local FURC_AUTOMATON_CC = GetString(SI_FURC_AUTOMATON) .. " in Clockwork City" local FURC_AUTOMATON_VV = GetString(SI_FURC_AUTOMATON) .. " on Vvardenfell" - + local FURC_HARVEST_CHARBOR = GetString(SI_FURC_HARVEST) .. " in Coldharbour" -local FURC_SCAMBOX_F_ATRO = zo_strformat("<<1>> (<<2>>)", +local FURC_SCAMBOX_F_ATRO = zo_strformat("<<1>> (<<2>>)", GetString(SI_FURC_SCAMBOX), GetString(SI_FURC_FLAME_ATRONACH)) local FURC_DB_POISON = zo_strformat("<<1>> <<2>>", GetString(SI_FURC_DB), GetString(SI_FURC_DB_POISON)) @@ -28,13 +28,13 @@ local FURC_DB_SNEAKY = zo_strformat("<<1>> <<2>>", GetString(SI_FURC_DB), GetS local function getCrownStorePriceString(price) return string.format("%s (%u)", GetString(SI_FURC_CROWNSTORESOURCE), price) -end +end local function getScamboxString(scamboxVersion) return string.format("%s (%s)", GetString(SI_FURC_SCAMBOX), GetString(scamboxVersion)) end -FurC.MiscItemSources[FURC_DRAGONS] = { -- Reach +FurC.MiscItemSources[FURC_DRAGONS] = { -- Reach [FURC_DROP] = { [134909] = GetString(SI_FURC_DRAGON_DUNGEON_DROP), -- Mushrooms, Puspocket Group [134910] = GetString(SI_FURC_DRAGON_DUNGEON_DROP), -- Mushrooms, Puspocket Cluster @@ -52,29 +52,29 @@ FurC.MiscItemSources[FURC_DRAGONS] = { -- Reach [134872] = getCrownStorePriceString(400), -- Ancient Nord Brazier, Dragon Crest [134863] = getCrownStorePriceString(400), -- Ancient Nord Sconce, Dragon Crest [134972] = getCrownStorePriceString(400), -- Brotherhood Brazier, Wrought Iron - [134849] = getCrownStorePriceString(400), -- Monarch Butterfly Flock - [134848] = getCrownStorePriceString(400), -- Blue Butterfly Flock + [134849] = getCrownStorePriceString(400), -- Monarch Butterfly Flock + [134848] = getCrownStorePriceString(400), -- Blue Butterfly Flock [94100] = getCrownStorePriceString(50), -- Imperial BookCase, Swirled - [130211] = getCrownStorePriceString(50), -- Books, Ordered Row - [130210] = getCrownStorePriceString(50), -- Books, Scattered Row + [130211] = getCrownStorePriceString(50), -- Books, Ordered Row + [130210] = getCrownStorePriceString(50), -- Books, Scattered Row } } -FurC.MiscItemSources[FURC_CLOCKWORK] = { -- Reach - [FURC_DROP] = { +FurC.MiscItemSources[FURC_CLOCKWORK] = { -- Reach + [FURC_DROP] = { [134407] = FURC_AUTOMATON_CC, -- Factotum Torso, Obsolete [134404] = FURC_AUTOMATON_CC, -- Factotum Knee, Obsolete [134408] = FURC_AUTOMATON_CC, -- Factotum Elbow, Obsolete [134405] = FURC_AUTOMATON_CC, -- Factotum Arm, Obsolete [134409] = FURC_AUTOMATON_CC, -- Factotum Head, Obsolete - [134406] = FURC_AUTOMATON_CC, -- Factotum Body, Obsolete - + [134406] = FURC_AUTOMATON_CC, -- Factotum Body, Obsolete + }, [FURC_JUSTICE] = { [134410] = FURC_CANBESTOLENINCC, -- Clockwork Crank, Miniature [134411] = FURC_CANBESTOLENINCC, -- Clockwork Gear Shaft, Miniature [134412] = FURC_CANBESTOLENINCC, -- Clockwork Piston, Miniature - [134413] = FURC_CANBESTOLENINCC, -- Clockwork Magnifier, Handheld + [134413] = FURC_CANBESTOLENINCC, -- Clockwork Magnifier, Handheld [134414] = FURC_CANBESTOLENINCC, -- Clockwork Micrometer, Handheld [134415] = FURC_CANBESTOLENINCC, -- Clockwork Dial Calipers, Handheld [134416] = FURC_CANBESTOLENINCC, -- Clockwork Slide Calipers, Handheld @@ -87,14 +87,14 @@ FurC.MiscItemSources[FURC_CLOCKWORK] = { -- Reach }, [FURC_CROWN] = { [134266] = getCrownStorePriceString(80), -- Daedric Books, Stacked - [134265] = getCrownStorePriceString(80), -- Daedric Books, Piled - + [134265] = getCrownStorePriceString(80), -- Daedric Books, Piled + } } - -FurC.MiscItemSources[FURC_REACH] = { -- Reach + +FurC.MiscItemSources[FURC_REACH] = { -- Reach [FURC_JUSTICE] = { - [130191] = GetString(SI_FURC_CANBESTOLEN), -- Shivering Cheese + [130191] = GetString(SI_FURC_CANBESTOLEN), -- Shivering Cheese [118206] = FURC_CANBESTOLEN_THIEF, -- Gaming dice }, [FURC_CROWN] = { @@ -109,55 +109,55 @@ FurC.MiscItemSources[FURC_REACH] = { -- Reach [131420] = FURC_HARVEST_CHARBOR, -- Shrub, Glowing Thistle [130281] = FURC_HARVEST_CHARBOR, -- Glowstalk, Towering [130282] = FURC_HARVEST_CHARBOR, -- Glowstalk, Strong - + [130067] = GetString(SI_FURC_DAEDRA_SOURCE), -- Daedric Chain Segment }, } FurC.MiscItemSources[FURC_MORROWIND] = { -- Morrowind [FURC_DROP] = { - + -- Dwemer parts [126660] = FURC_AUTOMATON_VV, -- Dwemer Gear, Tiered [126659] = FURC_AUTOMATON_VV, -- Dwemer Gear, Flat - + -- lootable in tombs [126754] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Seeker - [126705] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Wisdom + [126705] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Wisdom [126704] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Majesty [126706] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Knowledge [126701] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Nerevar [126764] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Prowess - [126702] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Reverance - [126700] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Honor + [126702] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Reverance + [126700] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Honor [126703] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Mourning [126572] = GetString(SI_FURC_TOMBS), -- Velothi Shroud, Mysteries - + [126773] = GetString(SI_FURC_TOMBS), -- Velothi Caisson, Crypt [126753] = GetString(SI_FURC_TOMBS), -- Velothi Cerecloth, Austere [126758] = GetString(SI_FURC_TOMBS), -- Velothi Mat, Prayer - [126757] = GetString(SI_FURC_TOMBS), - - + [126757] = GetString(SI_FURC_TOMBS), + + [126462] = GetString(SI_FURC_DROP_CHEST_VVARDENFELL), -- Telvanni Painting, Oversized Volcanic [126463] = GetString(SI_FURC_DROP_CHEST_VVARDENFELL), -- Telvanni Painting, Oversized Forest [126464] = GetString(SI_FURC_DROP_CHEST_VVARDENFELL), -- Telvanni Painting, Oversized Valley - + [126465] = GetString(SI_FURC_DROP_CHEST_VVARDENFELL), -- Telvanni Painting, Modest Volcanic - [126466] = GetString(SI_FURC_DROP_CHEST_VVARDENFELL), -- Telvanni Painting, Modest Forest + [126466] = GetString(SI_FURC_DROP_CHEST_VVARDENFELL), -- Telvanni Painting, Modest Forest [126467] = GetString(SI_FURC_DROP_CHEST_VVARDENFELL), -- Telvanni Painting, Modest Valley - + [126468] = GetString(SI_FURC_DROP_CHEST_VVARDENFELL), -- Telvanni Painting, Classic Volcanic [126469] = GetString(SI_FURC_DROP_CHEST_VVARDENFELL), -- Telvanni Painting, Classic Forest [126470] = GetString(SI_FURC_DROP_CHEST_VVARDENFELL), -- Telvanni Painting, Classic Valley - - + + [126592] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Panels, Volcano [126593] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Tryptich, Volcano [126594] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Painting, Classic Volcano [126595] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Painting, Modest Volcano [126596] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Tapestry, Volcano [126597] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Painting, Oversized Volcano - + [126598] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Panels, Waterfall [126599] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Tryptich, Geyser [126600] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Tapestry, Geyser @@ -165,27 +165,27 @@ FurC.MiscItemSources[FURC_MORROWIND] = { -- Morrowind [126602] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Painting, Classic Geyser [126603] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Painting, Modest Geyser [126604] = GetString(SI_FURC_VVARDENFELL_PAINTING), -- Velothi Panels, Geyser - - + + -- Ashlander dailies [126119] = GetString(SI_FURC_DAILY_ASHLANDERS), -- Crimson Shard of Moonshadow [126393] = GetString(SI_FURC_DAILY_ASHLANDERS), -- Crimson Shard of Moonshadow - + -- drops from plants [125631] = GetString(SI_FURC_PLANTS), -- Plants, Ash Frond [125647] = GetString(SI_FURC_PLANTS), -- Plants, Ash Frond [131420] = GetString(SI_FURC_PLANTS), -- Plants, Ash Frond [125553] = GetString(SI_FURC_PLANTS), -- Flowers, Netch Cabbage Stalks [125551] = GetString(SI_FURC_PLANTS), -- Flowers, Netch Cabbage - [125552] = GetString(SI_FURC_PLANTS), -- Flowers, Netch Cabbage Patch + [125552] = GetString(SI_FURC_PLANTS), -- Flowers, Netch Cabbage Patch [125543] = GetString(SI_FURC_PLANTS), -- Fern, Ashen [125633] = GetString(SI_FURC_PLANTS), -- Plants, Hanging Pitcher Pair - + [130280] = GetString(SI_FURC_WW), -- Sapling, Petrified Ashen - - + + [126592] = GetString(SI_FURC_PLANTS), -- Plants, Hanging Pitcher Pair - + }, [FURC_CROWN] = { }, @@ -202,7 +202,7 @@ FurC.MiscItemSources[FURC_HOMESTEAD] = { [118487] = FURC_CANBESTOLEN_SCHOLARS, -- Letter, Personal [120008] = FURC_CANBESTOLEN_NERDS, -- Lesser Soul Gem, Empty [120005] = FURC_CANBESTOLEN_NERDS, -- Medium Soul Gem, Empty - + -- Bounty Sheets [118711] = FURC_CANBEPICKED_GUARD, -- Argonian Male [118709] = FURC_CANBEPICKED_GUARD, -- Breton Male @@ -213,49 +213,49 @@ FurC.MiscItemSources[FURC_HOMESTEAD] = { [118713] = FURC_CANBEPICKED_GUARD, -- Khajiiti Male [118716] = FURC_CANBEPICKED_GUARD, -- Orc Female [118717] = FURC_CANBEPICKED_GUARD, -- Orc Male - + [116512] = FURC_CANBESTOLEN_WROTHGAR, -- Orcish Carpet Blood - - - }, - [FURC_FISHING] = { - -- fishing + + + }, + [FURC_FISHING] = { + -- fishing [118902] = GetString(SI_FURC_CANBEFISHED), -- Coral, Sun [118903] = GetString(SI_FURC_CANBEFISHED), -- Coral, Crown [118896] = GetString(SI_FURC_CANBEFISHED), -- Seashell, Sandcake [118901] = GetString(SI_FURC_CANBEFISHED), -- Sea sponge [118338] = GetString(SI_FURC_CANBEFISHED), -- Fish, Bass - [118339] = GetString(SI_FURC_CANBEFISHED), -- Fish, Salmon + [118339] = GetString(SI_FURC_CANBEFISHED), -- Fish, Salmon [118337] = GetString(SI_FURC_CANBEFISHED), -- Fish, Trout - [120753] = GetString(SI_FURC_CANBEFISHED), -- Kelp, Green Pile - [120755] = GetString(SI_FURC_CANBEFISHED), -- Kelp, Lush Pile - [120754] = GetString(SI_FURC_CANBEFISHED), -- Kelp, Small Pile + [120753] = GetString(SI_FURC_CANBEFISHED), -- Kelp, Green Pile + [120755] = GetString(SI_FURC_CANBEFISHED), -- Kelp, Lush Pile + [120754] = GetString(SI_FURC_CANBEFISHED), -- Kelp, Small Pile [118897] = GetString(SI_FURC_CANBEFISHED), -- Seashell, Pink Scallop [118898] = GetString(SI_FURC_CANBEFISHED), -- Seashell, White Scallop [118899] = GetString(SI_FURC_CANBEFISHED), -- Seashell, Starfish [118900] = GetString(SI_FURC_CANBEFISHED), -- Seashell, Noble Starfish - - }, - [FURC_DROP] = { - [121058] = FURC_DB_SNEAKY, -- Candles of Silence - - [119936] = FURC_DB_POISON, -- Poisoned Blood - [119938] = FURC_DB_POISON, -- Light and Shadow + + }, + [FURC_DROP] = { + [121058] = FURC_DB_SNEAKY, -- Candles of Silence + + [119936] = FURC_DB_POISON, -- Poisoned Blood + [119938] = FURC_DB_POISON, -- Light and Shadow [119952] = FURC_DB_POISON, -- Sacrificial Heart - + -- Paintings [118216] = GetString(SI_FURC_CHESTS), -- Painting of Spring, Sturdy [118217] = GetString(SI_FURC_CHESTS), -- Painting of Pasture, Sturdy - [118218] = GetString(SI_FURC_CHESTS), -- Painting of Creek, Sturdy + [118218] = GetString(SI_FURC_CHESTS), -- Painting of Creek, Sturdy [118219] = GetString(SI_FURC_CHESTS), -- Painting of Lakes, Sturdy - [118220] = GetString(SI_FURC_CHESTS), -- Painting of Crags, Sturdy - [118221] = GetString(SI_FURC_CHESTS), -- Painting of Summer, Sturdy + [118220] = GetString(SI_FURC_CHESTS), -- Painting of Crags, Sturdy + [118221] = GetString(SI_FURC_CHESTS), -- Painting of Summer, Sturdy [118222] = GetString(SI_FURC_CHESTS), -- Painting of Jungle, Sturdy [118223] = GetString(SI_FURC_CHESTS), -- Painting of Palms, Sturdy - - - }, - [FURC_CROWN] = { + + + }, + [FURC_CROWN] = { [118096] = getCrownStorePriceString(10), -- Bread, Plain [118098] = getCrownStorePriceString(10), -- Common Bowl, Serving [118061] = getCrownStorePriceString(15), -- Chicken Dinner, Display @@ -263,29 +263,30 @@ FurC.MiscItemSources[FURC_HOMESTEAD] = { [118056] = getCrownStorePriceString(15), -- Common Stewpot, Hanging [118121] = getCrownStorePriceString(15), -- Knife, Carving [118066] = getCrownStorePriceString(15), -- Steak Dinner - + [118057] = getCrownStorePriceString(20), -- Sack of Beans [118060] = getCrownStorePriceString(20), -- Sack of Grain [118059] = getCrownStorePriceString(20), -- Sack of Millet, [118058] = getCrownStorePriceString(20), -- Sack of Rice - + [134473] = getScamboxString(SI_FURC_FLAME_ATRONACH), -- Malacath Banner - - + + [118064] = getCrownStorePriceString(45), -- Common Barrel, Dry [118065] = getCrownStorePriceString(45), -- Common Cargo Crate, Dry [118064] = getCrownStorePriceString(45), -- Common Barrel, Dry - + [118054] = getCrownStorePriceString(80), -- Common Firepit, Outdoor [118055] = getCrownStorePriceString(80), -- Common Firepit, Piled [118126] = getCrownStorePriceString(95), -- Plaque, Standard - + [118068] = getCrownStorePriceString(120), -- Simple Brown Banner [118069] = getCrownStorePriceString(120), -- Simple Gray Banner [118071] = getCrownStorePriceString(120), -- Simple Red Banner [118070] = getCrownStorePriceString(120), -- Simple Purple Banner - + [115698] = getCrownStorePriceString(1100), -- Khajiit Statue, Guardian } } + diff --git a/data/Morrowind/M_AchievementVendors.lua b/data/Morrowind/M_AchievementVendors.lua index 2839f0f..44c504d 100644 --- a/data/Morrowind/M_AchievementVendors.lua +++ b/data/Morrowind/M_AchievementVendors.lua @@ -1,20 +1,20 @@ --[[ - [""] = { -- + [""] = { -- itemPrice = 100, - }, -]] + }, +]] function tableMerge(t1, t2) - if nil == t2 and nil == t1 then - return {} + if nil == t2 and nil == t1 then + return {} elseif nil == t2 then return t1 elseif nil == t1 then return t2 - end - + end + for k,v in pairs(t2) do - t1[k] = v + t1[k] = v end return t1 end @@ -22,161 +22,161 @@ end local bookList = { -- [120197] = { -- 16 accords of madness, vol vi -- itemPrice = 500, - -- }, + -- }, } local boxes = {} local b2 = { [120998] = { -- Block,Wood Cutting itemPrice = 100, - }, + }, [117959] = { -- Rough Container, Shipping - itemPrice = 100, - }, + itemPrice = 100, + }, [117959] = { -- Rough Box, Slatted - itemPrice = 100, + itemPrice = 100, }, [117931] = { -- Rough Crate Lid - itemPrice = 100, + itemPrice = 100, }, [117957] = { -- Rough Crate, Cracked - itemPrice = 100, + itemPrice = 100, }, [117958] = { -- Rough Crate, Empty - itemPrice = 100, + itemPrice = 100, }, [117930] = { -- Rough Crate, Open - itemPrice = 100, - }, + itemPrice = 100, + }, [117953] = { -- Rough Crate, Sealed - itemPrice = 100, + itemPrice = 100, }, [117928] = { -- Rough Crate, Sturdy - itemPrice = 100, + itemPrice = 100, }, } -FurC.Books[FURC_MORROWIND] = bookList +FurC.Books[FURC_MORROWIND] = bookList FurC.AchievementVendors[FURC_MORROWIND] = { ["Vivec City, Saint Delyn Inn"] = { ["Drops-No-Glass"] = { [126638] = { -- Ashlander Altar, Anticipations - itemPrice = 50000, + itemPrice = 50000, achievement = 1825, -- Clanfriend - }, + }, [126640] = { -- Ashlander Fence, Totems - itemPrice = 10000, + itemPrice = 10000, achievement = 1881, -- Ashlander Relic Preserver - }, + }, [126613] = { -- Ashlander Throne - itemPrice = 100000, + itemPrice = 100000, achievement = 1849, -- Voices of the Failed Incarnates - }, + }, [126639] = { -- Ashlander Yurt, Netch-Hide - itemPrice = 75000, + itemPrice = 75000, achievement = 1880, -- Ashlands Stalker - }, + }, [126623] = { -- Banner of House Dres - itemPrice = 10000, + itemPrice = 10000, achievement = 1867, -- Morrowind Grand Adventurer - }, + }, [126621] = { -- Banner of House Hlaalu - itemPrice = 10000, + itemPrice = 10000, achievement = 1867, -- Morrowind Grand Adventurer - }, + }, [126620] = { -- Banner of House Redoran itemPrice = 10000, achievement = 1867, -- Morrowind Grand Adventurer - }, + }, [126622] = { -- Banner of House Telvanni - itemPrice = 10000, + itemPrice = 10000, achievement = 1867, -- Morrowind Grand Adventurer - }, + }, [126628] = { -- Banner, Morag Tong - itemPrice = 25000, + itemPrice = 25000, achievement = 1870, -- Naryu's Confidant - }, + }, [126615] = { -- Blessing Stone - itemPrice = 10000, + itemPrice = 10000, achievement = 1850, -- Bearer of the Blessed Staff - }, + }, [126614] = { -- Blessing Stone Device - itemPrice = 20000, + itemPrice = 20000, achievement = 1850, -- Bearer of the Blessed Staff - }, + }, [126618] = { -- Dwarven Brazier, Eternal - itemPrice = 50000, + itemPrice = 50000, achievement = 1854, -- N'chow conqueror - }, + }, [126632] = { -- Glass Crystal, Plume - itemPrice = 15000, + itemPrice = 15000, achievement = 1874, -- Pilgrim Protector - }, + }, [126631] = { -- Glass Crystal, Radiance - itemPrice = 15000, + itemPrice = 15000, achievement = 1874, -- Pilgrim Protector - }, + }, [126633] = { -- Glass Crystals, Bed - itemPrice = 20000, + itemPrice = 20000, achievement = 1874, -- Pilgrim Protector - }, + }, [126629] = { -- Kwama Queen Egg - itemPrice = 15000, + itemPrice = 15000, achievement = 1872, -- Kwama Miner - }, + }, [126630] = { -- Replica Stone of Ashalmwia - itemPrice = 75000, + itemPrice = 75000, achievement = 1873, -- Dratha Quest - }, + }, [126635] = { -- Sacred Guar Skull - itemPrice = 15000, + itemPrice = 15000, achievement = 1876, -- Ald'Ruhn Annalist - }, + }, [126642] = { -- Silt Strider Shell, Hollow itemPrice = 10000, achievement = 1826, -- Strider Carawaner - }, + }, [126617] = { -- Statue of Vivec the Champion - itemPrice = 150000, + itemPrice = 150000, achievement = 1852, -- Champion of Vivec - }, + }, [126636] = { -- Statue, Cowering Ebony - itemPrice = 50000, + itemPrice = 50000, achievement = 1877, -- Ebony Enforcer - }, + }, [126637] = { -- Statue, Terrified Ebony - itemPrice = 50000, + itemPrice = 50000, achievement = 1877, -- Ebony Enforcer - }, + }, [126616] = { -- Statuette of Clavicus Vile, Masked - itemPrice = 100000, + itemPrice = 100000, achievement = 1851, -- Hand of a Living God - }, + }, [126627] = { -- Tapestry, Morag Tong itemPrice = 35000, achievement = 1870, -- Naryu's Confidant - }, + }, [126634] = { -- Tapestry, St. Veloth itemPrice = 20000, - + achievement = 1875, -- Narsis's Apprentice - }, + }, [126626] = { -- Telvanni Device itemPrice = 50000, achievement = 1869, -- Telvanni quest - }, + }, [126792] = { -- Temple Doctrine: the 36 itemPrice = 130000, achievement = 1824, -- Tribunal Preacher - }, + }, [126619] = { -- Totem of the Sixth House itemPrice = 100000, achievement = 1856, -- Forgotten Wastes Vanquisher - }, + }, [126625] = { -- Tribunal Shrine in Fountain itemPrice = 50000, achievement = 1868, -- Savior of Morrowind - }, + }, [126641] = { -- Triptych of the Triune itemPrice = 20000, achievement = 1827, -- The Pilgrim's Path @@ -184,82 +184,82 @@ FurC.AchievementVendors[FURC_MORROWIND] = { }, ["Uzipa"] = { [120998] = { -- Block, Wood Cutting - itemPrice = 100, - }, + itemPrice = 100, + }, [125481] = { -- Boulder, Volcanic Column - itemPrice = 500, - }, + itemPrice = 500, + }, [125483] = { -- Boulder, Volcanic Plug - itemPrice = 500, - }, + itemPrice = 500, + }, [125587] = { -- Mushroom ,Funnel Caps - itemPrice = 15000, - }, + itemPrice = 15000, + }, [125588] = { -- Mushroom, Lanky Erupted Stinkcap - itemPrice = 750, - }, + itemPrice = 750, + }, [125593] = { -- Mushroom, Netch Shield Platform - itemPrice = 25000, - }, + itemPrice = 25000, + }, [125594] = { -- Mushroom, Netch Shield Tower - itemPrice = 20000, - }, - [125599] = { -- - itemPrice = 750, - }, - [125602] = { -- - itemPrice = 750, - }, - [125601] = { -- - itemPrice = 750, - }, - [125604] = { -- - itemPrice = 750, - }, + itemPrice = 20000, + }, + [125599] = { -- + itemPrice = 750, + }, + [125602] = { -- + itemPrice = 750, + }, + [125601] = { -- + itemPrice = 750, + }, + [125604] = { -- + itemPrice = 750, + }, [125612] = { -- Mushrooms, Funnel Cap Cluster - itemPrice = 22500, - }, + itemPrice = 22500, + }, [125614] = { -- Mushrooms, Netch Hide Shade - itemPrice = 750, - }, + itemPrice = 750, + }, [125638] = { -- Rock, Volcanic Chunk - itemPrice = 100, - }, + itemPrice = 100, + }, [125639] = { -- Rock, Volcanic Slab - itemPrice = 100, - }, + itemPrice = 100, + }, [125641] = { -- Sapling, Forked Ashland - itemPrice = 250, - }, + itemPrice = 250, + }, [125642] = { -- Sapling, Lanky Ash Laurel - itemPrice = 250, - }, + itemPrice = 250, + }, [125643] = { -- Sapling, Sturdy Ash Laurel - itemPrice = 250, - }, + itemPrice = 250, + }, [125644] = { -- Sapling, Tall Ashland - itemPrice = 250, - }, + itemPrice = 250, + }, [125645] = { -- Saplings, Ashland - itemPrice = 250, - }, + itemPrice = 250, + }, [125673] = { -- Tree, Lanky Poplar - itemPrice = 500, - }, + itemPrice = 500, + }, [125678] = { -- Tree, Sturdy Poplar - itemPrice = 500, - }, + itemPrice = 500, + }, [125679] = { -- Tree, Poplar Cluster - itemPrice = 500, - }, + itemPrice = 500, + }, [125677] = { -- Tree, Rooted Ashland - itemPrice = 40000, - }, + itemPrice = 40000, + }, [125676] = { -- Tree, Rooted Cedar - itemPrice = 50000, + itemPrice = 50000, }, - - }, + + }, }, ["Vivec City, Gladiator's Quarters"] = { ["Brelda Ofemalen"] = { @@ -274,20 +274,20 @@ FurC.AchievementVendors[FURC_MORROWIND] = { [126650] = { -- Banner of the SL itemPrice = 50000, achievement = 1909, -- Crowd Favorite - }, + }, [126646] = { -- Standard of the FD itemPrice = 25000, achievement = 1907, -- Grand Standard-Guardian - }, + }, [126648] = { -- Standard of the PD itemPrice = 25000, achievement = 1907, -- Grand Standard-Guardian - }, + }, [126647] = { -- Standard of the SL itemPrice = 25000, achievement = 1907, -- Grand Standard-Guardian }, - + [126713] = { -- Tapestry of the FD itemPrice = 100000, achievement = 1910, -- Conquering Hero @@ -298,7 +298,7 @@ FurC.AchievementVendors[FURC_MORROWIND] = { }, [126714] = { -- Tapestry of the SL itemPrice = 100000, - + achievement = 1910, -- Conquering Hero }, }, @@ -329,47 +329,46 @@ FurC.AchievementVendors[FURC_MORROWIND] = { }, }, }, - ["any Alliance Capital"] = { + ["any Alliance Capital"] = { [GetString(FURC_AV_HER)] = { [126720] = { -- Banner of Mayhem - itemPrice = 5000, + itemPrice = 5000, achievement = 1883, -- Mayhem Connaiseour }, [126721] = { -- Corpse of Mayhem, Argonian - itemPrice = 15000, + itemPrice = 15000, achievement = 1888, -- Wrath of the Whitestrake }, [126722] = { -- Corpse of Mayhem,Khajiit - itemPrice = 15000, + itemPrice = 15000, achievement = 1888, -- Wrath of the Whitestrake }, [126723] = { -- Corpse of Mayhem, Orc - itemPrice = 15000, + itemPrice = 15000, achievement = 1888, -- Wrath of the Whitestrake }, [126724] = { -- Propbably-Not-Punch Bowl of Mayhem - itemPrice = 30000, + itemPrice = 30000, achievement = 1892, -- Star-made Knight }, [126719] = { -- Standard of Mayhem - itemPrice = 2500, + itemPrice = 2500, achievement = 1883, -- Mayhem Connaiseour }, }, }, ["the Mages' guild"] = { ["the Mystic as part of a collection"] = bookList, - }, + }, } - - + + -- global function, needs to live here, YES MANA -function FurC.SetupMorrowindItems() - +function FurC.SetupMorrowindItems() + -- FurC.AchievementVendors[FURC_MORROWIND]["the Mages' guild"]["the Mystic as part of a collection"] = bookList local listTable listTable = FurC.AchievementVendors[FURC_MORROWIND]["Vivec City, Saint Delyn Inn"]["Uzipa"] listTable = tableMerge(listTable, boxes) - - end + diff --git a/data/Morrowind/M_EventItems.lua b/data/Morrowind/M_EventItems.lua index a2368d6..0ab989f 100644 --- a/data/Morrowind/M_EventItems.lua +++ b/data/Morrowind/M_EventItems.lua @@ -13,4 +13,5 @@ FurC.EventItems[FURC_MORROWIND] = FurC.EventItems[FURC_MORROWIND] or {} FurC.EventItems[FURC_MORROWIND]["Midyear Mayhem"] = {} FurC.EventItems[FURC_MORROWIND]["Midyear Mayhem"]["Boon Box"] = t -FurC.Books[FURC_MORROWIND] = t \ No newline at end of file +FurC.Books[FURC_MORROWIND] = t + diff --git a/data/Morrowind/M_LuxuryFurnisher.lua b/data/Morrowind/M_LuxuryFurnisher.lua index 20e3a8d..835951d 100644 --- a/data/Morrowind/M_LuxuryFurnisher.lua +++ b/data/Morrowind/M_LuxuryFurnisher.lua @@ -1,7 +1,7 @@ FurC.LuxuryFurnisher = FurC.LuxuryFurnisher or {} FurC.LuxuryFurnisher[FURC_MORROWIND] = { - + -- August 5+6 [126573] = { -- Velothi Candle, Mourning itemPrice = 5417, @@ -19,17 +19,17 @@ FurC.LuxuryFurnisher[FURC_MORROWIND] = { itemPrice = 10834, itemDate = "2017-08-11", }, - + -- August 5+6 [126611] = { -- Vvardenfell Anemone, Sprout itemPrice = 5417, itemDate = "2017-08-04", }, - [126612] = { -- Vvardenfell Anemone, Strong + [126612] = { -- Vvardenfell Anemone, Strong itemPrice = 27084, itemDate = "2017-08-04", }, - [126610] = { -- Vvardenfell Coral Plant, + [126610] = { -- Vvardenfell Coral Plant, itemPrice = 10834, itemDate = "2017-08-04", }, @@ -37,7 +37,7 @@ FurC.LuxuryFurnisher[FURC_MORROWIND] = { itemPrice = 5417, itemDate = "2017-08-04", }, - + --July 29 + 30 [126587] = { -- Vvardenfell Glowstalk, Sprout itemPrice = 2500, @@ -55,7 +55,7 @@ FurC.LuxuryFurnisher[FURC_MORROWIND] = { itemPrice = 5417, itemDate = "2017-07-28", }, - + -- July 22 - July 23 [126571] = { -- Daedric Chandelier, Spiked itemPrice = 8125, @@ -69,7 +69,7 @@ FurC.LuxuryFurnisher[FURC_MORROWIND] = { itemPrice = 0, itemDate = "2017-07-21", }, - + -- July 15 - July 16 [126567] = { -- Daedric Brazier, Ritual itemPrice = 10834, @@ -85,7 +85,7 @@ FurC.LuxuryFurnisher[FURC_MORROWIND] = { }, - -- July 8 - July 9 + -- July 8 - July 9 [126562] = { -- Dwarven Crystal Mechanism itemPrice = 53571, itemDate = "2017-07-07", @@ -100,7 +100,7 @@ FurC.LuxuryFurnisher[FURC_MORROWIND] = { }, - -- July 1st - 2nd + -- July 1st - 2nd [126560] = { -- Dwarven fountain, forged itemPrice = 53571, itemDate = "2017-06-30", @@ -113,9 +113,9 @@ FurC.LuxuryFurnisher[FURC_MORROWIND] = { itemPrice = 10834, itemDate = "2017-06-30", }, - - - -- June, 23 - 26 + + + -- June, 23 - 26 [121270] = { -- Brotherhood Banner, Large itemPrice = 27084, itemDate = "2017-06-23", @@ -132,24 +132,24 @@ FurC.LuxuryFurnisher[FURC_MORROWIND] = { itemPrice = 27084, itemDate = "2017-06-23", }, - + -- June, 16 - + [120837] = { -- Brotherhood Window, Stained Glass itemPrice = 107143, itemDate = "2017-06-16", }, - + [121271] = { -- Brotherhood Tapestry itemPrice = 10834, itemDate = "2017-06-16", }, - + [120835] = { -- Brotherhood Candelabra, Table itemPrice = 2500, itemDate = "2017-06-16", }, - + -- June, 9-11 [120808] = { -- Statue Base, Circular itemPrice = 10000, @@ -168,7 +168,7 @@ FurC.LuxuryFurnisher[FURC_MORROWIND] = { itemDate = "2017-06-09", }, - -- June, 3-5 + -- June, 3-5 [120809] = { -- Statue Base, Square itemPrice = 10000, itemDate = "2017-06-02", @@ -180,5 +180,6 @@ FurC.LuxuryFurnisher[FURC_MORROWIND] = { [120812] = { -- Statue, Light itemPrice = 25000, itemDate = "2017-06-02", - }, + }, } + diff --git a/data/Morrowind/M_Recipes.lua b/data/Morrowind/M_Recipes.lua index 25e7b4f..da3b1de 100644 --- a/data/Morrowind/M_Recipes.lua +++ b/data/Morrowind/M_Recipes.lua @@ -52,7 +52,7 @@ FurC.Recipes[FURC_MORROWIND] = { 121305, -- Redguard Chandelier, Dark 127068, -- Redoran Fork, Wooden 127072, -- Indoril Banner, Sotha Sil - 126983, -- Telvanni Nightstand, Organic + 126983, -- Telvanni Nightstand, Organic 126878, -- Dwarven Goblet, Forged 126886, -- Dwarven Valve, Disconnected 127048, -- Hlaalu Box, Trinket @@ -108,216 +108,216 @@ FurC.Recipes[FURC_MORROWIND] = { 127013, -- Redoran Incense Holder, Curved 126871, -- Dwarven Table, Refined 126867, -- Dwarven Bench, Forged - 126845, -- Indoril Lightpost, Stone - 126947, -- Hlaalu Sideboard, Scholar's - 126875, -- Dwarven Candles, Cup - 127078, -- Indoril Candle, Temple - 121177, -- Horn, Display, Huge - 121185, -- Durzog Head, Wall Mount - 127004, -- Dres Cup, Empty Greef - 121212, -- Orcish Effigy, Bear - 127102, -- Tribunal Tablet of Almalexia - 127101, -- Velothi Brazier, Temple - 126888, -- Dwarven Pot, Sealed - 127100, -- Telvanni Sconce, Organic Azure - 127061, -- Indoril Tapestry, Vivec - 121171, -- Rug, Bearskin - 127097, -- Telvanni Candelabra, Organic - 127096, -- Telvanni Lamp, Organic Azure - 127094, -- Hlaalu Lantern, Stationary - 127093, -- Hlaalu Lantern, Modest Vellum - 127089, -- Hlaalu Streetlight, Vellum - 127088, -- Hlaalu Sconce, Vellum - 127087, -- Indoril Streetlight, Brick - 127012, -- Indoril Platter, Floral - 126905, -- Hlaalu Cannister, Sealed Azurite + 126845, -- Indoril Lightpost, Stone + 126947, -- Hlaalu Sideboard, Scholar's + 126875, -- Dwarven Candles, Cup + 127078, -- Indoril Candle, Temple + 121177, -- Horn, Display, Huge + 121185, -- Durzog Head, Wall Mount + 127004, -- Dres Cup, Empty Greef + 121212, -- Orcish Effigy, Bear + 127102, -- Tribunal Tablet of Almalexia + 127101, -- Velothi Brazier, Temple + 126888, -- Dwarven Pot, Sealed + 127100, -- Telvanni Sconce, Organic Azure + 127061, -- Indoril Tapestry, Vivec + 121171, -- Rug, Bearskin + 127097, -- Telvanni Candelabra, Organic + 127096, -- Telvanni Lamp, Organic Azure + 127094, -- Hlaalu Lantern, Stationary + 127093, -- Hlaalu Lantern, Modest Vellum + 127089, -- Hlaalu Streetlight, Vellum + 127088, -- Hlaalu Sconce, Vellum + 127087, -- Indoril Streetlight, Brick + 127012, -- Indoril Platter, Floral + 126905, -- Hlaalu Cannister, Sealed Azurite 126946, -- Hlaalu Cabinet of drawers, Clerk - 121097, -- Plaque, Bordered Deer Antlers - 127086, -- Indoril Chandelier, Knotwork - 127085, -- Indoril Candelabra, Temple - 127083, -- Dres Candles, Meditation - 127081, -- Indoril Sconce, Temple + 121097, -- Plaque, Bordered Deer Antlers + 127086, -- Indoril Chandelier, Knotwork + 127085, -- Indoril Candelabra, Temple + 127083, -- Dres Candles, Meditation + 127081, -- Indoril Sconce, Temple 121190, -- Mantikora Head, Wall Mount - 127077, -- Indoril Brazier, Pedestal - 127076, -- Indoril Brazier, Kettle - 127071, -- Indoril Banner, Almalexia - 127070, -- Redoran Spoon, Wooden - 127069, -- Redoran Knife, Wooden - 127065, -- Hlaalu Vase, Gilded - 127064, -- Hlaalu Jar, Garden Moss - 127063, -- Redoran Urn, Imprinted Clay - 126976, -- Indoril Shelf, Long - 127008, -- Redoran Cup, Empty - 127062, -- Dres Teapot, Ceramic - 127060, -- Indoril Tapestry, Sotha Sil - 127058, -- Hlaalu Tapestry, Floral - 127057, -- Indoril Tapestry, Almalexia + 127077, -- Indoril Brazier, Pedestal + 127076, -- Indoril Brazier, Kettle + 127071, -- Indoril Banner, Almalexia + 127070, -- Redoran Spoon, Wooden + 127069, -- Redoran Knife, Wooden + 127065, -- Hlaalu Vase, Gilded + 127064, -- Hlaalu Jar, Garden Moss + 127063, -- Redoran Urn, Imprinted Clay + 126976, -- Indoril Shelf, Long + 127008, -- Redoran Cup, Empty + 127062, -- Dres Teapot, Ceramic + 127060, -- Indoril Tapestry, Sotha Sil + 127058, -- Hlaalu Tapestry, Floral + 127057, -- Indoril Tapestry, Almalexia 127055, -- Telvanni Table Runner, Bordered Azure - 127054, -- Redoran Table Runner, Gilded Ochre - 121194, -- Bottle, Poison - 126989, -- Telvanni Table, Organic Game - 127052, -- Telvanni Table Runner, Gilded Azure - 127050, -- Redoran Steamer, Iron - 127040, -- Indoril Carpet, Sotha Sil - 127049, -- Indoril Box, Trinket - 127047, -- Hlaalu Cannister, Trinket - 127032, -- Dres Carpet, Fertile Peat - 127046, -- Indoril Cannister, Trinket - 127045, -- Indoril Carpet, Grand Vivec - 127044, -- Indoril Carpet, Vivec - 127043, -- Indoril Rug, Vivec - 127042, -- Indoril Runner, Vivec - 127039, -- Indoril Rug, Sotha Sil - 127034, -- Redoran Carpet, Volcanic Sands - 127031, -- Hlaalu Carpet, Garden Moss - 127030, -- Redoran Carpet, Volcanic Ash - 127029, -- Indoril Carpet, Grand Almalexia - 127028, -- Indoril Carpet, Almalexia - 127025, -- Dres Pot, Sauce - 127024, -- Redoran Tray, Floral - 127021, -- Hlaalu Towels, Folded - 127020, -- Redoran Incense Pot, Beastly - 127017, -- Dres Censer, Chains - 127014, -- Redoran Incense Holder, Mesh - 127010, -- Dres Cup, Empty Mazte - 127007, -- Dres Cup, Sujamma - 127006, -- Dres Cup, Empty Sujamma - 127005, -- Dres Cup, Greef - 127003, -- Ashlander Cup, Mazte - 127002, -- Ashlander Cup, Empty - 127001, -- Dres Cannister, Portable - 127000, -- Dres Cauldron, Floral Banded - 126999, -- Ashlander Platter, Bread and Cheese - 126996, -- Dres Bowl, Empty - 126995, -- Redoran Bowl, Saltrice Mash - 126997, -- Dres Bowl, Saltrice Mash - 126993, -- Dres Bowl, Dinner - 126992, -- Dres Bowl, Serving + 127054, -- Redoran Table Runner, Gilded Ochre + 121194, -- Bottle, Poison + 126989, -- Telvanni Table, Organic Game + 127052, -- Telvanni Table Runner, Gilded Azure + 127050, -- Redoran Steamer, Iron + 127040, -- Indoril Carpet, Sotha Sil + 127049, -- Indoril Box, Trinket + 127047, -- Hlaalu Cannister, Trinket + 127032, -- Dres Carpet, Fertile Peat + 127046, -- Indoril Cannister, Trinket + 127045, -- Indoril Carpet, Grand Vivec + 127044, -- Indoril Carpet, Vivec + 127043, -- Indoril Rug, Vivec + 127042, -- Indoril Runner, Vivec + 127039, -- Indoril Rug, Sotha Sil + 127034, -- Redoran Carpet, Volcanic Sands + 127031, -- Hlaalu Carpet, Garden Moss + 127030, -- Redoran Carpet, Volcanic Ash + 127029, -- Indoril Carpet, Grand Almalexia + 127028, -- Indoril Carpet, Almalexia + 127025, -- Dres Pot, Sauce + 127024, -- Redoran Tray, Floral + 127021, -- Hlaalu Towels, Folded + 127020, -- Redoran Incense Pot, Beastly + 127017, -- Dres Censer, Chains + 127014, -- Redoran Incense Holder, Mesh + 127010, -- Dres Cup, Empty Mazte + 127007, -- Dres Cup, Sujamma + 127006, -- Dres Cup, Empty Sujamma + 127005, -- Dres Cup, Greef + 127003, -- Ashlander Cup, Mazte + 127002, -- Ashlander Cup, Empty + 127001, -- Dres Cannister, Portable + 127000, -- Dres Cauldron, Floral Banded + 126999, -- Ashlander Platter, Bread and Cheese + 126996, -- Dres Bowl, Empty + 126995, -- Redoran Bowl, Saltrice Mash + 126997, -- Dres Bowl, Saltrice Mash + 126993, -- Dres Bowl, Dinner + 126992, -- Dres Bowl, Serving 127053, -- Redoran Mantle Cloth, Crimson Coverle - 126987, -- Telvanni Shelves, Organic t - 126836, -- Daedric Bench, Ashen - 126952, -- Hlaalu End Table, Formal Turtle - 126984, -- Telvanni Desk, Organic - 121304, -- Redguard Chandelier, Grated - 126982, -- Telvanni Sofa, Organic - 126981, -- Telvanni Throne, Organic - 126980, -- Telvanni Armchair, Organic - 126979, -- Telvanni Chair, Organic - 126977, -- Hlaalu Dresser, Scroll Rack - 126974, -- Indoril Shelf, Block - 126973, -- Dres Shelf, Block - 126971, -- Hlaalu Footlocker, Secure - 126972, -- Hlaalu Chest, Secure - 126970, -- Redoran Table, Formal Turtle - 126969, -- Redoran Table, Formal Floral - 126967, -- Redoran Sideboard, Display - 126965, -- Indoril Cassone, Sealed - 126964, -- Indoril Vault, Sealed - 126961, -- Dres Divider, Honeycomb - 126959, -- Dres Divider, Screen - 126956, -- Hlaalu Mirror, Standing - 127036, -- Dres Runner, Chains - 126950, -- Indoril End Table, Rounded - 126949, -- Hlaalu Sideboard, Scribe's - 126946, -- Hlaalu Cabinet of Drawers, Clerk - 126945, -- Hlaalu Sideboard, Low Cabinet - 126943, -- Hlaalu Cupboard, Formal - 126939, -- Redoran Armchair, Sanded - 126936, -- Redoran Stool, Fungal Cushion - 126935, -- Hlaalu Dresser, Open - 126934, -- Hlaalu Cabinet, Open - 126933, -- Hlaalu Cupboard, Open - 126932, -- Hlaalu Bookcase, Empty - 126931, -- Redoran Bench, Sanded - 126930, -- Redoran Bench, Fungal Cushion - 126929, -- Redoran Settee, Sanded - 126928, -- Redoran Settee, Fungal Cushion - 126927, -- Redoran Bed, Single - 126926, -- Hlaalu Bed, Single - 126924, -- Redoran Bed, Double Pillow - 126922, -- Hlaalu Bed, Canopy - 126921, -- Hlaalu Bed, Double Pillow - 126920, -- Hlaalu Bed, Single Pillow - 126918, -- Hlaalu Table, Formal Floral - 126917, -- Dres Table, Kitchen - 126914, -- Hlaalu Chair, Polished - 126857, -- Dwarven Pipeline, Junction - 126911, -- Hlaalu Stool, Polished - 126909, -- Hlaalu Bench, Polished - 126906, -- Hlaalu Settee, Mossy Cushion - 126904, -- Redoran Urn, Dusky Marble - 126901, -- Hlaalu Amphora, Sealed Orichalcum - 126900, -- Hlaalu Jar, Sealed Malachite - 126873, -- Dwarven Bowl, Forged Serving - 126895, -- Dwarven Lantern, Oil - 126885, -- Dwarven Cannister, Sealed - 121191, -- Mantikora Horns, Wall Mount - 126883, -- Dwarven Platform, Steps - 126882, -- Dwarven Plate, Forged - 126880, -- Dwarven Amphora, Sealed - 126879, -- Dwarven Jug, Sealed - 121106, -- Common Cargo Crate, Dry - 121215, -- Redguard Canopy, Dusk - 126896, -- Dwarven Lamppost, Powered - 126859, -- Dwarven Pipeline, Column - 126858, -- Dwarven Pipeline, Full Column - 126912, -- Hlaalu Armchair, Mossy Cushion - 126855, -- Dwarven Pipe, Corner - 126853, -- Dwarven Pipe, Full Column - 126851, -- Dwarven Pipe, Quarter Column - 126849, -- Dwarven Pipe Cap, Bolted - 126842, -- Daedric Chandelier, Ritual - 126838, -- Daedric Base, Ashen - 126985, -- Telvanni End Table, Organic - 126835, -- Daedric Candles, Ritual Set - 121102, -- Chicken Dinner, Display + 126987, -- Telvanni Shelves, Organic t + 126836, -- Daedric Bench, Ashen + 126952, -- Hlaalu End Table, Formal Turtle + 126984, -- Telvanni Desk, Organic + 121304, -- Redguard Chandelier, Grated + 126982, -- Telvanni Sofa, Organic + 126981, -- Telvanni Throne, Organic + 126980, -- Telvanni Armchair, Organic + 126979, -- Telvanni Chair, Organic + 126977, -- Hlaalu Dresser, Scroll Rack + 126974, -- Indoril Shelf, Block + 126973, -- Dres Shelf, Block + 126971, -- Hlaalu Footlocker, Secure + 126972, -- Hlaalu Chest, Secure + 126970, -- Redoran Table, Formal Turtle + 126969, -- Redoran Table, Formal Floral + 126967, -- Redoran Sideboard, Display + 126965, -- Indoril Cassone, Sealed + 126964, -- Indoril Vault, Sealed + 126961, -- Dres Divider, Honeycomb + 126959, -- Dres Divider, Screen + 126956, -- Hlaalu Mirror, Standing + 127036, -- Dres Runner, Chains + 126950, -- Indoril End Table, Rounded + 126949, -- Hlaalu Sideboard, Scribe's + 126946, -- Hlaalu Cabinet of Drawers, Clerk + 126945, -- Hlaalu Sideboard, Low Cabinet + 126943, -- Hlaalu Cupboard, Formal + 126939, -- Redoran Armchair, Sanded + 126936, -- Redoran Stool, Fungal Cushion + 126935, -- Hlaalu Dresser, Open + 126934, -- Hlaalu Cabinet, Open + 126933, -- Hlaalu Cupboard, Open + 126932, -- Hlaalu Bookcase, Empty + 126931, -- Redoran Bench, Sanded + 126930, -- Redoran Bench, Fungal Cushion + 126929, -- Redoran Settee, Sanded + 126928, -- Redoran Settee, Fungal Cushion + 126927, -- Redoran Bed, Single + 126926, -- Hlaalu Bed, Single + 126924, -- Redoran Bed, Double Pillow + 126922, -- Hlaalu Bed, Canopy + 126921, -- Hlaalu Bed, Double Pillow + 126920, -- Hlaalu Bed, Single Pillow + 126918, -- Hlaalu Table, Formal Floral + 126917, -- Dres Table, Kitchen + 126914, -- Hlaalu Chair, Polished + 126857, -- Dwarven Pipeline, Junction + 126911, -- Hlaalu Stool, Polished + 126909, -- Hlaalu Bench, Polished + 126906, -- Hlaalu Settee, Mossy Cushion + 126904, -- Redoran Urn, Dusky Marble + 126901, -- Hlaalu Amphora, Sealed Orichalcum + 126900, -- Hlaalu Jar, Sealed Malachite + 126873, -- Dwarven Bowl, Forged Serving + 126895, -- Dwarven Lantern, Oil + 126885, -- Dwarven Cannister, Sealed + 121191, -- Mantikora Horns, Wall Mount + 126883, -- Dwarven Platform, Steps + 126882, -- Dwarven Plate, Forged + 126880, -- Dwarven Amphora, Sealed + 126879, -- Dwarven Jug, Sealed + 121106, -- Common Cargo Crate, Dry + 121215, -- Redguard Canopy, Dusk + 126896, -- Dwarven Lamppost, Powered + 126859, -- Dwarven Pipeline, Column + 126858, -- Dwarven Pipeline, Full Column + 126912, -- Hlaalu Armchair, Mossy Cushion + 126855, -- Dwarven Pipe, Corner + 126853, -- Dwarven Pipe, Full Column + 126851, -- Dwarven Pipe, Quarter Column + 126849, -- Dwarven Pipe Cap, Bolted + 126842, -- Daedric Chandelier, Ritual + 126838, -- Daedric Base, Ashen + 126985, -- Telvanni End Table, Organic + 126835, -- Daedric Candles, Ritual Set + 121102, -- Chicken Dinner, Display 126583, -- Target Centurion, Robust Refabricated - 126884, -- Dwarven Vessel, Sealed - 121189, -- Haj Mota Head, Wall Mount - 121188, -- Echatere Horns, Wall Mount - 121184, -- Antlers, Wall Mount - 127091, -- Hlaalu Lantern, Oversized Vellum - 121174, -- Sack of Grain - 127098, -- Telvanni Lantern, Organic Azure - 126839, -- Daedric Platform, Ashen - 127074, -- Indoril Brazier, Knotwork - 121107, -- Steak Dinner - 126876, -- Dwarven Candlestick, Orrery - 121105, -- Common Barrel, Dry - 121103, -- Chicken Meal, Display - 126944, -- Hlaalu Desk, Scholar's - 121098, -- Common Campfire, Outdoor - 127066, -- Redoran Jar, Jazbay - 126872, -- Dwarven Bowl, Forged - 126908, -- Hlaalu Bench, Mossy Cushion - 126868, -- Dwarven Bookcase, Full - 121366, -- Orcish Tapestry, Hunt - 126892, -- Dwarven Chandelier, Barred - 126948, -- Hlaalu Dresser, Scroll Drawers - 126864, -- Dwarven Engine, Switch - 126844, -- Daedric Pedestal, Ritual - 121157, -- Sack of Rice - 126960, -- Dres Divider, Chains - 127079, -- Indoril Candelabra, Temple Chamber - 121178, -- Horn, Display, Cracked - 127095, -- Hlaalu Lamp, Portable - 126940, -- Redoran Chair, Sanded - 126889, -- Dwarven Urn, Sealed - 126856, -- Dwarven Pipeline, Elbow - 127041, -- Indoril Carpet, Grand Sotha Sil - 126848, -- Dwarven Altar, Stairs - 127016, -- Dres Incense Stand, Chains - 127011, -- Dres Cup, Mazte - 127033, -- Hlaalu Mat, Welcoming - 126998, -- Ashlander Platter, Ceramic - 126986, -- Telvanni Bookcase, Organic - 126994, -- Redoran Bowl, Empty - 126990, -- Telvanni Table, Organic Grand - 126953, -- Hlaalu End Table, Formal Scales - 121211, -- Orcish Effigy, Mammoth - 126852, -- Dwarven Pipe, Half Column - 121205, -- Nord Drinking Horn, Display - 126957, -- Hlaalu Nightstand, Scholar's - 127037, -- Dres Rug, Chains - -} \ No newline at end of file + 126884, -- Dwarven Vessel, Sealed + 121189, -- Haj Mota Head, Wall Mount + 121188, -- Echatere Horns, Wall Mount + 121184, -- Antlers, Wall Mount + 127091, -- Hlaalu Lantern, Oversized Vellum + 121174, -- Sack of Grain + 127098, -- Telvanni Lantern, Organic Azure + 126839, -- Daedric Platform, Ashen + 127074, -- Indoril Brazier, Knotwork + 121107, -- Steak Dinner + 126876, -- Dwarven Candlestick, Orrery + 121105, -- Common Barrel, Dry + 121103, -- Chicken Meal, Display + 126944, -- Hlaalu Desk, Scholar's + 121098, -- Common Campfire, Outdoor + 127066, -- Redoran Jar, Jazbay + 126872, -- Dwarven Bowl, Forged + 126908, -- Hlaalu Bench, Mossy Cushion + 126868, -- Dwarven Bookcase, Full + 121366, -- Orcish Tapestry, Hunt + 126892, -- Dwarven Chandelier, Barred + 126948, -- Hlaalu Dresser, Scroll Drawers + 126864, -- Dwarven Engine, Switch + 126844, -- Daedric Pedestal, Ritual + 121157, -- Sack of Rice + 126960, -- Dres Divider, Chains + 127079, -- Indoril Candelabra, Temple Chamber + 121178, -- Horn, Display, Cracked + 127095, -- Hlaalu Lamp, Portable + 126940, -- Redoran Chair, Sanded + 126889, -- Dwarven Urn, Sealed + 126856, -- Dwarven Pipeline, Elbow + 127041, -- Indoril Carpet, Grand Sotha Sil + 126848, -- Dwarven Altar, Stairs + 127016, -- Dres Incense Stand, Chains + 127011, -- Dres Cup, Mazte + 127033, -- Hlaalu Mat, Welcoming + 126998, -- Ashlander Platter, Ceramic + 126986, -- Telvanni Bookcase, Organic + 126994, -- Redoran Bowl, Empty + 126990, -- Telvanni Table, Organic Grand + 126953, -- Hlaalu End Table, Formal Scales + 121211, -- Orcish Effigy, Mammoth + 126852, -- Dwarven Pipe, Half Column + 121205, -- Nord Drinking Horn, Display + 126957, -- Hlaalu Nightstand, Scholar's + 127037, -- Dres Rug, Chains +} + diff --git a/data/Reach/HotR_AchievementVendors.lua b/data/Reach/HotR_AchievementVendors.lua index 5c9d5c9..c387029 100644 --- a/data/Reach/HotR_AchievementVendors.lua +++ b/data/Reach/HotR_AchievementVendors.lua @@ -2,34 +2,34 @@ FurC.AchievementVendors[FURC_REACH] = { ["Coldharbour, Cicero's General Goods"] = { [GetString(FURC_AV_KRR)] = { [130273] = { -- Boulder, Coldharbour Fan - itemPrice = 5000, + itemPrice = 5000, }, [130274] = { -- Boulder, Coldharbour Shard - itemPrice = 5000, + itemPrice = 5000, }, [130275] = { -- Boulder, Coldharbour Spikes - itemPrice = 5000, + itemPrice = 5000, }, [130276] = { -- Boulder, Coldharbour Spikes - itemPrice = 250, + itemPrice = 250, }, [131421] = { -- Sapling, Withered Thicket - itemPrice = 250, + itemPrice = 250, }, [130279] = { -- Tree, Petrified AShen - itemPrice = 2500, + itemPrice = 2500, }, [130278] = { -- Tree, Strong Withered - itemPrice = 5000, + itemPrice = 5000, }, [130277] = { -- Tree, Towering Withered - itemPrice = 5000, + itemPrice = 5000, }, } }, ["Glenumbra, Daggerfall, The Rosy Lion"] = { [GetString(FURC_AV_ROH)] = { - + [120706] = { -- Boulder, Giant Mossy itemPrice = 100, }, @@ -81,143 +81,143 @@ FurC.AchievementVendors[FURC_REACH] = { [130314] = { -- Tree, Withering Marsh itemPrice = 2500, }, - + }, }, ["the Undaunted Enclaves"] = { ["Undaunted Quartermaster"] = { [131428] = { -- Horn of the Reachclans - itemPrice = 50000, + itemPrice = 50000, }, [131429] = { -- Vine, Bloodroot Wiggler - itemPrice = 5000, + itemPrice = 5000, }, [131432] = { -- Vine, Bloodroot Stem - itemPrice = 5000, + itemPrice = 5000, }, [131430] = { -- Vine, Bloodroot Mangler - itemPrice = 5000, + itemPrice = 5000, }, [131431] = { -- Vine, Bloodroot Grasper - itemPrice = 5000, + itemPrice = 5000, }, - + }, }, ["Eastmarch"] = { [GetString(FURC_AV_FRO)] = { [132215] = { -- Boulder, Granite Cap - itemPrice = 1000, + itemPrice = 1000, }, [132213] = { -- Boulder, Granite Chunk - itemPrice = 1000, + itemPrice = 1000, }, [132214] = { -- Boulder, Granite Slab - itemPrice = 1000, + itemPrice = 1000, }, [132217] = { -- Rock, Granite Chunk - itemPrice = 5000, + itemPrice = 5000, }, [132209] = { -- Sapling, Foothills Pine - itemPrice = 250, + itemPrice = 250, }, [132212] = { -- Shrub, Mountain Thistle - itemPrice = 250, + itemPrice = 250, }, [132220] = { -- Stones, Granite Cluster - itemPrice = 250, + itemPrice = 250, }, [132219] = { -- Stones, Granite Group - itemPrice = 250, + itemPrice = 250, }, [132218] = { -- Stones, Granite Pair - itemPrice = 250, + itemPrice = 250, }, [132210] = { -- Tree, Ancient Cedar - itemPrice = 2500, + itemPrice = 2500, }, [132207] = { -- Tree, Ancient Mountain Pine - itemPrice = 1000, + itemPrice = 1000, }, [132208] = { -- Tree, Foothills Pine - itemPrice = 1000, + itemPrice = 1000, }, [132205] = { -- Tree, Hardy Cedar - itemPrice = 250, + itemPrice = 250, }, [132206] = { -- Tree, Towering Mountain Pine - itemPrice = 1000, + itemPrice = 1000, }, - + }, }, ["Auridon, Skywatch"] = { [GetString(FURC_AV_MAL)] = { [120652] = { -- Boulder, Flat Lichen - itemPrice = 100, - }, + itemPrice = 100, + }, [120651] = { -- Boulder, Grey Saddle - itemPrice = 100, - }, + itemPrice = 100, + }, [120648] = { -- Boulder, Lichen Covered - itemPrice = 100, + itemPrice = 100, }, - + [120672] = { -- Hedge, Green Short - itemPrice = 1000, - }, + itemPrice = 1000, + }, [120673] = { -- Hedge, Long Horseshoe - itemPrice = 2500, - }, + itemPrice = 2500, + }, [120671] = { -- Hedge, Small Horseshoe - itemPrice = 1250, - }, + itemPrice = 1250, + }, [120674] = { -- Hedge, Tall Green - itemPrice = 1250, - }, + itemPrice = 1250, + }, [121005] = { -- Hedge, Wall Arc - itemPrice = 3000, + itemPrice = 3000, }, - + [120653] = { -- Rock, Slanted Lichen - itemPrice = 100, - }, + itemPrice = 100, + }, [120655] = { -- Stone, Slanted Lichen - itemPrice = 100, - }, + itemPrice = 100, + }, [120654] = { -- Stone, Slanted Rough - itemPrice = 100, - }, + itemPrice = 100, + }, [120656] = { -- Stones, Gray Mossy - itemPrice = 100, - }, + itemPrice = 100, + }, [120675] = { -- Topiary, Manicured Evergreen - itemPrice = 2000, + itemPrice = 2000, }, [120676] = { -- Topiary, Pruned Evergreen - itemPrice = 1000, + itemPrice = 1000, }, - - [120670] = { -- Tree, Sturdy Jungle - itemPrice = 250, + + [120670] = { -- Tree, Sturdy Jungle + itemPrice = 250, }, [120664] = { -- Tree, Tiered Light Cherry - itemPrice = 15000, + itemPrice = 15000, }, [120665] = { -- Tree, Tiered Pink Cherry - itemPrice = 15000, - }, + itemPrice = 15000, + }, [120666] = { -- Tree, Tiered White Cherry - itemPrice = 25000, - }, + itemPrice = 25000, + }, [120657] = { -- Tree, twisted Pink cherry - itemPrice = 15000, - }, + itemPrice = 15000, + }, [120667] = { -- Tree, twisted white cherry - itemPrice = 12000, - }, + itemPrice = 12000, + }, [120659] = { -- Trees, Crooked Swamp - itemPrice = 100, + itemPrice = 100, }, [120668] = { -- Tree, Squat Pink Cherry itemPrice = 10000, @@ -225,31 +225,29 @@ FurC.AchievementVendors[FURC_REACH] = { [120669] = { -- Tree, Squat White Cherry itemPrice = 10000, }, - + }, - + } - + } function tableMerge(t1, t2) - if nil == t2 and nil == t1 then - return {} + if nil == t2 and nil == t1 then + return {} elseif nil == t2 then return t1 elseif nil == t1 then return t2 - end - + end + for k,v in pairs(t2) do - t1[k] = v + t1[k] = v end return t1 end - + -- global function, needs to live here, YES MANA function FurC.SetupReachItems() - - end diff --git a/data/Reach/HotR_LuxuryFurnisher.lua b/data/Reach/HotR_LuxuryFurnisher.lua index b87d31f..4fe627b 100644 --- a/data/Reach/HotR_LuxuryFurnisher.lua +++ b/data/Reach/HotR_LuxuryFurnisher.lua @@ -6,81 +6,81 @@ FurC.LuxuryFurnisher[FURC_REACH] = { [132155] = { -- Witch's Torch, Wretched itemPrice = 5000, itemDate = "2017-10-20", - }, + }, [132154] = { -- Witch's Totem, Bog itemPrice = 50000, itemDate = "2017-10-20", - }, + }, [132153] = { -- Witch's Tree, Captive itemPrice = 35000, itemDate = "2017-10-20", - }, - + }, + -- Oct. 14 [119977] = { -- Orcish War Totem itemPrice = 5000, itemDate = "2017-10-13", - }, + }, [119978] = { -- Orcish Battle Totem itemPrice = 7500, itemDate = "2017-10-13", - }, + }, [119980] = { -- Orchish Totem itemPrice = 10000, itemDate = "2017-10-13", - }, - + }, + -- Oct. 7 [132145] = { -- Orsinium Tent, Chief’s itemPrice = 5000, itemDate = "2017-10-06", - }, + }, [132146] = { -- Orsinium Relief, Malacath itemPrice = 25000, itemDate = "2017-10-06", - }, + }, [132148] = { -- Orsinium Statue, Head itemPrice = 25000, itemDate = "2017-10-06", - }, + }, [132147] = { -- Orsinium Statue, Honor’s Rest itemPrice = 25000, itemDate = "2017-10-06", - }, - + }, + -- Sept. 30 [132144] = { -- Reach Briarheart, Blood Red itemPrice = 15000, itemDate = "2017-09-29", - }, + }, [132141] = { -- Reach Skull, Mammoth itemPrice = 50000, itemDate = "2017-09-29", - }, + }, [132142] = { -- Reach Tent, Camp itemPrice = 2500, itemDate = "2017-09-29", }, - - + + -- Sept. 23rd [131435] = { -- Reach Bowl, Nirncrux itemPrice = 5000, itemDate = "2017-09-22", - }, + }, [131438] = { -- Reach Grinder, Nirncrux itemPrice = 50000, itemDate = "2017-09-22", - }, + }, [131436] = { -- Reach Vine, Bloodroot Sprout itemPrice = 15000, itemDate = "2017-09-22", - }, + }, [131437] = { -- Reach Vine, Bloodroot Tendril itemPrice = 20000, itemDate = "2017-09-22", - }, - + }, + -- Craglorn items [120844] = { -- Craglorn Brazier, Ornate itemPrice = 15000, @@ -89,17 +89,17 @@ FurC.LuxuryFurnisher[FURC_REACH] = { [120843] = { -- Craglorn Skull, Carved itemPrice = 35000, itemDate = "2017-09-15, 2017-04-28", - }, + }, [120845] = { -- Craglorn Sword Sconce itemPrice = 5000, itemDate = "2017-09-15, 2017-04-28", - }, - - + }, + + [120842] = { -- Craglorn Chair, Serpent itemPrice = 2500, itemDate = "2017-09-08, 2017-04-21", - }, + }, [120841] = { -- Craglorn Urn, Standing itemPrice = 7500, itemDate = "2017-09-08, 2017-04-21", @@ -108,59 +108,58 @@ FurC.LuxuryFurnisher[FURC_REACH] = { itemPrice = 5000, itemDate = "2017-09-08, 2017-04-21", }, - - + + -- Sept. 2nd + 3rd [120832] = { -- Blue Crystal Spire itemPrice = 12000, itemDate = "2017-09-01", - }, + }, [120834] = { -- Blue Flame Brazier itemPrice = 5000, itemDate = "2017-09-01", - }, + }, [121272] = { -- Great Soul Gem itemPrice = 20000, itemDate = "2017-09-01", - }, - - + }, + + -- Aug 26+27 [120831] = { -- Blue Crystal Cluster itemPrice = 10834, itemDate = "2017-08-25", - }, + }, [120833] = { -- Blue Crystal Fragments itemPrice = 8125, itemDate = "2017-08-25", - }, + }, [120830] = { -- Blue Flame Candles itemPrice = 2500, itemDate = "2017-08-25", - }, + }, [121273] = { -- Soul Gem, Grand itemPrice = 5417, itemDate = "2017-08-25", - }, - + }, + -- August 19-20 [126579] = { -- Velothi Altar, Sacrificial itemPrice = 10834, itemDate = "2017-08-18", - }, + }, [126576] = { -- Velothi Kneeler, Prayer itemPrice = 3000, itemDate = "2017-08-18", }, - + [126577] = { -- Velothi Podium of Recitation itemPrice = 37500, itemDate = "2017-08-18", }, - + [126578] = { -- Velothi Burial Urn itemPrice = 10834, itemDate = "2017-08-18", }, - } diff --git a/data/Reach/HotR_Recipes.lua b/data/Reach/HotR_Recipes.lua index 181ac32..5ea7019 100644 --- a/data/Reach/HotR_Recipes.lua +++ b/data/Reach/HotR_Recipes.lua @@ -1,5 +1,5 @@ FurC.Recipes = FurC.Recipes or {} -FurC.Recipes[FURC_REACH] = { +FurC.Recipes[FURC_REACH] = { 132179, 132168, 132178, @@ -30,8 +30,8 @@ FurC.Recipes[FURC_REACH] = { 132174, 132172, 132171, - - + + -- witches festival ayleid stuff 132342, -- Ayleid Table, Carved 132343, -- Ayleid Bench, Carved @@ -39,11 +39,10 @@ FurC.Recipes[FURC_REACH] = { 132187, -- Ayleid Bookcase, Cluttered 132188, -- Ayleid Bookshelf, Cluttered 132189, -- Ayleid Brazier, Fiery - + -- witches festival 132167, -- Praxis, Hagraven Cauldron, Rough Stone 132196, -- Pattern: Witches Corpse, Wrapped", 132173, -- Blueprint: Witches Brazier, Primitive Log", 132179, -- Blueprint: Witches Totem, Antler Charms", - } diff --git a/data/Reach/HotR_Rollis.lua b/data/Reach/HotR_Rollis.lua index 5f1caaa..23de1e4 100644 --- a/data/Reach/HotR_Rollis.lua +++ b/data/Reach/HotR_Rollis.lua @@ -7,4 +7,4 @@ FurC.Rollis_Recipes[FURC_REACH] = { [132190] = true, -- Mages Apparatus, Master [132192] = true, -- Dres Sewing Kit [132193] = true, -- Hlaalu Bathtub, Masterwork -} \ No newline at end of file +} diff --git a/data/RecipeSources.lua b/data/RecipeSources.lua index 5175713..6897a33 100644 --- a/data/RecipeSources.lua +++ b/data/RecipeSources.lua @@ -4,7 +4,7 @@ local goldColor = "e5da40" local apColor = "25C31E" local tvColor = "5EA4FF" local voucherColor = "82BCFF" -local p = FurC.DebugOut -- debug function calling zo_strformat with up to 10 args +local p = FurC.DebugOut -- debug function calling zo_strformat with up to 10 args local function colorise(str, col, ret) str = tostring(str) @@ -20,9 +20,9 @@ end local function soldBy(vendorName, locationName, price, requirement) return zo_strformat( - GetString(SI_FURC_STRING_VENDOR), - colorise(vendorName, vendorColor, stripColor), - colorise(locationName, vendorColor, stripColor), + GetString(SI_FURC_STRING_VENDOR), + colorise(vendorName, vendorColor, stripColor), + colorise(locationName, vendorColor, stripColor), colorise(price, goldColor, stripColor), requirement ) @@ -32,15 +32,15 @@ end local artaeum = GetString(FURC_AV_ARTAEUM) local nalirsewen = GetString(FURC_AV_NAL) -FurC.RecipeSources = { +FurC.RecipeSources = { [139489] = soldBy(nalirsewen, artaeum, 5000, rank(2)), -- Blueprint: Psijic Chair, Arched - [139490] = soldBy(nalirsewen, artaeum, 10000, rank(3)), -- Blueprint: Psijic Table, Small + [139490] = soldBy(nalirsewen, artaeum, 10000, rank(3)), -- Blueprint: Psijic Table, Small [139493] = soldBy(nalirsewen, artaeum, 10000, rank(6)), -- Blueprint: Psijic Banner [139496] = soldBy(nalirsewen, artaeum, 20000, rank(9)), -- Blueprint: Psijic Banner, Large [139487] = soldBy(nalirsewen, artaeum, 5000, rank(1)), -- Praxis: Book Row, Levitating - [139488] = soldBy(nalirsewen, artaeum, 5000, rank(1)), -- Praxis: Book Stack, Levitating + [139488] = soldBy(nalirsewen, artaeum, 5000, rank(1)), -- Praxis: Book Stack, Levitating [139495] = soldBy(nalirsewen, artaeum, 20000, rank(8)), -- Praxis: Psijic Lighting Globe, Large - [139491] = soldBy(nalirsewen, artaeum, 10000, rank(4)), -- Praxis: Psijic Lighting Globe, Small + [139491] = soldBy(nalirsewen, artaeum, 10000, rank(4)), -- Praxis: Psijic Lighting Globe, Small [139497] = soldBy(nalirsewen, artaeum, 100000, rank(10)), -- Praxis: Psijic Table, Grand [139492] = soldBy(nalirsewen, artaeum, 20000, rank(5)), -- Praxis: Psijic Table, Scalloped [139494] = soldBy(nalirsewen, artaeum, 20000, rank(7)), -- Praxis: Psijic Table, Six-Fold Symmetry @@ -79,13 +79,14 @@ local faustinaRecipes = { [121207] = 100, -- Praxis: Orcish Table with Fur } -for itemId, itemPrice in pairs(rolisRecipes) do +for itemId, itemPrice in pairs(rolisRecipes) do local priceString = zo_strformat(GetString(SI_FURC_STRING_FOR_VOUCHERS), itemPrice, voucherColor) FurC.RecipeSources[itemId] = zo_strformat(GetString(SI_FURC_STRING_ROLLIS), priceString) end local unsurpassedCrafter = GetAchievementLink(1801) -for itemId, itemPrice in pairs(faustinaRecipes) do +for itemId, itemPrice in pairs(faustinaRecipes) do local priceString = zo_strformat(GetString(SI_FURC_STRING_FOR_VOUCHERS), itemPrice, voucherColor) local soldByFaustinaFor = zo_strformat(GetString(SI_FURC_STRING_FAUSTINA), priceString) FurC.RecipeSources[itemId] = soldByFaustinaFor .. requires .. unsurpassedCrafter -end \ No newline at end of file +end + diff --git a/data/Recipes.lua b/data/Recipes.lua index cfacaf5..7985b07 100644 --- a/data/Recipes.lua +++ b/data/Recipes.lua @@ -1,13 +1,13 @@ FurC.Recipes = FurC.Recipes or {} -FurC.Recipes[FURC_DRAGONS] = { +FurC.Recipes[FURC_DRAGONS] = { 127101, -- Velothi Brazier, Temple - talked to a Russian who sold it - 127102, -- Praxis: Tribunal Tablet of Almalexia, comfirmed by Almariel + 127102, -- Praxis: Tribunal Tablet of Almalexia, comfirmed by Almariel 134999, -- Praxis: Table, Blackmarrow Slab, drops in Fang Lair 127054, -- Pattern: Redoran Table Runner, Gilded Ochre 134998, -- Pattern: Jester's Pavillon, Open } -FurC.Recipes[FURC_CLOCKWORK] = { +FurC.Recipes[FURC_CLOCKWORK] = { 134527, -- Design: Clockwork Meal, Dish 134512, -- Diagram: Clockwork Table, Octagonal 134478, -- Formula: Fabricant Saplings, Electrum @@ -77,4 +77,5 @@ FurC.Recipes[FURC_CLOCKWORK] = { 134501, -- Diagram: Clockwork Somnolostation 134480, -- Formula: Fabricant Tree, Vibrant Cherry Blossom 134498, -- Praxis: Clockwork Control Panel, Single -} \ No newline at end of file +} + diff --git a/data/Rollis.lua b/data/Rollis.lua index 19d006c..3dce5ee 100644 --- a/data/Rollis.lua +++ b/data/Rollis.lua @@ -4,7 +4,7 @@ FurC.Faustina = FurC.Faustina or {} FurC.Rollis_Recipes[FURC_CLOCKWORK] = { - [133576] = 50, + [133576] = 50, } FurC.FaustinaRecipes[FURC_DRAGONS] = { @@ -17,7 +17,7 @@ FurC.FaustinaRecipes[FURC_DRAGONS] = { 121165, -- Apparatus, Gem Caliper 121197, -- Bottle, Poison Elixir 121164, -- Case of Vials - 121209, -- Orcish Tapestry, Spear + 121209, -- Orcish Tapestry, Spear 132194, -- Mammoth Cheese 132191, -- Dwarven Gyroscope, Masterwork 132190, -- Mages' Apparatus, Master @@ -36,8 +36,9 @@ FurC.Rolis[FURC_DRAGONS] = { 134984, 134985, 134986, - 134987, + 134987, } FurC.Rollis_Recipes[FURC_DRAGONS] = { - [133576] = 50, -} \ No newline at end of file + [133576] = 50, +} + diff --git a/data/RumourRecipes.lua b/data/RumourRecipes.lua index f8169ac..e026675 100644 --- a/data/RumourRecipes.lua +++ b/data/RumourRecipes.lua @@ -1,8 +1,8 @@ -FurC.RumourRecipes = { +FurC.RumourRecipes = { 118290, -- Antlers, Wall Mount 118299, -- Bottle, Beaker 118300, -- Bottle, Poison - + 118291, -- Durzog Head, Wall Mount 118294, -- Echatere Horns, Wall Mount 118293, -- Echatere, Wall Mount @@ -10,58 +10,59 @@ FurC.RumourRecipes = { 118289, -- Haj Mota Shell, Wall Mount 118284, -- Horn, Display, Cracked 118283, -- Horn, Display, Huge - + 118296, -- Mantikora Head, Wall Mount - 118297, -- Mantikora Horns, Wall Mount - 118242, -- Rug, Bearskin - - 121208, -- Recipe: Orcish Table with Fur_S_ + 118297, -- Mantikora Horns, Wall Mount + 118242, -- Rug, Bearskin + + 121208, -- Recipe: Orcish Table with Fur_S_ 121210, -- Recipe: Orcish Throne, Skull - 121212, -- Recipe: Orcish Effigy, Bear + 121212, -- Recipe: Orcish Effigy, Bear 121213, -- Recipe: Orcish Skull Goblet, Empty - - 116473, -- Orcish Effigy, Mammoth - 116474, -- Orcish Effigy, Bear + + 116473, -- Orcish Effigy, Mammoth + 116474, -- Orcish Effigy, Bear 116433, -- Orcish Table with Fur_S - + 118065, -- Common Cargo Crate, Dry 118054, -- Common Firepit, Outdoor 118055, -- Common Firepit, Piled - + 118000, -- Garlic String, Display - + 118119, -- Minecart, Empty 118120, -- Minecart, Push - 117991, -- Stool, Carved + 117991, -- Stool, Carved 118278, -- Plaque, Bordered Deer Antlers 132199, -- Telvanni Tower, Miniature -- 132197, -- Death Skeleton, Shrouded 121198, -- Shelf, Poison 118304, -- Shelf, Poison - + 119441, -- Steak, Display 119442, -- Teapot, Common - + 119454, -- Plaque, Large 119455, -- Plaque, Standard - + 119466, -- Podium, Engraved - + 119437, -- Pie, Display - + 121161, -- Ram Horns, Mounted 121216, -- Redguard Divider, Gilded - + 118118, -- Candles, Lasting 115395, -- Nord Drinking Horn, Display 121203, -- Khajiit Brazier, Enchanted - - + + 121217, -- Redguard Lamp, Oil - 121215, -- Redguard Canopy, Dusk - - + 121215, -- Redguard Canopy, Dusk + + 119426, -- Bread, Plain - 121102, -- Chicken Dinner, Display + 121102, -- Chicken Dinner, Display 121103, -- Chicken Meal, Display -} \ No newline at end of file +} + diff --git a/locale/en.lua b/locale/en.lua index 8d64897..a25e504 100644 --- a/locale/en.lua +++ b/locale/en.lua @@ -3,7 +3,7 @@ local strings = { FURC_AV_RAZ = "Razoufa", FURC_AV_MUL = "Mulvise Valyn", - + FURC_AV_NAR = "Narwaawende", FURC_AV_ALI = "Alinor, Riverside Market", FURC_AV_UNW = "Unwotil", @@ -27,13 +27,13 @@ local strings = { FURC_AV_BSM = "blacksmiths", FURC_AV_ARTAEUM = "Artaeum", - - + + -- Furniture Shopping List SI_FURC_ONE_TO_SHOPPINGLIST = "Add 1 to shopping list", SI_FURC_FIVE_TO_SHOPPINGLIST = "Add 5 to shopping list", SI_FURC_TOGGLE_SHOPPINGLIST = " Toggle shopping list", - + -- GUI and debug SI_FURC_MENU_HEADER = "- |cD3B830Furniture|r:", SI_FURC_REMOVE_FAVE = " Remove Favorite", @@ -69,13 +69,13 @@ local strings = { SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rolis Hlaalu|r <<1>>", SI_FURC_STRING_FAUSTINA = "Sold by |cd68957Faustina Curio|r <<1>>", SI_FURC_STRING_FOR_VOUCHERS = "for <<1>> vouchers", - SI_FURC_FESTIVAL_DROP = "can be acquired during <<1>> (<<2>>)", + SI_FURC_FESTIVAL_DROP = "can be acquired during <<1>> (<<2>>)", SI_FURC_STRING_RECIPELEARNED = "Recipe learned: <<1>> <<2>> <<3>>", SI_FURC_STRING_RECIPESFORCHAR = "recipes for <<1>>", SI_FURC_STRING_VOUCHER_VENDOR = "Sold by either Rolis Hlaalu or Faustina Curio", - + -- =============================== -- - -- ============ MENU ============= -- + -- ============ MENU ============= -- -- =============================== -- SI_FURC_STRING_MENU_DEBUG = "Enable debug output", @@ -101,10 +101,12 @@ local strings = { SI_FURC_STRING_MENU_IT_THIS_ONLY = "Only for this character?", SI_FURC_STRING_MENU_IT_THIS_ONLY_TT = "Will be accountwide otherwise.", SI_FURC_STRING_MENU_USETINY = "Use tiny interface?", - SI_FURC_STRING_MENU_USETINY_TT = "Use a smaller interface (Craft Store like). \nYou can toggle this from the UI by clicking the +/- button.", + SI_FURC_STRING_MENU_USETINY_TT = "Use a smaller interface (Craft Store like). \nYou can toggle this from the UI by clicking the +/- button.", SI_FURC_STRING_MENU_STARTSILENT = "Start silently?", SI_FURC_STRING_MENU_STARTSILENT_TT = "Suppress startup message", + SI_FURC_STRING_MENU_SHOWICONONLEFT = "Show Known/Unknown icon on left?", + SI_FURC_STRING_MENU_SHOWICONONLEFT_TT = "Show Green Check/Red X icon on left or right of the inventory item (requires reloadui)", SI_FURC_STRING_MENU_FONTSIZE = "Font size", SI_FURC_STRING_MENU_FONTSIZE_TT = "adjust font size for FurnitureCatalogue here", SI_FURC_STRING_MENU_DEFAULT_DD = "Default dropdown values", @@ -130,12 +132,12 @@ local strings = { SI_FURC_STRING_MENU_CROWN = "Crown store items", SI_FURC_STRING_MENU_CROWN_N = "Hide crown store items?", SI_FURC_STRING_MENU_CROWN_DESC = "The furniture database will update whenever the tooltip shows a furniture item. \nSome items can only be acquired via crown store. \nCheck this box to exclude them from the default filters (disable crown store filter below).", - + -- Filter text search SI_FURC_STRING_MENU_HEADER_F_ALL_ON_TEXT = "Filter settings for text search", SI_FURC_STRING_MENU_F_ALL_ON_TEXT = "Configure this filter", SI_FURC_STRING_MENU_HEADER_F_ALL_DESC = "Configure filter settings for text search with disabled dropdowns. \nThese settings will only take effect when you have not set a source, character or version filter.", - + SI_FURC_STRING_MENU_FILTER_ALL_ON_TEXT = "Search filtered items when doing a text search with no dropdown filters set?", SI_FURC_STRING_MENU_FILTER_ALL_ON_TEXT_TT = "When doing a text search without any dropdown ", SI_FURC_STRING_MENU_FALL_HIDE_BOOKS = "Hide books anyway", @@ -144,7 +146,7 @@ local strings = { SI_FURC_STRING_MENU_FALL_HIDE_CROWN_TT = "Even when filtering all items, still hide crown store items?", SI_FURC_STRING_MENU_FALL_HIDE_RUMOUR = "Hide rumour items anyway", SI_FURC_STRING_MENU_FALL_HIDE_RUMOUR_TT = "Even when filtering all items, still hide rumour items?", - + -- Hide menu entries SI_FURC_STRING_MENU_HIDE_MENU = "Hide menu entries?", SI_FURC_STRING_MENU_HIDE_MENU_TT = "Hides \"Crown store\" and \"Rumour recipes\" from the dropdown \nactivated for crown store by default, as there aren't any items yet", @@ -161,16 +163,16 @@ local strings = { SI_FURC_STRING_MENU_TOOLTIP_HIDE_SOURCE = "Hide item source?", SI_FURC_STRING_MENU_TOOLTIP_HIDE_STATION = "Hide crafting station?", SI_FURC_STRING_MENU_TOOLTIP_HIDE_MATERIAL = "Hide material?", - + -- =============================== -- - -- ==== GUI: Dropdown entries ==== -- + -- ==== GUI: Dropdown entries ==== -- -- =============================== -- - SI_FURC_NONE = "Source filter: off", - SI_FURC_FAVE = "Favorites", - SI_FURC_CRAFTING = "Craftable: All", - SI_FURC_CRAFTING_KNOWN = "Craftable: Known", - SI_FURC_CRAFTING_UNKNOWN = "Craftable: Unknown", + SI_FURC_NONE = "Source filter: off", + SI_FURC_FAVE = "Favorites", + SI_FURC_CRAFTING = "Craftable: All", + SI_FURC_CRAFTING_KNOWN = "Craftable: Known", + SI_FURC_CRAFTING_UNKNOWN = "Craftable: Unknown", SI_FURC_VENDOR = "Purchaseable (gold)", SI_FURC_PVP = "Purchaseable (AP)", SI_FURC_CROWN = "Crown Store", @@ -178,25 +180,25 @@ local strings = { SI_FURC_LUXURY = "Luxury items", SI_FURC_RUMOUR = "Rumour items", SI_FURC_OTHER = "Other", - - SI_FURC_FILTER_VERSION_OFF = "Version filter: off", - SI_FURC_FILTER_VERSION_HS = "Homestead", - SI_FURC_FILTER_VERSION_M = "Morrowind", - SI_FURC_FILTER_VERSION_R = "Horns of the Reach", - SI_FURC_FILTER_VERSION_CC = "Clockwork City", - SI_FURC_FILTER_VERSION_DRAGON = "Dragon Bones", - SI_FURC_FILTER_VERSION_ALTMER = "Summerset", + + SI_FURC_FILTER_VERSION_OFF = "Version filter: off", + SI_FURC_FILTER_VERSION_HS = "Homestead", + SI_FURC_FILTER_VERSION_M = "Morrowind", + SI_FURC_FILTER_VERSION_R = "Horns of the Reach", + SI_FURC_FILTER_VERSION_CC = "Clockwork City", + SI_FURC_FILTER_VERSION_DRAGON = "Dragon Bones", + SI_FURC_FILTER_VERSION_ALTMER = "Summerset", SI_FURC_FILTER_VERSION_ALTMER_TT = "", - + -- =============================== -- - -- = GUI: Dropdown entry tooltip = -- + -- = GUI: Dropdown entry tooltip = -- -- =============================== -- - - SI_FURC_NONE_TT = "disables this filter", - SI_FURC_FAVE_TT = "Shows your favorites", - SI_FURC_CRAFTING_TT = "Shows all craftable items", - SI_FURC_CRAFTING_KNOWN_TT = "Shows only known craftable items", - SI_FURC_CRAFTING_UNKNOWN_TT = "Shows only unknown craftable items", + + SI_FURC_NONE_TT = "disables this filter", + SI_FURC_FAVE_TT = "Shows your favorites", + SI_FURC_CRAFTING_TT = "Shows all craftable items", + SI_FURC_CRAFTING_KNOWN_TT = "Shows only known craftable items", + SI_FURC_CRAFTING_UNKNOWN_TT = "Shows only unknown craftable items", SI_FURC_VENDOR_TT = "Shows only items that cannot be crafted", SI_FURC_PVP_TT = "Items that are sold for alliance points", SI_FURC_CROWN_TT = "Shows items that can only be acquired from crown store", diff --git a/startup.lua b/startup.lua index 408b776..5ee8f3c 100644 --- a/startup.lua +++ b/startup.lua @@ -3,11 +3,11 @@ FurnitureCatalogue.name = "FurnitureCatalogue" FurnitureCatalogue.author = "manavortex" FurnitureCatalogue.version = "2.3.3" FurnitureCatalogue.CharacterName = nil -FurnitureCatalogue.settings = {} - +FurnitureCatalogue.settings = {} + FurC = FurnitureCatalogue FurC.DevDebug = false -FurC.AccountName = GetDisplayName() +FurC.AccountName = GetDisplayName() FurC.AchievementVendors = {} FurC.LuxuryFurnisher = {} @@ -32,52 +32,52 @@ FURC_REACH = 4 FURC_CLOCKWORK = 5 FURC_DRAGONS = 6 FURC_ALTMER = 7 - + FurC.version = 2.2 local defaults = { - + hideMats = true, dontScanTradingHouse = false, enableDebug = false, - + filterCraftingType = {}, filterQuality = {}, - + resetDropdownChoice = false, useTinyUi = false, useInventoryIcons = true, fontSize = 18, - - gui = { + + gui = { lastX = 100, lastY = 100, width = 650, - height = 550, - }, + height = 550, + }, dropdownDefaults = { - Source = 1, - Character = 1, - Version = 1, - }, - - accountCharacters = {}, - + Source = 1, + Character = 1, + Version = 1, + }, + + accountCharacters = {}, + version = 2.0, - - -- tooltips + + -- tooltips disableTooltips = false, coloredTooltips = true, hideKnowledge = false, - - hideBooks = true, + + hideBooks = true, hideDoubtfuls = true, hideCrownstore = true, hideRumourEntry = false, hideCrownStoreEntry = false, wipeDatabase = false, startupSilently = true, - + visibility = { hud = true, hudui = true, @@ -112,56 +112,56 @@ local function getSourceIndicesKeys() sourceIndicesKeys[FURC_CRAFTING_KNOWN] = "craft_known" sourceIndicesKeys[FURC_CRAFTING_UNKNOWN] = "craft_unknown" sourceIndicesKeys[FURC_VENDOR] = "purch_gold" - sourceIndicesKeys[FURC_PVP] = "purch_ap" - sourceIndicesKeys[FURC_CROWN] = "crownstore" - sourceIndicesKeys[FURC_RUMOUR] = "rumour" - sourceIndicesKeys[FURC_LUXURY] = "luxury" - sourceIndicesKeys[FURC_OTHER] = "other" - sourceIndicesKeys[FURC_WRIT_VENDOR] = "writ_vendor" + sourceIndicesKeys[FURC_PVP] = "purch_ap" + sourceIndicesKeys[FURC_CROWN] = "crownstore" + sourceIndicesKeys[FURC_RUMOUR] = "rumour" + sourceIndicesKeys[FURC_LUXURY] = "luxury" + sourceIndicesKeys[FURC_OTHER] = "other" + sourceIndicesKeys[FURC_WRIT_VENDOR] = "writ_vendor" return sourceIndicesKeys end FurC.GetSourceIndicesKeys = getSourceIndicesKeys local choicesSource = {} local function getChoicesSource() - choicesSource[FURC_NONE] = GetString(SI_FURC_NONE) - choicesSource[FURC_FAVE] = GetString(SI_FURC_FAVE) - choicesSource[FURC_CRAFTING] = GetString(SI_FURC_CRAFTING) - choicesSource[FURC_CRAFTING_KNOWN] = GetString(SI_FURC_CRAFTING_KNOWN) + choicesSource[FURC_NONE] = GetString(SI_FURC_NONE) + choicesSource[FURC_FAVE] = GetString(SI_FURC_FAVE) + choicesSource[FURC_CRAFTING] = GetString(SI_FURC_CRAFTING) + choicesSource[FURC_CRAFTING_KNOWN] = GetString(SI_FURC_CRAFTING_KNOWN) choicesSource[FURC_CRAFTING_UNKNOWN] = GetString(SI_FURC_CRAFTING_UNKNOWN) - choicesSource[FURC_VENDOR] = GetString(SI_FURC_VENDOR) + choicesSource[FURC_VENDOR] = GetString(SI_FURC_VENDOR) choicesSource[FURC_PVP] = GetString(SI_FURC_PVP) choicesSource[FURC_WRIT_VENDOR] = GetString(SI_FURC_STRING_WRIT_VENDOR) choicesSource[FURC_CROWN] = GetString(SI_FURC_CROWN) - choicesSource[FURC_RUMOUR] = GetString(SI_FURC_RUMOUR) + choicesSource[FURC_RUMOUR] = GetString(SI_FURC_RUMOUR) choicesSource[FURC_LUXURY] = GetString(SI_FURC_LUXURY) choicesSource[FURC_OTHER] = GetString(SI_FURC_OTHER) - + return choicesSource end FurC.GetChoicesSource = getChoicesSource local tooltipsSource = {} local function getTooltipsSource() - tooltipsSource[FURC_NONE] = GetString(SI_FURC_NONE_TT) - tooltipsSource[FURC_FAVE] = GetString(SI_FURC_FAVE_TT) - tooltipsSource[FURC_CRAFTING] = GetString(SI_FURC_CRAFTING_TT) - tooltipsSource[FURC_CRAFTING_KNOWN] = GetString(SI_FURC_CRAFTING_KNOWN_TT) + tooltipsSource[FURC_NONE] = GetString(SI_FURC_NONE_TT) + tooltipsSource[FURC_FAVE] = GetString(SI_FURC_FAVE_TT) + tooltipsSource[FURC_CRAFTING] = GetString(SI_FURC_CRAFTING_TT) + tooltipsSource[FURC_CRAFTING_KNOWN] = GetString(SI_FURC_CRAFTING_KNOWN_TT) tooltipsSource[FURC_CRAFTING_UNKNOWN] = GetString(SI_FURC_CRAFTING_UNKNOWN_TT) - tooltipsSource[FURC_VENDOR] = GetString(SI_FURC_VENDOR_TT) + tooltipsSource[FURC_VENDOR] = GetString(SI_FURC_VENDOR_TT) tooltipsSource[FURC_PVP] = GetString(SI_FURC_PVP_TT) tooltipsSource[FURC_CROWN] = GetString(SI_FURC_CROWN_TT) tooltipsSource[FURC_WRIT_VENDOR] = GetString(SI_FURC_STRING_WRIT_VENDOR_TT) tooltipsSource[FURC_RUMOUR] = GetString(SI_FURC_RUMOUR_TT) tooltipsSource[FURC_LUXURY] = GetString(SI_FURC_LUXURY_TT) tooltipsSource[FURC_OTHER] = GetString(SI_FURC_OTHER_TT) - + return tooltipsSource end FurnitureCatalogue.DropdownData = { ChoicesVersion = { - [1] = GetString(SI_FURC_FILTER_VERSION_OFF), + [1] = GetString(SI_FURC_FILTER_VERSION_OFF), [2] = GetString(SI_FURC_FILTER_VERSION_HS ), [3] = GetString(SI_FURC_FILTER_VERSION_M ), [4] = GetString(SI_FURC_FILTER_VERSION_R ), @@ -169,7 +169,7 @@ FurnitureCatalogue.DropdownData = { [6] = GetString(SI_FURC_FILTER_VERSION_DRAGON), }, TooltipsVersion = { - [1] = GetString(SI_FURC_FILTER_VERSION_OFF_TT), + [1] = GetString(SI_FURC_FILTER_VERSION_OFF_TT), [2] = GetString(SI_FURC_FILTER_VERSION_HS_TT), [3] = GetString(SI_FURC_FILTER_VERSION_M_TT), [4] = GetString(SI_FURC_FILTER_VERSION_R_TT), @@ -177,17 +177,17 @@ FurnitureCatalogue.DropdownData = { [6] = GetString(SI_FURC_FILTER_VERSION_DRAGON_TT), }, ChoicesCharacter = { - [1] = GetString(SI_FURC_FILTER_CHAR_OFF), + [1] = GetString(SI_FURC_FILTER_CHAR_OFF), }, TooltipsCharacter = { - [1] = GetString(SI_FURC_FILTER_CHAR_OFF_TT), + [1] = GetString(SI_FURC_FILTER_CHAR_OFF_TT), }, - + -- will be set in setupSourceDropdown ChoicesSource = {}, - TooltipsSource = {}, + TooltipsSource = {}, } -if GetAPIVersion() == 100023 then +if GetAPIVersion() == 100023 then FurnitureCatalogue.DropdownData.ChoicesVersion[FURC_ALTMER] = GetString(SI_FURC_FILTER_VERSION_ALTMER) FurnitureCatalogue.DropdownData.TooltipsVersion[FURC_ALTMER] = GetString(SI_FURC_FILTER_VERSION_ALTMER_TT) end @@ -199,7 +199,7 @@ end FurnitureCatalogue.updateDropdownData = updateDropdownData local function setupSourceDropdown() - updateDropdownData() + updateDropdownData() sourceIndices = {} for idx, key in ipairs(getSourceIndicesKeys()) do @@ -209,32 +209,32 @@ local function setupSourceDropdown() end function FurnitureCatalogue.DebugOut(output, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) - if not FurC.GetEnableDebug() then return end - if a10 then + if not FurC.GetEnableDebug() then return end + if a10 then d(zo_strformat(output, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)) - elseif a9 then + elseif a9 then d(zo_strformat(output, a1, a2, a3, a4, a5, a6, a7, a8, a9)) - elseif a8 then + elseif a8 then d(zo_strformat(output, a1, a2, a3, a4, a5, a6, a7, a8)) - elseif a7 then + elseif a7 then d(zo_strformat(output, a1, a2, a3, a4, a5, a6, a7)) - elseif a6 then + elseif a6 then d(zo_strformat(output, a1, a2, a3, a4, a5, a6)) - elseif a5 then + elseif a5 then d(zo_strformat(output, a1, a2, a3, a4, a5)) - elseif a4 then + elseif a4 then d(zo_strformat(output, a1, a2, a3, a4)) elseif a3 then d(zo_strformat(output, a1, a2, a3)) elseif a2 then d(zo_strformat(output, a1, a2)) - elseif a1 then + elseif a1 then d(zo_strformat(output, a1)) elseif output then d(zo_strformat(output)) else d("\n") - end + end end local function p(...) @@ -257,52 +257,53 @@ end -- initialization stuff function FurnitureCatalogue_Initialize(eventCode, addOnName) if (addOnName ~= FurnitureCatalogue.name) then return end - - FurnitureCatalogue.settings = ZO_SavedVars:NewAccountWide("FurnitureCatalogue_Settings", 2, nil, defaults) - + + FurnitureCatalogue.settings = ZO_SavedVars:NewAccountWide("FurnitureCatalogue_Settings", 2, nil, defaults) + if FurC.AccountName == "@manavortex" or FurC.AccountName == "@Manorin" then FurnitureCatalogue.devSettings = ZO_SavedVars:NewAccountWide("_FurC_DevData", 2, nil, {}) SLASH_COMMANDS["/furc_dev"] = FurnitureCatalogue_ToggleDev end - + -- initialise setting, also setup the "source" dropdown for the menu - FurC.settings.data = FurC.settings.data or {} + FurC.settings.data = FurC.settings.data or {} FurC.settings.filterCraftingType = {} FurC.settings.filterQuality = {} setupSourceDropdown() - + FurnitureCatalogue.CreateSettings(FurnitureCatalogue.settings, defaults, FurnitureCatalogue) - + FurnitureCatalogue.CharacterName = zo_strformat(GetUnitName('player')) - + FurC.RegisterEvents() - + FurnitureCatalogue.InitGui() FurC.SetHideRumourRecipesEntry(false) FurC.SetHideCrownStoreEntry(false) - FurnitureCatalogue.CreateTooltips() + FurnitureCatalogue.CreateTooltips() FurC.InitRightclickMenu() - + FurC.SetupInventoryRecipeIcons() - + local scanFiles = false if FurC.settings.version < FurC.version then - FurC.settings.version = FurC.version + FurC.settings.version = FurC.version scanFiles = true end - + FurnitureCatalogue.ScanRecipes(scanFiles, not FurC.GetSkipInitialScan()) FurC.settings.databaseVersion = FurC.version SLASH_COMMANDS["/fur"] = FurnitureCatalogue_Toggle FurC.SetFilter(true) - + FurC.IsDebugging = GetWorldName() == "PTS" and GetUnitDisplayName("player") == "@manavortex" - + EVENT_MANAGER:UnregisterForEvent("FurnitureCatalogue", EVENT_ADD_ON_LOADED) - + end ZO_CreateStringId("SI_BINDING_NAME_TOGGLE_FURNITURE_CATALOGUE", "Toggle Furniture Catalogue") -EVENT_MANAGER:RegisterForEvent("FurnitureCatalogue", EVENT_ADD_ON_LOADED, FurnitureCatalogue_Initialize) \ No newline at end of file +EVENT_MANAGER:RegisterForEvent("FurnitureCatalogue", EVENT_ADD_ON_LOADED, FurnitureCatalogue_Initialize) +