#💻・modding-dev

1 messages · Page 234 of 1

fickle stag
#

:D

tall wharf
#

:>

#

in any case

sonic cedar
#

completely unrelated note does anyone know how add_to_deck works? trying to setup a freeroll (think chaos)

tall wharf
#

is balatro nn your mod

#

ah

#

neural network?

fickle stag
#

yeah

#

yeps

tall wharf
#

makes sense

#

does the mod button show up in main menu

fickle stag
#

okay I did a silly

sonic cedar
tall wharf
#

😭

#

what did u do

fickle stag
#

i was tryna be smart

#

uhh i inserted the lovely dylib into the app bc im lazy to run the script all the time

#

:

tall wharf
#

😭

#

youll still have to run the script to patch stuff

fickle stag
#

yep yep got it

fickle stag
#

tragic

sonic cedar
#

freeroll

tall wharf
tall wharf
#

so

#

mods button show up right

fickle stag
#

yeah it's nvm

#

thanks

#

:D

tall wharf
#

you'll need mod metadata

#

i believe

sonic cedar
# tall wharf

yeah i know that 😭
but it triggers on add_to_deck

tall wharf
#

because from your folder structure there doesn't seem to be one

fickle stag
#

ah okay

#

i made it print on every a press

#

it seems to work

manic rune
#

what the fuck

#

selling Invisible Joker closes my game

#

💀

#

like, no crash

#

no nothing

#

it just closes my game

sonic cedar
#

game invisible

manic rune
#

did it duplicate my game 💔

tall wharf
tall wharf
manic rune
tall wharf
#

you gain 1 free reroll per chaos

manic rune
#

i dunno how to explain more than that

#

💀

sonic cedar
#

like i have this for the extra key already but
how would i setup the reroll part

manic rune
tall wharf
#

you G.GAME.current_round.free_rerolls = G.GAME.current_round.free_rerolls + 1

sonic cedar
#

oh so i just

#

dont need to change anything

manic rune
#

copy and paste that tntire thing is

#

yes

tall wharf
#

yea

#

art upgrade still

manic rune
#

jesus fuck thats cool

#

-# is she gonna die

sonic cedar
#

the fuck happened to that blueprint

tall wharf
#

i didn't think it was gonna turn out that good ngl

sonic cedar
tall wharf
manic rune
#

i also have this joker which i dunno how to phrase better

#

:3

#

it goes from +25 to +50 + 75 and such

sonic cedar
fickle stag
tall wharf
#

i uh

sonic cedar
#

hour drop

manic rune
#

and yes, i have to specify it as a Follow-up Effect because some jokers will do certain shit when Follow-up Effects are triggered

tall wharf
#

spent an hour on that

sonic cedar
#

how long did it take to set up that atla

#

s

tall wharf
#

like 1 min

wintry solar
#

Do I see free rerolls?

manic rune
#

free rerolls in this economy is insane...

tall wharf
#

free rerolls

wintry solar
#

You should actually use this utility function

manic rune
#

-# theres an utility function for that???

sonic cedar
#

oh my

tall wharf
#

wtf there's a function for that

wintry solar
#

The way chaos works in vanilla is jank as fuck

tall wharf
#

me when i call god

manic rune
#

oh, thats cool

#

would it be fun if there was a joker which can duplicate a joker, but also removes the original joker it copied from

#

allowing for add_to_deck synergies shit

sonic cedar
manic rune
#

you still need it in add_to_deck

sonic cedar
#

thought so

wintry solar
#

Yeah put it inside

manic rune
#

how it works is that if i use SMODS.change_free_rerolls(1) then it gives 1 free reroll right :3

wintry solar
#

Yes

manic rune
#

very nice

wintry solar
#

So in remove from deck you’d need the same with -1

#

It’ll also handle making the rerolls in your current shop free (and future shops ofc)

manic rune
#

would you suggest using card_eval_status_text or SMODS.calculate_effect to make a message?

maiden river
#

consider: permanent free reroll balatrojoker

wintry solar
#

Calc effect

#

It’s easier

manic rune
#

-# fuck

#

yeah good to know, thanks :D

#

i thought it would be unethical to use SMODS.calculate_effect just for messages for some reason, considering its main functionality is (probably) to allow adding mult/xmult, stuff like that without using return

wintry solar
#

It doesn’t matter though if you’ve used card eval

#

Nah it’s main function is just to evaluate effects consistently

#

It has stuff other than scoring in it

hasty ravine
#

Does anyone see a missing symbol here? I don't see anything out of place

wintry solar
#

-# not loads but still some

manic rune
hasty ravine
#

Ah

sonic cedar
manic rune
#

😭

hasty ravine
#

Thats what I get for copying my own code

manic rune
#

just add SMODS.change_free_rerolls(1)

sonic cedar
manic rune
#

this should be true, not True

hasty ravine
#

I see

#

Tyty

manic rune
#

and is "moth" the joker you want to add?

hasty ravine
#

No, I want to create a random joker

manic rune
#

oh i see

tall wharf
#

no clue what this is

manic rune
#

-# i dont know much about create_card :3

manic rune
hasty ravine
#

Im pretty sure the last bit is for the seed for generating a random card

tall wharf
#

no i set it

#

i still dont know what that means

manic rune
#

oh

sonic cedar
manic rune
#

that seems right

#

whats the "new_key" for tho

sonic cedar
sonic cedar
manic rune
#

wuh

maiden river
#

does anyone know what I need to put in the localization for the little labels here

tall wharf
#

i just realised this is a counter to the fish if you have the cards

wintry solar
sonic cedar
#

why did it

manic rune
tall wharf
#

wait sticker

#

holy shit

manic rune
#

ohhh i see

sonic cedar
scarlet spire
#

is there a boss blind trigger for post-scoring but while the cards are still in the played hand? or do I have to patch that in myself

