#💻・modding-dev

1 messages · Page 218 of 1

waxen mesa
turbid maple
#

I have finally stitched together a shitty solution to render a custom love2d texture as sprite of a joker now I can do stupid things

red flower
halcyon osprey
#

I want my joker to dissapear when you press the cashout button

red flower
turbid maple
#

is end of round not sufficient do you need it to be after cashout

halcyon osprey
#

For visual sakes, i want to press the cashout button

#

right now i have it like this, which didnt work

turbid maple
#

feels like you'd need to patch in a custom context for that

waxen mesa
#

i assume like this, still does crash

halcyon osprey
#

i mean i can make it dissapear in the cashout screen but it looked weird

manic rune
#

send in the 98%.

hushed briar
#

anyone happen to know how to force blind score requirements to update on the blind selection screen? i have an effect that can change the ante on that screen but the score requirements dont update until you enter the blind

waxen mesa
red flower
#

what's the code

waxen mesa
red flower
#

oh it's not descriptions, it's text

#

these i mean

tepid crow
#

also a table of strings instead of a string I believe

red flower
halcyon osprey
#

So how do i Fix up Blueprint shenanigans?

waxen mesa
#

how the heck did i came to descriptions lol

halcyon osprey
#

because a bunch of my jokers, Work with blueprint, but its a bit buggy

manic rune
#

probablyyyy because of the "not context.blueprint" preventing some effects from being able to be copied?

#

just taking a guess ❤️

halcyon osprey
#

i dont have any blueprint context

#

all i have is blueprint_compact = true

#

and it does things kinda

manic rune
waxen mesa
waxen mesa
tepid crow
#

so it's all good now?

halcyon osprey
#

Just its a lil messed up with some of my jokers

waxen mesa
#

Probably because I mostly searched "what do I have to put into localisation" in the other object types

waxen mesa
halcyon osprey
#

so i assume its context.blueprint and not.context.blueprint?

manic rune
#

having "not context.blueprint" in your if statement will prevent blueprints from being able to copy the effects inside it

#

soo manually adding context.blueprint shouldnt do anything, pretty sure

red flower
#

adding it makes it only work when it's being copied

waxen mesa
#

doesnt look complicated, but where do i find out what number does what color?

halcyon osprey
#

its namely things with messages and such

glad osprey
manic rune
#

you can just check it in balatro's code...

manic rune
#

oh wait, is that in smods

glad osprey
#

yes

red flower
#

no

manic rune
#

i see SMODS down there

glad osprey
#

the pseudo is i think

manic rune
red flower
#

smods patches it but the other ones are vanilla

waxen mesa
glad osprey
#

well still that needs to be pinned

red flower
#

I should learn how to make a vscode extension for it

glad osprey
#

I would be greatly appriative if you did that

#

(i would owe you my first and second born child)

manic rune
#

appriative :3

glad osprey
manic rune
#

:(

glad osprey
#

:)

manic rune
#

mean

waxen mesa
#

XD

glad osprey
# manic rune mean

friend: "hey what's that word for finding the average of a set of numbers?"
me:

manic rune
#

i will turn you into a common joker.

glad osprey
#

do it

#

make me a joker

manic rune
#

draw me a sheep

glad osprey
#

sand me a man

manic rune
#

wha

glad osprey
#

hit on the 7th beat

tall perch
glad osprey
#

what the fuck is your status

#

the last part

manic rune
#

🚋 gender

tall perch
#

Mrow

glad osprey
#

ah

tall perch
#

cant help it sorry

glad osprey
#

understandable

manic rune
#

justified reaction

glad osprey
#

anyways SOMEONE PLEASE HELP ME WITH MY DECK RENDER PLEASE

tall perch
#

reasonable response

glad osprey
#

I wanna have a deck that renders with multiple layers like a legendary

manic rune
#

oh, so decks with souls?

glad osprey
#

it renders like a soul yes

manic rune
#

i havent worked on decks before so good luck :3

glad osprey
manic rune
#

baron

glad osprey
#

I'm trying to make the card on a different layer but nothing I've done works

#

unless I load the mod with cryptid for some reason

manic rune
#

you could make cryptid mandatory to load your rmod ❤️

glad osprey
#

rmod

#

:3

manic rune
#

dsghghhh

#

i shall crash out

glad osprey
#

no

#

you help me first

manic rune
#

cant help with decks sorry

#

:3

glad osprey
#

it's not really helping with a deck just the rendering of the deck

manic rune
#

-# the fact you are struggling so much with decks actually makes me worried about making one now

glad osprey
#

ITS NOT AN ISSUE WITH THE DECK GODDAMIT

#

THE DECK WORKS PERFECTLY FINE

manic rune
#

:3

glad osprey
#

ITS JUST GETTING IT TO RENDER IN MULTIPLE LAYERS IS THE ISSUE

dim lynx
#

Inside voices

manic rune
#

i dont know how to do that 😭

#

im bad at uis

#

i think you can ask the ui men, 🧙 and N' for help with that

glad osprey
dim lynx
#

Big house huh

glad osprey
#

no I'm just very loud

manic rune
#

apollo justice

red flower
manic rune
#

oof

red flower
#

i mean i would just look at the code with how cards do it and apply it to the top card of the deck probably

crisp coral
#

Cryptid implements floating sprite 2 for the extra layer

manic rune
#

censoring drake is crazy 😭 (he deserves it)

glad osprey
#

I have no clue what I'm doing with drawstep tho

crisp coral
#

insert read the fucking docs gif

glad osprey
#

