#⚙・modding-general
1 messages · Page 121 of 1
stone deck?
??
Put version.dll in the balatro folder where the exe is saved
dont think it right use
yes
huh
it was a typo
i did
b4 u told me
version.dll is lovely
steamodded is a different thing
and you have to install it seperately
ik
oh wait
what
what is steammodded
Steamodded is like a mod that other mods use to work
Lovely is a tool that Steamodded and other mods use to work
https://github.com/Steamopollys/Steamodded the steamodded
however, you should know that brainstorm doesn't use steamodded
it just uses lovely
i cant edit mod tho
i need steammodded for that dont i?
What do you mean
ah that option is in settings
yeah
just open up settings in game and a brainstorm option should be there
dont do anything with ur folders, i think you got it right
try opening up balatro and go to settings
dont i need to put it somewhere? it cant sit in my downloads and work
ye it dont work even when i put it in
are you asking about steamodded here?
yes
put it in the mods folder
kk
then try launching up balatro
yeayyy
But “no mods had been detected”
nice
does it counts as stats or its same as seeded run
hm
ah btw, steamodded disables achievements by default
ok
for steam or for?
for steam
Are questions about modding on ios allowed?
y is it all white?
Ok sorry
#4
its fine
bug alert
hehe
i actually already have a fix, but I pushed it to a different branch which is currently broken
who broke stake API 
check the 0707-regression branch if you want to see it even more broken 
as for the main branch, I think only stake colors are broken
I changed color to colour for consistency but part of it got lost in the merge process
is there a good debug mod? the one mathisfun_ made crashes my game. i want to do some build testing
every time i try extractin the zip to the mods folder it dosent work but has the thing at the botom saying console stuff, but that also dose nothing
Hold tab
(had to cut my name)
DebugPlus is a lovely mod without steamodded integration, it won't show up in the mods list
still dosent work
just check if holding (not pressing) tab does anything
thats what i do.
ive used it before but uninstaled it becuse i was chalange grinding and didnt want to cheat
Brainstorm isn't compatible with DebugPlus
oh I didn't spot that
also is there a working acivement enabler? i want to play with more speed and talisman but cant get acivements.
yeah, there's one in the steamodded example mods
dose it work? last i checked it crashed me
it should work, just make sure you're using the correct one for your steamodded version
thanks
ill get it after this GODLIKE run i have. have yet to go do build testing, though i dont need to plan what to do with this becuse im about to win my last chalange!
4 hours of grinding
brainstorm breaks all modded keystrokeshotkeys
ah someone already said it
ah.
whats a keystroke?
what's your steamodded version?
I'm not sure anything was changed on the matter since then, but that version is a bit outdated either way
to lazy to update. all the other mods work fine
if you installed using git, updating would consist of just running git pull...
no clue what or where that is
sent
@restive willow #🕹・game-discussion message
Sorry. I haven't played since 1.0.1 came out so I haven't updated things. There was a PR on GitHub that I think updated most things, but I haven't checked everything myself.
I fixed the lucky cards. Feel free to message me if you find any other mistakes with the calculator.
Calculate the score of any Balatro hand
Thank you very much for your work, great calculator, you help me a lot during naninf runs ❤️
I hope bunco, cheesy and mika mods become 1.0.0 fast. 🙂
Bunco is kinda (WIP) on 1.0.0 and being actively worked on. You can download it already by downloading the source code, I can say that it is a lot more stable than 0.9.8 Bunco, yet still has some new features that may not work properly or are unfinished
Oh, ok. Thanks.
Any idea why it doesn't transfer to the Tarot cards?
that should be an issue on the collection page specifically
something's special about it, i don't fully recall what causes it
I cant stop getting terrible ideas
Balatro but its egyptian ratscrew, while your hand is being played you can press a button that lets you slap, which when done at the right time can trigger joker effects
That would have pretty bad problems though, most noticably the fact that all calculation is done before animations play
Keep Jimbo's name etc.
???????
It's a reference
if its not too much of an inconvience, where are the balatro mods uploaded?
i use r2 modman but
Most of them are right here, in the #1209506514763522108 fourm posts
A good place to start would probably be #1255696773599592458 - it's a big pack of a bunch of 1.0.0 mods, so it's a great place to see what there is
okay thanks!
Anywhere specific I can suggest a joker concept? Or should I just drop it in here
I saw a post on reddit's r/sbcgaming subreddit, which is about single board gaming (i.e., steam deck, handhelds, etc.) where someone ported (into Portmaster) Balatro to work on Anbernic devices. Which kind of sucks because I was looking at getting a Miyoo Mini + or depending how it releases, their Flip version but it has a different CFW that doesn't support Portmaster.
This is all a longwinded way of saying, It would be nice.... lol
I asked a while ago but didn't get an answer, is there a dedicated mod for challenge creation, and if not does anyone have a method for making a challenge quite easily
don't they use android? I'm not sure how it works but it wouldnt seem too bit a stretch for it to be supported for those once the mobile port releases
Yeah, I'm not buying a handheld for another couple of months so there's plenty of time to see what shakes out.
Not really, but you can use Deck Creator and House Rules to modify your deck with basic numbers or preset rules
hey! i just tried updating my Steamodded but it's giving me an 'assertion failed' crash when I launch the game, is this a known issue or do i just need to git gud?
nvm it was an issue with a mod i installed
i tried installing the alpha for steamodder 1.0 and it just doesnt work 😭
whats the problem, did i to it wrong somehow?
not sure how useful this is but it's fun probably
send the rest of the crash log
all i did was put all the mods in the example mods folder in the mods folder
like the example mods folder that comes with steamodded
lol
im not 100% sure, but i think a couple of the example mods are outdated
mostly because 1.0.0 is still technically a pre-release
I wonder if there's a mod to turn Balatro into Texas holdem, or 5 card draw
that would be very interesting
why not just... play texas hold em'
At that point just make your own card game with Balatro’s engine and call it a Balatro mod
Because I'm lonely and don't like spending money
Coding too hard :(
😭 swing and a miss
tried installing bunco and it crashed on launch
is bunco not updated for 1.0?
iirc you need to download the source code for the 1.0.0 version of bunco
It's the green code button on the github, download it from there
It's because of this #⚙・modding-general message. I believe these are your 3 options to fix it:
-
You can directly edit steamodded's source code files, but that obviously won't work for other people using your mod.
-
You can wait for steamodded to update, but I have no idea how long it'll take for them to fix this (hopefully soon).
-
You can try hooking into steamodded's code. Obviously has a high chance to break whenever steamodded updates. You should be able to replace the previous suit changing code with this:
--- steamodded headers etc
steamodded_update_atlas = G.FUNCS.update_atlas
new_update_atlas = function(_type)
-- We're directly modifying steamodded's source code here. Very fragile!
output = steamodded_update_atlas(_type)
G.C.SUITS = {Hearts = HEX('ed2324'), Diamonds = HEX('3bb3f8'), Spades = HEX("000000"), Clubs = HEX("ffffff")}
return output
end
G.FUNCS.update_atlas = new_update_atlas
you can also send a pr for smods if you code a solution directly in smods source code
I asked eremel to #⚙・modding-general message
and I don't feel like I have enough experience with steamodded to open a pull request to fix this temporarily 😅
can't you just do a lovely.toml and hardcode the new colors inside the game code?
Not a bad idea, I hadn't even thought of that (I haven't really worked with lovely yet). Problem is that the colours are pretty dynamic and get reassigned in multiple spots, so it might not be the easiest to do. If you have a working solution I'd be interested in seeing it though
im not near my pc so I can't code, I'll try tomorrow if this is still a problem
What did you do!
its a problem with the inscrybed jokers mod
im guessing
cus the same thing happened with the other jokes from the mod i got
ah
Modify that and I think the run can continue
whats that?
a Legendary Incantation
but why dose it say incantation? its perkeo
if a mod takes control of a base game card, the mod badge gets added
Huh
incantation is a mod
infoqueue hell
34 remaining ?!
Jolly is mult when pair?
Since sly is also there
Testers for my mod needed
I made this mod which makes creating Jokers way easier.
Intead of remembering what to put in the calculate's return{}, you just do this
if context.joker_main then
xMult(3,card,context)
end
And now you got a X3 Mult Joker.
It doesn't end here because the current version (Snapshot 24w28a) adds aChips, xChips, aMult, xMult and addMoney, with more to come with future updates
There's plenty of supported contexts for each function, so feel free to try them out
- that's to deep for me
- If Steamodded gets updated, what happens then? Will that fix the suit colors game wide?
- I tried your code. It changes the suit color on the Tarot cards, but only to 1 color.
- Understandable, I don't think it's a great option either way tbh.
- Steamodded should implement a new feature,
AltTextures, at some point in the future. You should then be able to use that for your color changes. - Only 1 colour? That's weird, for me it changes all 4 colors to the ones that are specified in my code (blue, white, red, black). I have a later version of steamodded though, maybe try updating it?
Yeah, when AltTextures are merged I’d recommend migrating to that for anything that changes textures in game
hey does anyone know if you can dynamically add suits during runtime in steamodded?
Depending on what you want to do, Bunco does it
updated to 1.0.0-ALPHA-0708a. Same result. All suit colors are that greyish black. https://pastebin.com/6t1yk7HH
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
what does it do in particular?
there's a lot of code to look through
It creates suits but don’t add cards with those suits to the deck
You need to obtain them during the game
that could possibly work
do you know if any mod actually initialises the suits during runtime?
Why do you need them to be initialised then?
How will you handle the visual aspect?
You didn't capitalize the suit colors. Double check with my original message.
It's very confusing when it does/doesn't need to be capitalized to be honest. You can also remove the previous color-changing code for the suits I provided.
Here's what you should have: https://pastebin.com/EXhmHHkX
render all the suits with the same blank sprite, then inject extra code into the card draw method to add the little suit images on
But won’t you then need an uncapped number of images?
i'm pretty sure love2d has a way to create sprites on the fly
anyways that's what i need to look into next
That works! Thanks again. I did decapitalise the suit color variables because that was the problem with the previous ones.
Yeah the other code needed them to be lower case, for this one they need to be title case. Very confusing and I don't know why lol
No problem 🙃 You should have a better time once steamodded properly implements this.
Are there any mods that add more music, sfx, and/or more background effects?
i guess cryptid? it has sfx for xchips and ^mult
I know the Lobotomy Corp that features custom effects for some of its Abnormalities
But for generic "new music" or "new background" mods, I don't know if there's any of those yet.
Ro Balatro also has some sfx for its consumables iirc, but yeah outside of those examples dunno about any others
cryptid also has jimball music iirc
Trance adds recoloring which might be similar
I know Djynasty made a mod that replaces the music with Don Palombi’s cover
oops
How?????
oops
i just copied it from my other stuff
without realizing its G.jokers
Imagine if consumables in joker slots had effects lol
the options are limitless
Is there a steamodded 1.0 mod that lets you choose your first joker?
What does your Echo card do?
Echo cards have a 1 in 2 chance to retrigger twice
does anyone know how i can add custom challenges like drspectred does?
I presume that https://discord.com/channels/1116389027176787968/1221603094169784340 isn't 1.0.0 compatible?
You could try debug mode (https://discord.com/channels/1116389027176787968/1209857245316255744 or https://discord.com/channels/1116389027176787968/1228149931257237664), but I'm not sure what exactly you're looking for.
I'm not sure which other mods honestly, just whatever works on 1.0 and ideally something that lets you choose a joker at the start
lol
ive gotten far enough that the mods button appears in game but after attempting to add codex arcanum my game now crashes on startup with a giant error message i cannot comprehend
Share the error especially the first part
do i just copypaste the whole thing here
I believe one of steamodded's latest versions broke codex arcanum?
ohh
thats unfortunate
was the mod i was most wanting to try
ill try a different mod rqw
not really sure about that, just saw some people talk about it
maybe someone else can confirm
I can confirm it
(As working on a 1.0 modpack we recently had to remove it because Steamodded alpha versions broke 0.9.8 compat with Codex essentially)
will it ever be updated?
You could ask in the thread
There is a 1.0 version but feder is waiting for a full release iirc
so if i downgrade will it work?
To 0.9.8? Yeah
oh boy
But you lose out on a lot of newer mods
i dont really have any other mods im particularly interested of as of now so
i think i can take that
lol
is there an easy way to downgrade
or do i need to do everything over
i got it
yipee breaking bozo
I had the modloader downloaded while playing unmodded when I beat the last challenge, and now because of that it didn't proc the steam achievement, because apparently the old mod loader automatically disabled achievements. Is there a way to give myself the achievement, or do I need to start a new save file and beat everything again?
that means he'd need to beat the challenge again nevermind I'm stupid. Maybe that works?
You can also try to either
- use Steam Achievement Manager link
- With debug mode + achievement re-enabler mods, give yourself the win by spawning in good stuff (you might also need to modify your savefiles to remove the win first?)
I might just try removing the win on an easier challenge then beating it again
Never mind, I'm not going to be able to figure that out, all the data seems to be scrambled and/or translated into another language
hey, random question, how do i change the card images, similar to balatro: reshuffled?
okay updated question: is it possible to ONLY change wee joker's art, and not the normal joker's?
you can use https://balatro.shorty.systems/ to read and modify your savefile
Okay, thank you!
I'm not sure how taking ownership of jokers works, but if you're not able to modify wee joker I think it's pretty likely you're doing something wrong
Haha, sorry I'm not much help, I'm not very familiar with it. Have you tried looking at balatro: reshuffled's source code? That might help
no i figured it out dont worry
thank you for your input though
sadly wee joker is a direct copy of the default joker's texture, so no luck there, but i did it anyway it worked fine
@lean dune is this the portion that runs the jokers calculate function?
why are you asking? this calls calculate() on each sticker
I was having trouble with this #💻・modding-dev message
could you describe the problem you're having in more detail? how is the card.EzSc field set and used?
ok I think I know what you are asking
that portion is not it, it's actually right below your code:
if obj.calculate and type(obj.calculate) == 'function'
so, yes, you need to put your code after that block
hi
im trying to use the lobotomy corp mod
but i get an error that i cannot understand at all
would appreciate any help
Update steamodded
ah
thanks
i was having issues with aa couple other mods like bonus blinds so thats probably why
blud pings me at 4am when just asking in chat would have been fine 💀
I pinged you?? sorry didn't mean
im still getting the same error
its this download link right
alright then send the new crash please
sorry I just woke up, I can't read properly, it appears
one of your mods defines its own booster API which conflicts with the one in steamodded
that mod would happen to be codex, yeah
codex also doesn't work on steamodded 1.0.0 I believe
It does for me
the 0.9.8 backwards compat does wonders
it should run through the compat layer, but it's fundamentally incompatible with boosters on 1.0 unless you rename its booster class
so i just gotta do that and i should be able to use them together then?
the compat layer broke in a recent version of steamodded, according to this #⚙・modding-general message
I don't know if that's true or not, I'm just repeating what I've seen before in chat 😅
that might refer to the boosters thing? not sure tbh
I don't think we broke anything else
if i load it after lobotomy corp will it work lol
I wouldn't rule it out, but you may run into weird issues
weakest cryptid joker
question does DebugPlus's win blind button work with this boss?
let's try it
it does
ok let's see if obsidian orb freaks out now
it worked fine I think
hellp
i wanted to ask
abot how to mod for begginer
Ive finished most of the gold stakes in vanilla so i wanted to move to modded
bt idk where to start
I would look for some simpler joker mods to start with, if you're wanting to ease into it. I haven't looked too much into playing, since I've mostly been focused on learning to make my own mods, but off the top of my head I know the Bunco mod just adds ~30 jokers, so that and other mods like it could be a good place to start
could i have some links?
or atleast some knolege in how to instal mods
i dont want to end p having an unplayable game
https://github.com/Steamopollys/Steamodded/wiki is a big one
ok finsihed with the modloader + lovely
i have 0.9.8?
You can use steamodded 0.9.8, or 1.0.0. They don't have perfect compatibility.
1.0.0 is still in alpha/pre-release, and could significantly change.
I'd suggest using 1.0.0, but it's up to you.
i'm trying to install the morefluff mod, but steammodded doesn't seem to detect it
however, i DID install steammodded and lovely through r2modman
and the morefluff mod wasn't on there, so i just got it from github
i THINK i did everything right but it just didnt work
i put the .lua file in the appdata > roaming > balatro > mods folder and it did nothing
i'm not entirely sure what to do with the assests folder
Only .lua file??
clearly i've done soemthing wrong though
i tried both but still
i can try again if need be
AH
ok i see it's just missing the main folder
i'll just manually make that
tyty
i figured that might be it but a video i watched just put a .lua file in there and it worked but i guess it's different here
i will now try this
I'll recommend you decompress the zip you download somewhere else
And copy the folder that contains everything essential to Mods folder
will that potentially help?
So it should look like Mods/<mod name>/<mod name>.lua
And Mods/<mod name>/assets/
i did do that
just now
and it still didn't work
i think this mod was updated like 2 months ago, is it outdated?
describe "it still didn't work"
nothing showed up in the menu ingame
you don't see the mods button?
but there's nothing in the mods menu
just text saying there's no mods installed and a button to open the directory
^ specifically, the mods folder you see when you click the button in the game to open the mods directory
A screenshot will suffice
That looks correct
let me try again i guess
in case the gnomes in my computer changed something
nope
Also I am not familiar with r2modman thing, but since it installed smods correctly I suppose it is maybe not the problem
Can you describe the installation process just in case
I mean r2 thingy
with r2modman you kinda just click things you want like a grocery list lol
you download the app, select the game you want and make a profile
then you can enable/disable mods in on tab and download mods from thunderstore on another
it has its own mod folder, which is where everything from there goes
this is the menu for it
these are the mods i actively have installed
i had to get morefluff from github bc it's not on here yet
assuming it will be i added, i guess
Then I am guessing it might somehow mess with the mods ?
maybe
not entirely sure how it would but i guess 2 seperate mod folder will do weird shit
Can you install another mod and see if it go into Mods folder
i was about to say im gonna do that lol
same hat
odd
it installed a second steamodded file that's deprecated
Yeah also I don't think thunder has lots of mods you may desire
What does that mean
there are now 2 seperate versions of steamodded "running"
i put it in quotation marks bc the game instantly crashed to no ones surprise
That certainly will happen
disabled the not deprecated version, and the mod i installed is working
not morefluff
i should clarify
I'll still recommend not using r2modman thingy
I think it's doing weird things
And thunder is not a good grocery store
Hello all. If anyone is willing to help, I'm trying to get a mod to work, but it isn't cooperating. I had installed the extra speed settings mod before this, and this seemed to be formatted the same way, but putting it in the same folder makes the game unable to actually launch. I'm really not used to modding in general, so I apologize if there's any obvious fixes I'm not seeing.
I can share more details once someone is willing to assist, sorry again for being a bit vague
which mod are you trying to play?
It's the Tarot Deluxe mod, the one that gives a chance for buffed consumables.
Can you screenshot your mods folder?
When you download the mod, you need to put the entire folder in here
(Also please don't tell me to activate windows they can have my money when I'm dead in the ground)
nah
I didn't see a folder to download, just the raw data.
Is there a separate tab for that? Again, I'm sorry for being this dumb lol
I don't wanna seem like I need to be babied I'm just tech-illiterate
put it like this
IDK how to get to that point.
there should be an asset folder when you download the mod
There's like 20 different buttons on the github page
don't worry, github is really good at hiding it :)
here's a direct link to the latest release from tarots deluxe: https://github.com/JeffVi/DX-Tarots/releases/download/v0.3.1/DX-Tarots.zip
if not, try redownloading the mod
Should I delete the first lua file?
yes
yeah, probably a good idea
So that zip file will have the folder, and I put the folder in the mods folder?
yes
Gotcha. Thank you all!
yeah, unzip it and put that folder in the mods folder
Do I need to put everything in the mods folder, or just the assets folder?
just make sure all mods that have assets are in its own folder
should look like this ^
only important thing in the folder is assets and the lua(idk what source is)
you should include source, it's a couple of lua files the main file imports iirc
ohh ok
It works, thank you all again. I did have one more question that's not nearly as important: Is there a way to do without the second smaller window that opens when playing this game modded, or is that just kinda always there regardless of whether I like it
Really, put everything you see in the downloaded zip file in the folder is a better idea, especially when you don't know what they do
thats just there
Darn
you can just ignore it
You should be able to hide it if you follow these instructions #1217867725532041369 message :)
I did what that suggested and it still pops up.
hmm, weird
It's here, right?
I'll be honest, I didn't double check that myself
Mac users: what's --disable-console 
yeah that should be it
Very much isn't working
it works for me 🤔
yea smh
me: damn it, Apple Script time
what OS are you running?
Uhhhhhhhhhhh
windows 10, 11, mac, linux

it's win10
interesting, how can you tell? 🤔
is this win7?
I have the same thing on win10 lol
I look at win11 and compare the difference
win10 then
Hehe
we could also just let the guy answer lol
iirc I have never seen an unactivated win7
Very sorry, I just got distracted and forgot you asked, this is windows 10
Hmm, very weird. Could you try launching it from the cmd with the same argument?
What's that
The Command Prompt. Go to wherever your balatro installation is, and type cmd in the address bar, and press enter. Then type Balatro.exe --disable-console in the cmd and see if the console still pops up or not.
Wow you sure hate the Lobotomy Corp mod no need to shake it like that!!!!
yeah okay i see

so undebuffing a joker calls Card:add_to_deck
and uh. that joker depends on that function
skull emoji
Wait actually? Is it a vanilla or modded behavior?
vanilla
thunk moment
one might say it gives you a lobotomy 
i have a problem
i played a couple of hours in vanilla and got many achievements, but when i decided to download some quality of life mods, all my in-game achievements reset, and now everytime i restart the game i lose all my achievements. for example every new session when i go up to ante 4 i get the achievement "Ante up!" is there a way to make the achievements not reset?
I'M TALKING ABOUT IN-GAME ACHIEVEMENTS, NOT THE STEAM ONES
By default, this should happen. I'm not sure, but maybe getting acheivement enabled will fix if, otherwise send your mod list.
Hey guys, using the Zen mode is there a way for it to still count as a win at ante 8?
As soon as we have it turned on the ante's just don't seem to end
I understand that may be by design but was wondering if there's a way to turn that off
Not sure if there's a different version of this or a way to toggle what I'm looking for? Thanks for any help guys!
i know it's not supported and considered deprecated post-0.9.8 but is there an unofficial way to inject steamodded 1.x into balatro?
Technically, you could maybe inject 1.0 into the game, but it would be a lot of work to do, and very little gain (if any)
for the regular lovely patches, it's possible to take the dumped source files and inject those by replacing the originals, but idk about modules
do you know what i would have to do? i thought changing the link of the zip in the ps1 file would be enough but apparently not
What do you think of this formatting? I'm not sure how to separate standalone abilities in Jokers when one is so brief
This is another one but without spacing
(I think I preferred the older "Boss Blinds are harder!" rather than the current, clearer text, but I digress)
I think it's too much space - maybe make the empty line smaller in text size?
like {s:0.6} or so
… why is s lowercase when the other controls are uppercase?
does this look smaller?
Speaking of
moments
why do the draw_card functions have a stay_flipped arg that does nothing
Stay mad, stay flipped
Idk
I think I like this size
You would have to go and perform all the lovely patches for steamodded (iirc theres more than 50 of them) on the game
Lovely/dump exists
Which aure already mentioned
does anyone know how i could modify the brainstorm mod to auto-reroll for two arcana skips with a soul tarot inside both
The GitHub source does most of this actually, although it’s still in development
You’d have to manually check for the second tag to be a charm tag
if _tag == Brainstorm.SETTINGS.autoreroll.searchTag then
if Brainstorm.SETTINGS.autoreroll.searchForSoul then
-- Check if arcana pack from skip has The Soul
soul_found = false
for i = 1, 5 do
if pseudorandom(Brainstorm.pseudoseed("soul_Tarot1" .. seed_found)) > 0.997 then
soul_found = true
end
end
if not soul_found then
seed_found = nil
end
end
else
seed_found = nil
end
This is how it works right now
It’s pretty much implemented already, you just have to install lovely by downloading the source code
this is exactly what i'm looking for thanks a lot!
yw
btw let me know if you run into any issues since I’m still testing it out a bit
it worked fine for me, but the main Brainstorm dev told me it didn’t work for them
it works for me but as you mentioned in the PR it doesn't always generate two arcana skips. but it is a huge improvement nonetheless great work!
ty
btw i don't know anything about lua or modding this game but after making this change it always shows two arcana skips (though it takes a bit of time :D)
if Brainstorm.SETTINGS.autoreroll.searchTag ~= "" then
_tag = pseudorandom_element(G.P_CENTER_POOLS["Tag"], Brainstorm.pseudoseed("Tag1" .. seed_found)).key
_tag2 = pseudorandom_element(G.P_CENTER_POOLS["Tag"], Brainstorm.pseudoseed("Tag2" .. seed_found)).key
if _tag ~= Brainstorm.SETTINGS.autoreroll.searchTag then
seed_found = nil
end
if _tag2 ~= Brainstorm.SETTINGS.autoreroll.searchTag then
seed_found = nil
end
end
I know I could merge these if statements but i didn't want to bother with syntax that i don't know about lol
nevermind it doesnt always work lol
what in the
m
there's a patch in Steamodded fixes.toml that lets you play without steam, so the game should still run
I guess there's an issue if you happen to care about steam achievements
my first joker sprite so im a bit new
you need steamodded and lovely
done
ah
i jsut dont know how github works
Its confusing
And tutorials are way to vaugue on how 2
there should be a releases tab to the right
mhm
just download the zip file
Looks very good. I’d maybe move the question mark so it looks centered and maybe tweak the right leaning background question marks
@mystic oar
if they dont have it, you can click the code dropdown and click zip file
reply fail
thanks, very apreciated
i deleted the message coz i was gonna move it to #💻・modding-dev so reply stalemate if anything
le gasp
is gone
yeah i can do that
Le ga(s)ppie
What is the effect?
hallucination, 2
i might actually give the sprite a different effect but this was the easiest thing i had to sprite on hand
The sprite makes me think of face-down cards
I just made a Joker to enable synergies with them
Which is why I want to think of enablers 🤔
What you installed
More fluff
fusion
codex arcanum
all mods suposedly work together stable enough
happened when i tried switching acounts
As I plan to keep 1 acount vanilla
DO you have an idea of what i did wrong or what dint work?
maybe i downloaded the mods incorectly?
?
Well save will still be a problem I foresee
Im getting an issue where Atlas is a nil variable, did i do something wrong with the setup? This is legitimitely all I have that is actually executing and is not just defining the mod
key = "sannyoatlas",
path = "sannyojokers.png",
px = 71,
py = 95
}```
the path does exist, for reference
what did you name the file
its just sannyo.lua
is it just sannyojokers.png or j_sannyojokers.png
the former
try renaming to the latter
no luck
Local variables:
msg = string: "[string \"--- STEAMODDED HEADER...\"]:12: attempt to call field 'Atlas' (a nil value)"
(*temporary) = Lua function '?' (defined at line 6044 of chunk main.lua)
(*temporary) = string: "Oops! The game crashed\
"
(2) Love2D field at file 'boot.lua:352'
Local variables:
errhand = Lua function '?' (defined at line 6001 of chunk main.lua)
handler = Lua function '?' (defined at line 6001 of chunk main.lua)
(3) main chunk of mod Komakusa Cards (SANNYO) at line 12
(4) Lua global 'loadMods' at file 'main.lua:6188'
Local variables:
modsDirectory = string: "Mods"
mods = table: 0x2212d5d0 {1:table: 0x2212e100}
modIDs = table: 0x2212d5f8 {SANNYO:true}
processDirectory = Lua function '?' (defined at line 6107 of chunk main.lua)
keyset = table: 0x21c22c48 {1:0}
(for generator) = C function: builtin#6
(for state) = table: 0x21c22c48 {1:0}
(for control) = number: 1
_ = number: 1
priority = number: 0
(for generator) = C function: builtin#6
(for state) = table: 0x2212e278 {1:table: 0x2212e2c0}
(for control) = number: 1
_ = number: 1
v = table: 0x2212e2c0```
I'm not that good with steamodded, but do you have the latest version (1.0.0)?
ah, that might be it, its 0.9.8
the wiki made it seem like they were identical methods
ive git bashed before so its not trouble
it crashed still
Local variables:
msg = string: "main.lua:4145: Failed to collect file data for Atlas sann_sannyoatlas"
(*temporary) = Lua function '?' (defined at line 6481 of chunk main.lua)
(*temporary) = string: "Oops! The game crashed\```
Maybe your image assets aren't saved in the right place?
you have to save them into two places right? 1x and 2x?
There needs to be a 1x version in assets/1x and another 2x version in assets/2x
2x needs to be twice the size
yeah I believe 0.9.8 doesn't even support Atlas?
the API was changed significantly from 0.9.8, which had Sprite instead
as for the docs, as it says on the main page for it, the numbered pages are for 1.0, the rest is for 0.9.8
there's also some decent examples at example_mods/Mods
good! i was wondering if there was example files on the wiki
which I believe were all updated to match 1.0.0
the github wiki is comprehensive, which is nice, but also its a bit over my head lol
oh it actually isn't comprehensive, a lot of it is still missing or WIP
more comprehensive than some wikis ive worked with
something that really tripped me up was pos lmao
hmmm. wonder why this isnt displaying correctly
should just be $8
i have it in the file as {C:money}$#8#{} and afaik that should be right
I think it's $8 if you want it to be static, or $#[arg index]# if you want it to be variable
ah, that makes sense. the 1 in 1 in 2 can change but the money shouldnt, that is actually really clear lol
you can take a look at en-us.lua for how it's done in the base game
you probably do want it to be a variable though, in case you change your mind on the payout - only 1 place to modify => less chances for mistakes
right, i gotta look into actually how to make the card work more, thank you!
good luck! 🙃
1 in 3 sounds balanced
You can also make the number a variable in case you decide to rebalance the card and you do not want to change every localization manually
im not exactly sure how that works
fixes.toml does a couple of things, including being able to launch balatro when steam is not running
instead giving the Do you have Steam turned on? message
in other words, if you get that message, you shouldn't be able to launch unmodded balatro
does that make sense?
well yes but where do i put it
I think you misunderstand - if you see that message, you already have it
i tried a few thinigs but balatro just ran without lovely
i see
it's just warning you that balatro couldn't connect to steam
normally balatro automatically exits (piracy prevention), but this circumvents that
(which I guess might technically fall under piracy? 🤔)
in any case, you might not get steam achievements etc, but if you have steam running while launching it should no longer give that message
well
i did have steam running and it still gave me that message so im not sure how that works
well i figured out the issue
my steamodded was missing the lovely folder
i probably accidentally deleted it
try restarting pc
I'm sure this question gets asked quite frequently, but is there a guide available to someone that wishes to mod their balatro game for the first time? Its possible I didn't look hard enough but I couldn't find a guide on this server.
Just install them. Is this channel for making mods only? If so I apologize
No you are in the right place
Okay awesome. I assume the modding process isn't as simple as download the github files and loading up the game, right?
Well, almost
I just have the game downloaded right now. Nothing else
Most mods use Steamodded which is basically a mod that helps make mods
Okay interesting
There’s 0.9.8 which is the latest release and 1.0.0 which is in alpha
Recently there’s been some backwards compatibility support between them but it’s not guaranteed
So if you have a specific mod in mind, see what version it’s for
Either way, you’ll probably need to install lovely, use lovely to install Steamodded (or just have it around; depends on the version I think), then install the mod you want
It's mostly simple, you download, extract, and you put the files into where they belong.
Individual mods may have unique requirements and details but you can ask until you encountered them
There are more specific installation instructions
But again it depends on the version
youre gonna need steamodded first
you can just search for it
there are 2 different versions but it depends on the mods you wanna get
With Bunco I'll recommend you use 1.0.0
It has 0.9.8 version but it's not maintained
windows defender really does not like lovely huh
WD moment
if i mod just visual content can i still get achievements?
steamodded disables achievements by default, regardless of mods used
you'll need to use the achievement reenabler mod
I got this fun idea for pins that go on jokers, permanent enhancements like editions but with more specific and interesting effects while being weaker than enhancements. I proceeded to concept 25 of them because why have a sanity when you can suffer.
These are probably going to go in an enhancement mod im currently concepting
they probably nuke the sell price because nobody's willing to have a joker with a hole in it :(
actually half joker exists i don't think they'll mind
what if balatro but the math is wrong ("one of our developers thought the addition was wrong so he wrote his own addition function. enjoy")
is there a mod that lets me skip entirely the scoring?
the x999 isnt enough for what im doing
There is Talisman mod
But it isn't 100% instant when it gets to thousands of retriggers
This is the best you can get tho as far as I know
if its quicker than nepeus it should be good
hmm well i just installed talisman and it seems i added too many blueprints cause it crashes as soon as i start blind
maybe its a different issue tho
yea works fine now, it was the score preview
In settings - spectral pack - Talisman
There should be a setting for scoring, I forgot what it is
Not animation, the 2nd one
I think if you disable that it should be compatible with score preview (but not 100% sure)
You gotta restart game tho
ok, ty
windows now blocks ALL versions of version.dll it WILL NOT COOPERATE
just add an exception in windows defender
we have a serious problem
huh?
the last time it was scanned there was only 1 of 67 now its 17 of 67
yeah they all started flagging it, which has been causing issues recently
do you think its really dangerous?
more accurately its a false positive
it being flagged is to be expected, since it can be used maliciously - by itself it won't do any harm to your system
viruses inject into programs to keep themselves around
yea
you can confirm that yourself given it's open source, and so are any mods you install
its not directly malicious but if there's someone determined enough they could make a malicious mod
yea, well windows wont even let me install it
you should make sure the mods you install can be trusted though and refrain from using mods from sketchy places
there's a couple exe replacement mods on nexus for example, these are pirated and could easily have malware snuck in
it doesnt even show the virus in my security panel, it just wont let me
alright here's what you can do
open windows defender and enter the "Virus & threat protection" tab
Click "Manage settings"
function Blind:debuff_card(card)
-- Shuffle function
local function shuffle(t)
local n = #t
for i = n, 2, -1 do
local j = love.math.random(1, i)
t[i], t[j] = t[j], t[i]
end
end
self.debuff_count = self.debuff_count or 0
self.debuff_attempted = self.debuff_attempted or false
if not reset and not self.disabled and not self.debuff_attempted then
if self:get_type() == 'Boss' and card.area ~= G.jokers then
-- Gather all cards into a single list
local all_cards = {}
for _, playing_card in ipairs(G.playing_cards) do
if playing_card.area ~= G.jokers then
table.insert(all_cards, playing_card)
end
end
-- Shuffle the list of all cards
shuffle(all_cards)
-- Debuff the first 13 cards from the shuffled list
for _, playing_card in ipairs(all_cards) do
if not playing_card.debuff then
playing_card:set_debuff(true)
table.insert(self.debuff, playing_card.base.id)
self.debuff_count = self.debuff_count + 1
if self.debuff_count >= 13 then
self.debuff_attempted = true
break
end
end
end
end
end`
end
trying to store chosen cards in the table self.debuff so it gets a save state.
but after exit to main menu and enter game again, the 13 debuffed cards are always different! its not remembering the debuffed cards, anyone can help?
Scroll down and click "Add or remove exclusions"
it DOESNT show it in my windows security manager
The game recreates cards whenever it loads a save file
here ill make a very short video
You can’t save card references by saving the cards
from there, add the folder of your Balatro installation as an exception (should be C:\Program Files (x86)\Steam\steamapps\common\Balatro)
so when original blinds debuffs entire suits, the game just call the debuff suit of the blind instead of sasving the state, because they are the same cards always, a specific suit?
I heard cards have two unique identifiers but Idk exactly (one might be inherited from Nodes)
but why save and load methods have this then?
function Blind:save()
local blindTable = {
name = self.name,
dollars = self.dollars,
debuff = self.debuff,
self.debuff = blindTable.debuff`
I think more than that, only Blinds debuff cards, so it just removes the debuff from everything
don't use love.math.random
it's inconsistent even on the same seed
only math.random then?
I think Blind.debuff is a function but I’m not sure
see? it dont work
balatro comes with a pseudorandom function you should use
you'll see it a few times looking through the source code
how do i fix that?
i use it for flips actually
function Blind:stay_flipped(area, card)
> if not self.disabled then
> if area == G.hand then
> if self:get_type() == 'Boss' and pseudorandom(pseudoseed('wheel')) < G.GAME.probabilities.normal/26 then
> return true
> end
> end
> end
> end`
try using firefox
ill try chrome first
Also if you’re using Steamodded you can just define those functions in your Blind object
No need to redefine the original functions or hook them
just quick testing, thats why
doesn't matter if it's edge, chrome, opera or something else
so guys, there is no base way of saving the chosen debuffs from my custom debuff_card method?
i still dont understand why there are save and load methods that handle debuffs then
that's more so for static debuff rules
just using pseudorandom should be fine, since it will choose the same cards again on the same seed
OH. lemme test that then
You can set a variable in the cards, or try to use the unique identifiers I mentioned
still doesnt work. i give up.
wait, but you mean i should give up the fisher yates algorithm?
have you tried firefox??
i want the approach to be the less invasive as possible
yes, but windows wont let me move its directory once i have it. no flags in security once again.
Try disabling real-time protection momentarily
@lean dune can you quick show me how to modify the method to properly use the pseudorandom? i used the math.random because i was unable to debuff different cards when resetting the game or starting a new run. the cards debuffed would be the same unitl i closed the game and reopened
in any case how to handle restarts or losing the game
Again you can track which cards in different ways
for starters, try just replacing love.math.random(1,i) in your shuffle algorithm by pseudorandom('debuff13', 1, i)
it downloads to C:\users\ [your name]\downloads. but i need it to move to C:\Program files X86\steam\steamapps\common\balatro. but it wont let me
doesnt work
Did you redownload?
windows is really dam mad at me.
wont work. cant move the file
I’m not asking you to move
Also add exceptions in here for C:\Program Files (x86)\Steam\steamapps\common\Balatro and C:\Users\<name>\Downloads
I’m asking you if you downloaded and have the file around
oh my god that WORKS!, but here then we are still using the fisher yates shuffle algorithm right
i said the FILE wont move
I heard you but that’s not what I asked :<
there's also a pseudorandom_element function, you can use that to get a random playing card directly
that approach gets inefficient at low deck sizes or when a lot of cards are already debuffed though
Or pseudorandom_shuffle to get multiple random cards directly
that doesn't exist, does it?
it's pseudoshuffle
Is the file still in your downloads?
yup
I had a similar issue
But Windows was deleting the file
So when I tried to move it didn’t exist
do you have this?
It stopped deleting it when I disabled Windows Defender
also sry forgot to turn of my music
But if the file is still there I’m not sure
sorry which one is better pseudoshuffle , pseudorandom_element or this im using?
local j = pseudorandom('debuff13', 1, i)
Did you whitelist the downloads folder individually?
yup. just wont move
what i dont understand is how this :
local j = pseudorandom('debuff13', 1, i)
gets same results betwee save games but if the seed is the same on restarts it chooses other cards.
so i give up.
can you eli5 it for me
its fine.
It depends what you’re trying to do I guess. I haven’t thought much about efficiency: I just use pseudoshuffle to get lists of multiple different random cards
they're essentially the same thing, since that will also use the same algorithm internally
didnt need mods on balatro anyway
Can’t you turn off Windows Defender?
not really
please tell me you've at least tried this
I can't tell if you've just been ignoring me
It will be the same if and only if G.playing_cards is in the same order
so you may need to sort if first for it to be consistent
quick question. when making the asset images, how do you save them at x2 size without losing quality? i use photoshop
blud won't even respond 💀
i have. i give up.
m
any way to avoid being the same EVER?
https://github.com/MathIsFun0/Cryptid/blob/main/assets/2x/resize.py you can use this python script to do it automatically
you'd want it to be the same on the same seed though?
as well as within the same run for the same action
Try adding this before the shuffle table.sort(G.playing_cards, function (a, b) return a.playing_card > b.playing_card end )
What i want is:
- if its the same game save, then if close game, reopen, or go to main menu as long games doesnt end by any means, to be the same when loading it.
- i dont want the debuff cards to be the same when i reset the game, loss, win, start a new game, or computer explodes and reinstall windows and install balatro again (lol)
you have 2 already
you don't have 1, probably because G.playing_cards is out of order each time
if that's the case, sorting it first should solve that
currently, if i close the game, reopen it, or exit to main menu, and hit " continue" the cards remains the same debuff . you mean that if i play a hand , exit, game, then hit continue again, the debuffs will be others?
yep, i played a hand, exited to main menu, hit continue and now i have 26 debuffs.. i dont see the end of thisss
that might be due to how you're completely overriding the function
sorting should solve the part where it's different on the same seed on different runs
Blind:debuff_card() also has to make sure previously debuffed cards are undebuffed, and you're removing that functionality
what part is that exactly here?
function Blind:debuff_card(card, from_blind)
if self.debuff and not self.disabled and card.area ~= G.jokers then
if self.debuff.suit and card:is_suit(self.debuff.suit, true) then
card:set_debuff(true)
return
end
if self.debuff.is_face =='face' and card:is_face(true) then
card:set_debuff(true)
return
end
if self.name == 'The Pillar' and card.ability.played_this_ante then
card:set_debuff(true)
return
end
if self.debuff.value and self.debuff.value == card.base.value then
card:set_debuff(true)
return
end
if self.debuff.nominal and self.debuff.nominal == card.base.nominal then
card:set_debuff(true)
return
end
end
if self.name == 'Crimson Heart' and not self.disabled and card.area == G.jokers then
return
end
if self.name == 'Verdant Leaf' and not self.disabled and card.area ~= G.jokers then card:set_debuff(true); return end
card:set_debuff(false)
end`
thats the original code
the last line, card:set_debuff(false)
function Blind:debuff_card(card)
-- Shuffle function
local function shuffle(t)
local n = #t
for i = n, 2, -1 do
local j = pseudorandom('debuff13', 1, i)
t[i], t[j] = t[j], t[i]
end
end
self.debuff_count = self.debuff_count or 0
self.debuff_attempted = self.debuff_attempted or false
if not reset and not self.disabled and not self.debuff_attempted then
if self:get_type() == 'Boss' and card.area ~= G.jokers then
-- Gather all cards into a single list
local all_cards = {}
for _, playing_card in ipairs(G.playing_cards) do
if playing_card.area ~= G.jokers then
table.insert(all_cards, playing_card)
end
end
-- Shuffle the list of all cards
shuffle(all_cards)
-- Debuff the first 13 cards from the shuffled list
for _, playing_card in ipairs(all_cards) do
if not playing_card.debuff then
playing_card:set_debuff(true)
self.debuff_count = self.debuff_count + 1
if self.debuff_count >= 13 then
self.debuff_attempted = true
break
end
end
end
end
end
card:set_debuff(false)
end`
added it at the end, but new debuffs come after playing a hand or so.
The one you sent here goes from 2x to 1x lol
maybe the shuffle should be inside the first condition?
and leave outside the set_debuff(false)
oops, mb
I have them set up so if you have python you can just drag and drop the files to resize
admittedly that function is a bit awkward to use that way
I feel like use the Steamodded Blind constructor would make your life easier
it gets called for each card, which is not how your debuff operates
this is as far as my knowledges of lua gets. any further help greatly appreciated , even more so if you think im close to a solution here, spend many hours on this and its frustrating!
how does the pseudorandom call work? is it just based off of the jokers key?
No it just takes a seed
Usually thunk uses the Joker’s name or key or whatever just to make it unique
It depends on how you want your seeding to work
i dont know if im using the function incorrectly
it says that its not closed, but as far as i can tell it should be
calc_dollar_bonus = function(self)
if pseudorandom('donation') < G.GAME.probabilities.normal/2
then
local bonus = self.config.extra.money
return bonus end
else
end
end```
calc_dollar_bonus = function(self)
if pseudorandom('donation') < G.GAME.probabilities.normal/2 then
local bonus = self.config.extra.money
return bonus
else
end
end
well, it does work, but it seems like its activating 100% of the time
well now it just didnt
lol
thanks balat luck
how can i get the description to change when using all sixes?
You need to use loc_vars
i do have a loc_vars, with the chance as an argument, though it still doest change
i think all sixes DOES work with it, but the text doesnt change
In your loc_txt have you used #1# for the number that should change?
You don’t need the else
yes
text = {'{C:green}#1# in 2{} chance to gain',
'{C:money}$#2#{} when round ends'}```
Are you inputting G.GAME.probabilities.normal?
yes
here's the whole thing
SMODS.Joker { -- Donation Box
key = 'donation',
loc_txt = {
name = 'Donation Box',
text = {'{C:green}#1# in 2{} chance to gain',
'{C:money}$#2#{} when round ends'}
},
config = {extra = {chance = 1, money = 6}},
rarity = 2,
pos = {x = 0,y = 0},
atlas = 'sannyoatlas',
cost = 5,
unlocked = true,
discovered = true,
blueprint_compat = false,
loc_vars = function(self, info_queue, card)
return {vars = {card.ability.extra.chance, card.ability.extra.money, G.GAME.probabilities.normal}}
end,
calc_dollar_bonus = function(self)
if pseudorandom('donation') < G.GAME.probabilities.normal/2
then
local bonus = self.config.extra.money
return bonus
else
end
end
}```
So your first value is always 1
First variable isn’t G.GAME.probabilities.normal
You want it to be the game probabilities one, right?
just keeps getting worse and worse guys.
ah, alright
does that mean i wouldnt need the chance variable?
Yes
yeah, that works! thank you!
oof
I don't think there's anything we can do about that
we have got to try to make a new LUA tool.
well if it destroys our computers, then i think its time to fix it.
a modding tool that modifies a running process getting flagged as a trojan is to be expected simply because it acts like one
bruh
as I've told you, by itself it's safe - you can confirm this because it is literally open source
@lean dune i tried this in Card:set_base and Card:set_ability and now no card is debuffed..:
if not initial then
if self.debuff_attempted == false then
G.GAME.blind:debuff_card(self)
end
end
even set a flag here?
function Blind:set_blind(blind, reset, silent)
if not reset then
self.config.blind = blind or {}
self.name = blind and blind.name or ''
self.dollars = blind and blind.dollars or 0
self.sound_pings = self.dollars + 2
if G.GAME.modifiers.no_blind_reward and G.GAME.modifiers.no_blind_reward[self:get_type()] then self.dollars = 0 end
self.debuff = blind and blind.debuff or {}
self.pos = blind and blind.pos
self.mult = blind and blind.mult or 0
self.disabled = false
self.discards_sub = nil
self.hands_sub = nil
self.boss = blind and not not blind.boss
self.blind_set = false
self.triggered = nil
self.prepped = true
self:set_text()
self.debuff_attempted = false`
then what could this virus be: Trojan.Lazy.D8A49C
Lovely does what a Trojan does - less obviously so than the old steamodded injectors (it doesn't directly modify the executable, but the running process), but it allows arbitrarily changing the code the game is running on
which is perfect for everyone's modding needs, but it very much does act like a Trojan would, which is why it's flagged
it is however not malware, given it does exactly what it's meant to do in what it's doing
Trojan:Win32/Lazy is a backdoor for hackers to steal data. how do u explain dat?
it's a false positive
if it does modify code then how come it has a back door likr this? i mean i can understand the others but not this one
