#⚙・modding-general

1 messages · Page 9 of 1

cerulean herald
#

I would love to have a deck full of aces of 1 suit

#

Esp with that one mod that gives you 5 of a kind with the same suit

#

I know what I'm using my planet cards on 🧠😆

#

AYO WTF

#

lmao now that's a sight to behold

wanton rapids
#

what's normally there?

cerulean herald
#

How the heck did the ante even show up there ahaha

white scarab
#

But this seed is several hundred thousand characters

wanton rapids
#

ohh

white scarab
#

That’s “5?” because of the demo

hexed surge
#

im on ante 39 and i got this

wanton rapids
#

yeah that normally happens on ante 39

#

the most dubious deck (back is temporary)

#

nvm (this is too strong)

hexed surge
#

epic

#

this is fun

wanton rapids
#

and now for the most cursed joker ever

hexed surge
exotic dagger
#

who's paul

floral jewel
#

There is a save file we can edit?

stable crag
#

maybe 7zip can do this

tacit mountain
#

Actually there is a Save editor if I remember

#

No idea how it work, but you can try it!

#

@floral jewel

winter hearth
#

hi, is there a listener for onCardHighlight or smth like that?

floral jewel
cerulean herald
#

On the GitHub?

winter hearth
cerulean herald
#

Not an exe or anything

#

Can't inject any malicious code or anything that way and save editors like this are pretty common for lots of games like these, hollow knight comes to mind immediately

jovial escarp
#

the more i think about it the more i want a mod that just gives you one completely dumb card in your hand

#

every card enhancement that didn't stack before would stack

#

and the card would have all of them

#

every single one

cerulean herald
#

You should be able to consider it pretty safe. Run it in a sandbox if you want @floral jewel

floral jewel
#

True, but I rather learn how to do it myself. Need to unpack the jkr.

jovial escarp
#

there is a save editor online

jovial escarp
#

i use that to convert it to json

cerulean herald
jovial escarp
#

it doesnt have to be that serious

#

u can also look into the code of that editor

#

fo reference

cerulean herald
#

Is it on a GitHub?

#

I thought it should be but didn't immediately see it on the awesome Balatro page

jovial escarp
# floral jewel Thank you. But usually not into letting random websites alter files. Can't be...

the probability of you being attacked through a save file for a game written in love2d would require someone to really really want to put a rootkit on your system
i'm talking like federal level investigation stuff
there would need to be several exploits used to bridge the gaps between all the frameworks the game is built on not to mention save files are sanitized internally and only compressed into a binary format for efficiency
not to mention any modern system sandboxes applications to some level

#

there's just compounding probabilities here

tacit mountain
#

Tbf Steamodded offer some kind of protection againt this

jovial escarp
#

and the probability is close to 0

tacit mountain
#

But it can still be very harmful

jovial escarp
#

if you run an untrusted mod it can be harmful

#

a save file, though?

tacit mountain
#

Even more

#

Way more

#

The save files works totally differently than other games

#

The game load them as pure code

jovial escarp
#

are you sure it's machine code

#

like

#

assembly

#

because that doesnt sound right

tacit mountain
#

Lua code, but with standard env so it can be harmful

#

No need for assembly code to be bad lol

jovial escarp
#

i feel safe running this on linux

tacit mountain
#

Steamodded isolate the env while loading them

jovial escarp
#

literally nothing is at stake

formal wing
#

I dont know if this is the place to actually find out but with lua is it possible for the mods to eventually make it to steam community as the option for install?

jovial escarp
#

there would have to be consensus on a modloader

#

and the game is new

#

and there are two loaders that do similar things at a different sized scope

umbral pilot
#

I mean, lovely could technically take care of the modloading KEKW

tacit mountain
jovial escarp
#

you could beg localthunk for an official modding api

#

but

#

i doubt it's going to happen since the game is so much of a finished product

tacit mountain
#

@formal wing

jovial escarp
#

balamod looks a lot more powerful at the moment

#

i'm not going to lie

tacit mountain
#

That's not even the subject lol

#

Anyway, for everyone in the future seing this message: DO NOT LOAD UNTRUSTED SAVE FILES. Even if Steamodded try to protect you against some of the bad stuff that can happen, it will not fully protect you against everything it can do.

formal wing
#

@tacit mountain Thank you for pointing me in the direction of the info i was looking for!

late canyon
#

how do you make a card polychrome I have been looking in the code and cant find it

tacit mountain
#

The code is strange because coming from the Demo, but still working

late canyon
#

how do you add poly foil and holo to cards

#

I dont think that will work for me

#

I am using the challenges code

tacit mountain
#
my_card:set_edition({
    polychrome = true
}, true, true)

Seems pretty polyvalent, even for challenges but tbf I never trully touched them.

late canyon
#

I can see where he add enhancements like stone and glass

#

plus with redseal it is g='red'

tacit mountain
#

Not sure what keyword is used for editions

late canyon
#

that is what I am trying to find

tacit mountain
#

Let me take a look

late canyon
#

to make jokers polychorme its easy

#

its Edition = "negative'

tacit mountain
#

That´s it for the Joker will it work with classic cards ?

late canyon
#

I am trying it

#

nope

tacit mountain
#

And by adding --edition = 'polychrome' in the deck object ?

#

Not cards

late canyon
#

thats for foil

tacit mountain
#

But that's for a Joker, try the solution I gave you

late canyon
tacit mountain
#

Nop thats the card object

#

It need to be inside deck

#
deck = {
type = x,
edition = x,
cards = {x}
}
#

Something like that

#

Without --

#

Mb forgot to cut them

late canyon
#

im new to coding soo

woeful finch
#

edtion typo?

late canyon
#

i fixed it and added a comma

tacit mountain
#

Or you can add the effect to Back:apply_to_run

#

And add it in custom rules

late canyon
#

nope I got a crash screen

woeful finch
#

extra comma in the first entry maybe?

#

of cards

late canyon
#

didnt fix it lol

#

wait

#

it loaded but not polychrome

#

e is for terrot effects and g is for seals if only I knew what stands for poly

woeful finch
#

idk

late canyon
#

does this help

muted vault
# late canyon

just in case you aren't using one, you should really use an IDE or a text editor like VS Code. will make life a lot easier

hexed surge
#

I like to play until 4 ante because it's cool

#

no fool

pastel wolf
#

True i use vs its great

hexed surge
#

weird run

