diff --git a/Classes/ConfigTab.lua b/Classes/ConfigTab.lua index edb23dac7..ea483e9b0 100644 --- a/Classes/ConfigTab.lua +++ b/Classes/ConfigTab.lua @@ -167,6 +167,22 @@ local ConfigTabClass = common.NewClass("ConfigTab", "UndoHandler", "ControlHost" end end control.tooltipText = varData.tooltip + elseif varData.ifEquipped then + -- Capture name for tooltip + local itemName = "" + control.shown = function() + -- Iterate over each slot and see if any item name matches what we want + for _,slot in pairs(self.build.itemsTab.slots) do + if self.build.itemsTab.items[slot.selItemId] and self.build.itemsTab.items[slot.selItemId].name:match(varData.ifEquipped) then + itemName = self.build.itemsTab.items[slot.selItemId].name + return true + end + end + return false + end + control.tooltipText = function() + return "This option is specific to "..itemName + end else control.tooltipText = varData.tooltip end diff --git a/Modules/ConfigOptions.lua b/Modules/ConfigOptions.lua index c87d07291..02a5f6967 100644 --- a/Modules/ConfigOptions.lua +++ b/Modules/ConfigOptions.lua @@ -421,6 +421,10 @@ return { modList:NewMod("Condition:PendulumOfDestructionElementalDamage", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) end end }, + { var = "buffAvatarOfFire", type = "check", label = "Is Avatar of Fire active?", ifEquipped = "Vulconus", apply = function(val, modList, enemyModList) + modList:NewMod("Keystone", "LIST", "Avatar of Fire", "Config", { type = "Condition", var = "Combat" }) + modList:NewMod("Condition:HaveAvatarOfFire", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) + end }, { var = "buffConflux", type = "list", label = "Conflux Buff:", ifNode = 51391, list = {{val=0,label="None"},{val="CHILLING",label="Chilling"},{val="SHOCKING",label="Shocking"},{val="IGNITING",label="Igniting"},{val="ALL",label="Chill + Shock + Ignite"}}, apply = function(val, modList, enemyModList) if val == "CHILLING" or val == "ALL" then modList:NewMod("Condition:ChillingConflux", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) diff --git a/Modules/ModParser-3_0.lua b/Modules/ModParser-3_0.lua index f0fde8da9..12f19de5a 100644 --- a/Modules/ModParser-3_0.lua +++ b/Modules/ModParser-3_0.lua @@ -658,6 +658,8 @@ local modTagList = { ["if no worn items are corrupted"] = { tag = { type = "MultiplierThreshold", var = "CorruptedItem", threshold = 0, upper = true } }, ["if all worn items are corrupted"] = { tag = { type = "MultiplierThreshold", var = "NonCorruptedItem", threshold = 0, upper = true } }, -- Player status conditions + ["while you have avatar of fire"] = { tag = { type = "Condition", var = "HaveAvatarOfFire" } }, + ["while you do not have avatar of fire"] = { tag = { type = "Condition", var = "HaveAvatarOfFire", neg = true } }, ["wh[ie][ln]e? on low life"] = { tag = { type = "Condition", var = "LowLife" } }, ["wh[ie][ln]e? not on low life"] = { tag = { type = "Condition", var = "LowLife", neg = true } }, ["wh[ie][ln]e? on full life"] = { tag = { type = "Condition", var = "FullLife" } }, @@ -1395,6 +1397,7 @@ local suffixTypes = { ["converted to lightning"] = "ConvertToLightning", ["converted to lightning damage"] = "ConvertToLightning", ["converted to cold damage"] = "ConvertToCold", + ["converted to fire"] = "ConvertToFire", ["converted to fire damage"] = "ConvertToFire", ["converted to chaos damage"] = "ConvertToChaos", ["added as energy shield"] = "GainAsEnergyShield",