#Joker Forge - Create Balatro Mods Visually and Export the Lua Files (WIP)

1 messages · Page 15 of 1

wild pier
#

i think

heady frost
#

that would be cool to do when joker forge can create custom boss blinds

#

though that will probably be a while lol

#

i have NOTHING else to say about myself

silent rock
#

you can change any music

sour spear
#

useful for dna or showing if something is active

wild pier
silent rock
#

and its done in a way where it would be easy for jokerforge to implement

wild pier
#

oh wait yeah

#

tangents can do that i think

heady frost
#

my one and only commit to the lucky rabbit mod is adding a shake animation to a joker

wild pier
#

yeah you can do any music

#

even bg music

#

i think

#

yeah bg music too

heady frost
#

also i think destroy joker would be cool to choose the animation that plays when you do so

icy crow
#

This bot is starting to annoy me

heady frost
#

this was also you telling me to merge the pr

#

undeniably the GOAT

hidden oriole
icy crow
#

just a placeholder

#

added from here

heady frost
icy crow
#

also now there's 7/11 chance of the placeholder being cebeedrawz's placeholder

white oyster
#

is there a place where I can post the errors I've been getting to see if they can be fixed

icy crow
#

here

heady frost
heady frost
short onyx
#

i can't draw so here are the best placeholders i can make

white oyster
#

no idea how much of the error thing I need to show

heady frost
wild pier
#

can we see all the placehodlers rn

icy crow
white oyster
#

basically I tried to make a joker that doubled probabilities and had a 1 in 5 chance to destroy itself, and when destroyed it would create another joker

icy crow
#

and the jokers

white oyster
#

but that wasn't working so I just made it destroy itself after a boss was beaten and create the joker but it STILL isn't working

heady frost
white oyster
#

I've turned all the other mods off

#

will I need to outright delete them or move them to another folder

icy crow
white oyster
heady frost
#

also you should update your steamodded

icy crow
#

hmm

white oyster
#

oh am I using an old ass version

icy crow
#

yes

heady frost
#

not super old but a new one came out sorta recently

wild pier
#

going to make a placeholder rn

icy crow
#

before*

#

May 10

icy crow
#

the error sounds like the one i tried fixing

wild pier
#

badum tsss

#

hah.

white oyster
icy crow
#

you can just send the file

#

smods probably isn't the culprit here

white oyster
heady frost
#

instead of an [s] tag

icy crow
#

this is the exact problem i "fixed" yday

heady frost
#

lol

icy crow
#

is my code flawed

white oyster
icy crow
#

surely .replace wouldn't fail me

white oyster
#

I've used new lines in ALL my descriptions that are long

#

uh oh

icy crow
#

can you send the json?

heady frost
#

[s] tags basically act as new lines

white oyster
icy crow
#
const escaped = formatted.replace(/\n/g, "[s]") 
white oyster
icy crow
#

hmm

white oyster
#

so I think that just might be what's wrong

heady frost
#

i think the issue is that people are editing their descriptions straight from the joker card which doesnt warn you about it

heady frost
#

and it will work perfectly

icy crow
white oyster
#

should I be doing spaces as well

icy crow
heady frost
#

its just new lines

#

because the code generation takes all the [s] tags and treats them as markers for new lines

icy crow
#

i have no idea what happened but my new lines work fine

icy crow
heady frost
#

who knows lol

white oyster
#

so uh

white oyster
#

thanks for the help

icy crow
heady frost
#

let me know if your jokers work nicely!

heady frost
icy crow
#

im confused

#

that's why i wanted not working json

heady frost
#

maybe they have been using it since before you changed it and just didnt refresh

icy crow
heady frost
#

i wouldnt worry about it unless someone else has the same issue too

#

good fixes tho btw

#

you are so goated for it

icy crow
#

im just doing the easy things

#

aka. not code gen

heady frost
#

the code gen is actually pretty nicely coded, its the ui that is a mess and bad

icy crow
heady frost
#

true

heady frost
#

ty

lapis mauve
#

Should i make some more

icy crow
#

🙏

lapis mauve
#

what kinda stuff 🤔

#

i'll make uh

#

a voucher and booster maybe

sour spear
#

ill make 4 joker and consumable placeholders tommorow if yall want

icy crow
icy crow
icy crow
wild pier
icy crow
#

joker placeholder

nimble island
#

is this cool

lapis mauve
icy crow
#

why tf is there a new line there

lapis mauve
#

ok i aint gonna make any boosters

#

cuz like

#

theyre annoying

icy crow
#

make the booster

lapis mauve
#

no

#

the gradient is annoying

#

another one

icy crow
#

added

