#💻・modding-dev

1 messages · Page 236 of 1

primal robin
#

play_cards_from_highlighted and discard_cards_from_highlighted

quasi comet
#

So fsr I have a consumeable that gives you a random playing card; but it doesn't trigger Hologram when the card is added to deck?

quasi comet
#

i forgot a pair of brackets OTL im tired...

halcyon osprey
#

Hey whats the variable to add more discards?

zealous glen
halcyon osprey
#

something else i gotta do? its crashing lmao, theres a nil value somewhere

frosty dock
halcyon osprey
#

hell yeah thank you!

zealous glen
#

L Victin

vast fractal
#

how to inject the code so that blind will be triggered before the final scoring step 😭

zealous glen
vast fractal
#

blind effect: played hand will be destroyed after scored
but ye, i will just wait for the Blind expansion

zealous glen
halcyon osprey
#

okay so, i guess one more thing is general discards, This thing is going at every single card, not general discard

#

so after discarding 10 cards it dies, but i prefer if it can die after 10 total discards kind of thing

#

context.discard is doing every discarded card augh

zealous glen
#

Take a look at the wiki to see what contexts there are

halcyon osprey
#

i have

hushed field
#

context.pre_discard isn't individual, right?

halcyon osprey
#

that one triggers when i press the button i assume?

#

lemme try it

#

hell yeah perfect

#

are there any functions or variables for Granting and removing Stickers from jokers (like enternal, rental and perishable)

maiden phoenix
#

Check set_eternal like functions

zealous glen
#

SMODS provides apply functions I think

#

I always forget the names

#

That’s why I tell people to check the wiki

hushed field
#

SMODS.Stickers['kino_goldleaf']:apply(_card, true)

#

except change kino_goldleaf to the proper key ofc

hard flume
#

Does anyone know how to take my Joker out of the shop pool and the jimbo pack pool?

hushed field
#

set a flag

#

like gross michel and cavendish

frosty dock
zealous glen
#

in the wiki

hard flume
wintry solar
zealous glen
#

Except with the Hook I think

hushed field
#

the return tables on SMODS.calculate_context() contain whatever a joker returns in it's return statement, right?

zealous glen
#

I don’t remember

#

Because I know the Hook is handled separately

hard flume
#

I've got the cards appearing only in the pool I want them to, now for getting them functional.

wintry solar
#

The hook isn’t part of the normal discard phase

zealous glen
hard flume
#

How would I go about changing the background like it does during boss blinds and boosters?

zealous glen
#

See Bunco

#

Or my mod that copied from Bunco balatrojoker

hard flume
#

Oki, oki. Got it.

fickle stag
#

hi hi what function's called when scoring a card? like the sound playing part

tall wharf
fickle stag
#

play a sound

#

:p

#

modding in this game really just lets u do anything huh

#

im getting sidetracked

fickle stag
tall wharf
#

tired as hell i have work at 9pm I'm still at the place

fickle stag
#

man

#

pain

#

work at 9pm the fuck

#

do u do night shift

tall wharf
#

it was just group work

#

just uni project

hushed field
#

If I wanted to make a card back that had an effect like 'Jokers with an "A" in their name are twice as likely to spawn', what's the best way to go about that?

opal spade
#

this is a localizational nightmare tbh

#

it should be pretty easy to implement but it would lead to it working differently depending on the selected language

hushed field
#

Haha, should've picked a different example. I'm just looking for ways to increase the spawn rate on jokers for arbitrary qualities, mostly

opal spade
#

ah

#

i think the best way would be to hook the pool function, go through the pool it outputs and then insert extra copies of the jokers that fit your criteria at the end of the pool

#

to double their spawnrate

#

if you want to decrease the spawnrate instead you could do the same but instead of inserting extra copies at the end you'd add a chance to replace the jokers that fit the criteria with an 'UNAVAILABLE'

hard flume
#

Man... shaders are hard

#

I'm trying to make a shaders that darken the colors to close to black, and add a subtle wave, but I've no idea how to do that

hushed field
#

ah, I guess that does make sense. I might see if I can make a custom pool func in that case

tall wharf
#

it's crazy

#

tho once you get the ball rolling it's pretty much your canvas made of code

worthy stirrup
#

i keep getting this crash, from all i know, its not because of any mods, its becaues of steammodded itself

#

smods or lovely

quartz ravine
#

Hey guys, this is a funny issue.

I am trying to create a new edition with progressive growth, kind of like how the Hiker increases chip value for a played card.

Well, somehow in doing this I have made it so all cards of this edition share the same value. So when one increases, it affects this for all other cards of the edition.

It makes for some insane growth but was not what I meant!

@wintry solar , do you see my mistake?

        key = "secretRare",
        loc_txt = {
            name = "Secret Rare",
            label = "secretRare",
            text = {                
                "Gains {X:chips,C:white}+ #1# chips{} when scored",
                "Gains {X:chips,C:white}+ #2# chips{} chips for each other card played in hand",
                "{C:inactive}Currently + #3#s{}",
            }
        },
        discovered = true,
        unlocked = true,
        shader = 'secretRare',
        config = {            
            chipGrowthRateSelf =  5,
            chipGrowthRateOther = 2,
            chips = 5
        },
        in_shop = true,
        weight = 80,
        extra_cost = 4,
        -- disable_base_shader=true,
        apply_to_float = true, --false,
        loc_vars = function(self)
            return { vars = { 
                self.config.chipGrowthRateSelf,
                self.config.chipGrowthRateOther,
                self.config.chips } }
        end,
        sound = {
            sound = "Fox_ghostRare",
            per = 1,
            vol = 0.3,
        },
        calculate = function(self, card, context)
            if context.post_joker or (context.main_scoring and context.cardarea == G.play) then
                sendInfoMessage("we are counting this card", "secretRare")

                self.config.chips = self.config.chips + 5
                return {
                    chips = card.edition.chips,
                    colour = G.C.RED
                }
            end
        end
    })
quartz ravine
#

let me try that...

#

Sweet, it works!

verbal wyvern
#

Isnt it beautiful

zealous glen
quartz ravine
#

Thank you @zealous glen !

rapid stag
#

i saw something earlier in here about being able to put custom UI in place of a joker description
and i'm wondering if it's possible to put images in joker descriptions cirThink

halcyon osprey
turbid maple
fickle stag
#

how do I get the description of the joker's ability from G.jokers.cards[x]?

turbid maple
#

like the tooltip?

fickle stag
#

yeah

turbid maple
#

localize is the function to do that but figuring out all the stuff you need for it is a bit involved

#

you'd first have to call the joker's loc_vars function (it if exists) to get the variables that should be injected into the text

