From a565afcef671b629a5922696eb07c28d68192d4d Mon Sep 17 00:00:00 2001 From: TunaBear1 Date: Mon, 18 May 2026 22:33:19 -0400 Subject: [PATCH 1/4] Update pokejokers_21.lua Added Cubchoo and Beartic --- pokemon/pokejokers_21.lua | 109 +++++++++++++++++++++++++++++++++++++- 1 file changed, 108 insertions(+), 1 deletion(-) diff --git a/pokemon/pokejokers_21.lua b/pokemon/pokejokers_21.lua index 314eec58..f938a4dc 100644 --- a/pokemon/pokejokers_21.lua +++ b/pokemon/pokejokers_21.lua @@ -300,7 +300,114 @@ local chandelure={ -- Fraxure 611 -- Haxorus 612 -- Cubchoo 613 +local cubchoo={ + name = "cubchoo", + pos = {x = 24, y = 40}, + config = {extra = {mult = 0, mult_mod = 1, mult_minus = 20, suit = "Clubs", clubs_scored = 0}, evo_rqmt = 40}, + loc_vars = function(self, info_queue, center) + type_tooltip(self, info_queue, center) + return {vars = {center.ability.extra.mult, center.ability.extra.mult_mod, center.ability.extra.mult_minus, localize(center.ability.extra.suit, 'suits_singular'), localize(center.ability.extra.suit, 'suits_plural') , self.config.evo_rqmt}} + end, + rarity = 2, + cost = 6, + stage = "Basic", + ptype = "Water", + atlas = "AtlasJokersBasicNatdex", + perishable_compat = false, + blueprint_compat = true, + eternal_compat = true, + calculate = function(self, card, context) + if context.cardarea == G.jokers and context.scoring_hand then + if not context.blueprint then + if context.before then + local club_count = 0 + for i=1, #context.scoring_hand do + if context.scoring_hand[i]:is_suit(card.ability.extra.suit) then club_count = club_count + 1 end + end + card.ability.extra.clubs_scored = club_count + if card.ability.extra.clubs_scored == 0 then + card.ability.extra.mult = math.max(card.ability.extra.mult - card.ability.extra.mult_minus, 0) + return { + message = localize{type='variable',key='a_mult_minus',vars={card.ability.extra.mult_minus}}, + colour = G.C.RED, card = card + } + else + card.ability.extra.mult = card.ability.extra.mult + card.ability.extra.clubs_scored * card.ability.extra.mult_mod + return { + message = localize('k_upgrade_ex'), + colour = G.C.MULT + } + end + card.ability.extra.clubs_scored = 0 + end + end + if context.joker_main and card.ability.extra.mult > 0 then + return { + message = localize{type = 'variable', key = 'a_mult', vars = {card.ability.extra.mult}}, + colour = G.C.MULT, + mult_mod = card.ability.extra.mult + } + end + end + return scaling_evo(self, card, context, "j_unova_beartic", card.ability.extra.mult, self.config.evo_rqmt) + end, +} + -- Beartic 614 +local beartic={ + name = "beartic", + pos = {x = 26, y = 40}, + config = {extra = {mult = 0, mult_mod = 3, mult_minus = 25, suit = "Clubs", clubs_scored = 0}}, + loc_vars = function(self, info_queue, center) + type_tooltip(self, info_queue, center) + info_queue[#info_queue+1] = {set = 'Other', key = 'designed_by', vars = {"TunaBear"}} + return {vars = {center.ability.extra.mult, center.ability.extra.mult_mod, center.ability.extra.mult_minus, localize(center.ability.extra.suit, 'suits_singular'), localize(center.ability.extra.suit, 'suits_plural')}} + end, + designer = "TunaBear", + rarity = "poke_safari", + cost = 9, + stage = "One", + ptype = "Water", + atlas = "AtlasJokersBasicNatdex", + perishable_compat = false, + blueprint_compat = true, + eternal_compat = true, + calculate = function(self, card, context) + if context.cardarea == G.jokers and context.scoring_hand then + if not context.blueprint then + if context.before then + local club_count = 0 + for i=1, #context.scoring_hand do + if context.scoring_hand[i]:is_suit(card.ability.extra.suit) then club_count = club_count + 1 end + end + card.ability.extra.clubs_scored = club_count + if card.ability.extra.clubs_scored == 0 then + card.ability.extra.mult = math.max(card.ability.extra.mult - card.ability.extra.mult_minus, 0) + return { + message = localize{type='variable',key='a_mult_minus',vars={card.ability.extra.mult_minus}}, + colour = G.C.RED, card = card + } + else + card.ability.extra.mult = card.ability.extra.mult + card.ability.extra.clubs_scored * card.ability.extra.mult_mod + return { + message = localize('k_upgrade_ex'), + colour = G.C.MULT + } + end + card.ability.extra.clubs_scored = 0 + end + end + if context.joker_main and card.ability.extra.mult > 0 then + return { + message = localize{type = 'variable', key = 'a_mult', vars = {card.ability.extra.mult}}, + colour = G.C.MULT, + mult_mod = card.ability.extra.mult, + } + end + end + end, +} + -- Cryogonal 615 -- Shelmet 616 -- Accelgor 617 @@ -519,5 +626,5 @@ local bisharp={ -- Vullaby 629 -- Mandibuzz 630 return {name = "Pokemon Jokers 601-630", - list = {elgyem, beheeyem, litwick, lampent, chandelure, golett, golurk, pawniard, bisharp}, + list = {elgyem, beheeyem, litwick, lampent, chandelure, cubchoo, beartic, golett, golurk, pawniard, bisharp}, } From f7ca6a7d7ea04c0939da084c8675d1cb175072c0 Mon Sep 17 00:00:00 2001 From: TunaBear1 Date: Mon, 18 May 2026 22:36:00 -0400 Subject: [PATCH 2/4] Update en-us.lua Added Cubchoo and Beartic --- localization/en-us.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/localization/en-us.lua b/localization/en-us.lua index a283f908..4deba26d 100644 --- a/localization/en-us.lua +++ b/localization/en-us.lua @@ -5031,6 +5031,24 @@ return { "{C:inactive}(Currently {C:mult}+#2#{C:inactive} Mult){}", } }, + j_unova_cubchoo = { + name = "Cubchoo", + text = { + "This Joker gains {C:mult}+#2#{} Mult", + "per scoring {C:clubs}#4#{} in played hand", + "Lose {C:mult}#3#{} Mult if hand has no scoring {C:clubs}#5#{}", + "{C:inactive,s:0.8}(Evolves at {C:mult,s:0.8}+#1#{C:inactive,s:0.8} / #6# Mult)", + } + }, + j_unova_beartic = { + name = "Beartic", + text = { + "This Joker gains {C:mult}+#2#{} Mult", + "per scoring {C:clubs}#4#{} in played hand", + "Lose {C:mult}#3#{} Mult if hand has no scoring {C:clubs}#5#{}", + "{C:inactive,s:0.8}(Currently {C:mult,s:0.8}+#1#{C:inactive,s:0.8} Mult)" + } + }, j_poke_golett = { name = "Golett", text = { From a1ff748e17cb07a7e5fd4e1ee26d7ce2297c4685 Mon Sep 17 00:00:00 2001 From: TunaBear1 Date: Mon, 18 May 2026 22:41:21 -0400 Subject: [PATCH 3/4] Update gameplay_functions.toml Added functionality for custom challenge --- lovely/gameplay_functions.toml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lovely/gameplay_functions.toml b/lovely/gameplay_functions.toml index d2a8399d..ac8f01e0 100644 --- a/lovely/gameplay_functions.toml +++ b/lovely/gameplay_functions.toml @@ -242,4 +242,19 @@ if G.GAME.modifiers.reset_no_interest then G.GAME.modifiers.no_interest = nil end ''' -match_indent = true \ No newline at end of file +match_indent = true + +# Blind Size Modifier +[[patches]] +[patches.pattern] +target = 'blind.lua' +pattern = ''' +self.chips = get_blind_amount(G.GAME.round_resets.ante)*self.mult*G.GAME.starting_params.ante_scaling +''' +position = "after" +payload = ''' +if G.GAME.modifiers.unova_X_blind_size then + self.chips = self.chips*G.GAME.modifiers.unova_X_blind_size +end +''' +match_indent = true From 3f5a62768767a474a8a0a6afeb1393392d2c4b7c Mon Sep 17 00:00:00 2001 From: TunaBear1 Date: Mon, 18 May 2026 22:42:56 -0400 Subject: [PATCH 4/4] Update pokechallenges.lua Added custom challenge --- challenges/pokechallenges.lua | 84 ++++++++++++++++++++++++++++++++++- 1 file changed, 83 insertions(+), 1 deletion(-) diff --git a/challenges/pokechallenges.lua b/challenges/pokechallenges.lua index 410c8518..9dd080d4 100644 --- a/challenges/pokechallenges.lua +++ b/challenges/pokechallenges.lua @@ -508,8 +508,90 @@ local mystery_dungeon = { text_colour = HEX("FFCB01"), } +local unbearable = { + object_type = "Challenge", + key = "unbearable", + rules = { + custom = { + {id = 'no_shop_jokers'}, + {id = 'debuff_played_cards'}, + {id = 'unova_X_blind_size', value = 3}, + }, + modifiers = { + {id = 'joker_slots', value = 2}, + {id = 'hands', value = 2}, + {id = 'consumable_slots', value = 4}, + {id = 'dollars', value = 10}, + }, + }, + jokers = { + {id = "j_poke_teddiursa", eternal = true}, + {id = "j_unova_cubchoo", eternal = true}, + }, + consumeables = { + {id = "c_poke_colorless_energy"}, + {id = "c_poke_water_energy"}, + }, + vouchers = { + }, + deck = { + cards = { + {s ='C',r='2',},{s ='C',r='3',},{s ='C',r='4',},{s ='C',r='5',},{s ='C',r='6',},{s ='C',r='7',},{s ='C',r='8',}, + {s ='C',r='9',},{s ='C',r='T',},{s ='C',r='J',},{s ='C',r='Q',},{s ='C',r='K',},{s ='C',r='A',}, + {s ='C',r='2',},{s ='C',r='3',},{s ='C',r='4',},{s ='C',r='5',},{s ='C',r='6',},{s ='C',r='7',},{s ='C',r='8',}, + {s ='C',r='9',},{s ='C',r='T',},{s ='C',r='J',},{s ='C',r='Q',},{s ='C',r='K',},{s ='C',r='A',}, + {s ='C',r='2',},{s ='C',r='3',},{s ='C',r='4',},{s ='C',r='5',},{s ='C',r='6',},{s ='C',r='7',},{s ='C',r='8',}, + {s ='C',r='9',},{s ='C',r='T',},{s ='C',r='J',},{s ='C',r='Q',},{s ='C',r='K',},{s ='C',r='A',}, + {s ='C',r='2',},{s ='C',r='3',},{s ='C',r='4',},{s ='C',r='5',},{s ='C',r='6',},{s ='C',r='7',},{s ='C',r='8',}, + {s ='C',r='9',},{s ='C',r='T',},{s ='C',r='J',},{s ='C',r='Q',},{s ='C',r='K',},{s ='C',r='A',}, + }, + type = 'Challenge Deck' + }, + restrictions = { + banned_cards = { + {id = 'c_judgement'}, + {id = 'c_poke_pokeball'}, + {id = 'c_poke_greatball'}, + {id = 'c_poke_ultraball'}, + {id = 'c_poke_masterball'}, + {id = 'c_ankh'}, + {id = 'c_wraith'}, + {id = 'c_soul'}, + {id = 'v_blank'}, + {id = 'v_antimatter'}, + {id = 'p_buffoon_normal_1', ids = { + 'p_buffoon_normal_1','p_buffoon_normal_2','p_buffoon_jumbo_1','p_buffoon_mega_1', + }}, + }, + banned_tags = { + {id = 'tag_rare'}, + {id = 'tag_uncommon'}, + {id = 'tag_holo'}, + {id = 'tag_polychrome'}, + {id = 'tag_negative'}, + {id = 'tag_foil'}, + {id = 'tag_buffoon'}, + {id = 'tag_top_up'}, + {id = 'tag_poke_shiny_tag'}, + {id = 'tag_poke_stage_one_tag'}, + {id = 'tag_poke_safari_tag'} + }, + banned_other = { + {id = 'bl_club', type = 'blind'}, + {id = 'bl_final_heart', type = 'blind'}, + {id = 'bl_final_leaf', type = 'blind'}, + } + }, +} + +return {name = "Challenges", + list = { + unbearable, + } +} + return {name = "Challenges", - list = {nuzlocke, goodasgold, parenthood, littlecup, hammertime, lonesome, randomizer, delibird_delimma, safety_first, mystery_dungeon} + list = {nuzlocke, goodasgold, parenthood, littlecup, hammertime, lonesome, randomizer, delibird_delimma, safety_first, mystery_dungeon, unbearable} }