Adjust non-cryptid Saint and Weeck

This commit is contained in:
Emik 2026-08-03 20:07:44 +02:00
parent 86b55b5542
commit 0e8c49917e
Signed by: emik
GPG key ID: 6B0CD72A5E503BDF
4 changed files with 45 additions and 28 deletions

View file

@ -18,5 +18,5 @@
"conflicts": [
"Jen"
],
"version": "1.11.18"
"version": "1.11.19"
}

View file

@ -527,8 +527,11 @@ local function apply_weeck()
for _, v in pairs(G.playing_cards) do
if v.base.id == 2 then
v.ability.cry_absolute = true
v.ability.eternal = true
if Jane.cry then
v.ability.cry_absolute = true
v.ability.eternal = true
end
add[#add + 1] = v
else
v:start_dissolve(nil, true)
@ -539,7 +542,7 @@ local function apply_weeck()
local dupe = copy_card(v)
dupe:start_materialize()
dupe:add_to_deck()
G.hand:emplace(dupe)
G.deck:emplace(dupe)
G.playing_card = (G.playing_card and G.playing_card + 1) or 1
table.insert(G.playing_cards, dupe)
end

View file

@ -5,7 +5,9 @@ SMODS.Sound({key = "e_moire", path = "e_moire.ogg"})
SMODS.Sound({key = "e_polygloss", path = "e_polygloss.ogg"})
local function get_weight(self)
return G.GAME.edition_rate * self.weight
return self.weight *
G.GAME.edition_rate *
(next(SMODS.find_card "j_jane_saint") and 10 or 1)
end
SMODS.Edition({
@ -160,8 +162,8 @@ local jumbo = SMODS.Edition({
end
end,
sound = {sound = "jane_e_jumbo", per = 1, vol = 0.5},
weight = 5,
extra_cost = 2,
weight = 6,
extra_cost = 5,
in_shop = true,
shader = false,
apply_to_float = false,

View file

@ -573,7 +573,7 @@ local orig_debuff = Card.set_debuff
function Card:set_debuff(should_debuff)
if should_debuff and ((self.config or {}).center or {}).debuff_immune then
Jane.card_status_text(self, "Immune", nil, 0.05 * self.T.h, G.C.RED, nil, 0.6, nil, nil, "bm", "cancel", 1, 0.9)
Jane.card_status_text(self, "Immune!", nil, 0.05 * self.T.h, G.C.RED, nil, 0.6, nil, nil, "bm", "cancel", 1, 0.9)
return false
else
orig_debuff(self, should_debuff)
@ -589,26 +589,25 @@ SMODS.Joker {
"{C:attention}Use {}to toggle itself or",
"other Jokers to its",
"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#",
"{C:attention}#4#{}#5#{C:spectral}#6#{C:planet}#7#{}#8#",
"{C:inactive,s:1.25}#9#{C:attention,s:1.25}#10#{C:inactive,s:1.25}#11#",
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 = {changes_editions = false, jokers = 1, karma = -10}},
pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0},
cost = 20,
rarity = 4,
debuff_immune = true,
eternal_compat = true,
blueprint_compat = false,
perishable_compat = true,
loc_vars = function(_, info_queue, card)
loc_vars = function(self, info_queue, card)
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
local max_karma = extra.max_karma
local attuned = karma >= max_karma
local attuned = extra.karma >= 0
return {
vars = {
@ -618,11 +617,12 @@ SMODS.Joker {
attuned and "" or "Attune ",
attuned and "" or "at ",
attuned and (Jane.cry and "Gateways " or "Spectrals ") or
max_karma .. (Jane.cry and " Gateways" or " Spectrals"),
(Jane.cry and -self.config.extra.karma .. " Gateways" or ""),
(attuned or Jane.cry) and "" or -self.config.extra.karma .. " Planets",
attuned and "add Joker slots" or "",
attuned and "[Currently " or "[",
attuned and "+" .. karma or karma,
attuned and "]" or " / " .. max_karma .. "]",
attuned and "+" .. extra.karma or extra.karma - self.config.extra.karma,
attuned and "]" or " / " .. -self.config.extra.karma .. "]",
},
}
end,
@ -633,10 +633,9 @@ SMODS.Joker {
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)
calculate = function(self, card, context)
local extra = card.ability.extra
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 >= 0
local function ascend()
if extra.is_attuning then
@ -670,9 +669,14 @@ SMODS.Joker {
play_sound("card1")
extra.is_attuned = true
end, 1)
Jane.q(function()
extra.karma = extra.karma + extra.jokers
G.jokers:change_size(extra.jokers)
end, 1)
end
if extra.karma >= max_karma then
if extra.karma >= 0 then
local karma = extra.is_attuning and 0 or (extra.is_attuned and 1 or extra.karma)
G.jokers:change_size(karma * extra.jokers)
ascend()
@ -687,7 +691,8 @@ SMODS.Joker {
local gc = context.consumeable:gc()
if Jane.cry and gc.key ~= "c_cry_gateway" or not Jane.cry and gc.set ~= "Spectral" then
if Jane.cry and gc.key ~= "c_cry_gateway" or
not Jane.cry and gc.set ~= (extra.karma > 0 and "Spectral" or "Planet") then
return
end
@ -703,16 +708,21 @@ SMODS.Joker {
{message = "+" .. quota .. " Karma", colour = G.C.PALE_GREEN}
)
local _ = extra.karma <= max_karma and card_eval_status_text(
local _ = extra.karma <= 0 and card_eval_status_text(
card,
"extra",
nil,
nil,
nil,
{message = extra.karma .. " / " .. max_karma, colour = G.C.GREEN}
{
message = (extra.karma - self.config.extra.karma) ..
" / " ..
-self.config.extra.karma,
colour = G.C.GREEN,
}
)
if extra.karma < max_karma then
if extra.karma < 0 then
return
end
@ -722,13 +732,15 @@ SMODS.Joker {
add_to_deck = function(_, card)
local extra = card.ability.extra
local _ = (extra.is_attuning or extra.is_attuned) and
local _ = extra.karma > 0 and
(extra.is_attuning or extra.is_attuned) and
G.jokers:change_size(extra.karma * extra.jokers)
end,
remove_from_deck = function(_, card)
local extra = card.ability.extra
local _ = (extra.is_attuning or extra.is_attuned) and
local _ = extra.karma > 0 and
(extra.is_attuning or extra.is_attuned) and
G.jokers:change_size(-extra.karma * extra.jokers)
end,
Bakery_can_use = function(_, card)