187 lines
5.4 KiB
TOML
187 lines
5.4 KiB
TOML
[manifest]
|
|
version = "1.0.0"
|
|
dump_lua = true
|
|
priority = 69
|
|
|
|
# If somehow someone still uses version that old - maybe add this pattern too
|
|
# -- Steamodded<0917b
|
|
# for k, v in ipairs(G.playing_cards) do
|
|
# table.insert(SUITS[v.base.suit], v)
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = '=[SMODS _ "src/overrides.lua"]'
|
|
match_indent = true
|
|
pattern = '''
|
|
for k, v in ipairs(G.playing_cards) do
|
|
if v.base.suit* then table.insert(SUITS[v.base.suit], v) end'''
|
|
position = "at"
|
|
payload = '''
|
|
local visible_suits_carto = Cartomancer.get_visible_suits_smods((view_deck_unplayed_only or unplayed_only), args and args.cycle_config.current_option or 1)
|
|
local SUITS_SORTED = Cartomancer.tablecopy(SUITS)
|
|
for k, v in ipairs(G.playing_cards) do
|
|
if v.base.suit then
|
|
local greyed
|
|
if (view_deck_unplayed_only or unplayed_only) and not ((v.area and v.area == G.deck) or v.ability.wheel_flipped) then
|
|
greyed = true
|
|
end
|
|
local card_string = v:cart_to_string {deck_view = true, greyed = true}
|
|
if greyed then
|
|
card_string = string.format('%sGreyed', card_string)
|
|
end
|
|
|
|
if greyed and Cartomancer.SETTINGS.deck_view_hide_drawn_cards then
|
|
-- Ignore this card.
|
|
elseif not SUITS[v.base.suit][card_string] then
|
|
-- Initiate stack
|
|
table.insert(SUITS_SORTED[v.base.suit], card_string)
|
|
|
|
if visible_suits_carto[v.base.suit] then
|
|
local _scale = 0.7
|
|
local copy = BALIATRO and copy_card(v, nil, _scale, nil, nil, true)
|
|
or copy_card(v, nil, _scale)
|
|
|
|
copy.greyed = greyed
|
|
copy.stacked_quantity = 1
|
|
|
|
SUITS[v.base.suit][card_string] = copy
|
|
else
|
|
SUITS[v.base.suit][card_string] = "uhhh don't ever crash from this code pretty please?"
|
|
end
|
|
else
|
|
-- Stack cards
|
|
local stacked_card = SUITS[v.base.suit][card_string]
|
|
if type(stacked_card) == 'table' then -- it crashed from that code above :(
|
|
stacked_card.stacked_quantity = stacked_card.stacked_quantity + 1
|
|
end
|
|
end
|
|
end
|
|
'''
|
|
|
|
# BACKWARDS COMPATIBILITY FOR OLDER STEAMODDED
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = '=[SMODS _ "src/overrides.lua"]'
|
|
match_indent = true
|
|
pattern = 'card_limit = #SUITS[suit_map[j]],'
|
|
position = "at"
|
|
payload = 'card_limit = #SUITS_SORTED[suit_map[j]],'
|
|
|
|
[[patches]]
|
|
[patches.regex]
|
|
target = '=[SMODS _ "src/overrides.lua"]'
|
|
match_indent = true
|
|
pattern = '''
|
|
for i = 1\, \#SUITS\[suit_map\[j\]\] do
|
|
if SUITS\[suit_map\[j\]\]\[i\] then
|
|
local greyed\, _scale = nil\, 0\.7
|
|
if unplayed_only and not \(\(SUITS\[suit_map\[j\]\]\[i\]\.area and SUITS\[suit_map\[j\]\]\[i\]\.area == G\.deck\) or SUITS\[suit_map\[j\]\]\[i\]\.ability\.wheel_flipped\) then
|
|
greyed = true
|
|
end
|
|
local copy = copy_card\(SUITS\[suit_map\[j\]\]\[i\]\, nil\, _scale[^\)\n]*\)
|
|
copy\.greyed = greyed
|
|
copy\.T\.x = view_deck\.T\.x \+ view_deck\.T\.w \/ 2
|
|
copy\.T\.y = view_deck\.T\.y
|
|
|
|
copy:hard_set_T\(\)
|
|
view_deck:emplace\(copy\)
|
|
end
|
|
end'''
|
|
position = "at"
|
|
payload = '''
|
|
for i = 1, #SUITS_SORTED[suit_map[j]] do
|
|
local card_string = SUITS_SORTED[suit_map[j]][i]
|
|
local card = SUITS[suit_map[j]][card_string]
|
|
|
|
card.T.x = view_deck.T.x + view_deck.T.w/2
|
|
card.T.y = view_deck.T.y
|
|
card:create_quantity_display()
|
|
|
|
card:hard_set_T()
|
|
view_deck:emplace(card)
|
|
end
|
|
'''
|
|
|
|
# FOR LATEST STEAMODDED
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = '=[SMODS _ "src/overrides.lua"]'
|
|
match_indent = true
|
|
pattern = 'card_limit = #SUITS[visible_suit[j]],'
|
|
position = "at"
|
|
payload = 'card_limit = #SUITS_SORTED[visible_suit[j]],'
|
|
|
|
[[patches]]
|
|
[patches.regex]
|
|
target = '=[SMODS _ "src/overrides.lua"]'
|
|
match_indent = true
|
|
pattern = '''
|
|
for i = 1\, \#SUITS\[visible_suit\[j\]\] do
|
|
if SUITS\[visible_suit\[j\]\]\[i\] then
|
|
local greyed\, _scale = nil\, 0\.7[\s\S]*
|
|
copy:hard_set_T\(\)
|
|
view_deck:emplace\(copy\)
|
|
end
|
|
end'''
|
|
position = "at"
|
|
payload = '''
|
|
-- -- -- -- -- -- -- -- -- --
|
|
for i = 1, #SUITS_SORTED[visible_suit[j]] do
|
|
local card_string = SUITS_SORTED[visible_suit[j]][i]
|
|
local card = SUITS[visible_suit[j]][card_string]
|
|
|
|
card.T.x = view_deck.T.x + view_deck.T.w/2
|
|
card.T.y = view_deck.T.y
|
|
card:create_quantity_display()
|
|
|
|
card:hard_set_T()
|
|
view_deck:emplace(card)
|
|
end
|
|
-- -- -- -- -- -- -- -- -- --'''
|
|
|
|
# FOR MODDED SUITS PAGES
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = '=[SMODS _ "src/overrides.lua"]'
|
|
match_indent = true
|
|
pattern = 'card_limit = #SUITS[visible_suit[j]],'
|
|
position = "at"
|
|
payload = 'card_limit = #SUITS_SORTED[visible_suit[j]],'
|
|
|
|
[[patches]]
|
|
[patches.regex]
|
|
target = '=[SMODS _ "src/overrides.lua"]'
|
|
match_indent = true
|
|
pattern = '''
|
|
for i = 1\, \#SUITS\[visible_suit\[j\]\] do
|
|
if SUITS\[visible_suit\[j\]\]\[i\] then
|
|
local greyed\, _scale = nil\, 0\.7[\s\S]*
|
|
copy:hard_set_T\(\)
|
|
view_deck:emplace\(copy\)
|
|
end
|
|
end'''
|
|
position = "at"
|
|
payload = '''
|
|
-- -- -- -- -- -- -- -- -- --
|
|
for i = 1, #SUITS_SORTED[visible_suit[j]] do
|
|
local card_string = SUITS_SORTED[visible_suit[j]][i]
|
|
local card = SUITS[visible_suit[j]][card_string]
|
|
|
|
card.T.x = view_deck.T.x + view_deck.T.w/2
|
|
card.T.y = view_deck.T.y
|
|
card:create_quantity_display()
|
|
|
|
card:hard_set_T()
|
|
view_deck:emplace(card)
|
|
end
|
|
-- -- -- -- -- -- -- -- -- --'''
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = '=[SMODS _ "src/overrides.lua"]'
|
|
match_indent = true
|
|
pattern = ' modded and {n = G.UIT.R, config = {align = "cm"}, nodes = {'
|
|
position = "at"
|
|
payload = '''
|
|
not (view_deck_unplayed_only or unplayed_only) and Cartomancer.add_unique_count() or nil,
|
|
modded and {n = G.UIT.R, config = {align = "cm"}, nodes = {'''
|