#💻・modding-dev

1 messages · Page 285 of 1

daring fern
#

You should be checking context.other_card.ability.extra.is_jet_joker

manic rune
#

ah, i see whats wrong

tawny narwhal
#

I'm learning guys

#

I swear

#

My brain is growing wrinkles

#

hmmmm

#

maybe still a little smooth

manic rune
#

hmmm

#

oh yeah, i think some jokers may not have extra

#

check for that too, probably

#

...and context.other_card.ability.extra and context.other_card.ability.extra.is_jet_joker then

tawny narwhal
#

Maybe I'm not code-brained enough, but that seems like a redundancy, doesn't it?

narrow iron
#

for some reason this card is putting an empty slot into my deck?

#

its supposed to add a gold queen

manic rune
#

it checks whether the joker has the extra in them or not

#

and if it does, check for is_jet_joker

#

if theres no extra to check, and you try to check something from that then it will crash

tawny narwhal
#

Fair

manic rune
#

thats like digging through a box to find something, only to figured out that the box never existed and you are digging into the void or something

gentle rain
#

fully implemented :3 !

long acorn
#

based reference

gentle rain
#

although i think this probably triggers on the hook

spark pumice
#

👋 I'm trying to figure out how to get it so it deletes played Heart Cards, I figured out how to do everything else I think?

manic rune
minor furnace
spark pumice
#

Thanks 👍

manic rune
#

wait wait

spark pumice
#

Huh?

manic rune
#

make sure you check that its in context.full_hand too

#

:3

#

forgot to mention that

spark pumice
#

Oh ok!

#

What does that do?

manic rune
#

i gtg do smt, so i hope u figure it out urself :D

manic rune
#

if condition is met, destroys it

spark pumice
#

Oh ok! Ty

manic rune
#

thtas why you gotta limit its scope

#

:p

brazen tusk
gentle rain
#

the thing is that it starts at 1 and cant go below 1 so i dont think that works as is

#

but if i decide to lower the limit to 0 then ill probs do that

brazen tusk
#

Could maybe put minimum of 1 at the bottom?

#

¯_(ツ)_/¯

gentle rain
#

theres already 4 lines i dont wanna overload the player with info when they see it in the shop

#

they'll find it out on their own and its not critical information necessarily

#

higher concept jokers such as this can leave out smaller details

brazen tusk
tawny narwhal
#

Bruh I have a mega brain...

#

It should be is_jet_joker = true

gentle rain
#

ill b real gel its late and i dont really get what youre trying to say but i will keep it in the back of my mind

tawny narwhal
#

took me 5 mins to figure out

brazen tusk
#

Meant like this;
Retrigger last played card
1 time per unused discard
(At least once)

tawny narwhal
#

How would I change the "Again!" that happens under the Joker that has this retrigger ability to being a different message under the cards that get retriggered?

manic rune
#

message = "new_message",

brazen tusk
#

message = ‘’

manic rune
#

i think

tawny narwhal
manic rune
#

nvm, nj need for card

manic rune
daring fern
#

How could I prevent a consumable with a red seal from unhighlighting the cards?

manic rune
#

im typing this in the supermarket rn lol

manic rune
#

you could prove me wrong tho

tawny narwhal
manic rune
#

lmao all good

brazen tusk
#

Bepis goat

narrow iron
#

i used take_ownership to give glass cards a custom update function that changes their Xmult depending on a variable i have set, but it doesnt seem to update the current glass cards when i make one for the first time?

make glass card
stats stay the same
make second glass card
second glass card has the right stats but the first glass card never changes?

#

how can i get the first glass card to properly change its stats?
figured it out, made a new loc_vars function for the glass cards and put it after the update function

tawny narwhal
# tawny narwhal Will that overwrite the "Again!"?

"Refuelled!" (my message) happens under the Joker causing the retriggers, and the "Again!" still plays under the replayed cards... I think even if I did do the card = other_card (or whatever it is) it will just queue up both messages...

manic rune
#

hmmm

#

try card = context.other_card, who knows :p

#

lemme try experimenting

tawny narwhal
#

mayaswell

brazen tusk
manic rune
#

i jut got home lol

#

else it would be illegal :p

tawny narwhal
#

The Aircarft Carrier and Harrier combo is insane

#

kinda like real life

manic rune
#

mmmmm alright, i think i re-created what your looking for

daring fern
manic rune
tawny narwhal
#

🅱️erfect

manic rune
#

u dont need the card = context.other_card part btw

tawny narwhal
#

Noice

tawny narwhal
#

turns out making 2 negative colas per blind is also insanely helpful economy

manic rune
#

exactly

#

thats why it should be rare lol

tawny narwhal
#

It is now lmao

#

or do you mean the aircraft carrier?

manic rune
#

the pepsi one

tawny narwhal
#

Yeah I made that rare

manic rune
#

ah icic

tawny narwhal
#

OKay now super-cruise isn't being retriggered

#

I accidnetly had it as jet_joker = true instead of is_jet_joker = true but even after fixing that it wont work

#

wait a min...

tawny narwhal
#

mhm

#

thats uh

#

what I forgor

manic rune
#

but also

#

you could just spawn a new joker of that type

#

:3

tawny narwhal
#

how

manic rune
#

debug plus

tawny narwhal
#

OMG

#

thats a thing

manic rune
#

-# you didnt know?

#

how did you get those jokers

#

😭

tawny narwhal
#

I'VE BEEN PUTTING YMSELF THROUGH MANY MANY REROLLS

manic rune
#

wtf

#

💔

#

open up your collection

tawny narwhal
#

BRUTE FIORCE BABY

manic rune
#

hover over any joker

#

press 3

heady siren
#

What's the function to create / trigger a new context again?

tawny narwhal
#

may need to send you money or something at this point

manic rune
#

no

#

😭

#

there r a lot of useful keybinds too

tawny narwhal
#

Don't worry I don't have any anyway

manic rune
#

ctrl + Q switch editions of whatever you are hovering on i think

#

you can hold tab and see what debug plus got

heady siren
manic rune
#

you can ctrl + C to duplicate something

#

ctrl + R to destroy it instead

tawny narwhal
#

IICCCCCC

