#đŸ’»ăƒ»modding-dev

1 messages · Page 383 of 1

slow brook
#

can I save a whole hand and make it guaranteed that the exact same hand will be drawn next blind?

#

and would that break if between the blinds i buy a card that increases my hand size

hard needle
#

how can i get the amount of hands and discards when a blind is set (this should also account for stuff like burglar) i tried to add an event with a delay to set a var to the hands and discards left but it doesnt seem to account for burglar

crisp coral
#

burglar always proc after set_blind

#

but try the hand drawn function

turbid maple
#

burgars proc in my belly

crisp coral
#

burgers on my mind

unborn bay
#

hi void

#

burger

turbid maple
#

my card occasionally has a card stored within its c.a.e and id like to render it inside the card (this is not vore) can i accomplish this with a drawstep

#

hiya

#

i have never done any advanced graphics fuckery let alone a single legendary card

unborn bay
#

drawsteps are just extra draw calls to cards yeah

primal robin
#

So in this call I can add particles to card or remove them depends on condition right?

turbid maple
#

so call draw on the card inside the drawstep?

unborn bay
#

maybe, that'll call all the relevant steps as well

primal robin
#

Okay, how I can add soul sprite for blind?

unborn bay
#

sirote?

manic rune
#

shouldnt this put the text ui on top of the card, or at least have it follow the card

#

sob

hardy viper
#

burgers

#

yum

red flower
unborn bay
#

i believe the base draw function draws first than the card here

#

yeah you might need to put it in card.children

manic rune
#

a

#

one sec

unborn bay
#

bepisfever

red flower
#

bewiswever

manic rune
#

nope

red flower
#

damn

manic rune
#

merlinsotrue

#

the ui text isnt seen anywhere, i tried dragging the card off to an empty space just to make sure its not behind (it isnt)

#

why is it here though??? 😭

slow brook
#

with calc_dollar_bonus, how can i add a sound that plays when the bonus is shown on screen and the card shakes, and not when actually calculating the bonus

unborn bay
manic rune
#

no, i think i figured it out

#

the ui just

#

does not update at all

#

if i set the major to Strong then it appears where the cards were

unborn bay
#

😭

manic rune
#

which means that it DID move

#

but never update its position a single time afterwards

#

and i dont think i have enough brain cells to even figure out why the fuck that is the case

#

:3

unborn bay
#

i guess its because those don't update when a menu is on the screen

manic rune
#

that might be it

#

might be because of this little line, who knows

unborn bay
#

yeah no LMAO

#

i believe any elements made after that just don't update

#

or was it before

#

actually lemme check

#

since i did that for dos cards

manic rune
#

i

#

it wasnt the case???

unborn bay
#

â˜č

manic rune
primal robin
#

Check #G.I.SPRITE

manic rune
#

đŸ€” what does the number tell me

primal robin
#

How much sprites are rendered atm

manic rune
#

180

primal robin
#

card's front is a sprite

manic rune
#

when i open the inventory, its 210

primal robin
#

Most likely you are replacing card sprite without removing old one

manic rune
#

doesnt this remove the old sprite though

#

-# bad arrow, sorry :3

primal robin
#

It should

manic rune
#

if i close the inventory and its still 180, does that mean the old sprite is properly removed?

native zinc
#

lua ui hard

unborn bay
#

****ui hard

native zinc
#

***hard

unborn bay
#

****

manic rune
native zinc
#

idk i like css

#

well okay css is bad die die kill on sight

#

but it's still ok

unborn bay
#

i loathe css

#

i loathe html

#

i hate webdev

#

why are we normalizing webdev on desktop

shell timber
#

css is fine if you do it right (literally just set the font and background colour)

cerulean bane
#

caniKILLandMURDER at her EVIL computer writing EVIL lua

manic rune
#

this is why i couldnt make stackable items

#

đŸ„€

unborn bay
#

bepis

manic rune
#

couldnt figure out wtf is going on with the ui for god sake

#

hi haya

slow brook
primal robin
native zinc
primal robin
#

So you can find out what this sprite is

manic rune
#

a

#

idk

native zinc
#

why is it named chips

manic rune
#

we just dont know

native zinc
#

why are you looking at the atlas

manic rune
#

:3

native zinc
#

why not just eval G.I.SPRITE[180] ...

manic rune
#

i did

#

didnt give that much useful information though

primal robin
#

chips is vanilla sprite

manic rune
#

figured as much

#

đŸ€” does it have any impact on my ui tho

primal robin
#

Yes it is

#

Most likely on your card also present stake chip

turbid maple
primal robin
#

Which you didn't remove

slow brook
lyric blade
#

I got an idea for a boss blind.

The Vanilla
All Jokers from any mods are debuffed

turbid maple
slow brook
turbid maple
native zinc
unborn bay
native zinc
#

i've been escaping lovely patches for a long time :)

unborn bay
#

bountiful

native zinc
#

hi

slow brook
shell timber
#

hi bountiful

primal robin
native zinc
#

personally it's a bad idea to stop players based on personal choices of the mods they want to play

#

like yeah you can stop a build but like stoping an entire type of player regardless of their gameplay choices is bad

primal robin
#

Making a blind "you lose if you don't have a gold card" by itself is stupid idea

unborn bay
#

yahimod:

primal robin
#

Maybe its funny but it's not fun

lyric blade
unborn bay
slow brook
lyric blade
turbid maple
#

boss blind: you lose if a joker gives you xchips or ^chips or whatever god did not intend to exist

native zinc
#

it ends the run if you're playing something with a large amount of modded jokers

native zinc
unborn bay
#

banner.toml is just a patch specifically for the banner mod btw lmao

#

just to get rid of the banner prompt for mechanic/wild dos card

#

since that brings up the collection menu

