#💻・modding-dev

1 messages · Page 497 of 1

twilit citrus
#

how do i make this work? i just wanna get the card bought

wooden nexus
#

Same/difference

chrome widget
#

Ahhhh react. My old nemesis

red flower
#

hi winter!!

twilit citrus
red flower
twilit citrus
#

but now it does, tysm

red flower
primal robin
#

vscode and vscodium is different things you know

red flower
#

i disagree

frosty rampart
#

they are different, vscodium has telemetry disabled and no Microsoft branding egg

red flower
#

i mean yeah thats why i link it

#

it's still vscode

normal crest
#

i'd rather people be directed to vscodium

#

i approve of this misinformation

short girder
#

yo yall

#

does anyone know if it's possible to give a random voucher to the player?

daring fern
#

And yes, it is possible.

short girder
#

do i have to do the cryptid method of scanning for redeemed and unredeemed vouchers or is there another way

final jewel
#

I got this crash and I don't understand why. BTW it's a Partner that I try to make

short girder
# daring fern What is the `Cryptid` method?

        local used_consumable = copier or card
        local usable_vouchers = {}
        for k, v in ipairs(G.vouchers.cards) do
            local can_use = true
            for kk, vv in ipairs(G.vouchers.cards) do
                local center = G.P_CENTERS[vv.config.center.key]
                if center.requires then
                    for _, vvv in pairs(center.requires) do
                        if vvv == v.config.center.key then
                            can_use = false
                            break
                        end
                    end
                end
            end
            if v.ability.eternal then
                can_use = false
            end
            if can_use then
                usable_vouchers[#usable_vouchers + 1] = v
            end
        end```
normal crest
short girder
#

yes to what

#

do the cryptid method or other way

daring fern
short girder
#

im going to assume it's a yes to "do the cryptid method"

daring fern
final jewel
short girder
#

all i want

#

like

#

hm

#

it's the cryptid way, yknow, it gives a random unredeemed voucher, no repeats, could be any tier

sonic cedar
#

how would i context call after a complete discard instead of per card discarded?

normal crest
sonic cedar
#

(so not context.discard)

#

also hi srock

daring fern
normal crest
#

hi toma

sonic cedar
daring fern
daring fern
# sonic cedar yeah but that's not a thing is it
[[patches]]
[patches.pattern]
target = 'functions/state_events.lua'
pattern = '''
G.GAME.current_round.discards_used = G.GAME.current_round.discards_used + 1
'''
position = "after"
payload = '''
SMODS.calculate_context({modprefix_post_discard = true})
'''
match_indent = true
sonic cedar
#

my goat

short girder
daring fern
wooden nexus
#

Coming back to this because I asked Aikoyori and the only thing they did was fix a bug for ranks

final jewel
#

ok now the thing work but I want it to happen only on final scoring step. Like If I remove if context.final_scoring_step, it is working

red flower
#

yeah final_scoring_step and individual don't happen at the same time

#

if you want final_scoring_step then you will need to loop through context.scoring_hand instead

final jewel
#

ok I'll try to do this

wooden nexus
#

Also I'm having a problem with how I set up my ranks. Whenever I try to use certain Spectrals, they crash. I think the problem is that I'm disabling certain ranks for the suit

normal crest
#

what does your in_pool function look like

red flower
#

If you have an in_pool you need to check that args is not nil

wooden nexus
twilit citrus
#

hello guys! is there a way to hook some kind of tag to a joker? something like,

SMODS.add_card({
  key = "super sigma balatro card",
  tag = {"blabla", "blabla"}
}]
wooden nexus
twilit citrus
normal crest
#

yeah you just have to check that args isn't nil

#

like N said

wooden nexus
#

how do i do that? if args.suit == 'other' and args.suit != nil?

normal crest
red flower
twilit citrus
#

OOOO okayokya

#

thank uu

wooden nexus
#

like this?

normal crest
#

yeah that works

tranquil gull
sonic cedar
#

can a joker's nil info queues be fixed to track the values of the joker mimicking the infoqueued's effect?

lament agate
#

^mult is emult right?

wooden nexus
#

Oh, just got another problem now

#

That should not be allowed

#

ignore the badge, i deleted that mod to make this

final jewel
wooden nexus
#

Okay so Others is not supposed to go to the base ranks

daring fern
#

I think.

wooden nexus
#

Ugh. I can never understand hooking lol

sonic cedar
red flower
#

@sonic cedar there, I pinged you

sonic cedar
#

thanks n

sonic cedar
ivory citrus
#

what mean the words underlined in yellow?

sonic cedar
#

insert red circle with arrow

red flower
#

(in this case an undeclared global)

normal crest
sonic cedar
red flower
#

that's also not how you use the context

daring fern
chrome widget
# wooden nexus

Could also simplify this pretty heavily and do

    return (args and args.suit == 'Other')
end```
red flower
sonic cedar
daring fern
wooden nexus
normal crest
# sonic cedar

ah, this is cus joker stencil updates its values in the update method

#

it has an empty config by default

#

that'd normally work for most jokers, but i guess there has to always be an exception

ivory citrus
sonic cedar
red flower
#

also this is still funny

sonic cedar
#

this is in fact still funny

sonic cedar
#

does that make it not possible

daring fern
sonic cedar
#

oh phew

#

how can i do it then? is this a within the joker thing or am i gonna have to hook stuff

normal crest
#

that is a good question

sonic cedar
#

good thing i asked

sonic cedar
#

oh my goodness a whole link

normal crest
#

just to a previous message

sonic cedar
#

oh i missed a ping no wonder

sonic cedar
normal crest
#

if you do that you'll have to calculate what the vars passed to the joker would be by yourself

short girder
#

im assuming that i just cant do this and get away with it (thats probably not even how the table works)

normal crest
daring fern
#

This works for anything that has variables.

normal crest
#

and who knows what other jokers do their variables in update

sonic cedar
normal crest
#

i guess i misinterpreted it

red flower
short girder
#

oh

#

whats the table for all of them

sonic cedar
normal crest
#

no, you append { set = 'Joker', key = key, vars = { 1 } } for example

#

instead of the center

daring fern
red flower
sonic cedar
#

i just havent worked with infoqueue before

sonic cedar
daring fern
short girder
sonic cedar
#

also do i set key = key or do i do something else here

daring fern
daring fern
modern kindle
#

i see so many besties in chat rn

sonic cedar
#

im exploding hi dilly

sonic cedar
modern kindle
#

why explode we've fixed so much smiley face

daring fern
sonic cedar
#

so i AM doing an if else

daring fern
normal crest
#

toma, just to clarify, you want the normal description of the mimicked joker right

twilit citrus
#

guys isn't there easing for destroying jokers?

daring fern
sonic cedar
sonic cedar
twilit citrus
normal crest
#

does your card change the behaviour of stencil in any way

sonic cedar
sonic cedar
#

do i have to rebuild stencil's effect in the joker and put the variables it uses in the vars table

#

but no cause then itd only apply stencil's variables ShinjiHustle

normal crest
#

passing the center as you did previously would take care of most jokers' variables already

chrome widget
#

I have finally completed my alternate suit art yayyyy (not actually done because I need to make variations for combination Blind effects

normal crest
sonic cedar
#

but every time i say "so if else"

normal crest
#

you have all the information you need to solve the issue RN

#

go with what you think is right

sonic cedar
#

...which is the if else

daring fern
sonic cedar
sonic cedar
daring fern
modern kindle
short girder
#

okay folks here's the error im quite sure it's something stupid but help would be greatly appreciated

sonic cedar
#

the effects table stores keys

daring fern
sonic cedar
#

no, it's a merge_effects thing

daring fern
sonic cedar
#

i know

daring fern
#

And I removed the parts that saved values.

sonic cedar
#

i see now

#

i was doomed from the beginning

normal crest
thick drift
#

does anyone know how to access the final score of a played hand?

modern kindle
daring fern
#

Not with custom values.

normal crest
#

They don't want custom values

#

they're just copying the normal effect of the joker

sonic cedar
#

in the case of stencil
i want the infoqueue to treat ijiraq

#

as stencil

#

when it comes to the desc

daring fern
sonic cedar
#

otherwise the player wont know how much it gives

short girder
#

make every variable global this will have no effect on your performance

sonic cedar
#

<--- dumbass

normal crest
daring fern
short girder
daring fern
sonic cedar
#

and that

normal crest
#

wtf

#

@sonic cedar

sonic cedar
#

wrong guy

covert hamlet
#

what

sonic cedar
#

im right here btw

covert hamlet
#

oh lmao

#

yes ur wrong sorry

normal crest
#

hi tomato

sonic cedar
#

hi tomato

normal crest
sonic cedar
short girder
sonic cedar
#

not just stencil

#

i only pulled up stencil for the example

short girder
#

that is a line in the code

normal crest
daring fern
sonic cedar
#

because im not

#

saving the

daring fern
normal crest
short girder
#

what exactly does this do differently

daring fern
short girder
#

so that i may learn and replicate it in the future

#

wow thanks

foggy ginkgo
#

How do you change the cash into a certain number

daring fern
short girder
#

because i quite literally just got the same error

twilit citrus
#

GUYS how do i get the amount of jokers that i have? is it just with SMODS.find_cards()?

normal crest
short girder
sonic cedar
daring fern
normal crest
sonic cedar
normal crest
#

through debugplus

sonic cedar
#

but i will forget
so im putting it

#

in my code

short girder
sonic cedar
lament agate
#

was looking at MF code for hypercam

#

im confused on this since their config doesnt have any "mult"

daring fern
daring fern
normal crest
#

or whatever the key is, it didn't fit in screenshot

lament agate
#

okay i see now

short girder
sonic cedar
normal crest
#

Oh you abbreviated debugplus as dp

sonic cedar
#

oh right the

#

actual dp function lmao mb

short girder
ivory citrus
#

I tried do something same observatory but in joker, but i dont understand what fill in "other_consumable"

daring fern
short girder
#

minor local thunk spelling mistake

ivory citrus
daring fern
foggy ginkgo
#

What's the context for the joker being destroyed

daring fern
#

Also remove the hand_type one.

sonic cedar
daring fern
foggy ginkgo
#

Oh yeah

twilit citrus
#

is there a context for adding jokers?

#

like from wraith and judgement

red flower
#

context.card_added

daring fern
#

and context.card.ability.set == "Joker"

ivory citrus
#

OMG, ITS WORKING

#

I love everyone

sonic cedar
#

after scoring a 2

normal crest
#

yeah, you didn't setup the vars, but it doesn't say nil

sonic cedar
#

wee doesnt use update

twilit citrus
normal crest
sonic cedar
red flower
#

this one should be in the wiki tho

daring fern
red flower
short girder
sonic cedar
twilit citrus
sonic cedar
lament agate
#

i just realized i gotta add context.forcetrigger to every one of my jokers for true compat

#

:despair

ivory citrus
sonic cedar
daring fern
ivory citrus
sonic cedar
daring fern
twilit citrus
ivory citrus
daring fern
sonic cedar
daring fern
sonic cedar
#

oh my god wait i literally have this saved in like the back of the shelf

#

it's this one

daring fern
sonic cedar
#

oKAY

#

now i jut

#

update

short girder
stark rune
#

I'm super new to modding, how do you destroy a certain card?

sonic cedar
#

@daring fern i frogot to replyu

short girder
sonic cedar
#

oh right thanks

daring fern
short girder
#

the seed is the first element right

#

'blahblahblah', G.P_CENTER_POOLS.Voucher

red flower
#

second

daring fern
sonic cedar
#

oh still v ok

short girder
sonic cedar
daring fern
sonic cedar
#

gulp

sonic cedar
#

i did the vars wrong i guess

daring fern
sonic cedar
#

remember he uses a fodder joker

#

as his costume

#

and we had to make him store the values

#

idk it was a while ago you might not remember

#

but yeah it's the costume disguised as wee

sonic cedar
#

that's literally what i have

#

which is also where it's crashing

#

the only joker at the time in the table is wee

daring fern
sonic cedar
#

if else

#

for whether the joker

#

is modded

daring fern
sonic cedar
#

then

#

is that where the modded vars thing

short girder
daring fern
short girder
#

cool because it's not doing anything

#

again

#

used two of them right now and look at how many vouchers i got

daring fern
daring fern
daring fern
sonic cedar
#

ignore the fact that he's small

daring fern
twilit citrus
#

how would i check for stickers on a joker?

daring fern
daring fern
twilit citrus
daring fern
twilit citrus
#

tysmm

sonic cedar
#

it has

#

locvars

short girder
manic rune
# sonic cedar

one sec, does G.GAME.rageEffects contain the keys, not the centers?

sonic cedar
#

as i mentioned earlier isaac_grin

daring fern
manic rune
#

yeah i didnt want to scroll up sorry :3

#

hm

short girder
chrome widget
modern kindle
#

Google says its a creature of Inuit mythology and folklore which is cool

short girder
fathom void
#

i forgot to fix my 1 joker today 🪦

modern kindle
fathom void
#

true

short girder
#

"mitology" killing myself

chrome widget
#

Oh, interesting

modern kindle
#

Modding dev is so sleepy rn...

arctic mason
#

right? been searching this chat for answers. not sure if I want to ask anything yet.

modern kindle
#

Usually this chat is fairly active at my late hours, its only nearing 1 am

#

Ive been trying to sleep for the last couple of hours to no avail anyway lmfao

arctic mason
#

mid afternoon here.

#

cant help with that.

modern kindle
#

Its alright, my bestie something here will surely hit me with a frying pan or something

#

He's pretty helpful like that

arctic mason
#

that will do it im sure haha

#

you make mods?

modern kindle
#

Making one currently
Its almost done with the large exception of my artists taking their sweet time

#

Otherwise I chat here and help where I can

arctic mason
#

ohhh nice! ill need to have a go when its done

#

im only just starting myself

modern kindle
#

Much appreciated:D
If you wanna try some cool people's mods you have bepis who made balatro star rail, N who made joyous spring
Ice who made balatro goes kino

flat mist
#

I have some cool combo and we'll balanced ideas for jokers and spectral cards. If some Wana add them to there mod then I can share these ideas (don't need any credits or something). Just let me play these ideas once they finished.

arctic mason
#

i have not seen those yet. ill definitely have a look.

modern kindle
#

Oh yea something here has seals on everything? I think it is
Or is it still seals on jokers?
Which as it sounds puts seals everywhere

daring fern
modern kindle
#

Forgive me my friend

arctic mason
#

how do i comment code?

daring fern
arctic mason
#

--G.PROFILES[G.SETTINGS.profile].career_stats

#

haha ok

#

what did i do wrong?

#

and also, any ideas of what careers info are default on balatro? or where to find it?

#

ill comment the code

arctic mason
#

Cheers. Legend

flat mist
#

I have some cool combo and we'll balanced ideas for jokers and spectral cards. If some Wana add them to there mod then I can share these ideas (don't need any credits or something). Just let me play these ideas once they finished.