fickle stag
#

uhhhh where does the game do it?

turbid maple
#

actually I know you're trying to plug your AI into the game so if you just need the raw text the text is stored in some global table somewhere if you want to grab it directly but you'd have to manually deal with variables and formatting

fickle stag
#

oh yea

turbid maple
#

do you need the text as it is rendered in the game exactly

fickle stag
#

yeah

#

i mean normally it's like formatted w :C and stuff right

turbid maple
#

yeah

fickle stag
#

{C:chips}+#1#{} Chips <- how does this work?

#

bwehh

#

ah I see

#

damn there's gotta be a better way qwq

red flower
#

what are you trying to do with the descriptions?

fickle stag
#

uh i just want to fetch the description and send it to a python script, im trying to train an AI to play balatro

#

but now I think about it i have no idea if the description is gonna help

#

idk how to effectively say the effect of x joker especially w stuff like burnt

red flower
#

Isn't it better to send it the joker key and values? the ai doesn't need to understand the language

fickle stag
#

yeah

#

so .ability

red flower
#

yeah

hard flume
#

im getting the following error, but im not sure where in my code the error would be

manic rune
#

i think im going insane :3

fickle stag
#

how do I access the chips of a playing card? i've gotten suit w .base.suit and .rank, but im not sure where to find chips

#

it also changes w stone / bonus so do I have to calculate it myself?

zealous glen
#

In vanilla

manic rune
#

card:get_chip_bonus()

#

but if you want to include the chips from Foil too then you will have to do some more stuff

fickle stag
manic rune
#

card.edition.key

#

-# i forgot where seals are, sorry :(

fickle stag
#

thanks!!

#

is it just me or is the code like

#

rly bad...

manic rune
#

no, the code is really thunk

#

:3

fickle stag
#

oh 😭

#

its fine tho banger game

#

:3

manic rune
#

fr

fickle stag
#

wait i could just run eval_card

#

i think that'd work

hasty thicket
#

boo

#

I'm here to bother you all with questions on how I can start the process of creating my first joker.

#

All I want it to do, is be basic and give a 100x multiplier, and 100x chips.

#

Very simple in compared to all the other jokers

#

If anyone could help me understand the process it would be greatly appreciated

fickle stag
hasty thicket
#

what coding launcher should I have

#

I have visual studio code which isn't that good but it works

fickle stag
#

it works

old bane
#

thats what i jse

fickle stag
#

i think everyone uses vsc

hasty thicket
#

okay

fickle stag
#

is there even a dedicated lua IDE

hasty thicket
#

just confirmed

#

i havent touched coding in a long time

manic rune
#

its about making your first joker

hasty thicket
#

then I watch video

#

just tryna get familiar

manic rune
#

mhm, good idea

hasty thicket
#

seems easy enough

modest iris
#

guys this may be a stupid question but it's my first time modding and i was wondering if it's even possible to have stone cards displayed for an example hand in the run info menu. i've searched everywhere but i can't seem to find an answer

hasty thicket
#

not as complicated as creating 3d objects in unity

modest iris
zealous glen
#

Some mod has implemented it I think

modest iris
#

oh i see, thanks!

hasty thicket
#

i alr have the joker details picked out

#

opinions?

#

I have a question

modern kindle
# modest iris guys this may be a stupid question but it's my first time modding and i was wond...

you should be able to do this as a patch

[patches.pattern]
target = "functions/UI_definitions.lua"
pattern = '''
local card = Card(0,0, 0.5*G.CARD_W, 0.5*G.CARD_H, G.P_CARDS[v[1]], G.P_CENTERS.c_base)
'''
position = "after"
payload = '''
if v.enhancement then
    local ability = G.P_CENTERS[v.enhancement]
    card:set_ability(ability)
end

'''
match_indent = true
times = 1

then as the example

        { "S_A", true, enhancement = "m_stone" },
        { "S_A", true, enhancement = "m_stone" },
        { "S_A", true, enhancement = "m_stone" },
        { "S_A", true, enhancement = "m_stone" },
        { "S_A", true, enhancement = "m_stone" },
    },

this will work for all of the enhancements

hasty thicket
#

is it bad for me to copy the code created by the devs and use that to create my joker?

#

or is that not allowed

turbid maple
#

thats like 90% of what people do

tall wharf
#

my patch is dying

#

hey void

turbid maple
#

localthunk will not sue you for copying the code of Burnt Joker

modern kindle
tall wharf
#

i used to use arrY index 3 for my letter hand

modern kindle
#

im gonna start eating ur hands then what can u use huh

hasty thicket
tepid crow
minor magnet
#

is there a way to make a patch apply conditionally?

hasty thicket
#

garb

#

iM MAKING MY FIRST JOKER

modern kindle
minor magnet
lavish lake
#

Can someone help me with consumable ideas? I'm running dry of them.

minor magnet
#

proud of ya

tepid crow
modern kindle
#

yea, i know i was having issues with crashing with ym custom enhancements unless i added in specifically it

tepid crow
#

also because I don't want them to fight with steamodded updates if steamodded ever decides to change it

modern kindle
#

so yours works better

modest iris
#

the thing is, i have no clue how to use patches, where do i put them?

hasty thicket
#

now

#

kinda wild

lavish lake
hasty thicket
#

i did on my switch

#

have over 55+ hours

lavish lake
#

oh

hasty thicket
#

lol

verbal wyvern
#

How would you get a Joker to debuff a random played card, Would I need to make it an event or is there a set.ability() for it

hushed field
#

SMODS has a specific debuff function

lavish lake
#

Cmon guys! I need ideas for my consumables! If this is going to continue the way it is right now, I'm gonna get nowhere!

verbal wyvern
long sun
#

is there any boilerplate code i can use to replace the Tarot card sheet with another one?

#

i downloaded a mod, but it didn't come with any scripts

hushed field
verbal wyvern
#

Yes please, Im very much a visual learner

hasty thicket
#

Where did I mess up here

verbal wyvern
#

atlas in Joker code

tall wharf
long sun
tall wharf
#

hi ghost

#

i mean

#

wait hold on

long sun
#

hai :D

tall wharf
#

is that

lavish lake
long sun
#

key = 'Joker2' > key = 'waffles'

tall wharf
#

the name you wanted to be referred by

#

I'm stupid

long sun
#

ya! that's it ^^

hasty thicket
#

testing it now

modern kindle
long sun
#

oh you're missing some other things

hasty thicket
#

nope my mod doesn't show

hushed field
# verbal wyvern Yes please, Im very much a visual learner
GitHub

a balatro mod for movie dorks. Contribute to icyethics/Kino development by creating an account on GitHub.

