diff --git a/localization/en-us.lua b/localization/en-us.lua index 14bffd6..b80cd01 100644 --- a/localization/en-us.lua +++ b/localization/en-us.lua @@ -278,9 +278,8 @@ return { j_Roland_misfortune = { name = "Misfortune Cookie", text = { - "{C:tarot}Tarot{} cards created", - "by {C:tarot}Purple Seals", - "become {C:dark_edition}Negative", + "Cards created by", + "{C:attention}Seals {}become {C:dark_edition}Negative", }, }, j_Roland_monomino = { diff --git a/lovely.toml b/lovely.toml index aa54ab3..7e38eb5 100644 --- a/lovely.toml +++ b/lovely.toml @@ -86,6 +86,28 @@ payload = """if next(SMODS.find_card "j_Roland_misfortune") then end""" match_indent = true +[[patches]] +[patches.pattern] +target = "card.lua" +pattern = "if self.seal == 'Blue' and #G.consumeables.cards + G.GAME.consumeable_buffer < G.consumeables.config.card_limit and not self.ability.extra_enhancement then" +position = "at" +payload = """if self.seal == 'Blue' and + (next(SMODS.find_card "j_Roland_misfortune") or + #G.consumeables.cards + G.GAME.consumeable_buffer < G.consumeables.config.card_limit and + not self.ability.extra_enhancement) then +""" +match_indent = true + +[[patches]] +[patches.pattern] +target = "card.lua" +pattern = "local card = create_card(card_type,G.consumeables, nil, nil, nil, nil, _planet, 'blusl')" +position = "after" +payload = """if next(SMODS.find_card "j_Roland_misfortune") then + card:set_edition "e_negative" +end""" +match_indent = true + [[patches]] [patches.pattern] target = "card.lua" diff --git a/manifest.json b/manifest.json index 511e26e..bb67344 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "id": "Roland", "name": "Roland", "prefix": "Roland", - "version": "2.9.40", + "version": "2.9.41", "badge_colour": "8BE9FD", "display_name": "Roland", "main_file": "src/main.lua", diff --git a/src/joker.lua b/src/joker.lua index 795873e..c8f49dc 100644 --- a/src/joker.lua +++ b/src/joker.lua @@ -575,7 +575,7 @@ joker { key = "misfortune", pronouns = "she_they", artist = "char", - attributes = {"discard", "generation", "seals"}, + attributes = {"discard", "passive", "tarot", "planet", "generation", "seals"}, cost = 6, rarity = 2, eternal_compat = true, @@ -583,12 +583,11 @@ joker { perishable_compat = true, loc_vars = function(_, info_queue) table.insert(info_queue, G.P_SEALS.Purple) + table.insert(info_queue, G.P_SEALS.Blue) table.insert(info_queue, negative) end, in_pool = function() - return f(G.playing_cards):any(function(v) - return v.seal == "Purple" - end) + return not not f(G.playing_cards):map "seal":any(f.index_into {Blue = true, Purple = true}) end, } diff --git a/src/lib/intellisense.lua b/src/lib/intellisense.lua index 1feacaf..b76bc54 100644 --- a/src/lib/intellisense.lua +++ b/src/lib/intellisense.lua @@ -34,6 +34,9 @@ create_card_for_shop = create_card_for_shop --- @type boolean|table G.Bakery_charm_area.cards[1].ability.extra = G.Bakery_charm_area.cards[1].ability.extra +---@type Card[] +G.playing_cards = G.playing_cards + SMODS.Mods.Roland.config = require "config" ---@type userdata|{getWidth: fun(self: self): number}