I HAVR

#

IT DOESNF EXLAPIN SHOT

glad osprey
#

GRAHHHHHH

manic rune
#

and thus, it has been summoned

stuck seal
#

Time to read the source code!

sturdy compass
crisp coral
#

its in the file mentioned in the page

stuck seal
#

Use the examples given on the github, they usually explain a lot more by actually coding stuff

glad osprey
glad osprey
manic rune
#

im actually really good at that mechanic in rhythm doctor 😭

#

thanks for that :3

glad osprey
#

fuck you .5 tick oneshots

stuck seal
glad osprey
#

where am I supposed to look

glad osprey
#

smods or balatros

crisp coral
#

wait im not in medical floor

stuck seal
manic rune
#

dj guy mechanic, i forgot the name 😭

glad osprey
#

also it just doesn't work for decks which I have zero clue why

#

then again I am a bit silly

crisp coral
#

oh right decks aren't cards

#

lmao

stuck seal
crisp coral
#

actually is card.children.back a thing

stuck seal
red flower
#

card.children.back is the card back yes

crisp coral
#

then... card. children.back.children.floating_sprite????

wintry solar
#

Planned for a future update along with locked sprites

rapid stag
bold sleet
glad osprey
#

one person here was also in the rd discord

crisp coral
#

who

manic rune
glad osprey
manic rune
#

:3

#

i hate when my pc got a notification then the key just decided to not register at all

gilded blaze
#

how do I modify booster pack slots
I could learn Cryptid's way but it would take too long

#

my third deck choice (wip but almost finished) has +1 booster pack slot

old bane
#

for a second i thought you were talking about inside a booster pack but you mean how many booster packs are in the shop

manic rune
#

first filled page......

#

it looks so beautiful

#

❤️

old bane
#

do i have to declare draw steps in order

#

cause i keep on getting errors that say "attempted to index a nil field" even though I literally defined the step rightt here

glad osprey
manic rune
#

its placeholder sprites 😭

glad osprey
pale temple
#

how can you do this

#

is this even possible

#

💀

manic rune
#

what does H, L mean

pale temple
#

holo, lucky

stuck seal
pale temple
#

basically every ability in that card

manic rune
#

...isnt that just dna's code

#

very much possible if thats the case

pale temple
#

no i want it to work like blueprint

red flower
#

without converting seems hard, maybe just converting temporarily

manic rune
#

oh wait

#

ohhhh, so you mean that the K works as if its a holo and lucky card?

pale temple
#

yeah

manic rune
#

you could do like what N' said, temporarily converting its enhancement and edition to the left card for the played hand and changes it back afterwards

#

that will save a lot of time

pale temple
#

can you do that without changing its appearance

manic rune
#

uhhhhhhhhhhhhh

#

@red flower (sorry for pinging beforehand 😭), what happens if you change the card's edition key directly, like card.edition.key = "e_negative", does it also change its appearance

red flower
#

no idea

manic rune
#

lemme experiment rq

azure flower
#

hey idk if this is the right chat to ask in but
Im trying to import the edited card art i made back into balatro (via 7zip) but it wont let me and says
"A file cant be created if it already exists"
and like
idk why that happens- i just wanna import my silly card art :c

manic rune
#

that would change the appearance of the card

stuck seal
manic rune
#

im wondering if you can change the card's edition for calculation to work with, without changing the card's appearance

hushed field
stuck seal
azure flower
manic rune
#

hm

stuck seal
#

Js make sure to get rid of the original or put it somewhere else

manic rune
#

am i silly for making random ass functions like this :3

stuck seal
#

So no rush

azure flower
#

alright thank u <3

stuck seal
#

You're welcome <3

old bane
#

help my boss blind no worky for whatever reason

azure flower
#

still thank u sm tho :3

stuck seal
manic rune
old bane
#

yeah idk

#

are there context.cardarea in boss blinds lmao

stuck seal
long urchin
#

what do i do :?

manic rune
#

this is what i did to debuff jokers

#

but uh, it explictly checks if the card is in the Joker set, so if for example, something that is from a different set like Consumables get into there then they wont be debuffed

long urchin
#

