#💻・modding-dev

1 messages · Page 459 of 1

molten musk
#

nice pfp

#

so i was searching and found this context.consumeable.ability.set == "Tarot"
wanna change it to a specific consumable, not a set

#

is it .ability.key == "consumable key"??

red flower
#

no
.config.center.key

molten musk
#

so context.consumeable.config.center.key == "key"?

red flower
#

yes

molten musk
#

ok

formal parrot
molten musk
#

a famous artist in the making

#

guess i need an early autograph

#

:set_seal(nil,nil, true) how do i specify a seal to add?

#

do i add the seal key instead of one of the nils?

formal parrot
#

Replace with seal key

molten musk
#

ok ^^

#

do i need a prefix for seals?
like consumable is c_?

gilded blaze
#

seals actually use suffix

#

in localization file seal locs go a bit crazy

molten musk
#

what about custome seals, the need the mod prefix?

gilded blaze
#

mod prefix is a must

molten musk
#

so its modprefix_sealname_seal

gilded blaze
#

at first I intended to have my color streaks on playing cards be separate from seals, but figured that would be too powerful
so streaks in my mod act as seals

#

one of the keys is sgt_red_streak_seal

#

definitely normal for a seal

#

putting that aside
when declaring seals you just need a color key

stiff quiver
#

how can i add any text to the info queue? i want to add a text that isnt an object description

molten musk
#

so im trying to make the joker give a chance to "upgrade" a seal to a double seal

#

but its crashing at line 116 saying extra value is null

stiff quiver
#

because you renamed card to the highlited card

#

change its name to anything else

gilded blaze
#

it seems like

molten musk
#

hmm ok let me try

gilded blaze
#

you're working on a joker

#

but the code suggests you're working on a consumable instead

stiff quiver
molten musk
molten musk
glass scaffold
#

I keep seeing ERROR when I open the pack. Anyone got any fixes?

stiff quiver
#

for example this adds a box with the description of negative edition

molten musk
#

oh i see

stiff quiver
molten musk
#

and u want to make your info queue show any text

stiff quiver
molten musk
molten musk
red flower
molten musk
#

or take the experts saying

glass scaffold
molten musk
#

still not working

stiff quiver
red flower
#

yes

stiff quiver
#

makes sense

stiff quiver
molten musk
#

anyone..

red flower
#

what part doesn't work? what have you tried? did you print the parts to see if things were as you expected?

red flower
molten musk
#

haha

#

i tried and this is what it gives

gilded blaze
#

when you want to confirm if a chance-based object works, temporarily remove the probability check

molten musk
#

as for print i didnt do that

red flower
gilded blaze
#

the crash may suggest that you can't use context.using_consumable to overwrite Red Seal

#

hook Card:set_seal instead

molten musk
#

never done hooks

red flower
#

what's the goal?

molten musk
#

the joker has a propability of upgrading a seal when using a spectral card that adds that seal to its double seal version

red flower
#

you should probably take_ownership of it then

molten musk
#

of what exactly?

red flower
#

the spectrals

molten musk
red flower
glass scaffold
#

Does anyone know how to stop the Booster Pack from saying ERROR when opened?

red flower
#

idk why's not working for you

gilded blaze
glass scaffold
gilded blaze
#

if you're using loc_txt instead, provide a string value for group_name

glass scaffold
gilded blaze
#

💀

#

I don't use loc_txt that often

#

loc files are more consistent
and all loc entries can be found there, so it's a lot easier to manage

stiff quiver
red flower
#

you need to put what i said in info_queue

stiff quiver
#

oh now i get it, thanks

gilded blaze
#

oh yea, speaking of which

#

I can't exactly get the full desc with just {set = "OceanMap", key = "sgt_tropical"}

hard mica
#

Anyone know how I can make the keybind thing work?

near bay
#

why doesnt this work?

(im trying to make a seal have a 1 in 2 chance to retrigger and then a 1 in 2 chance to re trigger again over and over until it doesnt retrigger)

gilded blaze
#

nah, it's just raw description

red flower
#

then the game wont know to process it

gilded blaze
#

💀

red flower
#

use other

#

or patch/hook it in

gilded blaze
#

I see DEAD

red flower
#

also you should use pseudorandom instead of math.random

red flower
#

no just pseudorandom("seed")

near bay
red flower
#

oh the return has to be repetitions with an s

near bay
red flower
#

yes

near bay
snow vale
#

how can i give a card a random enhancement, counting non-vanilla enhancements?

snow vale
formal parrot
#

Att

#

1 second

snow vale
#

wait

#

how do i use it?

formal parrot
#

SMODS.poll_enhancement({ guaranteed = true, type_key = 'key' })

snow vale
#

ok

formal parrot
#

Or set enhancement

#

Forgot

languid canopy
#

hello there, im having trouble make my joker show up it's info... basicly it does nothing (placeholder intent lol) 2nd img is the code for it and 3rd img is the localization part for it... i tried to put a loc_text{} in the joker code however it makes the game crash instantly... can someone please help ? ramen

snow vale
#

set ability

formal parrot
#

I use it for create card

gilded blaze
#

should be j_modprefix_JOKER_PlaceHolder

gilded blaze
hardy dawn
#

im just gonna put it here, due to the other chat being rather clogged

asking me to use a version which hasn't released yet??

formal parrot
languid canopy
formal parrot
#

It is funsies

gilded blaze
gilded blaze
#

it's more recommended than loc_txt anyway

#

but Ig you're right

formal parrot
#

The 1000 miles journey starts with one step

languid canopy
#

me dum

formal parrot
#

If you want

#

You can find your mod prefix in your json file

gilded blaze
#

replace JOKER_PlaceHolder with j_modprefix_JOKER_PlaceHolder

formal parrot
#

Localization file is a separate file

gilded blaze
formal parrot
languid canopy
#

no im using the json thingy

gilded blaze
#

alr cool

#

you should be fine since mod prefix is required in json

formal parrot
snow vale
#

ok