hard needle
lyric blade
native zinc
#

if you're playing something with a large amount of modded jokers you also get less chances to roll directors cut or get chicot

#

i mean this goes for any blind tbh you can't even vouch to get those things in vanilla

#

yet alone one quabillion things

cerulean bane
#

just play challenger’s deck in finity and start with director’s cut i mean what

unborn bay
#

finity mentioned

#

but yeah not everyone will get director's cut/retcon in a run

turbid maple
#

not a fan of blinds that are too polarizing

lyric blade
#

But I know, I'd still maybe do it because... it's funny. Maybe make it an optional boss you can turn on/off, or just a separate mod

native zinc
#

the same mod also has "all modded jokers are debuffed"

#

and

#

"all vanilla jokers are debuffed"

#

nobody wins... true neutrality

lyric blade
#

Or this

turbid maple
#

all jokers are debuffed

native zinc
#

"everything is debuffed. blind requirement is 300"

lyric blade
#

Or be kind and say ,,All Jokers debuffed until one modded Joker sold"

#

"Your score is multiplied by 0"

native zinc
#

i feel like "No base score" would be kinder

cerulean bane
#

turquoise tornado

unborn bay
#

evil combo

#

turquoise turnado with the needle

cerulean bane
#

psychic + nostalgic arm in obsidian orb

native zinc
#

imo blinds should probably be challenges that encourage smart gameplay or circumvention and really shouldn't kill builds all that often

#

either that or are just mildly annoying

lyric blade
turbid maple
#

uninstalls balatro and wipes your save if you lose to this blind

native zinc
#

because then i would stop playing the mod

#

then again to be fair

#

fuck hologram lol

unborn bay
#

smiley face

#

with three eyes

native zinc
#

three eyes

#

damnit

#

too slow

unborn bay
#

haha

lyric blade
#

What are three eyes

turbid maple
#

ă‚·

lyric blade
#

Oh

#

nvm

#

I need a mod that closes Balatro when I open Balatro

turbid maple
#

more like opens balatro when you close it

lyric blade
#

Even better

#

Installs Balatro when you unintall it

slow brook
#

how do i discard every card in hand at once

lyric blade
#

How is that blind called that discards 2 cards at every play

slow brook
#

the hook

lyric blade
#

Maybe there is some other way but that's one of them

bleak crane
#

the world if my code worked without outside help

sighhhhh
why wont this work?

    calculate = function(self, card, context)
        if context.joker_main then
            if context.cardarea == G.play and context.repetition and not context.repetition_only then
                if context.other_card:is_suit("Clubs") or context.other_card:is_suit("Spades") then
                    return {
                        mult = card.ability.extra.mult,
                        card = context.blueprint_card or card
                    }
                elseif context.other_card:is_suit("Hearts") or context.other_card:is_suit("Diamonds") then
                    return {
                        Xmult = card.ability.extra.xmult,
                        card = context.blueprint_card or card
                    }
                end
            end
        end
    end
red flower
#

context.joker_main and context.repetition are not true at the same time

slow brook
#

how do i discard a specific card manually

#

i got a local c = G.hand.cards[i] in a for loop and i want to discard c

lyric blade
#

G.hand:add_to_highlighted(c, true)
G.FUNCS.discard_cards_from_highlighted(nil, true)

I guess

slow brook
lyric blade
#

hmmmm

#

You could repeat that until you have no cards to discard XDD
There's probably a function for drawing cards wait

#

G.FUNCS.draw_from_deck_to_hand(number of cards?) is for drawing cards

slow brook
#

how do i check if the player is currently in boss blind

red flower
#

G.GAME.blind.boss

slow brook
#

where can i find a list of all G.GAME or G.C stuff so i dont have to ask everytime for the simplest things

daring fern
slow brook
#

so.. is there no context when a card is counted in the round won money counting screen?

slow brook
daring fern
slow brook
#

I guess it would require patching

unborn bay
#

the humble lovely patch yeah

slow brook
vast night
#

Hi again. Does any1 know how I can add a new event that removes money. The problem is that you cant deduct money when a joker is sold

#

nvm

#

ease_dollars

vast night
tall jewel
#

How would you render custom arbitrary text in an info_queue panel without a bunch of hacky methods

#

If it's even possible

slow brook
tall jewel
#

Could I see how you did it?

#

I'd much prefer not to create a dummy joker/tag/card for it

slow brook
# tall jewel Could I see how you did it?

first image: a joker you want to have an info queue on (you don't need the vars = {} if you don't need any value afaik)
second image: Mods/YourModName/localization/en-us.lua

tall jewel
#

Ah, thank you

#

The localization stuff confused me so much

#

I'll try it out in a bit

#

I was spending like 4 hours trying to get it working for a silly joke on one of my jokers

slow brook
hardy viper
#

probably because of the recalculate

#

oh

zealous glen
slow brook
hardy viper
#

move the discard_cards_from_highlighted out of the loop

zealous glen
#

Maybe that helps

#

You need to be careful when moving cards and when destroying cards

#

If you do it at the wrong time it breaks things

slow brook
hardy viper
#

moment

zealous glen
#

You might need to use events

#

And maybe lock the player’s actions

hardy viper
#

it's probably because of weird state stuff to do with discrading while using a consumable

#

so yeah use an event

slow brook
hardy viper
#

smods documentation covers it

harsh sonnet
#

guysss why does my shallow_copy of G.jokers.highlighted[1].ability.mult pull a nil value on the jimbo joker and immediatly crash the game :(
(ref code im trying to understand provided by baimao)

vast night
#

Hi guys. Does anybody know how i can make kings, queens, jacks and aces all count as the same suit, similarly on how smeared and paredolia do it

vast night
#

says the error

hardy viper
harsh sonnet
#

probably?

vast night
#

just try :)

