Skip to content

Commit 1ff904d

Browse files
committed
Add warning for eligible items missing an anoint
1 parent 454eff8 commit 1ff904d

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

src/Modules/Build.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1701,6 +1701,9 @@ function buildMode:InsertItemWarnings()
17011701
InsertIfNew(self.controls.warnings.lines, "You have too many gems in your "..warning.." slot")
17021702
end
17031703
end
1704+
if self.calcsTab.mainEnv.itemWarnings.missingAnointWarning then
1705+
InsertIfNew(self.controls.warnings.lines, "You have eligible items missing an anoint: "..table.concat(self.calcsTab.mainEnv.itemWarnings.missingAnointWarning, ", "))
1706+
end
17041707
end
17051708

17061709
-- Build list of side bar stats

src/Modules/CalcSetup.lua

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,21 @@ local m_max = math.max
1414

1515
local tempTable1 = { }
1616

17+
local function isAnointableItem(item)
18+
return item and item.base and (item.canBeAnointed or item.base.type == "Amulet")
19+
end
20+
21+
local function itemHasAnoint(item)
22+
for _, modList in ipairs({ item.enchantModLines, item.scourgeModLines, item.implicitModLines, item.explicitModLines, item.crucibleModLines }) do
23+
for _, mod in ipairs(modList or {}) do
24+
if mod.line and mod.line:find("Allocates ", 1, true) then
25+
return true
26+
end
27+
end
28+
end
29+
return false
30+
end
31+
1732
-- Initialise modifier database with stats and conditions common to all actors
1833
function calcs.initModDB(env, modDB)
1934
modDB:NewMod("FireResistMax", "BASE", data.characterConstants["base_maximum_all_resistances_%"], "Base")
@@ -878,6 +893,14 @@ function calcs.initEnv(build, mode, override, specEnv)
878893
end
879894
end
880895

896+
for _, slot in ipairs(build.itemsTab.orderedSlots) do
897+
local item = items[slot.slotName]
898+
if isAnointableItem(item) and not itemHasAnoint(item) then
899+
env.itemWarnings.missingAnointWarning = env.itemWarnings.missingAnointWarning or { }
900+
t_insert(env.itemWarnings.missingAnointWarning, slot.label)
901+
end
902+
end
903+
881904
-- Track which flask slot (1-5) each flask is in, for adjacency checks
882905
env.flaskSlotMap = { }
883906
env.flaskSlotOccupied = { }

0 commit comments

Comments
 (0)