Compare commits

..

No commits in common. "main" and "1.10.9" have entirely different histories.
main ... 1.10.9

2 changed files with 34 additions and 32 deletions

View file

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

View file

@ -584,20 +584,22 @@ 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 {C:legendary}Eternal{} sticker", "left's {X:legendary,C:white}Eternal{} sticker",
"{C:attention}#4#{}#5#{C:spectral}#6#{}#7#", "{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: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#",
Jane.cry and "{C:inactive}(Gateway has no downside)" or nil, Jane.cry and "{C:inactive}(Gateway has no downside)" or nil,
}, },
}, },
config = {extra = {changes_editions = false, jokers = Jane.cry and 10 or 1, karma = 0, max_karma = Jane.cry and 10 or 3}}, config = {extra = {karma = 0, max_karma = Jane.cry and 20 or 2}},
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 nil info_queue[#info_queue + 1] = Jane.cry and G.P_CENTERS.c_cry_gateway or G.P_CENTERS.c_ankh
local extra = card.ability.extra local extra = card.ability.extra
local karma = extra.karma local karma = extra.karma
@ -610,27 +612,29 @@ 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 "" or "at ", attuned and "alongside its " or "after ",
attuned and (Jane.cry and "Gateways " or "Spectrals ") or attuned and "Edition" or max_karma,
max_karma .. (Jane.cry and " Gateways" or " Spectrals"), attuned and "" or (Jane.cry and " Gateways" or " Ankhs"),
attuned and "add Joker slots" or "", attuned and "" or "[",
attuned and "[Currently " or "[", attuned and "" or karma,
attuned and "+" .. karma or karma, attuned and "" or " / " .. max_karma .. "]",
attuned and "]" or " / " .. max_karma .. "]", attuned and "(Cannot be debuffed)" or "",
}, },
} }
end, end,
update = function(_, card, _) update = function(_, card, _)
if card.edition and card.edition.Roland_frozen then local extra = card.ability.extra
card:set_edition("e_base") card.debuff_immune = extra.is_attuned
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}) if card.children.floating_sprite then
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 5 or 2)
local function ascend() local function ascend()
if extra.is_attuning then if extra.is_attuning then
@ -666,9 +670,14 @@ SMODS.Joker {
end, 1) end, 1)
end end
if extra.karma >= max_karma then if extra.is_attuned then
local karma = (extra.is_attuning or extra.is_attuned) and 0 or extra.karma card.debuff = false
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
@ -679,9 +688,9 @@ SMODS.Joker {
return return
end end
local gc = context.consumeable:gc() local key = context.consumeable:gc().key
if Jane.cry and gc.key ~= "c_cry_gateway" or not Jane.cry and gc.set ~= "Spectral" then if Jane.cry and key ~= "c_cry_gateway" or not Jane.cry and key ~= "c_ankh" then
return return
end end
@ -697,7 +706,7 @@ SMODS.Joker {
{message = "+" .. quota .. " Karma", colour = G.C.PALE_GREEN} {message = "+" .. quota .. " Karma", colour = G.C.PALE_GREEN}
) )
local _ = extra.karma <= max_karma and card_eval_status_text( card_eval_status_text(
card, card,
"extra", "extra",
nil, nil,
@ -710,12 +719,9 @@ 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 = function(_, card) Bakery_can_use = Jane.can_use,
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]
@ -725,9 +731,7 @@ 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.changes_editions or if not card.ability.extra.is_attuned or joker.ability.eternal then
not card.ability.extra.is_attuned or
joker.ability.eternal then
joker:juice_up() joker:juice_up()
goto continue goto continue
end end
@ -750,9 +754,7 @@ 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 {