harsh sonnet
#

ya that does it

#

thank uuuuu

quick kraken
#

Is there a way to check if a boss blind is a finisher?

quick kraken
#

The Ante 8 blinds

quick kraken
#

Which is, without hardcoding a table with all the finishers?

digital sun
#

im trying to get this to only trigger once but its triggering for each card that ive discarded
its supposed to be a joker that gains chips and mult each time you run out of discards

zealous glen
quick kraken
#

oh it's config.blind.boss.showdown

digital sun
zealous glen
digital sun
#

yeah ik

zealous glen
#

Take a look at the wiki

zealous glen
digital sun
#

I thought G.hand.cards[1] was getting the first card
i was going to add more but im too dumb to think of what to check if its equal to

zealous glen
#

It’s not empty if it has a first card

#

It doesn’t do anything else with that card, it only checks if it exists

#

You’re not comparing that card with anything else

digital sun
#

yeah im saying i wouldve if i knew what to check it with

#

i didnt finish coding that one specific part

#

i just need it to only trigger once when you discard

slow brook
#

why no work

red flower
#

what's i? what's .discarded? what's begin_discard?

slow brook
high sinew
#

^ not sure what this one is doing

#

What is ur goal for what it does

slow brook
#

consumable that discards your whole hand

high sinew
#

When used?

slow brook
high sinew
# slow brook yes

You will probably want to look into context calculations for SMODS

#

Do you know where this is?

digital sun
red flower
high sinew
slow brook
high sinew
#

Like using context.discard is my initial guess for ur consumable but also im not sure i understand the point of a consumable that discards hand, sorry

slow brook
red flower
#

you can't use context in use

high sinew
#

Oh shoot forgot lol I just never hear a consumable that discards for u

slow brook
high sinew
#

So how that cryptid card works is what I’m hearing

#

I think it’s called reset

high sinew
red flower
#

that does all cards discarded the entire round right?

slow brook
#

nope... the cards come back.. and it's not even random they always come back in the same order

#

yeah i cant read draw_from_discard_to_deck guess what that does

tall jewel
#

(doujinshi as in, fan-made work, ships, etc)

slow brook
#

I can't believe that I spent 3 hours on something that is one line long

tall jewel
#

nyehehe

#

ty kfer

onyx ridge
#

idk why, but it removes the enhancement first before retrigger

tall jewel
#

event after a delay?

modern kindle
#

good schmorning chat

tall jewel
#

's what i did for creating the lesbian cards with tarots

#

make source card queen of hearts + lesbian -> duplicate after .1s and play tarot use sound

red flower
modern kindle
#

how are you N

red flower
#

im doing good
Wbu

modern kindle
#

im very tired, i woke up 7 minutes ago in time for my class starting now lmfao

#

thank god its online

manic rune
modern kindle
#

hi bepis, how is your night

manic rune
#

its okay

#

not much happened :p

zealous glen
modern kindle
modern kindle
high sinew
#

Use other mods to ur benefit

zealous glen
modern kindle
# high sinew Use other mods to ur benefit

its true, you should also play my hit mod called balatro star rail, i put a ton of work into my mod called balatro star rail its very star rail in balatro you should play it
this guy @manic rune thought i did a good job

manic rune
#

😭

high sinew
zealous glen
#

Amazing what you accomplished with a Balatro mod

modern kindle
manic rune
#

i uh

#

:3

modern kindle
#

im going to make something happen

#

stay tuned

zealous glen
manic rune
#

😭

#

let me try

high sinew
zealous glen
manic rune
#

i shall stab

modern kindle
#

i think you should stab

manic rune
#

i agreee

zealous glen
modern kindle
#

i think if you get arrested you can blame vic and vic will get in trouble but you wont

#

cause vic said it first

manic rune
#

vic manipulated me

#

reverse psychology stuff idk

#

:3

modern kindle
#

its true it was allllll vics fault

manic rune
#

so true dilly

modern kindle
#

silly bepis doesnt have free will

#

bepis is only controlled

manic rune
#

bepis is a collective being, controlled by more than one person

#

the more you know

slow brook
#

does that make sense, do you guys understand what the joker does from my description

modern kindle
#

i think the problem comes from making people do math from the card, i can understand it but whos gonna wanna sit there and think of what the squared result is

ideally if a hand is selected itd be neat for the card to displayt he mult it would give

high sinew
#

Is that a pvz mod?

slow brook
manic rune
#

sob

high sinew
slow brook
modern kindle
high sinew
#

I usually add joker display compat now and localization technique so u can see output

modern kindle
#

i truthfully dont even think any of my stuff has built in joker display compat i should try and work on that

red flower
modern kindle
#

the only mod i tried integrating and was successful in was talisman

manic rune
#

its true, localthunk acknowledged it

high sinew
modern kindle
#

is there anything special i gotta do for jokerdisplay

red flower
#

yes

#

write the code

high sinew
modern kindle
#

well thats outta my depth i dont know what code is

high sinew
#

I have for a leveling pepper system in my mod that I made where it will tell you Mult it gives in total

#

It changes joker or pepper and keeps the previous mult from peppers

modern kindle
#

but give me the tldr rundown of what i gotta add for joker display compat

#

so i can add it to my list

chrome widget
#

What is joker display?

red flower
high sinew
high sinew
red flower
modern kindle
red flower
#

bean uses it

modern kindle
#

but much obliged ill get into it

red flower
chrome widget
#

Oh I see. That reads as a little too cluttered for me

high sinew
chrome widget
#

But it's a nice option!!

red flower
#

there are options to display them differently but yeah

modern kindle
#

i figure its nice to add compat for in the way i did talisman, my mod works both with and without talisman installed
so since jhoker display lets me make it regarding if its installed or not works well

