balatro-mods/HandyBalatro/lovely.toml
2025-01-19 15:01:49 +08:00

190 lines
4 KiB
TOML

[manifest]
version = "1.0.0"
dump_lua = true
priority = 0
[[patches]]
[patches.copy]
target = "main.lua"
position = "append"
sources = ["index.lua"]
[[patches]]
[patches.copy]
target = "main.lua"
position = "append"
sources = ["config_ui.lua"]
# Skipping Cash Out stage
[[patches]]
[patches.pattern]
target = "functions/common_events.lua"
pattern = '''local num_dollars = config.dollars or 1'''
position = "after"
payload = '''
Handy.insta_cash_out.dollars = config.dollars or 1
'''
match_indent = true
overwrite = false
[[patches]]
[patches.pattern]
target = "functions/common_events.lua"
pattern = '''G.GAME.current_round.dollars = config.dollars'''
position = "before"
payload = '''
Handy.insta_cash_out.is_button_created = true
'''
match_indent = true
overwrite = false
[[patches]]
[patches.pattern]
target = "functions/button_callbacks.lua"
pattern = '''G.deck:shuffle('cashout'..G.GAME.round_resets.ante)'''
position = "before"
payload = '''
Handy.insta_cash_out.is_button_created = false
'''
match_indent = true
overwrite = false
[[patches]]
[patches.pattern]
target = "functions/button_callbacks.lua"
pattern = '''G.FUNCS.cash_out = function(e)'''
position = "after"
payload = '''
if Handy.insta_cash_out.is_skipped and e.config.button then return end
'''
match_indent = true
overwrite = false
[[patches]]
[patches.pattern]
target = "game.lua"
pattern = '''G.ACC = math.min((G.ACC or 0) + dt*0.2*self.SETTINGS.GAMESPEED, 16)'''
position = "after"
payload = '''
elseif Handy.insta_cash_out.is_skipped then G.ACC = 999
'''
match_indent = true
overwrite = false
[[patches]]
[patches.pattern]
target = "functions/button_callbacks.lua"
pattern = '''G.STATE = G.STATES.SHOP'''
position = "after"
payload = '''
Handy.insta_cash_out.is_skipped = false
'''
match_indent = true
overwrite = false
# Skipping booster
[[patches]]
[patches.pattern]
target = "functions/button_callbacks.lua"
pattern = '''G.GAME.PACK_INTERRUPT = nil'''
position = "after"
payload = '''
Handy.insta_booster_skip.is_skipped = false
'''
match_indent = true
overwrite = false
# Draw UI
[[patches]]
[patches.pattern]
target = "game.lua"
pattern = '''self.GAME = saveTable and saveTable.GAME or self:init_game_object()'''
position = "after"
payload = '''
Handy.UI.init()
'''
match_indent = true
overwrite = false
# Mouse listeners
[[patches]]
[patches.pattern]
target = "main.lua"
pattern = '''function love.mousepressed(x, y, button, touch)'''
position = "after"
payload = '''
if not touch and Handy.controller.process_mouse(button, false) then return end
'''
match_indent = true
overwrite = false
[[patches]]
[patches.pattern]
target = "main.lua"
pattern = '''function love.mousereleased(x, y, button)'''
position = "after"
payload = '''
if Handy.controller.process_mouse(button, true) then return end
'''
match_indent = true
overwrite = false
# Key listeners
[[patches]]
[patches.pattern]
target = "main.lua"
pattern = '''function love.keypressed(key)'''
position = "after"
payload = '''
if Handy.controller.process_key(key, false) then return end
'''
match_indent = true
overwrite = false
[[patches]]
[patches.pattern]
target = "main.lua"
pattern = '''function love.keyreleased(key)'''
position = "after"
payload = '''
if Handy.controller.process_key(key, true) then return end
'''
match_indent = true
overwrite = false
# Handle card click
[[patches]]
[patches.pattern]
target = "card.lua"
pattern = '''function Card:click()'''
position = "after"
payload = '''
if Handy.controller.process_card_click(self) then return end
'''
match_indent = true
overwrite = false
# Handle card hover
[[patches]]
[patches.pattern]
target = "card.lua"
pattern = '''function Card:hover()'''
position = "after"
payload = '''
if Handy.controller.process_card_hover(self) then return end
'''
match_indent = true
overwrite = false
# Apply multiplier to speed
[[patches]]
[patches.pattern]
target = "game.lua"
pattern = '''self.SPEEDFACTOR = self.SPEEDFACTOR + math.max(0, math.abs(G.ACC) - 2)'''
position = "after"
payload = '''
self.SPEEDFACTOR = self.SPEEDFACTOR * Handy.speed_multiplier.value or 1
'''
match_indent = true
overwrite = false