#💻・modding-dev

1 messages · Page 531 of 1

red flower
#

oh sorry i see it

#

it's card:set_ability

lusty glade
#

instead of card.ability? :0

#

typos will trully be my worst enemy lmao-

red flower
#

not in that screenshot

#

in the other enhancement

hard flume
#

Hiii :D

lusty glade
candid elbow
#

How can i add the text pops beside the joker

red flower
candid elbow
lusty glade
candid elbow
lusty glade
#

It didn<t fix my center error but it problably solve another lol

red flower
#

hmm no idea then

lusty glade
#

welp, thank you for your help regardl;ess!

hardy viper
#

questions: can the same center be in two different pools, can centers from two different sets be in the same pool

red flower
#

like an objecttype? yes to both

frigid birch
#

yo N sup uhh code for if you have a specific joker, a different joker can appear in the shop?

#

like if I have the inator, perry appears

#

but if i don't have it, perry is hidden

hallow slate
#

Should I have each consumable/joker/etc in one file, or one file per category?

frigid birch
#

you could do either or im guessing

hallow slate
#

What's best practice though

frigid birch
#

that i dont know

frosty rampart
#

it doesn't particularly matter tbh. probably easier to manage one individual card per file if you have a lot of jokers or whatever, but if you only have like 3 new consumables total and they don't use a lot of code then there's nothing wrong with having one single "consumables" file

red flower
#

on the one that doesn't appear

unkempt thicket
#

How do you use the multi boxs?

chrome widget
#

You can just add an additional table under the description text in a localization entry

#

So each table with a description is a box, grouped under a parent table

unkempt thicket
#

So another text table?

glass crown
#

two things:

  • how would i apply a sticker to a card?
  • how would i check if a card has a sticker?
red flower
red flower
glass crown
#

👍 will try this thank you

frigid birch
red flower
#

no because its checked each time a card would be created

#

but you can check eval G.P_CENTERS["j_modprefix_key"]:in_pool()

#

hi dilly

modern kindle
#

Good schmorning chat

#

Hi N

red flower
modern kindle
#

Did you see my cookage

red flower
#

flappy bird?

modern kindle
#

Ye

red flower
#

very cool and awesome

modern kindle
#

:)

chrome widget
#

Hi dilly!!!

modern kindle
#

Hi winter!!

chrome widget
#

Three games from yesterday btw 💅

modern kindle
#

Holy schmoly 279

#

Who taught you to be a goddess

chrome widget
#

My dad primarily

modern kindle
#

Awsum

glass crown
red flower
#

oh its (scored_card, true)

#

:add_sticker(key) should work too looking at the code

gleaming yew
frigid cargo
#

If the score of the hand played is greater than the blind size
Slr i fell asleep

red flower
slim ferry
#

because flames are also like

gleaming yew
slim ferry
#

time based and stuff

frigid cargo
modern kindle
gleaming yew
#

oh okie

frigid cargo
modern kindle
#

Modding chat is just too overwhelming for me I think

#

So I just hang here pretty much exclusively

#

Its also where ive made my besties.... N my beloved

modern kindle
frigid cargo
modern kindle
#

sent it to u

chrome widget
#

Yeah I send my bowling games sometimes b/c I bowl regularly and most of my afternoons recently have been bowling > lunch > mod dev

red flower
#

sounds fun

chrome widget
#

What, being unemployed? It's really not

#

That said people should pay me for being unemployed and sexy and cool and having good ideas

red flower
#

thats true!

modern kindle
#

i should buy both of u pretty things

red flower
#

can i buy u then

modern kindle
#

can i marry u

red flower
#

no

modern kindle
#

im leaping off the edge

#

im hitting the pipe as the flappy

frigid cargo
slim ferry
#

is there a specific function that does the max_highlighted stuff for consumables since its done automatically

frigid cargo
red flower
slim ferry
#

does it take the max_highlighted as an argument or does it just take Card.ability.max_highlighted directly

red flower
#

it takes it directly

#

oh its in can_use_consumeable

modern kindle
#

N im going to da retro store

red flower
#

what u getting

modern kindle
#

Jet set radio, shenmue, sone sega genesis model 1 controllers
And then whatever else I find

red flower
#

nice

chrome widget
#

I hurt myself bowling so I'll have to slow down for a bit

red flower
#

nooo

chrome widget
#

😔

chrome widget
#

I just need some carbuprofen it's fine

slim ferry
red flower
#

no, it will get changed

stiff quiver
#

where are a joker's stickers stored?

red flower
stiff quiver
#

card.ability.stickers or just card.ability

red flower
#

just card.ability

#

you need to find them

stiff quiver
#

oh thats, cool

red flower
#

idk if there's a function for it

slim ferry
# red flower no, it will get changed

so if i wanted to hook the function to change the variables could i instead copy the Card into a different table, then edit the value there and call the original function with that copied table?

stiff quiver
#

I'll look, thanks N

red flower
slim ferry
#

would?

#

why should i worry about that

distant umbra
#

hi how to start making a mod

ashen drift
red flower
# slim ferry why should i worry about that

if what you mean is copy the entire card then thats 1) hard 2) would make anything in the consumable that requires the original card not work properly
if you mean only copying the values then thats fine but it would also break anything that requires checking those values properly

distant umbra
#

how to start making a mod?

manic rune
#

how do i change a joker's sell value again

modern kindle
red flower
modern kindle
#

Sell_cost isnt ut

#

Yea

distant umbra
#

i use mods currently

manic rune
#

thanks

distant umbra
#

because i already got mods folder

manic rune
#

do i need to use :set_cost() too

red flower
manic rune
#

also, your name reminds me of metherul......

distant umbra
modern kindle
#

I thought it was metherul being funny for a frame

slim ferry
red flower
#

i would just patch that part of the function instead of hooking

distant umbra
#

it doesn't say anything about lovely

#

and I already got steammoded

red flower
#

yes it does?

distant umbra
#

where?

modern kindle
#

Its the 6th word

red flower
#

also if you have smods you have lovely

distant umbra
#

where??

red flower
#

click the link

#

then click on your OS' link

distant umbra
#

because i clicked on how to make mod

red flower
#

no you didnt

distant umbra
#

i don't want to play with mods, i want to make

red flower
#

if you have lovely then just skip that part

distant umbra
#

i think I do

#

i will check

red flower
#

if you have mods then you do

#

mods need lovely

distant umbra
#

ok i do

vernal path
#

Okay, I'm making a different joker now. It triggers when a card is scored, which means it needs to be in context.individual and context.cardarea == G.play, but since it's here, a normal return { message = ""} puts the message on the card being scored and not the joker. I should use an Event here, right?

red flower
#

no

#

message_card = card

vernal path
#

i did not know that that field existed

modern kindle
#

Thats why N makes the big bucks

red flower
vernal path
#

i knew about the other ones 😭

rapid stag
#

