diff --git a/assets/1x/joker.png b/assets/1x/joker.png index 3d661b3..0a9adc0 100644 Binary files a/assets/1x/joker.png and b/assets/1x/joker.png differ diff --git a/assets/2x/back.png b/assets/2x/back.png index a87ae08..2493549 100644 Binary files a/assets/2x/back.png and b/assets/2x/back.png differ diff --git a/assets/2x/blind.png b/assets/2x/blind.png index d724914..4f62fdc 100644 Binary files a/assets/2x/blind.png and b/assets/2x/blind.png differ diff --git a/assets/2x/charm.png b/assets/2x/charm.png index 9f1c8f4..c014278 100644 Binary files a/assets/2x/charm.png and b/assets/2x/charm.png differ diff --git a/assets/2x/icon.png b/assets/2x/icon.png index b104935..34c8e9e 100644 Binary files a/assets/2x/icon.png and b/assets/2x/icon.png differ diff --git a/assets/2x/joker.png b/assets/2x/joker.png index 97f22a4..2e566ed 100644 Binary files a/assets/2x/joker.png and b/assets/2x/joker.png differ diff --git a/assets/2x/phorm.png b/assets/2x/phorm.png index 25ba36c..c02fc64 100644 Binary files a/assets/2x/phorm.png and b/assets/2x/phorm.png differ diff --git a/assets/2x/seal.png b/assets/2x/seal.png index 637b727..66402a0 100644 Binary files a/assets/2x/seal.png and b/assets/2x/seal.png differ diff --git a/assets/2x/sleeve.png b/assets/2x/sleeve.png index a833bbe..eab3646 100644 Binary files a/assets/2x/sleeve.png and b/assets/2x/sleeve.png differ diff --git a/assets/2x/spectral.png b/assets/2x/spectral.png index 3c24c4e..51eaff5 100644 Binary files a/assets/2x/spectral.png and b/assets/2x/spectral.png differ diff --git a/assets/2x/tag.png b/assets/2x/tag.png index af9d9a1..d3fde5f 100644 Binary files a/assets/2x/tag.png and b/assets/2x/tag.png differ diff --git a/assets/2x/tarot.png b/assets/2x/tarot.png index 0c26d95..2307a13 100644 Binary files a/assets/2x/tarot.png and b/assets/2x/tarot.png differ diff --git a/assets/2x/unicon.png b/assets/2x/unicon.png index 049ff67..9f47b30 100644 Binary files a/assets/2x/unicon.png and b/assets/2x/unicon.png differ diff --git a/assets/2x/voucher.png b/assets/2x/voucher.png index a284099..aa5ec67 100644 Binary files a/assets/2x/voucher.png and b/assets/2x/voucher.png differ diff --git a/localization/en-us.lua b/localization/en-us.lua index b80cd01..444d570 100644 --- a/localization/en-us.lua +++ b/localization/en-us.lua @@ -325,6 +325,14 @@ return { name = "Phytoestrogens", text = {"{C:mult}+Chips{} Mult, {X:mult,C:white}X#1#{} Mult"}, }, + j_Roland_polaris = { + name = "Polaris", + text = { + "The {C:attention}first {}scored", + "card each round", + "becomes {C:dark_edition}Frozen", + }, + }, j_Roland_sapling = { name = "Sapling", text = { @@ -396,14 +404,6 @@ return { text = {"{X:red,C:white}X#1#{} discards each round"}, unlock = {"Defeat {C:dark_edition}#1#"}, }, - j_Roland_yard = { - name = "Yard Sale", - text = { - "Gain {C:money}$#1#{} when a", - "card is {C:attention}removed", - "from the deck", - }, - }, }, Other = { roland_glass_seal = { @@ -577,6 +577,7 @@ return { b_Roland_entering_shop = "Entering shop!", b_Roland_equinox_assist = "Assist: Only hide text (Equinox)", b_Roland_faster_planets = "Faster Planets", + b_Roland_frozen = "Frozen!", b_Roland_full = "FULL", b_Roland_scribable_basket = "Scribable Basket (overpowered)", b_Roland_harsh_ante_scaling = "Harsh ante scaling (Ante 40+)", diff --git a/manifest.json b/manifest.json index bb67344..0bcd4c3 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "id": "Roland", "name": "Roland", "prefix": "Roland", - "version": "2.9.41", + "version": "2.9.42", "badge_colour": "8BE9FD", "display_name": "Roland", "main_file": "src/main.lua", diff --git a/src/joker.lua b/src/joker.lua index c8f49dc..e8cacac 100644 --- a/src/joker.lua +++ b/src/joker.lua @@ -413,6 +413,71 @@ joker { end, } +joker { + key = "misfortune", + pronouns = "she_they", + artist = "char", + attributes = {"discard", "passive", "tarot", "planet", "generation", "seals"}, + cost = 6, + rarity = 2, + eternal_compat = true, + blueprint_compat = false, + 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 not not f(G.playing_cards):map "seal":any(f.index_into {Blue = true, Purple = true}) + end, +} + +joker { + key = "polaris", + pronouns = "he_him", + attributes = {"editions", "space"}, + cost = 6, + rarity = 1, + eternal_compat = true, + blueprint_compat = false, + perishable_compat = true, + loc_vars = function(_, info_queue) + table.insert(info_queue, G.P_CENTERS.e_Roland_frozen) + return {vars = {}} + end, + calculate = function(_, card, context) + if context.end_of_round then + card.Roland_polaris = nil + return + end + + local no = context.blueprint or not context.before or card.Roland_polaris + + if no and not context.forcetrigger then + return + end + + card.Roland_polaris = true + local first = context.scoring_hand[1] + + if not first or first.edition and first.edition.Roland_frozen then + return + end + + q { + delay = 0.1, + func = function() + card:juice_up() + first:juice_up() + first:set_edition {Roland_frozen = true} + end, + } + + return {message = localize {type = "variable", key = "b_Roland_frozen"}, colour = G.C.DARK_EDITION} + end, +} + joker { key = "cold", pronouns = "he_him", @@ -552,45 +617,6 @@ joker { end, } -joker { - key = "yard", - pronouns = "he_him", - config = {extra = {money = 2}}, - attributes = {"economy"}, - cost = 4, - rarity = 1, - eternal_compat = true, - blueprint_compat = true, - perishable_compat = true, - loc_vars = function(_, _, card) - return {vars = {card.ability.extra.money}} - end, - calculate = function(_, card, context) - return (context.remove_playing_cards or context.forcetrigger) and - {dollars = card.ability.extra.money * #context.removed, card = card} or nil - end, -} - -joker { - key = "misfortune", - pronouns = "she_they", - artist = "char", - attributes = {"discard", "passive", "tarot", "planet", "generation", "seals"}, - cost = 6, - rarity = 2, - eternal_compat = true, - blueprint_compat = false, - 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 not not f(G.playing_cards):map "seal":any(f.index_into {Blue = true, Purple = true}) - end, -} - joker { key = "amber", pronouns = "they_them",