#⚙・modding-general

1 messages · Page 3 of 1

grand geode
#

i assume you mean Card:set_ability instead of Card.set_ability, which does not work

tacit mountain
#

Wait, are you overriding the main game function ?

grand geode
#

am i?

#

okay hold on

tacit mountain
#

I think so lol

grand geode
#

Card:set_ability() doesn't return anything for me to ref it tho

#

or do i just. make a new func

tacit mountain
#

A good practice is to register your own functions in a specific table, like the modloader does with SMODS

#

So you ensure that it will be unique

grand geode
#

any examples of that in the example mods?

tacit mountain
#

If we take the sprites as an example

#

Also, Card is not nil in your example ?

#

Because for me there is now way that works, you should refer to self no ?

#

and with : so self is actually mapped

empty brook
#

update on this: i found out what was causing everything to break! it seems it was the localize negative tag stuff--i guess it was essentially trying to re-define negative tags, again, or something? so now i've got the game to launch!

however now the game crashes when i pick the deck, giving me this error message. here's the code and stuff, hopefully someone understands why this is happening--i thought the args stuff was necessary for decks, since it's in like the example deck thing??? but maybe i'm not using it right, not sure

#

also i'm aware that the description says one less joker slot and the code here does not currently remove a joker slot--i'm trying to fix the main effect right now since i figured that's smarter than having the simpler effect ALSO be there and potentially breaking things too

hardy brook
#

Doing something interesting.

(I used stars and moons from my textures I did as an example)

#

This is a mock up

#

Not in-game

#

Inspired by the Six Suits mod but wanting to try and expand it for the modpack I wanna do

grand geode
#

THE JOKER WORKS

#

WOOOOOOO

#

now for the loyalty card part

#

the problem is that i don't know what anything full_UI_table returned by generate_card_ui means and how to append the x remaining into it