speaking of things we don't know, does anyone have any documentation on deckskin credits cirBox

#

i still don't know how to do it cirPls

distant umbra
#

in step 3 it says "Open a folder that contains your mod, the smods folder and the lovely/dump folder (such as opening your entire Mods folder). This is the easiest way but it can lead to your workspace being disorganized and harder to navigate in."
but i didn't create a folder that contains my mod, do I just create an empty folder in my mods folder?

frigid cargo
#

can i make a sprite for an edition then just try to match it with the card in shaders or smth?

distant umbra
#

ok

#

"Lua.workspace.library": ["Steamodded", "lovely/dump"]
is this correct?

#

i opened my mods folder

#

when I paste entire path it shows errors

red flower
distant umbra
red flower
#

it says either open the mod folder or do the workspace thing

distant umbra
#

i thought you're supposed to do both

#

oh well

#

i'll just open folder

#

oh it's in lua

#

nice

#

wow do I keep have to restarting my game?

vernal path
#

seeing as theres no way to reload code after the fact, yeah. You can hold M to restart the game though

distant umbra
#

that exists?

#

i only know R to restart my run

red flower
#

or alt+f5

vernal path
broken rivet
#

how do i get a card enhancement's ability table

distant umbra
#

when making mulotiple jokers, do I just add on to mod.lua or make a new file

vernal path
#

you can put any object definition anywhere, so long as its loaded

#

some mod creators set up infrastructure so they can have each joker be it's own file and have them load automagically, but it's not necessary. Lots of mods just have 1 massive file

red flower
vernal path
#

I personally have jokers split up into groups so they can be loaded configurablely

modern kindle
#

My way of operation is to just have a file per category
Ie I have a modules folder which contains
Jokers.lua
Consumables.lua
Blinds.lua
Etc

broken rivet
slim ferry
red flower
broken rivet
#

i haven't either i just wanted to make sure one wouldn't break my mod somehow

distant junco
#

yo! im trying to have my joker upgrade when a certain rank is discarded, but it doesnt seem to be doing anything... could someone give us a hand?

latent perch
#

Is there no voucher_redeemed context?!

mossy orbit
#

Question: How does atlas works with custom consumable type?

---@type SMODS.ConsumableType
SMODS.ConsumableType {
    key = 'cpp_dwarf_Planet',
    default = 'c_cpp_sedna',
    primary_colour = G.C.SET.Planet,
    secondary_colour = G.C.SECONDARY_SET.Planet,
    collection_rows = { 4, 4 },
    shop_rate = 4,
}

SMODS.Atlas({
    key = 'dwarf_sedna',
    path = 'dp_sedna.png',
    px = ATLAS_PIXEL_WIDTH,
    py = ATLAS_PIXEL_HEIGHT,
})

---@type SMODS.Consumable
SMODS.Consumable {
    set = 'cpp_dwarf_Planet',
    atlas = 'dwarf_sedna',
    key = 'dwarf_sedna',
    cost = 3,
    pos = {
        x = 4,
        y = 4,
    }
}

I assume atlas inside the consumable type must be the same as the key ath the atlas definition so it can find the image of the card, amirite?

red flower
latent perch
#

ooooh

#

thanks

placid star
red flower
#

why wouldnt i

mystic river
# vernal path that doesn't work for me, i dunno why

I'm on Linux, idk if you are too, but it turned out that the reason this didn't work for me was that it was a system shortcut thingy so balatro literally never "heard" the alt+f5
so i disabled that and it works now

vernal path
#

I'm not (although realistically i should be)

#

what distro do you use :3c

mystic river
#

mint :v
whatever os you're actually on could be doing a similar thing, you'd know better than me how to check that I've been on Linux for maybe three years and i already forgot everything i ever knew about Windows

vernal path
#

it may be stolen by everything search, but it doesnt really matter

red flower
vernal path
mystic river
#

-# i mean it did also seem like legitimately the best option for my use case, but being named like my name was absolutely a bonus

distant junco
#

its just a random number between 2 and 14

red flower
#

can i see the whole code

distant junco
#

NO! (sure)

vernal path
#

yeah lol, i'd worry that you havent truncated it so it can also produce a number with a decimal

distant junco
# red flower can i see the whole code
 calculate = function(self, card, context)
        if context.starting_shop and not context.blueprint then
            card.ability.extra.rank1 = math.random(2, 14)
            card.ability.extra.rank2 = math.random(2, 14)
        end
        if context.cardarea == G.play and context.individual and context.other_card then
            local rank = context.other_card:get_id()
            if rank == card.ability.extra.rank1 then
                card.ability.extra.chips = card.ability.extra.chips + card.ability.extra.chips_gain
                return {
                    message = 'Upgrade!'
                }
            end
            if context.discard and not context.other_card.debuff and context.other_card:get_id() == card.ability.extra.rank2 then
                card.ability.extra.chips = card.ability.extra.chips + card.ability.extra.chips_gain
                return {
                message = 'Upgrade!'
                }
            end
        end
    end,

the the rank1 part works fine

red flower
#

pls dont use math.random..

distant junco
#

why not

red flower
#

its not the problem tho

red flower
wintry solar
#

it's nested inside the other condition

distant junco
modern kindle
red flower
modern kindle
#

No

red flower
#

well im sorry for you

modern kindle
#

Lmfao

#

My game store adventure has concluded

#

339 dollars later

red flower
#

i wish i had 339 dollars

modern kindle
#

Check ur Kofi in 98 minutes

#

Lmfao

red flower
#

bank account

distant junco
placid star
#

hey dilly ya cutie how ya doin today!

modern kindle
#

Lmao hello

#

Im doing okay

wintry solar
#

your poor bank account

placid star
distant junco
modern kindle
#

I bought some genesis controllers, I got sonic adventure, street fighter, Aladdin, and sonic 3d blast for the genesis, then also got n64 rumble and transfer pak, then also got jet set radio and shenmue for dreamcast

placid star
#

im not even gonna ask how long that took

modern kindle
#

Took only like 3 hours or so

placid star
modern kindle
#

So i also use this because mine is not the exact same and has ducking and birds

placid star
#

doom in balatro when?

modern kindle
#

Actually thats also an outdated video
Rn the cards also dont draw

#

Just like flappy

#

I want to see if I can do some form of a bullet hell next

wispy falcon
#

You can tell me what you want but code is magic

modern kindle
#

Ive been fascinated by getting stuff like this to work

#

Ive been stumped for ages on what blinds to add

#

And this has been tons of fun

placid star
#

please tell me youve turned down CRT since then tho 😭

wispy falcon
modern kindle
#

Oh u mean the anim flickering on the bird

modern kindle
wispy falcon
#

That doesn't sound like much

modern kindle
#

Yea its nothing massive for sure

#

I also wanna do snake

#

And tetris

wispy falcon
#

Still fascinating though

#

A game in a game :O

#

When Balatro in Balatro? xD

