From 971707f285caff59fd741fcbb582a140e1cb321c Mon Sep 17 00:00:00 2001 From: Emik Date: Sat, 23 May 2026 12:01:40 +0200 Subject: [PATCH] Add new joker --- assets/1x/joker.png | Bin 56924 -> 57001 bytes assets/2x/back.png | Bin 13694 -> 13694 bytes assets/2x/blind.png | Bin 84325 -> 84325 bytes assets/2x/charm.png | Bin 33574 -> 33574 bytes assets/2x/icon.png | Bin 80997 -> 80997 bytes assets/2x/joker.png | Bin 73523 -> 73623 bytes assets/2x/seal.png | Bin 1047 -> 1047 bytes assets/2x/spectral.png | Bin 20424 -> 20424 bytes assets/2x/tag.png | Bin 611 -> 611 bytes assets/2x/tarot.png | Bin 1394 -> 1394 bytes assets/repack.sh | 2 +- localization/en-us.lua | 27 +++++++- manifest.json | 2 +- src/joker.lua | 146 +++++++++++++++++++++++++++++------------ src/lib/funky.lua | 52 ++++++++++++++- 15 files changed, 182 insertions(+), 47 deletions(-) diff --git a/assets/1x/joker.png b/assets/1x/joker.png index 9d53e7f9b7cedb6c12257f25a4f2494fefd97812..8b9ed9fab82d2443b6f843c60c2b0d82bd2b0516 100644 GIT binary patch delta 13768 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 CKbqwL delta 13706 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 diff --git a/assets/2x/back.png b/assets/2x/back.png index cb77959ad8c40fc679bffe28d0b8b4cb57547c98..61542e7e9935fb795952de65d311538a16512b23 100644 GIT binary patch delta 44 ycmeyD^)G8e7Kb<&gP~H+_kR+ delta 53 zcmaDliS_9u)(vx&IK+e*4W3(bZr;39DNLn0Ai#L AdjJ3c delta 46 zcmZ41#@dN;%*EO>A!xF%B^_ure^PGO^S)05QbdmK|)CW!x^y$mn4W E0Oth|sQ>@~ delta 50 zcmaF*gXQTDmI?J7V#16D&#gH(Pi$`zF$yuXv@$TXGO^G$Ft9Q(C_fi#)GW)mU6zs2 G!x{k7u@B?` diff --git a/assets/2x/joker.png b/assets/2x/joker.png index 0f69e37bb85ff2b841989ac94f8a6c7bb87c9f43..6637929a46c5f9d85cb5e831bbb823c996ba3069 100644 GIT binary patch delta 24444 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 diff --git a/assets/2x/seal.png b/assets/2x/seal.png index dc53e7159f81bc6eb6d7aca9e48c0972a310ed56..d64c20669ed84fa46fbfaf0d1effdba8cd062f68 100644 GIT binary patch delta 44 ycmbQvF`Z*V8izO+gP~H+_kR=fnna943=OOd46IBnwGBWF@wR0LH?uGbGXnrFVGPFr delta 44 zcmbQvF`Z*V8i$xLqrr1)&dn3^nna933@xn;46RHov<(cb3=GQ8#Tsp9VH9Qt03IO> A0ssI2 diff --git a/assets/2x/spectral.png b/assets/2x/spectral.png index 84211ee8428f1abfcca34176e4688c61c78818eb..ddccc57e7f6003b59efa9820a1d501bd13cc6cad 100644 GIT binary patch delta 46 zcmX>xpYg@dN;%*EO)P2>F%B^_ure^PGO^S)05QbdmL1&8!Fa$A0C%tt AT>t<8 delta 46 zcmX>xpYg(^b diff --git a/assets/repack.sh b/assets/repack.sh index 9aefaec..66cefa6 100755 --- a/assets/repack.sh +++ b/assets/repack.sh @@ -2,7 +2,7 @@ directory=$(dirname $(readlink -f "$0")) mkdir -p "$directory/1x/jokers" -for i in $(seq 0 25); do +for i in $(seq 0 $(find *.png | tail -n +2 | wc -l)); do files="$files $directory/1x/jokers/$i.png"; done diff --git a/localization/en-us.lua b/localization/en-us.lua index e4545bf..db34fc2 100644 --- a/localization/en-us.lua +++ b/localization/en-us.lua @@ -118,7 +118,7 @@ return { }, }, Joker = { - j_Roland_amberacorn = { + j_Roland_amber = { name = "Amber Acorn", text = {"{X:mult,C:white}X#1#{} Mult", "Moves before", "hand is played"}, }, @@ -152,7 +152,7 @@ return { "{C:inactive}(Currently {X:red,C:white}X#1#{C:inactive})", }, }, - j_Roland_coldturkey = { + j_Roland_cold = { name = "Cold Turkey", text = { "Third scored card", @@ -177,6 +177,23 @@ return { "hand {C:dark_edition}Frozen", }, }, + j_Roland_idle = { + name = "The Idle", + text = { + "Use to add card's", + "rank and suit", + "First {C:attention}scoring {}card", + "of each entry", + "gives {X:mult,C:white}X#19#{} Mult", + "{C:inactive}(Must be distinct)", + "{V:1,s:0.75}#1#{C:inactive,s:0.75}#2#{V:2,s:0.75}#3#{C:inactive,s:0.75}, " .. + "{V:3,s:0.75}#4#{C:inactive,s:0.75}#5#{V:4,s:0.75}#6#{C:inactive,s:0.75}", + "{V:5,s:0.75}#7#{C:inactive,s:0.75}#8#{V:6,s:0.75}#9#, " .. + "{V:7,s:0.75}#10#{C:inactive,s:0.75}#11#{V:8,s:0.75}#12#{C:inactive,s:0.75}", + "{V:9,s:0.75}#13#{C:inactive,s:0.75}#14#{V:10,s:0.75}#15#{C:inactive,s:0.75}, " .. + "{V:11,s:0.75}#16#{C:inactive,s:0.75}#17#{V:12,s:0.75}#18#", + }, + }, j_Roland_jokersr = { name = "Joker Sr.", text = {"{X:mult,C:white}X#1#{} Mult"}, @@ -401,12 +418,15 @@ return { c_Roland_Showdown = "Showdown", }, v_dictionary = { + b_Roland_add = "ADD", b_Roland_bye = "Bye!", + b_Roland_comma = ", ", + b_Roland_debuffed = "DEBUFFED", b_Roland_disabled = "Disabled", b_Roland_enabled = "Enabled", - b_Roland_comma = ", ", b_Roland_entering_shop = "Entering shop!", b_Roland_equinox_assist = "Assist: Only hide text (Equinox)", + b_Roland_full = "FULL", b_Roland_scribable_basket = "Scribable Basket (overpowered)", b_Roland_harsh_ante_scaling = "Harsh ante scaling (Ante 40+)", b_Roland_illusion_seal = "Allow seals from Illusion voucher", @@ -416,6 +436,7 @@ return { b_Roland_na = "N/A", b_Roland_of = " of ", b_Roland_toggle = "TOGGLE", + b_Roland_unassigned = "(Unassigned)", }, labels = { Roland_frozen = "Frozen", diff --git a/manifest.json b/manifest.json index 6bbec3b..e62d48b 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "author": [ "Emik" ], - "version": "2.5.2", + "version": "2.5.3", "badge_colour": "8BE9FD", "main_file": "src/main.lua", "badge_text_colour": "44475A", diff --git a/src/joker.lua b/src/joker.lua index 71f2acb..798fc91 100644 --- a/src/joker.lua +++ b/src/joker.lua @@ -12,7 +12,7 @@ local joker = (function() return ret end - ---@param tbl SMODS.Joker|{artist?: string, sinis?: boolean|{x: number, y: number}, soul_pos?: boolean|{x: number, y: number}, attributes?: Attributes[]} + ---@param tbl SMODS.Joker|{artist?: string, Bakery_can_use: (fun(self: self, card: Card): boolean?), Bakery_use_button_text: (fun(self: self, card: Card): string|table|nil), Bakery_use_joker: fun(self: self, card: Card), sinis?: boolean|{x: number, y: number}, soul_pos?: boolean|{x: number, y: number}, attributes?: Attributes[]} return function(tbl) tbl.pos = inc() tbl.atlas = "joker" @@ -38,6 +38,37 @@ local function is_frozen(card) return card.edition and card.edition.key == "e_Roland_frozen" end +---@param card? Card|false|{suit: string, value: string} +---@param fallback? string +---@return {vars: {[number]: string|table|nil}|{colours: {[number]: {[1]: number, [2]: number, [3]: number, [4]: number}}}} +local function localize_card(card, fallback) + if not card then + return { + vars = { + "", + localize {type = "variable", key = fallback or "b_Roland_na"}, + "", + colours = {G.C.JOKER_GREY, G.C.JOKER_GREY}, + }, + } + end + + local suit = (card.base or card).suit + local value = (card.base or card).value + local name = (card.ability or card).name or "" + local no_suit = card.base and SMODS.has_no_suit(card) or not suit + local no_rank = card.base and SMODS.has_no_rank(card) or not value + + return { + vars = { + (value and not no_rank) and localize(value or 14, "ranks") or name, + (not no_rank and not no_suit) and localize {type = "variable", key = "b_Roland_of"} or "", + no_suit and "" or localize(suit, "suits_plural"), + colours = {G.C.IMPORTANT, G.C.SUITS[suit] or G.C.JOKER_GREY}, + }, + } +end + SMODS.Atlas { key = "joker", path = "joker.png", @@ -135,33 +166,7 @@ joker { blueprint_compat = true, perishable_compat = true, loc_vars = function(_, _, card) - local last = ((G.deck or {}).cards or {})[1] - - if not last or card.area ~= G.jokers then - return { - vars = { - "", - localize {type = "variable", key = "b_Roland_na"}, - "", - colours = {G.C.JOKER_GREY, G.C.JOKER_GREY}, - }, - } - end - - local suit = last.base.suit - local value = last.base.value - local name = last.ability.name or "" - local no_rank = SMODS.has_no_rank(last) - local no_suit = SMODS.has_no_suit(last) - - return { - vars = { - value and not no_rank and localize(value or 14, "ranks") or name, - not no_rank and not no_suit and localize {type = "variable", key = "b_Roland_of"} or "", - no_suit and "" or localize(suit, "suits_plural"), - colours = {G.C.IMPORTANT, G.C.SUITS[suit] or G.C.JOKER_GREY}, - }, - } + return localize_card(card.area == G.jokers and ((G.deck or {}).cards or {})[1]) end, calculate = function(_, _, context) if not context.selling_self and not context.forcetrigger then @@ -350,7 +355,7 @@ joker { } joker { - key = "coldturkey", + key = "cold", pronouns = "he_him", config = {extra = {xmult = 2}}, attributes = {"xmult"}, @@ -613,12 +618,8 @@ joker { blueprint_compat = true, perishable_compat = true, loc_vars = function(_, _, card) - return { - vars = {localize { - type = "variable", - key = card.ability.extra.flipped and "b_Roland_enabled" or "b_Roland_disabled", - }}, - } + local key = card.ability.extra.flipped and "b_Roland_enabled" or "b_Roland_disabled" + return {vars = {localize {type = "variable", key = key}}} end, inject = function(...) SMODS.Joker.inject(...) @@ -637,10 +638,7 @@ joker { return not card.debuff end, Bakery_use_button_text = function(_, card) - return localize { - type = "variable", - key = card.debuff and "b_Roland_debuffed" or "b_Roland_toggle", - } + return localize {type = "variable", key = card.debuff and "b_Roland_debuffed" or "b_Roland_toggle"} end, Bakery_use_joker = function(_, card) local _ = card.debuff or Bakery_API.flip_double_sided(card) @@ -648,7 +646,7 @@ joker { } joker { - key = "amberacorn", + key = "amber", pronouns = "he_they", config = {extra = {xmult = 3}}, attributes = {"xmult"}, @@ -670,7 +668,7 @@ joker { end local keys = f(card.area.cards):where(f().nq(card)):keys():table() - local k = pseudorandom_element(keys, pseudoseed "Roland_stubborn") or card.rank + local k = pseudorandom_element(keys, pseudoseed "Roland_amber") or card.rank card.area.cards[k], card.area.cards[card.rank] = card.area.cards[card.rank], card.area.cards[k] @@ -869,3 +867,69 @@ joker { end end, } + +joker { + key = "idle", + pronouns = "they_them", + cost = 9, + rarity = 3, + Roland_idle_capacity = 6, + config = {extra = {cards = {}, xmult = 2}}, + attributes = {"rank", "suit", "xmult"}, + eternal_compat = true, + blueprint_compat = true, + perishable_compat = true, + loc_vars = function(self, _, card) + local extra = card.ability.extra + local col = {} + + ---@type { [number]: string|table|nil }|{colours: {[number]: {[1]: number, [2]: number, [3]: number, [4]: number}}} + local vars = f(self.Roland_idle_capacity):flatmap(function(v) + local l = localize_card(extra.cards[v], "b_Roland_unassigned").vars + + f(l.colours):each(function(c) + col[#col + 1] = c + end) + + l.colours = nil + return l + end):values():table() + + table.insert(vars, extra.xmult) + vars.colours = col + return {vars = vars} + end, + calculate = function(_, card, context) + return context.forcetrigger or + context.individual and + context.cardarea == G.play and + f(card.ability.extra.cards or {}):map(function(v) + return f(context.scoring_hand):any(function(x) + return x:is_suit(v.suit) and x.base.value == v.value + end) or {} + end):any(f().eq(context.other_card)) and {xmult = card.ability.extra.xmult} or nil + end, + Bakery_can_use = function(self, card) + return not card.debuff and + next(G.hand.highlighted) and + self.Roland_idle_capacity - #card.ability.extra.cards - #G.hand.highlighted >= 0 and + f(G.hand.highlighted):all(function(v) + return not SMODS.has_no_rank(v) and + not SMODS.has_no_suit(v) and + f(card.ability.extra.cards or {}):all(function(o) + return v.base.suit ~= o.suit or v.base.value ~= o.value + end) + end) + end, + Bakery_use_button_text = function(self, card) + local key = card.debuff and "b_Roland_debuffed" or + (self.Roland_idle_capacity - #card.ability.extra.cards > 0 and "b_Roland_add" or "b_Roland_full") + + return localize {type = "variable", key = key} + end, + Bakery_use_joker = function(_, card) + f(G.hand.highlighted):each(function(v) + table.insert(card.ability.extra.cards, {suit = v.base.suit, value = v.base.value}) + end) + end, +} diff --git a/src/lib/funky.lua b/src/lib/funky.lua index 7c1b901..c6f8baf 100644 --- a/src/lib/funky.lua +++ b/src/lib/funky.lua @@ -22,7 +22,7 @@ local none ---@param tbl table ---@param fpairs? fun(t: table): (fun(table: table, index?: K): K, V) ---@return fun(tbl: table, key: K): K, V ----@return K +---@return table ---@return V ---@nodiscard local function autopairs(tbl, fpairs) @@ -297,6 +297,56 @@ function f:flatmap(func, fpairs) end) end +---@generic K, V, U +---@param self F|{ [K]: V } +---@param func F|fun(v: V, k: K): { [any]: U } +---@param fpairs? fun(t: table): (fun(table: table, index?: K): K, V) +---@return F|{ [K]: U } +---@nodiscard +---@overload fun(self: F|{ [K]: V }, func: string, fpairs?: fun(t: table): (fun(table: table, index?: K): K, V)): F|{ [K]: U } +function f:flatmap(func, fpairs) + -- local i = 0 + local vt, vk, vv, vp + func = type(func) == "string" and f.index(func) or func + + return f.new(function() + if vk then + vk, vv = vp(vt, vk) + + if vk ~= nil then + -- i = i + 1 + -- return i, vv + return vk, vv + end + end + + while true do + local k, v = self:next() + + if k == nil then + return + end + + v = func(v, k) + + if type(v) ~= "table" then + -- i = i + 1 + -- return i, v + return k, v + end + + vp, vt, vk = autopairs(v, fpairs) + vk, vv = vp(vt, vk) + + if vk ~= nil then + -- i = i + 1 + -- return i, vv + return vk, vv + end + end + end) +end + ---@generic K, V ---@param self F|{ [K]: V } ---@param func F|fun(v: V, k: K): boolean