#

not on site untill i merge this btw

lapis mauve
#

also this

#

boss blind joker template

#

fixed it being too low

#

also throw this in here for funnies

icy crow
#

i found the problem with new lines (probably)

#

my "fix" isn't implemented in consumables

#

🔥

heady frost
icy crow
#

dont merge that pr btw

#

for now

#

ok fixed

#

no way you actually switched

delicate cave
#

Why is the "add Dollar" effect gone

heady dock
#

where are you looking for it

crude trail
#

What did they add? I didn't see the messages

delicate cave
heady dock
#

maybe got changed to edit dollars?

#

or its just not an option in whatever trigger youre looking in

icy crow
#

@delicate cave ^

heady frost
#

because set implies only set

delicate cave
icy crow
#

also the pr is ready for merging btw

heady frost
icy crow
#

i seriously don't know why you filtered those empty strings

heady frost
#

if i remember what you mean

burnt bridge
#

Is there anyway to contribute to the repository???(I would like to add being able to create rarities as well)

icy crow
#

the fix to the issue of two [s] was commenting out one line (in two files)

heady frost
icy crow
icy crow
burnt bridge
#

oh yeahh

#

I'm blind lmao

heady frost
#

no worries

heady frost
#

for contributing

icy crow
#

i hope you are reviewing my pr's and not just blindly merging them

heady frost
icy crow
#

mind you yday was the first time i touched ts

icy crow
heady frost
#

you have been smashing it honestly

icy crow
#

i mean i tested it and it worked

burnt bridge
#

is there any plans for being able to create your own custom blocks?

heady frost
#

would be super cool

#

but i cant think of a way that would work

icy crow
#

I'm going to read through the code gen

heady frost
#

good luck

#

nah its actually not too bad

icy crow
#

And consider making animated sprites

#

But that would need it's own atlas preferably

#

And its own interface on the page

heady frost
#

entry.ts is the main orchestrator, it calls the index.ts of jokers and consumables when it finds them, then those files call conditionutils and effectutils. every condition and effect is its own file

#

its organised fairly well

#

there is an imageprocessor file that handles the image creation stuff

icy crow
#

There's a image processor file???

#

Then why tf is there an upscale image function defined in 4 different files?

heady frost
#

image processor handles making the atlas folders and adding jokers to the images

heady frost
#

the only reason it upscales to 2x on upload is so that differently sized images dont mess with formatting

burnt bridge
# heady frost i havent even considered that lol, i mean how would that even work

Just thought of it
make a new tab called custom blocks
there'll be blocks which the user created,a create new button,export button and import button
whenever the user clicks create a new custom block a interface appears with the following:
block_type:Either trigger condition or special
block_code:The block logic written in lua
block_category:(Category of the block gameplay round events etc)
block_desc:A description of what the block does

heady frost
#

just mindlessly

heady frost
#

if something like that were to be implemented tho, it would come much later on

icy crow
#

Plans changed I can't work rn

heady frost
crude trail
#

From one to ten, rate the thumbnail of my mod

burnt bridge
wild pier
#

add a advertisement on the side

#

subway surfers

#

and make it slightly more green

burnt bridge
#

and make the quality of everything worser

#

except subway surfers

#

cuz subwy surfers

wild pier
#

and add peter griffin in the top left corner

#

and markiplier in the top right

burnt bridge
#

fr

#

that'll go from twenty to fourty five

vagrant acorn
#

On the GitHub it says this lacks blueprint logic.... But is it possible considering the BP options in the editor

heady frost
burnt bridge
#

so the blueprint can't do the joker effect twice whenever it copies it?

heady frost
#

it can do it twice, but theres some jank interactions sometimes

#

in like certain cases

#

usually its fine tho

smoky sorrel
#

@heady frost just trying to understand the code, why does it need a fallbackVariableName in this check?

  if (typeof value === "string" && fallbackVariableName) {
    return `card.ability.extra.${value}`;
  }
heady frost
#

but dont take my word on that im not 100% sure lol

icy crow
#

did i push a revolution with my commits?

vagrant acorn
#

Yeah based on my previous test it seems like it worked fine

heady frost
#

i think its only in more niche combinations of effects

#

and also the variables increment twice for example when it shouldnt

#

things like that

smoky sorrel
smoky sorrel
heady frost
#

some parts are quite spaghetti, code gen is nicer than the ui stuff but regardless i do need to clean it up

#

its because i didnt have any good frames of reference on how to do a system like this

#

so it was me basically trying shit out

#

and seeing what seemed best

crude trail
#

Is something missing?

smoky sorrel
#

but its actually pretty organized

heady frost
#