modern kindle
#

Soon....

wispy falcon
#

Anyway, is there a way to get the xmult, mult, xchips, chips and other stuff from Jokers currently in play (Joker area)?

red flower
#

not really

#

you can check the cryptid misprint code and stuff

distant junco
#

@red flower figured it out. i put the discard check inside the cardarea check

modern kindle
#

I wish eremel was real

wispy falcon
red flower
#

cryptid (the mod) has a mechanic where joker values become random called misprint

#

and also changing values and stuff too

wispy falcon
#

Gonna try to find something in there that might help

#

It's funny what comments one might find in mods xD

#

Just found this in the cryptid misprint file:

#but this should fix it```
sleek cliff
#

day old bump

mossy orbit
#

What is localize()?

#

Is that an special function from the game?

red flower
#

yes

#

it's in functions/misc_functions.lua

#

replace all the card with random_joker

#

card is the consumable

clear ocean
#

looking at the vanillaremade booster packs have weights too but not sure if there's a way to tell the difference between normal, jumbo, and mega

sleek cliff
red flower
clear ocean
#

checking if it contains jumbo or mega?

sleek cliff
red flower
#

yeah

clear ocean
#

and then doubling the weight?

red flower
chrome widget
#

Hmmmm need some help with something a little more technical

red flower
sleek cliff
#

Alrighty, ill test it and then ill ask if anything goes wrong

clear ocean
red flower
#

oh ok then yeah

#

i think paya's had a thing like that

chrome widget
#

I need to do an override for SMODS.score_card, because I have a Joker to the effect of "retriggers scored enhancement effects", meaning rather than a full retrigger, it calculates each enhancement again. However, my attempt at doing so for some reason seems to have completely eliminated Red Seal retriggers, though it respects card effect retriggers such as via Sock and Buskin'

