#💻・modding-dev

1 messages · Page 11 of 1

slow ocean
#

yes

#

thank u for the help btw

golden lake
#

no worries

#

I'm still so proud of the WV render

#

he's so cool

mellow sable
#

it was changed

#

I talked to the mods directly to see if that could be an exception to deter cheating, but they said nope so the code was unobfuscated after that rule was made

#

it's also disorganized and uncommented so good luck trying to cheat successfully with it

rough furnace
#

I mean i had cheated with the older steamodded version cause I found a silly bug but then it was obuscated so I didn't feel like testing if it still worked after that

mellow sable
#

only difference is that the source isn't on GitHub because I don't want potential cheaters to see exactly what changes are made each time

#

but you can still just open the lua files

rough furnace
#

fair

golden lake
#

lyman do i make a tangle buddies joker perhaps

mellow sable
#

like here's a random section, have fun figuring out what any of this means

still jacinth
#

are there any mods I can look at to see how to add a section to the collection?

rough furnace
#

I think someone was messing with it, but noit sure if it was releasdd

golden lake
#

Balatro doesn't have any sane standards as of yet

#

The only thing we have is Steamodded

#

Making your own collection type is uh, not a good idea (from person making 2 consumeable types)

still jacinth
#

o

edgy reef
#

why aren't you WORKING

#

I am going to pull my hair out

#

All I want is to not have to manually add restricted joker to this challenge

#

but nooo, let's just NOT RUN THE CODE AT ALL

#

:DDD

maiden phoenix
#

Got "Reach the stars" and "Damocles" codded, eepy time

edgy reef
#

Whoops I missed Cartomancer

#

Also why is the name ERROR

#

ugh

edgy reef
iron delta
#

How do I migrate to the lovely patcher? That's what everyone uses now right? Do I need to make any changes to my existing mods?

hallow forge
#

I guess im done, should i release now?

iron delta
#

the injector just crashes for me

hallow forge
#

(I have new hands and their planet cards) and i forgetting anything ultra important

golden lake
iron delta
golden lake
royal ether
wild gyro
#

it gives an exact response of what you should do

iron delta
golden lake
#

no no do not encourage them

iron delta
#

It's a fresh steam install

golden lake
#

out

royal ether
#

yea im moving to modding chat

iron delta
#

Do I need to make any changes to my existing mods to migrate them to the injector?

golden lake
golden lake
edgy reef
#

You can see all of the joker showing up twice

#

Also, what controls the descriptions in challenges?

iron delta
edgy reef
#

ok there we go

#

Nice

gaunt thistle
#

if it thinks the file exists then it's there

iron delta
#

it was my skill issue, my bad. Didn't realize steam didn't nuke it itself on uninstall.

gaunt thistle
#

no worries :-)

#

its always ok to ask

#

funnily enough I think that's the only really descriptive error message in lovely

#

everything else is a "things are fucked good luck"

thorn bough
#

thats... not right

royal ether
#

deck of diamonds

golden lake
#

damn, the whole red deck?

odd dock
thorn bough
#

man maybe i should tone it down with the chaos

ionic isle
#

balatro chaos mod would be a very fun idea

long gust
#

balatro but every slot can hold jokers, consumables, playing cards, packs, vouchers, etc

edgy reef
#

Balatro but the card area position is randomized

mint beacon
#

man, I sure am screwing this up, and I could use some help with a deck backer image, I got it to finally display something but not the proper image

long gust
#

it can't be that hard... right?

thorn bough
#

well, uhh, actually:

odd dock
thorn bough
#

it almost works

#

but also kinda doesnt

#

the only MAJOR issue is that nested packs sends you to the shadow realm

#

other than that, its pretty ok

ionic isle
unkempt thicket
#

how do you check all played cards rather then all scored cards?

unkempt thicket
#

nvm, i figured it out

mellow sable
#

least powerful Rare joker

nimble sequoia
#

Hack Fibonacci strat in shambles

mint beacon
#

Chippers

narrow pollen
#

every single card is a king

abstract ingot
#

howdy Balatro modders. I have no idea how to turn my texture pack into a lua mod that will work with steamdecked. It's a simple change to the enhancement/8bitdecks, and am tired of having to do the 7-ZIP texture replace method every update as of late :P

Any help would be appreciated!

unkempt thicket
#

how does suit work?(in this context)

short surge
#

any one piece fans?

narrow pollen
zealous glen
frosty dock
narrow pollen
#

it really doesn't

#

literally just

#

SMODS.Card.SUITS[self.base.suit].prefix

#

that'll give you what you need

frosty dock
#

slightly different for 1.0 btw

#

SMODS.Suits[self.base.suit].card_key

#