the stuff ive been writing recently for the code gen has been quite decent

#

i wish i could start the project again with the knowledge i know now, going back in time, but alas

wild pier
crude trail
wild pier
heavy schooner
#

do you mind me asking what these are (or will be) used for?

nimble island
nimble island
icy crow
heavy schooner
icy crow
#

i think he resorted to downloading from fandom

#

im not sure tho

crude trail
#

Now I'm going to sleep

icy crow
#

goodmorning what in the console spam

heady frost
#

it was for when i was debugging placeholder jokers credits

#

didnt delete it cos why not

icy crow
nimble island
woeful bough
#

Just woke up is tetra mult added?

smoky sorrel
icy crow
#

s

heady frost
#

might come back to it later on but for now its shelved

icy crow
#

no way new pr just (23 min ago) dropped

heady frost
smoky sorrel
heady frost
#

goated honestly

heady frost
#

can i give u close permissions on the github

#

i just closed them now

wild pier
#

mr morning can we see the placeholder images again

heady frost
#

it was all @icy crow work

icy crow
icy crow
#

i had nothing to do with that

heady frost
#

but it was pointless

#

because

#

i just got given a folder with images in

icy crow
#

next time go check yourself

wild pier
heady frost
#

theres so many now

#

holy peak

heavy schooner
lapis mauve
icy crow
#

yes

#

from Glitchkat10

lapis mauve
#

make it spin

icy crow
#

im not implementing the animated things

#

if atlas making would be easier to understand for me then maybe

heady frost
#

i dont even know how animated sprites work in smods yet lol

icy crow
#

animated atlas is just for blinds

wild pier
#

placeholder

icy crow
lapis mauve
#

but what about adding the text and jimbo onto it

wild pier
#

placeholder

wild pier
lapis mauve
lapis mauve
icy crow
lapis mauve
#

yes thats an image

icy crow
#

last time i had problems because i didn't notice they weren't

lapis mauve
#

yes thats a joker template

wild pier
lapis mauve
#

yes its completely transparent

lapis mauve
icy crow
#

WAIT IT WORKS IN 142x190 ????

#

WHY DID IT CRASH FOR ME THEN

wild pier
#

dude

lapis mauve
#

don't add these yet since i'm asking HoodlyTheOwl (the artist) for premission but possible joker templates

wild pier
#

new place holder

lapis mauve
#

woulve been for our collab mod bananalatro but we got burnt out sadly

wild pier
#

yes, that is a stock photo

icy crow
wild pier
#

fuck thats the same image

smoky sorrel
#

figured what is happening here

#

value: Number(effectValue) || 5,

#

if i pass 0 as a value it sets to 5

icy crow
#

something im trying to implement

lapis mauve
#

ok he gave premission

lapis mauve
#

credit HoodlyTheOwl though, not me

heady frost
heady frost
swift night
#

What's happening here lol

heady frost
#

schizophrenia placeholders

swift night
icy crow
#

i didn't add any of them

heady frost
smoky sorrel
#

yeah i know

heady frost
#

so it defaults to 5

smoky sorrel
#

opened a pr, it should be fixedq

heady frost
#

oh shit

smoky sorrel
#

just changed it to ?? lol

heady frost
#

you guys are so goated goddam

lapis mauve
#

No u

neon marten
#

Can you add a feature for consumables to apply editions to specific jokers? like, rightmost or leftmost joker.

smoky sorrel
#

does "when a card is bought" work for jokers?

woeful bough
#

Yea

heady frost
#

which allows you to just select jokers

#

then apply editions and stuff to them specifically

icy crow
#

i think i found the one

heady frost
#

i was meant to do that today, add a bunch of conditions, but i got distracted by bugfixes

heady frost
neon marten
#

also copying consumables

heady frost
#

is there no copy consumable?

#

damn

icy crow
neon marten
icy crow
#

is there an order or do i just append to this monster?

heady frost
neon marten
#

the VR avatar is a reference to my Blobtown avatar (blobtown - kinda like rec room, but mostly focused on art)

heady frost
nimble island
humble lion
#

has anyone made a custom rarity, and made a consumable to create a joker of that rarity? Like The Soul. i cannot get it to work for me, even though the blocks all seem to be fine

nimble island
#

yeah i have

#

what does it look like

#

the blocks

humble lion
#

theres not much to it

#

it just always makes a Jimbo

heady dock
#

thats because

#

you have no jokers with that rarity

humble lion
#

i have 4

#

the rarity seems to be assigned right in the json for each

nimble island
#

what does it show in game

#

jimbo or nothing

humble lion
#

jimbo when i use the consumable

#