function SMODS.score_card(card, context)
    local reps = { 1 }
    local j = 1
    while j <= #reps do
        if reps[j] ~= 1 then
            local _, eff = next(reps[j])
            while eff.retrigger_flag do 
                SMODS.calculate_effect(eff, eff.card); j = j+1; _, eff = next(reps[j]) 
            end
            SMODS.calculate_effect(eff, eff.card)
            percent = percent + percent_delta
        end

        context.main_scoring = true
        local effects = { eval_card(card, context) }
        SMODS.calculate_quantum_enhancements(card, effects, context)
        context.main_scoring = nil
        context.individual = true
        context.other_card = card

        if next(effects) then
            SMODS.calculate_card_areas('jokers', context, effects, { main_scoring = true })
            SMODS.calculate_card_areas('individual', context, effects, { main_scoring = true })
        end

        local flags = SMODS.trigger_effects(effects, card)

        context.individual = nil
        if reps[j] == 1 and flags.calculated then
            context.repetition = true
            context.card_effects = effects
            SMODS.calculate_repetitions(card, context, reps)
            context.repetition = nil
            context.card_effects = nil
        end
        j = j + (flags.calculated and 1 or #reps)
        context.other_card = nil
        card.lucky_trigger = nil
    end
end```
#

(for record this is the original SMODS code)

#

The actual calculation is wrapped by the retrigger behavior, but I'm not entirely certain how to insert the additional effects to solve this

clear ocean
red flower
#

i mean detecting booster types

clear ocean
#

ohh

sleek cliff
red flower
clear ocean
slim ferry
#

do values in G.GAME get tied to run saves by default, or do they need to be reset/saved manually

sleek cliff
red flower
#

you missed all of these

clear ocean
red flower
#

the dev is haya

clear ocean
#

sorry haya

sleek cliff
#

replace all those cards (i.e.card.children.center) to random_joker

red flower
#

yes

lusty glade
#

I see it a bunch and I have no clue what it does lol

red flower
#

it does the wiggle animation

lusty glade
#

Oooh alr

frigid birch
#

code for changing rank?

lusty glade
#

And what does the values after do? Is it the amounth of wiggling?

sleek cliff
frigid birch
lusty glade
#

Ty!! You’re a life saver lol

modern kindle
#

i should bother n in dms

red flower
ebon shell
#

why is this crash happening when i hover over the joker in the collection?

red flower
#

G.deck.cards

#

also G.deck doesnt exist in the collection

sleek cliff
ebon shell
worthy stirrup
#

Does anyone know where in balatro's code it handles the floating effect for legionaries?

clear ocean
#

doesn't look like it works

red flower
vernal path
sleek cliff
#

I think I set it to is_doctor because I have it in their extras lol

vernal path
sleek cliff
sleek cliff
clear ocean
sleek cliff
red flower
#

print(pool)

#

do you have debugplus

clear ocean
sleek cliff
red flower
#

no

#

in the consumable

clear ocean
#

on the bright side who wants a natural negative throwback

sleek cliff
clear ocean
#

admittedly not fully sure how the code works

clear ocean
#

and i mean it was a joker so that might be why

vernal path
clear ocean
vernal path
#

the chance? isn't that whatt you were testing?

#

or rather, set it to a million or something

clear ocean
#

i plagirised copied the code from paya which upgrades all of them instead

vernal path
#

oh i see

frigid birch
#

i might have done stuff wrong

clear ocean
vernal path
#

might need to check lovely patches

clear ocean
#

still not sure how do either it might be out of reach as im not too experienced

red flower
#

what version of smods do you have

#

oh no sorry

clear ocean
#

at least it was a good idea while it lasted might be some api call smods can work on

red flower
#

card should be context.other_card

clear ocean
#

now need to come up with another voucher set idea as four sets look nice

red flower
#

because you shouldnt use context in an event

frigid birch
#

wdym

vernal path
clear ocean
#

is there a way to configure the chances that a jumbo or mega booster pack spawn or replace a normal size

#

mr fox man

red flower
# frigid birch wdym
local playing_card = context.other_card
-- imagine this is in an event
  assert(SMODS.change_base(playing_card, nil, "Queen"))
wintry solar
#

if you change the weights of them, sure

clear ocean
#

yeah pretty much

#

something similar to the rarities which was another voucher i made with help from nh

wintry solar
#

how does the code for these look

clear ocean
wintry solar
#

oh okay we're doing jank x2

clear ocean
#

i love jank code got to be my favourite gender

red flower
#

why are your keys like that

#

😭

clear ocean
#

so they stick together

rotund sable
#

I'm assuming loading by alphabetical order

sleek cliff
red flower
#

also it can still be descriptive

clear ocean
#

oh

red flower
#

and after you fill it

#

of course it doesnt exist before you create it

sleek cliff
#

oh

split yew
#

Asking again if anyone has thoughts on why this doesn't work
I want to give the other lucky card proc on trigger with a joker, what am I doing wrong

red flower
#

identifier is not a thing in context.individual

#

it's for the probability contexts

clear ocean
#

uh should i like either just work on something else like the art or another section

mossy orbit
#

Need help

#
SMODS.PokerHandPart({
    key = 'six_played',
    func = function(hand)
        if get_X_same(6, hand) then
            return {}
        else
            return {}
        end
    end
})

Not sure how to use PokerHandPart

#

What it should return? I am using the get_X_same function from the game (not sure if that's fine)

#

Or should I return it directly?

#
SMODS.PokerHandPart({
    key = '_6',
    func = function(hand)
        return get_X_same(6, hand)
    end
})

Like this?

#

So in my PokerHand I can use parts.myprefix_6 ?

sleek cliff
red flower
#

can i see the code

sleek cliff
#

if I put "random_joker" it freezes up

red flower
#

did you not change anything lol

frigid birch
#

i am not sure what to do lol

faint yacht
#

...can I somehow call a context whenever a held in hand ability (excluding retriggers) triggers? i.e. something like post_trigger but not on Jokers.

sleek cliff
#

So I know how to make a set, just not a pool, or am i dumb and they're the same thing because what I'm reading they seem the same

red flower
#

theyre the same thing

sleek cliff
red flower
sleek cliff
#

so I have a pool, but the destruction half isn't tied to anything

red flower
sleek cliff
#

so what should I change then

red flower
#

well, I was getting there but you didn't do the thing I said earlier so it's hard for me to tell you if you ignore what I say lmao

sleek cliff
#

I'm not ignoring you, I'm just struggling to wrap my head around it

red flower
#

then I would recommend brushing up on some basic lua

frigid birch
red flower
#

you know how the descriptions have like +#1# mult and stuff? the #1# is what goes in vars

#

if you dont need it you can ignore that comment

#

but colours still goes inside vars

mossy orbit
# red flower but colours still goes inside vars

Like this?

        return {
            vars = {
                colours = { (G.GAME.hands[card.ability.hand_type].level == 1 and G.C.UI.TEXT_DARK or G.C.HAND_LEVELS[math.min(7, G.GAME.hands[card.ability.hand_type].level)]) }
            }
        }
red flower
#

yes

mossy orbit
#

So I see it access the game hands hand_type table to check the level (if one, default color TEXT_DARK) otherwise get the color level from HAND_LEVELS

red flower
#

yeah

#

it might crash outside a game tho

#

because G.GAME.hands doesnt exist

mossy orbit
#

So vars is like 1, 2, 3, 4, 5

1 -> Level
2 -> Poker hand description
3 -> Multi level
4 -> Chip level
5 -> colours

Amirite?

red flower
#

ok now i dont understand what you mean

mossy orbit
red flower
#

oh yeah

mossy orbit
#

In that order

red flower
#

yep

mossy orbit
#

Alright, awesome

#

So I am not so lost at all 😄

frigid birch
#

it's saying '<name>' expected near '1' for {B:1,V:2}Trans!{} what do i put there?

red flower
frigid birch
#

what part of the code do you need?

versed swan
#

How do you make some cards periodically juice up while a condition is met?

mossy orbit
#

Bruh... so I did something wrong

frigid birch
red flower
mossy orbit
red flower
versed swan
red flower
#

i think you would manually have to go through all cards

#

either all cardareas or G.I.CARD

frigid birch
wet crag
#

What would the context be to check if the Joker has a specific edition? I'd like my Joker to say a different message if it's Negative but if context.edition == "e_negative" then doesn't seem to be working.

wet crag
#

Oh wow, thank you!

solid fjord
#

Just started learning about hooks. If I wanted to change how the debuff_hand function from the Blind class works (I want it to retain all of its functionality + to add some of mine), would I do it something like this:

local old_debuff_hand = Blind:debuff_hand
Blind:debuff_hand = function(cards, hand, handname, check)
    --some code
    return old_debuff_hand
end
red flower
# solid fjord Just started learning about hooks. If I wanted to change how the `debuff_hand` f...

that specific syntax doesnt work, it needs to be either

local old_debuff_hand = Blind.debuff_hand
Blind.debuff_hand = function(self, cards, hand, handname, check)
    --some code
    return old_debuff_hand(self, cards, hand, handname, check)
end

or

local old_debuff_hand = Blind.debuff_hand
function Blind:debuff_hand(cards, hand, handname, check)
    --some code
    return old_debuff_hand(self, cards, hand, handname, check)
end
solid fjord
rocky plaza
#

so like

Blind.debuff_hand(self, cards, hand, handname, check)

and

Blind:debuff_hand(cards, hand, handname, check)

are the same

#

yeah at the end of the day : is just syntactic sugar

#

so a function Blind:debuff_hand would implicitly have a self parameter

versed swan
# frigid birch i'll just screenshot it

If you're trying to get a message to pop up on a card, the calculate function should return the following table after the main calculation is finished:

{
  message = "Trans!",
  colour = G.C.<color>,
  message_card = (card that the message should pop up on),
  sound = (sound name)
}

The only important parameter is message but I'll present the other options (that are optional, no need to include) so you can customize the message
And to be specific regarding colour, you can put either an item in the table G.C, or a fully custom color with HEX(<hexcode>) where <hexcode> is the hex code of a color, without the hashtag

#

(make sure this is inside the if-end block)

solid fjord
#

Oh nvm, I just realized why; so stupid

rocky plaza
versed swan
rocky plaza
red flower
#

oh and then you would need to do it in calculate too

#

hmm maybe it would be easier with a drawstep

versed swan
#

drawstep?

red flower
# versed swan drawstep?

or a Card:update hook, you would check if the card is the specific joker and if you are holding the consumable

willow scroll
#

before i try to do it myself, is there an easy way to make a card stay in your hand after playing it? (visually)

versed swan
#

(and then using juice_ui kept spamming juice)

red flower
#

did you try using juice_card_until and adding some flag to the joker so you only call it once

mossy orbit
#

Uh... game launch error with the mod... Says I am trying to put a variable in a empty pool

red flower
mossy orbit
#

c_cpp_dwarf_sedna

Not sure if I put the wrong localization or key for the consumable

versed swan
mossy orbit
#
-- Haumea.lua
SMODS.Atlas({
    key = 'dwarf_haumea',
    path = 'dp_haumea.png',
    px = ATLAS_PIXEL_WIDTH,
    py = ATLAS_PIXEL_HEIGHT,
})

---@type SMODS.Consumable
SMODS.Consumable {
    set = 'cpp_dwarf_Planet',
    atlas = 'dwarf_haumea',
    key = 'dwarf_haumea',
    cost = 3,
}
red flower
mossy orbit
#
-- localization.lua
return {
    descriptions = {
        cpp_dwarf_Planet = {
            c_cpp_dwarf_haumea = {
                name = "Haumea",
                text = {
                    "{S:0.8}({S:0.8,V:1}lvl.#1#{S:0.8}){} Level up",
                    "{C:attention}#2#",
                    "{C:mult}+#3#{} Mult and",
                    "{C:chips}+#4#{} chips",
                }
            },
red flower
mossy orbit
#
---@type SMODS.ConsumableType
SMODS.ConsumableType {
    key = 'dwarf_Planet',
    default = 'c_cpp_sedna',
    primary_colour = G.C.SET.Planet,
    secondary_colour = G.C.SECONDARY_SET.Planet,
    collection_rows = { 4, 4 },
    shop_rate = 4,
}
red flower
mossy orbit
mossy orbit
red flower
#

yes

mossy orbit
#

Ok!

versed swan
mossy orbit
red flower
#

idk what i would check vremade

mossy orbit
frigid birch
#

how do I change paths because my game thinks the file is in the main game resources

stack traceback:
[C]: at 0x7fffd84758a0
[C]: in function 'newSource'
engine/sound_manager.lua:63: in function 'PLAY_SOUND'
engine/sound_manager.lua:197: in main chunk```
wintry solar
#

<@&1133519078540185692>

frigid birch
#

uh oh

neat leaf
#

So, I want my mod to load after Cryptid loads, which is priority 114, does that mean I just need my mod's priority to be less than 114?

vernal path
#

it should be greater

red flower
neat leaf
#

Oh, greater?

frigid birch
#

well then what do i do-

red flower
rocky plaza
frigid birch
#

well i have this at the top of the whole file ```path = {

 ['default'] = 'CC_wow.ogg',

}and this in the actual joker return {
message = "Trans!",
colour = G.C.CC_trans,
sound = 'CC_wow'
}```

red flower
frigid birch
#

wdym

red flower
#

like this

frigid birch
#

goddamn

faint yacht
#

...not here either, hm...

mossy orbit
#

How do I pass a loc_text to the ConsumableType? Or does it take it from the localization?

frigid birch
# red flower like this
    key = "wow",
    path = "CC_wow.ogg"
})```
```                return {
                    message = "Trans!",
                    colour = G.C.CC_trans,
                    sound = 'wow'
                }```
k i changed it, but it's the same error
red flower
red flower
mossy orbit
#

Oh wait... I found this old message:

put it under misc -> dictionary -> b_key_cards (replace key by your consumabletype key)

frigid birch
red flower
#

that one i have no idea sorry lol

wintry solar
frigid birch
#

you tried your best

#

anyone else know?

willow scroll
frigid birch
#

assets/sound_effects

willow scroll
#

iirc its assets/sounds where it needs to be

ocean sinew
#

GUYS

#

THE WORST BALATRO LIB

#

ITS THERE

frigid birch
clear ocean
#

@red flower is it deck sleeves the other mod you recommend compatiablity

mossy orbit
#

I give up for today

mystic river
#

me when i can't scroll down

clear ocean
#

i can give it a try, trying to learn how to make one of each

mossy orbit
#

Really frustrating how localization works T.T

modern kindle
#

I really need to get on starting mod compats

clear ocean
#

better start early then later for me hah

willow scroll
clear ocean
#

might rework the vouchers but its more of a learning excerise

modern kindle
#

In my credits i also tell people to play their mods if they haven't

clear ocean
#

still appreciate the help from jga and flopprdog

modern kindle
#

Ive been helped by so many people

#

I also try to help others where I can

clear ocean
#

i love this kind of community spirit might even change the credits to "mellowthumber and friends" or something

willow scroll
red flower
#

im here to hinder everyone

modern kindle
red flower
clear ocean
#

might be me then

willow scroll
#

but that should be easy to fix right? :clueless:

red flower
#

yeah because it also tried to emplace it in G.discard

modern kindle
#

Yeye I was gonna say

willow scroll
modern kindle
#

Nah your video worked for me and N I think

#

I often paste steam vida

willow scroll
#

so ill see what i can do

clear ocean
#

but tbf i try to have all the codecs as i like to collect different kinds of formats and for backwards compatibility of old windows games

willow scroll
#

steam uses the HEVC codec in case you dont wanna google

clear ocean
#

yeah i think i have that instaled might just be discord being weird again 💔

#

still need to get around to installing the sims 1-3 via bottles some time as i need my sims fix

willow scroll
#

or specifically, this one, im not too familiar with codecs

clear ocean
#

i even got the first one complete edition on physical

#

any other mods you recommend compatibility let me know (i'll add more text and metalinks in a sec)

wintry solar
#

do you want mods we don't recommend compatibility for too? 🙃

red flower
willow scroll
rotund sable
wintry solar
clear ocean
wintry solar
#

that is not at all what listing it as compatible means

wispy falcon
#

Is there a way to make it that when the player opens a custom boosterpack, that the original Soundtrack gets changed to my own kind of version while also remaining at that same moment in the Soundtrack? Basically like Balatro does it but with my own version and boosterpack

red flower
clear ocean
#

the header is about mod compatibility and in-compatibility saying in general it should be compatible but there are some notable (in)compatible mods

#

i hope that makes sense

red flower
modern kindle
clear ocean
wispy falcon
#

Gonna look into the code for them then

clear ocean
#

heard it from a zkevin roblox game too

clear ocean
#

for crediting tailsman, what is the proper way. spectral pack? math is fun? cryptid team?

willow scroll
#

i can select the right two "discarded" cards

ivory citrus
#

Helo, I wanted to ask what you think of this code and if you think it will work.

red flower
#

i think it's not very well formated

#

if you have the lua extension (if you dont, get it), right click > format

ivory citrus
#

Ah, I see.

#

Only change the indentation of the text.

sly helm
wintry solar
#

that's fine when you know how to format code

sly helm
#

i dont code in lua but with other languages besides python its honestly just annoying

red flower
#

i have it to autoformat on save

clear ocean
#

i love lua and ruby and languages like that

red flower
#

most of the time it's fine

sly helm
rotund sable
red flower
#

i hate the autoformatters that try to align tables

crystal perch
#

i have an issue where adding oops all sixes makes my joker not trigger both effects

sly helm
#

anyway, as i said i dont use lua. but i know a fair bit of it
how do i get into modding this game?

red flower
keen atlas
ivory citrus
crystal perch
red flower
#

then configure your stuff right

#

i dont have that

rotund sable
ivory citrus
frigid cargo
wind steppe
#

how would i temporarily change the shop pool when a consumable is used? (say for one shop)

rotund sable
ivory citrus
red flower
wind steppe
keen atlas
red flower
sly helm
wind steppe
#

could manually generate the cards as well and use pseudorandom

ivory citrus
red flower
mossy orbit
#

Finally dear god

#
SMODS.Consumable({
    set = 'cpp_dwarf_Planet',
    atlas = 'dwarf_sedna',
    key = 'dwarf_sedna',
    cost = 3,
    pos = {
        x = 0,
        y = 0,
    },
    config = { hand_type = 'flush_six' },
    unlocked = true,
    discovered = true,
    loc_vars = function(self, info_queue, card)
        return {
            vars = {
                G.GAME.hands[card.ability.hand_type].level,
                localize(card.ability.hand_type, 'poker_hands'),
                G.GAME.hands[card.ability.hand_type].l_mult,
                G.GAME.hands[card.ability.hand_type].l_chips,
                colours = { (G.GAME.hands[card.ability.hand_type].level == 1 and G.C.UI.TEXT_DARK or G.C.HAND_LEVELS[math.min(7, G.GAME.hands[card.ability.hand_type].level)]) }
            },
        }
    end
})
red flower
#

is flush_six your poker hand

#

it should have the mod prefix

mossy orbit
#

Ahhhh

mossy orbit
#

Thank you so much ❤️

#

Really convoluted stuff but I am starting to get the deal

knotty orchid
#

how can I make it so that jokers that are not in pool can appear in certain boosters??

#

because from what I have seen, if they are not in pool they cannot spawn right?

ivory citrus
crystal perch
#

<@&1133519078540185692>

faint yacht
#

@red flower Any potential suggestions for how to trigger effects on a card whenever a held in hand card's effect is triggered, be it XMult from Steel or a Joker?

crystal perch
#

thank you mods

#

big kiss

knotty orchid
#

So, is it possible to make boosters that create cards even if they are not in pool?

daring fern
flint fern
#

i'm making a language mod
where do i find the template
-# or at the very least the english localization file

wind steppe
#
key_shop_card_generation = function(area)
    return Card(area.T.x + area.T.w/2, area.T.y, G.CARD_W, G.CARD_H, G.P_CARDS.empty, G.P_CENTERS.c_empress, {bypass_discovery_center = true, bypass_discovery_ui = true})
end
local shop_card_generation_old = create_card_for_shop
create_card_for_shop = function(area)
    if key_enabled then
        return key_shop_card_generation(area)
    else
        return shop_card_generation_old(area)
    end
end

why doesn't this change the generation of cards in shops even with key_enabled set to true?

crystal perch
#

i have a card that forcefully opens a booster and it makes the game act very strangely afterwards
the booster UI is overlaid on top of other UI (sometimes even behind playing cards), the background doesn't update properly upon exiting the booster, and the music only changes back after openening and exiting a different booster

#

anyone know how i could address this?

#

the code included is the function which opens the pack

willow scroll
#

i no longer go above the deck limit

#

but it is still unplayable

daring fern
willow scroll
#

and can essentially be played again

#

basically copying it to hand and deleting the original

#

but without actually doing that

daring fern
willow scroll
#

im currently seeing if i can do it without without lovely patches (because i dont know how to)

meager moss
#

can someone help me figure out what needs update or a bug on my modded thing?

daring fern
# willow scroll oh thats cool
[[patches]]
[patches.pattern]
target = '''functions/state_events.lua'''
pattern = '''
for k, v in ipairs(G.play.cards) do
    if (not v.shattered) and (not v.destroyed) then 
        draw_card(G.play,G.discard, it*100/play_count,'down', false, v)
        it = it + 1
    end
end
'''
position = "at"
payload = '''
local handcards = {}
for k, v in ipairs(G.play.cards) do
    if (not v.shattered) and (not v.destroyed) and not conditions then 
        draw_card(G.play,G.discard, it*100/play_count,'down', false, v)
        it = it + 1
    end
    if (not v.shattered) and (not v.destroyed) and conditions then
        table.insert(handcards, v)
        it = it + 1
    end
end
if #handcards > 0 then
    G.FUNCS.draw_from_play_to_hand(handcards)
end
'''
overwrite = true
match_indent = true
meager moss
#

I installed a new update to a mod I've been playing #1350574384267526195 and it isn't liking the new mods

wispy falcon
#

Is the range of weight = from 0 to 1?

red flower
#

boosters?

wispy falcon
#

Yes

#

What range does it have instead?

jolly shadow
#

theres no max

#

im pretty sure

red flower
#

it's a weighted pool

jolly shadow
#

just dont put zero cuz youd be a moron

wispy falcon
#

Thank you :)

crystal perch
wind steppe
#

How would i trigger an effect when exiting the shop under any circumstances? (eg. not in any sort of calculate)

faint yacht
turbid maple
#

goddamn blind_states looks like a pain in the ass to fiddle with

solid fjord
#

How does one change the challenge description? (preferably without the localization file 🙂 )

red flower
#

with a localization file

clear ocean
#

made a little mod icon what do you guys think

red flower
#

i just realized you have an avatar

#

i can see it in the orange background lol

jolly shadow
#

does anyone know why this doesn't work? im trying to detect when joker directly to the left is triggered

solid fjord
red flower
#

i like my oled screens

wind steppe
#

Is there any function that's called whenever the shop is exited?

red flower
#

you can search for the ending_shop context

#

it's probably there

wind steppe
#

where would i find that

crystal perch
heavy frigate
#

A mod i'm making uses some modified base game textures (a couple recoloured or basic modifications, others like empty cards used to create fully custom things on top)
Can i actually do that, or do i need to redo some or nearly all my textures?

wind steppe
red flower
#

its G.FUNCS.toggle_shop

solar eagle
#

how would i get a list of all possible ranks?

jolly shadow
solar eagle
#

dont want to hardcode them

red flower
solar eagle
#

ty!

heavy frigate
jolly shadow
clear ocean
#

what do you think about this

#

i could remove the abstract joker part and have the gimmick with zero or one joker slot and gain one per boss blind

crystal perch
#

that sounds more like a challenge than a deck

clear ocean
#

ill keep that in mind for challanges then hm

#

what about this or does this still sound like a challange

crystal perch
clear ocean
#

what would be a good tradeoff?

crystal perch
#

especially for endless

clear ocean
#

or you can start with a low number of jokers with the tradeoff

crystal perch
clear ocean
#

well some jokers including powerful ones like perkeo won't work. maybe

crystal perch
#

exactly

frigid cargo
crystal perch
#

more jokers at the cost of your consmables

clear ocean
#

good idea

#

and to be fair you can get crystal ball if you really need one consumable slot

#

if this sounds like more like a challange i can go back to the drawing board

heavy frigate
#

Is there a way to change the texture of a single instance of a joker card?

clear ocean
#

the deck selves could be have a starter joker depending on the deck like nebula could be supernova or constellation.

clear ocean
#

idk

#

what do you guys think

willow scroll
frigid cargo
willow scroll
#

wait single instance

#

mb i cant read

willow scroll
willow scroll
frigid cargo
willow scroll
#

and also reading the source code of smods as they say to show how they implemented them

#

tbf i learned how to kind of use this two days ago so there may be better sources

heavy frigate
# daring fern Yes.

Oh. how?
Because right now i'm directly changing self.pos.x and all that does is change the texture of every instance of that card, including the one in the collection screen.

daring fern
frigid cargo
feral tree
#

how would i remove the perishable sticker from a neighboring joker?

worthy stirrup
#

does anyone happen to know which shader is used for the background during a run

heavy frigate
daring fern
clear ocean
#

thinking on have the abstract sleeves at least for the other decks starting with a joker related, not sure if i should go ahead and add the effect of the abstract deck

#

looking at the other sleeves its basically adds the decks ability and does something special if you pair it with the deck like red deck with red sleeve

lusty glade
#

am I stupid lmao. My first test joker loads in my collection but not my second one. Any guesses why? :0

(nvm I found out why lol- thx however!)

#

(this is my second joker for refference)

heavy frigate
clear ocean
#

finished with my first deck not sure if its good or not but i'll go ahead and work on the art

faint yacht
#

Huh, when I play the card with the new enhancement, it's considered as still in hand and trying to iterate over the played cards, they can't find themselves?
-# No, I am not using Hyperlink Seal.

next timber
#

oop wrong chat. eh whatever close enogh

#

i mean i do have a question actually. is the yellow text at all intuitive

modern kindle
#

i dont know what defense is meant to be so it doesnt tell me much besides i apparently have 15 of it

#

also minor spelling mistake

next timber
#

defence is the correct spelling in british english

modern kindle
#

theres a reason the brits aint reppin smh

next timber
#

i mean hopefully theyll make more sense when editions and enhancements show the correct text

modern kindle
#

i mean i cant speak for something being intuitive if i cant know what it does

so if you think its intuitive when people know what things do then sure

#

cause blue traditionally means chips

next timber
#

idk

modern kindle
#

or it even could mean hands

next timber
#

the yellow numbers are meant to be the base number plus whatever boosts it gets from editions and enhancements and such

#

cause basically everything in rascal works on ranks instead of chips or mult

vast bough
#

does lua/smods natively support post and get requests without external dependencies

#

like does it have some form of http api

vast bough
crisp coral
#

ingame jokerforge api...

#

scary

wet crag
#

new art for my Three Pair planet card 🔥🔥

vast bough
rocky plaza
clear ocean
ocean sinew
wispy falcon
#

What am I missing for my boosterpack in the localization?

                name = "Chip Stack",
                text = {
                    "Test"
                }
            },```