(it's card_key because that allows me to reuse more code across suits and ranks)

boreal token
#
  1. Do not redistribute the Balatro source code.
    would distributing modifications to the source code using git patch files go against this rule since they contain a small amount of the source file to locate where in a file things are added/changed?
golden lake
#

Im pretty sure it just means dont redistribute the game's code as is

#

On the accout of yknow

#

Someone can just compile it

scenic zenith
#

Which balatro mod loader have people decided on to be used for making mods

#

or is it still between multiple

golden lake
#

Steamodded is the main one

boreal token
#

me on my way to make my own mod loader because i dont like the existing options kekwhyper

golden lake
#

i will kill you

scenic zenith
#

the temptation to try and make a modding framework

#

im not dedicated enough

golden lake
#

do not even dare

scenic zenith
#

is someone else doing it

golden lake
#

we do not need 200 competing standards

boreal token
#

xkcd

golden lake
#

we have steamodded, thats all we need

hoary sand
#

i don't think anything could overtake steamodded at this point

scenic zenith
#

no a modding framework would be a mod on top of steammodded

#

that lets you add jokers/cards more easily

#

cause as far as I have understood steammodded gives you nothing

golden lake
#

so.. an API?

scenic zenith
#

but maybe im wrong

golden lake
#

no

#

steamodded has an API

#

and steamodded 1.0 will flesh it out way more

scenic zenith
#

i see

zealous glen
scenic zenith
#

In my eyes a mod loader is not the same as a mod framework

#

well, they can be

#

but they don't have to be

#

i might just be bad with terms tho ngl

#

but yea what i meant was a mod that other mods can use to easily add suits, cards, jokers etc

#

which is something that prob should be in steammodded

#

but also this is a bad first project and i have no idea what im doing so yea never happening

hoary sand
#

afaik steamodded has a joker and suit api

#

i think there's a rank one too?

scenic zenith
#

nice

maiden phoenix
#

Is it possible to force a joker to show up in the shop?

crisp coral
#

don't make this a forge vs fabric vs quilt 😭

slow ocean
#

yeah if anything, it'd be much better to try to help build on top of one of the two modloaders

#

lord knows we would still be in the stone age without feder's apis

scenic zenith
#

yea that sounds basically like what i was thinking of

crisp coral
#

crisis averted

frosty dock
hoary sand
#

are there any major balamod mods that haven't been ported to steamodded?

slow ocean
#

aure have you basically just become the main person since steamo's been busy

slow ocean
frosty dock
silent sinew
#

there's not much more you can simplify it without turning it into scratch or something

#

i had no lua knowledge a couple weeks ago and now i'm making balatrotale

golden lake
#

^

#

me with Balatrostuck

slow ocean
#

me with all my mods

silent sinew
#

speaking of balatrotale i think i need to make a trello or something to keep track of what else needs to be done for the initial release

maiden phoenix
#

i had barely enough lua knowledge a couple weeks ago and now i'm going insane

silent sinew
#

idk if this makes it seem more or less scary

#

i guess this is better???

golden lake
#

i almost never use trello for solo work

#

or personal work

slow ocean
#

Planners don't work for me for solo work

golden lake
#

its just too much effort for what, a board of stuff

#

just wing it

#

have fun with it

#

balatrostuck's design changes every 3 days

#

there is no plan

#

the plan is whatever i decide is the plan at the moment

silent sinew
#

i just want to make sure i dont forget anything tbh

#

thats my main concern

slow ocean
#

True

#

I feel that

silent sinew
#

i dont wanna end up accidentally releasing the mod in an unfinished state

slow ocean
#

My planners are bantering with other people and just record my ideas in conversations

silent sinew
#

but i guess its also good motivation to have a list of exactly what i need to do

#

but thats more of a me thing ig

#

when i add the stuff ive done already it makes me realize damn ive pretty much already gotten the majority of the work done when it comes to the mod as a whole

slow ocean
#

Most of the plans for codex, fusion and [boon pack mod] are all just feder and I having convos

#

Oh shit I can finally say it's called fools fables now

silent sinew
#

a lot of the joker ideas for balatrotale just came from me randomly thinking "hey what if a joker did [x unique thing]" and writing it down if i don't immediately realize it'd be impossible

#

like undyne the undying, tile puzzle, tasque manager, mtt resort, the knight, most of the souls

crisp coral
#

undercards... fr..

silent sinew
#

i haven't even talked about tile puzzle yet but the idea is that it'll change color each hand and each color has a different effect

slow ocean
#

undercards...

silent sinew
#

the effects aren't explained at all you just have to find out

slow ocean
#

we out here being real ones today

silent sinew
#

but that's why it requires a shader

crisp coral
#

make 7 different joker sprites

#

save yourself

silent sinew
#

i'm probably just gonna color the screen black and do some shit like if tex.r + tex.g + tex.b = 0. then [cases for each state setting it to a specific color]

#

the one time balatro not using black is actually useful practically

#

...god you know what's tempting for that joker actually

#

explaining every single effect in the description in detail

#

but adding like {s:0.1} to each line

#

so it's impossible to read

#

you just have to be like "well i mean it can't hurt right"

#

artistic rendition

crisp coral
#

save yourself

slow ocean
#

Actually based

scenic zenith
#

this is genius

#

"what does this card do" "just read it duh"

crisp coral
#

Reading the card explains the card.

silent sinew
#

i think it's fun to have a card that you don't really know what it does anyway

#

i'll PROBABLY add a config option to only show the description for the current color but it's pussy mode

zealous glen
#

But maybe I did something wrong

silent sinew
#

that's weird

golden lake
#

@silent sinew take it from someone who's been through trello hell, you're using it wrong because you're using it in the enterprise way

#

there's no point in making individual tasks for each and every sprite, every mechanic, everything

#

tasks should inform specific goals and desires, not mechanical parts of a whole

silent sinew
#

i'm using it in a way that's effective for what i want

#

which is literally just remembering everything so i dont release an unfinished mod

golden lake
#

there's a better way though

#

like watch i'll make a trello to show you

#

this is how i would do it

silent sinew
#

i didn't really know trello could be used like that tbh

golden lake
#

it can

silent sinew
#

honestly though i like how visual the way i'm using it is so that's probably what i'll stick with at least for this project

#

maybe in the future when i need to be more organized though

golden lake
#

you're creating more work for yourself

#

literally

#

every additional minute you spend managing the trello is a minute you could be spending actually making things

silent sinew
#

i mean now that i've set it up not really

#

and if i switched to this that'd take even longer

golden lake
#

basically if you plan to update the mod you should like

#

consider that structure

#

it'll take up less space

silent sinew
#

i will

golden lake
#

also labels are meant to remove redundancies from your task descriptions

#

so I'd make Sprite and Effect a label

#

and remove the art and programming labels

ruby geyser
#

Back again with another round of questions most likely, how do I use the pseudorandom/pseudoseed functions?

golden lake
#

pseudoseed just generates a value between 0 and 1 based on a string

#

pseudorandom just uses a pseudoseed to select one element of a list at random

silent sinew
#

in the end i'm using this in a way that's convenient for me specifically but may not be as convenient for others
either way i appreciate you telling me about this format and i'll definitely consider it for future projects/updates

golden lake
ruby geyser
golden lake
#

yeah thats fair also still, read the source

silent sinew
#

i feel like at least 50% of the questions new modders ask in here could be answered by "how do they do it in the source code"

ruby geyser
golden lake
#

and this is why you should be registering everything highlighted in yellow in VSCode's global Lua variable registry

#

because then when you mistype it gives you a meaningful error

silent sinew
golden lake
#

no its not mean to say that people should think for themselves and not waste other people's time

silent sinew
#

aside from smods specific stuff ofc

#

yeah i guess that's true too

ruby geyser
silent sinew
#

i don't really believe in getting pissy when someone asks one or two "stupid" questions about something i'm knowledgable of but there does really come a point where you should just look it up (speaking in general not about you twostickmen)

golden lake
#

what code editor do you use

ruby geyser
golden lake
#

do you have the Lua extension?

#

the lua extension will just let you autocomplete the ends and thens

silent sinew
ruby geyser
golden lake
#

me when i can press tab

silent sinew
#

the only language i knew before this was GML which has literally no applications outside of a specific program so it's probably good that i'm expanding to something more practical

crisp coral
#

imagine autocompleting your code

golden lake
#

its called language grammars sweaty

crisp coral
#

< manually writes if then end

ruby geyser
golden lake
#

yes

crisp coral
#

ya

golden lake
#

then you just type in like

#

for or if or fun and hit tab

#

and it'll take care of the fluff

ruby geyser
#

Life saver

silent sinew
#

icl it's kinda annoying sometimes like when i select something and type " and i'm expecting it to delete everything i have selected but it just surrounds it instead

#

that's just a me problem though LOL

golden lake
#

if you expect it to delete everything you press backspace

#

thats how it always worked

#

the surround behavior is more important

silent sinew
#

i'm just used to selected stuff being deleted when i start typing regardless of what it is

golden lake
#

surround behaviors are useful

silent sinew
#

i'm not saying it's a bad thing i'm just being a bitch because i'm not used to it lol

frosty dock
#

it'll still be deleted if you start typing afterwards lmao

silent sinew
#

...yeah that is true

#

still kinda throws me off though ig

ruby geyser
silent sinew
#

oh that's pretty cool

thorn bough
#

is there any easy way to generally get the default localization for an object? either from a center or slug?

frosty dock
#

that would be G.localization.descriptions[center.set][center.key]

thorn bough
#

how could i add the loc_vars though

frosty dock
#

(not sure if center.key exists for vanilla objects, might need something like ability.center_key) off the card

frosty dock
thorn bough
#

the descriptions will have the #1#s and such

frosty dock
#

yeah? if you want to have it as displayed, you'd need to have the game parse it or replicate that behavior

thorn bough
#

thats what im looking for

#

would it be possible to, with just a center, get the default localization, as it appears in the collection.

smoky matrix
#

I want to make a mod that repositions some UI elements, where should I start?

ruby geyser
#

Why are "EDITION" and "DARK_EDITION" not hex codes but these lists/arrays?

silent sinew
#

they're animated

frosty dock
#

HEX actually just outputs a table like that

silent sinew
#

if you look at them ingame i believe they loop through grey, blue, grey, red?

frosty dock
#

it converts your hex string to an RGBA array

ruby geyser
#

I see, do I need to do something special to use these in my text then?

frosty dock
#

you should look at the loc_colour function, it defines all colours and keys for them to use in loc text

#

or if you need any others, you can add them by patching that function

#

General format is like {C:red}Mult{}

ruby geyser
frosty dock
#

likely functions/misc_functions.lua, but it's easiest to use a global search function like in vscode

maiden phoenix
#

Is there a state changing when I switch from end of turn to shop?

#

Kinda trying to add a context when entering shop

ruby geyser
#

Why specifically entering shop and not just end of round?

silent sinew
#

i think you should be able to hook into Game:update_shop(dt)

maiden phoenix
#

Because I have a custom context for ease_dollars but it triggers too soon on payout

#

And end of round triggers before payout iirc

odd dock
maiden phoenix
#

Oh true I could look at that too

ruby geyser
maiden phoenix
#

It's C not c

#

Caps matter

silent sinew
#

looks like coupon is called in update_shop so that's almost definitely what you're looking for

ruby geyser
#

Once again, defeateed by Not Paying Attention Enough

maiden phoenix
silent sinew
maiden phoenix
#

Coded half the jokers I wanted to make so far

silent sinew
#

i just remembered to check and it looks like edition shaders dont work on the knight.... hmm

#

i wonder how hard that'll be to fix

#

...i wonder if i should fix the soul not having any shader

#

...NAAAH

frosty dock
#

base refactor is up on github

ruby geyser
#

Why is context.end_of_round triggering 15 times? Am I using the wrong context? I'm basically just copying what I see on invisible joker

frosty dock
#

onto PRs

maiden phoenix
odd dock
#

steamodded 1.0 beta out now!!! type deal

frosty dock
#

it's not out until i make a release for it

silent sinew
#

wow it's disgusting

#

i can't bring myself to deviate from vanilla behavior and i hate it

odd dock
frosty dock
#

the release will include all currently open PRs being handled

ruby geyser
#

Just had a thought, could you technically make a joker who's functionality changes with its edition? Whenever it triggers you do an if/else tree for the editions?

frosty dock
#

you can use what's up on github now as reference to start rewriting your mods, but I reserve to change anything until the release

ruby geyser
#

I ask because I have made the Gay Joker (Gains mult when hand is not Straight, resets on a Straight), and I think it'd be funny to invert its effects if negative

maiden phoenix
#

You can check the card's edition if it has one and make it do something else

ruby geyser
#

Excellent

silent sinew
#

sound api becoming a part of smods is huge

rough furnace
#

The new crash handler just got merged to upstream steamodded

#

Huge

#

That means there's now a new api for mods

#

Kinda

frosty dock
#

I'll be adapting it slightly to where debug info is declared directly on the mod object

rough furnace
#

That makes sense

#

As long as it can be changed any time after the mod is initialized, then it should be pretty handy

frosty dock
#

yep, that should well be possible

#

all modded objects keep a reference of the mod they're created by

#

so such code shouldn't even need to make any assumptions about the current mod's ID

silent sinew
#

what could this be useful for just out of curiosity

#

like, would a mod be able to say "Make your you have X API installed!" when you crash

frosty dock
#

sorry what

bold osprey
#

idk if lua supports that

silent sinew
#

i'm just not really sure what the debug info stuff is useful for

#

that was my first assumption

upper fern
#

I can't decide if I want to start making a mod that adds jokers with a coherent theme, or if I want to go with a completely random "whatever ideas you have" type mod

rough furnace
silent sinew
#

ohhh ok, that makes sense

rough furnace
#

When I was testing, I had a mod to manually crash, so it set a thing when it manually crashsed,

#

it also had a version field

zealous glen
upper fern
#

So true, honestly
I've started poking around in the game files and looking into how other mods do things

zealous glen
#

Does anyone have a Joker that uses the second output of Steamodded's loc_def function?

#

@frosty dock?

frosty dock
zealous glen
#

Thanks

frosty dock
#

np

glacial oasis
#

Sorry this is more of a lua question but is there a easier way to type this return hands[1], hands[2], hands[3] hand is a table
return hands doesn't work

zealous glen
golden lake
#

victin

#

did you see the Tangle Buddies

zealous glen
golden lake
#

do you like them

zealous glen
#

Did you see the Lucky 8r8k combo?

golden lake
#

yes!

#

it was very cool

zealous glen
golden lake
#

but yeah Tangle Buddies follow factorial increase

zealous glen
#

I didn't see the actual effect tho

golden lake
#

they give +Mult on factorial scale

#

its a Rare disguised as a Common

shell timber
#

they what

golden lake
#

they give +Mult based on factorial scaling

zealous glen
golden lake
#

better

#

it grants 1! + 2! + 3! + 4! + 5! mult

silent sinew
#

does anyone have any idea how i could force this card to be aligned by the top rather than the middle

golden lake
#

no idea

zealous glen
shell timber
#

that's how CSS does it in morefluff

golden lake
#

but yeah Victin wanna see what it gives at 10 total duplicates scored?

zealous glen
zealous glen
silent sinew
zealous glen
silent sinew
#

i might try hooking into align_cards

golden lake
golden lake
zealous glen
#

… Sock?

golden lake
#

sock and buskin

zealous glen
#

Ah

zealous glen
golden lake
#

it appears to be like, just a silly little early game joker that scales on pairs and 3oaks

#

maybe 4oaks if you're lucky

#

but in reality it's an eldritch horror wearing plush flesh

zealous glen
zealous glen
#

That gives me an idea

golden lake
#

yeah?

silent sinew
#

that wasn't TOO hard

#

it floats a bit higher than it feels like it should though

silent sinew
#

lmao you can see the tris

exotic gull
silent sinew
#

the sprite being taller makes the distortion more visible i guess

exotic gull
#

i see

#

do you have an effect for the joker?

silent sinew
#

no

silent sinew
exotic gull
#

keep it for the memes

vivid heart
#

Not sure if i should ask here or in Modding chat but, i'm looking forward to start learning how to mod, is there anything you'd recommend to start with or to check out as a beginner?
Right now i've only done a little bit of modding before when trying to mod Slay the Spire, i know a bit of coding but i'm still a noob

still jacinth
#

also steamodded

vivid heart
still jacinth
#

its a mod (or api or something) that lets you add stuff easier

vivid heart
#

Oooh I see, thanks for the help friend

#

Hope this isn't as hard as StS modding was

silent sinew
#

ok the solution made me feel stupid

#

this is exactly what i wanted lmao

#

the hitbox is the same as the original, it acts the exact same as a normal card but with That

#

the one issue is that it kinda sticks up off the card which i dont really like

#

it's more obvious when i move it near the edge

frosty dock
#

@edgy reef anything on updating payout arg API? iirc you said you had some things to update?

#

(conversion to lovely would be much appreciated, I'm not going through full function overrides I didn't even write myself haha)

edgy reef
#

Forgot to do that xdd

#

Lemme do my final and I can get onto it

frosty dock
#

aight no need to rush

thorn bough
#

hey wait a minute... ive seen this one

frosty dock
#

i can get started on sticker API though, right?

edgy reef
#

That should be fully converted yea

#

Unless I missed something

silent sinew
strong plume
#

Does anyone have a reference image with all the Balatro colors'? I know Balatro has a very specific color palette and I want to reference it for spriting n stuff

strong plume
#

Thank you!

echo hatch
# golden lake

lvl 5 2 rank sign (retrig every 2) + flush five of 2s + this = e32 ez clap

granite wharf
#

@strong plume @broken vine hey you guys are much smarter than me can you help me figure out what's wrong in #⚙・modding-general

#

sorry for the ping

#

btw

strong plume
#

Sorry

granite wharf
#

aw

broken vine
#

i've written like 2 lines of code, so not much better. will give it a crack, though

ruby geyser
#

Just need to check I'm not crazy - Invisible joker is slightly animated/has a subtle shader right?

#

It's not just the semi-transparent colouring

maiden phoenix
#

Yup

warm moon
#

Hey, just a simple question. Does anyone know whether, there is a documentation available for modding?

broken vine
#

like, for creating mods?

warm moon
#

yup

broken vine
#

start there, should link to others

slow ocean
#

does anyone know if you can combine size and color modifiers to text at the same time

maiden phoenix
#

There shouldn't be any issue

slow ocean
#

you only need one {} right

maiden phoenix
#

{s:the_size, C:the_color}

#

Or whatever but yes only one

slow ocean
#

oh worm you can do that

#

"{s:0.7, C:inactive}(Must have room){}",

#

am i stupid 😦

maiden phoenix
#

What if you split it?

night pagoda
#

what if swapped?

slow ocean
#

splitting did not work

night pagoda
#

does the color work without the size change?

maiden phoenix
#

Swap should work, I'm seeing a desc that does it

slow ocean
#

neither does swapping

#

oh hmm

maiden phoenix
#

Uh

frosty dock
slow ocean
#

oh its the space

#

that fixed it

#

i have opted, due to the nature of fusion jokers and a lot of them being very wordy, to simply shrink any parentheses text

#

like so

mellow crag
#

@shell timber Compat between codex and colors.
An alchemical that automatically sets the turn timer of all color cards held to 0

silent sinew
low valve
#

made a few joker textures of my ocs

frosty dock
#

uh where did the payout arg stuff go

#

the PR is just gone

edgy reef
#

uhh idk

ruby geyser
#

Trying to use this code to apply the shader to a joker, getting this error any idea what I've done wrong?

edgy reef
#

wait wha

#

Istg

frosty dock
#

your main branch seems to be what i need for the sticker API now, though I think that was payout args before??

edgy reef
#

I accidentally synced up the Payout Arg API instead of the Sticker API

#

Thank god I have it downloaded already

frosty dock
#

oh lmao

ruby geyser
#

Wait no I just straight up didn't read LMAO

#

https://outplayed.tv/media/ojJgZ1 Using the same shader as Invisible ("voucher") do you guys reckon it's just the colour making it seem way more shiny or is there a value I need to tweak somewhere (I notice the self.ARGS.send_to_shader in the code that seems like a starter but not sure if that's me reading too much into the name)

To capture and share your gaming highlights, download the Outplayed app on Overwolf

▶ Play video
zealous glen
#

It's funny it has a lot of lines of code but it's mostly because it has a lot of conditionals

ruby geyser
night pagoda
#

I installed steamodded through lovely and now I always have the debug window, is it possible to get rid of it?

silent sinew
#

i have spent fucking hours trying to get this stupid bird to look right

frosty dock
silent sinew
#

this should not be this hard

night pagoda
frosty dock
#

np

wintry swallow
#

can someone help me with some code? i'm trying to make it so whenever you play a straight, a variable goes up by one

wintry swallow
#

oh yeah thats a good idea

silent sinew
#

i fucking hate troubleshooting this front positioning so much

#

i'm actually gonna lose my mind

#

genuinely why is it so convoluted to make a card's sprite bigger without giving it a bigger hitbox

#

WHY

wintry swallow
#

well i hope you figure it out

silent sinew
#

i'm so close to giving up on this idea because i've been in the glsl trenches for half the fucking day and i've made no progress because all these variables have literally no indication as to what they do and i just have to guess

#

and it's just SO convenient that i have to restart the game completely and menu just to see the effect of a single change

wintry swallow
#

oh yeah wait where in the code do i make the function run

#

i am very confused lol

boreal token
#

would still need to restart but thats not easily avoidable

#

i think theres ways to hot reload lua but i dont know for sure

short surge
#

yo for those of you who is doing additional suits

#

how do i get a list of suits that's supported?

silent sinew
#

i am curious if anyone knows of a way to make a joker's hitbox different from its sprite because if so then maybe the joker i was struggling with earlier could be salvaged

#

actually nvm i forgot that version still had the issue of the card floating way too high

#

this game just does not like long cards whatsoever

short surge
#

I'm pretty sure there were a few big cards?

silent sinew
#

i think i'll give it another try tomorrow

charred needle
#

I have been trying to work on the code for my portion of the into the jokerverse set, and I have failed miserabley. I am going to bed, but before I do, I will leave you all with a sticker summarizing my session today

thorn bough
#

is it possible to have a soul image that is an arbitary size?

worthy depot
#

Most likely

boreal token
rough furnace
silent sinew
#

i never thought about that

rough furnace
#

debug mode also has some handy stuff like spawning jokers and stuff

thorn bough
#

either im insane or the line self.children.floating_sprite = Sprite(self.T.x, self.T.y, self.T.w, self.T.h, G.ASSET_ATLAS['Joker'], self.config.center.soul_pos) has 5 args that litterally dont do anything

#

wait how does my code work at all?

narrow pollen
#

...why does my loc_def not update when variables increase...?

mellow sable
#

either way floating_sprite and floating_sprite2 work in my code

thorn bough
#

well i found out, that they affect the legendaries

#

but not the spectrals

mellow sable
thorn bough
#

and my spectral literally shouldn't work, but it does anyway

#

oh dang

#

that cool

mellow sable
#

The Soul hardcodes soul_pos which is really annoying

#
if self.ability.name == 'Gateway' and (self.config.center.discovered or self.bypass_discovery_center) then
    local scale_mod2 = 0.07-- + 0.02*math.cos(1.8*G.TIMERS.REAL) + 0.00*math.cos((G.TIMERS.REAL - math.floor(G.TIMERS.REAL))*math.pi*14)*(1 - (G.TIMERS.REAL - math.floor(G.TIMERS.REAL)))^3
    local rotate_mod2 = 0--0.05*math.cos(1.219*G.TIMERS.REAL) + 0.00*math.cos((G.TIMERS.REAL)*math.pi*5)*(1 - (G.TIMERS.REAL - math.floor(G.TIMERS.REAL)))^2
    self.children.floating_sprite2:draw_shader('dissolve',0, nil, nil, self.children.center,scale_mod2, rotate_mod2,nil, 0.1--[[ + 0.03*math.cos(1.8*G.TIMERS.REAL)--]],nil, 0.6)
    self.children.floating_sprite2:draw_shader('dissolve', nil, nil, nil, self.children.center, scale_mod2, rotate_mod2) 
    
    local scale_mod = 0.05 + 0.05*math.sin(1.8*G.TIMERS.REAL) + 0.07*math.sin((G.TIMERS.REAL - math.floor(G.TIMERS.REAL))*math.pi*14)*(1 - (G.TIMERS.REAL - math.floor(G.TIMERS.REAL)))^3
    local rotate_mod = 0.1*math.sin(1.219*G.TIMERS.REAL) + 0.07*math.sin((G.TIMERS.REAL)*math.pi*5)*(1 - (G.TIMERS.REAL - math.floor(G.TIMERS.REAL)))^2

    self.children.floating_sprite.role.draw_major = self
    self.children.floating_sprite:draw_shader('dissolve',0, nil, nil, self.children.center,scale_mod, rotate_mod,nil, 0.1 + 0.03*math.sin(1.8*G.TIMERS.REAL),nil, 0.6)
    self.children.floating_sprite:draw_shader('dissolve', nil, nil, nil, self.children.center, scale_mod, rotate_mod)
    
end

My code pretty much does that too (there's another section initializing the sprites)

thorn bough
#

im just trying to get the thing to render without being cut off

mellow sable
#

rip

#

that might be an atlas sizing thing

#

also the cool thing is that editions only affect the bottom layer leading to some cool effects

thorn bough
thorn bough
narrow pollen
#

no seriously, why is it that a joker that i've taken ownership of isn't updating its tooltip to reflect its scaling?

nimble sequoia
#

which joker is it?

#

for sanity's sake, did you add the #1# to its description?

narrow pollen
#

yes

nimble sequoia
#

oh thats very weird

#

and you are hooking things up with the loc_def function properly?

narrow pollen
#

mhm

#

i see the initial value just fine

nimble sequoia
#

clearly this is out of my expertise

#

#2# should update unless the 2nd element is a static value

narrow pollen
#

both of them update dynamically, and track their values perfectly internally

nimble sequoia
#

i assume that ability.extra.chip_mod is being incremented by 2 each time?

narrow pollen
#

mhm

#

that's the idea

nimble sequoia
#

idk how to solve it right now sorry

zealous glen
zealous glen
narrow pollen
#

yeah, it's tracking the variables just fine

zealous glen
narrow pollen
#

hence my excerpt of the debug log

#

from lovely

zealous glen
#

So print during the tooltip

narrow pollen
#

mhm

#

it could access the variables during the tooltip

#

i'm just not sure how to force it to do so

zealous glen
narrow pollen
#

maybe i need to clear name_parsed, and text_parsed?

zealous glen
# zealous glen This… *almost* works

Now I only need to make it so the player can't take actions while the animation is playing, and I would like to remove the small delay after the last trigger

narrow pollen
#

oh there we go

#

just having it generate in generate_UIBox_ability_table fixed it

slow ocean
#

wheres my mod that unsquares square joker

narrow pollen
#

joke's on you, i'm gonna make him even squarier

broken vine
#

the endgame is just one pixel joker but alas i think it already exists

shell timber
#

said one pixel joker is actually like 16x16

#

so it actually has a hitbox

mellow crag
shell timber
#

there's also Tan in morefluff that spawns a negative alchemical for every 2 rounds you've had it!

river fern
#

this is so awesome sauce

narrow pollen
#

agh, god damn

nimble sequoia
#

i square to god

narrow pollen
#

so difficult to slap in an extra S once the thing upgrades >.<

#

but i got there

nimble sequoia
#

i thought you can just concatenate the word "Chips" to the number if its greater than 1 no?

frosty dock
#

#3##4#, 3 is Chip, 4 is Chips. Leave the one you don't need blank

zealous glen
#

Probably a hacky way to do it is something like

function loc_def(self)
    return {self.ability.extra.value, (self.ability.extra.value > 1 and "Chips") or "Chip"}
end
#

Or that

frosty dock
#

hm that also works

nimble sequoia
#

i like victin's better

frosty dock
#

actually

#

Chip#3#

#

blank is singular, "s" if plural

zealous glen
#

Blank is "" right?

frosty dock
#

yeah

royal ether
#

what if you do Chip#2# where 2 is "s" or ""

#

oh wait

#

aure just said that

#

i will now leave

narrow pollen
#

yeah, also

#

y'all are forgetting that the increment value is itself a loc_var

#

and it gets incremented too

#

so yeah, Chip#3# would be correct, if i didn't already get it my jank way

#

probably correct outright, but i'm proud of the way i figured it out

#

also, this is fucking amazing testing luck haha

narrow pollen
zealous glen
#

Yes but no one forgot it was a loc_var

narrow pollen
#

okay, i guess only one person forgot

zealous glen
#

I don’t see anyone who did

frosty dock
#

hi chat

#

I'm thinking init functions are kinda redundant

#

what if we just thanos snap them

nimble sequoia
#

are u ready to reference vanilla code before they might be defined

maiden phoenix
#

What would it be replaced by?

frosty dock
#

like, metadata is already parsed for all mods before the file contents are loaded

maiden phoenix
#

So we'll just have to remove the init funcs?

frosty dock
#

there isn't really a point for each file to be loaded in order, then to run init funcs in that same order

#

that would also get rid of any confusion about what you need to put or not put in init functions

maiden phoenix
#

So true

narrow pollen
#

i think having optional init would be nice

night pagoda
#

Is it possible to dynamically remove lines on joker?

#

(in description)

frosty dock
#

i think you can have them be empty

frosty dock
night pagoda
#

yeah I tried

#

but the empty line actually takes up some space ingame

frosty dock
#

{s:0}

night pagoda
#

I also tried that lmao

#

but it doesn't work inside a variable

#

what do I do?

narrow pollen
#

god, people were right about this~

night pagoda
#

I wonder if I can use variable as argument for size
EDIT: nope

narrow pollen
#

but tbh, i really think it's fine as a 9-cost rare

#

which ties into its theming of squares anyway

#

its cost is a perfect square, its base sell value is a perfect square, it involves playing exactly 4 cards (which is the number of sides a square has AND one of the only two perfect squares you can play)

#

and this effect really justifies being the most expensive base joker in the entire game

#

...i think.

#

oh, it's tied for that with another borderline broken joker

zealous glen
#

But you can also manually add the rows to the tooltip

mellow crag
#

I really like just loading all the mods that I have and testing the consumable patch with them

shell timber
#

4 more colours coming today btw

mellow crag
shell timber
mellow crag
shell timber
#

oh i can do notes as well actually

#

purple?

mellow crag
#

yes

narrow pollen
#

what are you going to do for color and ink?

shell timber
#

um.

frosty dock
mellow crag
frosty dock
#

I have basic collection support in for the refactor (you can specify the number of cards in each row, and tarots/planets/spectrals are patched to use it), but rn it will just shove everything where things normally are

mellow crag
#

i see

#

the problem with this patch is that it its supposed to run after all of the other patches were implemented

frosty dock
#

have a look at my ConsumableType API if you want

mellow crag
#

will do

frosty dock
#

(help with testing is appreciated)

shell timber
#

purple

crisp coral
#

and why he ourple 😂

frosty dock
#

I still need to add support for shop rates and soul type cards and whatnot

zealous glen
crisp coral
#

i'll check out the new steamodded stuff tonight and start porting the mods

mellow crag
#

but I also wanna do some cross compat with Codex and other mods today XD

#

BTW @frosty dock do you have an example of a new consumable?

frosty dock
#

uh i don't think I have one ready

#

let me port something, one sec

#

wait no i do

#
SMODS.Consumable {
        set = 'Spectral',
        key = 'dummy',
        name = 'Dummy',
        atlas = 'my_tarots',
        pos = { x = 9, y = 2 },
        can_use = function() return true end,
        loc_txt = {
            name = 'Dummy',
            text = { 'Does nothing!' }
        }
    }:register()
mellow crag
frosty dock
#

yeah, this one just happens to do nothing

zealous glen
#

Can you make custom sets?

frosty dock
zealous glen
#

no need to call me that ;P

frosty dock
#

that part is still missing a few features (shop stuff), but it should be mostly working

zealous glen
#

historical revisionism moment

frosty dock
#

💀

#

that was literally just a keyboard accident moment

#

I'll compile a list of all supported functions somewhere, I just haven't done that yet

mellow crag
shell timber
mellow crag
frosty dock
mellow crag
#

good

#

i love this new version BTW

#

adapting my current register to the new one

zealous glen
mellow crag
#

and how do you add the new functions?

#

like this?

frosty dock
#

keys follow the format prefix_mod_key where prefix is usually specified by the class as whatever it needs to be, and mod is a mod prefix defaulting to the first 4 chars of the mod id

frosty dock
mellow crag
#

can i register it after the fact?

zealous glen
mellow crag
frosty dock
#

yeah

#

unless it's told not to via omit_prefix, in which case it just uses the provided key

#

(it's best not to touch that value for individual objects)

mellow crag
#

does it still add all of the optional fields in the register table?

frosty dock
#

these first values at the top like unlocked and discovered act as default values, these will be set on any object created using that class unless otherwise specified

#

required_params must be present or the game crashes, any additional params are only present if you provide them

mellow crag
#

i see that you also change the way to add consumable tabs

#

since my tab not longer works

frosty dock
#

I'll try to incorporate an option that separates modded sets out to their own page

mellow crag
#

but did you change it in the base loader?

frosty dock
#

wdym

mellow crag
frosty dock
#

hm something might be missing

mellow crag
#

okay found the issue

mellow crag
frosty dock
#

oh well

#

there might well be another patch or two needed, so far this is only tested with the vanilla sets

#

builtin optional dependencies btw

#

for your error tag thing, i made the loader find itself during loading, we should be able to use this to load sprites without making assumptions about the name of the directory we're in

regal shoal
#

Hi, is it possible to trigger something whenever you draw a card ?

zealous glen
royal ether
zealous glen
#

I have some code that edits the UI after it’s been created, maybe that can help

narrow pollen
#

now that i'm done with nightly dishes, i'm just wondering where jokers and such would be initialized, if not in init()

regal shoal
royal ether
night pagoda
#

ahhh

#

didn't work for me; game told this was a function value

royal ether
#

weird, it should be a table

zealous glen
#

I think I made a Joker that’s compatible with Blueprint but not Brainstorm 🤔

night pagoda
#

yes please!

zealous glen
night pagoda
#

woah

#

that's a lot

zealous glen
#

What you want is to remove generate_UIBox_ability_table_val.main[1], I believe

zealous glen
# night pagoda that's a lot

I can probably refactor it. Currently it adds subtitles to Jokers with subtitles, adds a special tooltip to Cow, makes the text in Starfish smaller, and displays bonus Chips and Mult in Jokers that they gain Hiker-style

night pagoda
#

I created generate_UIBox_ability_table_val value based on this but I think it causes the titles of jokers to appear in the corner of the screen

narrow pollen
#

superposition is done. and of COURSE it would choose the 20% chance to spawn a spectral here.

zealous glen
#

Another hack which might be easier is to have an empty description but write the description inside main_end (second output of loc_def in Steamodded) and opt to skip the first line

night pagoda
#

it is local

zealous glen
#

hmmm, when I had that issue I fixed it by making it local

zealous glen
#

It sounds easier

night pagoda
#

oh yeah I'll try it rn

night pagoda
#

will it actually register the colors and such?

zealous glen
night pagoda
#

doesn't seem easier in that case lol

zealous glen
#

No hooking, nothing else

#

I have a function that can help

#

Lemme just edit it

night pagoda
#

I mean I already have hooks anyways

zealous glen
#
local _generate_main_end = function(self)
    local content = {{n=G.UIT.R,config={align = "cm"},nodes={}}}
    content[1].nodes={
                {n=G.UIT.T, config={text = "+"..tostring(self.ability.extra.enhancements.Bonus.chips) ,colour = G.C.CHIPS, scale = 0.32}},
                {n=G.UIT.T, config={text = " Chips",colour = G.C.L_BLACK, scale = 0.32}},
            }
return {{n=G.UIT.C, config={align = "bm", minh = 0.4}, nodes=content}}
#

And then you do

joker.loc_def = function(self)
    return {}, _generate_main_end(self)
end
night pagoda
#

ty, will try

narrow pollen
#

odds for superposition have now been adjusted to 45% for tarot, 45% for planet, and 10% for spectral

ionic isle
#

does it have support for mods that add new consumables?

maiden phoenix
#

All the incoming jokers are coded 🥳

#

Gonna have to do a lot of spriting and polishing now

wicked moth
#

this is a funny one

#

i think you can tell what the effect is

crisp coral
#

all cards are flipped

wicked moth
#

it's more than that

#

it's every single boss blind at once

crisp coral
#

neat

nimble sequoia
#

kid named retcon:

frosty dock
#

that's terrifying

#

but why doesn't it need more score? (violet vessel + the wall)

wicked moth
#

it has the violet vessel score

#

ignored the wall

rough furnace
#

Kid named chicot

frosty dock
#

if you consider the wall and the needle, it should have 12X base

#

So twice that of violet vessel

#

but just taking the highest works ig

wicked moth
#

yeah chicot destroys this 💀

frosty dock
#

chicot being actually useful for once

#

the house + the water + the needle is already brutal

ionic isle
#

a more balanced version of this would be "combines 3 random boss blind effects" or for scaling "applies 1 random boss blind effect per hand played"

#

the current effect would work really well as the last blind of endless mode before naneinf, though

frosty dock
#

ante 40 mega-showdown boss lmao

ionic isle
#

The Blind

formal viper
# wicked moth this is a funny one
All cards are face down(Acorn + Mark + Wheel + Fish + House)
All cards are debuffed(Suit bosses + Verdant + Pillar + Crimson)
1 hand(Needle) | 0 discards(Water) | -1 hand size(Manacle)
1 card always selected(Bell) | X6 blind req(Violet)
Discards 2 cards every hand(Hook) | Lose $ per card played(Tooth)
Decrease level of played hand(Arm) | Must play 5 cards(Psychic)
Can only play 1 hand type(Mouth) | No repeat hand types(Eye)
Base chip/mult is halved(Flint) | Most played hand sets money to 0(Ox)```
wicked moth
ionic isle
#

run would end anyway so might as well put it there and if you either somehow manage to beat it or you have chicot then you win endless mode

ionic isle
formal viper
ionic isle
#

everything?

formal viper
#

idk everything tho

#

lol

ionic isle
#

crimson disables 1 random joker per hand

formal viper
#

i haven't seen verdant in so long i forgot if it disabled everything

ionic isle
#

verdant debuffs all cards until 1 joker is sold during it

formal viper
#

joker is called a card by campfire so

ionic isle
#

does verdant include jokers? i dont think it did but idr

formal viper
#

following terminology joker = card, verdant disables all cards so

zealous glen
#

I think it would be interesting if inside the same Blind it started another Blind

ionic isle
#

yeah it doesnt seem like it does

zealous glen
#

So basically the deck doesn’t refresh and you can’t go to the shop

#

But you get new hands and discards

ionic isle
#

thats a boss blind concept isnt it?

zealous glen
formal viper
#

imagine the modded blinds combining

zealous glen
formal viper
#

most cryptid mod combos would be near impossible

zealous glen
#

Where every boss is like that

ionic isle
ionic isle
ionic isle
formal viper
#

Violet Vessel + Rage = high blind req that scales even higher

#

The Tax + The Needle is impossible without boss disabling shenanigans or burglar

ionic isle
#

needle is just op in combination blinds tbh

formal viper
#

currently brainstorming deck stuff for cryptid

ionic isle
formal viper
#

need the last 3 sins

night pagoda
#

What is the text thingy to make letters slightly bounce like in joker's titles?

night pagoda
#

ty!

zealous glen
night pagoda
#

I ended up with this as a solution for removing lines btw

zealous glen
zealous glen
formal viper
#

mod

zealous glen
#

Balatro Modding Cinematic Universe?

formal viper
#

cryptid mod

night pagoda
#

"exotic" refers to exotic suits in bunco

formal viper
#

lol

#

wrong exotic

night pagoda
#

I'll show in a sec

formal viper
#

dang that sec kinda long

night pagoda
#

yeah having some troubles sorry

#

one more sec

formal viper
#

not another sec

night pagoda
#

shit, I can't show you

#

I'll do it later

#

sorry!

#

😔

#

urghhh

#

how do I check where the card is in generate_card_ui

#

I thought it'd be _c.area but it is nil

zealous glen
#

I think sometimes it gets called when a card object doesn’t exist or something

night pagoda
#

too late; I made that the info actually gets passed into _c

zealous glen
# night pagoda

I’d write it as self.whatever = self.whatever or self.area.config

night pagoda
#

yuck, when I remove from table it creates what it removed

#

...I don't have any idea for the direction to go to get rid of this

#

@zealous glen @formal viper exactly two seconds passed ✅

#

not a fan of animation; it gets applied to each word separately

#

the {E:1} I mean

zealous glen
#

Which gives it a wavy movement

night pagoda
#

yeah but because of the colors I needed to write that multiple times

zealous glen
#

hmm, then maybe it depends on the position of the specific string

night pagoda
zealous glen
night pagoda
#

nope!

#

it does something?

#

I looked at the code and didn't found any E: with different number other than 1

zealous glen
#

But maybe it just needs to have a number

zealous glen
night pagoda
#

ahh no that's not what I mean

#

look how the words appear when I hover

#

normally it would appear as one whole thing

#

and instead of that each word has appearing animation separately

zealous glen
#

No

#

Hmmm

#

Maybe the 1 is the time it takes to show up? I had forgotten about that possibility

night pagoda
#

set it to zero and the effect now isn't even there lol

#

honestly maybe I'm fine with no effect at all

night pagoda
#

also no effect

golden lake
#

hi chat

willow grail
#

hi

golden lake
#

new Balatrostuck logo dropped

mellow crag
#

Soon?

golden lake
#

yes

mellow crag
#

Oooooh

#

So excited

ionic isle
#

4 days

zealous glen
#

I like the green

scenic zenith
#

if i wanted to make a deck that works with cards and potentially debuffs them anyone know how i could figure out how to do that

#

i'd need to know what cards are scored
how to debuff cards
how to remove debuff after a blind is finished

#

i have no idea how you mod for this

crisp coral
#

-find something that passes through a scoring_hand
-Card.debuff = true
-all blinds automatically remove normal debuffs

#

the debuffs from the challenge are permanent debuffs

scenic zenith
#

where can i go through the code

#

is there some program to let you do that easily

#

(i thought it wasn't allowed ngl)

#

no idea how you mod without it though

zealous glen
scenic zenith
#

is the .exe just a 7zip

zealous glen
#

basically

scenic zenith
#

ok that's awesome

#

lmao

golden lake
formal viper
golden lake
formal viper
#

i really thought long and hard about the equation of the given mult

#

then i realized it's literally factorials

golden lake
#

tangle buddies moment

maiden phoenix
#

This is so funny

#

Damocles jumpscare

zealous glen
#

Here's a proof-of-concept. Don't take the numbers and animations too seriously.

maiden phoenix
#

Wild

odd dock
#

lmfao

zealous glen
odd dock
#

whats with the soul_pos consumables?

zealous glen
odd dock
#

sounds really cool

maiden phoenix
#

Even better

odd dock
#

misprint joker if it was funny

#

the star gazing joker looks good

zealous glen
odd dock
#

is that thematic?

zealous glen
#

1025 would be more thematic but that's too much

odd dock
#

i think 11 would be kinda ok, a little slow

zealous glen
#

It's a strong effect—if you could control when it happens

odd dock
#

3 rounds is fine but you might not be playing every hand each round

zealous glen
odd dock
#

true

unkempt thicket
bitter sand
ruby geyser
#

Does anyone have an example of creating a specific tarot on [Condition]? Closest I can think is blue seal?

wild gyro
#

there's bad legal defense from morefluff

#

(spawns a death tarot when boss blind is selected)

zealous glen
#

There's a create_card and I think you can just ask it to create a specifically named card

ruby geyser
zealous glen
#

I create specifically cows and specific kinds of milk

ruby geyser
#

Yeah, wanted to check if it was a different entry for tarot than it was for planets

zealous glen
#

I think that's the easiest way

#

Has anyone tried to flip cards in the deck?

ruby geyser
zealous glen
zealous glen
ruby geyser
#

Together they would be unstoppable!

#

Works with multiple hand types as well, can obviously play 2pair/full house/flush but also 9 and 10 high straights which I think is neat

remote coral
zealous glen
maiden phoenix
ruby geyser
# remote coral The One

It's a little different (these jokers are meant mostly as jokes for my friend to play so obviously it's not properly balanced)

wild gyro
zealous glen
#

Here's The One @ruby geyser

ruby geyser
zealous glen
#

also Pride Jimbo