GitHub

a balatro mod for movie dorks. Contribute to icyethics/Kino development by creating an account on GitHub.

long sun
#

lemme grab an example Joker

hasty thicket
#

im watching a video

#

and they went straight to balatro after this

long sun
#
SMODS.Joker {
  key = 'golfball',
  loc_txt = {
    name = 'Golf Ball',
    text = {
      "Played {C:attention}Steel{} cards",
      "give {C:white,X:mult}X#1#{} Mult",
      "when scored"
    }
  },
  config = { extra = { is_contestant = true, given_xmult = 2 } },
  rarity = 2,
  atlas = 'BFDI',
  pos = { x = 7, y = 1 },
  cost = 7,
  loc_vars = function(self, info_queue, card)
    return { vars = { card.ability.extra.given_xmult } }
  end,
    blueprint_compat = true,
  calculate = function(self, card, context)
    if context.individual and context.cardarea == G.play and context.other_card.ability.name == 'Steel Card' then
      return {
        xmult = card.ability.extra.given_xmult,
        card = card
      }
    end
  end
}```
hasty thicket
#

so idk

lavish lake
verbal wyvern
hasty thicket
#

ahhh okay

#

hold on let me try again

long sun
#

(you can ignore the is_contestant bit, a different Joker uses that)

#

lemme run through how all this works

#

config: holds all the variables your Joker is keeping track of [in extra]

hushed field
long sun
#

rarity: 1 = common, 2 = uncommon, 3 = rare, 4 = legendary

modern kindle
# lavish lake Im not creative and cant make any of my own ideas ||i totally didnt make 3 of th...

my only consumables so far are for the custom hands ive made, so i get it
but people are gonna make their own ideas before they give them away so youll just have to think about what youd personally want to see as a consumable and simply go from there
otherwise maybe youll just have the few ones you have now, which isnt necessarily a bad thing

every mod doesnt need a billion of each item after all

lavish lake
long sun
#

atlas: set this to 'Jokers' (though, i don't know if you wanna change it to something else)

modern kindle
#

depends on the person i suppose, im at a little over 50 jokers and dont know how id make 50 consumables

hushed field
#

If you're committing to making 50 of something, and you're not sure what to do after 10, maybe just do 10 😛

long sun
#

pos: the coordinates of your Joker's sprite in your atlas image

#

starts at (0, 0)

#

cost: how much does your Joker cost? sell price is set automatically to half, floored

#

loc_vars: fills in the #1#s and #2#s and etc. with values

#

the first loc_var will fill in #1#, the second fills in #2#, etc

#

make sure to add card.ability.extra. to the starts of the variables

hasty thicket
#

okay im doing something wrongggg

long sun
#

blueprint_compat / eternal_compat / perishable_compat: is your Joker compatible with Blueprint, Eternal or Perishable?

#

calculate: the code for your Joker's ability

#

hope that helps ^^

hasty thicket
#

okay so big issue, the video I'm watching :https://www.youtube.com/watch?v=Zp-4U5TlbxY&t=7s Is doing a tutorial but the issue is mine doesn't appear in the balatro collection, would this be a coding issue?

STEAMODDED 1.0.0
A tutorial on how to make a modded Joker.

https://github.com/art-muncher/Example-Mod -- EXAMPLE MOD
https://github.com/Steamopollys/Steamodded -- STEAMODDED
https://github.com/WilsontheWolf/DebugPlus -- DEBUGPLUS
-----------------------------------------------------...

▶ Play video
hasty thicket
modern kindle
#

he also says in there that some of the things int he video are outdated, so keep that in mind

hasty thicket
#

bruh 😦

modern kindle
#

but if your stuff isnt appearing in collection, its not registering as existing

hasty thicket
modern kindle
#

so yea, a json is needed

long sun
#

lemme grab an example one

hasty thicket
#

okay 1s

modern kindle
#

you should be able to check steammodded exmaples

#

and they have a json you can edit

long sun
hasty thicket
modern kindle
#

that works too

hasty thicket
#

at the top or bottom

modern kindle
#

separate file

hasty thicket
#

k

modern kindle
#

youll have main.lua and main.json

hasty thicket
#

what does json mean

long sun
#

short for [googling because i don't remember]

modern kindle
#

javascript object notation i think

hasty thicket
#

ty

long sun
#

short for JavaScript Object Notation

#

ya

hasty thicket
#

wait

#

"prefix": "bfdi",
"main_file": "BFDI.lua",
"badge_colour": "1C75C3",
"dependencies": [
"Steamodded (>=1.0.0~ALPHA-1225a)"
],
"version": "1.0.0"
}

I'm on this part

#

would I have to create another lua text file

#

for the bfdi.lua

modern kindle
#

no, it is just your main.lua

long sun
#

oh no, you need to change the info in the example i gave to fit your mod

hasty thicket
#

okay

#

just checking LOl

long sun
#

^^

modern kindle
#

everything ghost gave you should be changed for your mod

ie main.lua instead of bfdi.lua

hasty thicket
#

color doesn't matter ghost so i'm stealing your color

long sun
#

:>

hasty thicket
#

okay i think i changed everything

long sun
#

's not my colour anyway :>

#

[this is where the colour came from]

modern kindle
long sun
#

😭

hasty thicket
#

lol

#

1s

modern kindle
#

remember kids, if nobody else sees it nearby its yours

hasty thicket
#

okay

long sun
#

didn't know dragons could use computers :}

hasty thicket
#

okay

#

1s

modern kindle
hasty thicket
#

how do i send it as a text file

#

so it doesn't clog

long sun
#

also, ax my previous question about texture packs, i got it working :>>>

modern kindle
#

that atlas was definitely not right looking from what i saw

hasty thicket
hasty thicket
#

SMODS.Atlas{
key = 'Jokers',
path = 'Jokers.png',
px = 71,
py = 95
}
SMODS.Joker{
key = 'Waffles',
loc_text = {
name = 'Joker: Waffles',
text = {
'Beyond all the best pancakes, there are even better waffles.',
'create a {C:attention}Joker{}',
'{X:mult,C:white}X#1#{} Mult'
}
},
atlas = 'Jokers',
pos = {x = 0, y = 0}
config = {extra ={
Xmult = 1000000
}
},
loc_vars = function(self,info_queue,center)
return {vars = {center.ability.extraXmult}}
end
}

long sun
#

(textures provided by ReijiAL)

long sun
#

The World :D

hard flume
#

How exactly do I make it so boosters give cards of a certain type?
And where exactly do I put the code to get cards to appear in my custom card area?

modern kindle
long sun
#

yaaaa Emperor and Chariot

hushed field
long sun
#

second page

#

i really like Judgement, here :D

#

(XX)

hard flume
modern kindle
#

at least, these make me think of stained glass

long sun
#

oooh yeahhhhhhh

#

i could give them the Spectral shader?

#

but i don't know how to code that

hushed field
hasty thicket
#

okay back

#

okay

long sun
#

how would i add the Spectral shader to the Tarots?

hard flume
hasty thicket
#

Okay, what's outdated here?

wintry solar
#

Nothing

hasty thicket
#

so how did i mess up

wintry solar
#

You just miss a . in the loc vars return

hasty thicket
#

its not showing in the modded

#

testing it now

hushed field
hasty thicket
#

nope doesn't work 😦

#

im trolling myself somehow

wintry solar
#

Do you have the manifest file?

hasty thicket
hard flume
hushed field
#

"Action" there is the key to the pool/objecttype

unkempt thicket
wintry solar
#

Also I think assets needs to be lower case

hasty thicket
hasty thicket
halcyon osprey
#

the code for my Duplicate spades 1/3 times. It crashes on retriggers due to how i have it move one card eachtime its activated and i think thats the reason why it crashes since it goes beyond the played amount. is there some sort of thing for my +1 at the top to not be used when retriggers happen?

#

(its a slightly modified DNA pretty much)

wintry solar
#

Why not just use other card as the card you copy?

hasty thicket
#

me?

halcyon osprey
wintry solar
hasty thicket
halcyon osprey
wintry solar
hasty thicket
wintry solar
hasty thicket
#

like it's inside two files when it shouldn't be

wintry solar
halcyon osprey
#

it... its perfect 😭

hasty thicket
wintry solar
#

Oh those aren’t actually lua and json files

hasty thicket
#

FUCK

wintry solar
#

They’re txt files

hasty thicket
#

dude

#

i swear to god, i started this an hour or two ago

#

i download the pplication less than 8 hours ago

#

i feel so dumb

hard flume
hasty thicket
#

how do i fix it

wintry swallow
hasty thicket
wintry swallow
#

Idk how it is in englisch but go into this part

#

I think it's called like "View"

maiden river
#

yeah it is

wintry swallow
#

and then you can check "See file extensions"

hasty thicket
#

wait

#

so i think i did it

#

i just saved it as a json file

wintry swallow
hushed field
wintry swallow
#

Also, sorry to pop in but anybody know how I can get my mod to change the sprites in the asset folder while the mod is active?

#

as in replacing them

modern kindle
wintry swallow
hasty thicket
#

What type of file does Lua need to be

modern kindle
#

it needs to be a lua file

hasty thicket
#

I suprise myself with How stupid i am

wintry swallow
hushed field
#

lots of computer stuff is pretty vague and obtuse if you haven't done it before nw

modern kindle
hasty thicket
#

I think something's wrong because it's not loading in balatro.

#

Please help if you can, point out anything I can fix

maiden river
#
{
  "a" : "b",
  "c" : "d",
}```
hasty thicket
maiden river
#

