From 5e3c939b946db87bfd88efe7ee5cc571291be533 Mon Sep 17 00:00:00 2001 From: Wofsauge Date: Tue, 20 Jul 2021 19:05:07 +0200 Subject: [PATCH] Adds hiding feature for Cards/pills spawned by Options? item --- eid_config.lua | 8 ++++++++ main.lua | 6 ++++-- metadata.xml | 2 +- mod_config_menu.lua | 44 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 3 deletions(-) diff --git a/eid_config.lua b/eid_config.lua index 20f9c630..ed0f072c 100644 --- a/eid_config.lua +++ b/eid_config.lua @@ -124,6 +124,9 @@ EID.UserConfig = { -- Toggle Display of Soulstone descriptions when its not accessable with walking. AKA behind rock, blocks, spikes -- Default = true ["DisplayObstructedSoulstoneInfo"] = true, + -- Toggle Display of Card / Rune descriptions that are spawned with the Options? item + -- Default = false + ["DisplayCardInfoOptions?"] = false, ------------PILLS-------------- @@ -136,6 +139,9 @@ EID.UserConfig = { -- Toggle Display of Pill descriptions when its not accessable with walking. AKA behind rock, blocks, spikes -- Default = true ["DisplayObstructedPillInfo"] = true, + -- Toggle Display of Pill descriptions that are spawned with the Options? item + -- Default = true + ["DisplayPillInfoOptions?"] = true, -- Toggle Display of Pill descriptions that arent known to you yet -- Default = false ["ShowUnidentifiedPillDescriptions"] = false, @@ -245,8 +251,10 @@ EID.DefaultConfig = { ["DisplaySoulstoneInfoShop"] = true, ["DisplayObstructedCardInfo"] = false, ["DisplayObstructedSoulstoneInfo"] = true, + ["DisplayCardInfoOptions?"] = false, ["DisplayPillInfo"] = true, ["DisplayPillInfoShop"] = true, + ["DisplayPillInfoOptions?"] = true, ["DisplayObstructedPillInfo"] = true, ["ShowUnidentifiedPillDescriptions"] = false, ["DisplaySacrificeInfo"] = true, diff --git a/main.lua b/main.lua index 1d3e5690..ace8f965 100644 --- a/main.lua +++ b/main.lua @@ -668,8 +668,9 @@ local function onRender(t) if closest:GetData()["EID_DontHide"] ~= true then local isSoulstone = closest.SubType >= 81 and closest.SubType <= 97 local hideinShop = closest:ToPickup():IsShopItem() and ((not isSoulstone and not EID.Config["DisplayCardInfoShop"]) or (isSoulstone and not EID.Config["DisplaySoulstoneInfoShop"])) + local isOptionsSpawn = closest:ToPickup().OptionsPickupIndex > 0 and not EID.Config["DisplayCardInfoOptions?"] local obstructed = ((not isSoulstone and not EID.Config["DisplayObstructedCardInfo"]) or (not EID.Config["DisplayObstructedSoulstoneInfo"] and isSoulstone)) and not EID.hasValidWalkingpath - if hideinShop or obstructed or (REPENTANCE and game.Challenge == Challenge.CHALLENGE_CANTRIPPED) then + if isOptionsSpawn or hideinShop or obstructed or (REPENTANCE and game.Challenge == Challenge.CHALLENGE_CANTRIPPED) then EID:renderQuestionMark() return end @@ -683,7 +684,8 @@ local function onRender(t) return end if closest:GetData()["EID_DontHide"] ~= true then - if (closest:ToPickup():IsShopItem() and not EID.Config["DisplayPillInfoShop"]) or (not EID.Config["DisplayObstructedPillInfo"] and not EID.hasValidWalkingpath) then + local isOptionsSpawn = closest:ToPickup().OptionsPickupIndex > 0 and not EID.Config["DisplayPillInfoOptions?"] + if isOptionsSpawn or (closest:ToPickup():IsShopItem() and not EID.Config["DisplayPillInfoShop"]) or (not EID.Config["DisplayObstructedPillInfo"] and not EID.hasValidWalkingpath) then EID:renderQuestionMark() return end diff --git a/metadata.xml b/metadata.xml index 76586844..2723337e 100644 --- a/metadata.xml +++ b/metadata.xml @@ -90,7 +90,7 @@ https://moddingofisaac.com/mod/1079/external-item-descriptions - Jake for the sweet [b]German[/b] language pack - [url=https://steamcommunity.com/id/whytefang/]adc[/url] for creating an awesome new Languagepack and providing ideas for new functionalities - 3.67 + 3.68 Public diff --git a/mod_config_menu.lua b/mod_config_menu.lua index 5873c890..49dc4c4e 100644 --- a/mod_config_menu.lua +++ b/mod_config_menu.lua @@ -667,6 +667,50 @@ if MCMLoaded then Info = {"Preview of Items resulting when using the Spindown dice X times"} } ) + MCM.AddSpace("EID", "Display") + MCM.AddText("EID", "Display", "Interaction with 'Options?'") + + MCM.AddSetting( + "EID", + "Display", + { + Type = ModConfigMenu.OptionType.BOOLEAN, + CurrentSetting = function() + return EID.Config["DisplayCardInfoOptions?"] + end, + Display = function() + local onOff = "False" + if EID.Config["DisplayCardInfoOptions?"] then + onOff = "True" + end + return "Card Infos when spawned by 'Options?': " .. onOff + end, + OnChange = function(currentBool) + EID.Config["DisplayCardInfoOptions?"] = currentBool + end + } + ) + + MCM.AddSetting( + "EID", + "Display", + { + Type = ModConfigMenu.OptionType.BOOLEAN, + CurrentSetting = function() + return EID.Config["DisplayPillInfoOptions?"] + end, + Display = function() + local onOff = "False" + if EID.Config["DisplayPillInfoOptions?"] then + onOff = "True" + end + return "Pill Infos when spawned by 'Options?': " .. onOff + end, + OnChange = function(currentBool) + EID.Config["DisplayPillInfoOptions?"] = currentBool + end + } + ) MCM.AddSpace("EID", "Display") MCM.AddText("EID", "Display", "Bag of Crafting")