red flower
# hardy dawn im just gonna put it here, due to the other chat being rather clogged asking me...
GitHub

What's Changed

Fixes
pt_BR localization by @naumazeredo in #52

Installation

Install/update Steamodded
Delete your previous JokerDisplay files if any
Download "Source Code (zip)" an...

formal parrot
gilded blaze
#

eh

formal parrot
#

People tend to

#

Not read

snow vale
#

how can i make so the cards i enhance do the flip animation thing?

red flower
#

copy it from the vanilla cards

snow vale
#

guessed

red flower
#

vanillaremade has plenty of examples

snow vale
#

yeah ok

hardy dawn
#

weird

#

the newer version wasn't on the latest releases

#

gotta be trolling

red flower
#

it hasn't released yet

#

that jokerdisplay version also hasn't released but i forgot mod manager takes from the latest commit

hardy dawn
#

what the fuck

#

now everything crashes

#

gg

#

ill just use the old version

molten musk
#

proceeded to add the other seals

#

they dont work

#

only the first one

snow vale
#

does every used tarot/spectral/planet juice up when used?

languid canopy
molten musk
languid canopy
#

JOKER_PlaceHolder.lua its called for me

formal parrot
#

key=“yourJOKERKEY”
In localization you call it with
J_yourModprefix_yourJOKERKEY

languid canopy
#

oh well

gilded blaze
#

it's lowercase j_

languid canopy
#

ima try

formal parrot
red flower
#

i mean it is kinda important

languid canopy
#

YES

#

works

#

thanks heaven and huy 👌

gilded blaze
red flower
#

i dont have it, i hate uppercase

gilded blaze
#

that way, no one can easily recognize I'm on phone

#

I'm just too used at having my message be informal

formal parrot
red flower
gilded blaze
#

the cost of not having a dedicated GPU

#

things were way smoother back in W10

hardy dawn
#

gpu would put that at like 700

#

oof

gilded blaze
#

what can you expect from an office laptop

#

good thing I'm not a fan of AAA games

formal parrot
gilded blaze
#

yep

molten musk
#

done with this joker 🎉

#

4 jokers done, 7 more to go

zealous glen
languid canopy
#

well hello again (lolz) how am i supposed to code the wiggly thingy happening to the "probabilities" in the localization ? i can't find anything

tawdry oriole
#

{C:green,E:1}probabilities{} -> E:1 makes it wavy, E:2 makes it bumpy

languid canopy
#

oh very nice

tawdry oriole
#

is there a way to change the amount of jokers currently owned? (the 1 in 1/5)

#

not through changing the currently owned jokers though, purely by changing the variable

red flower
#

not without breaking everything i dont think

#

you can maybe add a dummy joker

tawdry oriole
#

that could work yeah

red flower
#

idk how that would interact with moving jokers around tho

long sun
#

hiya! how does SMODS.create_card work? (what arguments does it accept?)

red flower
long sun
#

awesome, thanks :D

languid canopy
#

how does oops all sixes works ? 🦐

tawdry oriole
languid canopy
#

i see 👌

tawdry oriole
#

is there a way to make a joker unsellable? (not eternal, i want it gone at some point)

maiden phoenix
#

You still need help w this?

red flower
tawdry oriole
#

alright thanks 🙏

formal parrot
#

How can i force trigger gold/ steel cards

summer furnace
#

Is there some way to make balatro close, with a joker or tarot card? I need it for a joke

formal parrot
#

Check cryptid code for “crash”

summer furnace
#

I looked through it, I don't want it to crash I want it to close, but if there is no other option I'll just crash the game

tawdry oriole
#

how would you get the current blind requirements?

#

nvm i got it

summer furnace
tawdry oriole
#

any clue why the text doesnt scale accordingly with the loc_txt?

#

afaik it worked with s:2 but it just won't do it with values below 1

red flower
#

as far as i see it it shouldnt work at all

#

{s:0.8,V:3}

tawdry oriole
#

oh and now it works

#

does it need to be in the same brackets?

red flower
#

yes

#