nope

hasty thicket
#

the person who sent me the file didn't send brackets bruhhhh

#

1s

hasty thicket
#

this is the reference

#

i added the brackets but the top is still red

maiden river
#

you also forgot a closing " near the end

long sun
#

check the line with "version", you're missing- ya that :>

hasty thicket
wintry swallow
hasty thicket
#

yay time to test

#

HERTE WE GO

#

TEST TIME

#

its worrks

#

finally

#

IM SO HAPPY

#

IT WORKS

#

YAY

#

THANK YOU ALL

wintry swallow
#

<3

hasty thicket
#

imma go find

#

it

wintry swallow
#

Yippe!!! :3

modern kindle
hasty thicket
#

YES

hard flume
#

Hihi :)
Almost done with all the technical stuff of Worlds.

hushed field
#

I'm trying to find the function that determines which tag is chosen for when you skip a blind, but I can't seem to find it

hard flume
#

Just need to get it in it's card area, then get the actual functionality working

hushed field
#

oh wait nvm the moment I post this I realize I can search the code for min_ante

quartz ravine
#

I would give him my pizza crusts

#

I found somethign interesting, when using watch shader my card looks amazing and I love it. But it looks different when in the game for real. I am not sure how to see what's different here. @rough furnace , have you run into this

maiden river
#

you know shaders 😭
what a goat
I can't figure them out for the life of me

hasty thicket
#

I HIUS

#

I DID IT

#

I DID THE 1000X MULTI

#

THE MULTI WORKS

#

i do have an issue

#

somehow i always create a normal joker whenever I enter the blind with him

wintry swallow
#

WAIT, I think I actually found out how to do it with the sprites, yippe!! :3

wintry swallow
hasty thicket
#

i used a video

maiden river
#

it's the context.setting_blind part

wintry swallow
#

remove the blind function

modern kindle
#

youre creating him in create_card

hasty thicket
#

i think it might be the local new_card = create_card('Joker'

modern kindle
#

yea

wintry swallow
hasty thicket
wintry swallow
#

Guhh, I need to read up on balamod now so I can figure out how injections work q~q

hasty thicket
#

Okay random question

#

lets say I wanted to add chips below the cat

hasty thicket
#

would i copy most of it and just change the Xmult variables?

wintry swallow
#

let me send something rq

hasty thicket
#

k

hard flume
#

Do you all know how I would go about putting cards in my custom card area? I tried SMODS.add_cards but it didn't work

wintry swallow
#

this part I think

wintry swallow
#

Tell me if it works

hasty thicket
#

okay i will try thank you

maiden river
hard flume
#

Ty!!!

maiden river
#
local emplace_ref = CardArea.emplace
function CardArea:emplace(card, location, stay_flipped)
    if self == G.consumeables and card.ability.set == "Weapon" then
        G.weapons:emplace(card, location, stay_flipped)
        return
    end
    if self == G.consumeables and card.ability.set == "Debuff" then
        G.debuffs:emplace(card, location, stay_flipped)
        card.T.w = card.T.w * 0.5
        card.T.h = card.T.h * 0.5
        return
    end


    emplace_ref(self, card, location, stay_flipped)
end
hard flume
#

ty! then what do i do?

maiden river
#

that should be it, actually
it depends on what type of cards you're making (consumables, jokers, etc)

verbal wyvern
#
        return { vars = { card.ability.extra.chips, (G.GAME.probabilities.normal or 1), card.ability.extra.odds } }
    end,
    
    calculate = function(self, card, context)
    
        if context.individual and context.cardarea == G.play then
            return {
                chip_mod = card.ability.extra.chips,
                message = localize { type = 'variable', key = 'a_chips', vars = { card.ability.extra.chips } },
                colour = G.C.CHIPS
            }
        end


        if context.cardarea == G.jokers and context.before and not context.blueprint then
            local _count = 0
            
            for i = 1, #G.play.cards do
               if pseudorandom('Freddy') < G.GAME.probabilities.normal / card.ability.extra.odds then
                    _count = _count + 1
                    G.play.cards[i]:set_debuff(true)
                    
                return {
                    message = 'Debuffed',
                    colour = G.C.MULT,
                    card = context.other_card
                }
                end
            end

        end
    end

}

