diff --git a/FurnitureCatalogue/FurCDatabaseQuery.lua b/FurnitureCatalogue/FurCDatabaseQuery.lua index a026d49..70beee8 100644 --- a/FurnitureCatalogue/FurCDatabaseQuery.lua +++ b/FurnitureCatalogue/FurCDatabaseQuery.lua @@ -4,6 +4,7 @@ local vendorColor = "d68957" 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 @@ -21,13 +22,14 @@ local function getRollisSource(recipeKey, recipeArray) local versionData = FurC.Rollis[recipeArray.version] if nil ~= versionData and nil ~= versionData[recipeKey] then - local itemPrice = zo_strformat(GetString(SI_FURC_STRING_FOR_VOUCHERS), versionData[recipeKey]) - return zo_strformat(GetString(SI_FURC_STRING_ROLLIS), itemPrice) + local itemPrice = zo_strformat(GetString(SI_FURC_STRING_FOR_VOUCHERS), colorise(versionData[recipeKey], voucherColor)) + 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), versionData[recipeKey]) - return zo_strformat(GetString(SI_FURC_STRING_FAUSTINA), itemPrice) + 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) diff --git a/FurnitureCatalogue/FurCFilter.lua b/FurnitureCatalogue/FurCFilter.lua index 6bd5705..fab6bd4 100644 --- a/FurnitureCatalogue/FurCFilter.lua +++ b/FurnitureCatalogue/FurCFilter.lua @@ -92,10 +92,11 @@ local function matchSourceDropdown() elseif FURC_FAVE == ddSource then return recipeArray.favorite elseif FURC_VENDOR == ddSource then - return (recipeArray.origin == FURC_VENDOR or recipeArray.origin == FURC_ROLLIS or - (mergeLuxuryAndSales and recipeArray.origin == FURC_LUXURY)) + 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_FESTIVAL_DROP or diff --git a/FurnitureCatalogue/FurCGui.lua b/FurnitureCatalogue/FurCGui.lua index 657116a..33780e0 100644 --- a/FurnitureCatalogue/FurCGui.lua +++ b/FurnitureCatalogue/FurCGui.lua @@ -354,12 +354,10 @@ local function createGui() local validChoices = dropdownData[string.format("%s%s", "Choices", dropdownName)] local choicesTooltips = dropdownData[string.format("%s%s", "Tooltips", dropdownName)] local comboBox - if control.comboBox ~= nil then - comboBox = control.comboBox - else - comboBox = ZO_ComboBox_ObjectFromContainer(control) - control.comboBox = comboBox - end + + + control.comboBox = control.comboBox or ZO_ComboBox_ObjectFromContainer(control) + comboBox = control.comboBox -- ruthlessly stolen from LAM local function SetupTooltips(comboBox, choicesTooltips) @@ -377,17 +375,11 @@ local function createGui() 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 (i == FURC_LUXURY and FurC.GetMergeLuxuryAndSales() or - i == FURC_CROWN and FurC.GetHideCrownStoreEntry() or - i == FURC_RUMOUR and FurC.GetHideRumourRecipesEntry() - ) then - - - end + control.tooltip = choicesTooltips[i] if control.tooltip then entry.onMouseEnter = control:GetHandler("OnMouseEnter") @@ -395,6 +387,7 @@ local function createGui() ZO_PreHookHandler(control, "OnMouseEnter", ShowTooltip) ZO_PreHookHandler(control, "OnMouseExit", HideTooltip) end + end end @@ -426,10 +419,10 @@ local function createGui() addedDropdownCharacterNames[characterName] = true table.insert(validChoices, characterName) table.insert(dropdownData["Tooltips"..dropdownName], string.format("%s%s", GetString(SI_FURC_STRING_RECIPESFORCHAR), characterName)) - end + end end - for i = 1, #validChoices do + for i = 1, #validChoices do entry = comboBox:CreateItemEntry(validChoices[i], OnItemSelect) comboBox:AddItem(entry) if validChoices[i] == FurC.GetDropdownChoiceTextual(dropdownName) then diff --git a/FurnitureCatalogue/FurCSettingsAdapter.lua b/FurnitureCatalogue/FurCSettingsAdapter.lua index 655e9ab..9ac9c86 100644 --- a/FurnitureCatalogue/FurCSettingsAdapter.lua +++ b/FurnitureCatalogue/FurCSettingsAdapter.lua @@ -20,6 +20,7 @@ function FurC.GetHideRumourRecipes() end function FurC.SetHideRumourRecipes(value) FurC.settings["hideDoubtfuls"] = value + FurC.updateDropdownData() FurC.UpdateGui() end function FurC.GetHideCrownStoreItems() @@ -27,6 +28,7 @@ function FurC.GetHideCrownStoreItems() end function FurC.SetHideCrownStoreItems(value) FurC.settings["hideCrownstore"] = value + FurC.updateDropdownData() FurC.UpdateGui() end function FurC.GetHideRumourRecipesEntry() @@ -34,12 +36,16 @@ function FurC.GetHideRumourRecipesEntry() end function FurC.SetHideRumourRecipesEntry(value) FurC.settings["hideRumourEntry"] = value + FurC.updateDropdownData() + FurC.UpdateGui() end function FurC.GetHideCrownStoreEntry() return FurC.settings["hideCrownStoreEntry"] end function FurC.SetHideCrownStoreEntry(value) FurC.settings["hideCrownStoreEntry"] = value + FurC.updateDropdownData() + FurC.UpdateGui() end diff --git a/FurnitureCatalogue/FurnitureCatalogue.txt b/FurnitureCatalogue/FurnitureCatalogue.txt index 91c185e..acdb5af 100644 --- a/FurnitureCatalogue/FurnitureCatalogue.txt +++ b/FurnitureCatalogue/FurnitureCatalogue.txt @@ -1,8 +1,9 @@ ## Title: FurnitureCatalogue ## Author: manavortex -## Version: 2.0.19 +## Version: 2.1.1 ## APIVersion: 100021 ## SavedVariables: FurnitureCatalogue_Settings +## OptionalDependsOn: pChat libs\LibStub\LibStub.lua libs\LibAsync\LibAsync.lua diff --git a/FurnitureCatalogue/data/Homestead/H_LuxuryFurnisher.lua b/FurnitureCatalogue/data/Homestead/H_LuxuryFurnisher.lua index 7fec9e1..65eb1cc 100644 --- a/FurnitureCatalogue/data/Homestead/H_LuxuryFurnisher.lua +++ b/FurnitureCatalogue/data/Homestead/H_LuxuryFurnisher.lua @@ -2,6 +2,10 @@ FurC.LuxuryFurnisher = FurC.LuxuryFurnisher or {} FurC.LuxuryFurnisher[FURC_HOMESTEAD] = { + [120821] = { -- Sigil Stendarr + itemPrice = 15000, + itemDate = "2017-04-28", + }, [120823] = { -- Sigil Stand itemPrice = 15000, itemDate = "2017-04-28", diff --git a/FurnitureCatalogue/data/LuxuryFurnisher.lua b/FurnitureCatalogue/data/LuxuryFurnisher.lua index 13fba91..412b4fd 100644 --- a/FurnitureCatalogue/data/LuxuryFurnisher.lua +++ b/FurnitureCatalogue/data/LuxuryFurnisher.lua @@ -5,6 +5,20 @@ FurC.LuxuryFurnisher[FURC_CLOCKWORK] = { + [134469] = { -- Ayleid Constellation Stele, the Mage + itemPrice = 20000, + itemDate = "2018-02-30", + }, + [134470] = { -- Ayleid Constellation Stele, Thief + itemPrice = 20000, + itemDate = "2018-02-30", + }, + [134471] = { -- Ayleid Constellation Stele, Warrior + itemPrice = 20000, + itemDate = "2018-02-30", + }, + + [134466] = { -- Ayleid Sconce, Empty itemPrice = 4000, itemDate = "2018-01-27", diff --git a/FurnitureCatalogue/locale/de.lua b/FurnitureCatalogue/locale/de.lua index 91cf72a..80e30e6 100644 --- a/FurnitureCatalogue/locale/de.lua +++ b/FurnitureCatalogue/locale/de.lua @@ -33,9 +33,11 @@ local strings = { SI_FURC_STRING_WASSOLDBY = "Was sold by <<1>> in <<2>> (<<3>>) <<4>>", SI_FURC_STRING_WEEKEND_AROUND = "(around <<1>>)", - SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rollis Hlaalu|r<<1>><<2>><<3>>", - SI_FURC_STRING_FAUSTINA = "Sold by |cd68957Faustina Curio|r<<1>><<2>><<3>>", - SI_FURC_STRING_FOR_VOUCHERS = " for |ce5da40<<1>>|h vouchers", + SI_FURC_STRING_WRIT_VENDOR = "Master Writ Vendor", + SI_FURC_STRING_WRIT_VENDOR_TT = "Obtainable for Master Writs in your alliance's capital", + SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rollis 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_STRING_RECIPELEARNED = "Recipe learned: <<1>> <<2>> <<3>>", @@ -57,7 +59,7 @@ local strings = { SI_FURC_STRING_MENU_SCAN_FILES_TT = "Will run a full scan of the data in Furniture Catalogue's files", SI_FURC_STRING_MENU_SCAN_CHAR_NAME = "Scan character", SI_FURC_STRING_MENU_SCAN_CHAR_TT = "Will run a full scan of your known furniture recipes and update the database accordingly", - SI_FURC_STRING_MENU_DELETE_CHAR_NAME = "delete character", + SI_FURC_STRING_MENU_DELETE_CHAR_NAME = "delete character data", SI_FURC_STRING_MENU_DELETE_CHAR_TT = "Deletes all knowledge for this character from the database. \nCharacter will be scanned again the next time they log in with the add-on enabled. \n Character name won't show up in the dropdown if they don't know any recipes!", SI_FURC_STRING_MENU_DELETE_CHAR_WARNING = "Character knowledge will be wiped immediately", SI_FURC_STRING_MENU_ENABLE_SHOPPINGLIST = "Enable integration?", diff --git a/FurnitureCatalogue/locale/en.lua b/FurnitureCatalogue/locale/en.lua index 1dc91d6..862bc56 100644 --- a/FurnitureCatalogue/locale/en.lua +++ b/FurnitureCatalogue/locale/en.lua @@ -56,9 +56,11 @@ local strings = { SI_FURC_STRING_WASSOLDBY = "Was sold by <<1>> in <<2>> (<<3>>) <<4>>", SI_FURC_STRING_WEEKEND_AROUND = "(around <<1>>)", - SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rollis Hlaalu|r<<1>><<2>><<3>>", - SI_FURC_STRING_FAUSTINA = "Sold by |cd68957Faustina Curio|r<<1>><<2>><<3>>", - SI_FURC_STRING_FOR_VOUCHERS = " for |ce5da40<<1>>|h vouchers", + SI_FURC_STRING_WRIT_VENDOR = "Master Writ Vendor", + SI_FURC_STRING_WRIT_VENDOR_TT = "Obtainable for Master Writs in your alliance's capital", + SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rollis 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_STRING_RECIPELEARNED = "Recipe learned: <<1>> <<2>> <<3>>", @@ -79,7 +81,7 @@ local strings = { SI_FURC_STRING_MENU_SCAN_FILES_TT = "Will run a full scan of the data in Furniture Catalogue's files", SI_FURC_STRING_MENU_SCAN_CHAR_NAME = "Scan character", SI_FURC_STRING_MENU_SCAN_CHAR_TT = "Will run a full scan of your known furniture recipes and update the database accordingly", - SI_FURC_STRING_MENU_DELETE_CHAR_NAME = "delete character", + SI_FURC_STRING_MENU_DELETE_CHAR_NAME = "delete character", SI_FURC_STRING_MENU_DELETE_CHAR_TT = "Deletes all knowledge for this character from the database. \nCharacter will be scanned again the next time they log in with the add-on enabled. \n Character name won't show up in the dropdown if they don't know any recipes!", SI_FURC_STRING_MENU_DELETE_CHAR_WARNING = "Character knowledge will be wiped immediately", SI_FURC_STRING_MENU_ENABLE_SHOPPINGLIST = "Enable integration?", diff --git a/FurnitureCatalogue/locale/fr.lua b/FurnitureCatalogue/locale/fr.lua index 188c292..09c2df4 100644 --- a/FurnitureCatalogue/locale/fr.lua +++ b/FurnitureCatalogue/locale/fr.lua @@ -33,9 +33,12 @@ local strings = { SI_FURC_STRING_WASSOLDBY = "Was sold by <<1>> in <<2>> (<<3>>) <<4>>", SI_FURC_STRING_WEEKEND_AROUND = "(around <<1>>)", - SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rollis Hlaalu|r<<1>><<2>><<3>>", - SI_FURC_STRING_FAUSTINA = "Sold by |cd68957Faustina Curio|r<<1>><<2>><<3>>", - SI_FURC_STRING_FOR_VOUCHERS = " for |ce5da40<<1>>|h vouchers", + SI_FURC_STRING_WRIT_VENDOR = "Master Writ Vendor", + SI_FURC_STRING_WRIT_VENDOR_TT = "Obtainable for Master Writs in your alliance's capital", + + SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rollis 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_STRING_RECIPELEARNED = "Recipe learned: <<1>> <<2>> <<3>>", diff --git a/FurnitureCatalogue/locale/jp.lua b/FurnitureCatalogue/locale/jp.lua index 91cf72a..45f4654 100644 --- a/FurnitureCatalogue/locale/jp.lua +++ b/FurnitureCatalogue/locale/jp.lua @@ -33,9 +33,12 @@ local strings = { SI_FURC_STRING_WASSOLDBY = "Was sold by <<1>> in <<2>> (<<3>>) <<4>>", SI_FURC_STRING_WEEKEND_AROUND = "(around <<1>>)", - SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rollis Hlaalu|r<<1>><<2>><<3>>", - SI_FURC_STRING_FAUSTINA = "Sold by |cd68957Faustina Curio|r<<1>><<2>><<3>>", - SI_FURC_STRING_FOR_VOUCHERS = " for |ce5da40<<1>>|h vouchers", + SI_FURC_STRING_WRIT_VENDOR = "Master Writ Vendor", + SI_FURC_STRING_WRIT_VENDOR_TT = "Obtainable for Master Writs in your alliance's capital", + + SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rollis 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_STRING_RECIPELEARNED = "Recipe learned: <<1>> <<2>> <<3>>", diff --git a/FurnitureCatalogue/locale/ru.lua b/FurnitureCatalogue/locale/ru.lua index 91cf72a..45f4654 100644 --- a/FurnitureCatalogue/locale/ru.lua +++ b/FurnitureCatalogue/locale/ru.lua @@ -33,9 +33,12 @@ local strings = { SI_FURC_STRING_WASSOLDBY = "Was sold by <<1>> in <<2>> (<<3>>) <<4>>", SI_FURC_STRING_WEEKEND_AROUND = "(around <<1>>)", - SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rollis Hlaalu|r<<1>><<2>><<3>>", - SI_FURC_STRING_FAUSTINA = "Sold by |cd68957Faustina Curio|r<<1>><<2>><<3>>", - SI_FURC_STRING_FOR_VOUCHERS = " for |ce5da40<<1>>|h vouchers", + SI_FURC_STRING_WRIT_VENDOR = "Master Writ Vendor", + SI_FURC_STRING_WRIT_VENDOR_TT = "Obtainable for Master Writs in your alliance's capital", + + SI_FURC_STRING_ROLLIS = "Sold by |cd68957Rollis 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_STRING_RECIPELEARNED = "Recipe learned: <<1>> <<2>> <<3>>", diff --git a/FurnitureCatalogue/startup.lua b/FurnitureCatalogue/startup.lua index 8bbd1eb..f4c05a3 100644 --- a/FurnitureCatalogue/startup.lua +++ b/FurnitureCatalogue/startup.lua @@ -95,57 +95,100 @@ FURC_RUMOUR = FURC_CROWN +1 FURC_LUXURY = FURC_RUMOUR +1 FURC_OTHER = FURC_LUXURY +1 FURC_ROLLIS = FURC_OTHER +1 -FURC_DROP = FURC_ROLLIS +1 +FURC_WRIT_VENDOR = FURC_ROLLIS +1 +FURC_DROP = FURC_WRIT_VENDOR +1 FURC_JUSTICE = FURC_DROP +1 FURC_FISHING = FURC_JUSTICE +1 FURC_GUILDSTORE = FURC_FISHING +1 FURC_FESTIVAL_DROP = FURC_GUILDSTORE +1 - +local function updateSourceIndices() + FURC_CROWN = FURC_PVP + tonumber((FurC.GetHideCrownStoreEntry() and 0) or 1) + FURC_RUMOUR = FURC_CROWN + tonumber((FurC.GetHideRumourRecipesEntry() and 0) or 1) + FURC_LUXURY = FURC_RUMOUR + tonumber((FurC.GetMergeLuxuryAndSales() and 0) or 1) + FURC_OTHER = FURC_LUXURY +1 + FURC_ROLLIS = FURC_OTHER +1 + FURC_WRIT_VENDOR = FURC_ROLLIS +1 + FURC_DROP = FURC_WRIT_VENDOR +1 + FURC_JUSTICE = FURC_DROP +1 + FURC_FISHING = FURC_JUSTICE +1 + FURC_GUILDSTORE = FURC_FISHING +1 + FURC_FESTIVAL_DROP = FURC_GUILDSTORE +1 +end +FurC.updateSourceIndices = updateSourceIndices FURC_EMPTY_STRING = "" +local sourceIndicesKeys = {} +local function getSourceIndicesKeys() + updateSourceIndices() + sourceIndicesKeys[FURC_NONE] = "off" + sourceIndicesKeys[FURC_FAVE] = "favorites" + sourceIndicesKeys[FURC_CRAFTING] = "craft_all" + sourceIndicesKeys[FURC_CRAFTING_KNOWN] = "craft_known" + sourceIndicesKeys[FURC_CRAFTING_UNKNOWN] = "craft_unknown" + sourceIndicesKeys[FURC_VENDOR] = "purch_gold" + sourceIndicesKeys[FURC_PVP] = "purch_ap" + if not FurC.GetHideCrownStoreEntry() then + sourceIndicesKeys[FURC_CROWN] = "crownstore" + end + sourceIndicesKeys[FURC_WRIT_VENDOR] = "writ_vendor" + if not FurC.GetHideRumourRecipesEntry() then + sourceIndicesKeys[FURC_RUMOUR] = "rumour" + end + if not FurC.GetMergeLuxuryAndSales() then + sourceIndicesKeys[FURC_LUXURY] = "luxury" + end + sourceIndicesKeys[FURC_OTHER] = "other" + + + + return sourceIndicesKeys +end -local sourceIndicesKeys = { - [FURC_NONE] = "off", - [FURC_FAVE] = "favorites", - [FURC_CRAFTING] = "craft_all", - [FURC_CRAFTING_KNOWN] = "craft_known", - [FURC_CRAFTING_UNKNOWN] = "craft_unknown", - [FURC_VENDOR] = "purch_gold", - [FURC_PVP] = "purch_ap", - [FURC_CROWN] = "crownstore", - [FURC_RUMOUR] = "rumour", - [FURC_LUXURY] = "luxury", - [FURC_OTHER] = "other" -} +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_CRAFTING_UNKNOWN] = GetString(SI_FURC_CRAFTING_UNKNOWN) + choicesSource[FURC_VENDOR] = GetString(SI_FURC_VENDOR) + choicesSource[FURC_PVP] = GetString(SI_FURC_PVP) + choicesSource[FURC_WRIT_VENDOR] = GetString(SI_FURC_STRING_WRIT_VENDOR) + if not FurC.GetHideCrownStoreEntry() then + choicesSource[FURC_CROWN] = GetString(SI_FURC_CROWN) + end + if not FurC.GetHideRumourRecipesEntry() then + choicesSource[FURC_RUMOUR] = GetString(SI_FURC_LUXURY) + end + if not FurC.GetMergeLuxuryAndSales() then + choicesSource[FURC_LUXURY] = GetString(SI_FURC_OTHER) + end + return choicesSource +end -local choicesSource = { - [FURC_NONE] = GetString(SI_FURC_NONE), - [FURC_FAVE] = GetString(SI_FURC_FAVE), - [FURC_CRAFTING] = GetString(SI_FURC_CRAFTING), - [FURC_CRAFTING_KNOWN] = GetString(SI_FURC_CRAFTING_KNOWN), - [FURC_CRAFTING_UNKNOWN] = GetString(SI_FURC_CRAFTING_UNKNOWN), - [FURC_VENDOR] = GetString(SI_FURC_VENDOR), - [FURC_PVP] = GetString(SI_FURC_PVP), - [FURC_CROWN] = GetString(SI_FURC_CROWN), - [FURC_RUMOUR] = GetString(SI_FURC_RUMOUR), - [FURC_LUXURY] = GetString(SI_FURC_LUXURY), - [FURC_OTHER] = GetString(SI_FURC_OTHER), -} -local tooltipsSource = { - [FURC_NONE] = GetString(SI_FURC_NONE_TT), - [FURC_FAVE] = GetString(SI_FURC_FAVE_TT), - [FURC_CRAFTING] = GetString(SI_FURC_CRAFTING_TT), - [FURC_CRAFTING_KNOWN] = GetString(SI_FURC_CRAFTING_KNOWN_TT), - [FURC_CRAFTING_UNKNOWN] = GetString(SI_FURC_CRAFTING_UNKNOWN_TT), - [FURC_VENDOR] = GetString(SI_FURC_VENDOR_TT), - [FURC_PVP] = GetString(SI_FURC_PVP_TT), - [FURC_CROWN] = GetString(SI_FURC_CROWN_TT), - [FURC_RUMOUR] = GetString(SI_FURC_RUMOUR_TT), - [FURC_LUXURY] = GetString(SI_FURC_LUXURY_TT), - [FURC_OTHER] = GetString(SI_FURC_OTHER_TT), -} +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_CRAFTING_UNKNOWN] = GetString(SI_FURC_CRAFTING_UNKNOWN_TT) + tooltipsSource[FURC_VENDOR] = GetString(SI_FURC_VENDOR_TT) + tooltipsSource[FURC_PVP] = GetString(SI_FURC_PVP_TT) + tooltipsSource[FURC_WRIT_VENDOR] = GetString(SI_FURC_STRING_WRIT_VENDOR_TT) + if not FurC.GetHideCrownStoreEntry() then + tooltipsSource[FURC_CROWN] = GetString(SI_FURC_CROWN_TT) + end + if not FurC.GetHideRumourRecipesEntry() then + tooltipsSource[FURC_RUMOUR] = GetString(SI_FURC_LUXURY_TT) + end + if not FurC.GetMergeLuxuryAndSales() then + tooltipsSource[FURC_LUXURY] = GetString(SI_FURC_OTHER_TT) + end + return tooltipsSource +end FurnitureCatalogue.DropdownData = { ChoicesVersion = { @@ -177,7 +220,22 @@ FurnitureCatalogue.DropdownData = { } +local function updateDropdownData() + updateSourceIndices() + FurnitureCatalogue.DropdownData.ChoicesSource = getChoicesSource() + FurnitureCatalogue.DropdownData.TooltipsSource = getTooltipsSource() +end +FurnitureCatalogue.updateDropdownData = updateDropdownData +local function setupSourceDropdown() + updateDropdownData() + sourceIndices = {} + + for idx, key in pairs(getSourceIndicesKeys()) do + sourceIndices[key] = idx + end + FurC.SourceIndices = sourceIndices +end function FurnitureCatalogue.DebugOut(output, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) if not FurC.GetEnableDebug() then return end @@ -208,27 +266,14 @@ function FurnitureCatalogue.DebugOut(output, a1, a2, a3, a4, a5, a6, a7, a8, a9, end end -local function p(output, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) - FurC.DebugOut(output, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +local function p(...) + FurC.DebugOut(...) end function whoami() return FurnitureCatalogue.CharacterName end -local function setupSourceDropdown() - - - FurnitureCatalogue.DropdownData.ChoicesSource = choicesSource - FurnitureCatalogue.DropdownData.TooltipsSource = tooltipsSource - - sourceIndices = {} - - for idx, key in pairs(sourceIndicesKeys) do - sourceIndices[key] = idx - end - FurC.SourceIndices = sourceIndices -end function FurnitureCatalogue_ToggleDev(arg) if arg == 0 or arg == "true" then @@ -256,7 +301,7 @@ function FurnitureCatalogue_Initialize(eventCode, addOnName) FurC.settings.filterQuality = {} setupSourceDropdown() - FurnitureCatalogue.CreateSettings(FurnitureCatalogue.settings, defaults, FurnitureCatalogue) + FurnitureCatalogue.CreateSettings(FurnitureCatalogue.settings, defaults, FurnitureCatalogue) FurnitureCatalogue.CharacterName = zo_strformat(GetUnitName('player')) @@ -277,8 +322,7 @@ function FurnitureCatalogue_Initialize(eventCode, addOnName) FurnitureCatalogue.ScanRecipes(scanFiles, not FurC.GetSkipInitialScan()) FurC.settings.databaseVersion = FurC.version SLASH_COMMANDS["/fur"] = FurnitureCatalogue_Toggle - - + FurC.SetFilter(true) EVENT_MANAGER:UnregisterForEvent("FurnitureCatalogue", EVENT_ADD_ON_LOADED)