high sinew
modern kindle
#

makes it so i can just make it if people wanna

high sinew
#

I’ll send a joker display example for u

#

This is how they kinda look

#

Only wil display if activated and so

red flower
#

in the newest update you can just add them to the joker definition

high sinew
#

New update?!

red flower
#

i mean its like 5 months old by now

high sinew
#

Might have to go back and change all my code for joker display 😂

#

I followed a diff mod way of how they did but def gotta look into that

modern kindle
#

i was gonna say what ive seen is gonna make it a nuisance to add a whole extra fuckin file full of definitions for all my goons
but if i can just add it to joker def thatd be ideal

slow brook
#

how do i get the lvl of the hand played?

high sinew
red flower
high sinew
#

Most of my cards had similar text tho so it was easy to make a dummy joker display and use for a lot

modern kindle
high sinew
#

Godamn 😂

modern kindle
#

all of my shit was in one file

high sinew
#

Yea I set up talisman immediately a month back when starting out my mod

modern kindle
#

a couple of us didnt really want to put talisman compat in because its oto much bs to care about

high sinew
#

Cause the pepper level joker was first idea and needed talisman for the Carolina reaper and future jokers

high sinew
modern kindle
#

my mod is much better separated now at least

high sinew
#

But it’s barely used rn in it since most jokers are pretty vanilla code

#

lol you should see the folders in Rafa and i’s mod crazy amount

modern kindle
#

i need to separate a little more, but i never find it worth it to have another file unless theres a substantial amonut

high sinew
#

So much code 😂

#

I’m too organized đŸ«š

modern kindle
#

i know some crazy people do 1 joker per file

high sinew
#

Like me
?😬

#

😖

modern kindle
#

not me though, this is my joker file lmao

high sinew
#

Holy hell

#

Long file baby đŸ€€

modern kindle
#

yea shes a big one

high sinew
#

Yee I decided a lot of small files

#

Seperate by what they are

modern kindle
#

its real funny cause i can go back to the first one i made
and the most recent one i made

#

and see how much more ive learned

high sinew
#

lol same

modern kindle
#

cause i havent changed shit from my first joker

high sinew
#

Yea that’s fair

#

I just finished my first set of the joker ideas I had set wise so I highly imma touch em again for a while

modern kindle
#

my terrible mindset is that if it works i try to not change it
i know things can be done so much better
but if it functions thats my goal

high sinew
#

Besides prob added sum sound fx and shi

high sinew
modern kindle
#

yea thats my general idea

high sinew
#

Yee how I’ve been doing mine so I get it

#

But once I set up one transformer joker in my set for seeets all were so easy to make

modern kindle
#

i know some people would look at my code and say 'what.'
but hey
if it works..

high sinew
#

And since I haven’t honestly seen any other mod do that idea I knew I had to lock in on it for the sweet set in mod

high sinew
#

I hope no one peeks the fucking logic for the enfuse snacks

#

They will be livid

#

One text block of it


#

Cause it checks if cards have enhancement and if so gives new one

modern kindle
#

my most annoying joker was probably my freakin secret service joker
cause i had to back then figure out how to manage cards being destroyed with tarots and if they were glass and etc
cause i needed specific ranks, and then checking for specific shit for retriggers, then making duplication work properly

high sinew
#

I love statistics that’s those random chances 😂

high sinew
#

Mine are pretty simple features cause I didn’t wanna over complicate yet đŸ«©

modern kindle
#

the neat thing is the number sold is random each run from 5-10

#

so it changes per run, could be 5 one run, next run is 9, etc

high sinew
#

The idea if hand played turns cards into enhancements specified

modern kindle
#

ooo icic
what does frosti do

tall jewel
#