#

@hushed field I got this but it keeps debuffing first card with oops all 6s, and only debuffs one card, I want it to have a chance to debuff each card but im having a hard time getting that to work

hard flume
maiden river
hushed field
hasty thicket
#

Where would I put the value for chip gain?

verbal wyvern
hushed field
hard flume
maiden river
#

like
you don't understand how it works?

verbal wyvern
#

So if I just delete the return It should run for each card with Individual right?

hard flume
maiden river
#

nice

wintry solar
maiden river
#

eremel to the rescue

wintry solar
maiden river
wintry solar
#

And that

hasty thicket
maiden river
#

well you did

hasty thicket
#

i did? he just told me to delte that

#

welp

#

brb

verbal wyvern
wintry swallow
#

back again

wintry swallow
hasty thicket
maiden river
#

nono

hasty thicket
#

and just add the if context?

maiden river
#

just delete one

hasty thicket
#

okay 1s

wintry solar
#

Hold on

#

What is this card supposed to do

maiden river
#

good point

hasty thicket
#

I'm just testing Chip and Mult in one card

#

mult worked

#

and now im testing chip and mult

maiden river
#

all you have to do is add chips = to the stuff you're returning

hasty thicket
#

. . .

maiden river
#

so like

return {
  chips = 10,
  xmult = 10
}```
hasty thicket
#

bruhhh

wintry swallow
#

God I feel like such an idiot, I'm sorry waffles

hasty thicket
#

Dude.

#

I started this 8 hours ago.

#

I have no background in tech, there are no stupid questions, only stupid answers.

wintry solar
#

Just read the page you were linked if you are interested in calculations

hasty thicket
#

I did but the way they did was right, but hte issue is that the way raevyn showed me isn't on my prompt

#

Because would be reffering to under the Xmult?

wintry solar
#

Then you didn’t read the page you were linked

maiden river
#

here's the part, for reference

hasty thicket
wintry solar
#

That screenshot isn’t how you should do it and hasn’t been for over two months

verbal wyvern
#

Got it working!! Thanks Ice and Eremel v much

hasty thicket
#

1s

hard flume
maiden river
#

just change the part that says G.consumeables to G.jokers

hard flume
#

hmm okay. is card.ability.set where i put the category for it?

hasty thicket
#

I want to make it where there is a chip addition anda base multi, how do I do that side by side? Would I just define the functions as
'{X:mult,C:white}X#1#{} Mult', '{X:Chips,C:white}X#1#{} Chips'

wintry swallow
#

Sorry to ask, but anybody know if ingame injections are possible in SMODS like in balamod?

maiden river
hushed field
hushed field
hushed field
#

but it's not difficult to add a subcategory to a joker. I've got a bunch that just have 'is_vampire = true' or 'is_batman = true', as well as a 'genres = {}' list, and that all works pretty well. Just have the function you want to interact with your custom joker subset look for that variable

wintry swallow
hard flume
frosty dock
#

they do

maiden river
#

john smods here to save the day

sonic cedar
#

how do you center something like half joker? like im pretty sure it's not supposed to be up there

#

half joker for reference

hasty thicket
#

y would mess with the up and down alignment

frosty dock
#

I think you can use pixel_size for that

frosty dock
hushed field
hasty thicket
hard flume
sonic cedar
maiden river
hasty thicket
#

For the both if context functions, would i do end, or keep it at },?

maiden river
frosty dock
hasty thicket
frosty dock
#

unless these shouldn't be using the same context, unlike they currently do

hasty thicket
frosty dock
#
return {
  chips = card.ability.extra.chips,
  xmult = card.ability.extra.Xmult,
}
hasty thicket
#

so i would replace that with the other stuff?

#

gotcha

frosty dock
#

put that in one if block and get rid of the other

hasty thicket
#

k

hushed field
maiden river
#

I want to destroy some cards
and I know the {remove = true} thing works in a few contexts, but does it work in all of them?

#

I've been haunted by ghost cards in the past

#

pun not intended

frosty dock
#

object types don't have a way to check if a card belongs to it in constant time. If that's all you need to do, markers on centers are perfectly reasonable

tall wharf
#

hello aure how is it going

frosty dock
#

object types are most useful when you need a way to generate a random card of a type

frosty dock
maiden river
#

doesn't it work in discard too?

hasty thicket
#

To make the chips a valid currency would i just copy or add to the atlas function?

frosty dock
#

but it doesn't automatically work in any context

hard flume
#

Okay. Got it working, but now the card doesn't show up in the custom area for it

maiden river
#

so how do you remove cards outside of that?

hard flume
frosty dock
maiden river
#

😒
fair

frosty dock
#

at least if it's during scoring

maiden river
#

oh yeah

#

I remember now

next timber
#

is it possible make a seal trigger a function when the card is being destroyed? i want to make it create 2 copies of the card

wintry solar
#

Yes

hasty thicket
#

How would I add chips as a valid recognized currency
it'll be added already but I don't know how to make it display on the card, on top of the mult

tall wharf
#

put chips in loc vars

hasty thicket
#

as another return function? or just another vars function

wintry solar
#

I’d recommend going and looking at some well written mods, it seems like you have no idea at all what you’re doing

hushed field
#

a function can only return once, so you never want to have multiple return functions that you want to all return their information

wintry solar
#

Just to get an idea of what the code is supposed to look like

hasty thicket
hushed field
#

btw, Eremel, do I remember correctly that someone was working on additional boss blind features for SMODS? or did I hallucinate

wintry solar
#

Yeah aure is doing calculation stuff

hushed field
#

ah, great. Guess I'll not start work on boss blind stuff then

wintry solar
#

I have custom small and big blinds code in the ortalab private build right now that might be suitable to merge across too

sonic cedar
#

hooray

tall wharf
#

how should one shuffle cards only when a joker is moved

#

nvm i figured something out

#

actually

wintry solar
#

Call the shuffle function

hard flume
tall wharf
#

i don't wanna shuffle every frame so i guess ill hook it to the card

wintry solar
#

You can probably look at the stuff that controls moving the card and detects mouse clicks

tall wharf
#

function Card:stop_drag

#

i think this works

wintry solar
#

That sounds like the one

sonic cedar
tall wharf
#

😭

hushed field
tall wharf
#

generally

#

i think this might just work

hushed field
#

aaah okay

tall wharf
hushed field
#

what are you cooking up? 👀

tall wharf
#

nvm

#

wron area

next timber
# wintry solar Yes

sorry but how would i go about doing it? ive just looked through the list of calculate function contexts and i dont think i can see one for a card being *destroyed

tall wharf
hushed field
next timber
#

sorry i meant destroyed not discarded, just realised 😅

hushed field
#

context.destroying_card if your aim is to mark a card for destruction. context.remove_playing_cards is you're wanting to do something whenever a card is destroyed

next timber
#

awesome, thx

mellow marsh
#

is this the best way to check if another mod is loaded? was previously doing SMODS.Mods['Cryptid'] but that doesnt work correctly i think

mellow marsh
#

alright cool

warped marsh
#

Heya, how can I check if a played hand is a club? I have been checking the forms but im struggling to find the way to checkkkk

hushed field
#

if the deck has no valid cards to draw anymore, is context.hand_drawn still entered?

maiden river
#

probably not
I mean, if you don't have any more cards to draw you either win the blind or lose the run at that point

stiff locust
#

anyone know why this code wouldn't be working? it used to work but it was broken by recent smods update. Should be adding +1 pack choice to tarot and planet packs.

if context.open_booster then
  if G.GAME.pack_choices and (G.STATE == G.STATES.TAROT_PACK or G.STATE ==  G.STATES.PLANET_PACK) then
                G.GAME.pack_choices = G.GAME.pack_choices + 1
            end
end
hasty thicket
#

I can't really find anything relating to adding mult and chips functions together

hasty thicket
hushed field
maiden river
#

well check around line 310 anyways

maiden river
#

well I think that context only triggers when there are cards actually being drawn

tall wharf
#

another logic rewrite

hushed field
#

hmm, I guess I could change up my logic and not check the hand consistently, but instead check the cards drawn or discarded

#

no wait, that'd not allow for death

maiden river
#

what are you actually trying to do

#

I'm curious

hushed field
#

Oh yeah, I never said huh.

Lucky Number Slevin
Increase odds by 1 for each 7 you are holding in hand

ionic verge
#

i am wonderinf why this isnt returning a flush six, which i have defined presumably correctly (searching for a six long flush and six cards of the same rank)

#

any thoughts?

maiden river
hushed field
ionic verge
hushed field
#

The odds system wasn't made to be messed with too much, haha. I might put this one on hold again

#

I'm at the part of my design doc where every joker is either a conceptual misfire or a programming challenge, so I'm just trying whatever, haha

#

I've given up on the Tenet joker too, at this point, too much of a nightmare to figure out how I'd do that intended effect

ionic verge
#

uh

#

ill. delete that rq

maiden river
hushed field
#

i need a talented and clever person to make an extension that allows me to just make a shader in unity and port it to balatro with no changes to the code because shaders are wizardry to me

green mica
#

I'm trying to make a custom enhancement and I thought I could use replace_base_card since the documentation says it won't draw the base card sprite or give base chips, but it seems like it straight up prevents it from scoring at all even if the enchancement gives bonus or mult

sonic cedar
#

does card:set_ability trigger the remove_from_deck context?

tall wharf
#

wdym wizardry

sonic cedar
#

edition badge

maiden river
#

aiko I think you are officially The Wizard
you don't count

tall wharf
#

no i am not

sonic cedar
tall wharf
#

no

sonic cedar
maiden river
#

you do like
everything 😭

tall wharf
#

😭 no???

sonic cedar
warped marsh
#

im having 2 problems, firstly the game crashes and then also, the values appear as NIL in the discription :> sorry if its a simple problem and im dumb

vast fractal
#

im trying to make a test enhancement but the atlas is not rendering my own texture pack

tall wharf
rain slate
#

How is context.check_enhancement supposed to work? This doesn't seem to do anything. ```lua
if context.check_enhancement then
local key = context.other_card.config.center.key