#

the light

#

Okay

daring fern
tawny narwhal
#

last thing with this bloody aircraft carrier

manic rune
#

how does the hanged man work though?

tawny narwhal
tawny narwhal
#

maybe it lets you do 4 cards or something?

manic rune
#

im mostly worried about the hanged man

tawny narwhal
#

not by nature

manic rune
#

since if it still chooses the two same cards

#

there will be no cards to destroy after the first time

#

hence, potential crash

tawny narwhal
daring fern
manic rune
#

OH

#

damn

tawny narwhal
#

So do I just add and not "blueprintcompat" to the upgrade block of SCruise?

manic rune
#

add and not context.retrigger_joker

#

to the effect you dont want to be retriggered

heady siren
rough furnace
daring fern
#

How do I check if a card is a playing card?

manic rune
#

similarly to and not context.blueprint

reef belfry
#

should i nerf this

tawny narwhal
manic rune
#

check if its either of this

#

default is a card with no enhancement, enhanced is vice versa

#

-# finally, a question from you that i can actually answer 😭

tawny narwhal
manic rune
tawny narwhal
#

Could I just go

            return {
                repetitions = 1,
                     `if context."card_has_actually_retriggered"`
                         message = "Refuelled!",
                         card = context.other_card
                       ...
            }```
Or something like that?
manic rune
#

we are turning stone cards meta with this one

manic rune
tawny narwhal
#

Yeah I had a sneaking saspicion that was the case

#

Ugh why cant learning languages be easy

#

I have a greek quiz on thursday and I haven't studued yet lmao

manic rune
tawny narwhal
#

Nah it ain't that hard, just declensions and a few vocab lists

#

I just haven't memorised them yet

manic rune
manic rune
barren roost
#

ive seen in my searches here that the general recommendation for a new challenge is adding it to the challenges.lua file. I've done that, I believe I have it set up correctly, but is there somewhere else that information is supposed to feed into? I've looked in the game.lua file and a few other places within the Balatro folder, but no luck so far

manic rune
#

then put ignore_retrigger = true in what joker you dont want to be retriggered

tawny narwhal
#

Well I want its scoring to retrigger, but I don't want it's upgrade to retrigger

manic rune
#

ah

#

well in that case, you need to divide the if to elseif, then have two separate returns then

#

one for still returning messages, one for not

tawny narwhal
fickle stag
#

what function is used to finish the blind -> move it to cashout?

tawny narwhal
#

Wait could I just use this somehow?

{
    cardarea = G.jokers, -- G.hand, (G.deck and G.discard optionally enabled)
    post_trigger = true,
    blueprint_card = context.blueprint_card, -- if applicable
    other_card = card, -- the card that triggered
    other_context = context, -- the context the trigger happened on
    other_ret = ret -- the return table from the trigger
}```
manic rune
reef belfry
#

im 2/3 a full page away... too bad only like 2.5 of them work

last sentinel
#

Is there an alternative to G.GAME.chips that gives the current "Round Score"? I'm calling G.GAME.chips in context.after hoping to get the final Round Score after scoring but it keeps returning 0

#

Or a better context?

#

Mr. Bones uses G.GAME.chips but thats happening end_of_round, i'm trying to retrieve the value after each hand is played

tawny narwhal
#

Ugh I can't get it to work

daring fern
tawny narwhal
# daring fern

Yo what do you use to capture? That's smooth as butter

tawny narwhal
#

Baseball huh? Checks out.

#

It still replays the message even when it doesn't retrigger the upgrade (don't want the message, not retriggering the upgrade is intentional). It's such a non issue but I want to to woooooooooooork

daring fern
tawny narwhal
#

Yeah, the retriggering is fine. It's the message that's being annoying

#

everything else about it works (no thanks to me lmao)

daring fern
tawny narwhal
#

oh right

#

yeah

#

wait

#

So like and not (card == 'SCruise' and context.end_of_round)?

#

super clonky but if it works it works

#

plus, who expects a newbies code to be sleek

#

no that's not right

#

my brain feels so smoooooothhhh

daring fern
tawny narwhal
#

It didn't work 😭

daring fern
tawny narwhal
#

I tried both the key and its actual name

#

wait a min

daring fern
#

You need something like this.

tawny narwhal
#

I just tried it with ...and not context.end_of_round then and it still showed the message

#

clearly I'm missing something here