#

6 hands and 9 discards

hardy brook
late canyon
#

rip but I was able to make a challenge

rugged cliff
#

Hey guys, I made a whole overhaul mod before knowing about the modloader, and thus the mod file is just a modded exe. Is this alright for upload or is there an easy way to migrate it to modloader type?

sharp kite
#

this is entirely out of my field of expertise, but is it possible to get the source code from the balatro executable? lua isn't a compiled language so I assumed that a memory dump or just looking in the executable would work but I have no leads from that point

#

I want to start reversing the RNG to maybe see if a seed finder is possible

exotic shadow
#

It's in the main exe

#

Also we have a seed finder

late canyon
#

someone already made a seed finder @sharp kite

sharp kite
#

ah

winter hearth
#

works well but gotta somehow get rid of 6 pairs from 4 cards xd

spice spear
#

isn't this a very common issue with like, statistics

hexed surge
#

fun run

#

epic run

winter hearth
hexed surge
#

i lost

clever rampart
#

how would i make my deck end on an earlier ante

hexed surge
#

becouse no face cards

hexed surge
#

use the save editor

#

and in raw find ante you will see win ante 8 and change on like 4

spice spear
exotic shadow
winter hearth
exotic shadow
winter hearth
#

If a player has a joker that gives +4 multi for every clubs, and i display only pair without clubs (but he has it), it will be ruined for him, if he won't notice

hexed surge
spice spear
winter hearth
exotic shadow
#

raw is for if you want to mess with other stuff

spice spear
winter hearth
#

not a pro

clever rampart
#

i want to make a deck that has twice as many cards than normal

late canyon
hardy brook
late canyon
#

you can only get xmult and mult from planets

#

but might be too op idk

#

I need a good challenge for gold fold, Bloody battle, and grave digger

white scarab
#

Grave Digger:
Start with 5 eternal copies of Mr. Bones, no money gained from winning blinds

late canyon
#

ooo I like that

#

wait do they die when you lose?

exotic shadow
#

bloody battle feels like having a pinned eternal knife and eternal madness

white scarab
#

Not sure how the game would like eternal Mr. Bones though

#

Hopefully just one dies every time you lose

late canyon
#

maybe they start with 5 negative bones and only 2 joker slots

exotic shadow
#

gold fold feels like something with midas mask and the golden ticket

loud crystal
#

intentionally losing to free up joker slots is funny tho

white scarab
loud crystal
#

idea for Gold Fold: start with gold cards and eternal vampire, you can only get money from gold cards

white scarab
loud crystal
late canyon
#

and you only have 2 joker slots

white scarab
#

The idea of going from 0-5 by losing and getting no money is funny to me lol

late canyon
#

I wish I didnt have to sort by rarity right after I sorted by type

clever rampart
late canyon
#

edit a challenge to have double cards

naive marsh
#

can you still get acivements?

#

when u have mods installed?

neat mason
#

does anyone know if you can change the first 2 tags for skipping on each run?

late canyon
#

kinda

late canyon
#

ok I think thats the last edit to this challenge

tribal rover
#

Does anyone have a guide on modding textures for cards?

haughty hinge
#

save editor is amazing

mild raft
exotic shadow
#

nah just 4000% chance it happens

autumn yew
#

Only thing I want to know:
How do you get into the game's sandbox/debug mode?

#

been fooling around with some joker ideas and man is it a pain to have to get them to show up

exotic shadow
#

theres a mod to enable debug mode

late canyon
#

eh I think its an ok challenge

autumn yew
haughty hinge
#

lucky cat gained 15x mult with a single flush five lmfao

grand geode
late canyon
#

wym

grand geode
#

Custom Rules

late canyon
#

ya

autumn yew
late canyon
#

wait accually no

grand geode
#

like actually custom ones not implemented by the game

#

oh

late canyon
#

they have banned cards and stuff

grand geode
#

my challenge is safe for another day 🎉

late canyon
#

? I mean I am debating on one I am making that costs per hand

white scarab
#

I think Balamod also has debug tools in the built-in marketplace, but haven’t tried it so can’t rly help much with that

tacit mountain
autumn yew
tacit mountain
grand geode
autumn yew
grand geode
#

spice up your challenges!

tacit mountain
autumn yew
#

there isn't one

#

powershell version dumps a lot of "cannot open archive" errors but still finishes with a success message

#

something something "and I manage to screw something up in a way that makes no god damn sense"

#

and yes I have 7zip

tacit mountain
autumn yew
autumn yew
tacit mountain
#

Your are missing everything, you need to add Steamodded files

autumn yew
#

ah I see, the lovely requires a gitclone step.

#

know anything about the powershell method?

tacit mountain
#

I would need the logs it give you to understand

autumn yew
#

the powershell output?

#

yeah one sec

#

ah see (part?) of my problem there, I had made a backup of the game files inside the installation folder, so it was panicking over those. It looked like it was failing to extract the source files from the exe.
Lets see now... if the game is patched, then I should be able to put the debug mod in the mods folder...

#

Ok, game's running, how do I tell if the mod is active?

stable crag
#

Long press tab

hardy brook
autumn yew
wet swallow
#

how do you install mods anyway?

stable crag
autumn yew
#

1.0.0L-FULL
nothing else

stable crag
stable crag
wet swallow
autumn yew
stable crag
#

Idk how works lovely tbh, I can help you installing balamod but that's all

wet swallow
proud wadi
#

step one: install a modloader
step two: follow instructions for that modloader to install mods

stable crag
wet swallow
#

i....see?

white scarab
#

I hope that the integration happens soon and smoothly

#

Im pretty sure Steamo is interested in merging with Balamod

haughty hinge
wet swallow
autumn yew
# wet swallow i....see?

the game isn't natively set up to support mods, so people wrote patches for the game to sideload mods into the game. This is called a "mod loader."
Have you played Java Minecraft? Steamodded and Balamod are the Forge and Fabric equivalents

stable crag
white scarab
#

And I think because the way Balamod and Steamodded inject code are fundamentally different it’d be cool to somehow support both

#

I know Lovely allows you to inject Steamodded so something like that could be a key

tacit mountain
#

Yeah we choosed very distinct path to implement a lot of base stuffs

autumn yew
tacit mountain
#

If not the AV

proud wadi
#

