diff --git a/assets/1x/default/c_jane_reversetarots.png b/assets/1x/default/c_jane_reversetarots.png new file mode 100644 index 0000000..8563bb1 Binary files /dev/null and b/assets/1x/default/c_jane_reversetarots.png differ diff --git a/lovely.toml b/lovely.toml index 1851ea6..1c4dd9f 100644 --- a/lovely.toml +++ b/lovely.toml @@ -151,3 +151,77 @@ pattern = "function SMODS.has_enhancement(card, key)" position = "after" payload = "if not card.config then return false end" match_indent = true + +[[patches]] +[patches.pattern] +target = "game.lua" +pattern = '''self.consumeables = CardArea(''' +position = "before" +payload = '''if not G.GAME.modifiers.jane_spacious then''' +match_indent = true + +[[patches]] +[patches.pattern] +target = "game.lua" +pattern = '''self.discard = CardArea(''' +position = "before" +payload = '''else +self.jokers = CardArea( + 0, 0, + CAI.joker_W+CAI.consumeable_W, + CAI.joker_H, + {card_limit = self.GAME.starting_params.joker_slots + + self.GAME.starting_params.consumable_slots * + (G.GAME.modifiers.alt_jane_spacious and 2 or 1), + type = 'joker', + highlight_limit = 1e100 + } +) + +self.consumeables = self.jokers +end''' +match_indent = true + +[[patches]] +[patches.pattern] +target = "functions/common_events.lua" +pattern = '''G.consumeables.T.y = 0''' +position = "after" +payload = '''G.jokers.T.x = G.hand.T.x - 0.1 +G.jokers.T.y = 0''' +match_indent = true + +[[patches]] +[patches.pattern] +target = "card.lua" +pattern = '''if G.consumeables.cards[1] then''' +position = "at" +payload = '''local eligible = {} + +for i = 1, #G.consumeables.cards do + if G.consumeables.cards[i].ability.consumeable then + eligible[#eligible + 1] = G.consumeables.cards[i] + end +end + +if #eligible > 0 then''' +match_indent = true + +[[patches]] +[patches.pattern] +target = "card.lua" +pattern = '''local card = copy_card(pseudorandom_element(G.consumeables.cards, pseudoseed('perkeo')), nil)''' +position = "at" +payload = '''local card = copy_card(pseudorandom_element(eligible, pseudoseed('perkeo')), nil)''' +match_indent = true + +[[patches]] +[patches.pattern] +target = '''=[SMODS _ "src/utils.lua"]''' +pattern = '''-- TARGET: add your own CardAreas for joker evaluation''' +position = "after" +payload = ''' +if G.GAME.modifiers.jane_spacious then + t = {G.jokers, G.vouchers} +end''' +match_indent = true diff --git a/manifest.json b/manifest.json index 133f6c3..07728f7 100644 --- a/manifest.json +++ b/manifest.json @@ -17,5 +17,5 @@ "conflicts": [ "Jen" ], - "version": "1.6.19" + "version": "1.7.0" } \ No newline at end of file diff --git a/src/back.lua b/src/back.lua index f24a538..8545e2b 100644 --- a/src/back.lua +++ b/src/back.lua @@ -623,6 +623,30 @@ back { end, } +back { + key = "spacious", + atlas = "janedecks", + pos = {x = 4, y = 0}, + loc_txt = { + name = "Spacious Deck", + text = { + "{C:attention}Joker {}and {C:attention}Consumable", + "slots are {C:attention}combined", + }, + }, + alt_loc_txt = { + name = "Boundless Sleeve", + text = {"Slots are {C:attention}doubled"}, + }, + alt_apply = function(_) + G.GAME.modifiers.alt_jane_spacious = true + G.GAME.modifiers.jane_spacious = true + end, + apply = function(_) + G.GAME.modifiers.jane_spacious = true + end, +} + local banned_keys = { sleeve_Seen_Seen = true, sleeve_jane_omega = true, @@ -664,6 +688,7 @@ back { end, apply = function(_) apply_orrery() + G.GAME.modifiers.jane_spacious = true G.GAME.used_vouchers.v_omen_globe = true G.GAME.starting_voucher_count = (G.GAME.starting_voucher_count or 0) + 1