From 3cf0a17c45c1ea95aa879880237f11ac176d91c2 Mon Sep 17 00:00:00 2001 From: Emik Date: Fri, 26 Jun 2026 01:58:28 +0200 Subject: [PATCH] Simplify Attuned Saint to be a passive ability --- manifest.json | 2 +- src/slugcat.lua | 52 ++++++++++++++++++++++++------------------------- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/manifest.json b/manifest.json index fb1f566..ce44c09 100644 --- a/manifest.json +++ b/manifest.json @@ -18,5 +18,5 @@ "conflicts": [ "Jen" ], - "version": "1.10.11" + "version": "1.11.0" } \ No newline at end of file diff --git a/src/slugcat.lua b/src/slugcat.lua index 8861f90..9b26091 100644 --- a/src/slugcat.lua +++ b/src/slugcat.lua @@ -584,13 +584,13 @@ SMODS.Joker { text = { "{C:attention}Use {}to toggle itself or", "other Jokers to its", - "left's {X:legendary,C:white}Eternal{} sticker", - "{C:attention}#4#{}#5#{X:black,C:jane_RGB}#6#{C:spectral}#7#", - "{C:inactive,s:1.25}#8#{C:attention,s:1.25}#9#{C:inactive,s:1.25}#10#{C:inactive}#11#", + "left's {C:legendary}Eternal{} sticker", + "{C:attention}#4#{}#5#{C:spectral}#6#{}#7#", + "{C:inactive,s:1.25}#8#{C:attention,s:1.25}#9#{C:inactive,s:1.25}#10#", Jane.cry and "{C:inactive}(Gateway has no downside)" or nil, }, }, - config = {extra = {karma = 0, max_karma = Jane.cry and 10 or 3}}, + config = {extra = {changes_editions = false, jokers = Jane.cry and 10 or 1, karma = 0, max_karma = Jane.cry and 10 or 3}}, pos = {x = 0, y = 0}, soul_pos = {x = 1, y = 0}, cost = 20, @@ -610,22 +610,21 @@ SMODS.Joker { attuned and "The" or "", attuned and "Attuned" or "", attuned and "" or "Attune ", - attuned and "alongside its " or "at ", - attuned and "Edition" or max_karma, - attuned and "" or (Jane.cry and " Gateways" or " Spectrals"), - attuned and "" or "[", - attuned and "" or karma, - attuned and "" or " / " .. max_karma .. "]", - attuned and "(Cannot be debuffed)" or "", + attuned and "" or "at ", + attuned and (Jane.cry and "Gateways " or "Spectrals ") or + max_karma .. (Jane.cry and " Gateways" or " Spectrals"), + attuned and "add Joker slots" or "", + attuned and "[Currently " or "[", + attuned and "+" .. karma or karma, + attuned and "]" or " / " .. max_karma .. "]", }, } end, update = function(_, card, _) - local extra = card.ability.extra - card.debuff_immune = extra.is_attuned - - if card.children.floating_sprite then - card.children.floating_sprite:set_sprite_pos({x = extra.is_attuned and 2 or 1, y = 0}) + if card.edition and card.edition.Roland_frozen then + card:set_edition("e_jane_moire") + elseif card.children.floating_sprite then + card.children.floating_sprite:set_sprite_pos({x = card.ability.extra.is_attuned and 2 or 1, y = 0}) end end, calculate = function(_, card, context) @@ -667,14 +666,8 @@ SMODS.Joker { end, 1) end - if extra.is_attuned then - card.debuff = false - - if card.ability then - card.ability.perishable = false - card.ability.perish_tally = 1e9 - end - elseif extra.karma >= max_karma then + if extra.karma >= max_karma then + G.jokers:change_size((extra.is_attuned and 0 or extra.karma) * extra.jokers) ascend() end @@ -703,7 +696,7 @@ SMODS.Joker { {message = "+" .. quota .. " Karma", colour = G.C.PALE_GREEN} ) - card_eval_status_text( + local _ = extra.karma <= max_karma and card_eval_status_text( card, "extra", nil, @@ -716,9 +709,12 @@ SMODS.Joker { return end + G.jokers:change_size((extra.is_attuned and quota or extra.karma) * extra.jokers) ascend() end, - Bakery_can_use = Jane.can_use, + Bakery_can_use = function(_, card) + return Jane.can_use() and not card.debuff + end, Bakery_use_joker = function(_, card) for joker_index = 1, math.max(card.rank - 1, 1) do local joker = G.jokers.cards[joker_index] @@ -728,7 +724,9 @@ SMODS.Joker { joker.Roland_frozen_ability.eternal = joker.ability.eternal end - if not card.ability.extra.is_attuned or joker.ability.eternal then + if not card.ability.extra.changes_editions or + not card.ability.extra.is_attuned or + joker.ability.eternal then joker:juice_up() goto continue end