#

I want to change the suit of played cards, but doing that on press_play changes them too early and recalculates your hand

scarlet spire
#

unfortunately boss blinds dont use calculate contexts

maiden river
#

oh I see

scarlet spire
#

I kinda wish they did, I had to patch just so a boss blind could detect the player discarding

manic rune
#

aikoyori taking note rn

scarlet spire
manic rune
#

was it a bad idea to make my thread too early

maiden river
manic rune
#

i thought it would be a good idea to post my progress there every once in a while

maiden river
#

I'm being scammed in real time

manic rune
#

but i think i was better off making one when its close to release or something

tall wharf
#

📔 📝

manic rune
maiden river
#

and it's been working out okat

#

*okay

scarlet spire
#

I got the animation to look really nice, yeah

scarlet spire
#

I used it for the blind that demotes all played cards by 1 rank as well

maiden river
#

now that's evil

#

do 2s wrap around to Aces?

scarlet spire
#

yep

maiden river
#

oh okay

manic rune
maiden river
#

uh

#

I've been releasing alphas/betas for a while now

#

ever since it was just a concept and the mod still had 90% placeholder assets 😭

manic rune
#

mhm, but i want to know how long did it take for you to release your mod for everyone to try, since i feel like i can cause some people to be too impatient :(

maiden river
#

uh
I think it was near-immediate? at least, within the same week

manic rune
#

god damn it

#

its been a month for me 😭

tall wharf
#

i think aure is working on it

#

@scarlet spire

fickle stag
#

how fast do yall code?

manic rune
#

1 month and about 7k lines in total

tall wharf
manic rune
#

^ same

maiden river
# manic rune its been a month for me 😭

but I don't see an issue with just having a mod thread that's just concepts
if you release something, even if it's really rough, it's fine in my opinion too
at least you get feedback

tall wharf
#

I'm a slow ass coder sorry

maiden river
tall wharf
#

wtf you followed me on twitter

tall wharf
sonic cedar
fickle stag
#

:D

#

hahahaha

manic rune
#

dmn

young dew
#

does someone know how i can patch other mods with lovely? i've done it with smods but not with other mods

tall wharf
fickle stag
#

OH

#

wtf you made that

tall wharf
#

sure did

fickle stag
#

banger

manic rune
tall wharf
#

REAL

fickle stag
#

REAL

#

hahahha

sonic cedar
fickle stag
#

<3

tall wharf
#

ill add a few more things to this logo i think

tall wharf
fickle stag
#

how'd u make it :o

maiden river
#

hacking

sonic cedar
tall wharf
#

Affinity Designer

hushed field
manic rune
#

probably when i finished adding all the jokers and 1/2 of the relics

tall wharf
#

definitely a legit copy

manic rune
#

dont want to keep everyone waiting for too long

tall wharf
manic rune
#

and besides, i need playtesters to properly balance out my mod anyways

hushed field
#

damn, I wish I had your sense of patience. I was just like 'eh I guess people can play this at some point', and release a version with a bunch of broken mechanics every few days

manic rune
#

im NOT trying out every team combination and relics

fickle stag
#

is modding very popular

sonic cedar
#

good question

maiden river
hushed field
manic rune
fickle stag
#

both

sonic cedar
#

everyone only plays basegame ever im afraid

hushed field
manic rune
#

if people have been waiting for my mod for a while then they deserve something quality

sullen fern
sullen fern
#

the REAL siivagunner arg balatro mod

hushed field
# fickle stag both

big enough that I think people that are deep into the balatro hole are into it, but not super huge or relevant in the scope of balatro as a hole, I reckon

tall wharf
hushed field
#

And there's a scale difference between Cryptid and every other mod as well

fickle stag
#

i've only ever heard of cryptid

sullen fern
fickle stag
sonic cedar
tall wharf
#

but like drawing takes a while

hushed field
fickle stag
#

ur really good at pixel art

#

gotta learn

manic rune
#

i will have to learn drawing for my own mod in the future

tall wharf
#

coding also t akes a while

fickle stag
#

thats so cute

tall wharf
#

i put scrabble in balatro

manic rune
#

like, i definitely mess around with paint every once in a while :3

hushed field
#

Bepis, are you posting anywhere about your mod outside of this discord? I feel like if you show off your functional systems and jokers, you'll easily have another gacha-head willing to collab on some art

sullen fern
tall wharf
#

here is my mspaint drawing

sonic cedar
#

what did i do

fickle stag
#

brooo i gotta learn art

#

sucks to suck

manic rune
#

i will definitely uhh plug my mod everywhere when i got the playtest release tho :3

sullen fern
tall wharf
fickle stag
#

same

manic rune
#

-# what the fuck is neural network

tall wharf
#

(i study comsci)

fickle stag
#

same

hushed field
#

neeeeerds

fickle stag
#

i like drawing

#

but im ass

#

tragic

tall wharf
#

it's ok

#

the more you draw the less ass it is

#

kasane teto from memory

hushed field
#

pixel art is fun, and while being amazing is a huge skill, I always feel like people can get to decent-enough results/programmer art levels quite quickly, as well

weak brook
#

alright im having a lot of trouble with this cardsauce joker
are there any coding wizards in here who are down to help or give advice on this

hushed field
#

Ask the question, and we'll see if someone can help 😛

weak brook
#

yeah i just wanted to get that out of the way first cause its a bit complicated to explain

sullen fern
#

off to work on making suit rarity a thing i go.

manic rune
weak brook
#

i know i know i shouldnt ask before specifying

sonic cedar
weak brook
#

gonna take me a sec

fickle stag
#

💀

hushed field
sullen fern
manic rune
#

instead of rubber ducks, i got two fumos to vent my frustration to

#

:3

hushed field
#

every time I try to draw a person I scream and wished I could have retroactively practiced because I'm not gonna now, and I just want the ability

fickle stag
#

real

tall wharf
#

real

sonic cedar
#

real

tall wharf
#

😭 this mf again

sonic cedar
#

get him OUTTA here

manic rune
manic rune
#

i will definitely buy another one when i save enough money :3

weak brook
# weak brook alright im having a lot of trouble with this cardsauce joker are there any codin...

so the concept here is a joker that each round takes on the ability of a random of joker in the pool. it's sprite does not change, but its calculation code and description do. at the end of the round it changes back to a base form with a misprint-like cycling description, which i've already coded.

problem is that i can't seem to find a good way to reliably implement this. i tried a method that involved making an invisible cardarea, which was promising but for one that wouldnt work for copying cards like blueprint and it wasnt really working in general. the main thing here is i'm struggling to find a reliable way to reference calculation, loc_vars, and other stuff without summoning an actual card on the screen

maiden river
#

I'm plagued by the ERROR badge
I may be cooked guys

tall wharf
#

@sonic cedar will you try the space oddity challenge

weak brook
#

how would you guys approach this concept?

manic rune
#

but it chooses a card in the collection instead?

scarlet spire
#

oh wait, boss blinds can't even destroy cards because there's no such thing as a destroy context to them, can they

tall wharf
#

but i think you tried that

weak brook
# manic rune isnt that just uhhh context.blueprint and stuff

i'd say thats simplifying it a bit but more or less that is the idea. problem is that all blueprint-type jokers reference existing cards on the screen, whereas this is trying to reference cards that are not. plus, if the card it's taking the ability of is a blueprint-type that uses positioning, i need to make sure it's using the bootleg joker's position. this is a reason why the invisible cardarea idea wasnt working out cause if it copied a blueprint in some other cardarea it would just do nothing

hushed field
weak brook
#

since its not in G.jokers

red flower
#

what about actually changing the card into the card it's copying but replacing the sprite and description

tall wharf
#

<@&1133519078540185692>

karmic creek
#

pew pew

maiden river
#

go mods go

weak brook
#

chameleon joker was close but its not quite what im doing. its just a blueprint joker that randomly chooses a joker in possession

hushed field
#

eggsploded instantly

tall wharf
grand violet
#

No, they got vonnegutted

karmic creek
#

so it goes

hushed field
#

sent straight back in time, huh

stiff locust
#

how do I make a random number seed-friendly again

tall wharf
#

and the war between egg and vonnegut begins

red flower
stiff locust
#

explain further

manic rune
#

pseudorandom("seed",min,max)

#

if you dont declare min and max then it will return a number from 0 to 1

stiff locust
#

thank you

maiden river
#

the mods vs. steamncommunity

manic rune
#

if you want it to be a whole number, use math.floor or smt

hushed field
tall wharf
#

begin the war

stiff locust
#

god dammit

manic rune
#

yeah

#

-# pretty sure

weak brook
#

im thinking a way to make this work might involve some adaptation of ortalab's transforming code, which is something i've referenced before, where it changes a card directly into a different joker. thing is that it would have to have some method of changing back at the end of the round, keeping track of which joker was the bootleg joker

sonic cedar
manic rune
#

you should use math.floor(pseudorandom("seed",min,max)) if you want it to return a whole number

red flower
hushed field
sonic cedar
stiff locust
manic rune
#

nope

stiff locust
#

oh

#

okay

manic rune
#

it works just as it is

weak brook
#

maybe patching into the end of round effects thing to activate that? the function that randomizes the suits on cards like the idol? that could work

red flower
#

that's what I would do

#

well, I hook into SMODS.calculate_context

manic rune
#

you know what, balatro: star rail playtest begins on wednesday next week

hushed field
#

I think you could potentially even have it track which one is the right one by using some sticker logic, and just use a sticker without a sprite

weak brook
#

or just a boolean, i think that would stay consistent if stored in the right spot on the card

#

maybe'

#

idk id have to look at the transform function i put together again and see what changes exactly

manic rune
#

i need to remember removing this shit when i release the mod :3

hushed field
sullen fern
#

how do you exclude a suit from appearing in every deck

hushed field
#

though a bool and some internal logic is also fully function, I reckon. Sticker's probably me being biased towards liking to hijack sticker functionality to become whatever I want

weak brook
#

it sets the center, sprite, ability and cost, so there should be some spots on card that wouldnt be affected by that. alternatively I could also maybe use a custom shader/edition

hushed field
#

stickers are entirely unaffected 😛

maiden river
#

where is john smods when I need them 😔

hushed field
maiden river
#

😭

#

localization is rough

#

I only need one more thing but I can't figure it out for the life of me

hushed field
#

what are you trynna do?

maiden river
#

the badge text up here

hushed field
#

custom consumeable?

maiden river
#

yeah

hushed field
#

are you using a localization file? or is everything stored in every object?

maiden river
#

I'm moving everything to a localization file

sullen fern
#

how do i make these specific suits not appear in the main decks

maiden river
hushed field
#

I think it's just 'k_[SET_key]'

#

That's how I have it for confections, at least

maiden river
#

😒
if it is I'm mad

hushed field
#

k_[key] is basically the way to localize anything you're unsure about, I've learned

tall wharf
#

chat

#

need opinion

maiden river
#

the localization wiki update is going to go nutty

tall wharf
#

I'm going to be adding

#

Impostor card modifier

#

should the player know of it's existence

manic rune
#

-# what the fuck

tall wharf
#

initially

manic rune
#

what do you mean "Reach the limit of free projects"???

#

😭

maiden river
#

you get 3 now, if I'm not mistaken

#

it sucks

maiden river
#

I'm officially mad

manic rune
tall wharf
#

wtf is online Lua IDE

manic rune
#

i only have one.

manic rune
maiden river
manic rune
#

so that i can ctrl C + ctrl V the localized string and paste it into my localization

#

else it would be a headache to manually do this

#

❤️

tall wharf
#

you have to

manic rune
#

guess im moving this to another compiler, fuck

manic rune
#

im very tempted to try and create a program of my own now

tall wharf
#

oh yeah

turbid maple
#

I drew a Joker before as a joke but I have had zero use cases for it does anyone want the art for free

tall wharf
#

i love hibana

maiden river
#

I mean, you could really just install lua
since I'm assuming you own a computer, since you're modding balala

tall wharf
#

bruh moment

manic rune
#

😭

#

classic

tall wharf
#

😭😭😭😭

#

i don't get the reference

manic rune
#

cs

#

stuff

#

"get out of my way son"

#

that meme

turbid maple
#

door stuck

manic rune
#

yes

turbid maple
#

Me having fun in ESEA.

(the beginning is the lyrics to Snoop Dogg and Pharell's "Drop It Like It's Hot")

The phantom, exterior like fish eggs
interior like suicide wrist-red(rags?)
I could exercise you, this could be your phys-ed
cheat on your man homie AGHHH I tried to sneak through the door man!
Can't make it, can't make it, the shit's stuck...

▶ Play video
tall wharf
#

ry

#

😭😭😭

manic rune
#

somehow

maiden river
#

yeah

manic rune
#

i deadass already have the code

#

and everything

#

but NO place to run it

#

💔

maiden river
#

lua's mainly run from the command line

manic rune
#

i see

sullen fern
turbid maple
#

why di you keep sobbing

tall wharf
#

@turbid maple yet again am i qualified to be a guest artist

manic rune
#

😭

#

UWOHHHH

tall wharf
#

😭

hushed field
manic rune
#

i have a hoshino fumo

#

but that shi looks so bad i dont even want to show it

#

💀

red flower
#

i have a shigure ui plushie

sullen fern
manic rune
#

neat

hushed field
manic rune
#

i have a furina plushie which costed me $25

#

i intended to give it to my gf

tall wharf
#

FURINA

manic rune
#

but we broke up because of my friend's involvement

#

sooooo

manic rune
#

its just sitting on my table now

#

pretty painful memories

hushed field
#

Oooh, that's smort

tall wharf
#

I CAN'T GET OVER NERD JIMBO

maiden river
# hushed field 🙂

I am glad everything's in the localization file tho, since someone wants to translate my mod to chinese

maiden river
#

oh!

sullen fern
maiden river
tall wharf
#

i mean

#

in thai we call it ตัวเอ ตัวบี ตัวซี things like that

turbid maple
#

can you make letter cards but in chinese thank you

maiden river
#

I see

primal robin
#

Use generation? Nah, copy-paste line 26 times much better!

tall wharf
#

true!

#

i should actually put the list in the beginning of the file before the return

hushed field
manic rune
#

i was lazy so moved to yet another online compiler :3

tall wharf
#

i am lazy rn

tall wharf
hushed field
#

I just like the organization of a localization file honestly, haha

maiden river
maiden river
manic rune
#

...oh yeah, i forgot to localize those messages

#

:3

tall wharf
#

Kuru Kuru!~

maiden river
#

yeah you don't really know how much you need to localize until you start doing it

primal robin
#

Localization leads to problem "fit unfittable in already small space" water

manic rune
#

Kuru Kuru!~

tall wharf
#

@manic rune

manic rune
#

i read hibana as headbang

#

💔

tall wharf
#

"with"

manic rune
#

fucking

#

-# with

#

with

hushed field
#

I'd recommend starting with a loc file immediately if you're making a mod that adds more than like 5 jokers, haha, but I see why people don't

manic rune
#

actually, considering a majority of hsr players is from china

primal robin
red flower
#

I wish we could split loc files

manic rune
#

...i think i should get into the localize stuff immediately 💔

red flower
#

mine are too long already

manic rune
manic rune
#

i followed the video tutorial

#

it didnt say anything about localization

#

💔

sullen fern
maiden river
tall wharf
#

btw

primal robin
#

Settings localization Trolge

shadow rapids
#

is there a way to unlock a card based on something about the current deck

tall wharf
#

i am NOT localizing this card thing

manic rune
#

do it

#

or no balls

#

:3

hushed field
#

Game dev attempts have thought me that localization is something you want to concern yourself with ASAP if you're planning on doing anything above day-long game jam scale haha

tall wharf
#

8_ball

manic rune
#

damn.

primal robin
#

Btw localization for Handy not planned blursed
There's no way I make settings page look good enough with even migger text

#

And imagine adding localization without steamodded

shadow rapids
#

is it possible to unlock a joker based on some parameters of the current deck (specifically having at least a number of some rank) and if so, can you tell me how

manic rune
#

...i just realized sometimes my CODE produces strings with {}{} at the end

#

luckily it doesnt seem to affect anything

#

so ig i can ignore it ❤️

tall wharf
#

BEPIS WEBSITE

manic rune
#

-# no.

maiden river
#

-# denied

manic rune
#

i did have an idea of making a website purely for making joker descriptions

#

LIKE

#

it renders how the description will look like

#

with a bunch of qol stuff to speed up the process of making them

#

but i then realized i would need to learn new languages to achieve that

#

:3

primal robin
tall wharf
#

anyone watches this show

primal robin
#

I'm planning to make this stuff in Cryptid's future site

shadow rapids
red flower
tall wharf
#

is the new season out

#

have i been missing out

sullen fern
#

still having no luck excluding suits from appearing

tall wharf
#

ah

red flower
#

i havent watched it yet, i literally sub to dropout for it and then cancel lol

hushed field
shadow rapids
#

allow_suits is being copied into in_pool

#

is allow_suits a function

tall wharf
manic rune
#

:3

#

silly collection

#

didnt that happen to JoyousSpring too

sullen fern
red flower
#

i feel like anyone who looks at this would be very confused by the extra things i add

manic rune
#

i feel like thats an issue generate_ui collectively suffers from

green mica
paper zealot
manic rune
#

-# is that what i think it is

shadow rapids
#

sorry but how do i use check_for_unlock

manic rune
#

oh shit

#

thats REALLY cool

#

how do i get that running :3
-# never used python in my life before

sullen fern
paper zealot
#

It's also useless for Discord because Discord won't display user-submitted svg files

sullen fern
#

so allow_suits is just kinda a vestigial thing since there IS no function in my mod called allow_suits

paper zealot
sullen fern
#

okay, now what

#

there is currently nothing in in_pool

shadow rapids
#

you need to set it to a function determining whether it should be in the pool

sullen fern
#

so i just create a function like common_suits and have in_pool use that

shadow rapids
#

yeah

#

make it return true if you want the suit to be accessible

sullen fern
shadow rapids
#

i

#

id add an explicit return false at the end

#

also sorry for being so incessant but how do i use check_for_unlock? i couldn't see very well how it works from the code

sullen fern
#

wouldn't that make return true moot then

#

also i don't know what you mean by end

#

like, the end of the local function? after the second end?

paper zealot
shadow rapids
sullen fern
#

like this?

manic rune
#

im assuming you dont run it in a command prompt

paper zealot
#

I attached the exported .svg file, you can view it in a browser

sullen fern
#

i have no idea what the return false is doing but

manic rune
#

yin and yang, automaticColoring and toNormalString

#

:3

sullen fern
#

l3

manic rune
#

l2d2

sullen fern
manic rune
sullen fern
paper zealot
#
> py .\balatro_text_to_svg.py -s "{E:1,C:spectral}Bepis{E:2,C:gold}Fever{}"
> Exporting to BepisFever.svg
manic rune
#

:3 aw

sullen fern
paper zealot
#

I might add animated colour support to it one day, i know how to make it work in the SVG, just burned out when I realised how pointless it was

hard flume
#

Hihi yall. I'm really excited cuz today I'm going to get the two core features of my mod figured out via lovely patching

wintry solar
#

What’re the features? 👀

hard flume
#

Custom Modifiers + "Worlds"

shadow rapids
#

is it possible to get a list of loaded hands

sullen fern
#

holy shit. that actually worked?

manic rune
#

heres the automaticColoring code if you want to check it out

#

:3

wintry solar
#

I should maybe get round to making my custom modifiers api

hard flume
#

They're meant for endless mode play

manic rune
#

this is more like a proof of concept honestly lol

#

i doubt anyone will use this

hard flume
shadow rapids
#

how do you get a list of all loaded hand types

paper zealot
tall wharf
sullen fern
#

does debug+ allow for spawning boosters

red flower
#

yes

scarlet spire
#

only in shop menu, they appear in the booster slot

red flower
#

^ same way as jokers

sullen fern
#

well when in try to clone one it says "Trying to dup card without an area"

hard flume
#

Hihi!!!

red flower
#

yeah only in the shop

sullen fern
#

i AM in the shop

red flower
#

weird then

scarlet spire
#

you can't ctrl-C them, just spawn them in through the collection menu

sullen fern
#

that also doesn't work

scarlet spire
#

what are you doing to spawn them?

hard flume
#

Make sure you empty all the booster slots

red flower
scarlet spire
#

no you can have as many as you want, there's no slot limit

hard flume
#

Oh

sullen fern
#

i'm trying to ctrl-c them

scarlet spire
#

I just said you can't ctrl-c them, press 3 while hovering them in the collection menu and they'll go to their appropriate spot if one exists

sullen fern
#

ohhh wait

#

i see

manic rune
#

im very inclined to use cantread rn

sullen fern
scarlet spire
#

I do wish there was behavior for auto-opening or auto-redeeming a booster or voucher without having to spawn it in

manic rune
#

:3

tall wharf
sullen fern
#

none of my modded suits appear in boosters though

tall wharf
#

i still need feedback on the impostor

#

@manic rune Impostor

manic rune
#

huh?

sullen fern
#

moons and stars can appear in the boosters but not my puyo suits

manic rune
#

-# are they fucking kissing

tall wharf
#

are they kissing

#

is this mario y

verbal wyvern
#

I think theyre kissing

manic rune
#

is that wario and luigi kissing

sullen fern
manic rune
#

that looks more like wario than mario

#

im gonna silently judge you for choosing that art.

hard flume
#

Why are they kissing.

sullen fern
#

well, its my texture pack so.....

#

whatever.

manic rune
#

you cant just leave me hanging like that

sullen fern
#

i've opened a lot of mega standard packs, and not a single puyo in sight

tall wharf
sullen fern
#

this is um..... not cool

manic rune
#

imagine a deck full of Impostor cards :3

hard flume
#

If you added code for them to appear in booster packs, remove that. They do that by default

sullen fern
manic rune
#

im so fucking hungry and my eyes immediately landed on that plate (or bowl?) of chips

manic rune
#

😭

hard flume
#

Huh...

#

Do I add custom Modifier functionality first or do I add World functionality first?

hard flume
hard flume
sullen fern
#

do i have to manually add code that allows them to appear in boosters?

hard flume
#

I think so, unfortunately.

hard flume
#

I believe having them not appear in the deck caused them not to appear in the boosters

manic rune
#

is that a man carrying a big red ball

sullen fern
#

but before i go

sullen fern
hard flume
#

Huh weird

sullen fern
#

it's not just the ones that don't

shadow rapids
#

question: is it at all possible to get a list of all of the hand types currently active and loaded?

red flower
#

i think that's SMODS.PokerHands

#

unless you mean something different

shadow rapids
#

yeah thanks

hushed field
#

Is there a way to increase the spawn rate of certain jokers, without creating a pool for those jokers to be tied to?

sullen fern
#

is there like, an arg that includes boosters

#

argggg... we be sailin

#

yo ho ho!!!

#

blow the man down!!!

red flower
#

idk how suits and stuff work but args.source == "sta" should be the standard pack for in_pool i think

sullen fern
#

now my common puyo cards don't appear in the deck

red flower
# sullen fern

source instead of soruce and the first if should be (args.initial_deck or args.source == "sta")

sullen fern
red flower
#

should probably check if args exists still

sullen fern
#

so if args and

red flower
#

yeah

sullen fern
#

still not appearing

red flower
#

sad

sullen fern
#

well that was worthless

primal robin
#

Is this description clear enough? Lumaflute

manic rune
#

i underestimated relics.

sullen fern
#

someone more knowlegable is gonna come in like "uh actually you should've done the wacky scoopy banoopy function thing in order to make your suits appear in booster packs"

primal robin
#

My settings page so big omg, basically out of screen space

manic rune
#

add pages to your settings page

#

so simple

primal robin
#

Already 5 Trolge

sullen fern
#

why does it not work.
i don't understand why it doesn't do what i intended it to do

manic rune
#

❤️

quartz ravine
#

I feel like this is too strong, I would welcome ideas for tuning this custom edition

manic rune
#

is that a ygo rarity reference

#

i have a ghost rare dark magician card :3

quartz ravine
#

you know it. I am working on a shader to color shift input cards into ghost rare as well! Right now, I have it do a smokey white + gold

sullen fern
primal robin
#

Well time to make some space water

manic rune
#

im sorry jeff, as much as i REALLY want to help you, i havent touched suits before 💔

manic rune
weak brook
quartz ravine
#

it's a tarot card. I think I will drop it's payout down to $1 or $2 though

weak brook
manic rune
#

you are losing a lot of scoring benefits compared to X2 Mult from Glass Cards

manic rune
quartz ravine
weak brook
#

gappie is very good at art :)

manic rune
#

of course its gappie, they are always involved in good modded art 😭

verbal wyvern
#

Is there a way to do an Eaten/Extinct check?

#

Im trying to make a Joker that has a chance to prevent an Extinction or something from happening

quartz ravine
#

In the game? Yes. You use 'joker_spawn_condition' or something like that to control whether it can or cannot appear. That does not work when you are using debug commands to special summon a jonkler

verbal wyvern
#

Thats for making something like Cavendish appear after Michel goes extinct though right?

red flower
#

Use in_pool for that

verbal wyvern
#

I want my card to detect when something like Michel goes extinct at the end of the round, and either spawn a new one in place or just prevent it from going extinct

quartz ravine
#

Ah, here it is

no_pool_flag = 'fickledfoxfled',
#

the opposite is yes_pool_flag

manic rune
#

terribly sorry :(

red flower
quartz ravine
quartz ravine
sullen fern
#

how do i make them appear in boosters

verbal wyvern
manic rune
#

what is that resolution :3

red flower
hushed field
sullen fern
verbal wyvern
#

Ty guys

manic rune
verbal wyvern
#

I’ll probably just take ownership of Gros Michel too then

sullen fern
wintry solar
sullen fern
tall wharf
sullen fern
#

this has been a massive pain in the ass for me

tall wharf
#

eremel sweep????

wintry solar
#

as in things like enhancements, editions ,seals etc.

tall wharf
#

pls give example brain hurt

wintry solar
#

well it's not done yet xD

#

but it'd be like how you can define new consumable types

unkempt thicket
#

Custom modifiers :]

sullen fern
hard flume
plain apex
#

can an enhancement have retriggers? trying to make this enhancement idea

unkempt thicket
mint cape
#

Hey does anyone know how to setup Steamodded [>=1.0.0~ALPHA-1424a] for Multiplayer Balatro?

tall wharf
#

you update to the latest version

sullen fern
#

sorry if im like

#

being annoying

plain apex
# plain apex can an enhancement have retriggers? trying to make this enhancement idea

if it can then im doing something wrong here cause this dont work

if config.oldcalccompat ~= false then
    SMODS.Enhancement({
        loc_txt = {
            name = 'Shell Ammo',
            text = {
                '{X:mult,C:white}X#1#{} Mult',
                'Retriggers once for every {C:chips}Hand{} used this round',
                'Idea: BoiRowan',
            },
        },
        key = "Shell",
        atlas = "Jokers",
        pos = {x = 1, y = 7},
        discovered = false,
        no_rank = false,
        no_suit = false,
        replace_base_card = false,
        always_scores = false,
        config = {extra = {base_x = 1.2, retriggers = 0}}, 
        
        loc_vars = function(self, info_queue, card)
            -- Set retriggers based on hands played
            self.config.extra.retriggers = G.GAME.current_round.hands_played or 0
            
            return {
                vars = {
                    self.config.extra.base_x,
                    self.config.extra.retriggers
                }
            }
        end,

        calculate = function(self, card, context, effect)
            if context.cardarea == G.play and not context.repetition then
                -- Apply initial enhancement effect
                effect.x_mult = self.config.extra.base_x
                effect.retrigger = self.config.extra.retriggers
            end
        end
    })
end
sullen fern
#

its just this whole "suits not appearing in boosters" thing is really getting on my nerves

wintry solar
tall wharf
#

miku got killed 😔

plain apex
#

my code for anything ever is always jank

plain apex
# wintry solar what is this jank ass old calc code

like heres old calc for cubic

if config.oldcalccompat ~= false then
    SMODS.Enhancement({
        loc_txt = {
            name = "Cubic",
            text = {
                "{X:chips,C:white}X#1#{} Chips {X:mult,C:white}X#2#{} Mult",
                "Idea: BoiRowan",
            },
        },
        key = "Cubic",
        atlas = "Jokers",
        pos = { x = 1, y = 17 },
        discovered = false,
        no_rank = false,
        no_suit = false,
        replace_base_card = false,
        always_scores = false,
        config = { extra = { x_chips = 3, x_mult = 0.6 } },

        loc_vars = function(self, info_queue, card)
            return {
                vars = { 
                    card and card.ability.extra.x_chips or self.config.extra.x_chips, 
                    card and card.ability.extra.x_mult or self.config.extra.x_mult
                }
            }
        end,

        calculate = function(self, card, context, effect)
            if context.cardarea == G.play and not context.repetition then
                effect.x_chips = card.ability.extra.x_chips
                effect.x_mult = card.ability.extra.x_mult
            end
        end
    })
end
#

and new calc

if config.newcalccompat ~= false then
    Cubic = SMODS.Enhancement({
        object_type = "Enhancement",
        key = "Cubic",
        loc_txt = {
            name = "Cubic",
            text = {
                "{X:chips,C:white}X#1#{} Chips {X:mult,C:white}X#2#{} Mult",
                "Idea: BoiRowan",
            },
        },
        atlas = "Jokers",
        pos = { x = 1, y = 17 },
        config = { extra = { x_chips = 3, x_mult = 0.6 } },
        weight = 0,

        loc_vars = function(self, info_queue, card)
            return {
                vars = { 
                    card.ability.extra.x_chips, 
                    card.ability.extra.x_mult 
                }
            }
        end,

        calculate = function(self, card, context)
            if context.main_scoring and context.cardarea == G.play then
                return {
                    x_chips = card.ability.extra.x_chips,
                    x_mult = card.ability.extra.x_mult
                }
            end
        end
    })
end
keen anvil
#

hey all

plain apex
#

hi

keen anvil
#

do any of yall know how to make a simple mod that edits the stats of a joker? i want the basic +4 mult joker to be x12 mult and appear way more often?

keen anvil
sullen fern
#

i’m… suffering.

keen anvil
#

dang

sullen fern
#

thats just what happens when you choose to mod balatro

plain apex
#

seems like that would be really op but you'd have to figure out how to like take ownership of it? not sure i haven't done take_ownership stuff

sullen fern
#

you get literlally nowhere trying to make custom suits appear in booster packs

keen anvil
keen anvil
plain apex
#

i mean you're free to look at the terrible code of my mod ive made a bunch of shit but i haven't done any take ownership stuff

keen anvil
#

ill check it out!

keen anvil
tall wharf
#

why would you not just make a new one

plain apex
#

yeah that would probably be easier tbh

keen anvil
#

oh yeah yall right xD

#

im completely new to this though\

#

do yall know any resources to get me started?

plain apex
# keen anvil do yall know any resources to get me started?

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

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

keen anvil
#

thanks!!

gleaming zealot
#

Ladies

plain apex
#

but all of these enhancement ideas are retrigger so uh anyone know how to retrigger enhancement?

lost fern
#

is there a reason why my edition is triggering +5 +10 +5 +10 chips?

#

(It should add chips and then increase its chips by 5 permanently, not the permavalue because this applies to jokers too)

sullen fern
#

trying to see if anyone elss knows why my suits don't actually appear in standard packs

#

i know not a lot of people know about suits

#

but its worth a shot

minor magnet
#

why does the post joker activate before the joker_main

#

what

#

no ok it activates after

#

but

#

the cards graphically are created before

sullen fern
chrome widget
sonic cedar
#

how do you debug yourself in a joker while it's hidden from the collection?

sonic cedar
#

for the funny sparklesyellow

chrome widget
#

Honestly yeah, I probably will

sonic cedar
chrome widget
sonic cedar
#

well yeah thats what im doing now

#

yk what yeah if it aint broke dont fix it

supple fractal
#

may I ask for assistance

#

I have a card which runs a 1/6 chance to divide the blind's required score by 6 if the hand is exclusively a six, and if it triggers then it will destroy the six

#

however the way it is currently strutured means that it destroys the six instantly, before it plays the scoring animation

#

how do I make it so that it triggers after everything finishes scoring

#
        local destroyed_cards = {}

        if context.individual and context.cardarea == G.play then
            if #context.full_hand == 1 and context.full_hand[1]:get_id() == 6 then
                if pseudorandom("roulette") < G.GAME.probabilities.normal / card.ability.extra.odds then
                    for i = #context.scoring_hand, 1, -1 do
                        destroyed_cards[#destroyed_cards + 1] = context.scoring_hand[i]
                    end
                    print("<")
                    G.GAME.blind.chips = G.GAME.blind.chips / 6
                    if context.final_scoring_step then
                        for i = #destroyed_cards, 1, -1 do
                            local card = destroyed_cards[i]
                            if card.ability.name == 'Glass Card' then
                                card:shatter()
                            else
                                card:start_dissolve(nil, i == #destroyed_cards)
                            end
                        end
                    end

                    if context.destroying_card then
                        print('big amn')







                        return {
                            message = "BANG!",
                        }
                    end
                else
                    print(">")
                    return {

                        message = "click...",
                    }
                end
            end
        end
    end,```
#

here is my code

latent portal
#

Question: I want to make a Joker which changes the price of all items to 0 when you enter the shop (like the Coupon Tag). Which context should I use?

sullen fern
#

three more suits.

latent portal
hard flume
#

I'm still trying to figure out how to make the worlds feature work

red flower
#

what's that

sullen fern
latent portal
#

is there a context for entering the shop

red flower
#

context.starting_shop

#

not documented i think

crimson marlin
#

does anyone know how to modify/change blinds to be a different blind type

latent portal
sullen fern
#

even still. this damn code.

#

why does it not do the thing i want it to do

hard flume
# red flower what's that

Worlds are run modifiers that give access to Jokers, Consumables, Blinds and other features as long as you are "in" that World.

#

I'm not sure if I need to patch for that to work, but I'm willing to do whatever I need to to make it work

red flower
#

I would just make a new joker-like object that represents the world

#

it's like the easiest thing

hard flume
#

.... why didn't I think of that lmao

red flower
#

You will probably need to take ownership of things if you want to take them out of the pool while you're in certain worlds

hard flume
#

Yeah I know that much

#

Thanks though!

#

I would've overcomplicated it if you hadn't helped.

#

Is there a way to put it in its own card area, though?

#

I should probably get it working first, actually, then work on putting it in it's own area.

sullen fern
red flower
sullen fern
#

i'm getting desperate at this point

glad osprey
#

how do i merge the new and old rank things

eternal galleon
#

Is there a reliable database or other source of information on all jokers, blinds, tags, etc. and how they've changed in newer versions?

I wrote a Discord bot for Balatro a while back. At the time I manually scraped all the 1.0.0 jokers from the wiki. The information in the bot is now quite outdated, and I'd like to add support for more than just jokers. It would be great if there was a database I could use rather than trying to pull everything off the wiki again.

sullen fern
#

WHAT THE FUCK

formal parrot
#

Hey chat

sullen fern
#

is it return false that's causing the issue?

tardy wind
sullen fern
#

the issue is that my suits dont appear in boosters

tardy wind
#

the vanilla boosters ?

#

or custom ones

eternal galleon
# tardy wind the game itself

True, I could modify the lua source to log the data. Was hoping someone had already dumped the data, but if not I can do that.

sullen fern
#

in the vanilla standard pakcs

#

six suits allows their custom suits in boosters

tardy wind
tardy wind
#

Nothing wrong with that

sullen fern
formal parrot
#

I have a 2 week vacation 😭😭

#

Yessssss

#

Starting tomorrow 12 am

sullen fern
#

i just don't understand

tardy wind
sullen fern
#

no i have vscode

#

you've seen me post screencaps of vscode before

tardy wind
#

i probably have

#

my memory is failing me

#

i mean the function itself here allow_suit is fine

sullen fern
#

sharing the code snipped again

tardy wind
#

allow_suits is also not a pre-existing vanilla function so its gotta be called somewehere

#

where are those functions supposed to be called ?

sullen fern
#

in_pool

#

common suit example

latent portal
sullen fern
#

the common suits are intended to be in the base deck

tardy wind
red flower
minor magnet
#

i have an issue.

sullen fern
#

that's literally it

minor magnet
tardy wind
#

if args and args.initial_deck return false looks wrong to me...

latent portal
red flower
minor magnet
latent portal
#

ok

#

then uhh

#

idk

minor magnet
#

they just have to display correctly

latent portal
#

N'? any ideas?

red flower
#

huh? me?

latent portal
#

yea

#

ur smart

red flower
#

what's the question

sullen fern
tardy wind
#

with custom code

sullen fern
red flower
hard flume
#

How would I go about having jokers change music and background?

red flower
#

i was wrong on that

sullen fern
crimson marlin
#

does anyone know how to modify/change blinds to be a different blind type

tardy wind
# sullen fern
local function common_suits(self args)
  if args and args.initial deck then
    return true
  end
  return false
end

local function rare_suits(self, args)
  if args.initial_deck then
    return false
  end
  return true
end
#

im not sure what args.source is

sullen fern
#

i don't want the rare suits to appear in the deck

red flower
tardy wind
#

what about now ?

#

if initial deck false otherwise true

red flower
#

common suits should appear in boosters too right?

sullen fern
#

yes

#

which is what my code does

tardy wind
#

the common_suits function can just be a return true

#

rare_suits looks fine...

red flower
#
local function common_suits(self, args) -- you can get rid of this function too i guess
  return true
end

local function rare_suits(self, args)
  return not args.initial_deck
end
sullen fern
#

oh my god. it works now

tardy wind
#

you'll get there, programming is easy

sullen fern
#

rare suits also appear in boosters

tardy wind
#

nice !

tardy wind
sullen fern
#

yeah? they're custom suits

tardy wind
sullen fern
#

i don't get what you're trying to say here

tardy wind
#

That im dumb LMAO

sullen fern
#

well call me dumb as well

tardy wind
#

Design question, whats better

  • A consumable adds an effect in a queue that is triggered before any other effects are applied. A custom card area is used to display them
  • A consumable adds a (negative for no space, cant be sold) joker which gets their effect triggered before other jokers
#

first one kinda requires more work but i dont want the joker cardarea to become convoluted a lot

zealous glen
#

The first one

#

You check out Ortalab

#

I think they do something similar already

tardy wind
#

looks deprecated but I’ll try to check it out

rough furnace
lost fern
#

I have this context on an edition. For whatever reason it triggers three times, once per context I believe. I want the edition to trigger just whenever the card is triggered, like you would expect foil to. How do I fix this?

hard flume
tardy wind
#

I believe it gets triggered three times because calculate is called a lot of times

lost fern
tardy wind
#

like, an obcene amount of times

#

so it probably gets triggered once for pre_joker and twice with your () condition

lucid owl
#

resurrecting this - anyone know how to make a joker a custom size when using another atlas?

tardy wind
lost fern
#

ok sooooo, how do I display a message for +chips, because Im using calculate_effect because Idk how to otherwise (cant figure out message)

hard flume
rough furnace
lucid owl
lost fern
hard flume
#

Yes

lost fern
#

huh ok

tardy wind
lost fern
#

But I have mine set to run during when a card plays or when a joker activates?

tardy wind
#

(i belive)

#

message = "text"

lost fern
hard flume
#

SMODS.calculate_effect is used during consumables or playing cards to give them calculation abilities, whereas the calculate function is used in cards that support it to do as you said.

quartz ravine