the jokers themselves show in the collection as the custom rarity

nimble island
#

thatg happened to me

#

but then i think it was fixed so idk

humble lion
#

huh

#

i tested recreating the soul, and making a custom joker of legendary rarity, and that works, so

#

idk

woeful bough
#

I think creating jimbo when a custom rarity is made is a big still

neon marten
#

someone should make smth similar to this, but for TBOI

humble lion
#

well yeah its like using soul when you have the other 5 legendaries already

#

hes the backup

icy crow
#

ok it might work

icy crow
#

quick question. Is this the right spot for it

woeful bough
#

was set ante level fixed?

icy crow
#

idk

heady frost
#

i think it must be an issue with smods add_card

#

the fix is a tomorrow job tho

icy crow
#

guys i might be cooked this round

heady frost
icy crow
#

it is broken

woeful bough
#

its not a really massive issue but it makes a few of my jokers description lies

slate glen
slate glen
heady dock
slate glen
#

everyone has already done everything

#

well jokes on them

#

I’mma make the hanged man for jokers

icy crow
#

im fixing set_ante btw

humble lion
wild pier
#

place your holder bro

#

place the holder

#

place the holder for it bro

humble lion
#

i would also like an effect (like baseball card) that references the number of jokers you have of a custom rarity as a variable

#

but that must come after the other thing

icy crow
#

i think i fixed the set_ante

heady frost
#

what was the issue with it

#

i didnt even know there was one lol

icy crow
#

there was none

#

at least i couldnt find it

heady frost
#

yeah, if i remember it worked for me

#

worked on my machine lol

icy crow
#

so i copy pasted some code from cryptid and changed values

#

and now work

heady frost
#

i guess wrapping it in a func fixes it lol

#

i love merging untested branches

icy crow
heady frost
#

also, it will always fail vercel until its on the main branch because vercel is overly strict lol

heady frost
#

so for this one id make one for set, one for add, and one for subtract

icy crow
heady frost
#

youve been on a roll today

#

thank u very much, its a massive help

icy crow
# icy crow i did that

and found that my first try was wrong because i subtracted a negative number instead of adding it

icy crow
#

at least it worked on my machine

#

any effects need to be added>

heady frost
#

theres a bunch of little ones

#

you can try where i failed with the tetration one

#

with a parameter for number of arrows

#

imo conditions are easier to implement anyways lol

icy crow
#

ok i'll try to implement some from the checklist

heady frost
#

once you get into a rhythm, because a lot of the simpler effects and conditions follow the same pattern, it gets quite straightforward

icy crow
heady frost
icy crow
#

shit i forgot to check the checklist for Alter Blind Requirement

heady frost
#

and then editing the parameters and stuff is in /data folder

#

and it just works

#

im glad youve been able to make some understanding from some of my jank code

icy crow
#
if G.STATE ~= G.STATES.SELECTING_HAND then
    return
end
G.GAME.chips = G.GAME.blind.chips
G.STATE = G.STATES.HAND_PLAYED
G.STATE_COMPLETE = true
end_round()

putting this here so i dont lose it

#

goodmorning why is the checklist so out of date

#

Add/Subtract/Set Consumable Slots and Add/Subtract/Set Joker Slots

crude trail
#

no more buggy?

icy crow
#

who knows

#

test it

woeful bough
#

update to SMODS new probability system?

wild pier
icy crow
#

?

woeful bough
icy crow
#

idk

#

the fact that it uses new implementation doesn't mean entire effect was reworked

#

i'll check it out after im done with beat current blind

smoky sorrel
#

is there a list of all contexts used in balatro?

smoky sorrel
#

thanks

icy crow
#

what are you working on?

woeful bough
#

idk if im going to make another of all the sinful suit jokers but this is one

humble lion
#

does this add 2 hands permanently (like grabber) or temporarily (like burglar)

smoky sorrel
#

by using the context used by tags

#

like the coupon tag

icy crow
#

what in the bug is this

heady dock
#

round ended twice

#

happens sometimes??? idk what causes it though

icy crow
#

ik what

#

my code

nimble island
#

what in the eastern farmer

icy crow
#

git tree before i started committing

#

git tree now

#

i feel bad

#

ok now to the probability thing

#

Also I think cokeblock is really inpatient

crude trail
heady frost
heady frost
icy crow
#

It's this big because I constantly forget to press pull

heady frost
icy crow
#

could i rework double probability as it's own trigger? (or at least try to)

#

that would allow for conditional changing of probability

#

for example modifying only wheel of fortune

#

ok my current plan is as follows:

  • get Beat current blind effect merged.
  • create a new branch
  • rework probability on that branch
smoky sorrel
#

