From a40e85c8c4ea64b74bfed86ead5985f5dcbe5bcd Mon Sep 17 00:00:00 2001 From: Emik Date: Mon, 16 Feb 2026 16:49:39 +0100 Subject: [PATCH] Remove centers in non-Cryptid that only worked in Cryptid --- manifest.json | 2 +- src/back.lua | 78 +++---- src/blind.lua | 4 + src/booster.lua | 502 +++++++++++++++++++++++----------------------- src/challenge.lua | 20 +- src/spectral.lua | 62 +++--- src/tarot.lua | 4 + src/voucher.lua | 34 ++-- 8 files changed, 360 insertions(+), 346 deletions(-) diff --git a/manifest.json b/manifest.json index e682d32..7323946 100644 --- a/manifest.json +++ b/manifest.json @@ -17,5 +17,5 @@ "conflicts": [ "Jen" ], - "version": "1.5.22" + "version": "1.5.23" } \ No newline at end of file diff --git a/src/back.lua b/src/back.lua index b08647b..9db444f 100644 --- a/src/back.lua +++ b/src/back.lua @@ -213,47 +213,49 @@ back { end, } -back { - key = "mysterious", - atlas = "janedecks", - pos = {x = 1, y = 0}, - loc_txt = { - name = "Mysterious Deck", - text = { - "Jokers, consumables, and", - "playing cards are {C:green,E:1}randomized", - "when they are added", - "to your possession", +if Cryptid then + back { + key = "mysterious", + atlas = "janedecks", + pos = {x = 1, y = 0}, + loc_txt = { + name = "Mysterious Deck", + text = { + "Jokers, consumables, and", + "playing cards are {C:green,E:1}randomized", + "when they are added", + "to your possession", + }, }, - }, - alt_loc_txt = { - name = "Sleeve?", - text = {"{C:attention}Ante order {}is {C:green,E:1}randomized"}, - }, - alt_apply = function(_) - G.GAME.mysterious = true - G.GAME.alt_mysterious = {} + alt_loc_txt = { + name = "Sleeve?", + text = {"{C:attention}Ante order {}is {C:green,E:1}randomized"}, + }, + alt_apply = function(_) + G.GAME.mysterious = true + G.GAME.alt_mysterious = {} - 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} - end + 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} + end - pseudoshuffle(G.GAME.alt_mysterious, pseudoseed("mysterious_deck")) - end, - apply = function(_) - G.GAME.mysterious = true - end, - alt_calculate = function(_, _, context) - if context.setting_blind or context.skip_blind then - G.GAME.mysterious_init = true - end - end, - calculate = function(_, _, context) - if context.setting_blind or context.skip_blind then - G.GAME.mysterious_init = true - end - end, -} + pseudoshuffle(G.GAME.alt_mysterious, pseudoseed("mysterious_deck")) + end, + apply = function(_) + G.GAME.mysterious = true + end, + alt_calculate = function(_, _, context) + if context.setting_blind or context.skip_blind then + G.GAME.mysterious_init = true + end + end, + calculate = function(_, _, context) + if context.setting_blind or context.skip_blind then + G.GAME.mysterious_init = true + end + end, + } +end local function redeem_omen_globe() G.GAME.used_vouchers.v_omen_globe = true diff --git a/src/blind.lua b/src/blind.lua index 96d1832..25ea17a 100644 --- a/src/blind.lua +++ b/src/blind.lua @@ -62,6 +62,10 @@ SMODS.Blind { end, } +if not Cryptid then + return +end + SMODS.Blind { loc_txt = { name = "The Insignia", diff --git a/src/booster.lua b/src/booster.lua index b0ac457..88c758a 100644 --- a/src/booster.lua +++ b/src/booster.lua @@ -5,276 +5,276 @@ SMODS.Atlas { path = Jane.config.texture_pack .. "/p_jane_boosters.png", } -for i = 1, 2 do - SMODS.Booster { - key = "ministandard" .. i, - loc_txt = { - name = "Mini Standard Pack", - text = { - "Choose {C:attention}#1#{} of up to", - "{C:attention}#2# playing cards{} to", - "add to your deck", +if Cryptid then + for i = 1, 2 do + SMODS.Booster { + key = "ministandard" .. i, + loc_txt = { + name = "Mini Standard Pack", + text = { + "Choose {C:attention}#1#{} of up to", + "{C:attention}#2# playing cards{} to", + "add to your deck", + }, }, - }, - atlas = "janebooster", - pos = {x = 6, y = i - 1}, - weight = 0.4, - cost = 2, - config = {extra = 2, choose = 1}, - loc_vars = function(_, _, card) - return {vars = {card.ability.choose, card.ability.extra}} - end, - create_card = function(_, _, _) - local edition = poll_edition("standard_edition" .. G.GAME.round_resets.ante, 2, true) - local seal = SMODS.poll_seal({mod = 10}) + atlas = "janebooster", + pos = {x = 6, y = i - 1}, + weight = 0.4, + cost = 2, + config = {extra = 2, choose = 1}, + loc_vars = function(_, _, card) + return {vars = {card.ability.choose, card.ability.extra}} + end, + create_card = function(_, _, _) + local edition = poll_edition("standard_edition" .. G.GAME.round_resets.ante, 2, true) + 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 { - set = "Spectral", - soulable = true, - key_append = "ar2", - 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", + 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 = "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 - if G.GAME.hands[v].visible and G.GAME.hands[v].played > tally then - hand = v - tally = G.GAME.hands[v].played + 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 { + set = "Spectral", + soulable = true, + key_append = "ar2", + area = G.pack_cards, + skip_materialize = true, + } end - end - if hand then - for _, v in pairs(G.P_CENTER_POOLS.Planet) do - if v.config.hand_type == hand then - planet = v.key + 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, + 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 - return { - key = planet, - set = "Planet", - soulable = true, - key_append = "pl1", - area = G.pack_cards, - skip_materialize = true, - } - 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")}, - }) + if hand then + for _, v in pairs(G.P_CENTER_POOLS.Planet) do + if v.config.hand_type == hand then + planet = v.key + end + end + end - G.booster_pack_meteors = Particles(1, 1, 0, 0, { - speed = 4, - timer = 2, - fill = true, - scale = 0.05, - lifespan = 1.5, - attach = G.ROOM_ATTACH, - colours = {G.C.WHITE}, - }) - end, - set_ability = function(_, card, _, _) - card.ability = card.ability or {} - card.ability.set = "Booster" - card.ability.name = "Mini Celestial Pack" - end, - } -end + return { + key = planet, + set = "Planet", + soulable = true, + key_append = "pl1", + area = G.pack_cards, + skip_materialize = true, + } + 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")}, + }) -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", + G.booster_pack_meteors = Particles(1, 1, 0, 0, { + speed = 4, + timer = 2, + fill = true, + scale = 0.05, + lifespan = 1.5, + attach = G.ROOM_ATTACH, + colours = {G.C.WHITE}, + }) + 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}, - pos = {x = 3 + i, y = 2}, - cost = 2, - weight = 0.225, - draw_hand = true, - loc_vars = function(_, _, card) - return {vars = {card.ability.choose, card.ability.extra}} - end, - create_card = function(_, _, _) - return { - soulable = true, - set = "Spectral", - key_append = "spe", - area = G.pack_cards, - skip_materialize = true, - } - end, - create_UIBox = function(_) - return create_UIBox_spectral_pack() - end, - ease_background_colour = function(_) - ease_background_colour_blind(G.STATES.SPECTRAL_PACK) - end, - particles = function(_) - G.booster_pack_sparkles = Particles(1, 1, 0, 0, { - scale = 0.1, - fill = true, - speed = 0.2, - lifespan = 3, - padding = -1, - timer = 0.015, - initialize = true, - attach = G.ROOM_ATTACH, - colours = {G.C.WHITE, lighten(G.C.GOLD, 0.2)}, - }) + config = {extra = 1, choose = 1}, + pos = {x = 3 + i, y = 2}, + cost = 2, + weight = 0.225, + draw_hand = true, + loc_vars = function(_, _, card) + return {vars = {card.ability.choose, card.ability.extra}} + end, + create_card = function(_, _, _) + return { + soulable = true, + set = "Spectral", + key_append = "spe", + area = G.pack_cards, + skip_materialize = true, + } + end, + create_UIBox = function(_) + return create_UIBox_spectral_pack() + end, + ease_background_colour = function(_) + ease_background_colour_blind(G.STATES.SPECTRAL_PACK) + end, + particles = function(_) + G.booster_pack_sparkles = Particles(1, 1, 0, 0, { + scale = 0.1, + fill = true, + speed = 0.2, + lifespan = 3, + padding = -1, + timer = 0.015, + initialize = true, + attach = G.ROOM_ATTACH, + colours = {G.C.WHITE, lighten(G.C.GOLD, 0.2)}, + }) - G.booster_pack_sparkles.fade_alpha = 1 - G.booster_pack_sparkles:fade(1, 0) - end, - } -end + G.booster_pack_sparkles.fade_alpha = 1 + G.booster_pack_sparkles:fade(1, 0) + end, + } + end -if Cryptid then SMODS.Booster { atlas = "janebooster", key = "minicode", diff --git a/src/challenge.lua b/src/challenge.lua index cb90013..a7cfa43 100644 --- a/src/challenge.lua +++ b/src/challenge.lua @@ -61,18 +61,14 @@ SMODS.Challenge { end, } -G.localization.misc.v_text["ch_c_jane_downpour1"] = { - "Start with all {C:legendary}Rain World Jokers", -} +G.localization.misc.v_text.ch_c_jane_downpour1 = +{"Start with all {C:legendary}Rain World Jokers"} -G.localization.misc.v_text["ch_c_jane_downpour2"] = { - "Destroy a random {C:legendary}Rain World Joker {}when", -} +G.localization.misc.v_text.ch_c_jane_downpour2 = +{"Destroy a random {C:legendary}Rain World Joker {}when"} -G.localization.misc.v_text["ch_c_jane_downpour3"] = { - "{C:attention}Boss Blind {}is defeated, or {C:red}lose", -} +G.localization.misc.v_text.ch_c_jane_downpour3 = +{"{C:attention}Boss Blind {}is defeated, or {C:red}lose"} -G.localization.misc.v_text["ch_c_jane_downpour4"] = { - "Win on {C:attention}Ante 16", -} +G.localization.misc.v_text.ch_c_jane_downpour4 = +{"Win on {C:attention}Ante 16"} diff --git a/src/spectral.lua b/src/spectral.lua index 8c16c83..1434720 100644 --- a/src/spectral.lua +++ b/src/spectral.lua @@ -152,34 +152,6 @@ local function randomize(targets, noanim) 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 { key = "conjure", set = "Spectral", @@ -280,10 +252,44 @@ SMODS.Consumable { 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 { key = "rift", 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 = "Rift", text = { diff --git a/src/tarot.lua b/src/tarot.lua index e475247..9abe1b8 100644 --- a/src/tarot.lua +++ b/src/tarot.lua @@ -1,3 +1,7 @@ +if not Cryptid then + return +end + local function j() return G.GAME.used_vouchers.v_jane_jolly_voucher and "j_jolly" or "j_joker" end diff --git a/src/voucher.lua b/src/voucher.lua index 5193ef4..dcc8cc9 100644 --- a/src/voucher.lua +++ b/src/voucher.lua @@ -12,21 +12,23 @@ SMODS.Atlas { path = Jane.config.texture_pack .. "/v_jane_token_voucher.png", } -SMODS.Voucher { - key = "jolly_voucher", - atlas = "janejollyvoucher", - loc_txt = { - 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, - loc_vars = function(_, info_queue, _) - info_queue[#info_queue + 1] = G.P_CENTERS.c_jane_jokerinatarot - info_queue[#info_queue + 1] = G.P_CENTERS.j_jolly - return {vars = {}} - end, -} +if Cryptid then + SMODS.Voucher { + key = "jolly_voucher", + atlas = "janejollyvoucher", + loc_txt = { + 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, + loc_vars = function(_, info_queue, _) + info_queue[#info_queue + 1] = G.P_CENTERS.c_jane_jokerinatarot + info_queue[#info_queue + 1] = G.P_CENTERS.j_jolly + return {vars = {}} + end, + } +end SMODS.Voucher { key = "token_voucher", @@ -36,7 +38,7 @@ SMODS.Voucher { text = {"{C:attention}Tokens {}can appear", "in the shop"}, }, pos = {x = 0, y = 0}, - cost = 15, + cost = 10, redeem = function(_, _) G.GAME["jane_tokens_rate"] = 1.5 end,