Compare commits

..

6 commits
1.10.8 ... main

Author SHA1 Message Date
bb05a0512b
Nerf Saint 2026-06-26 16:50:28 +02:00
8122036a55
Buff Saint 2026-06-26 14:28:28 +02:00
3cf0a17c45
Simplify Attuned Saint to be a passive ability 2026-06-26 01:58:28 +02:00
67f6ca08f5
Remove outdated info queue 2026-06-24 16:44:44 +02:00
9175f9bb7f
Simplify The Saint 2026-06-24 16:16:48 +02:00
3e679120e0
Tweak number 2026-06-24 01:09:19 +02:00
2 changed files with 32 additions and 34 deletions

View file

@ -18,5 +18,5 @@
"conflicts": [
"Jen"
],
"version": "1.10.8"
"version": "1.11.0"
}

View file

@ -584,22 +584,20 @@ 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:spectral}Spectral {}cards may",
"appear in the shop",
"{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 20 or 2}},
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,
rarity = 4,
blueprint_compat = true,
loc_vars = function(_, info_queue, card)
info_queue[#info_queue + 1] = Jane.cry and G.P_CENTERS.c_cry_gateway or G.P_CENTERS.c_ankh
info_queue[#info_queue + 1] = Jane.cry and G.P_CENTERS.c_cry_gateway or nil
local extra = card.ability.extra
local karma = extra.karma
@ -612,29 +610,27 @@ SMODS.Joker {
attuned and "The" or "",
attuned and "Attuned" or "",
attuned and "" or "Attune ",
attuned and "alongside its " or "after ",
attuned and "Edition" or max_karma,
attuned and "" or (Jane.cry and " Gateways" or " Ankhs"),
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_base")
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)
local extra = card.ability.extra
local max_karma = extra.max_karma
extra.is_attuned = extra.is_attuned and extra.karma >= max_karma
G.GAME.spectral_rate = math.max(G.GAME.spectral_rate, extra.is_attuned and 20 or 2)
local function ascend()
if extra.is_attuning then
@ -670,14 +666,9 @@ 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
local karma = (extra.is_attuning or extra.is_attuned) and 0 or extra.karma
G.jokers:change_size(karma * extra.jokers)
ascend()
end
@ -688,9 +679,9 @@ SMODS.Joker {
return
end
local key = context.consumeable:gc().key
local gc = context.consumeable:gc()
if Jane.cry and key ~= "c_cry_gateway" or not Jane.cry and key ~= "c_ankh" then
if Jane.cry and gc.key ~= "c_cry_gateway" or not Jane.cry and gc.set ~= "Spectral" then
return
end
@ -706,7 +697,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,
@ -719,9 +710,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]
@ -731,7 +725,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
@ -754,7 +750,9 @@ SMODS.Joker {
if Cryptid and Cryptid.aliases then
Cryptid.aliases["saint"] = "j_jane_saint"
Cryptid.aliases["attuned"] = "j_jane_saint"
Cryptid.aliases["the saint"] = "j_jane_saint"
Cryptid.aliases["the attuned"] = "j_jane_saint"
end
SMODS.Joker {