109 lines
3.8 KiB
TOML
109 lines
3.8 KiB
TOML
[manifest]
|
|
version = "1.0.0"
|
|
dump_lua = true
|
|
priority = -1
|
|
|
|
# This is sacrilegious
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "game.lua"
|
|
pattern = "self.GAME.starting_deck_size = #G.playing_cards"
|
|
position = "before"
|
|
payload = '''
|
|
if G.GAME.modifiers.cry_ccd then
|
|
for k, v in pairs(G.playing_cards) do
|
|
v:set_ability(Cryptid.random_consumable('cry_ccd',{"no_doe", "no_grc"}, nil, nil, true), true, nil)
|
|
end
|
|
end
|
|
'''
|
|
match_indent = true
|
|
|
|
# Aura use conditions
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "card.lua"
|
|
pattern = "if G.hand and (#G.hand.highlighted == 1) and G.hand.highlighted[1] and (not G.hand.highlighted[1].edition) then return true end"
|
|
position = "at"
|
|
payload = '''
|
|
if self.area ~= G.hand then
|
|
return G.hand and (#G.hand.highlighted == 1) and G.hand.highlighted[1] and (not G.hand.highlighted[1].edition)
|
|
else
|
|
local idx = 1
|
|
if G.hand.highlighted[1] == self then
|
|
local idx = 2
|
|
end
|
|
return (#G.hand.highlighted == 2) and (not G.hand.highlighted[idx].edition)
|
|
end
|
|
'''
|
|
match_indent = true
|
|
|
|
# Prevent counting CCD consumables for pack uses
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/button_callbacks.lua"
|
|
pattern = "if area == G.consumeables then"
|
|
position = "at"
|
|
payload = "if area == G.consumeables or area == G.hand then"
|
|
match_indent = true
|
|
|
|
# Fix bugs from removing CCD
|
|
# This really shouldn't be in the card drawing code, but it doesn't really matter since that's where it crashes anyway lol
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "card.lua"
|
|
pattern = "if not self.config.center.discovered and (self.ability.consumeable or self.config.center.unlocked) and not self.config.center.demo and not self.bypass_discovery_center then"
|
|
position = "before"
|
|
payload = "if self.ability.set == 'Enhanced' then self.ability.consumeable = nil end"
|
|
match_indent = true
|
|
|
|
# ui, ui, ui
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/UI_definitions.lua"
|
|
pattern = '''name_from_rows(AUT.name, is_playing_card and G.C.WHITE or nil),'''
|
|
position = "at"
|
|
payload = '''
|
|
AUT.ccd and name_from_rows(AUT.ccd.name, G.C.WHITE) or nil,
|
|
AUT.ccd and desc_from_rows(AUT.ccd.main) or nil,
|
|
name_from_rows(AUT.name, is_playing_card and G.C.WHITE or nil),
|
|
'''
|
|
match_indent = true
|
|
|
|
# i love patching like five billion things
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "card.lua"
|
|
pattern = '''return generate_card_ui(self.config.center, nil, loc_vars, card_type, badges, hide_desc, main_start, main_end, self)'''
|
|
position = "before"
|
|
payload = '''
|
|
if card_type ~= 'Default' and card_type ~= 'Enhanced' and self.playing_card then
|
|
loc_vars = loc_vars or {}
|
|
loc_vars.ccd = {
|
|
playing_card = not not self.base.colour, value = self.base.value, suit = self.base.suit, colour = self.base.colour,
|
|
nominal_chips = self.base.nominal > 0 and self.base.nominal or nil,
|
|
bonus_chips = (self.ability.bonus + (self.ability.perma_bonus or 0)) > 0 and (self.ability.bonus + (self.ability.perma_bonus or 0)) or nil,
|
|
}
|
|
end
|
|
'''
|
|
match_indent = true
|
|
|
|
# lalala ok this is a mess
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/common_events.lua"
|
|
pattern = '''local loc_vars = {}'''
|
|
position = "before"
|
|
payload = '''
|
|
if specific_vars and specific_vars.ccd then
|
|
full_UI_table.ccd = {name = {}, main = {}}
|
|
localize{type = 'other', key = 'playing_card', set = 'Other', nodes = full_UI_table.ccd.name, vars = {localize(specific_vars.ccd.value, 'ranks'), localize(specific_vars.ccd.suit, 'suits_plural'), colours = {specific_vars.ccd.colour}}}
|
|
full_UI_table.ccd.name = full_UI_table.ccd.name[1]
|
|
if specific_vars.ccd.nominal_chips then
|
|
localize{type = 'other', key = 'card_chips', nodes = full_UI_table.ccd.main, vars = {specific_vars.ccd.nominal_chips}}
|
|
end
|
|
if specific_vars.ccd.bonus_chips then
|
|
localize{type = 'other', key = 'card_extra_chips', nodes = full_UI_table.ccd.main, vars = {specific_vars.ccd.bonus_chips}}
|
|
end
|
|
end
|
|
'''
|
|
match_indent = true |