I'd use lovely but I also want to keep a "modded" and "vanilla" version, so I'm just using the injector for steamodded. Getting back into it and finally getting around to finishing my custom "see the future" joker, rewriting it from basically the ground up to hopefully be a bit more friendly.

autumn yew
# tacit mountain That's always files integrity lol

that and sometimes my ability to not follow instructions in just the right way (ie. giving it the path to the folder containing Balatro.exe vs. the exe itself and having it still print Successfully modified game.lua anyway (or maybe it doesn't matter, but still printed it and changes I made in my fooling around broke something))

tacit mountain
white scarab
# stable crag I would be okay too but how x)

I feel like if injecting Steamodded through Lovely works similar to Balamod (and idk how exactly both ways work - I remember seeing some issues pop up with both installed) then theoretically you could do that and then work together to make both modloader codes compatible

stable crag
# wet swallow i see i see

Balamod tend to be more lightweight and based on code injection (to avoid overriding whole functions) and on a custom event system but steamodded comes with more integrated features for dev with great APIs

#

That's the majors differences I think

autumn yew
#

so... literally Forge and Fabric XD

stable crag
#

Yes xd

autumn yew
#

(where Balamod is Fabric)

tacit mountain
#

Yeah absolutely

#

That's litteraly what we are using as an example

autumn yew
tacit mountain
#

Yeah

stable crag
#

Steamodded apis are really great but I don't know if merging them will break the "lightweight" part of balamod

autumn yew
ancient junco
late canyon
#

so mrbones can not be eternal

white scarab
#

I feel like there’s some balance where the Steamodded APIs are rewritten to be backwards compatible with Balamod

tacit mountain
#

The function wrapper of steamodded may help for compatibility with Balamod

autumn yew
stable crag
late canyon
autumn yew
late canyon
#

I dont

ancient junco
#

that would make me switch

haughty hinge
#

can there be a quick mod to toggle the option to disable sci, notation and have the numbers vertically stack on each other when it gets too large

autumn yew
# late canyon I dont

Roller Coaster Tycoon (the original). Someone made a roller coaster called Mr. Bones Wild Ride. It took real time days for riders to complete a full loop.

stable crag
oak aspen
#

Hi. I am attempting to use Lovely with my Steam Deck, and I'm having trouble finding the directory to put the mod files in. I placed the Lovely injector into the game's directory, and got this when booting the game.

haughty hinge
#

i just got 30 planets by spamming mime and blue seal

proud wadi
white scarab
# ancient junco that would make me switch

I know that it would be great if my SpeedrunTimer mod (made with Steamodded) could be ported over to something like Balamod (and have the advantages like marketplace, etc.)

hardy brook
late canyon
autumn yew
# oak aspen

juuuust FYI, there's a button on your keyboard labled PrtSc
it takes screenshots. press it, come to discord, ctrl-v

hardy brook
#

I may just have to initialize stuff in 2 functions instead of 1

oak aspen
#

Sorry. I'm using my phone.

hardy brook
#

Ok wait

#

Tags work

autumn yew
tacit mountain
proud wadi
tacit mountain
#

That's the debug window

white scarab
autumn yew
white scarab
#

(I’d also probably have to redo a few security features, but that’s not important)

cosmic shell
late canyon
#

DUDE MR BONES TAKES TURNS

#

they dont all die

stable crag
#

I didn't knew you made it :(

hardy brook
#

Tags work, Stickers work, chips work

white scarab
#

Tbf I kept it pretty hidden

stable crag
white scarab
#

For the last few updates I didn’t want to post publicly until it gets approved for Speedrun.com usage

white scarab
stable crag
#

Sure !

white scarab
#

I added autosplitting for the Speedrun.com categories and a ton of security checks lol

hardy brook
#

okay, idk what i did but I think i got it working

autumn yew
# late canyon they dont all die

guests can only die by drowning and rides crashing.
there's also been a lot of advances in "long ride times" since. It's gotten to the point where the "get on to get off" time exceeds the lifespan of the universe.

white scarab
#

All of which could probably be bypassed but serve as a good barrier to entry for cheaters compared to the vanilla game

mortal mesa
#

I've got my game modded with Lovely and Steamodded, and have been playing around with mods. Now I'm looking to make my own mods (specifically a custom deck to start). Is it possible to add jokers that a custom deck will start with?

late canyon
#

what do we think?

#

I could maybe lower hand size

#

also here is grave digger

white scarab
#

Faceless might be too easy

late canyon
white scarab
#

-1 hand size would probably balance it then tbh

proud wadi
#

I want to add a custom challenge "I Can't Even", all odd ranked cards are replaced with -1 rank, square joker, the pair jokers, spare trousers, etc are all banned, and you can't play pairs, two pair, or 4 of a kind (i'd prefer the hand be replaced with the next highest base hand, but worst case it would just "nope" the hand like when you don't play 5 for psychic or try to play a duplicate hand against the eye), but I'd have to add in banned hands

late canyon
hexed surge
late canyon
#

you can manually put in cards

proud wadi
#

oh, i mean all even cards are replaced with 1 rank+

late canyon
#

so double odds

proud wadi
#

yeah, the tricky part is somehow banning hands I think, I haven't really started looking into it yet

late canyon
#

you can make them always play 5 cards

white scarab
#

That doesn’t solve the issue

#

You can play unscored cards

proud wadi
#

Ideally what I'd want is closer to what the eye does, but forcing 1, 3, or 5 played cards would be funny too

#

i'll dig into how the challenges work eventually, I'm rewriting my "seer" from the ground up to work with newer steamodded and hopefully balamod

#

it's just a silly idea i had the other day

ancient junco
mild raft
#

real qucik, is there a reason why steamodded doesn't let you change languages

hardy brook
#

Oh geez

late canyon
stable crag
#

Wtf is going on xD

hardy brook
#

Games Repainted but Balatro

#

Balatro Reshuffled

stable crag
#

Too many questions in one screenshot

mild raft
#

seems normal to me

hardy brook
white scarab
mild raft
# hardy brook

i badly need to know where to start with this kinda stuff lol

white scarab
#

It should be released open source pretty soon

hardy brook
mild raft
late canyon
#

now its fixed blueprint and brainstorm were too op

stable crag
hardy brook
#

wdym?

little summit
#

no, those are just diamonds

hardy brook
#

there's only 3 suits in my hand there

hardy brook
little summit
#

don't listen to him, every card there is a diamonds. yes, including the king of hearts

stable crag
# hardy brook wdym?

Red hearts, green squares, magenta stars, yellow triangles, orange shields, black spades and blue thing

ancient junco
#

is there a way to have two different ui buttons side by side in a menu? in steamodded

stable crag
#

How I'm supposed to play a flush with that painpensif

ancient junco
white scarab
#

The way I always try to figure out these UI things is by looking at the code for another part of the UI that does this

#

That’s pretty much what I did for that timer mod

ancient junco
#

yea i tried to look at the menutweaks but its just confusing me

mild raft
#

anyone know where the code for the jokers are? i literally cannot find it

ancient junco
#

game.lua

#

afaik

mild raft
#

alright

#

ty

late canyon
strong swift
#

dick joker

spice spear
#

hehehehe

late canyon
#

I need to find out how to make his sprite smaller

strong swift
#

is there a custom sprite thing for base wee joker?

cerulean flare
#

Does anyone know how to ban or modify boss blinds in a challenge?

spice spear
#

iirc wee joker is just a downscaled jimbo

strong swift
#

because if so you can yoink the code and change a few numbers

ancient junco
#

does anyone have knowledge in balatro ui modding

#

cause im super confused

cosmic shell
late canyon
haughty hinge
#

@exotic shadow is there another way to get a different deck/seed other than inputting it manually?

mild raft
# late canyon

how did u change the name, thats literally all i want lmao

mild raft
#

i tried and idk how to shove it back into balatro

ancient junco
#

most things you want are in game.lua

#

you can use balamod to inject lua into the game

mild raft
#

thats what i have 0 clue on what to do ;-;

ancient junco
#

ask uwudev for more info

mild raft
#

idk ill try and figure it out

#

also im stupid

#

ive been using steamodder ;-;

stable crag
hardy brook
#

heck yeah, got one of my jokers

#

and... i just remembered i'm playing abandoned and bought Scary Face

#

...

stable crag
#

Gg x)

hexed surge
hexed surge
jolly kiln
#

debug mode is funny

hexed surge
#

debug mode

#

but this is weird

jolly kiln
#

no im saying in general

hexed surge
#

two pair run

#

every time i play the space joker its getting upgraded

jolly kiln
#

what is modded about this

hexed surge
jolly kiln
#

ok but that just looks like a vanilla run

mild raft
hexed surge
#

i end on ante 4 every stuff gives me 10 in 4 chance and yea

jolly kiln
hexed surge
#

just playing for fun

jolly kiln
#

i am fucking around with uh

#

138 jokers rn

mild raft
#

yeah i was too

jolly kiln
#

yay i get a free rare card !

mild raft
#

lmao wtf

#

unironically stacking duplicates of negative consumables looks so nice

jolly kiln
#

it doess

#

those r spectrals too

mild raft
#

if only green negative arcanas

hexed surge
#

that was fun run but well i didn't beat ante 11

mild raft
#

amazing seed

hexed surge
#

yes

#

i just putted random seed

#

just for fun :)