gilded goblet
#

what is a juice_up?

rocky plaza
gilded goblet
#

ohhhh

rocky plaza
#

oddly named but whatever

gilded goblet
#

LMAO yeah

ocean sinew
#

it should be named shake_card_object_effect

wispy falcon
#

What do you guys think would fit the style of the original Balatro soundtrack when opening one of my booster packs? The pack in question would be one where you get tokens (poker chips) as a consumable.

heavy frigate
#

How can i get the ante score (not the blind/G.GAME.blind.chips score)

wispy falcon
ocean sinew
#

planet theme

#

but

#

different

lusty glade
#

make it saxophone /j

wispy falcon
ocean sinew
lusty glade
#

anyone got that problem where only 1 atlas' shows up lmao?

#

pretty sure its just a position problem but still lol

clear ocean
#

what kind of assets are needed?

wet crag
#

I'm pretty happy with how it turned out

#

It's tastefully shitty

frigid birch
wet crag
#

Absolutely fantastic

#

I love it

frigid birch
#

anywas config = { extra = { x_mult = 3, odds = 2 } }, loc_vars = function(self, info_queue, card) return { vars = { card.ability.extra.x_mult, (G.GAME.probabilities.normal or 1), card.ability.extra.odds } } end, calculate = function(self, card, context) if context.joker_main then if pseudorandom('fly') < G.GAME.probabilities.normal / card.ability.extra.odds then return { message = "Absolute Cinema!", colour = G.ARGS.LOC_COLOURS.CC_gold, sound = 'CC_succeed', x_mult = card.ability.extra.x_mult } else return { message = "Absolute Dogshit...", colour = G.ARGS.LOC_COLOURS.CC_poo, sound = 'CC_fail' } end end end
and i'm getting an error saying odds is a nil value in line 746 if pseudorandom('fly') < G.GAME.probabilities.normal / card.ability.extra.odds then

