Add support for summoning blinds

This commit is contained in:
Emik 2026-07-15 15:22:58 +02:00
parent adc431f5cd
commit c199c236ab
Signed by: emik
GPG key ID: 6B0CD72A5E503BDF
3 changed files with 38 additions and 5 deletions

View file

@ -154,7 +154,6 @@ target = "card.lua"
pattern = "math\\.floor\\(\\(G\\.GAME\\.dollars \\+ \\(G\\.GAME\\.dollar_buffer or 0\\)\\)/self\\.ability\\.extra\\.dollars\\)" pattern = "math\\.floor\\(\\(G\\.GAME\\.dollars \\+ \\(G\\.GAME\\.dollar_buffer or 0\\)\\)/self\\.ability\\.extra\\.dollars\\)"
position = "at" position = "at"
payload = "SMODS.Mods.Roland.bootstraps_mult(self)" payload = "SMODS.Mods.Roland.bootstraps_mult(self)"
match_indent = true
[[patches]] [[patches]]
[patches.regex] [patches.regex]
@ -177,3 +176,27 @@ pattern = "value = value + card.ability[property]"
position = "at" position = "at"
payload = "value = value + (card.ability[property] or 0)" payload = "value = value + (card.ability[property] or 0)"
match_indent = true match_indent = true
# [[patches]]
# [patches.pattern]
# target = '=[SMODS DebugPlus "debugplus/console.lua"]'
# pattern = "if toCheck == '/' or toCheck == 'kp/' then"
# position = "at"
# payload = "if toCheck == '/' or toCheck == 'kp/' or toCheck == 'f' then"
# match_indent = true
# [[patches]]
# [patches.pattern]
# target = '=[SMODS DebugPlus "debugplus/console.lua"]'
# pattern = 'local cmdName = string.lower(string.gsub(inputText, "^(%S+).*", "%1"))'
# position = "at"
# payload = 'local cmdName = "eval"'
# match_indent = true
# [[patches]]
# [patches.pattern]
# target = '=[SMODS DebugPlus "debugplus/console.lua"]'
# pattern = 'local rawArgs = string.gsub(inputText, "^%S+%s*(.*)", "%1")'
# position = "at"
# payload = 'local cmdName = inputText'
# match_indent = true

View file

@ -3,7 +3,7 @@
"id": "Roland", "id": "Roland",
"name": "Roland", "name": "Roland",
"prefix": "Roland", "prefix": "Roland",
"version": "2.9.58", "version": "2.9.59",
"badge_colour": "8BE9FD", "badge_colour": "8BE9FD",
"display_name": "Roland", "display_name": "Roland",
"main_file": "src/main.lua", "main_file": "src/main.lua",

View file

@ -13,6 +13,14 @@ local function add(v)
return xop return xop
end end
if G.P_BLINDS[v] then
G.from_boss_tag = true
G.GAME.perscribed_bosses = G.GAME.perscribed_bosses or {}
G.GAME.perscribed_bosses[G.GAME.round_resets.ante] = v
G.FUNCS.reroll_boss()
return G.P_BLINDS[v]
end
if not G.P_TAGS[v] then if not G.P_TAGS[v] then
return SMODS.add_card {no_edition = true, key = v} return SMODS.add_card {no_edition = true, key = v}
end end
@ -43,7 +51,9 @@ local function find(it)
end end
local match = simplify(it) local match = simplify(it)
local pool = f(G.P_CENTER_POOLS):any(f.chain(f.arg(2), simplify, f.eq(match)))
local pool = match == "Blind" and G.P_BLINDS or
f(G.P_CENTER_POOLS):any(f.chain(f.arg(2), simplify, f.eq(match)))
if type(pool) == "table" and next(pool) then if type(pool) == "table" and next(pool) then
return pseudorandom_element(pool, pseudoseed "Roland_c").key return pseudorandom_element(pool, pseudoseed "Roland_c").key
@ -56,9 +66,9 @@ local function find(it)
return f(G.localization.descriptions) return f(G.localization.descriptions)
:flatmap(flatten) :flatmap(flatten)
:where(type, "table") :where(type, "table")
:where(f.chain(f.arg(2), f.index_into(G.P_CENTERS), "config"))
:where(function(v, k) :where(function(v, k)
return match == simplify(k) or match == simplify(v.name) return ((G.P_CENTERS[k] or {}).config or G.P_BLINDS[k]) and
match == simplify(k) or match == simplify(v.name)
end) end)
:keys() :keys()
:any() :any()