are pokerhand variables supposed to be game variables?

icy crow
#

also i swear to god goodmorning read what pr's changed

#

trusting a guy with less than 2h experience in typescript (referring to the first pr) isn't safe

heady frost
heady frost
heady frost
#

but i do look at the commits

#

and im okay enough at typpescript to know if something looks like it will work thankfully

icy crow
#

and you cannot make the 2nd one without an if

heady frost
heady frost
icy crow
#

vscode extension

#

looks nicer

heady frost
#

it does

#

that line is useless

#

184

icy crow
heady frost
#

wait no its not

icy crow
#

oh no return?

heady frost
#

but i guess you technically dont need it you are correct

heady frost
# icy crow

i just committed a bunch of stuff in a rage but that file was actually fine lol

icy crow
smoky sorrel
#

so the inspector looks like this

#

but actualy #1# is the chips_var

heady frost
smoky sorrel
#

yeah i tried looking at it but i dont know the game variables are supposed to work

#

it is used as G.GAME.current_round.hand_var_hand

heady frost
#

a lot of the variable related code needs to be tidied up a bit, send me the json from the site

#

and i will see what the issue is

#

tomorrow tho its bed time for me rn

heady frost
smoky sorrel
#

np

icy crow
#

im not sure if i should include Set to as a operation for the modify probability effect

heady frost
#

I'm very noobish to the new probability stuff so idk

icy crow
#

i mean more like i would have to do some tweaking to the system. because set to has it's own context

#

so it would probably land in passive

#

and i would prefer it all being in one effect

#

so you don't end up with people asking how to set probability because that option is "missing"

verbal cipher
#

im stealing this joker idea its too funny

#

its good too

calm cypress
icy crow
#

it will only appear when a card is destroyed and it isn't glass

#

you would have to switch the rules around

#

so the one creating the card would be rule 1

woeful bough
#

destroying 2 (or more) in one effect only modifies one variable?

calm cypress
#

and i cant play any more hands

icy crow
#

uhhh

#

this has to be a problem with creating the card

#

@heady frost i need some explanations

#

ok nvm im just stupid

sour spear
#

does the when joker is sold, create a copy of the joker even work if the slots are full?

sour spear
#

i tried it and it didnt even copy if joker slots are full

#

it only works if theres 1 free slot

hasty bane
#

completely new to this program, is there a way to make this?

sour spear
#

i dont think we can prevent the round from ending

hasty bane
#

ok ty

smoky sorrel
#

starting_shop exists

cunning rover
#

Just tried using the Joker Forge for the first time, I first tried to implement 1 joker in a mod to see if it'd work
It does add 1 Joker to the collection, but whenever I try to view it (or whenever it shows up in the shop) it just crashes the game with this message
Any idea what I did wrong?

smoky sorrel
#

did you export the whole mod folder or just the joker?

cunning rover
#

The mod folder
Which contains assets folder, jokers folder, main.lua and a json

smoky sorrel
#

does the folder structure look like this: Balatro > Mods > your-mod > 4 files?

cunning rover
#

Yes

smoky sorrel
#

send the json file of your mod lemme see if it works

vagrant acorn
#

Yo I just relized something there isn't currently a way to properly recreate photograph

#

If we could get that it would be nice

vagrant acorn
smoky sorrel
# cunning rover

not this json, click the 'Save Mod' button on bottom left corner

smoky sorrel
#

yes

#

just imported and it works for me

#

make sure you have the dependences

cunning rover
#

It's just Steamodded right?

#

I have that already since I have Cryptid mod, is there anything else?

#

Wait but
I don't have this json in my Mods folder anywhere
I only have the first one that I posted
Should I put this one there instead?

smoky sorrel
#

no this is just for sharing mods

#

just click export and extract the file into your mods folder

icy crow
#

The 1st is for Balatro

#

The 2nd for Joker Forge

cunning rover
#

Okay i dont know what changed to make it work but after uninstalling and reinstalling the mod files a few times it just randomly worked

sour spear
robust axle
#

is there any way to destroy hand after its triggered

crude trail
sour spear
woeful bough
#

that is insane

sour spear
#

uh yeah let me fix that

#

oopsies :3

#

they really should add an "are you sure you wanna delete this joker?" to this button

teal ibex
#

is there a way to modify other jokers values?

#

like tropical smoothie from cryptid or smth

sour spear
#

nope

woeful bough
teal ibex
#

would be cool

#

this page is really cool i dig it

#

im thankful

sour spear
storm hamlet
#

Is there plans for the consumable Destroy Random Joker effect to be able to target a specific joker?

vast frost
#

