From 2bdf9b1691f939ec9db650a9db1dd78877146e82 Mon Sep 17 00:00:00 2001 From: the-Astra Date: Mon, 22 Dec 2025 21:21:00 -0500 Subject: [PATCH 1/2] Initial --- lovely/better_calc.toml | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/lovely/better_calc.toml b/lovely/better_calc.toml index f2357b8e1..378ec5c14 100644 --- a/lovely/better_calc.toml +++ b/lovely/better_calc.toml @@ -2000,4 +2000,31 @@ if ret then ret.colour = G.C.RED return ret end -''' \ No newline at end of file +''' + +# Add modify_final_cashout +[[patches]] +[patches.pattern] +target = "functions/state_events.lua" +pattern = ''' + dollars = dollars + G.GAME.interest_amount*math.min(math.floor(G.GAME.dollars/5), G.GAME.interest_cap/5) +end +''' +position = "after" +payload = ''' + + for _, area in ipairs(SMODS.get_card_areas('jokers')) do + for _, _card in ipairs(area.cards) do + local ret = _card:modify_final_cashout(dollars) + + -- TARGET: calc_dollar_bonus per card + if ret then + i = i+1 + add_round_eval_row({dollars = ret, bonus = true, name='joker'..i, pitch = pitch, card = _card}) + pitch = pitch + 0.06 + dollars = dollars + ret + end + end + end +''' +match_indent = false \ No newline at end of file From f363b4dea751a052682d1d46a94faed45061dda0 Mon Sep 17 00:00:00 2001 From: the-Astra Date: Fri, 6 Feb 2026 01:35:43 -0500 Subject: [PATCH 2/2] Actually make this work --- lovely/better_calc.toml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/lovely/better_calc.toml b/lovely/better_calc.toml index 378ec5c14..ff63a2713 100644 --- a/lovely/better_calc.toml +++ b/lovely/better_calc.toml @@ -2014,15 +2014,18 @@ position = "after" payload = ''' for _, area in ipairs(SMODS.get_card_areas('jokers')) do - for _, _card in ipairs(area.cards) do - local ret = _card:modify_final_cashout(dollars) - - -- TARGET: calc_dollar_bonus per card - if ret then - i = i+1 - add_round_eval_row({dollars = ret, bonus = true, name='joker'..i, pitch = pitch, card = _card}) - pitch = pitch + 0.06 - dollars = dollars + ret + for _, _card in ipairs(area.cards) do + local obj = _card.config.center + if obj.modify_final_cashout and type(obj.modify_final_cashout) == 'function' then + local ret = obj:modify_final_cashout(_card, dollars) + + -- TARGET: modify_final_cashout per card + if ret then + add_round_eval_row({dollars = ret, bonus = true, name='joker'..i, pitch = pitch, card = _card}) + i = i+1 + pitch = pitch + 0.06 + dollars = dollars + ret + end end end end