From 07b4273e28f75a179362516d5fd42c365e4955a0 Mon Sep 17 00:00:00 2001 From: Wofsauge Date: Mon, 3 Jun 2024 23:13:59 +0200 Subject: [PATCH] Fixed some BoC Issues and added new translation strings --- descriptions/rep/cs_cz.lua | 1 - descriptions/rep/de.lua | 1 - descriptions/rep/en_us.lua | 6 +++++- descriptions/rep/fr.lua | 1 - descriptions/rep/ja_jp.lua | 1 - descriptions/rep/ko_kr.lua | 1 - descriptions/rep/pt_br.lua | 1 - descriptions/rep/ru.lua | 1 - descriptions/rep/spa.lua | 1 - descriptions/rep/uk_ua.lua | 1 - descriptions/rep/zh_cn.lua | 1 - eid_bagofcrafting.lua | 15 +++------------ eid_config.lua | 2 +- eid_data.lua | 11 +++++++++++ eid_holdmapdesc.lua | 11 +++++++++-- main.lua | 1 + 16 files changed, 30 insertions(+), 26 deletions(-) diff --git a/descriptions/rep/cs_cz.lua b/descriptions/rep/cs_cz.lua index a42b7580..83599220 100644 --- a/descriptions/rep/cs_cz.lua +++ b/descriptions/rep/cs_cz.lua @@ -1117,7 +1117,6 @@ EID.descriptions[languageCode].CraftingBestQuality = "Nejlepší kvalita:" EID.descriptions[languageCode].CraftingHideKey = "Skrýt:" EID.descriptions[languageCode].CraftingPreviewKey = "Náhled:" -EID.descriptions[languageCode].CraftingPreviewBackup = "!!! Pokud je tento předmět uzamčen, změní se na" EID.descriptions[languageCode].CraftingResults = "(Posouvání: Podrž {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}}, Uzamknout: {{ButtonX}}, Obnovit: {{ButtonB}}, Resetovat pytlík: Podržet {{ButtonRB}})" diff --git a/descriptions/rep/de.lua b/descriptions/rep/de.lua index d792e7bd..e4e3ffe6 100644 --- a/descriptions/rep/de.lua +++ b/descriptions/rep/de.lua @@ -1159,7 +1159,6 @@ EID.descriptions[languageCode].CraftingBestQuality = "Beste Qualität:" EID.descriptions[languageCode].CraftingHideKey = "Verstecken:" EID.descriptions[languageCode].CraftingPreviewKey = "Vorschau:" -EID.descriptions[languageCode].CraftingPreviewBackup = "{{Warning}} Wenn dieser Gegenstand gesperrt ist, wird er zu" EID.descriptions[languageCode].CraftingResults = "(Scrollen: Halte {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}}, Sperren: {{ButtonX}}, Aktualisieren: {{ButtonB}}, Tasche zurücksetzen: Halte {{ButtonRB}})" diff --git a/descriptions/rep/en_us.lua b/descriptions/rep/en_us.lua index 49724019..c568aeb9 100644 --- a/descriptions/rep/en_us.lua +++ b/descriptions/rep/en_us.lua @@ -1158,9 +1158,13 @@ EID.descriptions[languageCode].CraftingBestQuality = "Best Quality:" EID.descriptions[languageCode].CraftingHideKey = "Hide:" EID.descriptions[languageCode].CraftingPreviewKey = "Preview:" -EID.descriptions[languageCode].CraftingPreviewBackup = "{{Warning}} If this item's locked, it will turn into" -- {1} will be converted to the number of recipes EID.descriptions[languageCode].CraftingMore = "...+{1} more" +-- {1} will be converted into the number of available items +EID.descriptions[languageCode].CraftingNumAvailableItems = "{1} of 8 items available" +EID.descriptions[languageCode].CraftingWarningAvailableItems = "Needs at least 8 to show crafting recipes!" +-- {1} will be converted into the name of the key that toggles the BoC visibility +EID.descriptions[languageCode].CraftingIsHidden = "Currently Hidden (Unhide with {1})" EID.descriptions[languageCode].CraftingResults = "(Scroll: Hold {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}}, Lock: {{ButtonX}}, Refresh: {{ButtonB}}, Reset Bag: Hold {{ButtonRB}}, Search: {{ButtonEnter}})" diff --git a/descriptions/rep/fr.lua b/descriptions/rep/fr.lua index 0ce92901..b20d1b6f 100644 --- a/descriptions/rep/fr.lua +++ b/descriptions/rep/fr.lua @@ -1312,7 +1312,6 @@ EID.descriptions[languageCode].CraftingBestQuality = "Plus haute qualité:" EID.descriptions[languageCode].CraftingHideKey = "Masquer:" EID.descriptions[languageCode].CraftingPreviewKey = "Prévisualiser:" -EID.descriptions[languageCode].CraftingPreviewBackup = "{{Warning}} Si cet objet n'a pas été débloqué, il deviendra" EID.descriptions[languageCode].CraftingResults = "(Défiler: maintenir {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}},#Verrouiller: {{ButtonX}}, Rafraîchir: {{ButtonB}})" diff --git a/descriptions/rep/ja_jp.lua b/descriptions/rep/ja_jp.lua index e291679e..cc6ffe22 100644 --- a/descriptions/rep/ja_jp.lua +++ b/descriptions/rep/ja_jp.lua @@ -1185,7 +1185,6 @@ EID.descriptions[languageCode].CraftingBestQuality = "最高品質:" EID.descriptions[languageCode].CraftingHideKey = "レシピの非表示:" EID.descriptions[languageCode].CraftingPreviewKey = "アイテムの確認:" -EID.descriptions[languageCode].CraftingPreviewBackup = "!!! アンロックされていない場合" EID.descriptions[languageCode].CraftingResults = "レシピ操作:マップ表示中、#{{Blank}}  {{ButtonY}} {{ButtonA}} でスクロール#{{Blank}}  {{ButtonX}} でレシピ固定#{{Blank}}  {{ButtonB}} でレシピ更新" diff --git a/descriptions/rep/ko_kr.lua b/descriptions/rep/ko_kr.lua index 0028255f..8c7cd375 100644 --- a/descriptions/rep/ko_kr.lua +++ b/descriptions/rep/ko_kr.lua @@ -1281,7 +1281,6 @@ EID.descriptions[languageCode].CraftingBestQuality = "최고등급:" EID.descriptions[languageCode].CraftingHideKey = "숨기기:" EID.descriptions[languageCode].CraftingPreviewKey = "미리보기:" -EID.descriptions[languageCode].CraftingPreviewBackup = "!!! 아이템이 해금되어 있지 않을 경우 결과가 달라질 수 있습니다." EID.descriptions[languageCode].CraftingResults = "목록 스크롤: {{CONFIG_BoC_Toggle}}+{{ButtonY}}or{{ButtonA}}#목록 고정:{{ButtonX}}#목록 새로고침:{{ButtonB}}#초기화:{{ButtonRB}}꾹 누르기, 찾기:{{ButtonEnter}})" diff --git a/descriptions/rep/pt_br.lua b/descriptions/rep/pt_br.lua index 1fa98b51..502d3343 100644 --- a/descriptions/rep/pt_br.lua +++ b/descriptions/rep/pt_br.lua @@ -1079,7 +1079,6 @@ EID.descriptions[languageCode].CraftingBestQuality = "Melhor Qualidade:" EID.descriptions[languageCode].CraftingHideKey = "Esconder:" EID.descriptions[languageCode].CraftingPreviewKey = "Visualizar:" -EID.descriptions[languageCode].CraftingPreviewBackup = "!!! Se este item estiver bloqueado, ele se transformará em" EID.descriptions[languageCode].CraftingResults = "(Rolar: Segurar {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}}, Travar: {{ButtonX}}, Atualizar: {{ButtonB}}, Redefinir a Bolsa: Hold {{ButtonRB}})" diff --git a/descriptions/rep/ru.lua b/descriptions/rep/ru.lua index 206afde3..c9b6b98f 100644 --- a/descriptions/rep/ru.lua +++ b/descriptions/rep/ru.lua @@ -1066,7 +1066,6 @@ EID.descriptions[languageCode].CraftingBestQuality = "Лучшее качест EID.descriptions[languageCode].CraftingHideKey = "Спрятать:" EID.descriptions[languageCode].CraftingPreviewKey = "Показать:" -EID.descriptions[languageCode].CraftingPreviewBackup = "!!! Если артефакт не открыт, он превратится в" EID.descriptions[languageCode].CraftingResults = "(Листать: зажать {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}},#Заблокировать: {{ButtonX}}, Обновить: {{ButtonB}})" diff --git a/descriptions/rep/spa.lua b/descriptions/rep/spa.lua index 6b6d9059..633a334e 100644 --- a/descriptions/rep/spa.lua +++ b/descriptions/rep/spa.lua @@ -1123,7 +1123,6 @@ EID.descriptions[languageCode].CraftingBestQuality = "Mejor Calidad:" EID.descriptions[languageCode].CraftingHideKey = "Ocultar:" EID.descriptions[languageCode].CraftingPreviewKey = "Prevista:" -EID.descriptions[languageCode].CraftingPreviewBackup = "!!! Si este objeto está bloqueado, se convertirá en" EID.descriptions[languageCode].CraftingBagModError = "!!! {{ColorRed}}ERROR:#{{ColorRed}}El \"Cálculo de Recetas\" actualmente no funciona con mods que añaden objetos!#{{ColorRed}}Por favor desinstala los mods de objetos o desactiva las descripciones de Bag of Crafting en la configuración" EID.descriptions[languageCode].CraftingResults = "(Desplazar: mantén {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}},#Bloquear: {{ButtonX}}, Refrescar: {{ButtonB}})" diff --git a/descriptions/rep/uk_ua.lua b/descriptions/rep/uk_ua.lua index d0bf0671..28bc6137 100644 --- a/descriptions/rep/uk_ua.lua +++ b/descriptions/rep/uk_ua.lua @@ -1189,7 +1189,6 @@ EID.descriptions[languageCode].CraftingBestQuality = "Найкраща Якіс EID.descriptions[languageCode].CraftingHideKey = "Сховати:" EID.descriptions[languageCode].CraftingPreviewKey = "Показати:" -EID.descriptions[languageCode].CraftingPreviewBackup = "!!! Якщо артефакт не був відкритий, він перетвориться в" EID.descriptions[languageCode].CraftingResults = "(Гортати: Утримуйте {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}}, Закріпити: {{ButtonX}}, Оновити: {{ButtonB}}, Скинути: Утримуйте {{ButtonRB}})" diff --git a/descriptions/rep/zh_cn.lua b/descriptions/rep/zh_cn.lua index 9134ad36..1b7795d0 100644 --- a/descriptions/rep/zh_cn.lua +++ b/descriptions/rep/zh_cn.lua @@ -1090,7 +1090,6 @@ EID.descriptions[languageCode].CraftingBestQuality = "最好品质:" EID.descriptions[languageCode].CraftingHideKey = "隐藏:" EID.descriptions[languageCode].CraftingPreviewKey = "预览:" -EID.descriptions[languageCode].CraftingPreviewBackup = "!!! 如果该道具锁定,则会变为" EID.descriptions[languageCode].CraftingResults = "(滚动:按住 {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}},锁定:{{ButtonX}},刷新:{{ButtonB}},重置袋:按住 {{ButtonRB}})" diff --git a/eid_bagofcrafting.lua b/eid_bagofcrafting.lua index 2b2c9046..41e787d3 100644 --- a/eid_bagofcrafting.lua +++ b/eid_bagofcrafting.lua @@ -554,15 +554,6 @@ local function combinations(arr, length, startPos, tempResult, randResults, newR combinations(arr,length-1, i+1, tempResult, randResults, newResults) end end ---code from InputHelper in MCM -local HotkeyToString = {} -for key,num in pairs(Keyboard) do - local keyString = key - local keyStart, keyEnd = string.find(keyString, "KEY_") - keyString = string.sub(keyString, keyEnd+1, string.len(keyString)) - keyString = string.gsub(keyString, "_", " ") - HotkeyToString[num] = keyString -end local function getHotkeyString() if (not EID.Config["BagOfCraftingShowControls"]) then return "" end @@ -571,9 +562,9 @@ local function getHotkeyString() local previewDesc = EID:getDescriptionEntry("CraftingPreviewKey") local controllerEnabled = EID.bagPlayer.ControllerIndex > 0 - local hideKey = HotkeyToString[EID.Config["CraftingHideKey"]] + local hideKey = EID.KeyboardToString[EID.Config["CraftingHideKey"]] local hideButton = controllerEnabled and EID.ButtonToIconMap[EID.Config["CraftingHideButton"]] - local previewKey = HotkeyToString[EID.Config["CraftingResultKey"]] + local previewKey = EID.KeyboardToString[EID.Config["CraftingResultKey"]] local previewButton = controllerEnabled and EID.ButtonToIconMap[EID.Config["CraftingResultButton"]] if hideKey or hideButton then hotkeyString = hideDesc .. " " end @@ -592,7 +583,7 @@ local function getHotkeyString() end end if hotkeyString ~= "" then - hotkeyString = "!!! " .. hotkeyString .. "#" + hotkeyString = "!!! {{NoLineBreak}}" .. hotkeyString .. "#" end return hotkeyString diff --git a/eid_config.lua b/eid_config.lua index 64c596ec..a7007615 100644 --- a/eid_config.lua +++ b/eid_config.lua @@ -417,7 +417,7 @@ EID.UserConfig = { ["CraftingHideButton"] = -1, -- Set the keybinding to toggle viewing the description of the item ready to be crafted in the bag -- Look into the AB+ or Repentance documentation for the key names here: https://wofsauge.github.io/IsaacDocs/rep/enums/Keyboard.html - -- Default = Keyboard.KEY_F3 + -- Default = Keyboard.KEY_F4 ["CraftingResultKey"] = Keyboard.KEY_F4, -- Set the controller binding to toggle viewing the description of the item ready to be crafted in the bag -- Use the controller names here: https://github.com/wofsauge/External-Item-Descriptions/blob/master/mod_config_menu.lua#L1 or a number diff --git a/eid_data.lua b/eid_data.lua index 146d476c..eca1a9f0 100644 --- a/eid_data.lua +++ b/eid_data.lua @@ -15,6 +15,17 @@ EID.ButtonToIconMap = { [ButtonAction.ACTION_PAUSE] = "{{ButtonMenu}}", } +EID.KeyboardToString = {} +--code from InputHelper in MCM +for key, num in pairs(Keyboard) do + local keyString = key + local _, keyEnd = string.find(keyString, "KEY_") + keyString = string.sub(keyString, keyEnd + 1, string.len(keyString)) + keyString = string.gsub(keyString, "_", " ") + EID.KeyboardToString[num] = keyString +end + + -- List of Effect variants that should be handled for descriptions EID.effectList = { ["76"] = true, diff --git a/eid_holdmapdesc.lua b/eid_holdmapdesc.lua index f2c1d756..2b49b13e 100644 --- a/eid_holdmapdesc.lua +++ b/eid_holdmapdesc.lua @@ -195,8 +195,15 @@ EID.ItemReminderDescriptionModifier = { local inventoryQuery = EID.BoC.InventoryOverride or EID.BoC.InventoryQuery local bagItems = EID.BoC.BagItemsOverride or EID.BoC.BagItems local total = #floorQuery + #inventoryQuery + #bagItems - local text = total .. " of 8 items available" - if total < 8 then text = text .. "#{{Warning}} Needs at least 8 to show crafting recipes!" end + local text = EID:ReplaceVariableStr(EID:getDescriptionEntry("CraftingNumAvailableItems"), 1, total) + if total < 8 then text = text .. "#{{Warning}} ".. EID:getDescriptionEntry("CraftingWarningAvailableItems") end + + if EID.CraftingIsHidden then + local controllerEnabled = EID.bagPlayer.ControllerIndex > 0 + local hideKey = EID.KeyboardToString[EID.Config["CraftingHideKey"]] + local hideButton = controllerEnabled and EID.ButtonToIconMap[EID.Config["CraftingHideButton"]] + text = text .. "#!!! ".. EID:ReplaceVariableStr(EID:getDescriptionEntry("CraftingIsHidden"), 1, (hideKey or hideButton)) + end descObj.Description = text end }, diff --git a/main.lua b/main.lua index d8dd6a29..63cd0b0b 100644 --- a/main.lua +++ b/main.lua @@ -1682,6 +1682,7 @@ local json = require("json") local configIgnoreList = { ["BagContent"] = true, ["BagFloorContent"] = true, + ["LearnedRecipes"] = true, ["CraneItemType"] = true, ["FlipItemPositions"] = true, ["AbsorbedItems"] = true,