clear ocean
#

https://en.wikipedia.org/wiki/Roses_(suit) would you prefer roses or flowers

Roses or Flowers is one of the four playing card suits in a deck of Swiss-suited playing cards. This suit was invented in 15th century German speaking Switzerland and is a survivor from a large pool of experimental suit signs created to replace the Latin suits. It is equivalent to the Hearts suit in German and French decks. It is equivalent to t...

#

unless it would be cool to come up with a new suit along with these three

old epoch
#

Im trying to make an edition that retriggers any joker/card it is applied on, but it doesn't work. Could anyone help?

config = { extra = { repetitions = 1 } },
    loc_vars = function(self, info_queue, card)
        return { vars = { card.edition.extra.repititions } }
    end,
    get_weight = function(self)
        return G.GAME.edition_rate * self.weight
    end,
    calculate = function(self, card, context)
        if context.post_joker or (context.main_scoring and context.cardarea == G.play) then
             if context.repetition then
            return {
                repetitions = card.ability.extra.repetitions
            }
        end
    end
end
daring fern
old epoch
#

oh, lemme test that, thanks!

frigid cargo
old epoch
old epoch
frigid cargo
jolly shadow
old epoch
clear ocean
#

looks like this is what the assets i need

frigid cargo
daring fern
old epoch
frigid cargo
old epoch
#