haughty hinge
#

i don't think the arm saw this coming

mild raft
#

wait so this is dev tools right

haughty hinge
#

i used save editing to give myself money and other things like more joker slots

#

getting all those poly blueprints and stuff took like an hour

mild raft
#

what if you gave yourself infinite money

#

like what if you hit e300 money

#

or whatever

haughty hinge
#

lol

mild raft
#

do you just forever have infinite money?

haughty hinge
#

sadly you can't change decks from what i've tried

#

it's stuck on anaglyph

#

but you can change the seed

mild raft
#

what would changing decks do

#

i just want to give myself money

#

and a lot of it

haughty hinge
#

i want ghost deck

#

to make the poly easier

mild raft
#

deck builder

mild raft
haughty hinge
#

i used 10 hangmans so im playing a deck remover

haughty hinge
mild raft
#

hear me out

#

give yourself like 10k joker slots

#

and have stencil carry

haughty hinge
#

lmao

mild raft
#

tbh with deck builder i have like 18 stencils all with 9984x mult or smth

haughty hinge
#

keeping track of which invis to sell with 20+ jokers is pain

#

my eyes hurt

mild raft
#

20+ is weak

#

try 100

haughty hinge
#

nuh uh

#

also i can't get a perkeo seed sadly

#

all the good ones are gone now

mild raft
#

yup

#

wait why

haughty hinge
#

im gonna get 30 polys hold up

mild raft
#

oh yeah new update

#

im silly

haughty hinge
#

silly billy

#

im gonna spend half an hour on invis alone : )

#

i swear when in deck builder it is 5% game and 95% shop

rare shell
woeful finch
#

interesting joker

#

forces you to spend all your cash before entering any boss blind in return you get mult

haughty hinge
#

free mult thank you

#

credit card makes me so broke i can't afford free things

spice spear
#

actually yeah that'd be goated with credit card because it sets money to zero, thus clearing your debt

mild raft
#

kinda makes me think anti campfire

#

dunno why

#

how the fuck did i ghet 0.6 dollars

#

how do i have decimal moners xD

stray forum
#

LOL

exotic shadow
# haughty hinge <@517371142508380170> is there another way to get a different deck/seed other t...

for the save editor, its not currently possible to change these. The seed, I haven't looked into it much, but it appears I would have to regen a bunch of stuff, for the seed to actually changed (I need to look more into this.) I could probably change the value for if the run is seeded or not easily though.

For the deck, most of them wouldn't do much on changing, (as most of the changes are just when starting the game and not throughout, and can be modified in other ways). Also the game is a bit weird, so I would have to change some stuff across different spots in the save file, so its not just a simple addition.

Right now, I'm working on some other stuff, so I would like to focus on that, but I'll keep this in mind for the future

ancient junco
jolly kiln
ancient junco
#

ah ok

bright comet
tired ibex
haughty hinge
#

holy this took so long

#

28 polychrome blueprints lmfao

#

every non negative joker is polychrome

jolly kiln
#

install the higherspeed mod

haughty hinge
#

lol

#

i just got e20 with all my cards debuffed

#

so uhhh

haughty hinge
#

i just realized my hand is going to take 2 minutes now

ancient junco
haughty hinge
#

than

#

k

ancient junco
#

how can you force a card to show up in shop one with a deck?

hexed surge
ancient junco
hexed surge
#

negative jokers are cool

#

the seed goes crazy

round oar
#

hi guys, i'm kinda interested in making my own mod which adds some jokers to the game. any idea where do i start?