modern kindle
#

the dashes work for comments in your ide

arctic mason
#

return G.PROFILES[G.SETTINGS.profile].career_stats[args.statname] >= 300

#

AMAZING. you are a legend

modern kindle
#

you did it! good job

arctic mason
#

well, you awnsered my question anyway. so thanks

modern kindle
arctic mason
#

ill check it out. i feel like the card im trying to make is more than i can handle

modern kindle
#

its alright to start small, make some less ambitious cards and work your way up
and no questions here are stupid questions, we all started somewhere

chrome widget
modern kindle
chrome widget
#

Anyway I just received international femboy drugs or whatever so I'm yay!!!! Happy!!!!!!

modern kindle
#

I take a bite

#

What happens now

chrome widget
#

It's liquid in a glass container so might not go well

modern kindle
#

Glass was actually made to be safe in your digestive system

tall wharf
#

hey everyone

#

how would i make my consumable set look unique

#

right now it just looks kinda like a palette swapped tarot set

chrome widget
#

I would say it looks pretty unique as it stands though if I had to say anything specific, probably doing some alternative to the screentone for background texture?

#

Since the default Tarots use them?

tall wharf
#

i should probably try to make a unique border

twilit citrus
#

is there a way to FULLY override a card? like ankh, i've been trying to just remove what it does