i think this is fair enough (it's gonna be turned into a rare joker at some point), the amount earned is weighted slightly towards the min value

high sinew
#

My favorite one I made

modern kindle
#

ooooo
money

tall jewel
#

oooooooo

high sinew
#

It can get pretty insane

slow brook
#

can i return 2 messages at once in calculate so it first displays one message and then the second one?

turbid maple
#

SMODS.calculate_effects

high sinew
#

I had hanging Chad with sock and bussin with a frosting king hot that baby up to like $30 crazy

slow brook
#

cuz I want to have a message that's funny but also a message that tells you what the joker did

high sinew
#

All my jokers say a funny message when triggered

gusty iron
#

i feel like doing a joker per file is most efficient and readable

high sinew
#

Gingy triggers a sound fx of the scene when he gets kidnapped by lord Farquhad

tall jewel
#

it'll do the +money first

high sinew
#

And asks him who the muffin man is 😂

slow brook
modern kindle
#

i think readability doesnt come into play when ctrl f exists

if youre in a centralized joker file you know what youre dealing with
if the entire mod is in one file then i think readability sucks but

slow brook
#

I want funny message first and then what the joker actually did

modern kindle
#

i think if the file is all jokers readability is more of a non issue

high sinew
slow brook
tall jewel
#

mostly so I can only have to watch a single file with the debug mod

high sinew
tall jewel
#

i wish there was an auto-watch feature

#

readability shouldn't be something you worry about until you're ready to release

#

if it's for you then if you understand it it's fine

modern kindle
tall jewel
#

yeah im working towards localization

#

buut atm i just want features over style/readability

#

I've always programmed this way, features/implementation over readability/reusability

high sinew
tall jewel
#

once it works you can make it more readable but until then you should pump out features instead

modern kindle
#

yea i agree with that
frankly my belief is when my mod releases people dont need to think my code is beautiful, its for me to udnerstand at the end of the day
and my mod wont be a stand in for learning

you got people like bepis, eremel, n for that
im no savant of code

high sinew
#

I started same way with no localization very big mistake

modern kindle
#

i do at the least try and make up for it with comments

tall jewel
#

i do like to make an api of sorts before publishing to make things easier for people to add things

#

comments arent something you should overuse, verbose variables are better

high sinew
tall jewel
#

ie instead of doing
-- this does something
do
this.something()

high sinew
#

Yus super helpful it’s how I’m designing mine

tall jewel
high sinew
#

Yee that’s helpful

#

I wouldn’t worry about making code a whole book on how you did just focus on making work

minor magnet
#

is there a context for enhancements for when they're drawn to hand?

high sinew
#

You can add that stuff later once it’s working for peeps

high sinew
modern kindle
high sinew
#

Depends on what for

minor magnet
tall jewel
minor magnet
#

in an enhancement code, i want an effect to occur when it is drawn to hand

tall jewel
#

At the end of the day, it's your choice

#

I just think it's easier, personally

modern kindle
#

yea idk, i think it makes it easier for someone who doesnt know what theyre doing to read comments
but end of the day its personal pref

tall jewel
#

yee

wind steppe
#

does anyone know why this triggers at the wrong time? the extra joker slot triggers 3 times when the booster pack is opened instead of once when a joker is selected from it

SMODS.Booster{
    key = 'foodpack',
    loc_txt = {
        name = 'Food Pack',
        text = {
            'Choose 1 of 3 Food Jokers with a Negative Sticker'
        },
        group_name = '(You\'d like...)'
    },
    config = {extra = 3, choose = 1},
    atlas = 'Boosters',
    pos = { x = 1, y = 0 },
    create_card = function(self, card)
        return SMODS.create_card({set = "Food", area = G.pack_cards, skip_materialize = true, key_append = "does rng seeding matter that much?", stickers = {'para_negativesticker'}, edition = 'e_negative'})
    end,
    weight = 0,
    cost = 0
}
SMODS.Sticker{
    key = 'negativesticker',
    sets = {Joker = true},
    rate = 0,
    atlas = 'Stickers',
    pos = { x = 0, y = 0 },
    should_apply = false,
    loc_txt = {
        name = 'negative sticker',
        text = {
            '+1 Joker Slot'
        }
    },
    apply = function(self, card, val)
        G.jokers.config.card_limit = G.jokers.config.card_limit + 1
    end,
}
tall jewel
high sinew
tall jewel
high sinew
#

For Xmult

tall jewel
#
if context.card_added and context.cardares == G.jokers then
...
end
minor magnet
tall jewel
#

oh are you meaning when the sticker is used?

#

or something is picked from the voucher

minor magnet
modern kindle
#

probably not ideal but couldnt you throw a check in update or somethin

wind steppe
modern kindle
#

checking handsize and if the card was drawn

high sinew
tall jewel
high sinew
#

Idk any context checks for if drawn that turn

tall jewel
#

this would also pass if it's bought from shop, duplicated, or spawned

hard mica
#

im trying to organize my mod but it seems like this doesnt work?

#

i tried with a / as well

#

doesnt work and crashes

slow brook
high sinew
#

Why is ur key for atlas so weird

hard mica
hard mica
high sinew
#

I’ve never seen an atlas key done that way

modern kindle
#

the key should just be the name of the png
ideally i make things one word or no spaces myself
ie WideJonklers.png

#

but yours does look weird

hard mica
#

Keys are suggested to be case sensitive

high sinew
#

I would suggest using _ for spaces

#

Not key

#

The atlas =

modern kindle
#

right yea im changing my shit

high sinew
#

Ur way of calling the png is hella strange

hard mica
#

I'm used to calling it like that from tboi modding

modern kindle
#
--Creates an atlas for cards to use
SMODS.Atlas {
    -- Key for code to find it with
    key = "tarots",
    -- The name of the file, for the code to pull the atlas from
    path = "Tarots.png",
    -- Width of each sprite in 1x size
    px = 71,
    -- Height of each sprite in 1x size
    py = 95
}

heres an example

the file is named Tarots.png

slow brook
#

how do i transform a joker into another one (not random, always into the same)

high sinew
#

Like my jokers are literally sweet_jokers for name

red flower
slow brook
red flower
#

yes

spice wadi
high sinew
#

You need to use ur id you made in json always for anything creating

#

Mine is mills so you will see that imbedded all over my code

#

All jokers for ex have “j_mills_name”

#

Consumables “c_mills_name”

#

If not base game

slow brook
#

and if i want the joker to not be available in shop, so it can only be transformed to? something about pools?

placid star
#

i dont usually use loc entries so can anyone see what im doing wrong?

tall jewel
#

hehehehe

high sinew
#

To stop from what u want it to not spawn in

tall jewel
knotty compass
#

heya how would you make consumable detect if theres already specific one in your consumables

tall jewel
#

oop

wind steppe
# tall jewel then card_added and cardarea == G.jokers would work probably

this doesn't seem to do anything? (other than show the sticker texture)

SMODS.Sticker{
    key = 'negativesticker',
    sets = {Joker = true},
    rate = 0,
    atlas = 'Stickers',
    pos = { x = 0, y = 0 },
    should_apply = false,
    loc_txt = {
        name = 'Negative Sticker',
        text = {
            '{C:dark_edition}+1{} Joker Slot'
        }
    },
    calculate = function(self, card, context)
        if context.card_added and context.card_area == G.jokers then
            G.jokers.config.card_limit = G.jokers.config.card_limit + 1
        end
    end
}
tall jewel
#

oh wait

#

uh

#

i thought you'd attach it to a joker

#

im not sure how sticker calc functions work

wind steppe
#

i'm not convinced that anybody actually knows how SMODS.Sticker works

slow brook
wind steppe
#

documentation sure doesn't

high sinew
#

Stops from shop and packs

#

Like legendary

placid star
slow brook
#

can i make a joker not appear in the jokers list? probably not right

high sinew
zealous glen
worthy stirrup
#

Hey, how could I have my boss do something whenever a heart is scored?

modern kindle
high sinew
slow brook
placid star
modern kindle
#

yea i was just about to say no collection exists

high sinew
#

Oh wow damn

#

Didn’t know that existed

slow brook
tall jewel
daring heron
#

does anyone know how i can add more quips to jimbo without changing the en_us file (since i want it to be like any other mod)

high sinew
red flower
wind steppe
placid star
zealous glen
daring heron
gusty iron
#

any suggestions on what i should draw on this card

zealous glen
gusty iron
wind steppe
#

i don't think stickers have config?

#

documentation doesn't say anything about it

placid star
hard mica
modern kindle
red flower
knotty compass
# zealous glen When

basically im making a consumable that when added checks if you dont have same one already, if yes destroys itself and boosts the other one

high sinew
red flower
hard mica
placid star
high sinew
hybrid shadow
red flower
zealous glen
hard mica
#

but not sure how to do the path

high sinew
#

I wouldn’t mess with ur assests folder tbh

worthy stirrup
#

This is part of my boss blind code, when a heart is played, the little pop up for x.5 mult appears on the side instead of above the card, how could i fix this?

high sinew
#

Keep way it is

worthy stirrup
#
  calculate = function(self, card, context)
    if context.individual then
      if context.cardarea == G.play then
        if context.other_card:is_suit("Hearts") then
          return {
            x_mult = .5,
            card = card
          }
        end
      end
    end
  end
hard mica
#

damn if i let it like that , its just gonna be hella messy

hybrid shadow
high sinew
high sinew
#

That’s how u organize it

worthy stirrup
hard mica
wind steppe
hybrid shadow
knotty compass
high sinew
red flower
worthy stirrup
#

got it, ill try that

high sinew
#

Set up ur main to call the file and readjust how I built atlas to way u want it’s very easy

#

To be changed

hybrid shadow
worthy stirrup
#

thanks, it worked

wind steppe
hybrid shadow
wind steppe
#

dont have loc_vars for dynamic description yet

#
SMODS.Sticker{
    key = 'negativesticker',
    sets = {Joker = true},
    rate = 0,
    atlas = 'Stickers',
    pos = { x = 0, y = 0 },
    should_apply = false,
    loc_txt = {
        name = 'Negative Sticker',
        text = {
            '{C:dark_edition}+1{} Joker Slot'
        },
        label = 'Negative Sticker'
    },
    badge_colour = G.C.DARK_EDITION,
    config = { extra = { card_limit = 1 } },
    calculate = function(self, card, context)
        if context.card_added and context.card_area == G.jokers then
            G.jokers.config.card_limit = G.jokers.config.card_limit + self.config.extra.card_limit
        end
    end
hybrid shadow
worthy stirrup
#

How do i check a cards ID again?

gusty iron
#

how would i add a joker and/or a consumable to the player's hand?

worthy stirrup
#

or rank

gusty iron
#

card:get_id()

#

itll return a number from 2 to 14

tall jewel
#

Is it possible to modify a vanilla blind to make it not appear with a specific deck?

worthy stirrup
#

thanks

slow brook
#

what is ease_discards actual right name because this one crashes

gusty iron
#

check wasteful code

wind steppe
slow brook
wind steppe
tall jewel
#

could i mayhaps get a link to it?

worthy stirrup
#

is this able to be done bc i aint even sure

      if card:get_id() == 2 then
        return {
          mult = mult - 2
        }
hybrid shadow
tall jewel
#

nvm i think i got it

#

ty tho

wind steppe
#

if ur returning mult or chips you dont have to manually add that so i assumed it was the same

hybrid shadow
wind steppe
#

oh

#

wait what did you mean then

hybrid shadow
#

remove all else in the return

wind steppe
#

that just crashes?

    calculate = function(self, card, context)
        if context.card_added and context.card_area == G.jokers then
            -- G.jokers.config.card_limit = G.jokers.config.card_limit + self.config.extra.card_limit
            return {G.jokers.config.card_limit = G.jokers.config.card_limit + self.config.extra.card_limit}
        end
    end
red flower
#

dont do an assigment in a return

worthy stirrup
#

am i doing this right lmao

red flower
wind steppe
worthy stirrup
#

"Aces, Twos, Threes, Fives, Eights subtract",
"their rank of mult when scored",
"(Aces count as 1)"

gilded narwhal
#

hey gang how would I make context.end_of_round call only once for a deck calculate function

#

I tried main_eval but that only works for jokers apparently

red flower
wind steppe
red flower
#

nothing

worthy stirrup
#

does this make a message for me or do i need to do it my self?

wind steppe
gilded narwhal
red flower
gilded narwhal
red flower
#

youre missing the individual

gilded narwhal
#

OH

#

mb i didn't see that

worthy stirrup
# worthy stirrup

shit, i forgot to mention, this is a boss blind calcuate, not sure if that effects anything or not

#

but, its seemingly not noticing that the numbers are being played

#

wait

#

i forgot to do end for the last calcualte part

wind steppe
#

i dont think calculate works on boss blinds?

worthy stirrup
#

it weirdly does

wind steppe
#

this is from the documentation tho so take it with a grain of salt

red flower
#

it does

#

its a new thing

worthy stirrup
wind steppe
#

has anyone here actually worked with stickers and knows how they work? i no longer trust the documentation

red flower
worthy stirrup
#

oh

#

fuck

#

it really do be my own self fucking up my code

#

idk if i wanna fix this or not

wind steppe
hard mica
#

is it possible for a seal to be able to copy other seals? like i want a seal to be randomize itself every ante to a random seal , so ante 1 has the red seal and ante 2 it has the gold seal , is it possible?

worthy stirrup
#

pros: its funny
cons: its negative chips

wind steppe
#

also did you really make a blind specifically to counter fibonacci

#

what did fibonacci ever do to you

worthy stirrup
#

yes

#

i made 14 boss blinds to counter jokers

wind steppe
#

make 136 more

#

no joker is safe

modern kindle
#

can you make a joker that counters my blind

worthy stirrup
#

you must think i have free time

hybrid shadow
tall jewel
#

/j

worthy stirrup
#

i wish

wind steppe
#

one that specifically debuffs luchador and nothing else

tall jewel
wind steppe
#

really more of a baseball card counter tbh

slow brook
#

really hard probably, but how can i save the first discarded card in a round to then make it guaranteed to be drawn in the first hand of the next round?
and also that but for the entire hand

worthy stirrup
#

the fun part is im just playing balatro normally until i encounter my boss blind and then i just code it to work

hybrid shadow
worthy stirrup
#

i might add that actually

slow brook
modern kindle
hard mica
#

how can i check if a round has changed/ended?

wind steppe
#

i feel like if you wanted to counter matador you'd just make it do nothing

worthy stirrup
#

i get to play balatro and then i code

modern kindle
#

that reminds me though i need to further improve my gauntlet blind

tall jewel
modern kindle
#

its a 3 phase blind that does quirky shit

worthy stirrup
#

FUCK,

#

i got deathed

wind steppe
#

you got converted into the right card?

worthy stirrup
#

YEA...

hybrid shadow
#

Blind: The Life - turns all cards held in hand into the right card when hand played

tall jewel
#

that sounds fun

scarlet storm
# wind steppe no joker is safe

boss blinds entire ability is shop rerolls cost double (has 0 effect because you can't access the shop during a boss blind)

hard mica
hybrid shadow
scarlet storm
wind steppe
#

reading the blind explains the blind

placid silo
# hard mica anyone know?

This context is used for end of round effects.

if context.end_of_round and context.cardarea == G.jokers then
{
    cardarea = G.jokers, -- G.hand, (G.deck and G.discard optionally enabled)
    end_of_round = true,
    game_over = game_over -- true or false
}

This context is used for effects on cards from jokers at the end of the round.

if context.end_of_round and context.individual then
{
    cardarea = G.hand, -- (G.deck and G.discard optionally enabled)
    end_of_round = true,
    individual = true,
    other_card = card
}```
hybrid shadow
#

actually it would be interesting to have a boss blind that reverses the direction in which the played hand is scored...

placid silo
#

not sure if that's what you need, but yeah.

wind steppe
hard mica
hybrid shadow
gusty iron
#

how would i spawn in a negative copy of a joker/consumable with the key?

wind steppe
#

obviously it's called The Election

hybrid shadow
scarlet storm
hybrid shadow
gusty iron
hybrid shadow
wind steppe
gusty iron
#

well

scarlet storm
#

boss blind that randomly gives negative mult between 10 and 230

gusty iron
#

kinda

#

i made it so that if you go under 10 dollars for 3 rounds

#

your run just ends

hybrid shadow
modern kindle
#

that would ruin some of my cards

theres the credit card, gold card, platinum card, and black card i have for debt increases, and then a debt collector card that gives mult for every 5 bucks below 0 you are

scarlet storm
wind steppe
hybrid shadow
wind steppe
#

wait

scarlet storm
#

it even uses the same pseudo seed so if misprint gives +23 the blind gives -230

wind steppe
#

boss blind that just debuffs chicot

scarlet storm
#

LMAO

wind steppe
#

and nothing else

scarlet storm
#

chicot paradox

hybrid shadow
iron orchid
#

hey peeps need some help with slay the jokers

#

been working with the dev on it and were stuck, trying to get it running correctly on linux

iron orchid
#

we have narrowed it down to getting the auto updater python script to run and send info to his servers

hybrid shadow
iron orchid
#

[[patches]]
[patches.pattern]
target = "game.lua"
pattern = '''self:splash_screen()
'''
position = "after"
payload = '''
os.execute('start /b /usr/bin/python3 "/media/Backup/Steam Games/steamapps/compatdata/2379780/pfx/drive_c/users/steamuser/AppData/Roaming/Balatro/Mods/SlayTheJokers/stj_uploader.py"')

#

the issue is here:

payload = '''
os.execute('start /b /usr/bin/python3 "/media/Backup/Steam Games/steamapps/compatdata/2379780/pfx/drive_c/users/steamuser/AppData/Roaming/Balatro/Mods/SlayTheJokers/stj_uploader.py"')

scarlet storm
#

boss blind that gives -25 chips per stone card in deck ❀

hybrid shadow
hard mica
#

wtf? i dont see whats wrong?

iron orchid
#

we need to get wine(proton on steaam) to execute the python script

wind steppe
placid silo
iron orchid
#

but cant quite sort out what to tell it to do

placid silo
#

yes

hybrid shadow
placid silo
#

YES

wind steppe
hard mica
wind steppe
hard mica
hybrid shadow
wind steppe
placid silo
wind steppe
hybrid shadow
iron orchid
#

anyways, ping me if you know how to trick wine into running a python script so we can get stj working for linux players too

gusty iron
slow brook
#

how do i store joker descriptions in the localization files instead of inside loc_txt

wind steppe
hybrid shadow
#

perkeo counter is just a boss blind that destroys all negative consumables when hand played

gusty iron
mystic river
red flower
wind steppe
placid silo
gusty iron
#

im making a lua card pack

#

im working on local

mystic river
#

(helps to disable as many non-your mods as possible first)

gusty iron
#

you can spawn any joker, or any consumable you want

hybrid shadow
placid silo
#

oh no D:

wind steppe
#

better version: The Censorship - destroys discarded Jacks without triggering discard effects

hybrid shadow
#

The Meat - -100 chips -20 mult, +5 chips +4 mult each hand played

wind steppe
gusty iron
#

BOSS RUSH - Phase Blind (every 12 antes)
Fight all vanilla boss blinds in a row. Your hands replenish after each victory.

goodluck.

hybrid shadow
wind steppe
#

true

#

also egg

placid silo
pulsar furnace
#

can anyone help me, im new to modding,
how does :set_ability() work?

gusty iron
#

how would i check if the player entered in a valid joker key?

hybrid shadow
wind steppe
red flower
hybrid shadow
wind steppe
#

true

#

death counter: cannot rearrange cards

hybrid shadow
hybrid shadow
placid silo
wind steppe
#

Strength counter: The Weakness - Reduce rank of all played cards by 1

gusty iron
placid silo
hybrid shadow
pulsar furnace
wind steppe
#

boss blind that debuffs queens

#

is it in bad taste to call it The Sexism

hybrid shadow
hybrid shadow
wind steppe
#

then we can make a matching baron counter with The Matriarch

#

or just The Guillotine

hybrid shadow
red flower
pulsar furnace
placid silo
#

oop someone beat me to it ty

wind steppe
#

what would you call the jack debuffing blind

placid silo
#

Or "Up The Hill"

hybrid shadow
#

The Pactolus: Removes gold from all played cards

wind steppe
#

maybe 3 in 1 if its before Vampire

placid silo
gusty iron
#

how would i format the negative edition in my joker description

wind steppe
#

The Blind - No cards count as face cards

hybrid shadow
hybrid shadow
placid silo
lofty sand
#

anyone know how I could check for sealed cards in smth like context.discard?

wind steppe
#

also the loyalty card counter would similarly be awful

pulsar furnace
#

how to i make that a card doesnt score

wind steppe
#

x0.25 mult every 6 hands played

gusty iron
#

The Void - Destroy every non-unique card played

wind steppe
#

wait actually hold on

#

showman counter

#

debuffs duplicate jokers

gusty iron
hybrid shadow
gusty iron
#

oh also

wind steppe
gusty iron
#

im turning all of the finisher/showdown blinds into stakes

#

so have fun with that!

wind steppe
#

with a force selected card

gusty iron
hybrid shadow
placid silo
wind steppe
#

how would you counter abandoned deck though

gusty iron
#

itll go:

Verdant Stake
Crimson Stake
Cerrulean Stake
Amber Stake
Violet Stake

gusty iron
hybrid shadow
wind steppe
#

red deck and blue deck already have a counter

#

how do we counter yellow deck?

lofty sand
hybrid shadow
#

immolate counter - adds 5 random cards, -20 dollars

placid silo
wind steppe
#

can't have that

gusty iron
placid silo
#

only $20 but it should be counterable :3

tall jewel
#

this took way too long to make.. until i tried copying the way i did it for the doujinshi author joker...

wind steppe
#

The Shopkeep - Sorry Jimbo, I don't give credit

tall jewel
#

anyways im gonna make a library for this

hard mica
#

does anyone know how i can copy other seals effects?

wind steppe
#

just debuffs Credit Card

tall jewel
#

blind tooltips

placid silo
gusty iron
#

THANK YOU!!

pulsar furnace
#

how do i make that a card doesnt score?

placid silo
hard mica
#

was gonna copy the code from vanilla remade buti thought there might be an easier way of doing it

wind steppe
#

it's like pointer if it was slightly different

gentle rain
gusty iron
#

hi chat

#

i got them all

wind steppe
tall jewel
#

yes

#

but also

gusty iron
#

my main issue is how ill do jokers with underscores

gentle rain
tall jewel
#

this is for the deck, and the sidebar tooltip doesn't work

#

so I needed to copy how the vanilla decks did hovers

#

ended up just adding tl keys stuff to P_CENTERS

pulsar furnace
placid silo
tall jewel
#

(yes I tried "{T:bl_head}" and it didnt work)

gentle rain
pulsar furnace
wind steppe
#

how do stickers actually work?

#

mine does nothing rn and it's supposed to give +1 joker slot

#
SMODS.Sticker{
    key = 'negativesticker',
    sets = {Joker = true},
    rate = 0,
    atlas = 'Stickers',
    pos = { x = 0, y = 0 },
    should_apply = false,
    loc_txt = {
        name = 'Negative Sticker',
        text = {
            '{C:dark_edition}+1{} Joker Slot'
        },
        label = 'Negative Sticker'
    },
    badge_colour = G.C.DARK_EDITION,
    config = { extra = { card_limit = 1 } },
    calculate = function(self, card, context)
        if context.card_added and context.card_area == G.jokers then
            G.jokers.config.card_limit = G.jokers.config.card_limit + self.config.extra.card_limit
        end
    end
}
hybrid shadow
wind steppe
#

im not convinced that anybody actually knows how they work but still i try

hybrid shadow
sleek siren
#

Is there a way that I could make a enhancement that makes the chip values and bonus chip values not score?

sleek siren
#

Maybe... although I don't want it to show up on the scoring screen

lofty sand
#

debuff?

hybrid shadow
hard mica
#

im not sure if what im doing is good , trying to mkae it so this seal copies other seals effects but idk if im doing it the right way

sleek siren
#

Oh!!! Ok! ^^

sleek siren
hybrid shadow
# sleek siren Oh!!! Ok! ^^

idk how youd remove the extra chips (i assume you mean extra chips added by hiker since youre overriding bonus cards anyway with it being an enhancement)

gusty iron
#

how would i change rarity chances?

wheat pulsar
#

hi, one question, how can i put this messages in my customs jokers?

gusty iron
hybrid shadow