do random groups inside of custom jokers crash the game for anyone else?

verbal goblet
#

Using this website to make jokers based on my stupid ideas, Pfetty cool!

woeful bough
#

i wish i did this better but it looks fine :/

exotic quartz
#

@heady frost were random groups changed? anything using them seems broken now

woeful bough
exotic quartz
woeful bough
#

idk

glacial arch
#

having trouble creating random jokers of my custom rarity, whenever this triggers it just makes a random joker of any rarity

woeful bough
#

prob fixed tomorrow (or later depending on timezones)

glacial arch
#

oh okay ty

heady frost
heady frost
oblique sail
woeful bough
#

But their effects will get multiplied

oblique sail
#

I would have just based them of the stone variant joker

woeful bough
#

Like diamonds will be: gain 1 dollar per scored diamond, multiplies amount by x1.1 per scored diamond

oblique sail
#

Yeah that's what I meant

#

But what about hearts

woeful bough
#

Bloodstone is probably just going to be a cracked version of itself

#

Maybe even transcendent

oblique sail
#

Maybe multiply by 1.05?

woeful bough
#

It's probably going to start off as "each heart card gives x1.1 mult when scored, multiplys by x1.05 per scored heart card"

oblique sail
#

Yeah

#

It'd be op if I have all 4 and play a wild card ngl

woeful bough
#

But I think it would be funny if the number it multiplys by went up to

#

Like the x1.05 doubles every round

oblique sail
#

Its possible

woeful bough
#

Yeah

#

Hearts is already the best stone

oblique sail
#

Man

heady frost
#

lmao

oblique sail
#

This is what i am trying to make

heady frost
#

fire idea tho

oblique sail
heady frost
#

but tbf I think it could be stronger 1.5x mult seems weak

heady frost
#

I think when you make a random chance, in the background it already creates numerator and denominator variables so you can reference it in the description, you might have to change your custom variables to something like numvar and denvar or something

oblique sail
#

Ok

heady frost
#

which is why there's two numerator and denominator variables in the dropdowns

oblique sail
#

It still has the 2 variables but oh well

heady frost
oblique sail
#

Its not selecting two at once tho

heady frost
icy crow
#

Good morning

heady frost
#

goodmorning

#

my sleep schedule has been better

#

gonna implement the 'card index in hand' condition for card scored

#

and also 'first played []' condition for card scored too

#

for hanging chad and photograph

#

then i will finally fix the rarity joker creation bug

icy crow
#

I'll do some irl stuff and see what I can do on my mini rework

sour spear
icy crow
sour spear
#

theres 2 things im craving for this website
its cosmetic blocks
and booster packs

icy crow
#

Cosmetic blocks?

sour spear
#

play animation

#

custom sfx

#

and change bg music

heady frost
icy crow
#

Yeah I already added an else if into the mix of those

icy crow
#

Assuming I understood how the zip is packaged

heady frost
#

kinda like show message

#

and then the parameters are just presets of what animation type

icy crow
#

For sounds I thought about new page names sounds(similar to jokers/consumables)

#

And then they show up in the effect

#

User would upload .ogg (preferred iirc) file and give it a key

heady frost
#

that would be good because it allows users to upload a sound once and use it everywhere

#

but also a lot more effort to make

#

i was gonna just do custom sounds like an effect, then in the inspector you could upload a file

icy crow
#

Then the code gen generates a file with

SMODS.Sound{
    key="LetsGoGamblingSound",
    path="gamblecore.ogg"
}

for every sound

heady frost
#

but even then thats hard lol

heady frost
#

i didnt know smods had a sound

icy crow
icy crow
#

No I don't remember what those 1's mean

heady frost
#

just implemented the card index condition

#

so hanging chad is much easier to make now

sour spear
#

made some more placeholder images

heady frost
#

my mother has just rang me to invite me to go get lunch with her so i will do the photograph specific condition later lol

icy crow
forest sigil
#

Im brand new to modding, how to i install the custom jokers i made? 🫠

heady frost
#

make sure you have smods too

#

latest release 0711a

#

your mod folder path should look something like this C:\Users\Jayd\AppData\Roaming\Balatro\Mods

forest sigil
#

i installed Steammodded through Balatro Mod Manager, but when i put the json in the mods folder, it doesnt show in game

#

am i supposed to put it in the mod_index or just the Mods folder

heady frost
heady frost
forest sigil
#

ahhh okay thank you :]

heady frost
forest sigil
#

Should my jokers be showing up in the collection tab if its working properly?

heady frost
#

if you can, can you send a screenshot of your mods folder

heady frost
#

you need to extract the "mycustommod"

#

so its just a regular folder like steamodded and lovely