#

for a specific deck**

chrome widget
#

Yeah the frame is gonna make a big difference in addition to the color

tall wharf
#

wtf arcade

chrome widget
#

Here's a stupid initial idea:

twilit citrus
tall wharf
#

what kind of arcade

chrome widget
#

The letter at the top and the name at the bottom, why not make them tabs that kinda poke out the sides of the card? Let me make a mockup to describe what I mean

twilit citrus
tall wharf
#

i wish i could play maimai right now

twilit citrus
#

TRUTHNUKE

#

anyways this is not modding

twilit citrus
# daring fern Yes.

how to?? it seems like the original card's code takes priority over what i take ownership of

tall wharf
#

you'll have to patch the game's code

daring fern
tall wharf
#

i don't know if take ownership works

#

sometimes it doesn't

twilit citrus
#

for jokers it didn't work before for some reason

#

maybe i did something wrong

daring fern
#

It should be returning if you have any of those functions.

chrome widget
daring fern
#

So it doesn't get to the vanilla versions.

tall wharf
chrome widget
#

Depending on how tall the tabs are it could unfortunately obscure some of the existing art however, so up to you

twilit citrus
tall wharf
#

i do like the offset

twilit citrus
#

i'll go test it

chrome widget
#

You could also do a fun depth effect where the top tab is long enough to be overlayed by the figure while the bottom tab still overlayed in front