#
    key = 'ACarrier',
    loc_txt = {
        name = 'Aircraft Carrier',
        text = {
            "Replays all Aircraft type Jokers",
        }
    },
    rarity =2, -- Uncommon
    atlas = 'AircraftCarrieratlas',
    pos = { x = 0, y = 0 },
    cost = 5,
    loc_vars = function(self, info_queue, card)

    end,

    calculate = function(self, card, context)
        if context.retrigger_joker_check and context.other_card ~= card and context.other_card.ability.extra and context.other_card.ability.extra.is_jet_joker and not context.end_of_round then
            return {
                repetitions = 1,
                message = "Refuelled!", -- TO FIX
            }
        end
    end
}```
daring fern
#

What is the code for the joker you don't want to retrigger?

tawny narwhal
daring fern
#

You need to add name = 'SCruise' or similar above the key.

wintry solar
#

I wouldn’t recommend using names

tawny narwhal
#

Bruh... you right...

tawny narwhal
#

Like even when I made it supposed to never retrigger anything in context.end_of_round it still happened

wintry solar
#

Use context.other_context.end_of_round

#

The retriggering context itself doesn’t have any unique timing identifiers

tawny narwhal
#

Oh?

#

lemme try

tawny narwhal
#

IT HATH WORKED

#

THANK YOU ALL

#

A SINGLE MESSAGE TAKING ME 2 HOURS TO FIX IS...

#

Well... I guess that's coding sometimes

daring fern
#

How do I check what the most played hand of the profile is?

ruby delta
#

Hey anyone good at coding, I have everything needed I just wanna know how I can turn it into a mod, I will explain it more if u can help kinda got a small issue

#

So there is this mod which was integrated inside the exe file (ofc which violates the modding rules) plus the mod is discontinued so I wanted to revive it and make it into a standalone mod, now I compared the original game source codes with the modified one and found the modified snippets of everything, I just wanna turn it into a mod steammodded/lovely mod, I wanted a little guide on that of achieving it

#

I am a newbie 😭 and am very sorry if I will be wasting your time, been trying to get this work for hours now can someone help me, the modified codes are in game.lua, tag.lua and cards.lua that's it

tawny narwhal
#

I'd help out but I'm a newb

ruby delta
tawny narwhal
#

Anyone know how to have the cards created in time with the sound/visual instead of instantly spawning?

ruby delta
tawny narwhal
# ruby delta Let's do it together?

Mayhaps, but I'd need to do iut in a few hours, I'm trying to release a patch for my mod before I go get groceries and do some study for a quiz I have in a couple days

ruby delta
tawny narwhal
rapid stag
#

trying to do some main_end shenanigans with a new joker i'm writing, but i'm getting an attempt to index local 'node' (a number value) error in what is presumably my main_end code - i can't work out why the game seems to think it's a number value despite the fact i don't declare it as such anywhere?

rapid stag
#

oh right, double nesting

daring fern
rapid stag
#

nope, that just makes things explode even more

#

fine, game wins, i'll write a stupider function

tawny narwhal
daring fern
tawny narwhal
#
    key = 'PHarrier',
    loc_txt = {
        name = 'Pepsi, Where\'s My Jet?',
        text = {
            "Creates a {C:dark_edition}Negative {C:green}Diet Cola",
            "when {C:attention}Blind{} is selected",

        }
    },
    config = { extra = { is_jet_joker = true } },
    rarity = 3,
    atlas = 'PepsiHarrieratlas',
    pos = { x = 0, y = 0 },
    cost = 7,
    loc_vars = function(self, info_queue, card)
        info_queue[#info_queue + 1] = G.P_CENTERS.j_diet_cola
    end,

    calculate = function(self, card, context)
        if context.setting_blind then
            return {
                SMODS.add_card({key = 'j_diet_cola'}),
                sound = 'LJet_PHarrierSpawn',
                G.jokers.cards[#G.jokers.cards]:set_edition('e_negative', nil, true),
                message = 'Pepsi!'
            }

            --Attempted EventManager Iteration
            --[[play_sound('LJet_PHarrierSpawn')
                G.E_MANAGER:add_event(Event({
                    trigger = "after",
                    delay = 0.7,
                    func = function()
                        SMODS.add_card({key = 'j_diet_cola'})
                        G.jokers.cards[#G.jokers.cards]:set_edition('e_negative', nil, true)
                        message = 'Pepsi!'
                        return true
                    end,
                }))]]--
        end
    end
}```
#

And it then loses all function with another joker that would retrigger it

#
        if context.retrigger_joker_check and context.other_card ~= card and context.other_card.ability.extra and context.other_card.ability.extra.is_jet_joker and not (context.other_card.ability.name == 'SUPCruise' and context.other_context.end_of_round) then
            return {
                repetitions = 1,
                message = "Refuelled!",
            }
        end```
rapid stag
#

IT STILL THINKS IT'S A FUCKING NUMBER VALUE WHY

#

it did not pull this nonsense the last time i did any main_end stuff

#

hate hate hate hate hate UI code with a passion

tawny narwhal
wintry solar
tawny narwhal
# wintry solar you need to put a return after your event that has the message and sound in it

Like this?

        if context.setting_blind then
            --[[return {
                SMODS.add_card({key = 'j_diet_cola'}),
                sound = 'LJet_PHarrierSpawn',
                G.jokers.cards[#G.jokers.cards]:set_edition('e_negative', nil, true),
                message = 'Pepsi!'
            }]]--

            --Attempted EventManager Iteration
            
                G.E_MANAGER:add_event(Event({
                    trigger = "after",
                    delay = 0.7,
                    func = function()
                        SMODS.add_card({key = 'j_diet_cola'})
                        G.jokers.cards[#G.jokers.cards]:set_edition('e_negative', nil, true)
                        return true
                    end,
                }))
            return {
                play_sound('LJet_PHarrierSpawn'),
                message = 'Pepsi!'
            }
        end
    end```
wintry solar
#

just sound = 'LJet_PHarrierSpawn'

tawny narwhal
#

oh yeah whoops it's in return

rapid stag
#

...return table needs to be double nested girldmDead

tawny narwhal
#

uuuuggghhh it's sorta working and sorta not