forest sigil
#

oh yeah

#

its workin now

heady frost
forest sigil
#

youre my hero :]

#

Yeah its over, time to shit post

heady frost
#

so fire

forest sigil
#

i assume i can spawn the jokers the same as other jokers through the debug menu

heady frost
#

hopefully they work as intended 🤞

nimble island
#

i keep getting this error about ipairs

#

it happens when i discard with this joker

#

its supposed to gain x1 mult for every face card discarded

#

but it crashes

forest sigil
#

oof yeah my joker also crashed my game lol

sour spear
heady frost
#

that is strange, make a bug report on the GitHub if you can be bothered with the saved mod JSON

#

to make sure I don't forget

#

there might be a big bug with some of the code generation

harsh forge
#

What price and rarity should this be?

abstract arch
icy crow
#

i hate modifying code gen i hate modifying code gen i hate modifying code gen i hate modifying code gen

slate glen
#

it’s very similar to Mr Bones, just with a different drawback

icy crow
#

what did i do to create object Object 🙏

#

ok fix probability is done

verbal cipher
#

i should make this joker

icy crow
verbal cipher
icy crow
#

yet

#

i'll finish up modifying probability (separate effect) and then i'll make a pr

verbal cipher
#

jaden williams damn gif

#

im so mad thats actually a funny idea

icy crow
#

good lord my downloads folder

verbal cipher
icy crow
#

i mean i just press export mod files

verbal cipher
icy crow
#

and then open the folder straight away

verbal cipher
#

i just save all of my attempts in a different folder

icy crow
#

organising this is a waste of time when it takes (usually) 1min to fix a specific problem im facing

verbal cipher
icy crow
#

¯_(ツ)_/¯

#

also i do hope these are known

#