the previous format ends as soon as it finds another {

tawdry oriole
#

ohh alright

#

that makes sense thank you

runic pecan
#

How to check if a consumeable has negative edition or not?
(I'm sure the one in the pic is not it.)

summer furnace
#

Does os.execute() work for Balatro modding? and if yes how could I make a path like folder1\folder2\blabla.exe

runic pecan
summer furnace
#

oh okay! thanks!

modern kindle
uncut cloud
#

hey yall ive been trying to get dynatext to work since im trying to work with a timer based joker and i have no idea how to get these to work together since as it is its not really updating live like misprint does which is kinda what i want but with the timer so you dont have to hover over it over and over again to recheck the time and can see the timer increase in real time

#

this is my first time really working with dynatext so i may have just forgotten something

formal parrot
uncut cloud
#

checked the vanilla remade version of misprint

uncut cloud
red flower
#

you don't need dynatext, you need to save the value to a global table and use ref_table and ref_value either in a dynatext or a normal text node

uncut cloud
#

thanks

modern kindle
lament agate
#

can you write something that checks if an atlas missing, it quits the game

runic pecan
#

How do I check what deck the player is currently playing?

runic pecan
red flower
modern kindle
#

hi n

#

my goaty woaty

red flower
#

hii dilly

modern kindle
#

do you like my little shader

red flower
modern kindle
#

we should go out to dinner

formal parrot
modern kindle
#

you fucking hate me

lament agate
#

i

#

KNEEL

modern kindle
#

i was thinkin about crts cause i have to buy one soon so i wanted to make something that reminded me of it

primal terrace
#

I fucking love elseif statements!!!

pastel maple
#

heya im kinda new to making mods in balatro and im trying make a mod but it always does "[SMODS _ "src/game_object.lua"]:408: Failed to collect file data for Atlas MoreXMultiplers_MoreXMultiplers"

placid star
#

does anyone know how often G.STATE gets updated

red flower
placid star
#

ahh so it doesnt get updated every frame?

red flower
#

no

#

it gets updated when you take actions

pastel maple
red flower
#

can i see how the assets folder is structured

mild grove
pastel maple
red flower
#

unless you have a main file and a json you didnt post

mild grove
red flower
#

try removing all the headers

mild grove
#

wait nvm

#

i see what you mean

pastel maple
#

heres all the stuff i can send to make it easier to see what's the problem as the cant file data of Atlas thing still happens

red flower
#

1x and 2x

pastel maple
#

oh

mild grove
#

sorry for the flood

tepid crow
#

get a minimum reproducible example first

#

by the time you have that, there's also a 50% chance you found the issue yourself

normal crest
lament agate
#

3.01 😭

mild grove
normal crest
normal crest
mild grove
#

oh

pastel kernel
#

{
    "id": "busterb",
    "name": "Busted Buffoons",
    "display_name": "The Busted Buffoon Bundle Mod",
    "author": [
        "FirstTry"
    ],
    "description": "A small content mod containing jokers i made in my free time, feel free to throw tomatoes.",
    "prefix": "busterb",
    "main_file": "bustedbuffoons.lua",
    "version": "1.0.0",
    "dependencies": [
        "Lovely (>=0.7)",
        "Balatro (>=1.0.1o)",
        "Talisman (>=1.0.0)"
    ]
}

#

is this how i'm supposed to write the json?

open tapir
#

how do i make a joker that replaces the boss blind music and also has mult

pastel kernel
#

no?

open tapir
#

like is it the same code as the mult with a replace music thing.

daring fern
open tapir
#

because i wanted to make a joke card in my mod pack that replaces the boss blind music with kevin macleod

pastel kernel
#

ok now what?

open tapir
placid star
#

why doesnt this work? it doesnt even print 'true', i made sure i had 6 or more dollars in testing and i also tried changing it so that being in deck doesnt ppause the game

red flower
#

where are you patching

placid star
#

card.lua

red flower
#

where exactly

placid star
red flower
#

it would be more useful to screenshot the dump

placid star
#

omg, card doesnt have a value here huh

sleek cliff
umbral briar
#

um, how would I make it so a joker scales with using a certain type of consumable? like constellation and fortune teller, but with spectral cards. I've figured out how to make it scale with all consumable uses but not specific types (I'm very new to all of this..)

misty gorge
#

trying to hook level_up_hand but it throws "attempt to call field "upgrade_hand" (a nil value) ghg

maiden phoenix
maiden phoenix
red flower
misty gorge
maiden phoenix
#

contexts aren't function

maiden phoenix
pure salmon
#

alright this is actually way better

tawdry oriole
#

how do you use SMODS.blueprint_effect more than once with SMODS.merge_effects??

pure salmon
#

thanks john smods

wintry solar
tawdry oriole
#

oh its that easy?

#

this error pops up though

wintry solar
#

Can you show the code?

tawdry oriole
#
    calculate = function(self, card, context)
        if true then
            local other_joker = nil
            for i = 1, #G.jokers.cards do
                if G.jokers.cards[i] == card then other_joker = G.jokers.cards[i + 1] end
            end
            local merge = {}
            for i=0, card.ability.extra.retriggers do
                merge[i] = SMODS.blueprint_effect(card, other_joker, context)
            end
            return SMODS.merge_lists(merge)
        end
    end
#

card.ability.extra.retriggers is equal to 2 right now

placid star
#

why does my card draw to hand flipped? _true is a card btw

red flower
#

if you emplace directly from the deck it will be face down if thats what youre doing

#

you need to use one of the draw card functions

placid star
#

ahh

tawdry oriole
wintry solar
#

What card is it copying

tawdry oriole
#

it's copying the basic joker for now

#

just to test it out

wintry solar
#

Oh

#

Make sure that blueprint effect is actually returning something

tawdry oriole
#

i mean it is returning something since returning it instead of SMODS.merge_lists does copy the effect

final jewel
#

how do we check the edition of card held in hand ?

wintry solar
#

No you need to check that it exists before sending it to merge effects

#

Otherwise you end up trying to return a table that’s like {extra ={}} in any context it doesn’t trigger

#

So the repetition error will shout at you

tawdry oriole
#

ohh i see

#

so i should try to see if the table is empty?

placid star
#

why does my draw_card create ghost cards bruh 😭

final jewel
wintry solar
placid star
placid star
# final jewel

put a print('true') below if card and card.edition then and a second print under if card.edition.holo == true then check in game

wintry solar
#

Card here is the joker btw

placid star
wintry solar
#

You should also just change the return to mult = card.ability….

final jewel
#

I don't know what happend in the code now but it give mult normaly and mult at the end_of the round, kinda weird

#

normaly means like how how want the card to work

wintry solar
#

Add and context.main_scoring

final jewel
#

kk

red flower
#

context.main_eval

final jewel
#

but I found that it only work when my joker is holo

wintry solar
#

Oh shit yeah it’s a joker my bad

rotund sable
#

so i have this joker and when blueprint/brainstorm try to copy it the message shows below the joker instead of below the blueprint/brainstorm

calculate = function(self, card, context)
        if context.setting_blind then
            return {
                func = function()
                    SMODS.calculate_effect(
                                { message = "+"..tostring(card.ability.extra.discards).." Discards" },
                                context.blueprint_card or card)
                    G.GAME.current_round.discards_left = G.GAME.current_round.discards_left + card.ability.extra.discards
                    return true
                end,
                extra = {
                    func = function()
                        G.GAME.current_round.hands_left = card.ability.extra.hands
                        return true
                    end,
                colour = G.C.GREEN
                }
            }
        end
    end

can i get some help on this?

red flower
shell timber
#

wouldn't that be the needle if anything

wintry solar
#

The blueprint card from the context isn’t stored for the event

rotund sable
#

How do I render a normal message?

#

Sorry I'm new

tawdry oriole
sleek cliff
copper thorn
#
config = { extra = { max = 23, min = 0 } },
    loc_vars = function(self, info_queue, card)
        local r_mults = {}
        for i = card.ability.extra.min, card.ability.extra.max do
            r_mults[#r_mults + 1] = tostring(i)
        end
        local loc_mult = ' ' .. (localize('k_mult')) .. ' '
        main_start = {
            { n = G.UIT.T, config = { text = '  +', colour = G.C.MULT, scale = 0.32 } },
            { n = G.UIT.O, config = { object = DynaText({ string = r_mults, colours = { G.C.RED }, pop_in_rate = 9999999, silent = true, random_element = true, pop_delay = 0.5, scale = 0.32, min_cycle_time = 0 }) } },
            {
                n = G.UIT.O,
                config = {
                    object = DynaText({
                        string = {
                            { string = 'rand()', colour = G.C.JOKER_GREY }, { string = "#@" .. (G.deck and G.deck.cards[1] and G.deck.cards[#G.deck.cards].base.id or 11) .. (G.deck and G.deck.cards[1] and G.deck.cards[#G.deck.cards].base.suit:sub(1, 1) or 'D'), colour = G.C.RED },
                            loc_mult, loc_mult, loc_mult, loc_mult, loc_mult, loc_mult, loc_mult, loc_mult, loc_mult,
                            loc_mult, loc_mult, loc_mult, loc_mult },
                        colours = { G.C.UI.TEXT_DARK },
                        pop_in_rate = 9999999,
                        silent = true,
                        random_element = true,
                        pop_delay = 0.2011,
                        scale = 0.32,
                        min_cycle_time = 0
                    })
                }
            },
        }
        return { main_start = main_start }
    end,
    calculate = function(self, card, context)
        if context.joker_main then
            return {
                mult = pseudorandom('vremade_misprint', card.ability.extra.min, card.ability.extra.max)
            }
        end
    end
}```
how do i make it Xmult and not +Mult ?
wintry solar
wintry solar
#

No

#

Just xmult =

final jewel
tawdry oriole
sleek cliff
#

ok, now I need help with this code, I need it to select one joker from a specific set and replace it with a joker of the same set

tawdry oriole
#

edit: had the wrong return, but still does the same "retrigger" error in game.

sleek cliff
#

I was told to specify that it should be a joker, but i have no idea how I would do that

#

maybe by riffraf

#

wait no nvm

copper thorn
#
local loc_mult = ' ' .. (localize('k_mult')) .. ' '
        main_start = {
            { n = G.UIT.T, config = { text = '  X', colour = G.C.MULT, scale = 0.32 } },
            { n = G.UIT.O, config = { object = DynaText({ string = r_mults, colours = { G.C.RED }, pop_in_rate = 9999999, silent = true, random_element = true, pop_delay = 0.5, scale = 0.32, min_cycle_time = 0 }) } },
            { n = G.UIT.T, config = { text = ' Dimensions shift, reality itself trembling under a weight unseen.', colour = G.C.DARK_EDITION, scale = 0.32 } },
            {
                n = G.UIT.O,
                config = {
                    object = DynaText({
                        string = {
                            { string = 'rand()', colour = G.C.JOKER_GREY }, { string = "#@" .. (G.deck and G.deck.cards[1] and G.deck.cards[#G.deck.cards].base.id or 11) .. (G.deck and G.deck.cards[1] and G.deck.cards[#G.deck.cards].base.suit:sub(1, 1) or 'D'), colour = G.C.RED },
                            loc_mult, loc_mult, loc_mult, loc_mult, loc_mult, loc_mult, loc_mult, loc_mult, loc_mult,
                            loc_mult, loc_mult, loc_mult, loc_mult },
                        colours = { G.C.UI.TEXT_DARK },
                        pop_in_rate = 9999999,
                        silent = true,
                        random_element = true,
                        pop_delay = 0.2011,
                        scale = 0.32,
                        min_cycle_time = 0```
how can i get the grey text under the x?? [buggy text]
tawdry oriole
#

edit: i'm slowly figuring out how it works

wintry solar
red flower
#

shouldnt it be merge effects

tawdry oriole
#

yeah that i figured out already

#

took me a good hour though 😭

rapid stag
#

would it be possible to make an SMODS.DrawStep that constantly does the juice animation on the floating sprite the same way the soul does?

red flower
rapid stag
#

...wait a minute, why don't i just patch the relevant line in card.lua to have another way to enter the draw condition

mild grove
#

My game crashes, when trying to go the Lucky deck, is something wrong with my config?

red flower
#

the jokers table is not closed

#

or well it's closed wrong

mild grove
#

so closed like this?

red flower
#

yes

mild grove
#

ah ty

#

well doing that seems to break the other code

red flower
#

you need to delete the extra }

#

after no_interest

mild grove
#

ty

sleek cliff
#

why is there an extra blank line between each line

mild grove
sleek cliff
#

alrighty

gaunt coral
#

how do i get the amount of remaining cards in the deck? cant find the answer

rapid stag
tawdry oriole
#

update (once again); this doesnt crash (yippee) but it doesn't do anything either (the table is apparently empty, as per the print i had placed?)

red flower
#
  1. i think blueprint_effect shouldn't be in a table
  2. you're returning as soon as merge is not empty because the if condition is inside the loop
tawdry oriole
red flower
#

yes but now you need to change next(ret) to ret and next(ret)

#

oh and it should be merge[#merge+1] instead of merge[i]

tawdry oriole
#

alright i'm gonna try the changes out

#

IT WORKS

#

HURRAY

#

THANK YOU SO MUCH

red flower
#

🔥

gaunt coral
red flower
#

#G.deck.cards

#

?

gaunt coral
rapid stag
#

how can i tell if i'm currently viewing an item in collection

sonic cedar
#

did you click on collection

red flower
#

card.area and card.area.config.type == 'title'
this is how to do list does it

sonic cedar
#

why does to do list need that

#

oh wait

#

never mind I know exactly why to do list needs that

red flower
#

to have the seed not affect the run

sonic cedar
#

yeah

rapid stag
#

is it card.discovered or card.config.discovered? cirDerp
card.config.center.discovered

tawdry oriole
#

how would you choose which cards to create in a booster pack (with a forced key)?

rapid stag
rapid stag
# daring fern What is the goal?

same thing the soul does, juicing sprite. but doing this drawstep creates an additional floating sprite that juices, when i want it instead of the normal floating sprite

#

the sprite is doubled

sonic cedar
rapid stag
#

hmmmm

sonic cedar
#

not saying dont remove it ofc it's just neat

daring fern
rapid stag
#

fair

pastel torrent
#

wow never got that one before

tawdry oriole
#

how would i create more than one card? (with different forced keys)

daring fern
tawdry oriole
#

oh would i need to use an index then?

pastel torrent
#

💔

red flower
tawdry oriole
red flower
#

that but without the for loop

#

and also the return should not be a table inside a table

tawdry oriole
#

right thanks

rapid stag
#

remind me how i get to the joker's name from G.jokers.highlighted[1]? cirDerp
G.jokers.highlighted[1].config.center.name

red flower
#

the name or the key?

tawdry oriole
rapid stag
#

wait no, that's not going to work because i want to take into account the name malverk can change it to

red flower
#

you need the localized name?

rapid stag
#

oh can i just localize the key and that will do it?

daring fern
red flower
tawdry oriole
#

that works

red flower
tawdry oriole
#

thanks!!

modern schooner
#

Hey can someone pls explain how do i use this function ? Like with an example : replace: Replace the specified sound with this one whenever it is played.

pastel torrent
#

give money method?

red flower
modern schooner
pastel torrent
modern schooner
#

I have been trying to replace the 5 base sound of balatro with this command with another song in my sound file

#

how can i do that

#

?

daring fern
pastel torrent
modern schooner
modern schooner
#

let me explain what i am trying to do :

pastel torrent
#

perhaps did smth wrong

#

idk

daring fern
faint yacht
#

Huh, weird, the probability changes kinda affect the pitches of some events...

pastel torrent
pastel torrent
#

or like a log thing

daring fern
modern schooner
pastel torrent
pastel torrent
#

wait I think I found the correct thing

#

is it?

daring fern
pastel torrent
#

oh wait

#

yeah thats for round end I think

#

though

#

P_Dollars seems the one Im searching for

vocal bramble
#

I'm working on a joker that has a chance to add a purple seal to a random played card.

I was testing it with OA6's and it doesn't seem to be affecting the probability for some reason and idk why

(if my code looks stupid it's because I'm stupid and have never used Lua before)

daring fern
vocal bramble
#

I believe the most recent

daring fern
vocal bramble
#

1.0.0~BETA-0615a-STEAMODDED taken from the version.lua file

#

(pls forgive me if I sound like I don't know what I'm doing, I'm still very new to modding)

drowsy heath
#

Why is modding killing me my sleep has reversed. Its now 9pm and I just woke up i fell asleep at 8am

#

How am I supposed to fix ts, I have plans to go to lightwater valley with my family this weekend

#

Im cooked

placid star
#

does anyone know why my draw_card() creates ghost cards?

red flower
#

you're emplacing the card in hand and also drawing it

drowsy heath
#

Somehow even i managed to see that, I think I'm finally understanding lua properly

placid star
#

does anyone know if playing cards have unique ids?

modern kindle
#

What do you mean

languid canopy
#

hello there, im currently having trouble making a new tab in my mod's infos, weirdly the 'credit' tab works perfectly fine but the links tab makes the game crash instantly tho they both have the exact same way of working, am i doing smth wrong ?(problematic code on img)

red flower
#

i dont think click exists

#

and B is not a "button" node

languid canopy
#

🤔

red flower
languid canopy
#

not the whole thing, is it ?

red flower
#

?

languid canopy
#

im not supposed to shove the whole thing into my code, right?

red flower
#

no, just replace the B node for the UIBox_button

#

and you have to define functions separately for the links

modern kindle
#

N

placid star
daring fern
rapid stag
#

was testing something, moused over my deck and my game crashed 🥴

normal crest
#

I think that was an issue with steamodded

#

try updating

faint yacht
#

...retriggering OA6s is... wild.

modern kindle
#

i dont think ive ever seen smt use that react and it threw me off for a sec lmao

#

hi smt

languid canopy
red flower
#

i was going to suggest adding a parameter to get probability vars so it doesn't trigger messages and stuff when looking at tooltips

faint yacht
#

...tbh, I don't think probability modifying items should be retriggerable.

languid canopy
#

dum localization

analog ibex
#

Hey I've been working on mod ideas but I have a couple questions

#

What modding software is the easiest to use with little coding background knowledge

red flower
#

there's no easy fully featured modding software yet sadly, you will have to code
vscode with the lua extension and the steamodded auto complete is your best option

languid canopy
#

do you guys have any clue of how the smeared joker works ? or even better, you guys have any clue of where its straight up code is located in the files ?

vast night
#

yippe

#

its me again

#

can anyone help me w that? even when i have 4 jokers and evaling G.jokers with db+ this code says that the lenght of G.jokers is 0

        print(#G.jokers)
        for i, joker in ipairs(G.jokers) do
            print(i, joker)
            joker:set_ability('j_joker')
        end
faint yacht
vast night
#

like
its only 20 lines

daring fern
prime wadi
#

hi

wind steppe
#

how would i make negatives more likely to appear in a deck?

prime wadi
#

i need help

#

i don't know what is wrong here and i'm new

daring fern
# wind steppe how would i make negatives more likely to appear in a deck?
local oldenegativegetweight = G.P_CENTERS.e_negative.get_weight
SMODS.Edition:take_ownership('e_negative', {
    get_weight = function(self)
        local weight = oldenegativegetweight(self)
        if G.GAME.selected_back.effect.center.key == "b_modprefix_key" then
            -- change weight
        end
        return weight
    end
}, true)
feral tree
wind steppe
wind steppe
wind steppe
wintry solar
# faint yacht

hmmm, I think there's actually a lot of calculation effects that affect the pitch when they shouldn't now, I wonder what the best way around it is

feral tree
prime wadi
wind steppe
feral tree
prime wadi
#

i'm new modding balatro i don't know anything

normal dune
#

i trying to create a joker like the basic joker but for chips but how i write the part of "mult_mod" to chips?

daring fern
prime wadi
#

whait

#

it's 1x no x1?

daring fern
prime wadi
#

i'm stupid

placid star
#

does anyone have an example of a card area in a joker description?

feral tree
# prime wadi i'm stupid

change those file names, Check if you have the same joker art in both files, 2x being twice as big and you should be good to go 👍

prime wadi
#

here is

feral tree
#

That's not supposed to look like that isn't it?

normal dune
#

how i write "mult_mod" but to chips, isn't "chips_mod" or is?

wintry solar
#

just do chips = X

prime wadi
#

why isn't the sprite

#

?

feral tree
prime wadi
#

i don't understeand so much english sorry ;-;

feral tree
#

atlas = 'Jokers'

#

you create an atlas, then add the key to the jokers you want it to appear on

fringe patrol
#

learning some more ins and outs of music modding. I assume the select_music_track function specifies the conditions with which the music track plays, right? then what is with the and 99 in the select_music_track function? what does that do?

viral ember
mild grove
#

Does anyone know if VanillaRemade is going to add the tags?

Stuff like Uncommon Tag, Rare Tag and etc

red flower
fringe patrol
#

wrong reply?

#

yeah no worries

red flower
#

this one

fringe patrol
#

mmm so the number is a priority?

red flower
#

yes

fringe patrol
#

gotcha. last question, how do the ANDs and ORs work in correlation exactly here?

#

like does any OR condition automatically make the whole condition true?

red flower
#

return condition and value1 or value2
is the same as

if condition and value1 then
    return value1
else
    return value2
end
calm kiln
#

do i need to download lua to fully mod? im on windows

feral tree
#

I have a booster pack that draws jokers from a pool. However, if I already have some of the jokers from that pool in hand, it defaults to giving me the base joker. Is there a way to make it only draw jokers I don't already have, instead of drawing them along with defaults?

red flower
calm kiln
#

thank god.

wind steppe
#

what's talisman's localization message for ^^chips? trying to make a scaling ^^chips joker

red flower
wind steppe
#

can you stop with the ❓

feral tree
daring fern
wind steppe
red flower
wind steppe
#

that talisman uses to denote ^^chips

#

that message

daring fern
wind steppe
feral tree
# red flower wdym

A joker that creates a joker from a pool, already having all the jokers so it draws Jimbo instead

wind steppe
#
            return {
                message = localize({type = "variable", key = "para_powpowchips", vars = {number_format(to_big(card.ability.extra.eechips))}}),
                colour = G.C.DARK_EDITION,
                message_card = card
            }
#

why does this return error when para_powpowchips exists in the localization

red flower
wind steppe
drowsy heath
#

Is this idea possible, a legendary joker in which it retriggers every joker once but that number increases every round, however it like seltzer only lasts so many rounds till its gone

daring fern
drowsy heath
wind steppe
#

why is the message error

daring fern
wind steppe
daring fern
wind steppe
#

it doesn't crash

#

just shows ERROR instead of ^^1.5 chips or whatever

#

why does the message show as ERROR

daring fern
drowsy heath
#

I was gunna say yeah the key and the dictionary dont line up,

#

Idk if thats what u were on abt but thats what I saw

#

Wdym

#

Now i get what ur trying to do but that is beyond my capability try ask @red flower

red flower
#

id rather not get tagged to answer stuff please

drowsy heath
#

Sorry

drowsy heath
#

What is the joker in cryptid that retriggers other jokers i tried looking for it but cryptids code is a mess I cant find anything 🤣

drowsy heath
#

Thank you

fluid burrow
#

Does anyone know why the debuff isn't removed at the end of the round?

ember cedar
#

running some testing, why doesn't this code grant random enhancements / editions to scored cards?

scenic elm
#

where does the get_highest() come from and what does it do?

#

i've searched through the lovely git repo and the smods git repo, to no avail

daring fern
#

It's in the source code.

drowsy heath
#

how would i change this to retrigger all jokers ive made edits to the cryptid chad code, what else would i need to do coz im ,lost

scenic elm
lament agate
#

is math.sqrt a thing

daring fern
lament agate
#

thanks

gleaming yew
#

is there a way to detect when any card's rank or suit is changed?

gleaming yew
#

How do you do it?

daring fern
mental nacelle
#

is it possible to set a tooltip to show the description of a Sticker?

wind steppe
# daring fern Yes.

yknow generally when people ask if somethings possible they also want to know how to do it

mental nacelle
#

as in the same way you'd put a tooltip in for a joker in the description of another joker

mental nacelle
gleaming yew
daring fern
# gleaming yew ,,,can I get some more explanation??

I have this for checking if the suit has changed, ```lua
local oldcardsetbase = Card.set_base
function Card:set_base(card, initial)
if self and self.base and self.ability and card and self.playing_card and card.suit ~= self.base.suit and ((not table.contains(self.ability.soe_suits or {}, card.suit)) or (not table.contains(self.ability.soe_suits or {}, self.base.suit))) then
self.ability.soe_suits = self.ability.soe_suits or {}
if not table.contains(self.ability.soe_suits, self.base.suit) then table.insert(self.ability.soe_suits, self.base.suit) end
table.insert(self.ability.soe_suits, card.suit)
end
return oldcardsetbase(self, card, initial)
end

lament agate
#

how do decrease a blind requirement

#

with a joker

drowsy heath
daring fern
lament agate
daring fern
lament agate
#

but thanks

red flower
mild grove
drowsy heath
daring fern
drowsy heath
daring fern
#

Also change repetitions to just be card.ability.extra.retriggers

drowsy heath
#

I did all that and I'm still getting diddly squat....

drowsy heath
#

ive not misinterpreted you have i

drowsy heath
#

Oh what did I do wrong

#

Did u mean replace the whole thing g

#

And not just make it that in the math.min

lament agate
#

wait fuck the number

#

what i did wrong here

daring fern
daring fern
drowsy heath
#

If your saying it would read repetitions = {card.ability.extra.retriggers} then that didn't work

lament agate
#

huh

#

what should i do then

daring fern
lament agate
daring fern
drowsy heath
#

Bcoz funny story

lament agate
mild grove
vast night
#

hi

red flower
vast night
#

does some1 know how i can run a function every frame or every second? not for a joker but in the main mod lua file

vast night
#

k

#

thx

red flower
#

no

mild grove
red flower
# mild grove yep

that code only runs once when the mod loads and almost nothing in the game exists, that's why the crash happens

you need to do the things in that file inside a function

#

and then call the function in your joker

mild grove
#

Alright, i'll see what i can do

red flower
#

i would recommend literally copying the example i showed you lol

mild grove
lament agate
#

how do you add

#

factorial mult

#

@formal parrot

vast night
# red flower hook Game:update

hmm. do you know how i can make dt be passed onto it? it crashes 4 some reason

local update_old = Game.update
Game.update = function(dt)
    -- pre hook
    local ret = update_old(dt)
    -- post hook
formal parrot
#

Remember the xmoney ?

red flower
lament agate
formal parrot
#

Okay so you have a variable in config

#

Mult=

#

5

lament agate
formal parrot
#

Then return xmult=var1

#

With different message

#

And color

red flower
lucid owl
#

don't you just want a loop of like
mult = 5
(loop start)
mult_minus = mult - 1
total = total + (mult * mult_minus)
mult = mult - 1

repeat

formal parrot
#

I gave you an example

lament agate
formal parrot
formal parrot
lament agate
#

i DO

#

but like

formal parrot
#

Yeaj

lament agate
#

can you like

#

write in

#

it

#

in a codeblock

red flower
#
xmult = 1
for i= 1, 5 do
    xmult = xmult * i
end
formal parrot
#

Thanks N

lament agate
#

OHHHHHHHHHH

#

okay

lucid owl
#

yea

lament agate
#

so in theory, thats ^5 Mult right

formal parrot
#

Replace 5 with your config

lucid owl
#

5 being the value of the factorial

formal parrot
#

Variable

lucid owl
red flower
lament agate
#

oh okay

lucid owl
#

that's 5!

lament agate
#

do i need talisman for that

lucid owl
#

aka 5 * 4 * 3 * 2 * 1

daring fern
formal parrot
#

Bro said he knows what factorial is

lament agate
#

good

lament agate
#

hold on

lucid owl
lament agate
#

i skipped math in the entirety of my high school year

#

dont expect me

lucid owl
#

first google result for factorial

formal parrot
#

Same as power

red flower
#

you dont need talisman but the numbers get big fast so you might want it

lucid owl
lament agate
#

i got a fucking lesson MAN

#

i just woke up

formal parrot
lucid owl
#

as a rising junior

formal parrot
lucid owl
#

idk how old you are

hallow forge
#

Final Exam, what's 0!

lament agate
#

0

red flower
#

1

hallow forge
#

nxkoo dies

lament agate
#

what the FUCK

lucid owl
#

is it actually 1 lol

formal parrot
#

You’re definitely failing math niko

lament agate
#

HOW DID I GRADUATE

lucid owl
hallow forge
lament agate
#

NO,,,

formal parrot
lucid owl
#

would it not just be 0 given you're multiplying 0 and 0

#

math me

lucid owl
hallow forge
#

0! is the product of no numbers

#

which is 1

formal parrot
#

Don’t forget custom sound

#

And message

#

And color

lucid owl
#

since when is a factorial a way to represent arrangements of things wtf

#

i've only ever learned about factorials from the internet i am a fool

formal parrot
#

Me go sleep

#

Good night

red flower
#

gn

hallow forge
#

don't tell them about the Gamma function

lucid owl
#

i start pre calc next year i'm scared

drowsy heath
#

why am i getting this it didnt happen before

formal parrot
#

If cos(current time) is positive gain ^current time/60
else current mult/60

#

Is this good

red flower
drowsy heath
#

i have no jokers it can effect in hand yet it crashes when i select the consumable

red flower
#

you would need v.ability.extra and type(v.ability.extra) == "table" and v.ability.extra.coffee

drowsy heath
#

Yeah

red flower
#

yes then if any of them has a number in extra it will crash

drowsy heath
#

Why was it not an usse before this and only just started happening

red flower
#

because you never tested owning a joker with a number in extra?

drowsy heath
#

Oh yeah 😅

#

Thank you that worked beautifully

lament agate
#

ive actually

#

never seen a joker with factorial mult

#

what color should it be

red flower
#

purple

lament agate
#

since exponential mult is dark edition

lament agate
#

is {X:green} a thing

red flower
#

yes

lament agate
#

thanks

scarlet imp
#

info_queue[#info_queue + 1] = { key = "c_eris", set = "Planet" }
why no work 😭

red flower
#

try G.P_CENTERS.c_eris instead

scarlet imp
#

🙏

#

thank god for N'

lament agate
#
config = { 
        extra = {
            xmult_per_card = 0.05 
        } 
    },
    
    loc_vars = function(self, info_queue, card)
        local extra_cards = math.max(0, G.playing_cards and #G.playing_cards or 52)
        local total_xmult = 1 + (extra_cards * card.ability.extra.xmult_per_card)
        return { 
            vars = { 
                card.ability.extra.xmult_per_card,
                extra_cards,
                total_xmult,
                G.GAME.starting_deck_size
            }
        }
    end,
    
    calculate = function(self, card, context)
        if context.joker_main then
            local extra_cards = math.max(0, #G.playing_cards - G.GAME.starting_deck_size)
            return {
                x_mult = 1 + (extra_cards * card.ability.extra.xmult_per_card),
                card = card
            }
        end
    end
}
#

theres something wrong in here

#

instead of being X0 in the collections tab

#

it show 3.4

red flower
#

replace that or 52 for or 0

lament agate
#

thanks

drowsy heath
#

I have a joker which retriggers rhe last card of played hand twice but it only does so when there are 5 cards played how do I fix that, I will send code in a second

#

Oh wait no ik why but how do I make it always last card and not the fifth card

sonic cedar
#

evening alll!
this is allowed right

red flower
red flower
sonic cedar
#

can i do it in the locvars at least

drowsy heath
red flower
#

yeah but you need to check that G.jokers exists

sonic cedar
#

so literally just
if G.jokers

red flower
drowsy heath
#

oh thank you

red flower
#

can i see the code

drowsy heath
#

i already know i misinterpreted it

red flower
#

yeah you're missing the comparison

drowsy heath
#

The last bit I wasn't meant to remove then

red flower
#

you just needed to change the 5 for #context.scoring_hand

drowsy heath
#

okok

#

Thank youuuu

modern kindle
#

is there an easy way i can prevent specific jokers from being able to get an edition?
it would be able to go on any other playing cards or jokers but i want to be able to exclude specific ones

modern kindle
#

how would i go about that?

#

i assume i can find card but how am i preventing it from getting that edition

daring fern
modern kindle
#

damn, hooks

#

hate to see it

drowsy heath
#

How would I reverse a banner and for every discard less you have you gain instead

near haven
near haven
red flower
#

like that's a file in your mod?

near haven
#

Yes, it's a store crash from steammodded by the looks of the log

red flower
#

what's the crash

drowsy heath
#

How does one use smaller words on a card description?

#

If you know what I mean

near haven
red flower
umbral zodiac
#

whats the relevant card variable for context.repetition, if any

drowsy heath
#

well im lost

#

its gives +3 chips instead

#

for whatever reason

violet gulch
#

in your return, you're returning chips

drowsy heath
#

oh

#

poo

calm kiln
#

uh I followed the modding tutorial that was in the main tutorial in the discord, the one by artmuncher and the joker i made isnt showing up

red flower
#

post code

calm kiln
#

SMODS.Joker{
key = 'grassjoker',
loc_txt = {
name = 'Grass Joker',
text = {
'Win the Game',
'after inputting Secret Password'
},
},
}

#

ignore the ability im workshopping it

drowsy heath
#

well since its done i can share, since N' helped so much when you use discards he helps the player too !!

red flower
scarlet imp
#
return {
    message = localize({
        type = "variable",
        key = "a_minus_chips",
        vars = { #context.scoring_hand * card.ability.special.subtract }
    }),
    colour = G.C.BLUE
}

Do I have this formatted wrong? the message the Joker makes is always just ERROR

calm kiln
# red flower does the file have a header or do you have .json

--- STEAMMODDED HEADER
--- MOD_NAME: Grass Deck
--- MOD_ID: GRASSDECK
--- MOD_AUTHOR: [Wolfie and Staple]
--- MOD_DESCRIPTION: Adds the Grass Deck, Grass Joker and the coveted 2 and 7 Joker.
--- PREFIX: GRASS

------------MOD CODE -------------------------
SMODS.Atlas{
key = 'Jokers',
path = 'Jokers.png',
px = 71,
py = 95
}

#

This is what the tutorial said

red flower
calm kiln
#

is it that my file is called main.lua.text, i cant figure out ow to make it not a text file

scarlet imp
#

remove the .text file extensiopn manually

#

it must be a .lua file

calm kiln
#

how do i do that

red flower
#

it has to be main.lua

#

(or any other name but .lua)

calm kiln
#

i have no clue how to make it .lua

calm kiln
red flower
calm kiln
#

yes

scarlet imp
# calm kiln how do i do that

If you're on Windows, open File Explorer and click on the three dots. Select options, and there should be a setting somewhere that lets you view all files with extensions. I would always recommend keeping this on, especially for programmers

#

the name of the setting is "Hide extensions for unknown file types", and I think it is enabled by default

calm kiln
#

YES IT WORKED THANK YOU

#

i have been trying to figure this out for three days, i have so many tabs open. thanks so much

drowsy heath
#

do u not use vscode

calm kiln
scarlet imp
#

for everything you write, if you at some point use multiple files for your mod, you HAVE to have every file you have content in as a .lua file. Any exceptions to this rule are pretty unlikely to be used for your first mod

drowsy heath
scarlet imp
#

it does he just didn't know how to change it manually

drowsy heath
#

ohhhh ok

calm kiln
#

im kinda new to programming in general

#

when i took the ap class for it i got a 2 on the exam

drowsy heath
#

same here im on my 5th day of doing this from scratch self learning

scarlet imp
#

for the record, you CAN also change the file extensions inside of VSC, but its better to know how to use File Explorer since that is gonna be your bread and butter

calm kiln
#

thanks a lot jedi : D

scarlet imp
#

Np : D
I always like helping ppl with programming stuff since I self-taught before going to uni and I got myself into some pretty bad habits

#

I'm much better now tho lol

drowsy heath
#

wait so how many people here are fully self taught

scarlet imp
#

probably most people. Programming is fun and useful to know, but I'd guess that the amount of people getting an education for it or that use it in their work life is pretty small

red flower
#

im not, i got java classes as a teen

scarlet imp
#

I've only been in the discord for like a month so I can't promise that tho

unkempt thicket
#

I taught myself, then took and excelled in several classes

scarlet imp
drowsy heath
scarlet imp
#

congrats on finishing college 🙂 I'm about to start my 5th semester this fall

unkempt thicket
#

A lot of languages are the same the main difference is the syntax.

drowsy heath
#

whats a semester

violet gulch
#

I taught myself by writing scripts for a different game a bunch of years ago. Learned Lua playing the ComputerCraft mod in Minecraft 🤣

drowsy heath
#

im from the uk so its a bit different for me

unkempt thicket
#

Its half a school year

drowsy heath
#

ohhh

scarlet imp