246 lines
9 KiB
TOML
246 lines
9 KiB
TOML
[manifest]
|
|
version = "1.0.0"
|
|
dump_lua = true
|
|
priority = 0
|
|
|
|
# Code UI disables hold R shortcut
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "engine/controller.lua"
|
|
pattern = 'if key == "r" and not G.SETTINGS.paused then'
|
|
position = "at"
|
|
payload = 'if key == "r" and not G.SETTINGS.paused and not (G.GAME and G.GAME.USING_CODE) then'
|
|
match_indent = true
|
|
|
|
|
|
# Payload - cash out UI
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/common_events.lua"
|
|
pattern = "elseif config.name == 'interest' then"
|
|
position = "before"
|
|
payload = '''
|
|
elseif config.name == 'interest_payload' then
|
|
table.insert(left_text, {n=G.UIT.T, config={text = num_dollars, scale = 0.8*scale, colour = G.C.SECONDARY_SET.Code, shadow = true, juice = true}})
|
|
table.insert(left_text,{n=G.UIT.O, config={object = DynaText({string = {" "..localize{type = 'variable', key = 'interest', vars = {G.GAME.interest_amount*config.payload, 5, G.GAME.interest_amount*config.payload*G.GAME.interest_cap/5}}}, colours = {G.C.SECONDARY_SET.Code}, shadow = true, pop_in = 0, scale = 0.4*scale, silent = true})}})
|
|
'''
|
|
match_indent = true
|
|
|
|
# Payload - cash out
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/state_events.lua"
|
|
pattern = "if G.GAME.dollars >= 5 and not G.GAME.modifiers.no_interest then"
|
|
position = "at"
|
|
payload = '''
|
|
if G.GAME.dollars >= 5 and not G.GAME.modifiers.no_interest and G.GAME.cry_payload then
|
|
add_round_eval_row({bonus = true, payload = G.GAME.cry_payload, name='interest_payload', pitch = pitch, dollars = G.GAME.interest_amount*G.GAME.cry_payload*math.min(math.floor(G.GAME.dollars/5), G.GAME.interest_cap/5)})
|
|
pitch = pitch + 0.06
|
|
if not G.GAME.seeded and not G.GAME.challenge then
|
|
if G.GAME.interest_amount*math.min(math.floor(G.GAME.dollars/5), G.GAME.interest_cap/5) == G.GAME.interest_amount*G.GAME.interest_cap/5 then
|
|
G.PROFILES[G.SETTINGS.profile].career_stats.c_round_interest_cap_streak = G.PROFILES[G.SETTINGS.profile].career_stats.c_round_interest_cap_streak + 1
|
|
else
|
|
G.PROFILES[G.SETTINGS.profile].career_stats.c_round_interest_cap_streak = 0
|
|
end
|
|
end
|
|
check_for_unlock({type = 'interest_streak'})
|
|
dollars = dollars + G.GAME.interest_amount*G.GAME.cry_payload*math.min(math.floor(G.GAME.dollars/5), G.GAME.interest_cap/5)
|
|
G.GAME.cry_payload = nil
|
|
elseif G.GAME.dollars >= 5 and not G.GAME.modifiers.no_interest then'''
|
|
match_indent = true
|
|
|
|
# Revert - fix a crash
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/button_callbacks.lua"
|
|
pattern = "if area and area.cards[1] then"
|
|
position = "at"
|
|
payload = "if area and area.cards and area.cards[1] then"
|
|
match_indent = true
|
|
|
|
# Crash - use glitched shader
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "game.lua"
|
|
pattern = "G.SHADERS['CRT']:send('glitch_intensity', 0)--0.1*G.SETTINGS.GRAPHICS.crt/100 + (G.screenwipe_amt) + 1)"
|
|
position = "at"
|
|
payload = "G.SHADERS['CRT']:send('glitch_intensity', glitched_intensity or 0)"
|
|
match_indent = true
|
|
|
|
# Semicolon - don't lose
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/state_events.lua"
|
|
pattern = '''G.RESET_JIGGLES = true'''
|
|
position = 'after'
|
|
match_indent = true
|
|
payload = '''
|
|
if G.GAME.current_round.semicolon then
|
|
game_over = false
|
|
end
|
|
'''
|
|
|
|
# Semicolon - end screen text
|
|
[[patches]]
|
|
[patches.regex]
|
|
target = "functions/common_events.lua"
|
|
pattern = '''localize\('ph_mr_bones'\)..' '\}, colours = \{G.C.FILTER'''
|
|
position = 'at'
|
|
# match_indent = true
|
|
line_prepend = ''
|
|
payload = '''(G.GAME.current_round.semicolon and ";" or localize('ph_mr_bones'))..' '}, colours = {(G.GAME.current_round.semicolon and G.C.SET.Code or G.C.FILTER)'''
|
|
|
|
# Semicolon - polished UI
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/common_events.lua"
|
|
pattern = '''{n=G.UIT.T, config={text = localize('b_cash_out')..": ", scale = 1, colour = G.C.UI.TEXT_LIGHT, shadow = true}},'''
|
|
position = "at"
|
|
payload = '''{n=G.UIT.T, config={text = G.GAME.current_round.semicolon and localize('k_end_blind') or (localize('b_cash_out')..": "), scale = 1, colour = G.C.UI.TEXT_LIGHT, shadow = true}},'''
|
|
match_indent = true
|
|
|
|
# Semicolon - polished UI
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/common_events.lua"
|
|
pattern = '''{n=G.UIT.T, config={text = localize('$')..config.dollars, scale = 1.2*scale, colour = G.C.WHITE, shadow = true, juice = true}}'''
|
|
position = "at"
|
|
payload = '''{n=G.UIT.T, config={text = not G.GAME.current_round.semicolon and localize('$')..config.dollars or ';', scale = 1.2*scale, colour = G.C.WHITE, shadow = true, juice = true}}'''
|
|
match_indent = true
|
|
|
|
# Semicolon - polished UI
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/common_events.lua"
|
|
pattern = '''{n=G.UIT.R, config={id = 'cash_out_button', align = "cm", padding = 0.1, minw = 7, r = 0.15, colour = G.C.ORANGE, shadow = true, hover = true, one_press = true, button = 'cash_out', focus_args = {snap_to = true}}, nodes={'''
|
|
position = "at"
|
|
payload = '''{n=G.UIT.R, config={id = 'cash_out_button', align = "cm", padding = 0.1, minw = 7, r = 0.15, colour = G.GAME.current_round.semicolon and G.C.SET.Code or G.C.ORANGE, shadow = true, hover = true, one_press = true, button = 'cash_out', focus_args = {snap_to = true}}, nodes={'''
|
|
match_indent = true
|
|
|
|
# Semicolon - reset value at start of round
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/state_events.lua"
|
|
pattern = "G.GAME.blind:set_blind(G.GAME.round_resets.blind)"
|
|
position = "after"
|
|
payload = '''
|
|
G.GAME.current_round.semicolon = false
|
|
'''
|
|
match_indent = true
|
|
|
|
# Delete - placeholder booster, in the case that all are deleted
|
|
[[patches]]
|
|
[patches.regex]
|
|
target = "functions/common_events.lua"
|
|
pattern = '''return center\nend\n\nfunction get_current_pool\(_type, _rarity, _legendary, _append\)'''
|
|
position = "before"
|
|
payload = '''if not center then center = G.P_CENTERS['p_buffoon_normal_1'] end '''
|
|
|
|
# Run - don't clear shop
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "game.lua"
|
|
pattern = '''if self.shop then self.shop:remove(); self.shop = nil end'''
|
|
position = "at"
|
|
payload = '''if self.shop and not G.GAME.USING_CODE then self.shop:remove(); self.shop = nil end'''
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "game.lua"
|
|
pattern = '''ease_background_colour_blind(G.STATES.SHOP)'''
|
|
position = "at"
|
|
payload = '''if not G.GAME.USING_RUN then ease_background_colour_blind(G.STATES.SHOP) end'''
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "game.lua"
|
|
pattern = '''if self.STATE == self.STATES.SELECTING_HAND then'''
|
|
position = "before"
|
|
payload = '''if G.GAME.USING_RUN then self.STATE = self.STATES.SHOP end'''
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "game.lua"
|
|
pattern = '''G.shop.alignment.offset.y = -5.3'''
|
|
position = "at"
|
|
payload = '''if not G.shop then return true end
|
|
G.shop.alignment.offset.y = -5.3'''
|
|
match_indent = true
|
|
|
|
# Increase highlight limit for consumables
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "game.lua"
|
|
pattern = "{card_limit = self.GAME.starting_params.consumable_slots, type = 'joker', highlight_limit = 1})"
|
|
position = "at"
|
|
payload = "{card_limit = self.GAME.starting_params.consumable_slots, type = 'joker', highlight_limit = 1e100})"
|
|
match_indent = true
|
|
|
|
# Increase highlight limit for jokers
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "game.lua"
|
|
pattern = "{card_limit = self.GAME.starting_params.joker_slots, type = 'joker', highlight_limit = 1})"
|
|
position = "at"
|
|
payload = "{card_limit = self.GAME.starting_params.joker_slots, type = 'joker', highlight_limit = 1e100})"
|
|
match_indent = true
|
|
|
|
# Satellite Uplink
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "card.lua"
|
|
pattern = '''card = create_card("Planet", G.pack_cards, nil, nil, true, true, nil, 'pl1')'''
|
|
position = "at"
|
|
payload = '''
|
|
if G.GAME.used_vouchers.v_cry_satellite_uplink and pseudorandom('cry_satellite_uplink') > 0.8 then
|
|
card = create_card("Code", G.pack_cards, nil, nil, true, true, nil, 'pl2')
|
|
else
|
|
card = create_card("Planet", G.pack_cards, nil, nil, true, true, nil, 'pl1')
|
|
end
|
|
'''
|
|
match_indent = true
|
|
|
|
# Exploit - reset variables
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/state_events.lua"
|
|
pattern = '''function end_round()'''
|
|
position = "after"
|
|
payload = '''
|
|
G.GAME.cry_exploit_override = nil
|
|
'''
|
|
match_indent = true
|
|
|
|
# Rework Tag - UI
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "tag.lua"
|
|
pattern = '''elseif name_to_check == 'Economy Tag' then loc_vars = {self.config.max}'''
|
|
position = "after"
|
|
payload = '''
|
|
elseif name_to_check == "cry-Rework Tag" then loc_vars = {
|
|
self.ability and self.ability.rework_edition and localize{type = "name_text", set = "Edition", key = self.ability.rework_edition} or "["..string.lower(localize("k_edition")).."]",
|
|
self.ability and self.ability.rework_key and localize{type = "name_text", set = "Joker", key = self.ability.rework_key} or "["..string.lower(localize("k_joker")).."]",
|
|
}
|
|
'''
|
|
match_indent = true
|
|
|
|
# Double Tag makes exact copy of rework tag
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "tag.lua"
|
|
pattern = 'add_tag(Tag(_context.tag.key))'
|
|
position = "at"
|
|
payload = '''
|
|
local tag = Tag(_context.tag.key)
|
|
if _context.tag.key == "tag_cry_rework" then
|
|
tag.ability.rework_edition = _context.tag.ability.rework_edition
|
|
tag.ability.rework_key = _context.tag.ability.rework_key
|
|
end
|
|
add_tag(tag)
|
|
'''
|
|
match_indent = true
|