Error when literally any modded Joker appears on the screen
yeah, that's basically it. any time a modded joker is generated in the run (shop, booster packs, etc.), the game has a seizure
Full error message if needed:
Oops! The game crashed:
[SMODS ProjectMoonContentMod "objects/jokers.lua"]:9484: attempt to compare number with table
Additional Context:
Balatro Version: 1.0.1o-FULL
Modded Version: 1.0.0~BETA-1620a-STEAMODDED
LÖVE Version: 11.5.0
Lovely Version: 0.10.0
Platform: Windows
Steamodded Mods:
1: Talisman by MathIsFun_, Mathguy24, jenwalter666, cg, lord.ruby [ID: Talisman, Version: 2.7, Uses Lovely]
2: Handy by SleepyG11 [ID: Handy, Version: 1.5.1p, Uses Lovely]
3: Project Moon Content Mod by Kiro [ID: ProjectMoonContentMod, Version: 0.5.6, Uses Lovely]
4: Project Moon Music Pack by Kiro [ID: ProjectMoonMusicAddon, Version: 1.5.0]
5: Saturn by OceanRamen [ID: Saturn, Version: 0.2.2-E-ALPHA, Uses Lovely]
Lovely Mods:
Stack Traceback
===============
(3) Lua field 'add_to_pool' at file 'objects/jokers.lua:9484' (from mod with id ProjectMoonContentMod)
Local variables:
self = table: 0x21ebe3b0 {loc_vars:function: 0x21ebe828, calc_dollar_bonus:function: 0x21ebe868, _saved_d_u:true, pronouns:he_him, _discovered_unlocked_overwritten:true (more...)}
args = table: 0x21813500 {}
(*temporary) = 8 {sign:1, array:table: 0x228ed848, scale:0.88}
(*temporary) = number: 104
(*temporary) = string: "attempt to compare number with table"
(4) Lua global 'get_current_pool' at file 'functions/common_events.lua:2371'
Local variables:
_type = string: "Joker"
_rarity = number: 1
_legendary = boolean: false
_append = nil
_pool = table: 0x216aa4b0 {1:j_joker, 2:j_greedy_joker, 3:j_lusty_joker, 4:j_wrathful_joker, 5:j_gluttenous_joker, 6:j_jolly, 7:j_zany, 8:j_mad, 9:j_crazy, 10:j_droll, 11:j_sly (more...)}
_starting_pool = table: 0x21ba8470 {1:table: 0x21b7a4a0, 2:table: 0x21b7a710, 3:table: 0x21b7a9e0, 4:table: 0x21b7acb0, 5:table: 0x21b7af80, 6:table: 0x21b7b250, 7:table: 0x21b7b4c0 (more...)}
_pool_key = string: "Joker1"
_pool_size = number: 84
(for generator) = C function: builtin#6
(for state) = table: 0x21ba8470 {1:table: 0x21b7a4a0, 2:table: 0x21b7a710, 3:table: 0x21b7a9e0, 4:table: 0x21b7acb0, 5:table: 0x21b7af80, 6:table: 0x21b7b250, 7:table: 0x21b7b4c0 (more...)}
(for control) = number: 96
k = number: 96
v = table: 0x21ebe3b0 {loc_vars:function: 0x21ebe828, calc_dollar_bonus:function: 0x21ebe868, _saved_d_u:true, pronouns:he_him, _discovered_unlocked_overwritten:true (more...)}
add = nil
(5) Lua field 'poll_rarity' at Steamodded file 'src/utils.lua:877'
Local variables:
_pool_key = string: "Joker"
_rand_key = string: "rarity1sho"
rarity_poll = number: 0.504795
available_rarities = table: 0x21503e28 {1:table: 0x21503e50, 2:table: 0x21503eb0, 3:table: 0x21503f10}
vanilla_rarities = table: 0x22083e80 {Uncommon:2, Rare:3, Legendary:4, Common:1}
(for generator) = C function: builtin#6
(for state) = table: 0x21503e28 {1:table: 0x21503e50, 2:table: 0x21503eb0, 3:table: 0x21503f10}
(for control) = number: 1
_ = number: 1
v = table: 0x21503e50 {key:Common, weight:0.7}
(6) Lua global 'get_current_pool' at file 'functions/common_events.lua:2353'
Local variables:
_type = string: "Joker"
_rarity = nil
_legendary = nil
_append = string: "sho"
_pool = table: 0x216aa4b0 {1:j_joker, 2:j_greedy_joker, 3:j_lusty_joker, 4:j_wrathful_joker, 5:j_gluttenous_joker, 6:j_jolly, 7:j_zany, 8:j_mad, 9:j_crazy, 10:j_droll, 11:j_sly (more...)}
_starting_pool = nil
_pool_key = string: ""
_pool_size = number: 0
(7) Lua field 'create_poll_pool' at Steamodded file 'src/utils/weights.lua:292'
Local variables:
labels = table: 0x217edeb0 {1:Joker}
args = table: 0x21b0ba58 {type:Joker, append:sho}
labels_used = table: 0x217edf18 {Joker:true}
pool = table: 0x217edf40 {}
final_pool = table: 0x21f91780 {}
it = number: 0
join_lists = Lua function '?' (defined at line 270 of chunk [SMODS _ "src/utils/weights.lua"])
pool_exists = Lua function '?' (defined at line 279 of chunk [SMODS _ "src/utils/weights.lua"])
(for generator) = C function: builtin#6
(for state) = table: 0x217edeb0 {1:Joker}
(for control) = number: 1
_ = number: 1
label = string: "Joker"
temp_pool = table: 0x216aa450 {}
join_func = Lua function '?' (defined at line 270 of chunk [SMODS _ "src/utils/weights.lua"])
(for index) = number: 1
(for limit) = number: 1
(for step) = number: 1
i = number: 1
(8) Lua field 'poll_object' at Steamodded file 'src/utils/weights.lua:19'
Local variables:
args = table: 0x21b0ba58 {type:Joker, append:sho}
pool = table: 0x217ede88 {}
types = table: 0x217edeb0 {1:Joker}
types_used = table: 0x217edef0 {}
(9) Lua global 'create_card_for_shop' at Steamodded file 'src/utils/weights.lua:370'
Local variables:
area = table: 0x220bfb20 {click_offset:table: 0x220bfec8, static_rotation:false, shuffle_amt:0, parent:table: 0x22687f90, T:table: 0x220bfd10, offset:table: 0x22161018 (more...)}
forced_tag = nil
card_args = table: 0x21d1f1b8 {type:Joker, area:table: 0x220bfb20}
(10) Lua field 'func' at file 'game.lua:3296'
Local variables:
nosave_shop = nil
(for index) = number: 1
(for limit) = number: 2
(for step) = number: 1
i = number: 1
(*temporary) = Lua function '?' (defined at line 1435 of chunk main.lua)
(*temporary) = table: 0x220bfb20 {click_offset:table: 0x220bfec8, static_rotation:false, shuffle_amt:0, parent:table: 0x22687f90, T:table: 0x220bfd10, offset:table: 0x22161018 (more...)}
(11) Lua method 'handle' at file 'engine/event.lua:55'
Local variables:
self = table: 0x2172b168 {start_timer:true, timer:TOTAL, blockable:false, trigger:after, func:function: 0x21d95760, delay:0.2, complete:false, time:52.746746896359, blocking:true (more...)}
_results = table: 0x221bda10 {blocking:true, pause_skip:false, time_done:true, completed:false}
(12) Lua method 'update' at file 'engine/event.lua:185'
Local variables:
self = table: 0x21c09a58 {queues:table: 0x21c09a80, queue_last_processed:25.6, append_count:0, append_queue:base, queue_dt:0.016666666666667, queue_timer:25.602200088224 (more...)}
dt = number: 0.00388973
forced = nil
(for generator) = C function: next
(for state) = table: 0x21c09a80 {unlock:table: 0x21c09b70, other:table: 0x21c09c10, tutorial:table: 0x21c09bc0, base:table: 0x21c09b98, achievement:table: 0x21c09be8}
(for control) = number: nan
k = string: "base"
v = table: 0x21c09b98 {1:table: 0x2128ce58, 2:table: 0x2172b168, 3:table: 0x22460590, 4:table: 0x21bca0f8}
blocked = boolean: false
i = number: 2
results = table: 0x221bda10 {blocking:true, pause_skip:false, time_done:true, completed:false}
(13) Lua upvalue 'gameUpdateRef' at file 'game.lua:2642'
Local variables:
self = table: 0x21287200 {F_GUIDE:false, F_CRASH_REPORTS:false, F_QUIT_BUTTON:true, HUD_tags:table: 0x2273ba58, F_ENGLISH_ONLY:false, viewed_stake:5, HUD:table: 0x22825e78 (more...)}
dt = number: 0.00388973
http_resp = nil
(14) Lua upvalue 'upd' at Steamodded file 'src/ui.lua:456'
Local variables:
self = table: 0x21287200 {F_GUIDE:false, F_CRASH_REPORTS:false, F_QUIT_BUTTON:true, HUD_tags:table: 0x2273ba58, F_ENGLISH_ONLY:false, viewed_stake:5, HUD:table: 0x22825e78 (more...)}
dt = number: 0.00388973
(15) Lua upvalue 'gameUpdateRef' at file 'main.lua:2403'
Local variables:
self = table: 0x21287200 {F_GUIDE:false, F_CRASH_REPORTS:false, F_QUIT_BUTTON:true, HUD_tags:table: 0x2273ba58, F_ENGLISH_ONLY:false, viewed_stake:5, HUD:table: 0x22825e78 (more...)}
dt = number: 0.00388973
(16) Lua method 'update' at line 32 of chunk '"5060"]'
Local variables:
self = table: 0x21287200 {F_GUIDE:false, F_CRASH_REPORTS:false, F_QUIT_BUTTON:true, HUD_tags:table: 0x2273ba58, F_ENGLISH_ONLY:false, viewed_stake:5, HUD:table: 0x22825e78 (more...)}
dt = number: 0.00388973
(17) Lua upvalue 'love_update_ref' at file 'main.lua:1024'
Local variables:
dt = number: 0.00388973
(18) Lua upvalue 'oldupd' at file 'modules/controller.lua:1099' (from lovely module handy/controller)
Local variables:
dt = number: 0.00388973
(19) Lua field 'update' at file 'main.lua:2436'
Local variables:
dt = number: 0.00388973
(20) Lua function '?' at file 'main.lua:962' (best guess)
(21) global C function 'xpcall'
(22) LÖVE function at file 'boot.lua:377' (best guess)
Local variables:
func = Lua function '?' (defined at line 933 of chunk main.lua)
inerror = boolean: true
deferErrhand = Lua function '(LÖVE Function)' (defined at line 348 of chunk [love "boot.lua"])
earlyinit = Lua function '(LÖVE Function)' (defined at line 355 of chunk [love "boot.lua"])
Posted Sep 25, 2026, 7:50 PM UTC