if key == "m_steel" or key == "m_gold" then
return {
m_steel = true,
m_gold = true
}
end
end

sonic cedar
vast fractal
warped marsh
#

if not then, it wont trigger

tall wharf
warped marsh
#

gatto

#

mrow

warped marsh
#

ah boloks

tall wharf
#

of course it crashes when you are trying to call it as a function

#

😭

warped marsh
#

we are a little silly

hushed field
rain slate
#

idk what those are

hushed field
#

I'm not entirely sure, but I think that context is limited to the optional quantum enhancement feature

#

what are you trying to do with that code?

rain slate
#

I see

rain slate
#

I think I could ofc just give $3 when it's steel and X1.5 when it's gold but that seems a bit jank

#

and Jokers like the Steel Joker wouldn't work on gold cards in that instance

hasty thicket
#

Firgured out the currency issue but its not display properly

#

The mult is display while the chips is not.

rain slate
hasty thicket
#

TY

hushed field
#

In this case you could definitely do SMODS.has_enhancement(TARGET, ENHANCEMENT) in context.individual for and return on the joker. If you have more effect Ideas that are like that, and are comfortable in reading code, maybe check the optional quantum enhancement feature, though, because that does that in a bunch of different moments

hasty thicket
#

finally

rain slate
#

I'd put those chips on the same line as the mult

hasty thicket
#

i messed up...

#

I DID X MULTI AND NO ADDITIVE MULTI

#

As

rain slate
#

I can read code as I've been programming for 5 years, but I'm not that familiar with Balatro modding yet

#

I think I might need to do patches or something like that for this feature, as a lot of Balatro code seems to just check stuff directly

wintry solar
#

Your code will work fine if you enable the quantum enhancements optional feature

rain slate
#

I'll check that out then

lost fern
#

Hellor so Ive looked through the documentation on SMODS.DrawStep and searched the channel and still havent found how to draw a texture with SMODS.DrawStep? Im trying to draw a texture on a card when it has an edition instead of a shader, and was thinking I can use SMODS.DrawStep somehow to do that.

wintry solar
rain slate
#

oh wait sorry that was ur message

#

I didn't read

rugged star
#

is there a context for a hand leveling up?

sonic cedar
#

how do i have an effect trigger on discard?

rugged star
#

context.discard if it needs to execute when a card is discarded, context.pre_discard if just when a discard is used

modern kindle
#

just in case it got lost in the abyss of discord message requests, i shot you a dm @hushed field regarding your 7s

hard flume
#