kind night
#
    --Update localization
    for iter_231_8, iter_231_9 in pairs(G.localization) do
        if iter_231_8 == "descriptions" then
            for iter_231_10, iter_231_11 in pairs(iter_231_9) do
                for iter_231_12, iter_231_13 in pairs(iter_231_11) do
                    iter_231_13.text_parsed = {}
                    
                    for iter_231_14, iter_231_15 in ipairs(iter_231_13.text) do
                        iter_231_13.text_parsed[#iter_231_13.text_parsed + 1] = loc_parse_string(iter_231_15)
                    end
                    
                    iter_231_13.name_parsed = {}
                    
                    for iter_231_16, iter_231_17 in ipairs(type(iter_231_13.name) == "table" and iter_231_13.name or {
                        iter_231_13.name
                    }) do
                        iter_231_13.name_parsed[#iter_231_13.name_parsed + 1] = loc_parse_string(iter_231_17)
                    end
                    
                    if iter_231_13.unlock then
                        iter_231_13.unlock_parsed = {}
                        
                        for iter_231_18, iter_231_19 in ipairs(iter_231_13.unlock) do
                            iter_231_13.unlock_parsed[#iter_231_13.unlock_parsed + 1] = loc_parse_string(iter_231_19)
                        end
                    end
                end
            end
        end
    end

@tacit mountain what is the purpose of doing this

#

I honestly dont see what this does, since it seems like you directly set the localization 5 lines earlier, so this segment seems confusing to me

grand geode
#

that's the localization code copied over

#

iirc

#

that just reparses everything

grand geode
#

i spent another three hours fucking around and gave up on this joker

vernal urchin
#

has anyone made anything besides retextures etc?

grand geode
#

i miswrote the joker desc

#

it's -10 ante when sold

vernal urchin
grand geode
#

thanks!

vernal urchin
rigid jewel
grand geode
#

coolio

#

might release later

lean dune
#

So on ante 12 it would send me back to ante 2?

#

do I double win if I beat ante 8 again?

#

So many questions

grand geode
#

yes and no

round ore
#

Free win joker?

upper eagle
#

Will there be steam workshop?

wild thunder
#

New spectral idea: Merge two random adjacent jokers (that don't both have editions) into one joker that takes up two slots.

grand geode
#

what does this help with

#

blueprint, the other one what else

wild thunder
#

It lets you decrease the amount of uneditioned jokers so wheel of fortune procs on the one you want it to

#

Maybe how about it only takes 1 slot?

grand geode
#

if it takes 1 slot the it's strictly a better Negative

#

honestly this would feel too niche to be a spectral

wild thunder
grand geode
#

bad design

wild thunder
#

explain

grand geode
#

you're making an already existing spectral that is strictly better with a bigger downside

wild thunder
#

There is also the downside of you can't sell just 1 of the jokers

exotic dagger
#

since i haven't touched modding at all yet, i just wanna ask
do all mods disable achievements, or are there certain ones that can be used just fine (like purely cosmetic ones for example)

grand geode
#

Steamodded disables achievements by itself but there's a mod to revert it

exotic dagger
#

i see

tacit mountain
#

But setting loc is not enough, you need to operate some modifications in multiple places

#

Same logic exist in new Deck API

#
        for g_k, group in pairs(G.localization) do
            if g_k == 'descriptions' then
              for _, set in pairs(group) do
                for _, center in pairs(set) do
                  center.text_parsed = {}
                  for _, line in ipairs(center.text) do
                    center.text_parsed[#center.text_parsed+1] = loc_parse_string(line)
                  end
                  center.name_parsed = {}
                  for _, line in ipairs(type(center.name) == 'table' and center.name or {center.name}) do
                    center.name_parsed[#center.name_parsed+1] = loc_parse_string(line)
                  end
                  if center.unlock then
                    center.unlock_parsed = {}
                    for _, line in ipairs(center.unlock) do
                      center.unlock_parsed[#center.unlock_parsed+1] = loc_parse_string(line)
                    end
                  end
                end
              end
            end
          end
tacit mountain
merry jolt
#

anybody in here wanna help me bring these to life? :0

jade heath
#

they do seem pretty cool, although the chip numbers seem really low

merry jolt
#

oh the abilities are defo open to change

#

i also think making wanted give money instead of chips fits better

#

but also, i meant the joker gains x amount of chips. so it stacks

molten igloo
#

Make it like the Idol but with specific face cards and it gives like $10

#

So playing a Golden King of Spades rewards $10

#

type shit

merry jolt
#

you could also randomize it

molten igloo
#

ye thats what i mean by like idol

merry jolt
#

like every round you have a different face card that gives you dollars

molten igloo
#

yeye

grand geode
#

the spritework is really great

merry jolt
#

thanks :) i'm really happy with them, too

#

passport is my personal fav ^^

past tendon
#

tried some custom jonkler. Looks like it also works with blueprint even though I never used context.blueprint 🤔
Only problem right now is it still works with non-scoring jacks/queens/kings, I'm not sure how the game handles this.

storm violet
#

Yeah the art is great and the effect ideas are neat, but they're really underwhelming in terms of their effect. e.g. if you started a run with passport and triggered it every round, you would only have x2.4 mult at the end of ante 8

hushed furnace
merry jolt
grand geode
subtle tulip
#

hey guys, are their alrdy mod´s existing for balatro which are ready to play with?

grand geode
hardy brook
#

Oh hey, who's that?

#

oh yeah it's

hard grove
#

lol

molten igloo
#

lmao

lean dune
#

amazing

pastel wolf
hardy brook
#

well then

#

why did i do this to myself? lol

#

They're all diamonds btw

little wharf
#

never pass on the 3 of stop signs

hardy brook
#

Well then

#

hmmmmm

#

Last one for public chat (you can see more in the thread)

Which card should I take?

little wharf
#

the ian + idiot combo with 5th edition is clutch

white scarab
#

Mercury

hardy brook
#

Mars? Sega Saturn? Planet Vegeta? The World?

little wharf
#

has synergy with sega saturn

past tendon
# pastel wolf Gotta tell me how you managed this

Here's the lua file (I reused the structure in Mysthaps joker). Most stuff happens in the Card:calculate_joker() function. Just like Space Joker, the effect is evaluated before any scoring is done (context.before).
Then it just calls level_up_hand() on two random hands if requirements are met.

Not a final version because I'll need to change a few things and check if secret hands work as intended.

pastel wolf
#

Sweet, how does it function with the collection page?

pale pivot
#

Silly question but is there just a site/link where all the currently downloadable mods for Balatro live? Rather than searching from them within the modding server as some mods don’t have individual posts it seems.

lunar fable
#

where do i find mods? like what are they located under?

past tendon
umbral sparrow
#

Why is everything lua 😔

magic sandal
#

Maybe what we need is a mod browser, similar to what btd6 has

pastel wolf
past tendon
#

yeah, haven't tried with two new jokers though

jaunty zenith
# hardy brook Well then

why is my Runner missing some of the white borders on the joker text? i couldve sworn id fixed that

hardy brook
jaunty zenith
#

i see

hardy brook
#

I work w/ 1x then scale up

jaunty zenith
#

that sucks, it really needed to have the border to be readable

jaunty zenith
hardy brook
#

half the size of 2x

jaunty zenith
#

i dont know how big 2x is lmao

rotund galleon
#

@river anchor Was watching your video, and in making mods I have peeked at the game code - you asked whether Ancient joker picks off of the deck, it does not - it is completely random between suits
Castle and Idol both pick a card from your deck at random and take its suit (or in the case of idol, its suit and rank)

#

Mail-In Rebate also does pick based off of the deck

#

This is as of a few versions ago, let me check the latest though

hardy brook
rotund galleon
#

Check out line 2293 of functions/common_events.lua

rotund galleon
rotund galleon
spring ridge
hardy brook
#

You're welcome

lean dune
olive geyser
#

is steamodded the primary way to play with mods or is there an official way?

magic sandal
#

Steamodded is the way

olive geyser
#

thanks

versed blade
#

There a means to swap out the existing music?

#

Balatro's background gives me Earthbound vibes and I'd like to substitute in some music.

sand sequoia
#

does anyone know why whenever i try to switch the game to my monitor's resolution (borderless and fullscreen), it defaults to 4K?

#

I know i have DSR enabled on my Geforce settings but I can't choose 1440p for whatever reason

#

there isn't even an option to set my resolution if i play borderless

rigid glen
#

Anyone here have ideas on how to partially unlock stuff? Might semi-be in the realm of editing save/collection files? Had a syncing issue and now my main local instance has a lot of collection reset. But it still recognizes that I've beaten them/unlocked things:

neat widget
#

anyone know where the game gets the names for cards from

little wharf
crude grove
foggy trail
#

like all of the recent versions say this, but is 0.6.1 still the recommended version?

#

Also, how do i look at existing jokers code? (ie; to figure out how to increase hand size/add text to a card)

sand thicket
#

This pops up because steamodded includes an exe

#

it's chill

foggy trail
#

trying to figure out how to change the negative playing card text

#

which considering it seems to be set to be different for consumable cards, i should be able to look at whatever handles that

white scarab
#

Extract the Balatro.exe file with 7zip, the code is in there

foggy trail
#

thanks

foggy trail
#

anyone have any suggestions on where to start with replacing negative playing card text? ie; is there a way to replace the text that doesn't involve me redefining the entire card hover text function

white scarab
#

It might be in the English locale

foggy trail
#

since the checks seem to be manual

sand sequoia
rotund galleon
#

I have been meaning to add unlocking things to my save editor

mental solar
#

Are there any good modding tutorials that give a basic understanding about modding this game? I'm okay with Lua so I'm not someone with no knowledge trying to mod.

rare hill
#

Hey, just got told there was a modding section of the discord after figuring out how to mod the game myself (I actually was thinking of making a mod loader eerily similar to Steamodded if it didn't exist - albiet in the form of a second exe that loads the main game rather than an exe patch) -

As for my actual question, though, is there anywhere centralized mods are gonna be stored?

#

mod.io or something? Right now it looks like it might be disorganized with just being github projects and manual uploads but I'm not sure

white scarab
#

I do think an official site for Balatro mods would be cool though once the modding infrastructure is a bit more developed

spice spear
#

follow up question because me and him were working together on something-- I saw that people have managed to make new suits and jokers, but has anyone made a new enhancement?

rare hill
#

new enhancements are also easy I'm pretty sure, sham

spice spear
#

yeah but I just wanna see if anyone has made our idea already or not

rare hill
#

fair enough - and honestly that's a really big reason for me suggesting a mod hosting site (alongside the fact that it'd be totally doable to integrate it for automatic mod downloads similar to how Synchrony is for Necrodancer)

white scarab
#

I don’t think so

#

The hardest part is probably coding a custom shader for it tbh

rare hill
#

oh true, sounds fun though

rare hill
white scarab
storm helm
#

Sir, can i ask something?

white scarab
#

Sure

storm helm
#

I opened localization lua and found these lines

#

what dictionary is doing in game?

snow zinc
#

Is there a way to unlock all from the game files or is it only through steam?

storm helm
#

you can make a new profile and make unlock all

#

there is a button

white scarab
#

I haven’t looked deep into how the localization works exactly but from my memory it will load the localization file of the language you want into a table, and then whenever it wants to display text it’ll call something along the lines of localize("b_jokers")

white scarab
snow zinc
#

Ok thanks

white scarab
#

I used the unlock all function for my speedrun mod (so it can load a fresh profile with full unlocks) and it pretty much loops through every item in the game and unlocks it; doing that manually would be tedious

pastel wolf
#

why tf does my pc say, no you can't add an exclusion, because this has potentially unwanted things in it

#

thats the reason i'm adding the exclusion.

#

because i'm the one who knows its safe

rare hill
#

what card is R_4?

#

unless you're adding a custom suit you probably want something like suit = "H_" instead

#

(H for Hearts)

#

not to mention that the base suit you're looking for is Diamonds, not Stars

#

(game.lua, lines 298 on, the P_CARDS table)

pastel wolf
#

Ah man

#

i need help with this, i'm not a coder

rare hill
#

what's the problem?

pastel wolf
#

I've gone and thrown myself in the deep end

#

I'

rare hill
#

Aha, I haven't taken a look at that yet

pastel wolf
#

I'm attempting to make a custom Joker, and i'm not sure what i'm trying to make it do works

pastel wolf
#

or if it needs a new G.Game

lean dune
#

pretty sure you could just call set_rank or whatever

rare hill
#

Wait. Your logic is "if the card's suit is Stars set it to Stars"?

#

aha!

#

I see now

lean dune
#

don't have the source code in front of me rn, but something like this

pastel wolf
#

The effect is 2x mult when first scored card is a different suit than the previous hand, so it needs to save the suit, and, if its not that suit, give the bonus

lean dune
#
for k, v in pairs(G.playing_cards) do
  v:set_rank('4')
end
#

tho I'll need to look at the code first to confirm

#

lmao

rare hill
#

By the way, why does 6 suits override tables such as G.P_Cards instead of append to it?

rare hill
#

table.insert ? ?

lean dune
#

I could append to P_CARDS, it just that the game expects a definitive list of suits elsewhere which I also have to overwrite

rare hill
#

aha

#

is there a reason you don't append to both, though?

spice spear
#

so why not just. edit that list

pastel wolf
#

I've yoinked myst's fantastic efforts so i have the base of getting it in im just not sure how to write the effect out lol

lean dune
rare hill
#

are you talking stuff like what you do with change_suit?

lean dune
#

yep

rare hill
#

because that isn't Replacing the function, it's Wrapping it

#

if someone else added another two suits it'd just wrap around your function

#

as long as you call the base_ref at some point it's fine

#

although looking at change_suit in particular you don't wrap it there

#

set_base you do, though

lean dune
#

I replace anything that relies on a hardcoded list of suits, calling a ref to the original wouldn't make sense

#

for set_base, I guess I could only catch the stars and moons cases and ref otherwise

rare hill
#

yeah, that's what you do for set_base

#

you just don't for change_suit

lean dune
#

but for stuff like get_flush it just doesn't work

lean dune
rare hill
#

I mean, what you'd do is just get_flush_ref, see if it returns something, and if it doesn't check stars and moons, right?

#

code hooking takes a slightly different way of looking at things compared to hardcoding, but it's way more powerful than it has any right to be

#

there's no reason this can't be purely additive

#

if you want I can try making a PR changing it to be that way

lean dune
#

yeah you're right

pastel wolf
#

Ah what the heck this is doing my head in lmoa

lean dune
#

I am gonna refactor this anyway tho

rare hill
#

ye

lean dune
#

for the UI functions it's especially bad, I just copied these ones over and added what I needed to add

rare hill
rare hill
lean dune
rare hill
#

agreed

pastel wolf
#

I apparently chose the one of the hardest of my jonklers to add lol.

pearl laurel
#

If I had the talent I would mod the arcana cards to have the persona designs

spice spear
#

gonna need a simpler jonkler

rare hill
pastel wolf
#

man

#

i'm so far out of my depth with this

#

like i want to learn how to make it work

#

but i am so new to this, and i'd need a lot of teaching ahaha

rare hill
#
if context.individual then
  if self.ability.name == 'IndecisiveJoker' then
    if #context.scoring_hand > 0 && context.scoring_hand[1].suit != self.ability.suit then
        self.ability.suit = context.scoring_hand[1].suit;
        return {
            message = localize{type='variable',key='a_xmult',vars={self.ability.extra.xmult}},
            Xmult_mod = self.ability.extra.xmult,
            colour = G.C.RED,
            card = self
        }
    end
  end
end

try this?

pastel wolf
#

wow

#

i'm so struggling to understand that, you guys are nuts

spice spear
#

"!=" is basically just "not"

pastel wolf
#

Oh!

rare hill
#

context.individual:
This is the one I understand the least, but it appears to be testing that joker by itself for a round of scoring
self.ability.name is the name of the joker
#context.scoring_hand > 0 is checking all the cards in the scoring hand and making sure there's a card that IS scoring
context.scoring_hand[1].suit != self.ability.suit is comparing the first card against the stored suit
self.ability.suit = context.scoring_hand[1].suit; sets the stored suit for next time
and the return is something I copied

#

and this code should be in Card:calculate_joker, and it looks like it should also be wrapped in a if self.ability.set == "Joker" and not self.debuff then similar to what's probably in the example

#

(which just checks that yes, it's a joker being calculated, and no, it's not a debuffed joker)

rare hill
#

I don't blame you at all for needing to take your time

white scarab
#

I didn't realize color alteration was built into the game's engine

#

that looks sick

rare hill
#

candy cane timer

#

and yeah, LÖVE is great

spice spear
#

make it choose a random color for each number every millisecond

white scarab
#

the colors will be used for validating runs

pastel wolf
#

so should sit with the Card.calculate_joker

lean dune
rare hill
#

OHP

spice spear
#

iunno, I'm not a lua programmer

rare hill
#

you're right

pastel wolf
#

i'll change that too

rare hill
#

that one always gets me

spice spear
#

I just know it from very very cursory understanding of programming

rare hill
#

and yeah, wrap the if context.individual in
if self.ability.set == "Joker" and not self.debuff then

#

(in other words,

if self.ability.set == "Joker" and not self.debuff then
  if context.individual then
    if self.ability.name == 'IndecisiveJoker' then
      if #context.scoring_hand > 0 && context.scoring_hand[1].suit ~= self.ability.suit then
          self.ability.suit = context.scoring_hand[1].suit;
          return {
              message = localize{type='variable',key='a_xmult',vars={self.ability.extra.xmult}},
              Xmult_mod = self.ability.extra.xmult,
              colour = G.C.RED,
              card = self
          }
      end
    end
  end
end
lean dune
#

I might need to make an update to my custom keyboard's firmware, rn it just doesn't have ~ accessible, I always have to copy it from somewhere

rare hill
#

oof, yeah, maybe set a hotkey shortcut for it if you have software for that

#

although I think you can do not a == b?

#

maybe not (a == b)

pastel wolf
#

So like this

rare hill
#

idk, I never trust operators introduced by individual languages to have the priority I expect

rare hill
#

I recommend fixing the indentation though

#

(in other words using tab to make it look nice again)

pastel wolf
#

so just push them out neatly

rare hill
#

yeah

lean dune
#

I'll just throw it on an unused symbol layer key

rare hill
#

looks like you're in VSCode, you can just select all the lines with dragging your mouse and press tab once to do it

#

(select all the lines that need another layer of indentation, that is)

pastel wolf
#

Where do i draw the line with that though ahaha

lean dune
#

right click and format document

pastel wolf
#

so it makes sense i sposee

lean dune
#

all nice and tidy

pastel wolf
#

Also do we know the different calls for the description box? i know {C:attention}{} makes the text orange

#

Or at least where that stuff would be scored so i can go find it myself

rare hill
#

card.lua has a bunch of examples if you have any particular joker you want to copy

pastel wolf
#

Yeah i've got that open in the background too

#

doesnt seem to have the attention calls though so i'll have a dig

pastel wolf
#

Is this a header error?

#

or an error elsewhere

rare hill
#

that's an error

pastel wolf
#

which is more likely

rare hill
lean dune
pastel wolf
#

okay i'm getting mixed signals

lean dune
#

missing an end would be end expected near <eof>

rare hill
#

aha, odd

#

that means there are two extra ends somewhere?

lean dune
#

at least one

#

could be more

pastel wolf
#

I didn't change anything that would need ending except for the bottom paragraph there i'm pretty sure

#

How do i tell which line needs ending?

lean dune
#

just remove end once from the bottom and see if that does it

#

if not, you've got a mismatch somewhere else

pastel wolf
#

if i remove that last end it leaves it on a return, is that fine? or should i axe one of the ones above it

rare hill
pastel wolf
#

Oh cool, thanks

rare hill
#

misc_functions.lua is where the localization stuff's stored

pastel wolf
#

I'll save that

#

I got rid of an end near the bottom there and got the same error

lean dune
white scarab
#

ok I think I'm happy with how this looks

pastel wolf
#

just throw an end in i spose

rare hill
#

if you send over the file I can fix it up rq

#

it's hard doing curly brace hunting when you're not used to it and lua just makes that harder

pastel wolf
#

"curly brace hunting" ahaha

rare hill
#

At least it's not lisp, where you have all kinds of ((s)((h e)(n((a)((n)i))))gans

#

(I am forever grateful that there are no modern languages people use that are lisp-based anymore)

pastel wolf
#

is it also possible to add the last suit played into the description? or would that require being more weird

#

also that sounds hell

rare hill
pastel wolf
#

my brain tells me i could just use the ability context but we've proven i can't trust my brain

rare hill
#

I only just started looking into this today

pastel wolf
#

I'll work on that later

hardy brook
#

Welp, tomorrow (later today since it's 1:30 AM for me), I'll be looking at the code to see if I can make not just new suits like Six-Suits, but to make new RANKS

#

I want to make those negative suits

spice spear
#

oh god that sounds fun

#

would they also give negative chips?

narrow socket
#

I think I might have fucked something up with the code for replacing card textures. Trying to learn to do it so I can compile a mod for a streamer I like too, but I keep fucking up getting my test card working

white scarab
#

now it does random pastel colors

#

that's perfect

narrow socket
#

I can't even get the mod I made to appear on the mod list LMAO

white scarab
#

probably a \r\n issue

narrow socket
#

A what?

white scarab
#

So there's two kinds of newlines

#

Windows uses \r\n by default, but Steamo checks for \n when looking at a file header

#

So if your mod doesn't appear and you have the mod folder and header set up properly, that is probably why Steamodded isn't detecting it

narrow socket
#

I don't think I have any of this setup properly lol, I have no idea what I'm doing but I am trying my best

white scarab
#

def not on windows

narrow socket
#

I'm just trying to use the code for Texture replacement that's on github. I have the folders all set up corretly, but nothing seems to be working right

pastel wolf
#

anyone had experience with the sprite stuff?

#

I'm having a nil value problem

#

its hating on line 86, saying wcolour_mod is a nil value

narrow socket
#

Man, I give up fucking with trying to mod this texture in right now, it's 2 AM and my brain is not working enough for this lol

pastel wolf
#

yeah i'm having texture issues too

narrow socket
#

My mod wont even register as a mod by the game LMAO

#

As far as I can tell the code and files are all where they should be, I'll just have to get some help when it's not so late lol

pastel wolf
#

yeah me too lmao

white scarab
#

Happened to me earlier tonight lol

pastel wolf
#

as far as i can tell it's included in the init function

#

Function smods.init isnt ended until after the sprite section

#

I can't tell what's causing this

pastel wolf
#

Worked it out

#

It was the mod_name wasn't correct

dusk estuary
#

hey dataminers, does wheel of fortune work differently than written

#

can you explain what this means 😂

pastel wolf
#

okay so the effect doesnt actually work

#

but it's there

rigid jewel
#

That art is so good

pastel wolf
#

Thanks

#

i got no idea how to make the effect work

#

but its a start

rigid jewel
#

I will say this type of effect seems super cheesy as long as whatever hand you’re playing isn’t a flush

#

Since it’s based on the first played card you can just alternate between the first being Suit A and Suit B

#

Or have it be wild

woven sonnet
pastel wolf
#

It's effect also isn't terribly strong

#

will see though

#

if i can make it work

#

i also don't know why it doesnt work

#

I think maybe it's because it doesn't have a suit to start with?

static vale
#

free mod idea to anyone who wants it (no attribution needed): tarot card skins for JoJo's Bizzare Adventure, Persona and Yu-Gi-Oh

pastel wolf
grand geode
#

lovely

pastel wolf
#

i think its related to the suit selection/storing

grand geode
#

ah

#

context.scoring_hand is a table

pastel wolf
#

ah i see

#

i'm not sure what context.scoring_hand 0 does tbh

grand geode
#

it doesn't

pastel wolf
#

i took it out and the game doesnt crash anymore but nothing happens stil

grand geode
#

okay looking from this

#

you're comparing the scoring hand with the suit of the joker itself i think

pastel wolf
#

ah

grand geode
#

hold on hm

pastel wolf
#

cuz it needs to store a suit

#

to compare the currently played suit against

#

i think it should be this

#

just reverted back to when it was doing nothing prior

#

I also need to work out how to add the suit that it currently is into the descript

#

I accidentlly picked one of my most complex ideas

#

I think i might know what's wrong

#

Idk if it has a check or anything

#

I think it just sets the suit and returns

dusk estuary
#

hmmm ok so there's no truth to the idea that it picks the joker first and then rolls odds?

#

ah ok. so it can only roll on a non-augmented joker, it doesn't pick from all of them and just automatically cancel if it's already augmented? that's what I thought that meant

lean dune
#

if all jokers are already editioned, you can't use it

prime cairn
#

Is there a mod for custom challenges?

lean dune
#

i might change it to be a deck though

pastel wolf
#

Maybe i'l work this out tomorrow

round ore
#

We should make a mod that makes the glass shattering effect more violent

#

Instead of just being based on the “burning” effect the game uses for everything else, I want my glass cards to just shatter and explode

grand geode
#

500% volume metal pipe falling sfx on Glass Card shatter

grand geode
tacit mountain
#

@grand geode If you think that your method is robust enough, feel free to do a MR to the Modloader so we can add it !

grand geode
#

sorry i don't know how to make an actual api for this....

#

updated\

lean dune
#

oh no

grand geode
#

oh no wrong number

hoary ridge
#

Can anyone help me out?

#

My steamoded_injecter file keeps disappearing After downloading it where ca I find it?

grand geode
#

check your antivirus program

#

and the location you saved the exe

lean dune
#

try disabling your av

#

you can re-enable it after installing

hoary ridge
#

Yeah I read about it but I have no clue how to turn it off or find the antivirus program

woven rock
compact iris
#

how does strength work?

woven rock
#

was about to check

compact iris
#

theoretically you could just do what strength does for arbitrary rank

woven rock
#

it also uses set_base

#

wait are we allowed to post source code here

compact iris
#

great question, no clue lmao

#

I know you cant redistribute it so

#

maybe delete just to be safe

#

leave checking the source code as an exercise for the reader lol

woven rock
#

so yeah, strength also has to get the suit initial just to change rank

lean dune
woven rock
#
function Card:set_rank(rank)
    local suit_code = (self.base.suit == 'Diamonds' and 'D_') or
    (self.base.suit == 'Spades' and 'S_') or
    (self.base.suit == 'Clubs' and 'C_') or
    (self.base.suit == 'Hearts' and 'H_')
    local new_val = (rank == 'Ace' and 'A') or
    (rank == 'King' and 'K') or
    (rank == 'Queen' and 'Q') or
    (rank == 'Jack' and 'J') or
    (rank == '10' and 'T') or 
    (rank)
    local new_card = G.P_CARDS[suit_code..new_val]

    self:set_base(new_card)
    G.GAME.blind:debuff_card(self)
end```
something like this I believe, where `rank` is a string number from 2 to 10 or the strings Ace, King, Queen, or Jack
#

or this if rank is a number, which i think is quite elegant ```lua
function Card:set_rank(rank)
local suit_code = string.sub(self.base.suit, 1, 1)
local rank_str = ['T', 'J', 'Q', 'K', 'A']
local new_val
if rank < 10 then
new_val = tostring(rank)
else
new_val = rank_str[rank-10]
end
local new_card = G.P_CARDS[suit_code..'_'..new_val]

self:set_base(new_card)
G.GAME.blind:debuff_card(self)

end```

rare hill
#

maybe ranks too

#

(just a key/value table with stuff like {"Spades": "S"} so you go card_code = SMODS.codes[self.base.suit] .. "_" .. SMODS.codes[rank])

main folio
#

hiya im having troubles loading mods, ive made a file called mods in %appdata%\Balatro\Mods and put the .lua file in there (its for the ulitmate random deck mod) and ive installed the latest steam mod loader, however when i launch the game the mod doesnt seem to load up, wondering what im doing wrong lol

main folio
#

does it replace a deck in game or is it its own seperate deck as i cant seem to find it if its working

#

also do i launch through steam or elsewhere lol, sorry i have no idea what im doing with this

#

i think the thing that might be wrong is the download for steam modded, where it says to drag and drop the balatro.exe onto the executable for steammodded, it like flashes a window for half a second but thing happens after, idk if ive done that bit right

#

nvm got it, i had downloaded a pre release mod loader version and not the current release

tacit mountain
lean dune
muted vault
#

steammodded has been pinned in the modding channel @tacit mountain

rare hill
#

(ofc suits/ranks with special effects will still need custom code, but this would still remove a LOT of boilerplate and allow for, say, mods that add a 15 rank in there to work with suit mods and vice verse)

muted vault
#

@white scarab @tacit mountain - it looks like we can only have one pinned post at a time in the modding channel. previously it was the mod suggestions post. maybe someone makes a main post that links to other important posts, and we just pin that?

rare hill
#

although I will ask, mind if I use six suits as a launch point to know where code needs to be modified? I'm gonna be using hooks instead of destructive replacements where I can, but it'd still be nice to have a base implementation to go off of

lean dune
rare hill
#

nice

lean dune
#

I'll be trying to do the implementation into steamodded myself to start with, feel free to contribute though

rare hill
#

Oh, sounds good

rare hill
magic sandal
grand geode
#

yeah that's what they said

magic sandal
#

Like modding started guide or something

#

Oh they asked someone to do that

#

I'll try formatting something when I get home

woven rock
muted vault
#

alright- I pinned project666's modding starter guide post.

rare hill
rare hill
white scarab
#

I'm struggling to download data stored on a website because LOVE only lets you make HTTP requests, not HTTPS

#

does anyone know any workarounds to this or any file uploaders that I can edit without changing the link and support HTTP?

#

wait nevermind they added HTTPS

#

I'm so silly

rare hill
#

I was about to say lul, my first google was saying they added it already

magic sandal
#

also is it just me or is the post not pinned?

#

maybe my discord is bugging or he didnt pin it

white scarab
#

it's not just you

magic sandal
#

I thought I was tripping

#

Good to know

supple cypress
#

what is pixel size of a joker

#

71 x 95

uneven ravine
#

is there a way to make your own challenges?

hardy brook
#

Oh my gosh, people are making mods that honestly are making my job easier for porting Dungeon and Degenerate Gamblers

#

Needed to figure out how to make new Ranks: BOOM RANK MOD COMES OUT COUPLE HOURS AGO

#

Needed to figure out how to add the "Nothing" suit? BOOM SIX SUITS

magic sandal
#

The power of community driven modding

hardy brook
#

Since I'm combining all my concepts into one modpack instead of "DNDG mod", "Concepts" and "Additional Suits" as separate things...

#

Why not just have it all in one

#

Oh and yes, the Murphy's Law joker I concepted will be made

spice spear
#

because it makes no sense for a suitless card to ALSO be able to be a wild card

hardy brook
#

Like DNDG cards, you can play them in poker hands, but they could cause some weird stuff to happen

uneven ravine
spice spear
#

from there you just edit the sprites

uneven ravine
#

ah alright

hardy brook
spice spear
#

couple examples I made of this concept

hardy brook
#

Oh that's cool

spice spear
#

I'm a sprite artist as a hobby so I know my way around a pixel

hardy brook
#

I'm not a sprite artist, as you can guess

#

But I have done some good edits

spice spear
#

for an edit, what you made is pretty damn good

#

actually no, I do want feedback from you in particular, are those above jokers readable as to what you'd guess they'd do?

#

(left is a suit joker for suitless cards, right is a suit joker for wild cards)

hardy brook
#

So you could just randomly get a 21 of Hearts in your deck

#

I'm gonna Add the booster pack from DNDG as an actual booster where it gives you 5 cards and you have to take all 5 (no skipping)

spice spear
#

there's hearts and spades in there as well

#

left is grey, right is gold taken specifically from the golden joker

#

it's basically just a glorfied edit

uneven ravine
#

so whats the best way to add a joker to your game? I guess i can just add one in the code, but idk how to add a description and artwort

foggy trail
#

also does anyone know the best way to add a voucher? i see some example mods for jokers

rare hill
#

(instead of gold)

spice spear
#

all of the other sin-themed jokers are in one color group

pastel wolf
#

Well, after i get the effect working, i guess i try working on multiple jokers in the same mod

magic sandal
#

couldnt this just be easily manipulated by just dragging the suits around?

pastel wolf
#

Yes

magic sandal
#

seems too easy so like idk how the xmult should be

#

since you can get 3 turns with x2 mult for free

pastel wolf
#

Well card sharp is 3x for playing two of the same hand

#

Which usually happens anyway

exotic shadow
#

make it per blind

magic sandal
#

that depends on your build

exotic shadow
#

so you have to play 2 hands

magic sandal
#

this really doesnt make it too dependant

pastel wolf
#

It would also be unusable if you're playing one suit flush or something

#

But i spose any other build it works okay

#

Flower pot is 3x if it has all 4 suits which is a bit more tricky

compact iris
#

at X2 it really doesnt need to be very hard to proc

magic sandal
#

well idk there isnt really a good way i can see to balance this

foggy trail
#

also how do you spawn a specific joker/card for testing?

magic sandal
#

probably just leave it then

pastel wolf
#

Debug console

compact iris
#

yeah i think its balanced fine rn

pastel wolf
#

Can spawn it from collection

foggy trail
magic sandal
#

if you have the mod its tab

foggy trail
#

ohh tab

#

i tried pressing every letter

#

nope

#

tab does nothing

#

q works to cycle editions though

magic sandal
#

do you have the mod?

#

tab should work

white scarab
#

That’s odd

magic sandal
#

you hold tab

white scarab
#

The other important hot key is 3 to spawn things from the collection

magic sandal
#

did you just normally press?

#

hold tab not press tab

foggy trail
#

ohh hold

#

how do i bring my mouse back

#

a button seemed to make it dissapear

pastel wolf
#

8

#

G+8

#

I think

#

I had that issue last night

magic sandal
#

just hold tab and youll see which one does it

#

you dont need the mouse to be able to see all the commands

foggy trail
#

do modded jokers not get added to the collection?

pastel wolf
#

I believe putting them in the collection should be part of the mod

foggy trail
#

ohh okay it was being odd and not loading it but relaunching it loaded it

molten igloo
#

i find it funny that in the sprite sheet wee joker uses scholar and not joker

magic sandal
#

smol joker was too smol for the sheet

woeful finch
#

🤔

pastel wolf
#

Kickflip joker

#

Makes the screen roll

hardy brook
#

Time to make the ULTIMATE DECK AMALGAM

#

Not combining effects into one, but taking real life decks and combining them into one set

lean dune
#

lol

proud wadi
# pastel wolf Well, after i get the effect working, i guess i try working on multiple jokers ...

i've been trying to get a couple of joker arts working with using a custom asset atlas (instead of the base jokers one), and it's not quite working (when it initially loads the sprites, it's loading from the base game's jokers.png), but if I used debug to add the joker to my hand, the art in the collection window updates, but the jokers it actually spawns use the base jokers.png art

I noticed that when spawning in a joker with the debug tool, it does call set_sprites on the card (because it was locked/undiscovered, it wants to unlock/undiscover it), so i'm not sure why it's not hitting right when it initally loads the sprite in

hardy brook
#

I'm thinking the first thing is gonna be not even a Tarot or traditional playing card thing

#

It's Hanafuda

tacit mountain
vernal urchin
#

nice

#

gj

proud wadi
#

CRLF

hardy brook
#

like it loads the window then closes it

tacit mountain
hardy brook
#

I'll try again then

hardy brook
#

V0.6.0 still works fine

#

Though that's on balatro 1.0.0i

white scarab
#

is steam running?

hardy brook
#

yeah?

#

it was running for 0.6./1.00i

white scarab
#

I just installed latest version of 0.6.2/1.0.0k and it works fine for me

hardy brook
#

strange

#

0.6.1 and 1.0.0k works fine

#

but 0.6.2 and 1.0.0k don't

#

hang on

lean dune
#

lemme try

hardy brook
#

and so far it's looking towards the injector if 62+k doesn't work but 61+k does

lean dune
#

your error does look like what I got earlier with an accidental infloop

#

huh

hardy brook
#

Hm?

lean dune
#

I'm getting out of memory crashes

hardy brook
#

huh...

lean dune
#

lemme close out of vscode and try that again

hardy brook
#

it is the injector that's the problem?

#

ok

lean dune
#

that was just my pc acting up

#

62+k works fine on my end

hardy brook
#

okay what the heck then

exotic shadow
#

Can anyone who's played a bunch on a profile give me their profile.jkr file?

heady marten
#

Which file should I edit if I want to modify the 4 color deck? 8 bit deck opt2?

hardy brook
#

yes

heady marten
#

I see, thanks

lean dune
heady marten
#

Both?

lean dune
#

for low contrast and high contrast respectively

heady marten
#

Ohh

#

Okay

#

I mostly want to make clubs green, I like all the other colors

#

but not blue clubs

tacit mountain
#

@hardy brook Probably your profile

#

Try to move it for now

hardy brook
#

ok

little wharf
hardy brook
#

ty ty

tacit mountain
#

I still don't know what happen, but sometime specific users have this issue

hardy brook
#

oh what the

#

okay guess i'll have to reimport the mods

#

wait fixed

#

I got it working, but if i ever need to try, i'll definitely check it out. Thanks

foggy crag
#

Mr. Jay
When you progress to the next Ante, destroy all other Jokers and gain their effects.
After beating the Boss Blind, loses all gained effects.

vernal urchin
#

what if u have 2 of them

#

or copy it with the blueprint

foggy crag
#

always

rare hill
#

is age kept track of in the joker slots?

foggy crag
#

so you can't create some janky echo chambers

rare hill
#

also it could just be made incompatible with blueprint

foggy crag
rare hill
#

I mean, we have access to the code for jokers, because that's how we're able to mod in the first place

#

I was mainly saying it because I'm not aware of age being kept track of

foggy crag
#

oh

#

kk

exotic shadow
#

I mean jokers can store custom values in them

rare hill
#

true

exotic shadow
#

so if its a modded joker just store age

#

well

#

duping it would dup age

rare hill
#

yeah

exotic shadow
#

looking at the save, doesn't seem to be any kind of age

foggy crag
foggy crag
#

ig there are many ways to adjust that

#

what do you think?

exotic shadow
#

probably left to right just makes more sense

foggy crag
#

yeah

proud wadi
#

the sprite doesn't slide back to where it should be

foggy crag
#

Basically the idea behind Mr. Jay is that it technically gives you +4 extra Joker slots but you have to pay for new random Jokers from the shop every ante. It also synergies badly with Jokers that have stacking effects

proud wadi
#

it is kinda silly

pastel wolf
#

Not the joker wit da pitties

proud wadi
#

lol yesss

foggy crag
#

iirc

proud wadi
#

making the wraparound straight work was the first mod I tried out, just to dip my toes into the code a bit. Now that I'm getting more comfortable, I wanna start getting the effects onto jokers

proud wadi
#

it's partly a curse, i've only played like 4 rounds of balatro since i started digging into the code for it 😦

exotic shadow
#

do we have proper joker tools in the modloader yet, or is each mod just hacking it in?

proud wadi
#

right now they're just getting hacked in, that's why I'm trying to figure out a friendly way to do it (so I can help with suggestions on a joker api)

exotic shadow
#

haven't even modded the game yet

#

the save editing is kinda crazy powerdful

rigid jewel
pastel wolf
#

I swear everyone but me has made a wrap around joker

proud wadi
exotic shadow
#

I should mess with the modding tools, but I'm afarid I would not work o my save thing again cause I would be too busy with that

hardy brook
#

Welp, I'm concepting a mod

#

Not sure which one works best but it'll be crazy if it works

#

I'm somehow mixing KoiKoi (The most popular game using Hanafuda) with Poker (Apparently the second most popular traditional playing card game)

#

Now I personally believe Poker is more popular than spades or Bridge, but Google's saying second overall

orchid bear
#

i managed to get this much money with the super random deck

#

and the 2 interest vouchers

foggy crag
#

the devil

orchid bear
#

yeah lmao

#

thats just why i posted it

wet crescent
#

i got a question. if I wanted to get a quality image of one of the jokers, would I have to download Love2D?

exotic shadow
#

no

#

you can use 7 zip to open the exe

wet crescent
#

ohh thank you!!

exotic shadow
#

it should then be in resources > textures > 1x > jokers.png

wet crescent
#

gotcha. i got it opened! i wanna print a sticker of my friends favorite joker and give it to them so this is perfect

proud wadi
#

oh wait @pastel wolf i got it working i'm stupid

rigid jewel
proud wadi
#

let me just make sure it doesn't conflict with the rkeys joker really quickly

#

it work!

#

my 2 are using their own atlas, so it doesn't overwrite the full "Jokers" atlas (so it can play alongside other mods)

rigid jewel
#

I wanna make a joker but I'm still clueless as to what effect the test joker would have.

orchid bear
rigid jewel
proud wadi
#

I'll share a bit more tonight when I rewrite and put the effects into the jokers, and not just have them as standalone mods

exotic shadow
proud wadi
#

genuinely a good way to start digging into the code

rigid jewel
#

Like if you had this joker + Hit The Road and discarded kings that would proc HTR as if it was discarding jacks

rigid jewel
#

Yea something like that

pastel wolf
#

Blurry face

orchid bear
#

lmao

#

so im messing around with the debug mod

#

and i decided to give myself the two interest vouchers

#

and a ton of to the moons

#

and at a point the money symbols literally condense into

exotic shadow
#

yeah when I had like 999 hands it does that too

orchid bear
#

actually

#

is there a way to give yourself vouchers with the debug thing

#

or tags

exotic shadow
#

¯_(ツ)_/¯

proud wadi
#

no, but it could be added with a mod

exotic shadow
#

I can modify the save to get like 1000 double tags

orchid bear
#

modify it how

exotic shadow
#

save editor

#

but I havent' implemented tags so I'd have to do it mostly manually

orchid bear
#

where are the saves

#

oh

exotic shadow
#

AppData/Roaming/Balatro

#

if you give me a save with a double tag in it, I can give you as many double tags as you want

orchid bear
#

ah

#

what about vouchers

exotic shadow
#

possibly

#

I could take a look

#

idk how the game handles them

exotic shadow
#

wait what are you wanting to do?

#

sometimes the voucher behaviours can be changed manually

rigid jewel
#

I should do the same too but I'm not sure how you'd implement that.

exotic shadow
#

wait hold on I might've found something silly

#

I'll have to check later

#

oh fun fact for people, the game lets you select more than 5 cards in a hand, but doesn't let you play them

#

but it shows the hand type on the side

#

and you can discard

#

and 2 3 of a kinds is considered a 3 of a kind and not a full house

grand geode
#

@proud wadi if you could send the snippet for custom atlas thatd be nice

hardy brook
#

Thank you WarioWare

rotund galleon
#

have been working on the transforms for them though

exotic shadow
#

wdym main file?

rotund galleon
#

game.lua maybe?

#

I can pull out my file searcher

exotic shadow
#

oh I haven't even really peaked at the code much

#

I just extracted it like earlier today but just to get some images

#

then I got curious abou the MANUAL_REPLACE so I took a small peek

rotund galleon
#

think it's just a placeholder?

exotic shadow
#

it appears the game uses it to encode some stuff it can't encode into the save

#

but I think for the most part its probably just a monkey patch to use the save directly as the in game object

#

I wonder if I can replace the save load encoding

#

with the mod loader

hardy brook
#

So wait, what’s this custom menu?

proud wadi
proud wadi
exotic shadow
#

bruh does lua/love2d not have a built in way to encode objects

serene sandal
#

apologies how do i add the mod to the game?

#

found it

exotic shadow
#

oh it doesn't look like it does objects

#

so I would need to write a bunch of code

#

man thats annoying

serene sandal
#

im confused with the mod installation

#

do i drag the balatro exe/shortcut into the modloader.exe?

serene sandal
# hardy brook yes

Can you link what’s the best version to use for .exe cuz the version I used didn’t work

hardy brook
#

I had problems myself

#

Uh... You'll have to ask around. I still suck with it

exotic shadow
#

lol idk what I did

#

oh I had like all the other planents in my consumable slots

#

pluto must be the fallback

orchid bear
hardy brook
orchid bear
#

what did you do???????????

rigid jewel
molten igloo
torpid lava
#

Is there currently any way to import any of these mods into my game?

torpid lava
#

Ty

hardy brook
#

fair enough

#

Just like how I'm making Hanafuda cards

#

Thinking of some jokers

exotic shadow
#

funny enough I haven't modded my game yet

hardy brook
#

wait what?

exotic shadow
hardy brook
#

oh

exotic shadow
#

save editing

hardy brook
#

ooooh that makes more sense

#

wait people can mod the .jkr files now?

exotic shadow
#

I've been able to since the demos

#

but I wasn't allowed to share

hardy brook
#

We need to archive the old versions if they aren't already

exotic shadow
#

I'm working on making cards able to be easily modded and not just manually modded

hardy brook
#

what kind of cards specifically?

#

Like just jokers and consumables or playing cards too

exotic shadow
#

uhh I plan to support all card areas so it should be jokers, consumeables the deck, play (which I think is cards it can draw) hand discards and the shop slots

hardy brook
#

awesome

#

Because some of the interesting mods that have come out include new suits and all ranks (but that's just me)

#

Plus that'll help make creating my hanafuda deck and all that

exotic shadow
#

actually I should see what the packs do

#

they also might be able to be modded when your in one

hardy brook
#

oh?

exotic shadow
#

I have to check

#

but iirc the game saves there

white scarab
#

The game saves a lot lol

exotic shadow
#

looks like the game doesn't save the cards that are in the vourhce but just that the vocuher is being opened

#

booster*

hardy brook
#

that's all I can think of right now

exotic shadow
#

silly game

hardy brook
#

oh

rigid jewel
#

I'm getting somewhere

#

Now, time to figure out if the effect even works

hardy brook
#

oh?

#

I know my card effects are gonna be hell since I'm using Suit and Rank in the same ID

white scarab
#

Now you’re obliged to add that as a secret hand

karmic lynx
#

(ik you program them in but where would you do that?)

exotic shadow
rigid jewel
#

uhm

#

I didn't think of that lmao

exotic shadow
#

also this makes KQJQK 5 of a kind

pastel wolf
hardy brook
karmic lynx
pastel wolf
#

You just open the exe's archive

exotic shadow
#

theres some other stuff that is live now if you all want to mess around

rigid jewel
# rigid jewel I'm getting somewhere

For context this joker makes Jacks, Queens, and Kings considered the same for scoring jokers (i.e. if you discard a king with Hit The Road it will gain mult as if you were discarding a jack)
I didn't think of extending this to hand scoring.

#

I could add the latter assuming my mind doesn't explode trying to figure out how they're scored

exotic shadow
rigid jewel
#

No Pareidolia works differently

hardy brook
#

Trying to think of what Colors to make each seasonal Joker

#

Current WIP of Fall Joker

#

Dunno what color to make it still

rigid jewel
#

Probably a red-orange.

carmine flare
#

is there a context for when a joker is added? either bought or from a card like riff-raff?

exotic shadow
#

I mean the game unlocks them if it's the first time getting it

#

So there's definitely something

hardy brook
#

that looks great

orchid bear
#

what does it do

hardy brook
#

It's for my Hanafuda deck I'm doing

#

It's the equivalent to the Greedy, Lusty, Wrathful, and Gluttonous Jokers

orchid bear
#

ah thats cool

hardy brook
#

But it's gonna be for the fall seasons in Hanafuda

#

So September, October, and November cards give +4 Mult

#

If you get hanafuda packs in your normal game, you can buy the cards to treat them like stone cards

carmine flare
proud wadi
#

the main bit I needed to do was in "set_ability", have it call set_sprites again (I think when it first loads it, the atlas hasn't finished being created, so it falls back to the Joker atlas because that's the set the cards belong to, i'm not 100% sure)

carmine flare
#

is it possible to cleanly override the generate_UIBox_ability_table function? i need to pass some local vars to my joker ui

rigid jewel
#

How the fuck

orchid bear
#

what

#

that seems incorrect

#

its acting like you have paradoleia

#

or however you spell it

rigid jewel
#

I think I screwed up formatting

rare hill
rigid jewel
#

So much more is going wrong

rare hill
#

oh yeah I see

#

for each card it's running all other jokers, even if it's not in your played hand

orchid bear
#

wait

#

why is hit the road triggering as if it's shoot the moon

rigid jewel
#

I love buggy code that doesn't crash the game

orchid bear
#

wait

#

literally all the jokers except baron are triggering as if they are shoot the moon

carmine flare
pastel wolf
#

Lol

white scarab
#

PLACE
HOLDER

pastel wolf
#

Me when i be holding that place

hardy brook
#

The Four Seasons of Jokers

exotic shadow
#

But neat

pastel wolf
#

The other 3 are a little too bright i think

#

Then again game shaders make things darker

hardy brook
#

Alright, I'll ask you all: Red Frame vs Black Frame Which looks better? (This would also be the card back)

pastel wolf
#

Red would work with the game palette better

rigid jewel
# hardy brook

My suggestion is to make the other darker color more darker

pastel wolf
#

If you're worried about that

rigid jewel
#

Should make the jokers less overly bright

carmine flare
hardy brook
carmine flare
#

unless you mean deck is the wrong term for where your jokers go

pastel wolf
hardy brook
pastel wolf
#

I need to add current suit to mine that im working on but cant work out the wording

carmine flare
pastel wolf
#

I will do when im home

carmine flare
#

the way i did it is messy and probably will have unintended consequences

pastel wolf
#

Guarentee you did it better than i couldve

pastel wolf
#

I mean my effect doesnt even work yet so

orchid bear
hardy brook
#

For now I'm only doing one

orchid bear
#

i like black more

pastel wolf
#

Black could look good, if you use the dark green that the palette considers black

orchid bear
#

ooh yeah

rigid jewel
#

Yeah I agree, black looks better

orchid bear
#

or maybe a black to red gradient but that seems impractical

hardy brook
#

I'll do just black then

mental solar
#

Is there something i can look at to assist in making custom playing cards?

strong swift
#

hey btw what os are you guys using to run the modloader

pastel wolf
#

Balatro

strong swift
#

i mean windows version or whatever

orchid bear
#

balatrOS

strong swift
#

thanks, very helpful

hidden tapir
#

花札 mod? i've only ever had decks with black backing, the red is pretty though

hardy brook
#

First card done

solemn maple
#

hey guys where is the balatro mod folder

hardy brook
#

I'm limiting myself to Balatro's color palette btw

pastel wolf
#

Neat

hardy brook
hidden tapir
#

ooh very cool, good luck! i like the look of the first card

solemn maple
pastel wolf
#

Mod folder? You make it

hardy brook
#

Thank you, A lot of the hands are based on koikoi with a hint of poker logic too since Balatro's poker

pastel wolf
#

Read the modloader github, all info should be in there

solemn maple
hidden tapir
#

yeah they talk about it in the thread

hardy brook
#

False positive

solemn maple
#

it literally won't let me download

hardy brook
#

make exception in Balatro folder and save there

proud wadi
hardy brook
#

they talk about it there

carmine flare
#

i changed it to just "per joker added". not sure if that's clear enough

#

only reason i called it the deck is the function that gets called when you buy a joker is "add_to_deck" lol

#

but i agree i wouldn't call it the deck without that knowledge

proud wadi
#

I'M A FOOL, I'M THE JOKER

#

in my quick sample i even have a comment "you could check for just your jokers but i'm lazy", but just reloading the sprite for everything causes a few issues, like half joker, photograph, and wee joker

#

note to self: don't be lazy

hardy brook
#

Finished August's cards

pastel wolf
#

Laziness is only worth doing if it's well executed

rigid jewel
# rigid jewel uhm

I think I fixed all the bugs for this barring one (Mail-In Rebate is double triggering, not sure on how to fix)

#

nvm actually they all do and I know why and I have no clue how to fix without just directly overriding the calculate_joker function

#

Now the fun begins

solemn maple
#

by the way do mods screw up achievements or anything

hidden tapir
#

i'm gonna assume not yet because modding is still not even really an intended addition to the game

#

like it works, but it's not accounted for in the code or at least that's what i'd assume as a dev in other things

solemn maple
#

apparently the mod disables steam achievements

proud wadi
#

only because the modloader was configured to do so