tall wharf
#

-# I'm also adding maimai jokers because

chrome widget
#

Won't work for all of them ovs, not the ones that don't have cleared central figures or objects

ivory citrus
#

Hi, i'm making a joker that generates metal face cards using the marble joker as a base.

tall wharf
#

but like that takes effort

chrome widget
#

Very true

twilit citrus
tall wharf
#

i already want it to shift colour

ivory citrus
tall wharf
#

randomly

chrome widget
tall wharf
#

i think you put Playing Cards there

tall wharf
#

with shaders i can independently control colours

daring fern
tall wharf
#

yeah that

chrome widget
#

Oh no I know but how do they shift?

tall wharf
#

i want it to cycle between a few colours

#

definitely won't just be pride flag colours in disguise

twilit citrus
ivory citrus
#

appear*

daring fern
ivory citrus
#

idk what is missing

daring fern
ivory citrus
daring fern
glass scaffold
daring fern
glass scaffold
daring fern
#

set would be "Playing Card" and rank would be not in set

tall wharf
#

SMODS.create_card{set = "Playing Card", rank = pseudorandom(...

ivory citrus
#

i gonna try

#

according to the error mensaje and de program here is the error

#

expect near "King

daring fern
# ivory citrus expect near "King

SMODS.create_card { set = "Base", enhancement = "m_stone", area = G.discard, rank = pseudorandom_element({"King", "Queen", "Jack"}, "seed") }

tall wharf
#

at this point I'm crying inside

#

you at least have syntax highlighting

#

it probably takes a while but you can just tell by how they look what's wrong sometimes

ivory citrus
#

now is working

#

while the mensaje say error

#

Whait a minute

#

i gonna send a video

#

Ignore the noises

#

i watch videos while i work

daring fern
ivory citrus
daring fern
ivory citrus
daring fern
#

You do message = "+1 Steel"

ivory citrus
daring fern
ivory citrus
#

So, should I remove the part about 'localize' or remove the entire message?

ivory citrus
#

Oh, sorry, sorry

ivory citrus
#

and thank you for your patience with me

twilit citrus
#

i've been overthinking this, can i just do ```lua
if not v.eternal then
end

#

or is there

#

something different i should be thinking of

daring fern
twilit citrus
sturdy compass
#

Nowadays you should be using SMODS.is_eternal() instead I think

tall wharf
chrome widget
#

Oooooooooooooo

#

That is quite nice

daring fern
#

Is there an simpler way to check when a sticker is applied or do I have to hook every apply function?

chrome widget
#

Probably the latter unfortunately, since stickers are a lot less supported

wintry solar
#

Get everybody to use Card:add_sticker

tall wharf
#

hi eremel

lament agate
#

how do you mess with card sell value

daring fern
wintry solar
#

Hi aiko

#

Good morning chat

stoic void
#

hi

hexed stump
#

I think I just call “blueprint effect on the most recent card bought” balanced at uncommon, that’s probably fine yeah?

#

Can game it with packs but ultimately you’re going to have to buy more jokers some time

primal robin
#

Hai fox

nocturne aspen
#

does anyone know how to make values for a seal scale? the card.ability.seal (witch is a copy of the seals config) seems to clear, im not quite sure and not very experienced ;-;

nocturne aspen
#

could i pretty please have an example of how?

daring fern
nocturne aspen
#

ah

#

and how would i make that update for the tooltip / loc_vars? id doesnt apear to be updating, or ive done something wrong

daring fern
nocturne aspen
#

im doing that, but it doesnt apear to be updating? i feel like im missing something incredibly obvious,,,

hidden sable
#

how can i replace all of 1 letter in a string into another letter

#

(urgent, nxkoo will kill me soon)

split panther
#

how do you make it so that you pull cards in booster packs intead of using them

maiden phoenix
split panther
#

ok

wintry solar
#

select_card is what it’s called

maiden phoenix
#

Or its consumable idr

daring fern
#

Is is possible to recreate __len in the version of Lua that Balatro uses?

stoic void
#

Is this a good joker?
at least for vanilla

rotund sable
daring fern
rotund sable
#

ohhh

daring fern
#

Balatro uses Lua 5.1 where it still uses unpack

rotund sable
#

lsp lied to me

daring fern
rotund sable
#

probably

knotty orchid
#

Hey! Is there any way to add new small and big blinds through SMODS?

crisp coral
#

check Ortalab code

knotty orchid
#

Thanks mate

wintry solar
#

Coming soon to smods

daring fern
merry frost
#

I can't wait for the smods update

#

Then BlindStation will actually work

floral narwhal
#

what i have to use instead of context.consumeable.key it makes a random planet card

faint yacht
#

Just have only set = 'Planet'.

floral narwhal
#

i dont want to make random planet i wanna make planet that used

#

but because of idk what it makes random planet

faint yacht
#

What about just keeping key?

floral narwhal
#

because of using last planet key it make's last planet(before this planet now i used)

#

i think a little delay can fix it

pearl jacinth
#

what is the area of the shop

daring fern
pearl jacinth
#

thanks

daring fern
pearl jacinth
#

why is vouchers plural despite there only being one of them

#

and why is booster singular despite there being two of them

rotund sable
#

booster packs without the packs ig? also there can be more than one voucher there

primal robin
#

New UI mod by me incoming??

rotund sable
lament agate
#
        if context.ending_shop and card.ability.active and not context.blueprint then
            local current_dollars = G.GAME.dollars
            G.GAME.dollar_buffer = (G.GAME.dollar_buffer or 0) + current_dollars * (card.ability.extra.multiplier - 1)
            return {
                dollars = current_dollars * (card.ability.extra.multiplier - 1),
                
                message = "LOCK THE FUCK IN!",
                colour = G.C.MONEY,
                message_card = card,
                func = function()
                    G.E_MANAGER:add_event(Event({
                        func = function()
                            G.GAME.dollar_buffer = 0
                            return true
                        end
                    }))
                end
            }
        end
    end,
#

causes a talisman incompat somehow

#

where should i wrap to_big

daring fern
lament agate
lament agate
#
    calculate = function(self, card, context)
        if (context.joker_main) then
            local hand = G.GAME.current_round.current_hand
            local hand_score = get_numeric(hand.chips) * get_numeric(hand.mult)
            local blind = get_numeric(G.GAME.blind.chips)
            print("hand_score:", hand_score, "blind:", blind)
            if hand_score >= blind then
                ease_dollars(card.ability.extra.dollars)
                return {
                    message = "$" .. card.ability.extra.dollars,
                    colour = G.C.MONEY,
                }
            elseif pseudorandom("BAZINGA!") < G.GAME.probabilities.normal / 6 then
                return {
                    message = "WRONG!",
                    mult = - -math.huge,
                    colour = G.C.DARK_EDITION,
                }
            end
        end
    end,
rotund sable
# primal robin

so basically you removed the defining of fields?
-# what i mean by this is removing config = , n = , nodes =

primal robin
#

It's only beginning of course

daring fern
lament agate
#

fuck

rotund sable
#

and if it was meant as a single negation then its an instant loss

pearl jacinth
rotund sable
#

probably debugging

lament agate
#

^

lament agate
#

just -math.huge?

rotund sable
#

that just throws your run no?

lament agate
#

thats

#

the point

#

lmao

#

it just sets your score to false infinite

rotund sable
#

1 in 6 to lose the run 👀

#

fun

lament agate
#

i digress

#

but you know what

#

valid

rotund sable
#

you should probably switch to the new probability system of smods

lament agate
#

i am on it

rotund sable
#

instead of
pseudorandom("BAZINGA!") < G.GAME.probabilities.normal / 6 you do
SMODS.pseudorandom_probability(card, "BAZINGA!", 1, 6, "identifier)

lament agate
#

dont worry

#

i know the changes

#

this is one of them

daring fern
lament agate
lament agate
#

it just punishes you for being greedy by keeping the joker

pearl jacinth
#

why not just make the player instantly lose instead

lament agate
rotund sable
lament agate
#

by setting their score to falseinf

#

they go

#

"oh shit i fucked up"

primal robin
#

Yes but in this case it doesn't matter

#

Concept is important

rotund sable
primal robin
#

Oversight

#

Anyway you get the point

rotund sable
#

But yeah this improves readability

#

I get your idea

primal robin
#

More than easy I guess

#

It was simple one, harder thing - attach some callbacks, control states

molten relic
#

wdym??

#
        return {
            vars = { card.ability.extra.xmult, card.ability.extra.xmult_mod }
        }
    end,```
tall wharf
#

where do i move this into in the localization file

lament agate
#

anyone experienced in love getTime

rotund sable
molten relic
#

why??

#

ohhh

#

nvm

#

i see

red flower
lament agate
#
    calculate = function(self, card, context)
        if context.skipping_booster and not context.blueprint and 
           context.booster and context.booster.config.center.kind == "Celestial" then
            card.ability.extra.total_xchips = (card.ability.extra.total_xchips or 0) + card.ability.extra.xchips_per_skip
            
            return {
                message = localize{type='variable', key='a_xchips', vars={card.ability.extra.xchips_per_skip}},
                colour = G.C.CHIPS,
                card = card
            }
        end
        if context.joker_main then
            return {
                xchips = card.ability.extra.base_xchips + (card.ability.extra.total_xchips or 0)
            }
        end
    end
}
#

crashes the game somehow

royal ridge
#

is SMODS.restart_game() stable

lament agate
royal ridge
#

it seems to leave the lovely log up

tall wharf
#

??????????

#

Guyse

slim ferry
#

no mod prefix?

tall wharf
#

does not work with both

red flower
#

try misc.dictionary.k_key too

#

objecttypes dont add the prefix

tall wharf
#

in vanilla it's super funny

primal robin
#

Holy, it's working

#

Now I need somehow make this marker work in deep too

tall wharf
#

yep it was k_raw_key

red flower
#

whats the crash

lament agate
red flower
# lament agate

can you add if context.skipping_booster then print(context.booster) end at the beginning and send me the log

red flower
#

nvm i think i found the issue

lament agate
#

oh

red flower
#

try context.booster.kind

#

it receives the center already

lament agate
lament agate
red flower
#

context.booster.config.center.kind

proven adder
#

is there a way to detect when a card retriggers?

knotty orchid
#

Hey! I'm trying to create custom small and big blinds following the same structure as Ortalab. But whenever I select the new blind I keep getting this error:
Oops! The game crashed:
functions/common_events.lua:354: attempt to index field 'boss' (a nil value)

(3) Lua global 'ease_background_colour_blind' at file 'functions/common_events.lua:354'

Any idea?

lament agate
knotty orchid
slim ferry
proven adder
#

will do

slim ferry
#

i dont think theres a specific context for it though so youll probably have to do some shenanigans

short girder
#

yo folks so like remember yesterday when i was trying to fix the voucher ticket
yeah it's back to doing nothing
here's the code (with the voucher value because it might be important idk). any ideas of what i did wrong?

lament agate
#

someone pinged me?

wicked crow
#

I want to make a joker that is destroyed if the base mult does not improve after the effects of the other jokers or cards, and when the base mult improves, it becomes x3

#

i tried everything

#

somebody help me

wintry solar
hushed field
#

@red flower Could you send me the details of that patch to prevent that crash?

red flower
hushed field
#

I fully suspect it happening due to how I've set the cardarea up, somehow, but the details aren't for me to figure out now, haha

#

Thanks!

proven adder
slim ferry
#

okay i looked at it myself and yeah i have no clue what they actually do there

vague crest
#

is there a way to check if a certain joker (lets say the leftmost one) triggers? thinking of a joker that gives xmult whenever the leftmost joker triggers as maybe one of the legendaries

primal robin
#

Oh well, I temporarely stuck with my new UI thing

#

Next time I guess

red flower
vague crest
#

wdym by opt in? does that just mean like i need specific lines to make it work earlier

vague crest
#

sick ok

#

just so i get what this code is doing, this gives 2x mult anytime any joker triggers?

red flower
#

oh i didnt read the rest of the code

#

i was just pointing to the optional feature line

vague crest
#

oh gotcha gotcha

#

ty!

slim ferry
#

is there anywhere where you can find a list of all the optional smods features?

short girder
#

it's redeeming from the pool of the vouchers youve already redeemed

#

thats supposed to be impossible but here i am with 5 shop slots

#

and once again, i have NO idea how to fix this

modern kindle
#

Good schmorning chat

red flower
#

morning!

modern kindle
#

How are you N

red flower
#

im doing very well thank you

#

wbu

modern kindle
#

Im still waking up so unsure
But i feel okay ish

flat mist
#

I have some cool combo and we'll balanced ideas for jokers and spectral cards(I think so). If some Wana add them to there mod then I can share these ideas (don't need any credits or something). Just let me play these ideas once they finished.

modern kindle
#

i really hate to be this guy, but youve sent this message alot and it seems nobody has taken your offer
id recommend having a thread or something and if someone agrees there then thats the wave, but just sending the message here all the time has been ineffective

flat mist
brittle yacht
#

create_card("Joker", G.jokers, nil, nil, nil, nil, "j_silly_momcard", nil, true, "Negative", "Eternal")
would this create a negative eternal "j_silly_momcard?"

red flower
#

idk but this will SMODS.add_card{ key = "j_silly_momcard", edition = "e_negative", stickers = { "eternal" } }

subtle urchin
#

Is it possible for a custom joker to check what joker is the one on its right? Or the next one sth like that, then can do stuff or not

modern kindle
short girder
subtle urchin
modern kindle
#

alright give me a second

subtle urchin
#

Cuz up to know ive only checked basic jokers coding and some joker forge for stuff i don’t know but the last one I think can’t check that as a condition

#

Thx

modern kindle
# short girder a consumable that redeems a random voucher
    use = function()
        local voucher_key = get_next_voucher_key(true)
        local new_card = create_card("Voucher", G.play, nil, nil, nil, nil, voucher_key, nil)
        new_card:start_materialize()
        new_card.cost = 0
        new_card.from_tag = true
        new_card:redeem()
        G.E_MANAGER:add_event(Event({
            trigger = 'after',
            delay = 0.2,
            func = function()
                new_card:start_dissolve()
                return true
            end
        }))
    end,

put this as your consumable use

sonic cedar
#

who up developing they mod

#

is that DILLY

#

hi dilly

modern kindle
#

hi toma

sonic cedar
#

why was I so happy to see you

modern kindle
#

cause we are besties and i help u and we watch the moon rise together

#

did my other fix for the sun work for you

#

i waited for u to dm me a confirmation or a failure but u never did

sonic cedar
#

Yeah uh things happened yesterday I’ll

modern kindle
#

cant believe youh isnt here after i gave them what they needed..

sonic cedar
#

but yeah no I didn’t test the sun

#

I will now though!

brittle yacht
#

does anyone wanna help me out with a new joker

vestal magnet
#

is it possible to apply stickers to playing cards

brittle yacht
novel yarrow
#

It is and it isn't at the same time

#

The syntax is a bit weird, that's all

sonic cedar
#

pretend i didnt forget to set the extra variable

modern kindle
#

just copy paste what i gave u gosh

#

that easy

sonic cedar
#

i COULD

#

but it's a THING

#

with me

modern kindle
#

smh my head shaking my head smh

sonic cedar
#

ok it works perfectly

#

thank you dilly i will be biting you later

modern kindle
#

delightful

#

i will now take over your mod with the malware i have placed hidden in all the things ive done

#

ggwp

sonic cedar
#

NOOOOOOOOOOOOOOOO

#

JARVIS QUICK

modern kindle
#

jarvis, explode

sonic cedar
#

....jarvis?

modern kindle
sonic cedar
#

welp

#

now to fix the infoqueue

modern kindle
#

yummy info queue

sonic cedar
#

dilly do you want to see what it looks like rn

modern kindle
#

i suppose, i wont be much help but

#

i can glance

sonic cedar
#

its right here

#

omg heaven hiiii

modern kindle
#

now whats the problem

sonic cedar
sonic cedar
#

'nt

modern kindle
#

wait

#

one second

sonic cedar
#

youre not gonna know what to do i promise

modern kindle
#

because

#

nono

#

youll see

#

when i take a sc

sonic cedar
#

when you take a soundcloud

modern kindle
#

info queue

sonic cedar
#

now trigger it

sonic cedar
#

im pissed

sonic cedar
#

code wise

brittle yacht
#

how can i temporarily disable discarding and playing, in a boss blind.

modern kindle
# sonic cedar code wise
    loc_vars = function (self, info_queue, card)
        return{
            vars = {
                card.ability.extra.mult,
                card.area and card.area == G.jokers and "...?" or ""
            }
        }
    end,
    generate_ui = function(self, info_queue, card, desc_nodes, specific_vars, full_UI_table)
        full_UI_table.name = localize {
            type = 'name',
            set = "Joker",
            key = card.ability and card.ability.extra.new_key or "j_hpfx_take_the_sun",
            nodes = {}
        }
        SMODS.Center.generate_ui(self, info_queue, card, desc_nodes, specific_vars, full_UI_table)
    end,

this is everything there

sonic cedar
#

...this is take the sun

modern kindle
#

oop

#

right

#

my b

#

one sec

#
loc_vars = function(self, info_queue, card)
        return {
            vars = {
                card.ability.extra.interest,
                card.area and card.area == G.jokers and "...?" or ""
            }
        }
    end,
    generate_ui = function(self, info_queue, card, desc_nodes, specific_vars, full_UI_table)
        full_UI_table.name = localize {
            type = 'name',
            set = "Joker",
            key = card.ability and card.ability.extra.new_key or "j_hpfx_take_the_moon",
            nodes = {}
        }
        SMODS.Center.generate_ui(self, info_queue, card, desc_nodes, specific_vars, full_UI_table)
    end,
#

im not seeing a difference in a quick scan

#

but its not failing me

sonic cedar
#

that...that's still not ijiraq

#

dilly

#

that's take the moon

modern kindle
#

wait what are we tlakin about, this turns into it doesnt it

#

which means it becomes it

sonic cedar
#

im asking for IJIRAQ's info queue

#

so go to the file

#

with his name 😭

#

its

#

actually was it he or it

modern kindle
#
loc_vars = function(self, info_queue, card)
        for _, v in pairs(G.GAME.raqeffects) do
            info_queue[#info_queue + 1] = G.P_CENTERS[v]
        end
        return {
            main_end = main_end,
            vars = {
                card.ability.extra.jkey
            }
        }
    end,
sonic cedar
#

hm

modern kindle
#

i didnt touch this file that i remember

sonic cedar
#

yeah this is the old infoqueue

#

im trying to have the infoqueue link with ijiraq

#

so itll actually save values

#

ex: stencil not being nil

modern kindle
#

idk how to any o dat cause i be dum

sonic cedar
#

i said you wouldnt know 😭

modern kindle
#

you dont know what i know

sonic cedar
#

true

#

i was confident

modern kindle
#

i know my abcs

sonic cedar
#

what about your sets and keys 🎵

modern kindle
#

i cant even spell those

modern kindle
#

id probably make sure you have your can_use and such

#

but just plugging that in will work because it worked for me

sonic cedar
#

rhyme

modern kindle
#

i cant spell rhyme

sonic cedar
#

you just did

modern kindle
#

no

sonic cedar
#

yuh huh

modern kindle
#

i just deleted your github

sonic cedar
#

WHAT

modern kindle
#

its voer for you

sonic cedar
#

its what

formal parrot
#

Are you sure ?

sonic cedar
formal parrot
#

I fucking love you toma

sonic cedar
#

ily too heaven

modern kindle
sonic cedar
#

7 what

modern kindle
#

i think to balance this out though im gonna ahve to say i hate you toma

#

its only fair

sonic cedar
#

justified

wintry solar
#

underlined text for smods?

modern kindle
#

hi eremel

sonic cedar
#

granted it's like triple damage when it comes from you

modern kindle
#

i like the underline ooo

sonic cedar
red flower
sonic cedar
#

what do you know

modern kindle
# red flower i need this

im not sure why it invoked this reaction from me, but i wanted to post the tow mater 'i want you' gif in response until i remembered we cant post gifs

modern kindle
wintry solar
#

I'm just a wizard guys remember

sonic cedar
modern kindle
modern kindle
#

dont you dare silence him

red flower
#

i still need to figure out how to do this with multiboxes

sonic cedar
#

just like yugioh,,,,

modern kindle
#

i love yugioh

---> guy whos never seen or played yugioh

red flower
#

why does it say 1 in 1

sonic cedar
#

other way dilly

sonic cedar
#

💔

modern kindle
#

what other way

sonic cedar
#

flip your arrow around

#

so it's pointing at you

modern kindle
sonic cedar
#

true you are

modern kindle
tall wharf
vast bough
#

im i being silly why is the shader not showing up in game

SMODS.ConsumableType {
    key = 'testies',
    shader = 'spectral',
    primary_colour = HEX('9013fe'),
    secondary_colour = HEX('9013fe'),
    collection_rows = { 4, 5 },
    shop_rate = 1,
    cards = {
        ['c_mycustom_createcavendishnegative'] = true,
        ['c_mycustom_createrandom'] = true,
        ['c_mycustom_createrandomrare'] = true
    },
    loc_txt = {
        name = "testies",
        collection = "testies Cards",
    }
}
tall wharf
red flower
wintry solar
#

yeah I could do strikethrough with this I guess

modern kindle
vast bough
tall wharf
#

ill look into adding more styling options

slim ferry
wintry solar
#

u for underline, st for strikethrough?

tall wharf
#

sure

modern kindle
#

yea that should make sense

tall wharf
#

the parameter should be width

wintry solar
#

no the parameter is colour

tall wharf
#

oh

vast bough
tall wharf
#

right

#

actually

#

dotted underlines?

modern kindle
#

smods team make my mod, get on it

sonic cedar
red flower
vast bough
#

smods mods team, release balatro content update 2025

wintry solar
modern kindle
sonic cedar
modern kindle
#

no cause im flourishing

sonic cedar
wintry solar
#

what's the problem?

sonic cedar
#

trying to make it use saved values of jokers in its table, the current results in no infoqueue period

#

forgot to explain the value saving

#

it's the same thing with how it can copy the abilities, but with stuff like scaling values or updating ones they're saved in this thing here (thanks somecom):

sonic cedar
#

this is the old infoqueue

#

which works normally

#

minus the scaling

sonic cedar
#

maybe i spelled something wrong? idk i was doing this with somecom before since he did most of this type of thing with SEALS

#

but we didnt figure it out so

#

why not ask a steamodded guy

wintry solar
#

hmmm

sonic cedar
#

apparently its somethign to do with modded jokers using different things

wintry solar
#

try removing the loc vars check

sonic cedar
#

testing now

#

the moment i hover over the guy

#

line 23 being the vars =