199 lines
7.2 KiB
TOML
199 lines
7.2 KiB
TOML
[manifest]
|
|
version = "1.0.0"
|
|
dump_lua = true
|
|
priority = -1
|
|
|
|
# Turn Jimbo into Jolly Joker
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "card_character.lua"
|
|
pattern = 'self.children.card.states.visible = false'
|
|
position = "before"
|
|
payload = "self.children.card:set_ability(G.P_CENTERS.j_jolly)"
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "card_character.lua"
|
|
pattern = 'colours = {G.C.RED, G.C.BLUE, G.C.ORANGE},'
|
|
position = "at"
|
|
payload = 'colours = {G.C.CRY_EXOTIC, G.C.BLUE, G.C.CRY_JOLLY},'
|
|
match_indent = true
|
|
|
|
# Make profiles all start with a prefix
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "game.lua"
|
|
pattern = 'self:load_profile(G.SETTINGS.profile or 1)'
|
|
position = "before"
|
|
payload = '''Cryptid.profile_prefix = Jen and "J" or "M"
|
|
if type(G.SETTINGS.profile) ~= "string" or G.SETTINGS.profile:sub(1, #Cryptid.profile_prefix) ~= Cryptid.profile_prefix then
|
|
G.SETTINGS.profile = Cryptid.profile_prefix .. "1"
|
|
end
|
|
for i = 1, 3 do
|
|
G.PROFILES[Cryptid.profile_prefix .. i] = {}
|
|
end'''
|
|
match_indent = true
|
|
|
|
# Remove the builtin "P" prefix
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = 'profile_data.name = profile_data.name or ("P".._profile)'
|
|
position = "at"
|
|
payload = 'profile_data.name = profile_data.name or (_profile)'
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = 'G.PROFILES[G.SETTINGS.profile].name = "P"..G.SETTINGS.profile'
|
|
position = "at"
|
|
payload = 'G.PROFILES[G.SETTINGS.profile].name = G.SETTINGS.profile'
|
|
match_indent = true
|
|
|
|
# Pre-load all profiles in selection menu
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/button_callbacks.lua"
|
|
pattern = 'for i = 1, 3 do'
|
|
position = "after"
|
|
payload = 'i = Cryptid.profile_prefix .. i'
|
|
match_indent = true
|
|
|
|
# Gameset sprite in profile screen
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = '{n=G.UIT.C, config={align = "cl", minw = rwidth}, nodes={{n=G.UIT.T, config={text = tostring(profile_data.career_stats.c_wins),colour = G.C.RED, shadow = true, scale = 1*scale}}}}'
|
|
position = "after"
|
|
payload = ',{n=G.UIT.C, config={align = "cl", minw = rwidth}, nodes={{n=G.UIT.O, config={object = Cryptid.gameset_sprite(1, _profile)}}}}'
|
|
match_indent = true
|
|
|
|
# Gameset sprite in deck select
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = '{n=G.UIT.C, config={align = "cm", minw = 2.5}, nodes={}}'
|
|
position = "at"
|
|
payload = '{n=G.UIT.C, config={align = "cm", minw = 0.2}, nodes={}},{n=G.UIT.C, config={align = "cl", minw = rwidth}, nodes={{n=G.UIT.O, config={object = Cryptid.gameset_sprite()}}}}'
|
|
match_indent = true
|
|
|
|
# Gameset sprite in win screen
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = '{n=G.UIT.R, config={align = "cm", minh = 0.4, minw = 0.1}, nodes={}},'
|
|
position = "at"
|
|
payload = '{n=G.UIT.R, config={align = "cm", minh = 0.1, minw = 0.1}, nodes={}},'
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = 'not show_win_cta and {n=G.UIT.R, config={align = "cm", minh = 0.2, minw = 0.1}, nodes={}} or nil,'
|
|
position = "at"
|
|
payload = 'not show_win_cta and {n=G.UIT.R, config={align = "cm", minh = 0.1, minw = 0.1}, nodes={}} or nil,'
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = "not show_win_cta and UIBox_button({button = 'go_to_menu', label = {localize('b_main_menu')}, minw = 2.5, maxw = 2.5, minh = 1, focus_args = {nav = 'wide'}}) or nil,"
|
|
position = "after"
|
|
payload = '{n=G.UIT.R, config={align = "cm", minw = rwidth}, nodes={{n=G.UIT.O, config={object = Cryptid.gameset_sprite()}}}},'
|
|
match_indent = true
|
|
|
|
# Gameset sprite in lose screen
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = "show_lose_cta and"
|
|
position = "before"
|
|
payload = '{n=G.UIT.R, config={align = "cm"}, nodes={{n=G.UIT.C, config={align = "cm", minw = rwidth}, nodes={{n=G.UIT.O, config={object = Cryptid.gameset_sprite()}}}},'
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = "{n=G.UIT.T, config={text = localize('b_main_menu'), scale = 0.5, colour = G.C.UI.TEXT_LIGHT}}"
|
|
position = "after"
|
|
payload = '}}'
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.regex]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = '''\{n=G\.UIT\.R, config=\{align = "cm", padding = 0\.1\}, nodes=\{\s+\{n=G\.UIT\.R, config=\{id = 'from_game_over','''
|
|
position = "at"
|
|
payload = '''{n=G.UIT.C, config={align = "cm", padding = 0.1}, nodes={
|
|
{n=G.UIT.R, config={id = 'from_game_over','''
|
|
|
|
# Disabled UI
|
|
# Show disabled tooltip
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/common_events.lua"
|
|
pattern = "local info_queue = {}"
|
|
position = "after"
|
|
payload = '''if _c.cry_disabled or (_c.force_gameset and _c.force_gameset == 'disabled') then
|
|
if _c.cry_disabled then
|
|
if _c.cry_disabled.type == "card_dependency" then
|
|
local name = Cryptid.get_center(_c.cry_disabled.key) and localize{type = 'name_text', set = Cryptid.get_center(_c.cry_disabled.key).set, key = _c.cry_disabled.key} or _c.cry_disabled.key
|
|
info_queue[#info_queue+1] = {key = 'disabled_card_dependency', set = 'Other', specific_vars = {name}}
|
|
elseif _c.cry_disabled.type == "mod_dependency" then
|
|
local name = Cryptid.cross_mod_names[_c.cry_disabled.key] or _c.cry_disabled.key
|
|
info_queue[#info_queue+1] = {key = 'disabled_mod_dependency', set = 'Other', specific_vars = {name}}
|
|
elseif _c.cry_disabled.type == "mod_conflict" then
|
|
local name = SMODS.Mods[_c.cry_disabled.key].name
|
|
info_queue[#info_queue+1] = {key = 'disabled_mod_conflict', set = 'Other', specific_vars = {name}}
|
|
else
|
|
if not (_c.force_gameset and _c.force_gameset ~= 'disabled') then
|
|
info_queue[#info_queue+1] = {key = 'disabled', set = 'Other'}
|
|
end
|
|
end
|
|
else
|
|
info_queue[#info_queue+1] = {key = 'disabled', set = 'Other'}
|
|
end
|
|
end'''
|
|
match_indent = true
|
|
|
|
# replace rarity badge with gameset
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = "card_type = (debuffed and AUT.card_type ~= 'Enhanced') and localize('k_debuffed') or card_type"
|
|
position = "after"
|
|
payload = '''
|
|
if AUT.card_type == "Back" then
|
|
card_type = localize('b_deck')
|
|
end
|
|
if AUT.card_type == "Tag" then
|
|
card_type = localize('b_tag')
|
|
end
|
|
if AUT.card_type == "Blind" then
|
|
card_type = localize('b_blind')
|
|
end
|
|
if AUT.card_type == "Content Set" then
|
|
card_type = localize('k_content_set')
|
|
end
|
|
if card.gameset_select then
|
|
card_type = localize('cry_gameset_'..card.config.center.force_gameset)
|
|
if card_type == "ERROR" then
|
|
card_type = localize('cry_gameset_custom')
|
|
end
|
|
end
|
|
if not card.gameset_select and card.config.center and card.config.center.cry_disabled then
|
|
card_type = localize('cry_gameset_disabled')
|
|
end
|
|
'''
|
|
match_indent = true
|
|
|
|
# Descriptions for Backs and Blinds in gameset UI
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/common_events.lua"
|
|
pattern = "elseif _c.set == 'Tag' then"
|
|
position = "before"
|
|
payload = "elseif _c.set == 'Back' or _c.set == 'Blind' then localize{type = 'descriptions', key = _c.key, set = _c.set, nodes = desc_nodes, vars = specific_vars or {}}"
|
|
match_indent = true |