[manifest] version = "1.0.0" dump_lua = true priority = 0 [[patches]] [patches.pattern] target = '=[SMODS Multiplayer "ui/main_menu/play_button/ruleset_selection.lua"]' pattern = '{ button_id = "experimental_ruleset_button", button_localize_key = "k_experimental_standard" },' position = "before" payload = '{ button_id = "walledgarden_ruleset_button", button_localize_key = "k_walledgarden" },' match_indent = true [[patches]] [patches.pattern] target = '=[SMODS Multiplayer "localization/en-us.lua"]' pattern = 'k_experimental_standard = "Experimental (Standard)",' position = "before" payload = """k_walledgarden = "Walled Garden", k_walledgarden_description = "Personal ruleset for modded Balatro.",""" match_indent = true [[patches]] [patches.copy] target = '=[SMODS Multiplayer "rulesets/experimental/experimental.lua"]' position = "prepend" payload = """ sendInfoMessage("Attempting to register the Walled Garden ruleset...", "WalledGarden"); -- for k, v in pairs(G.P_CENTERS) do -- local _ = not k:find "experimental" and -- not k:find "sandbox" and -- k:find "j_" and -- ({jane = true, Multiplayer = true})[v.mod.id] and -- table.insert(banned.jokers, k) -- end (function() local banned = { tags = {"tag_Bakery_DownTag"}, enhancements = {"m_Bakery_TimeWalk"}, consumables = { "c_mp_asteroid", "c_Bakery_Scribe", "c_bongcloud_the_knight", "c_Roland_void", }, jokers = { "j_chicot", "j_luchador", "j_jane_escapey", "j_jane_survivor", "j_mp_conjoined_joker", "j_mp_skip_off", "j_jane_artificer", "j_mp_pacifist", "j_mp_lets_go_gambling", "j_jane_hunter", "j_mp_pizza", "j_jane_saint", "j_jane_rivulet", "j_mp_taxes", "j_jane_gourmand", "j_mp_penny_pincher", "j_mp_defensive_joker", "j_mp_speedrun", }, } local ruleset = {key = "walledgarden", layers = {"standard"}} for k, v in pairs(banned) do ruleset["banned_" .. k] = v end MP.Ruleset(ruleset):inject() sendInfoMessage("Successfully registered \\"Walled Garden\\" as a ruleset under the Experimental tab!", "WalledGarden") end)() """ match_indent = true