local is_rain_world_joker = {} for _, v in pairs(Jane.rain_world_jokers) do is_rain_world_joker[v] = true end SMODS.Challenge { key = "downpour", loc_txt = { name = "Downpour", }, rules = {custom = { {id = "jane_downpour1"}, {id = "jane_downpour2"}, {id = "jane_downpour3"}, {id = "jane_downpour4"}, }}, apply = function(_) G.GAME.win_ante = 16 for _, v in ipairs(Jane.rain_world_jokers) do Jane.q(function() local card = create_card("Joker", G.jokers, nil, nil, nil, nil, v, "karma_deck_next") card:add_to_deck() card:start_materialize() G.jokers:emplace(card) play_sound("timpani") end, 0.2) end end, calculate = function(_, context) local function l() if G.STAGE == G.STAGES.RUN then G.STATE = G.STATES.GAME_OVER G.STATE_COMPLETE = false end end if not Jane.is_end_of_ante(context) then return end local destructible_jokers = {} for _, v in pairs(G.jokers.cards) do if is_rain_world_joker[v.config.center.key] and not ((v.ability or {}).eternal or (v.ability or {}).cry_absolute) then destructible_jokers[#destructible_jokers + 1] = v end end if not next(destructible_jokers) then return l() end local chosen = pseudorandom_element(destructible_jokers, pseudoseed("karma_deck")) if chosen then chosen.getting_sliced = true chosen:start_dissolve() end 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_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_downpour4 = {"Win on {C:attention}Ante 16"}