I have so many ideas

lost fern
frosty dock
wintry solar
#

It could be

frosty dock
#

it is

wintry solar
#

I will update this then

rugged star
wintry solar
#

I don’t think I added a level up context yet

sonic cedar
#

just tested and for some reason, my calculate function isnt working?
the card transformation is supposed to trigger after i discard a card

calculate = function(self, card, context)
        if context.pre_discard and to_big(card.ability.extra.discard_size) > to_big(1) and to_big(card.ability.extra.hand_size) > to_big(1) then
            G.E_MANAGER:add_event(Event({
                trigger = "after",
                delay = 0.15,
                func = function()
                    card:flip()
                    return true
                end,
            }))
            G.E_MANAGER:add_event(Event({
                trigger = "after",
                delay = 0.15,
                func = function()
                    card:set_ability(G.P_CENTERS["j_hpfx_ijiraq"])
                    play_sound("card1")
                    card:juice_up(0.3, 0.3)
                    return true
                end,
            }))
            G.E_MANAGER:add_event(Event({
                trigger = "after",
                delay = 0.15,
                func = function()
                    card:flip()
                    return true
                end,
            }))
        end
    end
}
tall wharf
#

LET'S GO

sonic cedar
tall wharf
#

priorities are now respected

sonic cedar
#

how do you feel

tall wharf
#

feel smart actually

sonic cedar
#

heck yeah

tall wharf
#

new challenge unlocked??

sullen fern
#

is it easy to create a custom poker hand

tall wharf
#

somewhat

sullen fern
#

though this is for spectrum five

#

which is an extention of spectrum

sonic cedar
#

ooo wow

warped marsh
#

is there a fast way to reboot to game with debugger because i cant be bothered to open and close the game to test stuff out

warped marsh
#

thank you

paper zealot
#

Might need to hold it for a second

sonic cedar
warped marsh
lost fern
#

Might there be a fashion by which I can add a "joker" but just the atlas and atlas position part, so I can reference it in the func(card) part of DrawStep?

#

trying to use this to draw a texture using an edition, I might be stupid but oh well

sullen fern
lost oar
#

Hey, how can I make context.destroy_card trigger on held in hand cards? I'm trying to write a Seal with retriggers that may destroy on use, including when it is held in hand, but using destroy_card only seems to work when card is played

sonic cedar
#

have you tried full_hand

frosty dock
next timber
#

what are some mods with a good range of content that i can look through the code of to see how things are done? trying to see how to make a tarot card add a seal

next timber
#

oh yeah the seal example has one lol

#

but for general use with other functions, are there any good mods for learning from the code of?

sonic cedar
sullen fern
tall wharf
#

toma

sonic cedar
#

aiko

tall wharf
lost oar
#

mb, i was using destroying_card

frosty dock
#

thought so

sonic cedar
tall wharf
#

ikr

sonic cedar
# sonic cedar just tested and for some reason, my calculate function isnt working? the card tr...
calculate = function(self, card, context)
        if context.pre_discard and context.cardarea == G.play then
            G.E_MANAGER:add_event(Event({
                trigger = "after",
                delay = 0.15,
                func = function()
                    card:flip()
                    return true
                end,
            }))
            G.E_MANAGER:add_event(Event({
                trigger = "after",
                delay = 0.15,
                func = function()
                    card:set_ability(G.P_CENTERS["j_hpfx_ijiraq"])
                    play_sound("card1")
                    card:juice_up(0.3, 0.3)
                    return true
                end,
            }))
            G.E_MANAGER:add_event(Event({
                trigger = "after",
                delay = 0.15,
                func = function()
                    card:flip()
                    return true
                end,
            }))
        end
    end
}

updated with the discard stuff, still doesnt work
anyone have any ideas

(the Event Manager sequence is for the transformation)

sonic cedar
sullen fern
#

fuck...

chrome widget
#

Need help from someone with a little more SMODS knowledge. I added this context eval in G.FUNCS.evaluate_roundin order to trigger vouchers at the end of a round, similar to how anaglyph adds a Double Tag at end of round

    sendDebugMessage('calling for vouchers')
    local eval, post = eval_card(G.vouchers.cards[i], {cardarea = G.vouchers, end_of_round = true})
    SMODS.trigger_effects({eval, post}, G.vouchers.cards[i])
end```

Similarly, I've added this little hook for eval_card to call a calculate_voucher function, which is just basically the same as most of the other calculate functions (I.E. looks for a calculate function on the object and returns if it has one)

```local ref_eval_card = eval_card
function eval_card(card, context)
    local ret, post_trig = ref_eval_card(card, context)

    if card.ability.set == 'Voucher' then 
        local voucher = card:calculate_voucher(context)
        if voucher then
            ret.voucher = voucher
        end
    end

    return ret, post_trig