#
            return {
                SMODS.add_card({key = 'j_diet_cola'}),
                sound = 'LJet_PHarrierSpawn',
                G.jokers.cards[#G.jokers.cards]:set_edition('e_negative', nil, true),
                message = 'Pepsi!'
            }```
^^^This^^^ works fine when there is only one of this Joker and it triggers just once. It's as soon as there is a way for multiple diet colas to spawn that the issue of them all spwaning at once hapens, and even then the sound plays repeatedly in sequence the way I want it to...
#

It's purely a case of figuring out how to get this all to line up nicely

#

Cause vvvthisvvv works well at creating them sequentially

                    trigger = "after",
                    delay = 0.3,
                    func = function()
                        SMODS.add_card({key = 'j_diet_cola'})
                        G.jokers.cards[#G.jokers.cards]:set_edition('e_negative', nil, true)
                        return true
                    end,
                }))```
#

That's it, I'm taking a break

#

Clearly I need some air, food and water

daring fern
#

How could I put a shader on a deck?

rose dragon
hushed field
#

development on mod number 3 starts today

rose dragon
#

some1 just sent a scam link

rapid stag
#

chat, do you understand the mechanic yet cirDerp

rose dragon
rapid stag
ruby delta
#

Hey anyone good at coding, I have everything needed I just wanna know how I can turn it into a mod, I will explain it more if u can help kinda got a small issue So there is this mod which was integrated inside the exe file (ofc which violates the modding rules) plus the mod is discontinued so I wanted to revive it and make it into a standalone mod, now I compared the original game source codes with the modified one and found the modified snippets of everything, I just wanna turn it into a mod steammodded/lovely mod, I wanted a little guide on that of achieving it

I am a newbie and am very sorry if I will be wasting your time, been trying to get this work for hours now can someone help me, the modified codes are in game.lua, tag.lua and cards.lua that's it

hushed field
#

I think the effect is pretty cool, actually, but I'm quite sure you'd be able to make a more concise description for it

rapid stag
#

tbf in terms of deliberately obtuse joker descriptions, you can't really outdo aikoyori's tl;dr joker

this isn't meant to be that, but it does contribute a little to the overall theme of what this joker is meant to be...? i guess

crisp coral
#

what mod

long acorn
#

is this actually possible to do

ruby delta
rose dragon
daring fern
rose dragon
#

mult_mod and chips_mod
and just invert the values of hand_chips and mult

crisp coral
#

yeah of course it's hidden aces, idk much about it

rose dragon
long acorn
daring fern
long acorn
#

so just

if context.joker_main then
            return {
                card = card,
                swap = true
            }
#

wild

daring fern
ruby delta
hushed field
#

you most likely wanna figure out the functionality and rewrite it. If it's a direct exe modification originally, there are undoubtedly going to be issues with smods' many injections

#

But if that's not the case, you'll wanna set up lovely patches

ruby delta
crisp coral
ruby delta
#

Please if anyone could guide me I would really appreciate 🙏

hushed field
ruby delta
tall wharf
#

someone is trying to compete

ruby delta
tall wharf
vocal cedar
#

Hey chat. IF i wanted standard packs of all variety to have a chance to spawn in with negative playing cards or cards with my special enhancements/editions would i have to take ownership of the packs or can i just modify them?

daring fern
main mica
#

in what order are achievements displayed in the additions tab?

#

i tried to figure it out but i dont see the pattern

tawny narwhal
#

What's chicken in japanese again?

#

Wait wrong chat lmao

daring fern
#

Where is off by one in the cryptid code?

vocal cedar
#

Thanka

native zinc
#

i have given bait more chances to get edition'd

zealous glen
#

Anyone else doing quantum enhancemente

maiden phoenix
#

Cryptid did it once but they had to disable said joker

zealous glen
#

Why?

reef belfry
crisp coral
reef belfry
#

ignore the pity and payout thing

maiden phoenix
crisp coral
reef belfry
#

0.1x mult decrease instead then?

crisp coral
#

Not decreasing is a lot more fair even though probably vanity L

heady siren
#

I'm trying to create an atlas and this error shows up whenever I start the game, this is my code, and I made sure the images are in the right spots at the right resolutions

crisp coral
#

you have a 23.7% chance to get X0.25 Mult after 5 rerolls if you don't win any 1 in 4s

zealous glen
reef belfry
#

i kindve want a risk reward thing for the jokers

#

since im calling it jeopardy anyways

crisp coral
#

could be done better, since both the XMult scaling and economy arebad here

mellow sable
#

Extra Credit’s cards are also broken

heady siren
#

Removed aether_ from all my references to the atlases, still causes the exact same error

daring fern
#

Also the 1x and 2x folder should be in the assets folder.

heady siren
#

Not textures?

daring fern
#

No.

heady siren
#

That's probably what the problem is then

#

Very strange that it doesn't go into a textures file like the base game

zealous glen
tawny narwhal
#

Okay I'm so close

mellow sable
#

last time I tried it, it was just super laggy

#

But things changed and I haven’t tested it with the new Steamodded changes

zealous glen
tawny narwhal
native zinc
#

you can sell ...

tawny narwhal
#

I just need the message and sound to work again

crisp coral
native zinc
#

it also does uh

#

remove all your free rerolls when you sell it

#

so it's not exactly clown

zealous glen
crisp coral
#

literally chaos the clown powercreep

native zinc
#

although maybe it should be permanent. ..

#

hm. . .

zealous glen
#

No

crisp coral
#

permanent means it will never get used

zealous glen
native zinc
#

could just be nerfed to x1.2 or something

#

balancable

zealous glen
#

Exponential isn’t balanceable like this

tawny narwhal
#

idk how to code that lmao

native zinc
#

it doesn't double every round

#

it just doubles

#

logs...

tawny narwhal
zealous glen
#

I had a Joker that used log

#

But it didn’t say it used log

tawny narwhal
#

She log my rythem till I Balatro

#

I CAN'T GET THIS DAMN PEPSI JET JOKER TO WORK. IT EITHER HAS GOOD SOUND AND MESSAGES OR THE COLA'S SPAWN SEQUENTIALLY BUT NEVER BOTH

#

AHHHHHHH

#

THAT'S IT

#

I'M REBUILDING BALATRO IN ASSEMBLY EXPLODING

vocal cedar
#

hey fellas

#

where do you see polychrome foil holographic and uh

#

negatives like

#

weight in the config

tawny narwhal
#

Weight?

#

Oh like probabilities?

#

not a clue

stark geode
#

How goes the pools thing for the rarity work

stark geode
# native zinc ?
SMODS.Rarity{
    key = 'Perkeo_R',
    badge_colour = HEX('56a786'),
    pools = {
        ["Joker"] = { rate = 1 },
    },
}
#

this

daring fern
tawny narwhal
#

ChatGPT is going insane...

    if context.setting_blind then
        if not G.pepsi_spawn_queue then
            G.pepsi_spawn_queue = {}
            G.pepsi_spawn_delay = 0
        end

        -- Add a Diet Cola spawn to the global queue
        table.insert(G.pepsi_spawn_queue, function()
            SMODS.add_card({key = 'j_diet_cola'})
            G.jokers.cards[#G.jokers.cards]:set_edition('e_negative', nil, true)
        end)

        -- Start processing the queue only if it hasn’t started already
        if #G.pepsi_spawn_queue == 1 then
            G.E_MANAGER:add_event(Event({
                trigger = "after",
                delay = G.pepsi_spawn_delay,
                func = function()
                    if #G.pepsi_spawn_queue > 0 then
                        local spawn_func = table.remove(G.pepsi_spawn_queue, 1)
                        spawn_func()
                        
                        -- Schedule the next spawn in sequence
                        if #G.pepsi_spawn_queue > 0 then
                            G.E_MANAGER:add_event(Event({
                                trigger = "after",
                                delay = 0.5, -- Stagger delay for sequential spawns
                                func = function()
                                    G.pepsi_spawn_delay = G.pepsi_spawn_delay + 0.5
                                    return true
                                end
                            }))
                        else
                            -- Reset delay when all queued spawns are complete
                            G.pepsi_spawn_delay = 0
                        end
                    end
                    return true
                end
            }))
        end

        -- Sound and message play immediately for each trigger
        return {
            sound = 'LJet_PHarrierSpawn',
            message = 'Pepsi!'
        }
    end
end
#

I'm not exactly fluent at lua, but this ain't it lmao

hushed field
#

oof I'm trying to fix some bugged challenges and I keep creating infinite loops but I can't figure out why they're infinite

wintry solar
#

What are the loops?

quartz ravine
#

So I am trying to think of how I will structure the GIT repository for my mod.

I kind of think that finding out what kind of cards and jokers, or addition, is part of the fun of playing a new mod

So I feel like maybe I’ll just take four or five jokers from my mod and put them on the read me page

quartz ravine
#

Otherwise, I worry about it being kind of spoiler. If I just list what all the new jokers do, or how they open up a bunch of new endgame high score routes better not the same baron/mine/steel King build.

#

One thing I like is that we as a community seem to be agreeing that fragment shaders are close to dark magic and so everyone’s fragment cheater code is full of comments and just lol

hushed field
#

it's the check_genre_match function that closes the game if there if passes the ~= joker check. It's called by the check_genre_synergy function, which is called when cards are added or removed, or set in a new place in the joker cardarea

daring fern
#

How can I store a value forever even when the game is closed or run is ended?

hushed field
quartz ravine
#

Write to a config file.

hushed field
modern kindle
#

Good schmorning chat

daring fern
#

How could I check when a new run is started?

zealous glen
zealous glen
modern kindle
zealous glen
#

Autocorrect but I’m keeping it

modern kindle
#

I'm a little silly perhaps

#

But I'm pondering on getting up

#

For my bed is comfortable

zealous glen
#

mood

modern kindle
#

My classes have also resumed this week which is a true tragedy

daring fern
reef belfry
#

Most readable thing ever

zealous glen
#

YOKEDY

long acorn
#

what do you guys think is more balanced for a rare
it destroying the nonscoring cards of a high card or destroying the card that scord (they have to be 5 card hands)

zealous glen
#

neither

reef belfry
#

Its supposed to be comedy

long acorn
zealous glen
long acorn
reef belfry
#

Idk where id put it

reef belfry
#

Noone is gonna get what this is in reference to

hushed field
#

the m and c definitely don't look like the right letter there

zealous glen
long acorn
zealous glen
tawny narwhal
#

Shameless plug. New Joker in the Jet Set. Surprisingly, its a boat... a boat for Jets....
Thread here

reef belfry
long acorn
#

lmao

reef belfry
#

Its a consumable that gives money or Puts 5 stone cards in ur deck

#

But im only doing sprites rn cuz like im taking a break

long acorn
heady siren
#

Is it possible to prevent the game from drawing cards to your hand when your hand size increases? It's doing it past the actual hand size for some reason, this is not intended behavior, as funny as it may be

tawny narwhal
long acorn
hushed field
daring fern
#

How do I check the 3 most played cards in a run?

#

I'm assuming I have to count manually?

hushed field
#

just need to include the fromdebuff check

zealous glen
#

And removed when debuffed

hushed field
#

i knew that for other implementations, but just forgot to include this in the check, so I never even considered it, haha

heady siren
reef belfry
#

This is worse but i like how janky it looks

thin anchor
#

happy ape rill fools

daring fern
thin anchor
#

best game ever

native zinc
#

no clue whether this should be decked to -3 or just stay where it is tbh

maiden phoenix
#

Any idea on how I could word this better/make it shorter?

native zinc
maiden phoenix
#

I like the "one/all hands, 0.5x/1.5x"

native zinc
#

this is pretty interesting though

#

why would you reward someone for getting the previous blind done in one hand 😅

heady siren
native zinc
#

oh its a joker

#

. makes sense

heady siren
#

I would know

vast lily
#

could also go with
"If Blind is defeated on first/last
hand, 0.5x/1.5x chips required
for next Blind respectively"

native zinc
#

oh yeah that is equivalent

#

smart

reef belfry
#

Id make complicated jokers but ive got 0 clue how to code so like

maiden phoenix
vast lily
#

"first hand of round" and "last hand of round" are already existing terminology so thats what made me think of it

#

actually i think it's final hand of round not last

native zinc
#

hm i should probably add custom decks

vast lily
#

would recommend

#

the documentation on the smods wiki is slightly worse for decks than for jokers but they're honestly more similar than you'd expect

gilded goblet
#

you could also just look at how other people implement it and try your best to understand

#

and ask questions for the things you don't understand, of course

reef belfry
#

Whats a good Consumable series name with every Consumable being a chance based one with risk and reward

vast lily
#

Chance Cards (like from monopoly)

#

Ice's ideas are probably better

native zinc
#

i like Chance Cards but it imposes monopoly-theme restriction on your card art

vast lily
#

someone should make a monopoly mod with the properties as jokers and the chance/community chest cards as consumables if that hasn't been done already

hushed field
#

Adding it to the list

vast lily
#

i'd do it if i wasn't already working on one themed mod plus my "random stuff i wanna add" mod

hushed field
#

I think it'd be real fun to just make smaller themed mods that at most take a week to code (besides maintenance), and it sounds like a fun theme for that

daring fern
#

Would this draw all of the most played card, or draw one of the most played card?

faint yacht
#

Think just the one specific card.

gentle rain
#

do i need to add "and not context.debuff" to all my joker contexts to make them not function while debuffed?

zealous glen
#

You shouldn’t AFAIK

hushed field
#

is there even a context.debuff?

#

I don't think I've encountered it before

gentle rain
#

i was looking through the code of cardsauce and saw it, which is why i ask.

#

all of the source code uses "and not context.debuff" too.

zealous glen
#

skill issue

ivory coral
zealous glen
#

And if you don’t care if the card is debuffed but if it can be otherwise calculated, pass true to the function

native zinc
spark pumice
#

How do I detect the suit of the cards played before the actual scoring takes place?

#

I know how to detect hands but I don't know how to detect suits

daring fern
gentle rain
#

you'd want to check during context.before.

maiden phoenix
spark pumice
#

Ok!

daring fern
#

How could I check every card played and store it's rank and suit?

#

I tried this but it did nothing.

reef belfry
#

What does this read as

zealous glen
#

Psycrosilvin

reef belfry
#

Awesome

#

Also another reference like 3 people would get

zealous glen
#

I think that’s 3 too many

spark pumice
#

So I think the code works? The problem is that it's triggering for each card, and I only want it to detect a flush of hearts and just that?

native zinc
gentle rain
reef belfry
#

Props to you for knowing damn

native zinc
gentle rain
reef belfry
#

ETF

native zinc
#

he's kinda everywhere

#

and also a she/it and he/they

maiden phoenix
heady siren
reef belfry
#

It looks off

thin anchor
#

pills

manic rune
daring fern
manic rune
#

i mean

#

you could just shove it straight into the table

brazen tusk
hushed field
manic rune
#

but that raises a problem when you re-enter the run

reef belfry
#

Its a consumable

manic rune
#

also hi ice

daring fern
hushed field
#

yo yo bepis

hushed field
manic rune
#

ah, i got an idea

#

you should mark the most played card instead

#

probably have a value stored in the cards themselves

#

increase by 1 for each time they are played

#

i dont really suggest storing the cards, because it will break when you re-enter the run

#

due to the cards being regenerated every time you re-enter, hence the table is now invalid

hushed field
#

times_played is a variable on each card in deck already

manic rune
#

oh actually?

hushed field
#

which I don't think gets overwritten if you death it, even

manic rune
#

was it left from when thunk made the voucher

vast lily
#

probably

manic rune
#

i dont recall anything else using it in the base game

#

but well thats convenient in which case

zealous glen
#

Just like the automatic calculation value swap

#

Or the function that draws played cards back to the hand

hushed field
#

there's an unlock condition that checks it, for 'run_card_replays' but I don't know what it unlocks

manic rune
#

its just a matter of comparing that with every other card and see which has the highest times_played

zealous glen
#

Then selecting one randomly

manic rune
#

mhm

zealous glen
manic rune
#

nop, never used that before

#

i do know it exists tho :p

zealous glen
manic rune
#

huh

#

i wonder why that exists

zealous glen
#

To swap Chips and Mult

manic rune
#

did thunk plan on making smt with that?

daring fern
manic rune
#

i mean, yes 😭

zealous glen
hushed field
manic rune
#

it would be really good if the swap takes place before everything else takes place, so that it swaps the poker hand chips and mult ngl

itd make xmult jokers much more powerful in late game

#

imagine 2k base mult tho 🔥

manic rune
hushed field
manic rune
#

-# what the fuck

#

do you read the Wikipedia for fun 💔

hushed field
#

idk actually, I think I came across it when checking for something else. Maybe it was when I was trying to see if I wanted to make a historical movie archetype that cared about how often cards were played or for how long they'd been in deck

manic rune
#

ah icic

manic rune
#

148 hours

#

am i cooked

thin anchor
#

wonderful

zealous glen
#

So you can add card chips to Mult then swap back

manic rune
#

epic

#

i think swap can allow for some fun synergies, hope thunk will implement it in the future

zealous glen
#

I think it’s too complicated

#

For not too much benefit

mellow sierra
#

anyone know how to check if a card is a lucky card?
i want to create a similar card to lucky cat but cant find documentation for it maybe im blind

manic rune
#

SMODS.has_enhancement(card, "m_lucky")

#

card refers to the playing card btw

mellow sierra
#

and to check if it triggers?

#

sorry im kinda new

manic rune
#

look into lucky cat's code, i think there r some specific parts to check when a lucky card hits the rng

mellow sierra
#

from balatros source code?

manic rune
#

mhm

daring fern
zealous glen
#

That doesn’t draw an extra card tho

daring fern
zealous glen
gentle rain
#

i didn't interpret it as drawing an extra card.

manic rune
#

is this a fun joker to play with

hushed field
#

no clue, but it might be! Are there more stone synergies besides this one?

manic rune
#

yeah, there are jokers which scale on many chips a card give

zealous glen
#

So it should be an extra draw

#

It doesn’t say it modifies the standard draw

manic rune
#

this one, for example, gives Mult based on how many chips a card should give

zealous glen
#

Raised Fist moment

gentle rain
manic rune
#

orrr this one

zealous glen
manic rune
#

which increases its own Chips and XChips on the same condition

#

:p

zealous glen
#

Also I don’t think it’s that strong

#

Although it is strong

manic rune
#

overall giving those more uses lol

zealous glen
#

Is that why the jokers are jars

manic rune
#

jars 😭

zealous glen
#

Are they not jars?

manic rune
#

wdym jars 💔

daring fern
manic rune
#

oh, you mean the art?

zealous glen
#

I thought they were like magic potions representing

manic rune
#

they are tickets if thats the case

#

:p

zealous glen
#

Idk what they’d be representing

#

Oh

#

I thought they were jars jimbOrb

manic rune
#

i actually dunno how they can look like jars 😭

daring fern
tall wharf
zealous glen
hushed field
#

victin how are you playing balatro and you've never seen a voucher before?

zealous glen
#

Vouchers are not diagonal

hushed field
#

good point

zealous glen
#

and not jar shaped

hushed field
#

i stand corrected

#

why are there jars in honkai star ronkai?

manic rune
#

ronkai 😭

zealous glen
manic rune
#

my mod cant possibly have jars

#

💔

zealous glen
#

Although maybe I like yours better

gilded narwhal
#

Hey gang are negative playing cards already supported or if I wanted to add them would i need to program them manually

zealous glen
#

SMODS supports it

gilded narwhal
#

Perfect

manic rune
#

anyone knows how to install an auto formatter or smt

zealous glen
manic rune
#

whats the one recommended?

zealous glen
#

Idk the ones that show up

#

I use two

mellow sierra
manic rune
#

i think its ., not :

#

-# not sure if theres a difference between that

#

also, nop

#

if SMODS.has_enhancement(context.other_card, "m_bonus") then

mellow sierra
#

cheers

manic rune
#

:3 i never used those before so im a bit concerned if they straight up break my code

#

you know what

#

go big or go home

#

here goes nothing

zealous glen
manic rune
#

-# how do i use it

#

ah

zealous glen
#

I use those two

#

I think some people don’t like Tencent

gilded narwhal
manic rune
#

the company?

gilded narwhal
#

Nevernamed said he's warming up to the idea of releasing it

manic rune
#

oh shit didnt realize its made by THEM

gilded narwhal
#

And I think we'll make our first release at 25 normal jokers and 5 legendaries

zealous glen
zealous glen
#

I liked the art and offered making a few Jokers

manic rune
#

uhhhhh

zealous glen
#

But he didn’t like the idea of separating them

zealous glen
#

Alt shift… F?

agile thistle
zealous glen
#

Alt shift something

agile thistle
#

it doesn't really matter which one you choose though i think

manic rune
#

you know what

agile thistle
#

all of them follow the general same standards

manic rune
#

if it has "neko" in it, i can trust them with my life

zealous glen
manic rune
#

you know your pc is ass when this happens

agile thistle
#

well that's just because toml is a different language

manic rune
#

-# victin wtf

zealous glen
agile thistle
#

its tom''s something something language

manic rune
#

😭

#

NAHH

agile thistle
#

tom's obvious minimal language

#

that's what it is

zealous glen
#

Nyah~ owo

manic rune
#

i think

#

i think everything broke

#

wtf

#

why can i collapse here

zealous glen
#

A formatter shouldn’t break anything

#

Unless it was already broken

manic rune
#

WHY DOES IT ONLY COLLAPSE ONE LINE

#

😭

#

oh my god

#

everything is everywhere now

zealous glen
agile thistle
#

i wonder actually

zealous glen
manic rune
#

yes

zealous glen
manic rune
#

look at this and tell me it looks normal

#

💔

agile thistle
#
#This is from Wikipedia...

# This is a TOML document.
title = "ImpalaPay Co."
[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true
#

ok so that works

zealous glen
manic rune
#

i think im genuinely cooke

#

what should i do

#

😭

zealous glen
#

Carl+Z

manic rune
#

i will actually die if i have to work like tihs

#

IT DOESNT WORK

#

AGHAHGAH

agile thistle
#

i think

zealous glen
#

🤔

#

Which extension did you install

heady siren
manic rune
#

OH MY GOD WHATS THIS

agile thistle
#

you should only install 1 lua extension

zealous glen
#

I have two

agile thistle
#

they can interfere with each other

manic rune
agile thistle
#

🥀

manic rune
#

i have those two

#

🪫

#

i think im cooked

agile thistle
#

i use the tencent one because i love giving my data to the ccp

manic rune
#

lmfao

zealous glen
#

Skill issue

manic rune
#

i want to die

#

i think

#

i cant reverse this

#

💔

agile thistle
#

try uh

#

restarting vscode

#

for a start

manic rune
#

welp

#

there goes my 147 hours vsc record

agile thistle
#

just like

#

run another instance

manic rune
#

doesnt work

zealous glen
#

What is your issue exactly

agile thistle
#

agh!

manic rune
#

for some reason i can collapse "end"

#

and it does this

#

dont even know how to describe wtf is going on at all 😭

agile thistle
#

evil and fucked up lua

zealous glen
#

I don’t what’s going on

#

Try restarting VSCode

manic rune
#

i did

#

🥀

#

im actually cooked

#

;broken

#

i mean, it doesnt really affect anything IF im not looking forward to collapsing anything

#

but like

#

my jokers.lua has 5k5 lines

#

i need to collapse 😭

#

literally

zealous glen
#

Try uninstalling the extensions then installing one of them again

#

Throw in some restarts

manic rune
#

after pressing Format Document like 11 times, it kinda works now

#

with a bit of shenanigans here and there

daring fern
#

How could I do this deck?

#

Also how do I apply a shader to a deck?

hushed field
daring fern
daring fern
manic rune
tall wharf
zealous glen
manic rune
#

hi aikoyori the vtuber

zealous glen
modern kindle
#

hi besties im awake again

manic rune
#

hi dilly

modern kindle
#

i was the sleepiest soldier i kept napping

manic rune
zealous glen
#

Yo it’s that person

modern kindle
modern kindle
zealous glen
#

Some pretty and interesting

heady siren
#

Is it possible to skip over a card in scoring as if it isn't scoring on repetitions? I've got a counterfeit card that destroys itself after 3 uses, but with repetitions it still remains and scores below zero uses left and gets destroyed after scoring is over

#

This is my current code

daring fern
limber blaze
manic rune
#

????

#

😭

manic rune
#

actually

#

update lovely while ur onto it

modern kindle
heady siren
modern kindle
#

in fact you dont use the correct context either

paper zealot
#

Also update your religion and possibly your higher dimensions, since that's clearly an error from t̷̀̈́h̴̉̈́e̶̎̄ ̴̈́̾b̷̛̛é̸̿y̸̑ond

digital niche
#

sorry for taking long! but now its not giving the mult when playing and is not showing "+2" when skipping a blind

modern kindle
limber blaze
#

the actual issue is string concatenation with userdata but idk why it causes this

manic rune
#

and also, to give mult, you would need to use context.joker_main

#

not context.skip_blind or smt

manic rune
#

or alternatively, use SMODS.calculate_effect if u dont want to return

#

SMODS.calculate_effect({message = "bluh"}, card)

digital niche
manic rune
#

yes

digital niche
#

okok! ty!

zealous glen
hushed field
heady siren
hushed field
heady siren
#

I want it to stop contributing once it's spent

modern kindle
daring fern
#

How do I access this?

zealous glen
heady siren
#

I also want to prevent it from contributing to jokers and stuff, so it won't trigger suit mult jokers or anything

zealous glen
hushed field
#

I have a hook in Kino that would allow for that, I think, but I'm not sure if the sequence would be visually satisfying. Because it'd just not give chips or mult, but still seem to score

#

I'm thinking you might be able to debuff it?

#

The only thing you'd wanna fix for that is the debuff visual, of course

modern kindle
#

you could debuff it in before yea but i wasnt assuming they wanted to do that

heady siren
#

Debuffing it prevents it from destroying itself

modern kindle
#

cant you check for if its debuffed, then destroy

heady siren
#

I'm not sure, but I'm testing stuff out and it seems like if it has no chips it won't do anything, but I'll have to test with jokers

modern kindle
#

i know you can check if a card is debuffed so you should be able to just return if its debuffed from your uses or whatever and destroy from there

#

id be cautious on if cards are debuffed from other things though

heady siren
#

Damn it still triggers jokers

heady siren
quartz ravine
#

Hi folks, anyone have experience with custom hands? I want to make a custom hand where all jokers in the store have a forced edition. I can make all of the cards in my hand have this edition, but so far can't do it to jokers

finite kernel
#

does anyone know where the logic for booster packs is? specifically standard packs

modern kindle
#

just to remove the intangible aspect

red flower
heady siren
#

Cardareas I'd assume

modern kindle
#

i presume its just a deck that when played all jokers in shop have an edition

red flower
#

ohh

quartz ravine
#

Sure! I made some custom editions, and would like to make a deck in the game which has much higher drop rates of these custom editions. Sort of like the Checkered deck, which has only red and black cards, or the negative deck from Cryptid.

I want to make all shop cards have an edition applied as well

red flower
#

oh ok i thought you were talking about custom poker hands but ive never made a deck

quartz ravine
#

#💻・modding-dev message

So far, all playing cards that you start with appear with the custom edition, but those in the store or playing card packs and jokers seem to have normal edition drop rates

zealous glen
heady siren
zealous glen
#

A Joker offscreen in its own card area handling whatever effect you want

quartz ravine
#

It looks like Get_Pack and GetCurrentPool are the functions to override in a SMODS.Back to make this work, I will share what I find.

heady siren
#

Like a joker that basically acts as just like, a global joker effect?

finite kernel
zealous glen
#

Yes

finite kernel
#

anyone know how to create a random playing card like standard packs do??

#

with chances for enhancements/seals

heady siren
#

I found a way to do it using a hook

#

If the card has the enhancement, it has zero uses left, and it's not trying to calculate itself, it just ignores it

frosty dock
#

I would add not context.check_enhancement and

heady siren
frosty dock
#

SMODS.has_enhancement calls that context

heady siren
#

If the enhanced card has zero uses left I want it to basically not be processed by the game unless it is itself the card trying to calculate it

frosty dock
#

so you'd infloop if quantum enhancements are on

heady siren
#

Alright, I'll change that

thin anchor
#

ha. ha. ha.
-# i hate this day

zealous glen
placid star
#

so im most def being rly stupid but i cant figure out whats wrong with my very simple code, if anyone could dm me to help that would be great!

zealous glen
#

why not share here

digital niche
#

when doing the enhancement atlas, do i need to have the image for every card (A, K, Q, J, 10 etc) or am i missing something?

placid star
modern kindle
zealous glen
#

If it’s that rough people will like you to a Lua programming course balatrojoker

digital niche
modern kindle
#

nobody here is gonna run you out of the server for bad code

digital niche
#

oh, tyty

placid star
zealous glen
heady siren
digital niche
heady siren
#

That's the problem

digital niche
#

oooh, tyty

heady siren
placid star
zealous glen
placid star
heady siren
zealous glen
#

Update your SMODS

placid star
#

ohhh ty

heady siren
#

Also the textures don't go into a textures folder, the 1x and 2x go directly into the assets folder

placid star
#

oh wait, i was running an old version of almanac and cryptid thats why i have an old smods :P

digital niche
placid star
#

okay so i updated my smods to the newest on the github and the error persists :(

placid star
digital niche
#

you can also use {X:chips} for a blue box and {X:money} for a yellow one

#

idk if there is also the green and inactive but i dont think there is

placid star
#

ahh okay so {X:--} is a predefined style for all the joker functions?

paper zealot
#

These are the valid colour codes for use in localization files and loc_txt.
{C:<key>} for coloured text, {X:<key>} for coloured background

digital niche
digital niche
zealous glen
modern kindle
placid star
zealous glen
#

I’m not specialist but it looks like something didn’t install correctly? I don’t understand

#

@frosty dock do you know

manic rune
#

that looks really nice

paper zealot
#

Made it as part of the documentation about the Balatro source and styling, still a work in progress. Will finish at some point before the end of the world

heady siren
#

context.end_of_world

agile thistle
#

return nil

zealous glen
#

Call the SDDP

finite kernel
#

extremely basic question

#

how do i create a playing card

zealous glen
#

create_playing_card

finite kernel
#

dang

zealous glen
#

It’s a vanilla function

placid star
#

@zealous glen if it helps I only have 1 file and 1 folder, main.lua and assets with 1x (empty), 2x (contains jokers.png)

red flower
#

SMODS.create_playing_card when

modern kindle
#

be the change you want to see n

finite kernel
#

so would something like this work

agile thistle
#

SMODS.make_mod(true)

red flower
#

SMODS.optional_features = { make_mod_good = false }

modern kindle
zealous glen
#

You need to have files in both asset subfolders

manic rune
zealous glen
#

Otherwise it doesn’t work

#

Bepis calling their mod bad

red flower
manic rune
#

it kinda is

#

:3

zealous glen
finite kernel
#

no yeah

agile thistle
zealous glen
agile thistle
#

Finally... what we needed!

finite kernel
#

but im asking if you can make an empty one and give it what it needs

#

after

finite kernel
#

ok so i found how to randomize the suit/rank

#

how do i make say

#

a 2 of clubs

placid star
zealous glen
#

Something like C_2

finite kernel
#

so create_playing_card(C_2) ?

zealous glen
#

I don’t remember the signature

finite kernel
#

goddamn man thas what im askin

zealous glen
#

Yeesh

gilded goblet
#

try searching for create_playing_card in this channel and looking at what messages pop up

#

or any other function/method/whatever

zealous glen
#

Or search the source code

gilded goblet
#

even better!

red flower
#

create_playing_card({front = G.P_CARDS["C_2"]}, G.hand)
or something like that

agile thistle
#

it's a damn good thing to learn