Remove centers in non-Cryptid that only worked in Cryptid

This commit is contained in:
Emik 2026-02-16 16:49:39 +01:00
parent 14ac080804
commit a40e85c8c4
Signed by: emik
GPG key ID: 6B0CD72A5E503BDF
8 changed files with 360 additions and 346 deletions

View file

@ -17,5 +17,5 @@
"conflicts": [ "conflicts": [
"Jen" "Jen"
], ],
"version": "1.5.22" "version": "1.5.23"
} }

View file

@ -213,47 +213,49 @@ back {
end, end,
} }
back { if Cryptid then
key = "mysterious", back {
atlas = "janedecks", key = "mysterious",
pos = {x = 1, y = 0}, atlas = "janedecks",
loc_txt = { pos = {x = 1, y = 0},
name = "Mysterious Deck", loc_txt = {
text = { name = "Mysterious Deck",
"Jokers, consumables, and", text = {
"playing cards are {C:green,E:1}randomized", "Jokers, consumables, and",
"when they are added", "playing cards are {C:green,E:1}randomized",
"to your possession", "when they are added",
"to your possession",
},
}, },
}, alt_loc_txt = {
alt_loc_txt = { name = "Sleeve?",
name = "Sleeve?", text = {"{C:attention}Ante order {}is {C:green,E:1}randomized"},
text = {"{C:attention}Ante order {}is {C:green,E:1}randomized"}, },
}, alt_apply = function(_)
alt_apply = function(_) G.GAME.mysterious = true
G.GAME.mysterious = true G.GAME.alt_mysterious = {}
G.GAME.alt_mysterious = {}
for i = G.GAME.round_resets.ante + 1, G.GAME.round_resets.ante + G.GAME.win_ante - 1 do for i = G.GAME.round_resets.ante + 1, G.GAME.round_resets.ante + G.GAME.win_ante - 1 do
G.GAME.alt_mysterious[#G.GAME.alt_mysterious + 1] = {i} G.GAME.alt_mysterious[#G.GAME.alt_mysterious + 1] = {i}
end end
pseudoshuffle(G.GAME.alt_mysterious, pseudoseed("mysterious_deck")) pseudoshuffle(G.GAME.alt_mysterious, pseudoseed("mysterious_deck"))
end, end,
apply = function(_) apply = function(_)
G.GAME.mysterious = true G.GAME.mysterious = true
end, end,
alt_calculate = function(_, _, context) alt_calculate = function(_, _, context)
if context.setting_blind or context.skip_blind then if context.setting_blind or context.skip_blind then
G.GAME.mysterious_init = true G.GAME.mysterious_init = true
end end
end, end,
calculate = function(_, _, context) calculate = function(_, _, context)
if context.setting_blind or context.skip_blind then if context.setting_blind or context.skip_blind then
G.GAME.mysterious_init = true G.GAME.mysterious_init = true
end end
end, end,
} }
end
local function redeem_omen_globe() local function redeem_omen_globe()
G.GAME.used_vouchers.v_omen_globe = true G.GAME.used_vouchers.v_omen_globe = true

View file

@ -62,6 +62,10 @@ SMODS.Blind {
end, end,
} }
if not Cryptid then
return
end
SMODS.Blind { SMODS.Blind {
loc_txt = { loc_txt = {
name = "The Insignia", name = "The Insignia",

View file

@ -5,276 +5,276 @@ SMODS.Atlas {
path = Jane.config.texture_pack .. "/p_jane_boosters.png", path = Jane.config.texture_pack .. "/p_jane_boosters.png",
} }
for i = 1, 2 do if Cryptid then
SMODS.Booster { for i = 1, 2 do
key = "ministandard" .. i, SMODS.Booster {
loc_txt = { key = "ministandard" .. i,
name = "Mini Standard Pack", loc_txt = {
text = { name = "Mini Standard Pack",
"Choose {C:attention}#1#{} of up to", text = {
"{C:attention}#2# playing cards{} to", "Choose {C:attention}#1#{} of up to",
"add to your deck", "{C:attention}#2# playing cards{} to",
"add to your deck",
},
}, },
}, atlas = "janebooster",
atlas = "janebooster", pos = {x = 6, y = i - 1},
pos = {x = 6, y = i - 1}, weight = 0.4,
weight = 0.4, cost = 2,
cost = 2, config = {extra = 2, choose = 1},
config = {extra = 2, choose = 1}, loc_vars = function(_, _, card)
loc_vars = function(_, _, card) return {vars = {card.ability.choose, card.ability.extra}}
return {vars = {card.ability.choose, card.ability.extra}} end,
end, create_card = function(_, _, _)
create_card = function(_, _, _) local edition = poll_edition("standard_edition" .. G.GAME.round_resets.ante, 2, true)
local edition = poll_edition("standard_edition" .. G.GAME.round_resets.ante, 2, true) local seal = SMODS.poll_seal({mod = 10})
local seal = SMODS.poll_seal({mod = 10})
return {
set = (pseudorandom(pseudoseed("stdset" .. G.GAME.round_resets.ante)) > 0.6) and "Enhanced" or "Base",
edition = edition,
seal = seal,
area = G.pack_cards,
skip_materialize = true,
soulable = true,
key_append = "sta",
}
end,
create_UIBox = function(_)
return create_UIBox_standard_pack()
end,
ease_background_colour = function(_)
ease_background_colour_blind(G.STATES.STANDARD_PACK)
end,
particles = function(_)
G.booster_pack_sparkles = Particles(1, 1, 0, 0, {
timer = 0.015,
scale = 0.3,
initialize = true,
lifespan = 3,
speed = 0.2,
padding = -1,
attach = G.ROOM_ATTACH,
colours = {G.C.BLACK, G.C.RED},
fill = true,
})
G.booster_pack_sparkles.fade_alpha = 1
G.booster_pack_sparkles:fade(1, 0)
end,
}
end
for i = 1, 2 do
SMODS.Booster {
key = "miniarcana" .. i,
loc_txt = {
name = "Mini Arcana Pack",
text = {
"Choose {C:attention}#1#{} of up to",
"{C:attention}#2# {C:tarot}Tarot{} cards to",
"be used immediately",
},
},
atlas = "janebooster",
pos = {x = 3 + i, y = 1},
weight = 0.4,
cost = 2,
config = {extra = 2, choose = 1},
draw_hand = true,
loc_vars = function(_, _, card)
return {vars = {card.ability.choose, card.ability.extra}}
end,
create_card = function(_, _, _)
if G.GAME.used_vouchers.v_omen_globe and pseudorandom("omen_globe") > 0.8 then
return { return {
set = "Spectral", set = (pseudorandom(pseudoseed("stdset" .. G.GAME.round_resets.ante)) > 0.6) and "Enhanced" or "Base",
soulable = true, edition = edition,
key_append = "ar2", seal = seal,
area = G.pack_cards,
skip_materialize = true,
}
end
return {
set = "Tarot",
soulable = true,
key_append = "ar1",
area = G.pack_cards,
skip_materialize = true,
}
end,
create_UIBox = function(_)
return create_UIBox_arcana_pack()
end,
ease_background_colour = function(_)
ease_background_colour_blind(G.STATES.TAROT_PACK)
end,
particles = function(_)
G.booster_pack_sparkles = Particles(1, 1, 0, 0, {
timer = 0.015,
scale = 0.2,
initialize = true,
lifespan = 1,
speed = 1.1,
padding = -1,
attach = G.ROOM_ATTACH,
colours = {G.C.WHITE, lighten(G.C.PURPLE, 0.4), lighten(G.C.PURPLE, 0.2), lighten(G.C.GOLD, 0.2)},
fill = true,
})
G.booster_pack_sparkles.fade_alpha = 1
G.booster_pack_sparkles:fade(1, 0)
end,
}
end
for i = 1, 2 do
SMODS.Booster {
key = "minicelestial" .. i,
atlas = "janebooster",
loc_txt = {
name = "Mini Celestial Pack",
text = {
"Choose {C:attention}#1#{} of up to",
"{C:attention}#2# {C:planet}Planet{} cards to",
"be used immediately",
},
},
config = {extra = 2, choose = 1},
pos = {x = 3 + i, y = 0},
cost = 2,
weight = 0.4,
loc_vars = function(_, _, card)
return {vars = {card.ability.choose, card.ability.extra}}
end,
create_card = function(_, _, index)
if not G.GAME.used_vouchers.v_telescope or index ~= 1 then
return {
set = "Planet",
area = G.pack_cards, area = G.pack_cards,
skip_materialize = true, skip_materialize = true,
soulable = true, soulable = true,
key_append = "pl1", key_append = "sta",
} }
end end,
create_UIBox = function(_)
return create_UIBox_standard_pack()
end,
ease_background_colour = function(_)
ease_background_colour_blind(G.STATES.STANDARD_PACK)
end,
particles = function(_)
G.booster_pack_sparkles = Particles(1, 1, 0, 0, {
timer = 0.015,
scale = 0.3,
initialize = true,
lifespan = 3,
speed = 0.2,
padding = -1,
attach = G.ROOM_ATTACH,
colours = {G.C.BLACK, G.C.RED},
fill = true,
})
local planet, hand, tally = nil, nil, 0 G.booster_pack_sparkles.fade_alpha = 1
G.booster_pack_sparkles:fade(1, 0)
end,
}
end
for _, v in ipairs(G.handlist) do for i = 1, 2 do
if G.GAME.hands[v].visible and G.GAME.hands[v].played > tally then SMODS.Booster {
hand = v key = "miniarcana" .. i,
tally = G.GAME.hands[v].played loc_txt = {
name = "Mini Arcana Pack",
text = {
"Choose {C:attention}#1#{} of up to",
"{C:attention}#2# {C:tarot}Tarot{} cards to",
"be used immediately",
},
},
atlas = "janebooster",
pos = {x = 3 + i, y = 1},
weight = 0.4,
cost = 2,
config = {extra = 2, choose = 1},
draw_hand = true,
loc_vars = function(_, _, card)
return {vars = {card.ability.choose, card.ability.extra}}
end,
create_card = function(_, _, _)
if G.GAME.used_vouchers.v_omen_globe and pseudorandom("omen_globe") > 0.8 then
return {
set = "Spectral",
soulable = true,
key_append = "ar2",
area = G.pack_cards,
skip_materialize = true,
}
end end
end
if hand then return {
for _, v in pairs(G.P_CENTER_POOLS.Planet) do set = "Tarot",
if v.config.hand_type == hand then soulable = true,
planet = v.key key_append = "ar1",
area = G.pack_cards,
skip_materialize = true,
}
end,
create_UIBox = function(_)
return create_UIBox_arcana_pack()
end,
ease_background_colour = function(_)
ease_background_colour_blind(G.STATES.TAROT_PACK)
end,
particles = function(_)
G.booster_pack_sparkles = Particles(1, 1, 0, 0, {
timer = 0.015,
scale = 0.2,
initialize = true,
lifespan = 1,
speed = 1.1,
padding = -1,
attach = G.ROOM_ATTACH,
colours = {G.C.WHITE, lighten(G.C.PURPLE, 0.4), lighten(G.C.PURPLE, 0.2), lighten(G.C.GOLD, 0.2)},
fill = true,
})
G.booster_pack_sparkles.fade_alpha = 1
G.booster_pack_sparkles:fade(1, 0)
end,
}
end
for i = 1, 2 do
SMODS.Booster {
key = "minicelestial" .. i,
atlas = "janebooster",
loc_txt = {
name = "Mini Celestial Pack",
text = {
"Choose {C:attention}#1#{} of up to",
"{C:attention}#2# {C:planet}Planet{} cards to",
"be used immediately",
},
},
config = {extra = 2, choose = 1},
pos = {x = 3 + i, y = 0},
cost = 2,
weight = 0.4,
loc_vars = function(_, _, card)
return {vars = {card.ability.choose, card.ability.extra}}
end,
create_card = function(_, _, index)
if not G.GAME.used_vouchers.v_telescope or index ~= 1 then
return {
set = "Planet",
area = G.pack_cards,
skip_materialize = true,
soulable = true,
key_append = "pl1",
}
end
local planet, hand, tally = nil, nil, 0
for _, v in ipairs(G.handlist) do
if G.GAME.hands[v].visible and G.GAME.hands[v].played > tally then
hand = v
tally = G.GAME.hands[v].played
end end
end end
end
return { if hand then
key = planet, for _, v in pairs(G.P_CENTER_POOLS.Planet) do
set = "Planet", if v.config.hand_type == hand then
soulable = true, planet = v.key
key_append = "pl1", end
area = G.pack_cards, end
skip_materialize = true, end
}
end,
create_UIBox = function(_)
return create_UIBox_celestial_pack()
end,
ease_background_colour = function(_)
ease_background_colour_blind(G.STATES.PLANET_PACK)
end,
particles = function(_)
G.booster_pack_stars = Particles(1, 1, 0, 0, {
fill = true,
scale = 0.1,
speed = 0.1,
timer = 0.07,
padding = -4,
lifespan = 15,
initialize = true,
attach = G.ROOM_ATTACH,
colours = {G.C.WHITE, HEX("a7d6e0"), HEX("fddca0")},
})
G.booster_pack_meteors = Particles(1, 1, 0, 0, { return {
speed = 4, key = planet,
timer = 2, set = "Planet",
fill = true, soulable = true,
scale = 0.05, key_append = "pl1",
lifespan = 1.5, area = G.pack_cards,
attach = G.ROOM_ATTACH, skip_materialize = true,
colours = {G.C.WHITE}, }
}) end,
end, create_UIBox = function(_)
set_ability = function(_, card, _, _) return create_UIBox_celestial_pack()
card.ability = card.ability or {} end,
card.ability.set = "Booster" ease_background_colour = function(_)
card.ability.name = "Mini Celestial Pack" ease_background_colour_blind(G.STATES.PLANET_PACK)
end, end,
} particles = function(_)
end G.booster_pack_stars = Particles(1, 1, 0, 0, {
fill = true,
scale = 0.1,
speed = 0.1,
timer = 0.07,
padding = -4,
lifespan = 15,
initialize = true,
attach = G.ROOM_ATTACH,
colours = {G.C.WHITE, HEX("a7d6e0"), HEX("fddca0")},
})
for i = 1, 2 do G.booster_pack_meteors = Particles(1, 1, 0, 0, {
SMODS.Booster { speed = 4,
key = "minispectral" .. i, timer = 2,
atlas = "janebooster", fill = true,
loc_txt = { scale = 0.05,
name = "Mini Spectral Pack", lifespan = 1.5,
text = { attach = G.ROOM_ATTACH,
"Choose {C:attention}#1#{} of up to", colours = {G.C.WHITE},
"{C:attention}#2# {C:spectral}Spectral{} cards to", })
"be used immediately", end,
set_ability = function(_, card, _, _)
card.ability = card.ability or {}
card.ability.set = "Booster"
card.ability.name = "Mini Celestial Pack"
end,
}
end
for i = 1, 2 do
SMODS.Booster {
key = "minispectral" .. i,
atlas = "janebooster",
loc_txt = {
name = "Mini Spectral Pack",
text = {
"Choose {C:attention}#1#{} of up to",
"{C:attention}#2# {C:spectral}Spectral{} cards to",
"be used immediately",
},
}, },
}, config = {extra = 1, choose = 1},
config = {extra = 1, choose = 1}, pos = {x = 3 + i, y = 2},
pos = {x = 3 + i, y = 2}, cost = 2,
cost = 2, weight = 0.225,
weight = 0.225, draw_hand = true,
draw_hand = true, loc_vars = function(_, _, card)
loc_vars = function(_, _, card) return {vars = {card.ability.choose, card.ability.extra}}
return {vars = {card.ability.choose, card.ability.extra}} end,
end, create_card = function(_, _, _)
create_card = function(_, _, _) return {
return { soulable = true,
soulable = true, set = "Spectral",
set = "Spectral", key_append = "spe",
key_append = "spe", area = G.pack_cards,
area = G.pack_cards, skip_materialize = true,
skip_materialize = true, }
} end,
end, create_UIBox = function(_)
create_UIBox = function(_) return create_UIBox_spectral_pack()
return create_UIBox_spectral_pack() end,
end, ease_background_colour = function(_)
ease_background_colour = function(_) ease_background_colour_blind(G.STATES.SPECTRAL_PACK)
ease_background_colour_blind(G.STATES.SPECTRAL_PACK) end,
end, particles = function(_)
particles = function(_) G.booster_pack_sparkles = Particles(1, 1, 0, 0, {
G.booster_pack_sparkles = Particles(1, 1, 0, 0, { scale = 0.1,
scale = 0.1, fill = true,
fill = true, speed = 0.2,
speed = 0.2, lifespan = 3,
lifespan = 3, padding = -1,
padding = -1, timer = 0.015,
timer = 0.015, initialize = true,
initialize = true, attach = G.ROOM_ATTACH,
attach = G.ROOM_ATTACH, colours = {G.C.WHITE, lighten(G.C.GOLD, 0.2)},
colours = {G.C.WHITE, lighten(G.C.GOLD, 0.2)}, })
})
G.booster_pack_sparkles.fade_alpha = 1 G.booster_pack_sparkles.fade_alpha = 1
G.booster_pack_sparkles:fade(1, 0) G.booster_pack_sparkles:fade(1, 0)
end, end,
} }
end end
if Cryptid then
SMODS.Booster { SMODS.Booster {
atlas = "janebooster", atlas = "janebooster",
key = "minicode", key = "minicode",

View file

@ -61,18 +61,14 @@ SMODS.Challenge {
end, end,
} }
G.localization.misc.v_text["ch_c_jane_downpour1"] = { G.localization.misc.v_text.ch_c_jane_downpour1 =
"Start with all {C:legendary}Rain World Jokers", {"Start with all {C:legendary}Rain World Jokers"}
}
G.localization.misc.v_text["ch_c_jane_downpour2"] = { G.localization.misc.v_text.ch_c_jane_downpour2 =
"Destroy a random {C:legendary}Rain World Joker {}when", {"Destroy a random {C:legendary}Rain World Joker {}when"}
}
G.localization.misc.v_text["ch_c_jane_downpour3"] = { G.localization.misc.v_text.ch_c_jane_downpour3 =
"{C:attention}Boss Blind {}is defeated, or {C:red}lose", {"{C:attention}Boss Blind {}is defeated, or {C:red}lose"}
}
G.localization.misc.v_text["ch_c_jane_downpour4"] = { G.localization.misc.v_text.ch_c_jane_downpour4 =
"Win on {C:attention}Ante 16", {"Win on {C:attention}Ante 16"}
}

View file

@ -152,34 +152,6 @@ local function randomize(targets, noanim)
end end
end end
SMODS.Consumable {
key = "obfuscation",
atlas = "janeacc",
set = "Spectral",
loc_txt = {
name = "Obfuscation",
text = {
"{C:green,E:1}Randomises{} all cards in hand",
"{C:inactive}(Rank, seal, edition,",
"{C:inactive}enhancement, and suit)",
},
},
pos = {x = 0, y = 4},
cost = 4,
can_use = function(_, _)
return Jane.can_use() and #((G.hand or {}).cards or {}) > 0
end,
use = function(_, card, _, _)
Jane.q(function()
play_sound("tarot1")
card:juice_up(0.3, 0.5)
end, 0.4)
randomize(G.hand.cards)
delay(0.5)
end,
}
SMODS.Consumable { SMODS.Consumable {
key = "conjure", key = "conjure",
set = "Spectral", set = "Spectral",
@ -280,10 +252,44 @@ SMODS.Consumable {
end, end,
} }
SMODS.Consumable {
key = "obfuscation",
atlas = "janeacc",
set = "Spectral",
hidden = not Cryptid,
soul_rate = not Cryptid and 0.003 or nil,
soul_set = not Cryptid and "Spectral" or nil,
loc_txt = {
name = "Obfuscation",
text = {
"{C:green,E:1}Randomises{} all cards in hand",
"{C:inactive}(Rank, seal, edition,",
"{C:inactive}enhancement, and suit)",
},
},
pos = {x = 0, y = 4},
cost = 4,
can_use = function(_, _)
return Jane.can_use() and #((G.hand or {}).cards or {}) > 0
end,
use = function(_, card, _, _)
Jane.q(function()
play_sound("tarot1")
card:juice_up(0.3, 0.5)
end, 0.4)
randomize(G.hand.cards)
delay(0.5)
end,
}
SMODS.Consumable { SMODS.Consumable {
key = "rift", key = "rift",
atlas = "janeacc", atlas = "janeacc",
set = "Spectral", set = "Spectral",
hidden = not Cryptid,
soul_rate = not Cryptid and 0.003 or nil,
soul_set = not Cryptid and "Spectral" or nil,
loc_txt = { loc_txt = {
name = "Rift", name = "Rift",
text = { text = {

View file

@ -1,3 +1,7 @@
if not Cryptid then
return
end
local function j() local function j()
return G.GAME.used_vouchers.v_jane_jolly_voucher and "j_jolly" or "j_joker" return G.GAME.used_vouchers.v_jane_jolly_voucher and "j_jolly" or "j_joker"
end end

View file

@ -12,21 +12,23 @@ SMODS.Atlas {
path = Jane.config.texture_pack .. "/v_jane_token_voucher.png", path = Jane.config.texture_pack .. "/v_jane_token_voucher.png",
} }
SMODS.Voucher { if Cryptid then
key = "jolly_voucher", SMODS.Voucher {
atlas = "janejollyvoucher", key = "jolly_voucher",
loc_txt = { atlas = "janejollyvoucher",
name = "Jolly Voucher", loc_txt = {
text = {"{C:attention,T:c_jane_jokerinatarot}Joker-in-a-Tarot {}creates", "{C:attention,T:j_jolly}Jolly Joker {}instead"}, name = "Jolly Voucher",
}, text = {"{C:attention,T:c_jane_jokerinatarot}Joker-in-a-Tarot {}creates", "{C:attention,T:j_jolly}Jolly Joker {}instead"},
pos = {x = 0, y = 0}, },
cost = 8, pos = {x = 0, y = 0},
loc_vars = function(_, info_queue, _) cost = 8,
info_queue[#info_queue + 1] = G.P_CENTERS.c_jane_jokerinatarot loc_vars = function(_, info_queue, _)
info_queue[#info_queue + 1] = G.P_CENTERS.j_jolly info_queue[#info_queue + 1] = G.P_CENTERS.c_jane_jokerinatarot
return {vars = {}} info_queue[#info_queue + 1] = G.P_CENTERS.j_jolly
end, return {vars = {}}
} end,
}
end
SMODS.Voucher { SMODS.Voucher {
key = "token_voucher", key = "token_voucher",
@ -36,7 +38,7 @@ SMODS.Voucher {
text = {"{C:attention}Tokens {}can appear", "in the shop"}, text = {"{C:attention}Tokens {}can appear", "in the shop"},
}, },
pos = {x = 0, y = 0}, pos = {x = 0, y = 0},
cost = 15, cost = 10,
redeem = function(_, _) redeem = function(_, _)
G.GAME["jane_tokens_rate"] = 1.5 G.GAME["jane_tokens_rate"] = 1.5
end, end,