lunar fable
#

is thire a mod to add a restart run keybind

whole geyser
lunar fable
#

the new one as it turns out

proud wadi
clever rampart
#

i want to know how to make a deck that starts off with double every card

mental solar
#

Where is the code for decks stored?

#

Never mind, FOUND IT :)

rare shell
#

once again asking if there's a way to check if a card is a scoring card

fresh prairie
spare tusk
#

how difficult do you think it'd be to make the Consumables in Deck glitch a feature

frail karma
clever rampart
#

oh?

frail karma
mental solar
#

can someone help me understand why the game doesn't recognize the values?
i'm trying to make everything sell at full value.

rare shell
modern zodiac
mental solar
fresh prairie
mental solar
#

okay... everything is defined, the game doesn't crash, but the effect itself doesn't work :(
does anyone know why?

icy summit
#

What's the go to mod loader people are using? I know Lua and would like to make something

magic sandal
#

Most are using steamodded

pulsar ingot
#

is there an example deck lua for steamodded that shows score modification? I'm trying to create a deck for personal use that achieves the effect of plasma

rare shell
#

should i include reminder text under it explaining what it is?

#

something short like
(Choose 1 of up to 2
Spectral cards to use
immediately)
or smth

grand geode
#

doesn't hurt to clarify

wanton rapids
#

diet cola doesn't

rare shell
#

im too magic the gathering brained

rare shell
#

last one for the night

wanton rapids
supple cypress
#

what is etheral tag

grand geode
winter hearth
#

does anyone know how to fix this?
I have a /img directory in Mods/ directory and there are camera.png

Using this code
local load_ref = love.load
function love.load(self)
load_ref(self)
local appDataPath = love.filesystem.getSaveDirectory()
square = love.graphics.newImage(appDataPath .. "/Mods/img/camera.png")
end

tacit mountain
winter hearth
#

thanks, hope this helps

prisma wharf
#

for aseprite

winter hearth
#

I want just to add a square.png for my interface mod to make it look pretty

#

i don't want to change any asset, just add some .png files and work with them

wanton rapids
#

how is the r2modman support going?

haughty hinge
#

31 poly blueprints with a poly mime and 51 observatory plutos with 66 red seal steel queens

winter hearth
#

oh, that's sad

grand geode
#

eh not quite

#

if they're linked to a card you can do some fuckery with Card:set_sprites

#

haven't read the code for other stuff tho

tacit mountain
winter hearth
#

oh, so maybe you can help
Am i loading sprite the right way?
and how do i display them? what type is SMODS.Sprites?

tacit mountain
#

You don't have to do anything else than a register, Steamodded add them to the game himself

#

But are you replacing an image or adding a totaly new entry ?

winter hearth
#

im adding totally new

#

like w8 a minute

tacit mountain
#

So you need to add it to something

winter hearth
#

There are all the combo i have in my hand

tacit mountain
#

A joker, a voucher

winter hearth
#

And i want to wrap them in a square pretty box

tacit mountain
#

Or anythging else

winter hearth
#

like this?

#

that looks wierd

tacit mountain
#

No this is the name, you can refer to the doc to see what is what

#

If this is for a custom joker, the Sprite will apply to it if the name match the joker key

#

For other stuffs, you will need to load the texture on the part you want to add/modify

winter hearth
#

Feeling so stupid rn haha

#

Do I understand correctly that all textures are stored in the global table SMODS.Sprites?

tacit mountain
#

All the textures created by Steamodded yes, and in the game texture storage system from the Game

#

But SMODS.Sprites is more used by Steamodded for internal management, you should use the Game storage system if you want to manipulate it further, or just take a look at how to load a texture for a specific type of object

wanton rapids
#

oh yeah; art for the 10 jokers i've made so far

#

if someone can come up with a good effect for spiral joker i will add it

#

oh yeah

hardy brook
#

Ah heck nah, JIMBO PRISM!?

#

Jimbo Sphere When?

#

But yeah how hard is it to make jokers?

#

I’m using 0.6.2

wanton rapids
#

you need 0.7.2+ to make jokers with custom art

hardy brook
#

Crap

wanton rapids
#

if you do install it, i'd recommend using lovely

#

it doesn't modify the exe

hardy brook
#

The thing by those overwolf people?

#

Or is this by someone else?

wanton rapids
#

i don't think it is

tacit mountain
#

No they are from thunderstore

hardy brook
#

Same/diff to me

#

Lovely’s by the thunderstore people then?

tacit mountain
#

Yep

hardy brook
#

Then i ain’t using it

#

Also didn’t know a 0.7.2 was out

tacit mountain
wanton rapids
hardy brook
#

Will be saving this

grand geode
wanton rapids
#

wasn't that a modded version of it?

grand geode
#

yeah

empty brook
# rare shell

i believe if you write it as "{T:tag_ethereal}Ethereal Tag{}" it will make one of those pop-ups explaining what it is

#

so you don't need to be like (this is what the tag does)

grand geode
#

tbf i didn't need the modded version 😔

#

that was just the easiest way out

grand geode
torpid oxide
#

Hey there, I've got an issue with installing mods on Balatro. I installed python3, pip3, PLocate, 7zip-full, Nuitka and the python requests library. So I cloned the repo (using the git clone https://github.com/Steamopollys/Steamodded.git && cd Steamodded && python3 steamodded_injector.py command). I'm currently on linux so I went to /home/$USER/.steam/debian-installation/steamapps/compactdata/2379780/pfx/drive_c/users/steamuser/AppData/Roaming/Balatro and there I created a folder named "Mods". Then I put some example mods in this folder (MoreSpeeds.lua and DeckOf4s.lua). After that, I launched Balatro but none of the mods are working. What did I do wrong ?

empty brook
#

i've mostly just seen that for like, tags lol

grand geode
#

haven't tested

tacit mountain
torpid oxide
#

What python script ?

#

Do I need to run something else ?

tacit mountain
#

No steamodded_injector.py the one you launched lol

#

Without the logs it will be a little difficult for me to help you

winter hearth
#

omg still can't display just one image on screen. why is it so hard lol

#

and even no mods that use this feature so nothing to refer to

tacit mountain
torpid oxide
#

It said "Please drag and drop the SFX archive onto this executable."

winter hearth
tacit mountain
tacit mountain
winter hearth
#

maybe just make an ASCII boxes instead of png lmao

torpid oxide
#

Yeah

#

I mean I can do it again if you want

tacit mountain
torpid oxide
#

I get "bash: /common/Balatro/Balatro.exe: No such file or directory"

#

Maybe I need to relocate my exe file of Balatro ?

tacit mountain
#

Can you locate where is it now ? You can simply give the path to the script and it will take it

torpid oxide
#

Alright

tacit mountain
#

python3 steamodded_injector.py GAME_EXE_PATH

cerulean flare
#

How to add text for a custom challenge rule? My code does nothing

cerulean herald
#

the powershell script/exe is awesome btw

#

esp bc you can now specify a path to the balatro.exe

#

thanks @tacit mountain

#

big help for a lot of people 😄

tacit mountain
cerulean herald
#

with defender control to easily disable defender (instead of having people go 1 by 1 through all the diff win security tabs) thats gotten a lot easier to fix as well at least!

#

with lovely support I imagine AV shouldnt be as big an issue too yeah?

tacit mountain
#

I think Google is the issue for th PS injector

cerulean herald
#

plus r2modman support soon

tacit mountain
#

And yeah, no AV issue with lovely

#

That's the injection method I will push in the future, but I will still maintain the 2 other ones

grand geode
#

(literally just add init_localization())

#

well that's how I did it anyways

cerulean herald
#

I havent tried to run it yet but took a look at the readme and saw someone else installing it, gonna try to use lovely soon to see how it works. If it's a lot simpler I'll suggest people use that in general to inject steamodded

#

whats the lovely.toml file for btw?

#

havent seen anything about that yet

grand geode
winter hearth
#

Looks so stupid like im playing Space Invaders xd

torpid oxide
#

So, it seems that the process installed succesfully, however when I launch the game, I get this error

cerulean flare
cerulean herald
#

or /mods?

torpid oxide
#

Is it something with the mod that I installed ?

tacit mountain
grand geode
#

C:\Users\[user]\AppData\Roaming\Balatro\Mods\Steamodded\lovely.toml

#

yeah

cerulean herald
#

👍🏼

#

appreciate it myst!

tacit mountain
#

I will prepare a github-action to create a .zip with everything need for the lovely part

torpid oxide
#

I put everything in a text file

tacit mountain
#

The game you are launching is placed at /home/rabbit/.steam/debian-installation/steamapps/common/Balatro/Balatro.exe right ?

torpid oxide
#

Yep, that's the output of locate Balatro.exe

tacit mountain
torpid oxide
#

Yep

wanton rapids
tacit mountain
torpid oxide
#

Sure

tacit mountain
#

With this

torpid oxide
#

Yeah

#

Yep it's the same

rare shell
wanton rapids
#

oh hmm

#

i like the effect but not for that

tacit mountain
torpid oxide
#

Sure

wanton rapids
#

maybe conveyor belt or smth

exotic dagger
#

which rarity is it supposed to be?

wanton rapids
#

don't care

exotic dagger
#

fair

#

could be something simple like +50 chips, and gaining +10 per round

#

or something along those lines

rare shell
#

snoozeville

#

flat growing chip or mult jokers are not really synergy inducing

#

Tbh I should have been snoozing 4 hours ago

flat echo
#

hello, are there resources on how to mod this game? Or is it mostly looking at other mods and seeing how they do it

tacit mountain
#

Still lacking a lot of stuff but that's a start

flat echo
#

thank you

tacit mountain
#

For now there is only Sprite and Deck

torpid oxide
#

Where can we have access to all of the assets used ingame ?

#

Also, can we have access to the lua code of the game somewhere, or do we need to figure out some things like how to add modifiers to existing jokers (like foil) ?

grand geode
#

extract Balatro.exe

umbral pilot
#

legit

torpid oxide
#

Real

umbral pilot
#

yeah, it's hilarious

tribal rover
#

Is their a way to rezip the assets once extracted?

tacit mountain
tribal rover
#

You'd think it be easier to just rezip the assets up instead of having to learn c#

#

At least from the surface value

lean dune
#

wdym c#

#

this isn't a unity game

tribal rover
#

Isnt the coding for the modding scene c#?

lean dune
#

not for a game programmed in lua

#

depends on what the game uses

#

for unity games, yes

#

for love2d games, no

tribal rover
#

Ahh

#

So how easy is it to do sprite replacements?

#

Because the only game I did lua programming in was 100% orange juice

lean dune
#

this is where it's documented

#

pretty much, for just replacing sprites, you need to shove the assets in a folder and have like two lines in an init function that tell the loader to register your sprites

tribal rover
#

Ok

grand geode
#

then i remembered texture packs exist

hardy brook
#

What’s up in here?

umbral pilot
#

waiting for docker to do its thing

torpid oxide
#

How do tarot card works ? I can't find the .lua file that manages the tarot cards

spice spear
#

I think they're just a part of cards.lua

torpid oxide
#

Ah

spice spear
#

We added one in ShamPack, it might be worth taking a look there

torpid oxide
#

Alright thanks

pseudo spindle
#

Hey all, has anyone had any luck yet adding custom card enhancements?

spice spear
#

Yep, there's one in ShamPack

pseudo spindle
#

Ty, will take a look

pale breach
#

will changing VERSION change the save?

lapis jay
spice spear
#

Dunno, don't own one

nova egret
#

how do i disable crash reports in balatro? i dont see it in options and i dont want to send garbage crash reports as a result of my clumsy attempts at modding the game

white scarab
#

It’s in the game settings

tacit mountain
pseudo spindle
#

Ah and Balamod and Steamodded aren't compatible, are they?

tacit mountain
#

Yes and no

#

The 2 loaders works with each others, but the mods can break it

nova egret
tacit mountain
#

Still unstable however

pseudo spindle
#

Gotcha, was probably going to go with balamod because ShamPack has that example of custom enhancement

pale breach
#

When I try to download the steamodded my pc recognizes it as a virus and blocks it, how do I avoid this?

tacit mountain
robust lily
#

Unfortunately both mod loaders get detected as viruses by a lot of security software because of the way they work.

#

adding an AV exception is the only course of action if you want to use one.

tacit mountain
robust lily
#

I've only used Steamodded and Balamod so far

tacit mountain
#

Lovely is used to inject either Steamodded or Balamod

pale breach
#

it was windows defender, I assume because of the python.

tacit mountain
#

The PowerShell injector is one of the 3 injectors from Steamodded

late canyon
#

If anyone finds out how to make cards polychrome lmk!

pale breach
#

after it says its ready do I just launch Balatro through steam?

pale breach
#

Next is there a good place to look for how to start making the content for the mod? It is appearing in the game now. I managed to find something

#

Is there a way to use sprites that are already in game as a placeholder?

flat echo
#

im messing around with making mods, when i create a joker at the start of the run, how do i change its modifiers? make it foil, eternal, polychrome, etc?

nova egret
flat echo
#

okay, that works for every Edition, but not for eternal

nova egret
#

are you trying to make what i wanted to make

#

i already made it, im just working on a sprite

flat echo
#

im trying to understand how stuff works

nova egret
#

it was a disgusting hack because i dont really know how to exclude non-eternable jokers from the pool

#

so it just generates some joker and if it happens to be non-eternable it gets immediately destroyed and it tries again

flat echo
#

i see, thank you

nova egret
#

set_eternal is what youre looking for, beware of this edge case though, G.jokers seems to be the entire joker pool and idk an easy way to exclude stuff from it (there most likely is)

flat echo
#

i wonder what happens if you forcefully make a non compatible joker into an eternal one

#

if the game crashes or if it goes away like normal

nova egret
#

it just doesnt apply

flat echo
#

i see, alright

nova egret
#

the function set_eternal checks whether the joker can be made eternal and just does nothing if it cant

flat echo
#

okay this method worked perfectly, thank you

nova egret
bronze fern
#

Weird deck idea

#

Jimbo Deck
Unable to buy Jokers
When Blind is selected, create a
random Common, Uncommon, Rare,
and Legendary Joker.
At end of round, destroy them.

#

Jimbo knows what's best for you...

pale breach
#

Is there a way I can check if a sprite exists before setting it?

pale breach
#

I tried the following, but it's setting them to fallback whether their sprite exists or not.lua if love.filesystem.exists( SMODS.findModByID(mod_id).path.."/"..id .. ".png") then SMODS.Sprite:new(mod_id .. id, SMODS.findModByID(mod_id).path, id .. ".png", 71, 95, "asset_atli"):register(); else SMODS.Sprite:new(mod_id .. id, SMODS.findModByID(mod_id).path, "fallback.png", 71, 95, "asset_atli"):register(); end Also tried the following but am getting the same problem.lua local file_exists = love.filesystem.getInfo(SMODS.findModByID(mod_id).path .. "/" .. id .. ".png") ~= nil if file_exists then SMODS.Sprite:new(mod_id .. id, SMODS.findModByID(mod_id).path, id .. ".png", 71, 95, "asset_atli"):register(); else SMODS.Sprite:new(mod_id .. id, SMODS.findModByID(mod_id).path, "fallback.png", 71, 95, "asset_atli"):register(); end

hexed surge
flat echo
#

where do i find a list with all the joker ids? i already unpacked the game but its a lot of files and im not finding it

haughty hinge
#

is the save file mostly the same as from the previous demos

cosmic shell
flat echo
#

ive found it, thank you

cerulean herald
#

@hard crest KYU ILY

#

YOU REALLY ADDED IT!
THE SLUTTY JOKERS IS HERE BRUDDERS

#

HOLY SHIET

#

MY LIFE IS NOW COMPLETE

#

🥹 😭 balatroheart

#

As soon as I saw that suggestion I was like WE NEED THIS

#

and YOU REALLY DID IT 🫡

hard crest
#

Hahahaha :D
Yeah, i tried to reply on the reddit thread but i guess my comment wasnt shown to people 🤷‍♀️

flat echo
#

so, i have learned how to add a random joker on a deck mod, but how do you grab a specific joker

cerulean herald
#

I'll add it to the post actually in an edit 😉

pale breach
hexed surge
#

should i buy midas mask?

#

i think no

#

idk

lone coyote
pale breach
#

I don't really like buying midas mask without vampire.

torpid oxide
#

What do you guys think of my reversed strength ? (I'll probably change it better)

hexed surge
#

i lost that run it was epic run btw epic seed

#

epic start

torpid oxide
#

Yep

hexed surge
#

epic i love issac

#

its my seacond favorite roguelike game

left arch
#

Anyone here know what G.UIT.R or G.UIT.C are?

#

Because we also have this: n = G.UIT.ROOT,

hexed surge
#

i forgot to reroll boss becouse i got the infinite rerolls for 10$ and i lost becouse of amber acorn

#

double showman

#

idk why i take double showman but ok

hardy brook
torpid oxide
#

Cool, what kind of mod are you doing ?

hardy brook
torpid oxide
#

Ah I see

hardy brook
#

I saw we have Joker API and Card API now

wet furnace
#

whats the difference between steamodded and balamod?

white scarab
#

It’s like Fabric and Forge

#

Balamod is much more lightweight

subtle hamlet
# left arch Anyone here know what G.UIT.R or G.UIT.C are?

was gonna ask something similar. I'm trying to add a button next to the Play Hand or Discard buttons and what I'm trying isn't working. I would like to understand G.UIT.C and G.UIT in general becasue that's what's being modified to create buttons. Anyone have suggestions here? thanks

wet furnace
#

could i use both modloader at the same time?

exotic shadow
#

I was able to pack balatro (and steamodded) into a .love file and run it natively on linux (using system's love2d)

#

pretty neat

#

seems to run just fine

rocky vapor
#

what are the image resolutions needed for individual cards that go into the 1x and 2x folders?

#

nvm i think i got it

torpid oxide
#

What is P_CENTERS ? Is it just a list for the planets or is it also for tarot cards ?

rigid jewel
#

Where the config info for basically everything is located

#

Consumables, jokers, decks, etc.

exotic shadow
#

it has basically all the data (joker, planets, spectrals, vouhcers, backs, enhanced cards, ediitons, booster packs, extras)

torpid oxide
#

Aaah I see I was looking at the wrong file

#

So do I add my tarot card at G.ASSET_ATLAS.Tarot or something ?

stray forum
#

How do people mod balatro?

pastel wolf
#

With coding

torpid oxide
#

I still can't find where tarot cards are created, in card.lua I can find where their abilities are defined but that's it

grand geode
#

try looking for the Magic Deck?

#

that spawns a The Fool i think

cosmic shell
torpid oxide
#

Alright

#

If I want to add something in the function Card:use_consumeable(), do I need to replace it entirely in my code ?

haughty hinge
#

this is gonna take some time

#

im gonna put a timer on this

white forge
#

So, I'm looking to modify some card graphics. I already have a mod template for the main deck fronts, so I could change the textures used for the different cards and suits in your deck, but... I want to be able to change the base card artwork... like enhancers.png and whatnot. I have very basic LUA knowledge but I don't know how to write the code that interacts with Balatro. Does anyone have either a template or a code snippet that allows me to swap out my own enhancers.png or stickers.png or ui_assets.png?

#

I tried clicking around the mod list but I wasn't finding much of anything that just modifies those textures.

stable crag
haughty hinge
#

also i can try again

ancient junco
#

i think it should be what your looking for

#

does anyone know how to have this work? heres code snippet: ```function create_UIBox_options()
contents = createOptionsRef()

if G.STATE ~= G.STATES.MENU then
local cashout_button = UIBox_button({
minw = 2,
button = "cashout_button",
label = {
"Cash Out"
},
colour = G.C.RED,
})
local fold_button = UIBox_button({
minw = 3,
button = "fold_button",
label = {
"Fold"
},
colour = HEX('E82C20')
})
table.insert(contents.nodes[1].nodes[1].nodes[1].nodes, #contents.nodes[1].nodes[1].nodes[1].nodes, fold_button) --fold button
table.insert(contents.nodes[1].nodes[1].nodes[1].nodes, #contents.nodes[1].nodes[1].nodes[1].nodes, cashout_button) --cashout button
end
return contents
end```

#

ive been trying to figure this out for awhile

#

and i just have no idea how the ui works

left ivy
haughty hinge
#

i just put this at 0.5x speed

#

ima put a stopwatch on it

white forge
#

thank you!

ancient junco
#

no problem

white forge
#

if someone has a way of also replacing the other files that'd be awesome. Basically, I'm a twitch streamer and I want my viewers to be able to have me put their emotes or whatever on my cards

ancient junco
#

ah, you should be able to just ctrl-c ctrl-v the code for the enhancers for other files

white forge
#

lemme look at that code again

ancient junco
#

ehh im not sure actually

white forge
#
function SMODS.INIT.PlainDeck()
local ch_plain_art = SMODS.findModByID("PlainDeck")

local sprite_centers = SMODS.Sprite:new("centers", ch_plain_art.path, "Enhancers.png", 71, 95, "asset_atli")
sprite_centers:register()


local loc_def = {
    ["name"] = "Plain Deck",
    ["text"] = {
        [1] = "Base Deck",    
    },

}

local PlainDeck = SMODS.Deck:new("Plain Deck", "ch_plain", {my_deck_effect = true}, {x = 0, y = 5}, loc_def)
PlainDeck:register()
end

So you mean to say I only have to change the enhancers.png to ui_assets.png? I...

#

I don't know about that

ancient junco
#

yea i just said that off memory, sorry

white forge
#

ooooh

#

YASSS

ancient junco
#

yea i shouldve sent that first

left ivy
#

steamo the mod goat lol

ancient junco
#

always comes in clutch

white forge
#

yeah I know how to read and understand code if given a few minutes to look it over but I have no idea how to interact with the game. So I can look at existing code and finagle it to do what I need but I can't write new code

#

this api sprite documentation should be just enough for me to get digging in

ancient junco
#

it isnt very good ngl

#

or maybe ive just been spoiled with very good docs

white forge
#

who cares how bad it is, it looks like it's good enough for me

ancient junco
#

but balatro modding isnt very well documented

white forge
#

not yet anyway

#

give it a few months

#

I bet someone will make mod tools for it

ancient junco
#

yea, i mean its only been like 15 days since full game release

white forge
#

exactly.

#

I was really really hoping there were gonna be mods for this.

#

Then I learned it was mostly in LUA which made me happy because that's generally easily moddable.

#

Then I learned about how the .exe file is packaged.

#

and I knew that given some time we were gonna have modded Balatro

haughty hinge
#

it took almost exactly 14 minutes for the hand lmfao

ancient junco
#

how do you check if you have a specific joker that is rare rarity

fast hatch
#

I hope LT doesn't add anticheat features that make mods unusable

#

cough cough Plants Vs. Zombies: Garden Warfare 2 cough cough

hardy brook
#

LT?

#

oh thunk

#

localthunk was the one who made the mods channel, why would they make an anticheat to make everything unusable?

fast hatch
wanton rapids
#

isn't that a multiplayer game?

fast hatch
wanton rapids
#

there's no multiplayer in this so I don't think there'd be any reason to add anticheat

white scarab
ancient junco
#

also is there any function that runs when you get a joker

hardy brook
#

but uh yeah

#

Mind giving me context on why I see my github in the channel?

#

and the plaindeck's lua file?

ancient junco
#

oh sorry

hardy brook
#

I'm just asking

ancient junco
#

its cause they were asking how to replace the textures in game

#

so i gave the plaindeck.lua as an eg cause it replaces enhancers.lua

rocky vapor
#

i'm fairly certain this is it

#

i just took it from the base game code though (from baseball card specifically)

ancient junco
#

ah ok ty

ancient junco
#

do i just replace other_joker for the number

rocky vapor
#

rarity 3 is rare

ancient junco
#

no, i know that

#

im just checking for a specific joker

rocky vapor
#

ohh

#

a specific rare joker?

ancient junco
#

no just checking if there is a joker in the hand that is rare

#
        if context.v.config.center.rarity == 3 then```
rocky vapor
#

ahhh i see

#

i'm not sure

cosmic shell
ancient junco
#

ok ty

#

is g.jokers.card.rarity a table?

white forge
# hardy brook What'cha doing?~

I was just trying to figure out how to replace textures that weren't just the faces of the cards in the deck. Specifically enhancers, seals, UI elements, etc. I want my Twitch viewers to be able to put their emotes and stuff on my cards.

hardy brook
#

No worries

rare shell
#

i actually have not coded this second ability and i have to ask, how would you be able to check end of round hand? its not calculate dollar bonus, is it?

uncut terrace
#
if alloyed joker:
G.GAME.dollar_buffer = (G.GAME.dollar_buffer or 0) + self.ability.extra

or whatever you named it, something like that

haughty hinge
# rare shell also

so does it completely reverse both enhancements in terms of effect or is it like a bonus

rare shell
#

where is the hand stored by the way?

#

as in held cards