(yes they're on main)

sour spear
icy crow
#

I'll add them after I finish up lunch

icy crow
#

ok Taylor added them

icy crow
#

@heady frost sorry for ping but would turning 1st image to 2nd image (to allow for the json to be exported with the mod files) be ok?

#

it may be a stretch

#

actually to this

#

and i switched the function name from PascalCase to camelCase

heady frost
#

there is already a file that handles exporting and importing the mod JSON

#

you could just call the function in that file when export mod is also called

icy crow
#

yeah and im editing that

heady frost
#

oh shit mb

#

I'm out atm

#

if it works, it works lol

icy crow
#
  a.href = url;
  a.download = filename;
  document.body.appendChild(a);
  a.click();
  document.body.removeChild(a);
  URL.revokeObjectURL(url);

i edited it because of this part of the function

#

for importing i did (image below) for compatibility with old saves

heady frost
#

you're actually pretty good at typescript

#

tbf as long as you know programming it's not the hardest language in the world but still

icy crow
heady frost
#

you're the goat tho fr

#

I'm out ATM but Taylor might be able to merge it lol

icy crow
heady frost
#

it's because I'm the type of programmer to quickly get shit done when it comes to projects like this

#

cos I think it's more valuable to get a good prototype out, then later on refactor

#

but that builds up a lot of tech debt

heady frost
#

home now

icy crow
#

is there a way i can disable a probability on a effect?

heady frost
#

i dont think so

icy crow
#

fix probability effect with a random group = stack overflow

#

modify probability most likely too

heady frost
#

oh wow

#

just had a look at the changes

#

really nice

icy crow
#

maybe i could fix that by not using the new probability in that effect

heady frost
#

then based on that parameter, dont show the probability button for the effect

#

or

#

you could just ignore it and put it as a bug on the github

#

because its so niche

icy crow
#

niche but probably will be encountered a bunch

heady frost
#

true perhaps

icy crow
#

well at least i thought about this edge case before merging it to main

#

"edge case"

heady frost
#

im gonna try and fix the custom joker spawning bug

icy crow
#

Good luck

heady frost
#

ooohhh

#

the bug is with the create joker effect for jokers

#

not consumables

#

the consumables one works perfectly lol

#

i thought people were struggling with the consumables one which i fixed before but it turns out they both need fixing

icy crow
heady frost
#

i love the system ive created for adding effects and conditions

#

i love how you can just add one to the data files and it even autogenerates the stuff like = 1

icy crow
#

copy pasting your code 🔥

#

-# mostly

heady frost
#

bruh i just spent like half an hour searching for the reason my mod prefix was coming out as a string of random characters for me just to realise that i was passing the parameters in the wrong order haha

#

i was passing it like

ruleid
modprefix

when it shouldve been

modprefix
ruleid

#

the fix should be out soon btw

icy crow
#

thoughts?

#

or just leave it in special

heady frost
#

better seperation

icy crow
#

im not sure which one would be better

heady frost
#

how are you finding typescript and react programming

icy crow
#

typescript just like any other language, with its own quirks

#

react i didn't even touch

#

maybe except that icon

#

if you want to count that

icy crow
heady frost
#

the fix for create joker custom rarities is out lets go

heady frost
limpid robin
#

How do we feel about this joker?

icy crow
#

it looks too much like the regular blueprint imo

#

imagine using the soul and seeing blueprint

heady frost
woeful bough
heady frost
#

lol

icy crow
#

im so mad at myself because i (for some reason) named the file SetProbability instead of FixProbabilityEffect and i couldn't find it

safe minnow
#

HE HAS A GOOD EFFECT THAT WORKS FOR A LEGENDARY

heady frost
safe minnow
#

chicot can get crazier when you have multiple of him

icy crow
icy crow
safe minnow
woeful bough
#

theres a voucher that is basically chicot

icy crow
#

Are you suggesting that yorick is an instant win and trib isn't?

lime notch
#

yes

#

trib can get planted and is more susceptible to it than photograph

yorick only gets nerfed slightly by the water

limpid robin
heady frost
safe minnow
limpid robin
heady frost
limpid robin
#

Yeah i figured out how to turn it off

lime notch
forest sigil
#

is there a way to make the tool tip accurately track the current +chips and +mult this card has

smoky sorrel
#

this will set the value to the variables you created

icy crow
humble lion
#

are the Four Fingers and Shortcut effects not implemented yet

icy crow
humble lion
#

no the blocks are there but it seems to not do anything

#

the jsons contain no code to make these effects happen, just comments

icy crow
#

it's the function on the bottom

humble lion
#

hmm

#

the hook didnt appear in the joker i made

#

it did when i copies the reforged four fingers though...

heady frost
icy crow
#

it generated for me tho

humble lion
#

huh

icy crow
#

on a single joker

humble lion
#

actually it generated when i did export the single joker!

#

let me try export the whole mod again

icy crow
#

it isn't there in the whole mod export

#

i hope it isnt my fault

heady frost
#

it might be me that broke it when i fixed create joker

#

because i had to modify how mod prefix was being passed

#

but also hooks use the mod prefix too

humble lion
#

but you only fixed that this morning and the jokers i exported yesterday (as a whole mod) are missing hooks

heady frost
#

i will add it to the github repository

#

and will have a good look at it rather today or tomorrow

humble lion
#

for now its easy to bypass by exporting individually and copying the code in

heady frost
humble lion
#

the jokerforge is super fun btw

#

genius idea

heady frost
#

and i appreciate u finding this bug because i wouldnt have been able to find it on my own lol

humble lion
#

ive spent a lot of time working on the Extra Credit mod but none of the actual coding so its really cool to also be able to implement jokers quickly

heady frost
#

like vanilla reforged but extra credit jokers

humble lion
#

hell yeah

wild pier
#

66 jokers done

#

28 to go

#

will release on satirday

#

on bmm

heady frost
# humble lion hell yeah

its not there anymore because it felt mean to use someone elses mod to recreate it in joker forge

wild pier
#

on friday it will release on github

heady frost
humble lion
#

thats cool because we really wanted to make vanilla jokers and its neat to see if they can be made with "vanilla blocks" as such

heady frost
#

but the json is still here

#

if you import that into jokerforge, it should bring up some extra credit jokers

#

theres probably loads more that could be replicated by now, that json is old lol

smoky sorrel
#

working 👍

#

pr incoming

icy crow
#

also did anyone find any bugs with importing and exporting in the last 2h?

wild pier
#

its 7 mb

#

but unfinished

humble lion
#

blah blah blahggg!!.json
10/10

heady frost
#

94 jokers is crazy

icy crow
icy crow
wild pier
heady frost
icy crow
#

well that's good

wild pier
humble lion
#

can you try one thing EF

icy crow
icy crow
wild pier
icy crow
humble lion
#

i duplicated a joker in my mod to test the hook thing and the duplicate didnt seem to appear when i exported the whole mod

heady frost
#

and the jokers are split by file based on key

#

you need to edit one of the keys to be different then it should all be fine

humble lion
#

ahhh okay

icy crow
#

we could probably append copy to the key of a copied joker

humble lion
#

i dont actually need the dupe, but that makes sense 👍

heady frost
#

would be an easy fix too

icy crow
#

how are we averaging 4 commits an hour

#

chill

heady frost
#

made huge progress these last couple of days especially

icy crow
#

oh huge merge request

#

makes sense

#

also i hope my probability branch doesn't break something

heady frost