Compare commits

..

8 commits
1.10.6 ... 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
5931aa264b
Clarify 2026-06-24 01:01:28 +02:00
0b5560d019
Nerf Jumbo playing cards on non-Cryptid 2026-06-24 00:38:40 +02:00
3 changed files with 42 additions and 33 deletions

View file

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

View file

@ -171,13 +171,21 @@ function Card:set_ability(...)
local is_jumbo = self.edition and self.edition.jane_jumbo local is_jumbo = self.edition and self.edition.jane_jumbo
if is_jumbo then if is_jumbo then
if Jane.cry then
jumbo.on_remove(self) jumbo.on_remove(self)
else
Jane.resize(self)
end
end end
local ret = orig_set_ability(self, ...) local ret = orig_set_ability(self, ...)
if is_jumbo then if is_jumbo then
if Jane.cry then
jumbo.on_apply(self) jumbo.on_apply(self)
else
Jane.resize(self, Jane.config.wee_sizemod)
end
end end
return ret return ret

View file

@ -584,20 +584,20 @@ SMODS.Joker {
text = { text = {
"{C:attention}Use {}to toggle itself or", "{C:attention}Use {}to toggle itself or",
"other Jokers to its", "other Jokers to its",
"left's {X:legendary,C:white}Eternal{} sticker", "left's {C:legendary}Eternal{} sticker",
"{C:attention}#4#{}#5#{X:black,C:jane_RGB}#6#{C:spectral}#7#", "{C:attention}#4#{}#5#{C:spectral}#6#{}#7#",
"{C:inactive}#8#{C:attention}#9#{C:inactive}#10#", "{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, 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}, pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0}, soul_pos = {x = 1, y = 0},
cost = 20, cost = 20,
rarity = 4, rarity = 4,
blueprint_compat = true, blueprint_compat = true,
loc_vars = function(_, info_queue, card) 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 extra = card.ability.extra
local karma = extra.karma local karma = extra.karma
@ -610,28 +610,27 @@ SMODS.Joker {
attuned and "The" or "", attuned and "The" or "",
attuned and "Attuned" or "", attuned and "Attuned" or "",
attuned and "" or "Attune ", attuned and "" or "Attune ",
attuned and "alongside its " or "after ", attuned and "" or "at ",
attuned and "Edition" or max_karma, attuned and (Jane.cry and "Gateways " or "Spectrals ") or
attuned and "" or (Jane.cry and " Gateways" or " Ankhs"), max_karma .. (Jane.cry and " Gateways" or " Spectrals"),
attuned and "" or "[", attuned and "add Joker slots" or "",
attuned and "" or karma, attuned and "[Currently " or "[",
attuned and "(Cannot be debuffed)" or " / " .. max_karma .. "]", attuned and "+" .. karma or karma,
attuned and "]" or " / " .. max_karma .. "]",
}, },
} }
end, end,
update = function(_, card, _) update = function(_, card, _)
local extra = card.ability.extra if card.edition and card.edition.Roland_frozen then
card.debuff_immune = extra.is_attuned card:set_edition("e_base")
elseif card.children.floating_sprite then
if card.children.floating_sprite then card.children.floating_sprite:set_sprite_pos({x = card.ability.extra.is_attuned and 2 or 1, y = 0})
card.children.floating_sprite:set_sprite_pos({x = extra.is_attuned and 2 or 1, y = 0})
end end
end, end,
calculate = function(_, card, context) calculate = function(_, card, context)
local extra = card.ability.extra local extra = card.ability.extra
local max_karma = extra.max_karma local max_karma = extra.max_karma
extra.is_attuned = extra.is_attuned and extra.karma >= 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() local function ascend()
if extra.is_attuning then if extra.is_attuning then
@ -667,14 +666,9 @@ SMODS.Joker {
end, 1) end, 1)
end end
if extra.is_attuned then if extra.karma >= max_karma then
card.debuff = false local karma = (extra.is_attuning or extra.is_attuned) and 0 or extra.karma
G.jokers:change_size(karma * extra.jokers)
if card.ability then
card.ability.perishable = false
card.ability.perish_tally = 1e9
end
elseif extra.karma >= max_karma then
ascend() ascend()
end end
@ -685,9 +679,9 @@ SMODS.Joker {
return return
end 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 return
end end
@ -703,7 +697,7 @@ SMODS.Joker {
{message = "+" .. quota .. " Karma", colour = G.C.PALE_GREEN} {message = "+" .. quota .. " Karma", colour = G.C.PALE_GREEN}
) )
card_eval_status_text( local _ = extra.karma <= max_karma and card_eval_status_text(
card, card,
"extra", "extra",
nil, nil,
@ -716,9 +710,12 @@ SMODS.Joker {
return return
end end
G.jokers:change_size((extra.is_attuned and quota or extra.karma) * extra.jokers)
ascend() ascend()
end, 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) Bakery_use_joker = function(_, card)
for joker_index = 1, math.max(card.rank - 1, 1) do for joker_index = 1, math.max(card.rank - 1, 1) do
local joker = G.jokers.cards[joker_index] local joker = G.jokers.cards[joker_index]
@ -728,7 +725,9 @@ SMODS.Joker {
joker.Roland_frozen_ability.eternal = joker.ability.eternal joker.Roland_frozen_ability.eternal = joker.ability.eternal
end 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() joker:juice_up()
goto continue goto continue
end end
@ -751,7 +750,9 @@ SMODS.Joker {
if Cryptid and Cryptid.aliases then if Cryptid and Cryptid.aliases then
Cryptid.aliases["saint"] = "j_jane_saint" Cryptid.aliases["saint"] = "j_jane_saint"
Cryptid.aliases["attuned"] = "j_jane_saint"
Cryptid.aliases["the saint"] = "j_jane_saint" Cryptid.aliases["the saint"] = "j_jane_saint"
Cryptid.aliases["the attuned"] = "j_jane_saint"
end end
SMODS.Joker { SMODS.Joker {