From f8eecb22b30ff0ea1b563af85e2bee3f7b7dd132 Mon Sep 17 00:00:00 2001 From: Ruby <138878489+lord-ruby@users.noreply.github.com> Date: Sun, 11 Jan 2026 00:45:01 +0000 Subject: [PATCH 1/3] silver seal & other fixes --- compat/cryptid/cursed_jokers.lua | 4 ++-- compat/cryptid/epic_jokers.lua | 2 +- items/jokers/misc_jokers.lua | 2 +- items/jokers/rlegendary_jokers.lua | 4 ++-- items/misc/editions.lua | 2 +- lib/hooks.lua | 9 +-------- lib/utils.lua | 6 +++--- 7 files changed, 11 insertions(+), 18 deletions(-) diff --git a/compat/cryptid/cursed_jokers.lua b/compat/cryptid/cursed_jokers.lua index cb0f86d6..22ba598c 100644 --- a/compat/cryptid/cursed_jokers.lua +++ b/compat/cryptid/cursed_jokers.lua @@ -49,7 +49,7 @@ local jokerinyellow = { func = function() local card = pseudorandom_element(cards, pseudoseed("kiy")) if card then - SMODS.eval_individual(card, {banishing_card = true, banisher = card, card = card, cardarea = G.jokers}) + eval_card(card, {banishing_card = true, banisher = card, card = card, cardarea = G.jokers}) card:start_dissolve() G.GAME.banned_keys[card.config.center.key] = true card_eval_status_text( @@ -82,7 +82,7 @@ local jokerinyellow = { func = function() local card = pseudorandom_element(cards, pseudoseed("kiy")) if card then - SMODS.eval_individual(card, {banishing_card = true, banisher = card, card = card, cardarea = G.jokers}) + eval_card(card, {banishing_card = true, banisher = card, card = card, cardarea = G.jokers}) card:start_dissolve() G.GAME.banned_keys[card.config.center.key] = true card_eval_status_text( diff --git a/compat/cryptid/epic_jokers.lua b/compat/cryptid/epic_jokers.lua index 5402540c..6932ac59 100644 --- a/compat/cryptid/epic_jokers.lua +++ b/compat/cryptid/epic_jokers.lua @@ -419,7 +419,7 @@ local metamorphosis = { context.cardarea = G.jokers local text, disp_text, poker_hands, scoring_hand, non_loc_disp_text, percent, percent_delta = G.FUNCS.get_poker_hand_info(G.play.cards) for i, v in pairs(G.jokers.cards) do - local res = SMODS.eval_individual(v, {cardarea = G.jokers, joker_main = true, full_hand = G.play.cards, scoring_hand = scoring_hand, scoring_name = text, poker_hands = poker_hands}) or {} + local res = eval_card(v, {cardarea = G.jokers, joker_main = true, full_hand = G.play.cards, scoring_hand = scoring_hand, scoring_name = text, poker_hands = poker_hands}) or {} if res and res.jokers then res = res.jokers for i2, v2 in pairs(res) do diff --git a/items/jokers/misc_jokers.lua b/items/jokers/misc_jokers.lua index afc7594b..55e9141e 100644 --- a/items/jokers/misc_jokers.lua +++ b/items/jokers/misc_jokers.lua @@ -381,7 +381,7 @@ local insatiable_dagger = { card:juice_up(0.8, 0.8) sliced_card:start_dissolve({ HEX("a800ff") }, nil, 1.6) G.GAME.banned_keys[sliced_card.config.center.key] = true - SMODS.eval_individual(sliced_card, {banishing_card = true, banisher = card, card = sliced_card, cardarea = sliced_card.area}) + eval_card(sliced_card, {banishing_card = true, banisher = card, card = sliced_card, cardarea = sliced_card.area}) play_sound("slice1", 0.96 + math.random() * 0.08) local check2 if not Card.no(G.jokers.cards[check], "immutable", true) then diff --git a/items/jokers/rlegendary_jokers.lua b/items/jokers/rlegendary_jokers.lua index 8ab4e35f..caf3718f 100644 --- a/items/jokers/rlegendary_jokers.lua +++ b/items/jokers/rlegendary_jokers.lua @@ -575,7 +575,7 @@ local ssac = { local c_r = G.consumeables.cards[#G.consumeables.cards] and Cryptid.forcetrigger(G.consumeables.cards[#G.consumeables.cards], context) or {} local v = G.play.cards[#G.play.cards] if G.play.cards and v then - local results = SMODS.eval_individual(v, {cardarea=G.play,main_scoring=true, forcetrigger=true, individual=true}) or {} + local results = eval_card(v, {cardarea=G.play,main_scoring=true, forcetrigger=true, individual=true}) or {} if results then for i, v2 in pairs(results) do for i2, result in pairs(type(v2) == "table" and v2 or {}) do @@ -583,7 +583,7 @@ local ssac = { end end end - local results = SMODS.eval_individual(v, {cardarea=G.hand,main_scoring=true, forcetrigger=true, individual=true}) or {} + local results = eval_card(v, {cardarea=G.hand,main_scoring=true, forcetrigger=true, individual=true}) or {} if results then for i, v2 in pairs(results) do for i2, result in pairs(type(v2) == "table" and v2 or {}) do diff --git a/items/misc/editions.lua b/items/misc/editions.lua index 28bbc726..6454dd19 100644 --- a/items/misc/editions.lua +++ b/items/misc/editions.lua @@ -463,7 +463,7 @@ local kaleidoscopic = { for i, v in pairs(actual) do context.kaleidoscopic = true context.edition = nil - local eval, post = SMODS.eval_individual(v, context) + local eval, post = eval_card(v, context) eval = eval or {} local effects = {eval} if context.main_scoring then diff --git a/lib/hooks.lua b/lib/hooks.lua index dc4ce61b..afdc172c 100644 --- a/lib/hooks.lua +++ b/lib/hooks.lua @@ -4384,7 +4384,7 @@ function copy_card(old, new, ...) SMODS.calculate_context{copying_card = true, original_card = old, new_card = copy} end for i, v in pairs(G.play and G.play.cards or {}) do - SMODS.eval_individual(v, {copying_card = true, original_card = old, new_card = copy}) + eval_card(v, {copying_card = true, original_card = old, new_card = copy}) end if old.base and old.base.nominal then copy.base.nominal = old.base.nominal end G.GAME.modifiers.entr_twisted = tw @@ -4542,13 +4542,6 @@ SMODS.Consumable:take_ownership("fool", { end }, true) -local calculate_objref = SMODS.eval_individual -function SMODS.eval_individual(individual, context) - if individual.object then - return calculate_objref(individual, context) - end -end - if HotPotato then function PissDrawer.Shop.main_shop() -- Reroll button for unknown goddamn reason just stuck, so I'll unstuck it diff --git a/lib/utils.lua b/lib/utils.lua index aed036a8..f7f400c4 100644 --- a/lib/utils.lua +++ b/lib/utils.lua @@ -356,7 +356,7 @@ function Entropy.RandomForcetrigger(card, num,context) { message = localize("cry_demicolon"), colour = G.C.GREEN } ) elseif v.base.id and (not v.edition or v.edition.key ~= "e_entr_fractured") then - local results = SMODS.eval_individual(v, {cardarea=G.play,main_scoring=true, forcetrigger=true, individual=true}) or {} + local results = eval_card(v, {cardarea=G.play,main_scoring=true, forcetrigger=true, individual=true}) or {} if results then for i, v2 in pairs(results) do for i2, result in pairs(type(v2) == "table" and v2 or {}) do @@ -364,7 +364,7 @@ function Entropy.RandomForcetrigger(card, num,context) end end end - local results = SMODS.eval_individual(v, {cardarea=G.hand,main_scoring=true, forcetrigger=true, individual=true}) or {} + local results = eval_card(v, {cardarea=G.hand,main_scoring=true, forcetrigger=true, individual=true}) or {} if results then for i, v2 in pairs(results) do for i2, result in pairs(type(v2) == "table" and v2 or {}) do @@ -1178,7 +1178,7 @@ end function Entropy.GetRepetitions(card) local res2 = {} for i, v in ipairs(G.jokers.cards) do - local res = SMODS.eval_individual(v, {repetition=true, other_card=card,cardarea=card.area,card_effects={{},{}}}) or {} + local res = eval_card(v, {repetition=true, other_card=card,cardarea=card.area,card_effects={{},{}}}) or {} if res.jokers and res.jokers.repetitions then res2.repetitions = (res2.repetitions or 0) + res.jokers.repetitions end From bc0f0c66adae39902b26a704f414b0de344efdb8 Mon Sep 17 00:00:00 2001 From: soulware <81992759+soulware1@users.noreply.github.com> Date: Wed, 14 Jan 2026 15:51:27 -0600 Subject: [PATCH 2/3] technically better mod compact --- lovely/core.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lovely/core.toml b/lovely/core.toml index b8278d2e..987045e3 100644 --- a/lovely/core.toml +++ b/lovely/core.toml @@ -955,7 +955,10 @@ ease_hands_played(-1) payload = ''' local text, loc_disp_text, poker_hands, scoring_hand, disp_text = G.FUNCS.get_poker_hand_info(Entropy.GetHighlightedCards({G.hand}, card)) -if not G.GAME.badarg or (G.GAME.badarg and not G.GAME.badarg[text]) then ease_hands_played(-1) else +if not G.GAME.badarg or (G.GAME.badarg and not G.GAME.badarg[text]) then + ease_hands_played(-1) +else + end ''' position = "at" @@ -3538,4 +3541,4 @@ if self.ability.name == 'The Soul' and (self.config.center.discovered or self.by ''' payload = ''' if (self.ability.name == 'The Soul' or self.ability.epitach_consumeable == "c_soul") and (self.config.center.discovered or self.bypass_discovery_center) then -''' \ No newline at end of file +''' From 0bed4f33de8bcec5a7e1c015951645c47f57323c Mon Sep 17 00:00:00 2001 From: soulware <81992759+soulware1@users.noreply.github.com> Date: Thu, 15 Jan 2026 15:42:45 -0600 Subject: [PATCH 3/3] music slop adds the music pool to the jokers i recognize as being based off of a song --- items/jokers/misc_jokers.lua | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/items/jokers/misc_jokers.lua b/items/jokers/misc_jokers.lua index 7fae9769..37eeb0d3 100644 --- a/items/jokers/misc_jokers.lua +++ b/items/jokers/misc_jokers.lua @@ -153,7 +153,7 @@ local dr_sunshine = { eternal_compat = true, pos = { x = 4, y = 1 }, atlas = "jokers", - pools = { ["Sunny"] = true, }, + pools = { ["Sunny"] = true, ["Music"] = true }, demicoloncompat = true, loc_vars = function(self, q, card) if Entropy.config.asc_power_tutorial then q[#q+1] = {set = "Other", key = "asc_power_tutorial"} end @@ -1478,7 +1478,7 @@ local grotesque_joker = { end end, entr_credits = { - idea = {"user324897"}, + idea = {"crabus"}, art = {"LFMoth", "Lil. Mr. Slipstream"} } } @@ -1691,6 +1691,7 @@ local memento_mori = { order = 32, object_type = "Joker", key = "memento_mori", + pools = {Music = true}, rarity = 2, cost = 5, dependencies = { @@ -3950,7 +3951,7 @@ local scribbled_joker = { end end, entr_credits = { - idea = {"user324897"} + idea = {"crabus"} } } @@ -4004,7 +4005,7 @@ local jokers_against_humanity = { end end, entr_credits = { - idea = {"user324897"} + idea = {"crabus"} } } @@ -4043,7 +4044,7 @@ local blind_collectible_pack = { end end, entr_credits = { - idea = {"user324897"} + idea = {"crabus"} } } @@ -4085,7 +4086,7 @@ local prayer_card = { } end, entr_credits = { - idea = {"user324897"} + idea = {"crabus"} } } @@ -5319,6 +5320,7 @@ local spiral_of_ants = { } } end, + pools = {Music = true}, config = { last_card = 9999, chips = 0, @@ -5785,7 +5787,7 @@ local kitchenjokers = { } end, entr_credits = { - idea = {"cassknows", "user324897"} + idea = {"cassknows", "crabus"} } } @@ -6604,7 +6606,6 @@ function eval_card(card, ...) if card and not card.getting_sucked then return eval_card_ref(card, ...) end - return {} end local mark_of_the_beast = { @@ -7140,6 +7141,13 @@ local texas_hold_em = { end end end + if context.end_of_round and not context.repetition and not context.individual and not context.blueprint then + for i, v in pairs(G.I.CARD) do + if type(v) == "table" and v.ability and v.ability.entr_marked then + v.ability.entr_marked = nil + end + end + end end, entr_credits = { idea = {"cassknows"}, @@ -7773,6 +7781,7 @@ return { ruby, slipstream, cass, + crabus, hexa, grahkon, sandpaper, @@ -7870,4 +7879,4 @@ return { pound_of_flesh, fthof } -} \ No newline at end of file +}