The joker still doesn't retrigger, but it no longer retriggers the card

jolly shadow
#

did you enable the optional feature

modern kindle
#

optional schmoptional

frigid cargo
#

Hi dilly

modern kindle
#

hi

old epoch
jolly shadow
old epoch
#

oh

#

how would i do that?

jolly shadow
old epoch
#

alright, thank you!

jolly shadow
#

no problem i am edward robinson

old epoch
#

omg it edward robinson

clear ocean
#

is this what all you need?

heavy frigate
#

Ah, no context for the start of a new ante (would also settle for enter store)
Oh well guess i store the ante in my joker then check that to the actual ante and if new ante update jokers stored ante and do code.

lusty glade
#

anyone knows the name of the function for randomness please lmao ?

rocky plaza
lusty glade
#

ty

#

wait what does ''seed" reffers to? :0

rocky plaza
frosty rampart
#

you can set the seed to any string you want, typically you use something related to what you're using the random function for

rocky plaza
#

theres more to it, like Meta said the seed doesnt matter
just name it something relevant to the source of the randomness

faint yacht
lusty glade
#

alr i'll try it! thanks yall!

faint yacht
clear ocean
heavy frigate
#

Is score called score or is that also chips?

faint yacht
#

G.GAME.chips

heavy frigate
#

I'm on localization on a joker that deals with the score, and i don't know if i should call it score or chips.

faint yacht
#

"Score" is what I used.

frigid birch
#

chat is it possible for a joker to give -5 mult?

jolly shadow
#

yes

frigid birch
#

cool

frigid birch
#

like mult = -5

heavy frigate
# faint yacht "Score" is what I used.