i dont see what i did wrong can someone help :(

zealous glen
old bane
pale temple
manic rune
manic rune
#

they wanted to make it so that a playing card can copy the enhancements and editions of the left one, without changing its appearance i think

zealous glen
old bane
zealous glen
#

But I think a way to do everything is to create a copy of the card offscreen, then use the copy to calculate, except put the messages on the King

manic rune
#

oh, thats certainly a way

old bane
#

still causes issues wth

red flower
#

what's the code

long urchin
old bane
#

this is the code that crashes apparentyl

#

this is the boss blind

red flower
#

hard to know without knowing what the variables are

manic rune
#

...oh actually, dont you need loc_txt?

old bane
#

i have a localization file

manic rune
#

oh

#

hm

stuck seal
azure flower
manic rune
old bane
stuck seal
manic rune
#

but my jokers.lua already surpassed that :3

red flower
manic rune
#

i think its a good practice to just ctrl + c the crash log and paste it here

long urchin
manic rune
#

its easier to debug that way

old bane
#

idk how long it is so im just posting the txt

#

either way you can see it

stuck seal
manic rune
manic rune
#

it will load the file :D

old bane
#

or this:

local path = SMODS.current_mod.path..'src/'
for _,v in pairs(NFS.getDirectoryItems(path)) do
    assert(SMODS.load_file('src/'..v))()
end

so you can load multiple files from the src folder

manic rune
#

oh crap i swore

old bane
#

ogh noooos

red flower
old bane
#

true

stuck seal
long urchin
#

I've been trying to work on mine but the smods api for custom cards is impossible to understand

red flower
manic rune
#

i actually like doing this more, it gives me more control over the ordering stuff :3

old bane
#

but also where's the person who implemented like at least four boss blinds into their mod i wanna know how they did it

#

cause idk what is causing the issue

manic rune
#

thats

#

not very helpful at all, a lot of mods do that 😭

#

but maybe aikoyori is your person?

stuck seal
manic rune
#

its all good :D

old bane
#

assert makes it so that if there are errors the game doesn't just sweep them under the rug

old bane
#

exactly

red flower
# old bane

oh are you making a blind that's not a boss?

stuck seal
#

Is there a main function so to speak in smods? Because so far I haven't found anything of the like

manic rune
old bane
#

not a showdown

#

but also not a regular blind

stuck seal
manic rune
#

i dont know how to speak english :(

stuck seal
pale temple
#

eitherthat or i haven't read the api much

azure flower
red flower
manic rune
#

since it wont have any place to be rendered

stuck seal
manic rune
#

main function?

stuck seal
red flower
manic rune
#

😭

old bane
long urchin
manic rune
red flower
#

i never use cryptid as a base because they always have some code somewhere else that makes it actually work

old bane
#

ye

manic rune
#

a lot of lovely patches

long urchin
#

that may be my problem lol

old bane
#

if i do this tho it just crashes :(

long urchin
#

i used another card reskin as a base but like it seems i just am missing something

#

but like theres only 4 files in the entire mod - the two images, the lua, and the json

stuck seal
pale temple
#

ok yeah the whole idea is this

manic rune
#

you can just put that in main.lua

azure flower
stuck seal
manic rune
#

if i had to explain it in simple terms,

what SMODS.load_file does is just putting all the code from that file into main.lua

stuck seal
old bane
#

DEATH COMES UPON YE

gritty horizon
#

Is there a good tutorial for getting started making mods somewhere, couldn't find it in pins or anywhere else?

manic rune
#

goddamn it, wait

red flower
#

bepis do ur thing

pale temple
manic rune
# gritty horizon Is there a good tutorial for getting started making mods somewhere, couldn't fin...

https://github.com/Steamodded/smods/wiki/Your-First-Mod
this should give you some instructions
https://www.youtube.com/watch?v=Zp-4U5TlbxY&t=7s
the video is a bit oudated, but generally does well at telling you what to do
https://github.com/Steamodded/examples/blob/master/Mods/EditionExamples/EditionExamples.lua
its a good practice to check out the example mods, as well as other mods too for reference
https://github.com/Steamodded/smods/wiki/calculate_functions
on top of that, remember to read the documentation

GitHub

A Balatro Modding Framework. Contribute to Steamodded/smods development by creating an account on GitHub.

STEAMODDED 1.0.0
A tutorial on how to make a modded Joker.

https://github.com/art-muncher/Example-Mod -- EXAMPLE MOD
https://github.com/Steamopollys/Steamodded -- STEAMODDED
https://github.com/WilsontheWolf/DebugPlus -- DEBUGPLUS
-----------------------------------------------------...

▶ Play video
GitHub

Steamodded example mods. Contribute to Steamodded/examples development by creating an account on GitHub.

GitHub

A Balatro Modding Framework. Contribute to Steamodded/smods development by creating an account on GitHub.

stuck seal
gritty horizon
#

thank you

manic rune
#

no problem :D

manic rune
#

(i really should start making some tutorial videos on better calc lol)

#

actually

#

should i specify that in the video, and in calculate, they called cards "center"?

red flower
#

maybe

manic rune
#

thats how i got the terms all mixed up when i first started 💀

red flower
#

i know what a center is but i dont know why it's called that

stuck seal
manic rune
#

hence, this

#

😭

stuck seal
#

I really appreciate the help here from ya'll, thanks

manic rune
dire palm
#

So, I know that I can show the definition of Negative next to the description of my joker by using

        info_queue[#info_queue+1] = G.P_CENTERS.e_negative --adds "Negative"'s description next to this card's description
    end,```
But this is the one that says `+1 Joker Slot`. How can I get the Negative definition that says `+1 hand size`?
pale temple
#

ok i lookedf at blueprint's code and maybe there's a way to calculate the card to the target

#

copium

manic rune
#

im pretty sure thats only for jokers, unfortunately

stuck seal
red flower
#

i think

pale temple
long urchin
#

does anyone know how to use the steammodded custom deck reskin api?

pale temple
#

yeah im out of ideas yeh maybe i'll pass on this jonkler for now

#

(i barely know lua apart from that one time i messed with roblox studio)

long urchin
#

im trying to make a friends of jimbo deck but theres something wrong with my mod and the website isnt really helping i dont think

manic rune
#
  • this community being extremely helpful too :3
old bane
# old bane

i still keep getting crashes >_< i think i know what's going on but it might have to do with source code nonsense that i don't really wanna discuss here at all

#

but idk why it would cause issues when clearly it hasn't caused issues for vanilla blinds

manic rune
#

😭

stuck seal
#

Thank you @manic rune and @red flower I got it to work

manic rune
#

nice :D

stuck seal
#

Although I am likely not making many additions, so I'll keep me files to a minimum

pale temple
#

this feels more feasible

manic rune
#

i dont think the [Drag to rearrange] is necessary, but yeah

long urchin
#

i like that

pale temple
manic rune
#

oh i see

pale temple
manic rune
#

🔥

pale temple
#

basically a free death every round

#

this one wont be as complicated as the copy ability thing i just need to get the hang of the api lol

long urchin
#

can someone help with my situation please

manic rune
#

i dont know about decks, sorry :(

long urchin
#

its not making a custom deck its card reskins

#

like the friends of jimbo stuff

manic rune
#

-# the same goes with that 😭

long urchin
#

lol

#

alr sorry

manic rune
#

no its fine, i kinda misremembered your question as decks

glad osprey
long urchin
#

its basically a death each round

manic rune
#

decided to uhhh rework this thingy

#

probably looks cleaner now ❤️

#

and i can still manually change the ordering

old bane
#

bepis how did you do blinds

#

im genuinely struggling here

#

idk why my code isn't working

manic rune
#

its a simple one

#

i will be honest, i dont know what you are doing wrong too 😭

old bane
#

because i've done my blind so similarly to other blind

manic rune
#
SMODS.Blind{
    key = 'Test',
    loc_txt = {
       name = 'YOU ARE FUCKEDDDDDD',
       text = {
          'All Jokers are debuffed.'
       }
    },
    dollars = 5,
    mult = 0.1,
    boss_colour = HEX('C8831B'),
    boss = {min = 10, max = 10, showdown = true},
 
    recalc_debuff = function(self,card,from_blind)
       if card.ability.set == 'Joker' then return true end
    end
}
#

heres my blind's code

#

(does this count as swearing)

old bane
#

idk

manic rune
#

can you try pasting allat in place of your blind

#

to see if it works

#

if it still doesnt work then its probably smods changing how blinds are implemented (unlikely) at this point

old bane
#

so it's not just me

#

cause that crashed too

manic rune
#

💀

old bane
#

maybe i need to update again

manic rune
#

maybeee update your smods?

old bane
#

my smods

manic rune
#

my smods version is also ancient lmfao

long urchin
#

I FIGURED IT OUT

#

i jsut

manic rune
long urchin
#

used a different mod lol

stuck seal
manic rune
stuck seal
manic rune
#

in fact, im debuffing ALL ui buttons

#

so you cant even press anything

old bane
#

okay there we go
(ignore the chip, i need to make art again)

hushed field
#

your debuffing buttons? I didn't even know that was an option

manic rune
#

it isnt, but you can probably fuck up the buttons so badly they wont function lol

manic rune
stuck seal
manic rune
#

i love making up words

#

❤️

stuck seal
#

Jesus christ ma guy, gave me a heart attack there

red flower
#

you can hook the button enable function and make them always be disabled

manic rune
#

:3

#

silly idea for a boss blind: reverse the functions of Play Hand and Discard buttons

stuck seal
#

You are evil

#

But what I'm stewing here might also hurt

manic rune
#

wait, i have an even more silly idea:
1/2 to reverse the functions of Play Hand and Discard buttons when each is pressed

stuck seal
#

But for now I need help, what does from_blind in recalc_debuff do?

manic rune
#

so for instance, if you press Play Hand

#

it has 1/2 to discard, and 1/2 to play

#

:3

stuck seal
#

But I like it

stuck seal
#

I challenge you to do it

manic rune
#

im working on a not-so-silly mod sadly 😭

tall wharf
#

i like it

#

but i am stopping myself from adding more blinds

stuck seal
manic rune
#

oh yeah, i forgor

tall wharf
#

putting cruel blinds to shame

stuck seal
manic rune
#

i dont know about blinds that much despite me discussing about them a lot lmfao

tall wharf
stuck seal
manic rune
#

im actually not sure about what from_blind is myself

#

never used it before

tall wharf
#

those are cryptid's

red flower
#

I'm guessing I have to patch this if I want my tag to conserve it's ability table....

#

i hate patching

manic rune
#

not patching...

#

😭

glad osprey
#

um actually the entirety of modding is patching

manic rune
#

what if theres a mod which has NOTHING in main.lua, but all of their jokers are added through lovely patches

tall wharf
manic rune
#

i love that gradient blind (i forgot its name 😭)

tall wharf
#

which one

manic rune
#

its my favorite gradient coincidentally lmfao

tall wharf
#

the arrow or the zigzag

manic rune
#

this one

tall wharf
#

the Expiry

manic rune
#

oh yeah

#

the debuff all consumables one

tall wharf
#

permanently

manic rune
#

yes, gotta emphasize that too

stuck seal
#

Is there a way to get repetition context from within the recalc_debuff?

#

or any context for that matter

tall wharf
#

no

#

blinds don't have calculate function

stuck seal
#

Can I get it from the G object?

manic rune
old bane
#

how do i get the score a hand would make, because I'm trying to make it so that you can't score more than 50% of the required score in the first hand and my current implementation doesn't work >_<

#

(even if i return true it doesn't work)

manic rune
tall wharf
#

@manic rune@manic rune@manic rune IT WORKS

manic rune
#

wha

tall wharf
manic rune
#

what works :0

#

🔥

#

epic

old bane
#

imagine getting screwed over because you decided to play a high card

stuck seal
#

That's amazing

manic rune
#

this is much more lenient than your other blinds honestly 😭

stuck seal
#

the heck

#

How are you guys so talentend TwT

tall wharf
#

i mean

old bane
#

i steal code from other people and then modify it to suit my needs

tall wharf
#

can you read my code

tall wharf
manic rune
tall wharf
#

i am not that talented wtf

manic rune
#

im on my knees aikoyori

stuck seal
stuck seal
manic rune
#

im forever glazing aiko 😭

glad osprey
#

i stg this stupid deck thing is gonna make me put a hole through my desk using my head

old bane
manic rune
#

i have so many quality of life functions in my mod, i might as well make an entirely different file for just them

#

😭

old bane
#

new API incoming

manic rune
#

im still proud of this one the most though

#

i actually didnt know i could pull it off 💀

old bane
#

highkey might start making modules for my mod because i want to keep a certain level of sanctity

#

like i want the base mod to be just color splash

manic rune
old bane
#

but if i wanted to i could make a module that was just ttyd jokers and vadges

tall wharf
frosty dock
manic rune
manic rune
frosty dock
#

I figured as much

manic rune
#

so while people use {s:0.5}aaa, i use {s:0.5}aaa{}

frosty dock
#

not like it matters, the {} just doesn't do anything if there's another control after it

tall wharf
#

ok

manic rune
#

i actually figured out you can do without the {} after i finished that function

tall wharf
#

time to add impostor mechanics

manic rune
#

😭

#

and it just so coincidentally to be the part where i struggled the most to make it work too

red flower
#

i like having {} it's easier to read imo

frosty dock
#

i mean you could just gsub }{ if you wanted to remove them

manic rune
manic rune
frosty dock
#

at the end of a line, I don't mind it

manic rune
#

if i were to remove {}, what would i need to do to achieve the same results

#

im actually a bit confused behind the logic of this

red flower
#

in that case you need it

old bane
#

not for those cases

manic rune
#

oh

old bane
#

more just like

#

if you have a color right after

manic rune
#

yeah i see

old bane
#

i think i might have to have my boss blind require a lovely patch

manic rune
#

not a lovely patch 😭

old bane
#

i dont know if theres any other way to cap the score

manic rune
#

yet again, another niche function 🗣️

old bane
#

table is Unique

#

i wonder if you couldve used a set instead

#

🤔

manic rune
#

this is the entire code without the "c" part lmfao 😭

tall wharf
#

my bosses don't use lovely patches

#

idk

#

at least i don't remember making new ones for it

red flower
#

why did i decide to have colors in their names

tall wharf
#

you can never have what you want

manic rune
#

❤️

tall wharf
#

it's the way of life

manic rune
#

hooking time

red flower
manic rune
#

i guess that works too ❤️

old bane
bold sleet
#

Hello. Is there a way to directly add chips to the chips counter instead of doing it through the bonus chips thing?

old bane
#

yes

manic rune
bold sleet
#

It is 0.4 of blind's requirements.

#

Always.

#

Scales with antes.

#

so uh...

bold sleet
#

wat

tall wharf
#

this is how i hide the default chips

bold sleet
#

^ this dumbass hasn't done a single lovely patch ever and doesn't know how to.

manic rune
#

💀

#

dang.

tall wharf
#

dark mode teto

manic rune
#

noo not teto 😭

tall wharf
#

what is it gonna retrigger dawg

red flower
tall wharf
#

🔥

manic rune
#

@tall wharf the ladder :3

stuck seal
#

I'm still pondering, is there a more universal way to get the game context?

tall wharf
manic rune
#

dang, you beat me 😭

tall wharf
#

context only exists in calculate functions

stuck seal
# red flower wdym

The calculate function passes the context. But can I get it anywhere else?

stuck seal
tall wharf
#

you will have to hook SMODS.calculate_effect

red flower
#

you can get G.STATE or that ^

stuck seal
#

Hook? Wdym?

tall wharf
stuck seal
manic rune
#

😭

#

that looks so goofy, i love it

red flower
stuck seal
#

Lemme have a look...

red flower
#

mods should have their own calculate function

cinder raft
manic rune
#

oh damn?

tall wharf
#

is this runescape

manic rune
#

bro came out of nowhere and produced 🔥...

tall wharf
#

no i actuall dont play runescaep

manic rune
#

(you can actually see my lack of ram causing music to stop mid-way 😭)

manic rune
cinder raft
#

runelatro coming soon

manic rune
#

I FOROGT TO TURN OFF MENTIOSN

#

ghhhhh

#

i hate myself

#

why is it re-enabled so randomly everytime 😭

tall wharf
#

i don't care about pings

#

at least when it comes to replying

manic rune
#

thats good to know :(

tall wharf
#

sure some people care but i could not give less fucks tbh

#

i'

#

uh

long urchin
#

hey im having problems with malverk does anyone know how to debug malverk

tall wharf
#

i'd rather you ping me anyway because i will definitely miss it if you don't

manic rune
#

i want to take extra steps to make sure i dont annoy people i talk to ❤️

stuck seal
#

basically, the reason I am asking to get the game context, is because I need to simulate a joker running (don't even ask) and store it's output table, currently I have:

    local output = card:calculate_joker(G.STATE)
    if output.somevalue then return true end
    return false
end
tall wharf
#

it's ok i annoy myself all the time

#

🔥

manic rune
#

same man 🔥

primal robin
#

Well, time to get back to modding I guess

manic rune
#

it looks nicer that way :D

stuck seal
#

Gotcha

edgy reef
#

Markdown syntax my beloved

primal robin
#

parse_mode: HTML waiting room

stuck seal
sturdy compass
#

Need to figure out how to make a gold-looking edition

manic rune
#

fucked up the logic again, but the randomly selects card looks funny ❤️

stuck seal
#

A more coherent example of my problem:

    local output = card:calculate_joker(G.STATE)
    if output.repetitions then return true end
    return false
end
#

So like, I need a way of knowing if X joker can output X type of value

#

In my case, if it repeats something

long urchin
tall wharf
#

HELP

#

HELP

long urchin
#

heres my files aswell

tall wharf
#

HELP

long urchin
#

what did you do bro??????

manic rune
tall wharf
#

😭

manic rune
wintry solar
stuck seal
manic rune
#

sooo checking if a joker has context.repetitions?

worthy sierra
#

Hey! I'm curious about the process for creating a mod for the game, but I'm not sure where to start. Was hoping to find some pinned messages in here about some modding resources, but alas :(

Are there any tools/videos/documents that describe the mod creation process that someone more knowledgeable can point me towards? Thanks!

wintry solar
#

You need to use post trigger then

manic rune
#

uh, wait

manic rune
# worthy sierra Hey! I'm curious about the process for creating a mod for the game, but I'm not ...

https://github.com/Steamodded/smods/wiki/Your-First-Mod
this should give you some instructions
https://www.youtube.com/watch?v=Zp-4U5TlbxY&t=7s
the video is a bit oudated, but generally does well at telling you what to do
-# (note: there are some parts in the video where they called cards "center". don't do that, it's a bad practice, they are cards)
https://github.com/Steamodded/examples/blob/master/Mods/EditionExamples/EditionExamples.lua
its a good practice to check out the example mods, as well as other mods too for reference
https://github.com/Steamodded/smods/wiki/calculate_functions
on top of that, remember to read the documentation

GitHub

A Balatro Modding Framework. Contribute to Steamodded/smods development by creating an account on GitHub.

STEAMODDED 1.0.0
A tutorial on how to make a modded Joker.

https://github.com/art-muncher/Example-Mod -- EXAMPLE MOD
https://github.com/Steamopollys/Steamodded -- STEAMODDED
https://github.com/WilsontheWolf/DebugPlus -- DEBUGPLUS
-----------------------------------------------------...

▶ Play video
GitHub

Steamodded example mods. Contribute to Steamodded/examples development by creating an account on GitHub.

GitHub

A Balatro Modding Framework. Contribute to Steamodded/smods development by creating an account on GitHub.

wintry solar
#

Or maybe the retrigger check

stuck seal
#

Where I can't get that context

manic rune
#

yeah uh, you need a patch for that one probably

stuck seal
#

A patch?

manic rune
#

basically, what you need to do is:

  • when your blind is on, turn a global var to true
  • patch context.repetitions so that if the global var is true, it wont run
manic rune
stuck seal
#

There a guide?

manic rune
#

mhm, wait

stuck seal
stuck seal
manic rune
stuck seal
#

Oh right right, I simply wanted to check if it exists, then make it not run in the recalc_debuff

manic rune
#

here

#

scroll down

stuck seal
#

jesus that looks like effort

manic rune
#

it really is lol

#

but good luck :D

icy moat
#

Hi guys, I'm working on a blind but somehow the blind disappeared when I select it

#

Do you guys know what problem this might be from

#

The blind does appear normal during selection screen but not in the playing screen

stuck seal
#

So it only runs when that global variable is true

stuck seal
quartz ravine
#

I finally had a good idea and made palettes of the standard balatro colors.

here they are in gpl format which worksa with like everything

manic rune
#

im currently not on my pc so i cant help that much other than outlining what to do, sorry 😭

icy moat
stuck seal
manic rune
#

there is

stuck seal
#

There is?

manic rune
#

you can add your own code inside the file

stuck seal
#

Lua syntax I suppose?

zealous glen
manic rune
#

nnfnfnfn idk how to explain patches properly 😭

stuck seal
icy moat
glad osprey
#

how would one change what happens when a card is removed/destroyed

manic rune
zealous glen
#

it's like cutting up a newspaper to remove parts or to glue new parts in

tall tangle
icy moat
#

oh so that's what happens

stuck seal
#

The thing is, that would fix the repetition stuff, but I would much rather debuff the jokers. So I somehow need to find the joker's place in the code, and check if it has the repitions

icy moat
#

omg thanks a lot. I've been banging my head against this problem for the last week

quartz ravine
#

Hi guys, I am very happy about this card, mind if I share?

manic rune
#

this channel is where you showcase your modded stuff too, feel free ❤️

quartz ravine
#

I have another one that rewards palindrome hands, and I have to say they were very fun to play

manic rune
#

mmm i have some feedback for this

generally, jokers dont have "." in their description

hushed field
manic rune
#

and for the "Needs a bigger shell", i suppose that's flavor text?

if so, you should put it at the end of the description instead

hushed field
#

The (currently)'s generally also it's own line, which makes it feel better to not have punctuation

manic rune
#

mhm

manic rune
#

so that they wont be confused with the actual effects of the joker

glad osprey
#

actually is there a context for any card being destroyed

manic rune
#

but other than that, its very solid mechanic-wise, but id bump it up to Uncommon as common jokers dont tend to provide Xmult with no downsides

manic rune
glad osprey
#

yea that works

manic rune
#

its uhh in the calculate documentation

#

sorry, im on phone rn so i can't directly find it :(

glad osprey
#

is it destroy_card?????

manic rune
#

yeah, that one

#

-# isnt it context.destroying_card or smt

glad osprey
#

nvrm it's remove_playing_cards

manic rune
#

oh lol

#

yeah my bad, im not good at remembering contexts 😭

quartz ravine
stuck geyser
#

hey, new here/working on a mod. does anyone have any pointers on how to create new buttons for jokers/cards? like the sell button or use buttons when u click on consumables, but i'd want clicking this new button to do something else.

quartz ravine
manic rune
stuck geyser
#

thx

marble flint
manic rune
#

-# this is such a perfect opportunity to plug my mod if i had it released...

quartz ravine
#

Hi folks, I saw a mod that was somehow making the flavor text smaller in their loc_text. I can't find out now, anyone have an example of making flavor text smaller?

manic rune
#

s:0.5

tall wharf
manic rune
#

add that and it will make your text smaller

manic rune
#

you can also combine it with colors and such too

glad osprey
#

does anyone have any idea at all if I could just block a card from being destroyed

manic rune
#

like, {s:0.5,C:inactive}hi{} works

ionic verge
manic rune
tall wharf
#

there needs to be a central api for this shit

#

MR STEAMODDED WHERE ARE YOU

ionic verge
#

yeah i would love that

manic rune
#

call forth the wizards

ionic verge
#

would make my life 1 quadrillion times easier

manic rune
#

with how frequent mods are implementing custom selection size, i think they may actually add that

#

similar to how they added xchips

quartz ravine
#

Thank you for the tips guys

manic rune
#

oh, some other stuff you may also use:
E:1, and E:2 also make your text wavy, you can probably play around with that :D

hushed field
#

Also, after an Xmult, you don't need to write mult!

manic rune
hard flume
#

So I have two ideas for mods. Idk which one to make first

quartz ravine
#

ohh fun. I have been trying my hand at shaders and the hard part is

That it is slow to work on since I can't find a way to run them out of the context of the game. I need to find some compiler to highlight basic errors

manic rune
#

uhh

zealous glen
#

You can see their effects live with DebugPlus

#

live in-game

manic rune
#

theres a website to check the effect at real-time

#

aikoyori uses it

#

@tall wharf sorry for pinging, can you help with this one :(

tall wharf
#

:3

#

uh

#

with wha

quartz ravine
#

shaderToy is cool but those seem very different, webGl shaders vs the format lovely uses

tall wharf
#

i use glsl.app but you'll still need to port shit to the fs

manic rune
#

i remember you coding your shader in another website

tall wharf
#

i just restart game

manic rune
#

and uhh it renders in real time

tall wharf
#

and use the cryptid's edition deck to preview

zealous glen
tall wharf
#

i was learning on book of shader

manic rune
#

oh, was it the one in editions example

quartz ravine
# zealous glen Again you can see the shader in-game live

I am not following you, when I am trying to add a new shader and apply it to a custom edition, I was writing it in vscode then reloading the game evry time. I can see it in game by going to collection\Editions.

But how could I see it live in game while working on it?

zealous glen
#

DebugPlus

manic rune
#

wait, its actually possible to load shader in real-time with debug plus?

#

oh dam

#

never knew debugplus was that convenient

tall wharf
#

ah

#

nice

#

ty

hard flume
zealous glen
#

:D

hard flume
manic rune
#

undertale...

zealous glen
quasi comet
#

trying to add an atlas to my custom blind just returns

#

but the atlas is defined?

strong jacinth
quasi comet
stuck seal
#

Anybody know why my blind isn't appearing in any run? Do I have to specify a rate?

rapid stag
#

how can i add to the info_queue of something like vanilla jokers? cirThink

hushed field
rapid stag
#

i'm hoping that i won't have to do some wacky patches and such

#

but i don't see any other way

hushed field
#

ah, sorry, I thought you meant passing a vanilla joker to another joker as the info_queue. You wanna either patch that, or take ownership

rapid stag
#

i see. thanks

hushed field
#

additionally, you could modify the generate_ui function to check if it's being called by that joker, and then pass whatever you want to to it

old bane
#

can you add retriggers in context retrigger? cause i wanna add a joker that has a chance to retrigger multiple times but each time the odds get smaller and smaller

marble flint
old bane
#

that is true

marble flint
#

otherwise, i think retriggering from a retriggered context is probably disallowed due to how easy it'd be to infinite loop yourself (?)

glad osprey
#

how do i get a tooltip for an eternal sticker and an egg

#

nvrm just the sticker

woven turtle
#

is it possible to hide the custom enhancement information under a card

woven turtle
glad osprey
#

ah

#

probably with some patching

quartz ravine
# zealous glen

Wow I have been restarting the game like a milliong times. This will be awesome

zealous glen
woven turtle
lethal mural
#

how do i make a joker destroy all scored kings

#

i know its something with context.destroy_card

#

but i cant quite figure it out

glad osprey
#

i am not the person to ask about that

hushed field
glad osprey
#

why does this crash

sonic cedar
#

how would i recreate misprint's glitchy text? is that possible?

dreamy thunder
#

with update function i think?

sonic cedar
#

elab?

hushed field
#

dynamic text

primal robin
#

I guess there's no easy way to draw sprite over G.GAME.blind chip like on soulable cards

simple mural
#

Hello again, I'm trying to make the Joker...
It seems like all the code examples are there, SMODS.Atlas is there, the SMODS.Joker code is there, but nothing works, and I can’t understand why... vedalBwaa

quartz ravine
#

For anyone needing to fix the error shader uniform 'your shader' does not exist the fix is that within a shader you both need to declare the external variable of it, AND also you have to use the .x and .y values somewhere in your shader code.

If you don't some aspect of Love2d which is the engine being used here, well it will optimize out the variable entirely.

Commenting this because I have encountered and solved this problem like five times now

hushed field
stiff locust
#

is there a way to grab random suits that includes modded suits automatically

glad osprey
#

now why would i do that

plush cove
glad osprey
sonic cedar
rough furnace
#

or sorry false

simple mural
#

Can anyone share some understandable template of the Joker?

glad osprey
quartz ravine
#

Working on a new shader. It's for an an enhancement even more brittle than glass.

My end goal effect is to speed up this sin pattern and make it look like lightning. Really not sure if I can get diffuse light working either

rough furnace
glad osprey
#

let me rephrase

sonic cedar
glad osprey
#

why are they returning false

hushed field
rough furnace
#

idk not familar with change base

sonic cedar
dreamy thunder
glad osprey
#

i stg if thats it

rough furnace
#

also @edgy reef I think I found a lsp mistake (SMODS.change_base returns something0

glad osprey
#

i fucking hate making balatro mods

dreamy thunder
#

lol

rough furnace
#

that function shoudl return an error message too

#

then the assertion would have useful info

#

@frosty dock should I do that?

edgy reef
#

Yeah idk why the message is a warn and not just the returned error

frosty dock
rough furnace
#

I'll update the lsp while I'm at it

#

also the wiki

#

it doesn't say it cajn return a card

rapid stag
#

still want to know if anyone has a solution for me? cirBox

edgy reef
#

xdd

simple mural
#

I want to make a joker

rough furnace
#

or is that an invalid type

simple mural
edgy reef
#

If we're reworking the function a bit it can just be Card|table? for the card and string? for error

gleaming zealot
frosty dock
#

i don't take issue with it returning nil instead of false

rough furnace
glad osprey
#

yes thats me

rough furnace
#

I can do nil

#

oh

#

I didnt' see the ?

gleaming zealot
zealous glen
rough furnace
#

oh wait

simple mural
rough furnace
#

@edgy reef theres comments above the actual implementation but not the lsp one. How should I handle that?

edgy reef
#

Just copy them over

simple mural
rough furnace
#

keep it in both spots?

edgy reef
#

yea

#

Also indicate the function is wrapped around assert

zealous glen
#

I load the files elsewhere

long urchin
#

learning to make custom jokers rn using a tutorial

rough furnace
#

should i mark it as @nodiscard

edgy reef
#

If that works yea

simple mural
rough furnace
plush cove
zealous glen
simple mural
long urchin
#

i have this in my main.lua rn and the accompanying image in assets\1x and assets\2x but im not seeing my mod on the mod list

#

does anyone know why?

frosty dock
#

mod ids can't have spaces

#

your atlas' py also probably should be 95 and not 79

long urchin
#

oh i typo'd

glad osprey
#

how do i create an eternal egg and add it the joker slots

long urchin
#

but my mod id says --- MOD_ID: EXAMPLEJOKER

#

wheres the space??

frosty dock
#

mb i misread that

long urchin
#

ur fine

glad osprey
#

id recommend making a manifest.json instead of using the old header system

long urchin
#

wheres a template for that :V

glad osprey
#

the docs

frosty dock
dreamy thunder
glad osprey
rough furnace
long urchin
#

so will my mod show up now that i have a json instead

frosty dock
#

yeah I'm not sure what's wrong here but the old header format is really fragile and can randomly break even from trailing spaces

#

if it doesn't work with the json file in place, something else is wrong with the way you've set up your files

glad osprey
simple mural
glad osprey
frosty dock
dreamy thunder
#

i'd recommend a localization file

#

instead of loc_txt

glad osprey
#
loc_txt = {
name = "name",
text = {"line1",
        "line2"}
},
frosty dock
#

steamodded adds prefixes automatically

simple mural
frosty dock
#

including a mod prefix and the j_

long urchin
#

oh also is there a list of like

#

all of the description text commands

gleaming zealot
frosty dock
#

that's not what i said but lmao

tepid crow
#

close enough

frosty dock
frosty dock
simple mural
glad osprey
frosty dock
#

put it in the event

#

G.jokers does not even exist yet outside of it

frosty dock
glad osprey
bold sleet
#

I mean.

#

Shitposter deck.

bold sleet
#

Makes sure that a function, for example, fully works idk.

rough furnace
frosty dock
#

SMODS.load_file is written in such a way that it doesn't itself crash but returns an error message when it fails

bold sleet
#

tasty

frosty dock
#

assert makes sure it does crash and display that error message when that happens

rough furnace
bold sleet
#
assert(false)

real

rough furnace
#
assert(true, "Fuck")
frosty dock
bold sleet
glad osprey
#

how do i specify the edition i want the egg to be

bold sleet
#

hold on

frosty dock
#

edition = 'e_polychrome'

bold sleet
#

lemme find the line

glad osprey
#

forgot the e_

simple mural
#

How do I know that my joker is in the game?

rough furnace
#

check the collection

glad osprey
#

collection

frosty dock
#

collection

plush cove
#

collection

simple mural
#

There is nothing

bold sleet
#

Card:set_edition(editon[str),bool,bool)

#

idk

glad osprey
#

then it failed

bold sleet
#

correct

glad osprey
bold sleet
#

Did your mod load?

bold sleet
glad osprey
frosty dock
#

uh how is it ending up in consumables

glad osprey
#

this is so fucking stupid

glad osprey
dreamy thunder
#

negative jokers in consumable area increases the joker slots instead of consumable slots

#

good to know

bold sleet
#

No clue why the heck it has so many parameters. I just know that it is a god damm mess every time I have to use this function.

frosty dock
#

don't use it

#

use SMODS.create_card or SMODS.add_card