feat: extend tiles with Tiles.isLava and Tiles.isChasm

This commit is contained in:
dualfroz committed 2026-09-08 16:04:55 +02:00
1 parent b7a55eabed
commit 598dfaf79e
3 files changed
+137

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
-- Renown-gated titles: a flavor rank meta.lua's own banked renown climbs
-- through, one tier per crossed threshold, entirely separate from a
-- character's class - a title describes how far this save file's whole
-- history has come, not what any single run's build looked like.
local Titles = {}
Titles.LADDER = {
{ threshold = 0, name = "Whelp" },
{ threshold = 50, name = "Delver" },
{ threshold = 150, name = "Warden" },
{ threshold = 350, name = "Vanquisher" },
{ threshold = 700, name = "Warren Lord" },
{ threshold = 1500, name = "Undying" },
}
-- The highest title whose threshold `renown` clears, walked from the top of
-- the ladder down so a renown total that clears several thresholds at once
-- always resolves to the hardest-earned name rather than the first match.
function Titles.forRenown(renown)
for i = #Titles.LADDER, 1, -1 do
if renown >= Titles.LADDER[i].threshold then return Titles.LADDER[i].name end
end
return Titles.LADDER[1].name
end
-- Renown still needed to clear the next threshold above `renown`, or nil
-- once renown has already cleared the top of the ladder and there is
-- nothing left to climb toward.
function Titles.toNext(renown)
for _, tier in ipairs(Titles.LADDER) do
if renown < tier.threshold then return tier.threshold - renown end
end
return nil
end
return Titles