I guess i'll move over to it too. And i see you also used purple fox_excited
Just feel the sentence (Currently 345 Score) feels a bit weird, guess i can reword it

faint yacht
#

You can mention Score outside of the (Currently ...) bit and color the number purple.

daring fern
heavy frigate
faint yacht
#

(Currnetly

frigid birch
heavy frigate
#

Oh yea that image still had that typeo

feral tree
#

is it even possible to rebuff a perishable debuffed joker?

faint yacht
#

SMODS.debuff_card(card, 'reset')?

faint yacht
#

The primary reason I made that Joker is to fill this slot on the modded wiki. 😂

feral tree
daring fern
feral tree
#

Just this

#

Entire thing for context

daring fern
heavy frigate
lusty glade
#

hey! its me again lol. So using the pseudorandom I was trying to pull a random seal out of a table but it gives me an error stating that my table has a value nil, any idea how to fix it? Or maybe i'm approaching the situation the wrong way?

daring fern
feral tree
daring fern
lusty glade
clear ocean
feral tree
#

tf the difference between SMODS.debuff_card, set_debuff and card.debuff?

wispy falcon
wispy falcon
clear ocean
#

is there a way to make the shading/gradating similar to the high contrast cards where its darker upwards

lusty glade
lusty glade
#

oh

#

lmao that does help- big thx

faint yacht
#
local shfref = Card.should_hide_front
function Card:should_hide_front()
    local ret = shfref(self)
    if ret and next(SMODS.find_card('j_toga_cavingjkr')) and not self.config.center.replace_base_card then return false end
    return ret
end
wispy falcon
#

What isG.pack_cards.cards[1].config.center.mod.id?

faint yacht
#

Internal mod identifier string.

frosty rampart
#

specifically, the ID of the mod that the first card in some booster pack comes from

wispy falcon
#

Why does this not work for my boosterpack?

(In localization->descriptions->Others)

                name = "Chip Stack",
                group_name = "Gambler's Thing",
                text = {
                    "Test"
                }
            },```
clear ocean
frosty rampart
wispy falcon
#

Why does it say error there?

jolly shadow
#

Missing localization

gilded blaze
#

you did not specify group_name in loc_txt (or group_key if you're using localization file)

frosty rampart
#

^ if you do group_key, then you assign a string to the group key in misc -> dictionary in the loc file

red flower
#

also if you used group_name but also specified a group_key (common mistake i see) then it wont appear either

feral tree
#

if G.GAME.blind.chips is for the required chip blind then what's the chip score one?

azure laurel
#

hey, how i make the game to generate a random tag?

wet crag
#

she has received a glow up courtesy of my friend fox

wispy falcon
frosty rampart
# wispy falcon ```p_cstorm_chip_stack = { name = "Chip Stack", ...

group_key goes in the SMODS.Booster definitions, and you should make it something like 'k_chip_stack if it's for a chip stack
and the thing in the dictionary needs to be [whatever you defined as the group_key] = "Gambler's Thing" (assuming you want it to read "Gambler's Thing" in the text at the bottom)

frigid cargo
#
SMODS.Rarity {
    key = "btct_Elite",
    loc_txt = {
        name = "Elite"
    },
    default_weight = 0.0067,
    badge_colour = HEX('f59827'),
    get_weight = function(self, weight, object_type)
        return weight
    end,
}

My friend said he did not see an elite after 400 rerolls with 12 shop slots, what did I do wrong? (1/150 = 0.00666...)

daring fern
vernal path
#

this used to function, although that may be because of circumstance rather than it actually working: lua local use_consumeable_ref = Card.use_consumeable ---@diagnostic disable-next-line: duplicate-set-field function Card:use_consumeable(area,copier) local joker = SMODS.find_card("j_mode_poor_bonus") if next(joker) and self.area == G.consumeables then G.hand:change_size(next(joker).ability.extra.h_mod) end return use_consumeable_ref(self,area,copier) end
It's supposed to add 1 (or rather add h_mod) if you use a consumable, but it doesn't do it. After checking with some prints it seems like it never enters the if block, even if the card is definitely there. Any ideas?

final jewel
frigid cargo
# daring fern You need `pools = {Joker = true}`
SMODS.Rarity {
    key = "btct_Elite",
    loc_txt = {
        name = "Elite"
    },
    default_weight = 0.0067,
    badge_colour = HEX('f59827'),
    pools = {Joker = true},
    get_weight = function(self, weight, object_type)
        return weight
    end,
}

like this?

frigid cargo
wispy falcon
#

What do I need to do to change this "ERROR" for my consumables?

wild escarp
#

Anyone here have experience with custom hands? Because I could use a little (a lot of) help. I'd like to make a hand called split flush, where the three of a kind is all one suit, and the pair is all one, different suit. I'll attach my code, but as it is, it detects the hand in at least: two pair where the pairs are each one different, suit, three of a kind of all one suit, and NOT the proper hand.

split yew
#

does anyone know how to check if a lucky_mult procs with context.identifier == 'lucky_mult'
N said before thats its for probability context but I cant seem to figure out what to do still

final jewel
gilded blaze
split yew
#

thank you
I was missing the context.result 🙏

wispy falcon
#

How does ease_background_colour() work?

modern kindle
#

im trying to make a practice area where people can play the minigames but i cant seem to figure out how to get to a 'blank' splash screen, ideally it would just be the normal swirls in the background and the title card, but remove any cards present and close whatever menus i got there with but i am at a loss

so any uiers in chat

gilded blaze
#

G.FUNCS.close_overlay_menu() iirc

modern kindle
#

epic thanks

faint yacht
#

...genuinely stuck with this.

local shfref = Card.should_hide_front
function Card:should_hide_front()
    local ret = shfref(self)
    if ret and next(SMODS.find_card('j_toga_cavingjkr')) then return false else return ret end
end
wet crag
#

Hey all, apologies for how crap my code probably is, but I'm having an issue with my Joker. Her ability is that she has a rotating poker hand, and whenever that hand is the first hand played in a round, she destroys the first scored card and permanently adds the scoring values of that card to the base values for the poker hand. (For example, a Mult Ace gives +11 Chips and +4 Mult, a Polychrome 4 gives +4 Chips and multiplies the base mult of the hand at that time by x1.5). In any case, this ability works, but whenever a planet card is used for a hand that has been augmented, it actually reduces the values of the hand back down to what they would normally be at that level. Is there any way that I can prevent that? Here is her Lua for reference.

modern kindle
#

hmm close overlay caused a nil crash..

lusty glade
#

Wha

#

Flappy bird in balatro lmao that’s so cool

modern kindle
final jewel
#

I think this make me crash

lusty glade
#

On another note (while I wait for the vid lol-) anyone knows a good seed idea for pseudorandom that keeps changing?
Thought I would check on the Vanilla mod but they use a custom seed that I have no clue what it reffers to lol-