diff --git a/Cryptid.lua b/Cryptid.lua index 7994134e4..b7d284f11 100644 --- a/Cryptid.lua +++ b/Cryptid.lua @@ -2300,6 +2300,11 @@ function create_card(_type, area, legendary, _rarity, skip_materialize, soulable if not (card.edition and (card.edition.cry_oversat or card.edition.cry_glitched)) then cry_misprintize(card) end + if _type == "Joker" and G.GAME.modifiers.cry_common_value_quad then + if card.config.center.rarity == 1 then + cry_misprintize(card,{min = 4, max = 4}, nil, true) + end + end if card.ability.consumeable and card.pinned then -- counterpart is in Sticker.toml G.GAME.cry_pinned_consumeables = G.GAME.cry_pinned_consumeables + 0 end diff --git a/Items/Antimatter.lua b/Items/Antimatter.lua index 243028edd..3050deced 100644 --- a/Items/Antimatter.lua +++ b/Items/Antimatter.lua @@ -58,6 +58,7 @@ local antimatter = { cry_force_seal = "random", cry_boss_blocked = { "bl_goad", "bl_window", "bl_club", "bl_head" }, cry_forced_draw_amount = 5, + cry_common_value_quad = true, }, pos = { x = 2, y = 0 }, trigger_effect = function(self, args) diff --git a/Items/Decks.lua b/Items/Decks.lua index a9cb29951..b69cfd342 100644 --- a/Items/Decks.lua +++ b/Items/Decks.lua @@ -227,9 +227,18 @@ local bountiful = { name = "cry-Bountiful", key = "bountiful", config = { cry_forced_draw_amount = 5 }, - pos = { x = 4, y = 2 }, + pos = { x = 2, y = 6 }, order = 14, - atlas = "placeholders", + atlas = "atlasdeck", +} +local beige = { + object_type = "Back", + name = "cry-Beige", + key = "beige", + config = { cry_common_value_quad = true }, + pos = { x = 1, y = 6 }, + order = 15, + atlas = "atlasdeck", } return { name = "Misc. Decks", @@ -296,6 +305,9 @@ return { if self.effect.config.cry_forced_draw_amount then G.GAME.modifiers.cry_forced_draw_amount = self.effect.config.cry_forced_draw_amount end + if self.effect.config.cry_common_value_quad then + G.GAME.modifiers.cry_common_value_quad = true + end end --equilibrium deck patches local gcp = get_current_pool @@ -469,5 +481,6 @@ return { glowing, beta, bountiful, + beige, }, } diff --git a/Items/EpicJokers.lua b/Items/EpicJokers.lua index dc188edea..825987879 100644 --- a/Items/EpicJokers.lua +++ b/Items/EpicJokers.lua @@ -1356,6 +1356,54 @@ local fleshpanopticon = { } }, } +local spectrogram = { + object_type = "Joker", + name = "cry-Spectrogram", + key = "spectrogram", + pos = { x = 1, y = 5 }, + config = { extra = {} }, + rarity = "cry_epic", + cost = 9, + order = 133, + atlas = "atlasepic", + loc_vars = function(self, info_queue, center) + info_queue[#info_queue + 1] = G.P_CENTERS.m_cry_echo + + return { vars = {} } + end, + calculate = function(self, card, context) + if context.retrigger_joker_check and not context.retrigger_joker and context.other_card ~= self then + if context.other_context.scoring_hand then + if context.other_card == G.jokers.cards[#G.jokers.cards] then + local echonum = 0 + for i, v in pairs (context.other_context.scoring_hand) do + if v.config.center_key == 'm_cry_echo' then + echonum = echonum + 1 + end + end + if echonum > 0 then + return { + message = localize("k_again_ex"), + repetitions = echonum, + card = card, + } + end + end + end + end + end, + cry_credits = { + idea = { + "AlexZGreat" + }, + art = { + "SMG9000" + }, + code = { + "AlexZGreat" + } + }, +} return { name = "Epic Jokers", init = function() @@ -1556,5 +1604,6 @@ return { altgoogol, soccer, fleshpanopticon, + spectrogram, }, } diff --git a/Items/Misc.lua b/Items/Misc.lua index 7d39014a2..efd67e3b4 100644 --- a/Items/Misc.lua +++ b/Items/Misc.lua @@ -975,6 +975,46 @@ local eclipse = { return { vars = { card and card.ability.max_highlighted or self.config.max_highlighted } } end, } +local light = { + object_type = "Enhancement", + key = "light", + atlas = "cry_misc", + pos = { x = 0, y = 3 }, + config = {extra = {a_x_mult = 0.2, current_x_mult = 1, req = 5, current = 5}}, + loc_vars = function(self, info_queue, card) + return { vars = { card and card.ability.extra.a_x_mult or self.config.extra.a_x_mult, card and card.ability.extra.current_x_mult or self.config.extra.current_x_mult, card and card.ability.extra.current or self.config.extra.current, card and card.ability.extra.req or self.config.extra.req } } + end, + calculate = function(self,card,context,effect) + if context.cardarea == G.play and not context.repetition then + if #context.scoring_hand == 5 then + card.ability.extra.current = card.ability.extra.current - 1 + if card.ability.extra.current <= 0 then + card.ability.extra.req = card.ability.extra.req +5 + card.ability.extra.current = card.ability.extra.req + card.ability.extra.current_x_mult = card.ability.extra.current_x_mult + card.ability.extra.a_x_mult + end + end + if card.ability.extra.current_x_mult > 1 then + effect.x_mult = card.ability.extra.current_x_mult + end + end + end, +} +local seraph = { + object_type = "Consumable", + set = "Tarot", + name = "cry-Seraph", + key = "seraph", + order = 2, + pos = { x = 1, y = 2 }, + config = { mod_conv = "m_cry_light", max_highlighted = 2 }, + atlas = "placeholders", + loc_vars = function(self, info_queue) + info_queue[#info_queue + 1] = G.P_CENTERS.m_cry_light + + return { vars = { self.config.max_highlighted } } + end, +} local blessing = { object_type = "Consumable", set = "Tarot", @@ -1547,6 +1587,8 @@ local miscitems = { marsmoons, universe, absolute, + light, + seraph, } if Cryptid.enabled["M Jokers"] then miscitems[#miscitems + 1] = jollyeditionshader diff --git a/Items/MiscJokers.lua b/Items/MiscJokers.lua index 034e45939..09ed62222 100644 --- a/Items/MiscJokers.lua +++ b/Items/MiscJokers.lua @@ -6804,6 +6804,96 @@ local digitalhallucinations = { } }, } +local arsonist = { + object_type = "Joker", + name = "cry-Arsonist", + key = "arsonist", + pos = { x = 0, y = 5 }, + config = { }, + rarity = 3, + cost = 5, + atlas = "atlasone", + order = 131, + loc_vars = function(self, info_queue, center) + return { vars = { } } + end, + calculate = function(self, card, context) + if context.destroying_card then + local eval = evaluate_poker_hand(context.full_hand) + if next(eval['Full House']) then + return true + end + end + end, + cry_credits = { + idea = { + "AlexZGreat" + }, + art = { + "Darren_the_frog" + }, + code = { + "AlexZGreat" + } + }, +} +local zooble = { + object_type = "Joker", + name = "cry-Zooble", + key = "zooble", + pos = { x = 1, y = 5 }, + config = {extra = {mult = 0, a_mult = 1}}, + rarity = 2, + cost = 6, + atlas = "atlasone", + order = 132, + loc_vars = function(self, info_queue, center) + return { vars = {center.ability.extra.mult,center.ability.extra.a_mult }} + end, + calculate = function(self, card, context) + if context.before and context.cardarea == G.jokers then + if not (next(context.poker_hands['Straight']) or next(context.poker_hands['Straight Flush'])) then + local unique_ranks = {} + for i, v in pairs (context.scoring_hand) do + local not_unique = false + for i = 1, #unique_ranks do + if unique_ranks[i] == v:get_id() then + not_unique = true + end + end + if not not_unique then + unique_ranks[#unique_ranks + 1] = v:get_id() + end + end + if #unique_ranks >= 1 then + card.ability.extra.mult = card.ability.extra.mult + (#unique_ranks * card.ability.extra.a_mult) + return { + message = localize('k_upgrade_ex'), + colour = G.C.RED, + card = card + } + end + end + end + if context.joker_main and context.cardarea == G.jokers then + return { + message = localize{type='variable',key='a_mult',vars={card.ability.extra.mult}}, + mult_mod = card.ability.extra.mult + } + end + end, + cry_credits = { + idea = { + "lolxDdj" + }, + art = { + "lolxDdj" + }, + code = { + "AlexZGreat" + } + }, +} local miscitems = { jimball_sprite, dropshot, @@ -6901,6 +6991,8 @@ local miscitems = { tax_fraud, pity_prize, digitalhallucinations, + arsonist, + zooble, } if Cryptid.enabled["Misc."] then miscitems[#miscitems+1] = flipside diff --git a/assets/1x/atlasdeck.png b/assets/1x/atlasdeck.png index f1afe6d9c..43ab466ac 100644 Binary files a/assets/1x/atlasdeck.png and b/assets/1x/atlasdeck.png differ diff --git a/assets/1x/atlasepic.png b/assets/1x/atlasepic.png index f28df3461..7fe18ae2b 100644 Binary files a/assets/1x/atlasepic.png and b/assets/1x/atlasepic.png differ diff --git a/assets/1x/atlasone.png b/assets/1x/atlasone.png index 6942d8b0d..b782bbcb2 100644 Binary files a/assets/1x/atlasone.png and b/assets/1x/atlasone.png differ diff --git a/assets/1x/cry_misc.png b/assets/1x/cry_misc.png index c3680ee03..e91183b36 100644 Binary files a/assets/1x/cry_misc.png and b/assets/1x/cry_misc.png differ diff --git a/assets/2x/atlasdeck.png b/assets/2x/atlasdeck.png index b1c8c7ede..815eae195 100644 Binary files a/assets/2x/atlasdeck.png and b/assets/2x/atlasdeck.png differ diff --git a/assets/2x/atlasepic.png b/assets/2x/atlasepic.png index 205699e12..cbfc46cfc 100644 Binary files a/assets/2x/atlasepic.png and b/assets/2x/atlasepic.png differ diff --git a/assets/2x/atlasone.png b/assets/2x/atlasone.png index a538f881c..40a13c8e7 100644 Binary files a/assets/2x/atlasone.png and b/assets/2x/atlasone.png differ diff --git a/assets/2x/cry_misc.png b/assets/2x/cry_misc.png index f13915448..ce1186da0 100644 Binary files a/assets/2x/cry_misc.png and b/assets/2x/cry_misc.png differ diff --git a/localization/en-us.lua b/localization/en-us.lua index 0788614a5..175cb2dc2 100644 --- a/localization/en-us.lua +++ b/localization/en-us.lua @@ -10,6 +10,13 @@ return { "of {C:attention}every{} deck", }, }, + b_cry_beige = { + name = "Beige Deck", + text = { + "{C:attention}Common{} Jokers have", + "{C:attention}quadrupled{} values", + }, + }, b_cry_beta = { name = "Nostalgic Deck", text = { @@ -598,6 +605,15 @@ return { "times when scored", }, }, + m_cry_light = { + name = "Light Card", + text = { + "When played and scoring in a hand with", + "{C:attention}5{} scoring cards {C:attention}#4#{} times {C:inactive}(#3# left)", + "Gains {X:mult,C:white}X#1#{} Mult and adds {C:attention}5{} to the", + "requirement {C:inactive}(Currently {X:mult,C:white}X#2#{C:inactive} Mult)", + }, + }, }, Joker = { j_cry_adroit = { @@ -629,6 +645,10 @@ return { name = "AP Joker", text = { "{X:mult,C:white} X#1# {} Mult against {C:attention}Boss Blinds{}" }, }, + j_cry_arsonist = { + name = "Arsonist", + text = { "Destroy all cards played in {C:attention}Full Houses", }, + }, j_cry_astral_bottle = { name = "Astral in a Bottle", text = { @@ -1923,6 +1943,14 @@ return { "{C:inactive}(Currently{} {X:chips,C:white}X#1#{} {C:inactive}Chips){}", }, }, + j_cry_spectrogram = { + name = "Spectrogram", + text = { + "{C:attention}Retriggers{} rightmost Joker", + "once for every {C:attention}Echo Card", + "that is played and scored", + }, + }, j_cry_speculo = { name = "Speculo", text = { @@ -2196,6 +2224,15 @@ return { "a {C:attention}#2#", }, }, + j_cry_zooble = { + name = "Zooble", + text = { + "Gains {C:mult}+#2#{} Mult for every", + "{C:attention}unique rank{} in scoring hand", + "{C:inactive}(Currently {C:mult}+#1#{C:inactive} Mult)", + "{C:inactive}(Excludes hands containing Straights)" + }, + }, }, Planet = { c_cry_Klubi = { @@ -2975,6 +3012,13 @@ return { "{C:inactive}(Must have room){}", }, }, + c_cry_seraph = { + name = "The Seraph", + text = { + "Enhances {C:attention}#1#{} selected card", + "into a {C:attention}Light Card", + }, + }, }, Voucher = { v_cry_asteroglyph = {