end```

And it all works, except... for some reason the code to add the tag is called twice?
sullen fern
#

because i can just call them in parts

tall wharf
dense vector
#

Oh I see now how it could be annoying

tall wharf
dense vector
#

But a four of a kind aces right off the bat seems kinda good

tall wharf
#

pushed the challenge

#

@lyric wadi please stop flushing

#

😭

lyric wadi
#

fake

#

how does it work tho

tall wharf
#

it just gives priority to certain cards when shuffling

lyric wadi
#

yeah but how

tall wharf
#

so close to straight flush 💔

modern kindle
#

Easy, just make a joker that can only draw straight flushes then you'll get it :)

lyric wadi
#

wow that's actually crazy

#

good for like buffing the same nine cards

tall wharf
#

the problem is

#

it cycles

lyric wadi
#

hec

#

is that an eiditon

#

if only i have any idea for modded edition

#

that doesnt get a "that's just cryptid x bro"

sullen fern
modern kindle
sullen fern
#

of course, if i want all these to actually work, i'm gonna have to do the parts

lyric wadi
#

i wanna make a joker idea real

#

but that would involves doing fucky things with every hand detection

#

and that is like way outside my modding grade

dreamy thunder
#

well we all start somewhere ig

tall wharf
lyric wadi
#

i want to go bigger than where i am but also i am kinda hinged on not going too big

#

with like the entire premise of my mod

#

oh the end button

#

is tht from this mod or some other one

tall wharf
#

NotJustYet

lyric wadi
#

thanks

#

also yeah that's nice

#

is it just always those four specific traits

#

or does it choose a random 4 out of a bigger pool

tall wharf
#

4 specific traits

#

cycling which one gets to be first

lyric wadi
#

mm

sullen fern
hard flume
#

I'm not sure why my card is vanishing tbh

lyric wadi
#

straight rainbow is an oxymoron

strong jacinth
#

Wher eis my card area?

lyric wadi
#

wich one

#

like your hand or

sonic cedar
# tall wharf yes

got home and that ping had me excited
curse you
but also yay it works

lyric wadi
#

okay chat im gonna ask

lyric wadi
#

hypothetically

sonic cedar
lyric wadi
#

if i want to implement a Wild Rank card, what would be the best angle

#

like do i hook the vanilla hand code

strong jacinth
sullen fern
#

now comes the part where i actually have to impliment the hands

lyric wadi
#

or do i just add dupe hands that account for a Wild Rank and make it so they dont show up on the hand listing

#

holy ui

sullen fern
#

SMODS.PokerHandPart

tall wharf
#

have you tried

sullen fern
#

this should be easy, right?

tall wharf
#

adding the card to the card area

strong jacinth
chrome widget
#

This is giving me a headache, I genuinely don't know why this code is running twice 😭

tall wharf
chrome widget
#

Trying to make a voucher give a negative tag at the end of the round. For some reason it calls the calculate function with this specific context twice... for reasons completely beyond me

strong jacinth
frosty dock
chrome widget
#

As in, add main_eval to the context when it's sent, or just check for it?

chrome widget
sullen fern
frosty dock
#

you don't need to do that

#

steamodded already calculates vouchers

chrome widget
#

Which part is not needed?

frosty dock
#

the part where you add a context

sullen fern
#

looking at this

#

hm

chrome widget
#

Hm

frosty dock
#

you can just use what steamodded provides

sullen fern
chrome widget
#

Well, I don't know how I missed that it says it supports a calculate function in the docs, I was looking through something and thought it wasn't a default behavior

sullen fern
#

which is probably what both of my hands should do too

hard flume
#

Does anyone know why my card is disappearing when it's added to my custom card area

strong jacinth
tall wharf
sullen fern
#

i could reasonably just take this and modify it to my liking

chrome widget
#

Hm

#

Removing all my code for this results in it not working entirely

frosty dock
#

what's your context check looking like

tall wharf
#

i think you're meant to put the calculate function in the voucher code

chrome widget
#

if context.cardarea == G.vouchers and context.end_of_round then

frosty dock
#

that's... not what i said

chrome widget
#

Then can you clarify?

sullen fern
#

right now this is just using the spectrum code
i need to account for the puyo suits

tall wharf
#

it's 3am

sonic cedar
#

it’s actually 4 pm

tall wharf
#

aure have you taken the driving exam yet or I'm misremembering

sullen fern
chrome widget
# frosty dock .

You send that when I was still under the impression that I needed to add the context myself, and I never sent main_eval with my own context. You need to clarify if and how you want me to use something rather than just expect me to interpet it. Do the voucher contexts not send in the voucher area in context.cardarea?

frosty dock
tall wharf
#

😭

#

manual gearshift exam?

frosty dock
#

nah, but i wasn't having a great day

tall wharf
#

ah

#

alright

#

can you keep retaking it as long as you have money to pay for the exam

chrome widget
#

Hm. Still not receiving any response on this calculate function, regardless of any checks. Weird

tall wharf
#

sometimes features are missing on old steamodded version

chrome widget
#

Might be because I just loaded the game at end of round

modern kindle
frosty dock
chrome widget
#

Yep, there it is. Cool

chrome widget
frosty dock
#

For my part, when I sent that I was not aware that you were trying to add your own context

chrome widget
#

That's fair. Now I just have to figure out timing. No idea if this is the exact same timing as anaglyph would have

#

Ideally? It adds after the anaglyph double

sullen fern
#

how am i meant to account for all 12 different puyo suits

frosty dock
sullen fern
#

because the two puyo related hands need to work with all of them at once

#

no matter the rarity

frosty dock
frosty dock
chrome widget
#

So am I actually going to have to manually add the context again?

sullen fern
#

which now that i'm thinking about it

#

why AM i making unique hands specifically for the puyo suits?

frosty dock
#

wait so does it need to consist of only the puyo suits?

turbid maple
#

do your puyo cards pop if you play the same suits together

sullen fern
frosty dock
#

you'd want to add a condition to this line then

chrome widget
#

Okay yep, it works. I think the double issue before was simply me adding the calculate_voucher function for lack of being able to find an equvalent in code

#

But the actual eval_card() I sent was fine, I just changed it to cash_out

frosty dock
tall wharf
#

"if you play 4 of the same puyo cards destroy them and add 2 random puyo playing cards to your deck"

sullen fern
tall wharf
#

i mean you're not playing against anyone

sullen fern
#

but yeah

tall wharf
#

i think 2 of random coloured puyo and 2 garbage suit

#

idk how useful that will be but

#

yeah

sullen fern
tall wharf
#

i mean sure yeah

sullen fern
#

the suit jokers for them give +3 more mult for those suits than the common ones

green mica
#

anyone know where in the base game code the chips for a playing card are added to the score? I'm trying to find where to hook

strong jacinth
#

My bios is corrupt 🤣

sullen fern
strong jacinth
#

idk, probably not balatro

tall wharf
#

Chain
if you draw 4 cards with the same coloured puyo suit discard all of those 5 cards then add 2 garbage suit to your deck and draw it to hand. number increases by 2 the more sets of 4 cars you draw

#

idk what I'm cooking

frosty dock
tall wharf
#

ah

#

so you'll have to take theoretical if that expires

strong jacinth
frosty dock
sullen fern
tall wharf
#

do they call the garbage nuisance

sullen fern
#

i've heard either garbage puyo or nuisance puyo be used

tall wharf
#

i call it garbage

sullen fern
#

i call them nuisance puyos beacuse of the nuisance queue

#

actually i think i should move this to puyo rainbow's code since that is for five different puyo types and not five of the same type

hard flume
#

I'm still trying to figure out why my card has the invisible gene

frosty dock
tall wharf
#

wdym by puyo having balatro

sullen fern
#

so this should work as intended

strong jacinth
tall wharf
sullen fern
#

so if i do this

tall wharf
#

if you said it to that it will just show up some way you don't expect

formal parrot
#

HELLO

tall wharf
#

G.ROOM or something like that

#

i don't remember

hard flume
#

does anyone know what might be causing this code to turn my cards invisible?

strong jacinth
tall wharf
chrome widget
#

I regularly get these two errors when I reload games while doing mod troubleshooting, but they don't seem to cause anything bad to happen?

tall wharf
faint plank
#

is there a way i can check when a booster pack is finished and not skipped?

frosty dock
#

they don't do jack shit

hard flume
sullen fern
#

it doesn't work?

tall wharf
#

feel free to look in the game's source code

chrome widget