#💻・modding-dev

1 messages · Page 452 of 1

drowsy heath
#

ive done that thing but now balatro is telling me atlas

drowsy heath
#

idk im lost i dont think i defined my atlases anywhere

#

idk

#

unless its what i did in my jokers

daring fern
drowsy heath
#

im lost already

#

ITS NEARLY 5AM WHAT

formal quest
#

Made a Joker sprite based on an album cover. I feel like it needs some kind of a border to fit with the art style but I'm not sure what.

hidden sable
#

"mr poly bridge how does one localize"
"DGR oregon trail"

plush depot
#

nice

drowsy heath
#

im lost i dont have any atlases

#

and idk how they need to be done

plush depot
#

trying to make this enhancement, but idk how it would work. it gives +30 chips if applied to hearts or diamonds but x3 chips to spades or clubs, how would i make this work?

drowsy heath
#

what about wild just a question

plush depot
drowsy heath
#

yeah how do i make like a file with them in like the structure

hidden sable
drowsy heath
#

no like u have a file with all ur atlases

#

i dont have any

#

no file

plush depot
#

how i did mine

hidden sable
#

yeah but you arent using art

drowsy heath
#

i want to tho

hidden sable
#

do you have your art?

drowsy heath
#

no not rn

plush depot
#

make the art first

drowsy heath
#

just using blank white as a step in

hidden sable
#

then keep using default atlas

plush depot
#

oh

drowsy heath
plush depot
drowsy heath
#

i have someone else working on that one

#

it is 5am so they are asleep tho

hidden sable
drowsy heath
#

wait so SMODS.Atlas { key = "joker", path = "jokers.png", px = 71, py = 95, }

#

that is fine

plush depot
#

yes

drowsy heath
#

so why is balatro telling me no

plush depot
#

remove the comma from py = 95,

#

also put singles on the key and path like 'joker'

#

not "joker"

hidden sable
#

overriding joker atlas

drowsy heath
#

huh

hidden sable
#

dont do that unil you have art

drowsy heath
#

im using a blank white image rn so there is something there

hidden sable
#

atlas is how you define where the art is

hidden sable
drowsy heath
#

no

#

thats what i am saying idk how to set that up

hidden sable
#

have this structure

drowsy heath
#

oh i have that

hidden sable
#

images are in place?

drowsy heath
#

yeah

hidden sable
#

whats ur mod prefix

drowsy heath
#

but balatro says this

hidden sable
drowsy heath
normal crest
hidden sable
#

what is your current atlas rn

drowsy heath
#

wym

hidden sable
#

like

#

what code are you using

#

for atlas rn

hidden sable
#

yeah

#

what are you using RN

normal crest
plush depot
#

DO SINGLES NOT DOUBLE QUOTATIONS

drowsy heath
#

im confused

plush depot
#

'joker' not "joker"

normal crest
plush depot
#

sorry for the caps

hidden sable
#

i use ""

plush depot
#

oh

#

what the flip

#

mine sometimes crashes when i use ""

normal crest
#

you did something else wrong then

hidden sable
drowsy heath
#

main.lua ....

hidden sable
#

ok

#

and what does that code look like

#

screenshot

plush depot
#

in ur .json is main file = main.lua

hidden sable
drowsy heath
plush depot
#

ok

drowsy heath
#

wait define it wym

hidden sable
#

mine looks like this

plush depot
#

why parentheses

hidden sable
#

thats how it works

plush depot
#

like regular

drowsy heath
#

so the thing from before

hidden sable
#

its () with a table inside

plush depot
#

this is what mine looks like

normal crest
#

lua lets you skip the parenthesis if the first parameter to the function is only one table

#

again, equivalent code

plush depot
#

krada take a ss of the code

drowsy heath
hidden sable
#

thanks

plush depot
#

do u have the 1x and 2x

drowsy heath
#

yeah

plush depot
#

hm

hidden sable
drowsy heath
#

yep

normal crest
#

and make sure they're actual PNGs

drowsy heath
#

yep

plush depot
#

u could try making the double quotes into singles? idk if it matters tho

hidden sable
normal crest
#

And you saved the file

drowsy heath
plush depot
hidden sable
drowsy heath
#

yep

hidden sable
#

ok then uhhh

plush depot
#

142x190

#

and 71x95

drowsy heath
#

yeah

plush depot
#

what the flip

normal crest
plush depot
#

send the whole code if there is any

plush depot
drowsy heath
#

ill save again just incase then send the crash

hidden sable
#

press r to reload

plush depot
#

do ctrl+c

#

dont screenshot

hidden sable
#

while in crash screne

hidden sable
plush depot
#

oh

#

ok then do screenshot

hidden sable
#

the top part is the important part

drowsy heath
plush depot
#

hm

normal crest
#

Can you just send your entire code

plush depot
#

yeah just send the entire code

hidden sable
drowsy heath
#

for the atlas

normal crest
#

your main.lua file

hidden sable
#

for the entiere main.lua

drowsy heath
hidden sable
plush depot
#

the entire codes only 16 long

drowsy heath
#

idk i thought i had to

hidden sable
#

nah you dont

drowsy heath
#

oh ok

hidden sable
#

@drowsy heath heres something advanced, can you

#

go into your mods folder

#

go into lovely

#

go into dump

#

and check teh file...

#

src/game_object.lua

#

and show us linea round 29

restive pine
#

how to check if cards in hand are steel?

normal crest
# drowsy heath

And you don't have any other SMODS.Atlas uses in any of those other files right

hidden sable
normal crest
hidden sable
#

shit mb

#

wiat thtas means i can check it for him

restive pine
daring fern
normal crest
#

Sure

normal crest
#

And if it continues to crash then update SMODS

drowsy heath
#

okay

plush depot
#

yeah its probably update smods

drowsy heath
#

it didnt crash when i removed them

normal crest
#

so it's likely what I said then, some other file has a random SMODS.Atlas call that is wrong

normal crest
#

but yes, you are correct

hidden sable
#

put the loads back in and check every jokers atlas

#

make sure it reads "joker"

drowsy heath
#

i figured it out

hidden sable
#

exactly

hidden sable
drowsy heath
#

my deck had an atlas

hidden sable
#

we will be killing you

daring fern
hidden sable
#

also i see you have a deck creator mod

hidden sable
drowsy heath
hidden sable
drowsy heath
#

oh yeah aha

#

its to test if the cards work easily

#

instead of debug and remembering keybinds

hidden sable
#

just use debugplus?

plush depot
#

bruh

drowsy heath
#

IM LAZY LET IT BE

hidden sable
#

just press 3 while hovering over a card in collection

#

to spawn it in

#

hold tab to open debug menu

#

gives you a full lsit of everything

drowsy heath
#

thats too much already

hidden sable
#

keybinds

#

buttons

hidden sable
drowsy heath
#

what

coral mortar
#

hello friends. I'm trying to make a deck that starts with lucky 7s. currently the whole deck is lucky. what am i doing wrong

    if { G.playing_cards[i] == 7 }  then
        G.playing_cards[i]:set_ability(G.P_CENTERS.m_lucky)
    end
end```
hidden sable
normal crest
#

your condition in the if statement is always a truthy value cus it's a table

hidden sable
normal crest
#

but even if you removed the {} it still wouldn't do what you want

restive pine
#

Because I have two atlases (1x and 2x), what do I put under Atlas for any given joker

normal crest
#

they're the same atlas, one is just bigger, you'd just put whatever key you gave to your atlas

daring fern
drowsy heath
#

ratmilk now is it all like done what else do i need to be doing

hidden sable
restive pine
drowsy heath
#

i tried to understand it but idk what im doing

restive pine
#

ok

hidden sable
coral mortar
hidden sable
#

so its easier to edit text

#

and automatically translate

drowsy heath
#

where do i put that tho

#

and for joker = { is that the joker key which i put there

hidden sable
#

in localizations.lua

#

next to main.lua

hidden sable
restive pine
drowsy heath
#

eh

hidden sable
#

where i have pwn_jx1dx1 make it <modprefix>_<jokername>

drowsy heath
#

so how does it know which one im trying to do it for

hidden sable
drowsy heath
#

OHHHH

#

I GET IT NOW

hidden sable
#

yeah see

drowsy heath
#

i feel smart again

#

this was all me i fugured it out on my own

hidden sable
#

other people (like me) can contribute localizations to your mod to just.. add, and itll work

drowsy heath
#

so the loc_txt on my jokers i just get rid of it

#

as the localisation is doing that or like leave it

daring fern
restive pine
#

ok sorry 🥹

coral mortar
drowsy heath
#

original *

hidden sable
#

i think i messed something up

hidden sable
daring fern
hidden sable
#

it should automatically apply right? i dont need to do something like loc_txt = localize["pwn_moneysmaro"]

drowsy heath
#

yeah ive got same problem here

hidden sable
#

OH WAIT

#

IM STUPID

#

MY FILE STRUCTURE

#

its localization/en-us

#

mb gang

drowsy heath
#

huh

#

EXPLAIM

#

EXPLAIN*

hidden sable
#

still didnt work but

drowsy heath
#

wait so do i need to do the run thing in my main lua for it

hidden sable
#

no

#

should work auto

drowsy heath
#

yeah im lost

hidden sable
#

@daring fern we need help

#

with localization

#

this should work right

daring fern
hidden sable
#

why

daring fern
snow breach
hidden sable
normal crest
#

j_prefix_key

#

oops

drowsy heath
#

oh

normal crest
#

discord didn't scroll

daring fern
hidden sable
#

THANKS MR POLY BRIDGE

#

dumbass ai changed moneysmaro

drowsy heath
#

okay so ive done somet wrong

#

is the j capital or not

hidden sable
hidden sable
#

j is lowercase

drowsy heath
hidden sable
#

wait

drowsy heath
#

so it should be working then

hidden sable
#

is your file structure correct

#

where is this file what was is it named

#

the loc file

drowsy heath
#

en-us.lua in the localizations folder

hidden sable
#

where is localizations folder

drowsy heath
#

in the main mod folder ig

hidden sable
#

alr

#

so thats corect

#

huh

drowsy heath
#

yeah im lost

hidden sable
#

same

#

uhhh

snow breach
#

Is exponential mult a base balatro thing?

hidden sable
#

no

hidden sable
drowsy heath
#

yeah

daring fern
hidden sable
drowsy heath
#

i checked and everything is as should be

hidden sable
drowsy heath
#

yeah

hidden sable
#

hm....

#

screenshot your vscode worksplace

drowsy heath
#

like this

hidden sable
#

like this

#

that works

#

you spelled localizations wrong

#

i think

#

did you?

drowsy heath
#

i copied your spelling

hidden sable
#

weird

drowsy heath
#

like str8 copy n paste

hidden sable
#

OH

#

NOT PLURAL

#

SINGULAR

#

REMOVE S

snow breach
daring fern
drowsy heath
#

IT WORKS YIPEE

#

now i gotta add the rest

#

pain nothing but pain

#

I NEED MUSIC

#

ive done all night in silence

snow breach
umbral zodiac
#

is there an effective way to change the spawn rates of hidden consumables both from vanilla and other mods

snow breach
hidden sable
#

whast the localization key for enhancements

hidden sable
tardy raven
#

how do you make it so a card loads it's sprite from an independent png instead of a sheet of jokers?

drowsy heath
#

it is clean now its all dome

#

done

#

whats after that

crisp coral
snow breach
#
calculate = function (self, card, context)
    if context.cardarea == G.hand then
        if SMODS.has_enhancement(card, "m_steel") then
            return { emult = card.ability.extra.Emult * random(.1, 20)}
        end
    end
end

This is not doing what it's supposed to, and is almost certainly wrong. Please help.

crisp coral
hidden sable
#

did that

snow breach
normal crest
#

card here refers to your joker card

crisp coral
snow breach
#

The intended effect is, whenever a steel card scores, exponentiate the mult by a random value from .1 to 20

crisp coral
drowsy heath
#

im just playing balatro for a break at least i can use my new cards

normal crest
tardy raven
normal crest
#

you can do it wherever as long as it happens before your SMODS.Joker call

crisp coral
#

wherever you defined the main sheet atlas

snow breach
#
calculate = function (self, card, context)
    if context.individual and context.cardarea == G.hand then
        if SMODS.has_enhancement(context.othercard, "m_steel") then
            return { emult = card.ability.extra.Emult * math.pseudorandom(.1, 20)}
        end
    end
end

Like this?

crisp coral
tardy raven
#

atlas's confuse me

#

especially since a lot of mods seem to do it differently

normal crest
crisp coral
#

if you're using pseudorandom then pseudorandom(0.1, 20, "unique seed here")

normal crest
hidden sable
#

that was it

drowsy heath
#

yippee im free from labour

hidden sable
#

keep using the clean stuff you just made though

crisp coral
drowsy heath
#

only more creating fun

normal crest
#

also i think pseudorandom min/max is only for integers

#

and the seed goes first

hidden sable
#

like instead of making a loc_txt make a localization entry instead

drowsy heath
#

yeah

hidden sable
#

and if you add a different type of object make a new file

crisp coral
#

fuck

hidden sable
#

but now we're both fully clean

#

except for me

drowsy heath
#

im currently just playing balatro with my jokers coz its more fun

#

i need some relief after 7 hours of this

crisp coral
#

it's not exclusive for integers since it uses math.random

hidden sable
#

i can't figure out my localization keys

drowsy heath
#

wym

hidden sable
#

this isnt working correctly

drowsy heath
#

im dumb with this but i could also bring new ideas to the table

normal crest
crisp coral
#

the fuck

drowsy heath
#

r u using the name instead of the key for the m_pwn_beaming or is that also the key

normal crest
#

that's just what it says

hidden sable
drowsy heath
#

no i mean the beaming

#

is that the name or key

#

or are they the same

hidden sable
#

it even checks for the patch

hidden sable
drowsy heath
#

yeah so i got no clue

hidden sable
#

@normal crest ?

normal crest
#

hello

crisp coral
drowsy heath
#

i mean might not matter but for the name use ' instead

#

maybe

crisp coral
#

ok

normal crest
hidden sable
normal crest
#

yours is probably more coherent tho

normal crest
#

not Enhancement

hidden sable
#

OH

drowsy heath
#

oh damn

#

how does one make an enhancement

#

ill give it a try fail and be back hold on

hidden sable
#

YEAAAAAAAAAAHHHHHHHHHHHHH

hidden sable
#

here

#

take my enhancement

#

completely blank

#

its actual listed functionality is handled in a patch

#
SMODS.Enhancement { -- Beaming Enhancement
    key = "beaming",
    config = { extra = { odds = 8 } },
    loc_vars = function(self, info_queue, card)
        return { vars = { (G.GAME and G.GAME.probabilities.normal or 1), card.ability.extra.odds } }
    end,
    atlas = "beaming",
    pos = { x = 0, y = 0 }
}
drowsy heath
#

//: lost already

#

what is a patch

hidden sable
#

@drowsy heath also when you do sprites please use sheets

hidden sable
#

i edited the code for drawing cards to draw beaming cards first before drawing the actual cards

snow breach
#

It works, but it's also exponentiating at the end of the round, how do I make it not do that.

hidden sable
#
[manifest]
version = "0.1.0"
dump_lua = true
priority = 0

# Draw Beaming cards first
[[patches]]
[patches.pattern]
target = "functions/state_events.lua"
pattern = "if G.GAME.blind.name == 'The Serpent' and"
position = 'before'
match_indent = true
payload = '''
    for i=1, #G.deck.cards do
        if #G.hand.cards < G.hand.config.card_limit then
            if SMODS.has_enhancement(G.deck.cards[i], "m_pwn_beaming") then
                draw_card(G.deck, G.hand, i*100/#G.deck.cards, nil, nil, G.deck.cards[i], 0.07)
                hand_space = hand_space - 1
                if pseudorandom('glink nuggets') < G.GAME.probabilities.normal / G.deck.cards[i].ability.extra.odds then
                    local card = G.deck.cards[i]
                    G.E_MANAGER:add_event(Event({
                        blocking = false,
                        trigger = "after",
                        delay = 1.5,
                        func = function()
                            G.E_MANAGER:add_event(Event({
                                blocking = false,
                                trigger = "immediate",
                                func = function()
                                    card:set_ability("c_base")
                                    return true
                                end 
                            }))
                            SMODS.calculate_effect({ message = "Shimmer!" }, card)
                            return true
                        end
                    }))
                end
            end
        end
    end
'''
hidden sable
drowsy heath
#

...

hidden sable
#

its KINDA complex and scary

drowsy heath
#

im so lost idk how to describe it

hidden sable
#

which is why i stray away from them as much as possibly

drowsy heath
#

ill leave that for another day 😭

hidden sable
#

but this patch was prolly the easiest one to make

drowsy heath
#

easy

hidden sable
snow breach
# normal crest What's the current code
    calculate = function (self, card, context)
        if context.individual and context.cardarea == G.hand then
            if SMODS.has_enhancement(context.other_card, "m_steel") then
                return { emult = math.random(.1, 20)}
            end
        end
    end
hidden sable
#

like here look at this

drowsy heath
snow breach
hidden sable
#

you think you would need to make a patch to exit a blind without winning and go to shop?

snow breach
#

When using Atlas.

hidden sable
#
SMODS.Consumable { -- Skateboard Item
    key = "skateboard",
    set = "item",
    atlas = "skateboard",
    pos = { x = 0, y = 0 },
    can_use = function(self, card)
        return G.GAME.blind.in_blind and not G.skate_shop
    end,
    use = function(self, card, area, copier)
        G.E_MANAGER:add_event(
            Event({
                trigger = "immediate",
                func = function()
                    if G.STATE ~= G.STATES.SELECTING_HAND then
                        return false
                    end
                    G.skate_shop = true
                    G.STATE_COMPLETE = false
                    G.FUNCS.draw_from_hand_to_discard()
                    G.FUNCS.draw_from_discard_to_deck()
                    G.GAME.blind:defeat()
                    G.STATE = G.STATES.SHOP
                    G.STATE_COMPLETE = false
                    return true
                end,
            }),
            "other"
        )
    end
}
hidden sable
#

though i did use a hook

#

but its not for functionality

normal crest
hidden sable
#

its so players cant use it again while inside the shop

drowsy heath
#

ahh yeah i kinda actually undertand that one

hidden sable
#

which honestly

snow breach
hidden sable
#

i dont even think i need the hook

#

one sec

normal crest
tardy raven
snow breach
normal crest
#

there doesn't

crisp coral
#

you don't need it

snow breach
#

Oh. My fault.

normal crest
crisp coral
normal crest
#

what SMODS version do you have

hidden sable
#

ok yeah no i do need the hook

snow breach
normal crest
#

Oh wait

#

do context.cardarea == G.play instead of G.hand

drowsy heath
#

how easy is it to make a consumable

#

and a pack for it

snow breach
#

Why?

hidden sable
#

for my consumables i made a consumabletype

#

which is also easy

normal crest
# snow breach Why?

context.individual and context.cardarea == G.hand happens, for example, when a steel card gives 1.5x mult cus it's held in hand

drowsy heath
#

okay so structure wise what do i start with

normal crest
#

if you do G.play instead it'll be when that card scores

snow breach
hidden sable
#
SMODS.ConsumableType { -- Items
    key = "Item",
    primary_colour = HEX("668766"),
    secondary_colour = HEX("9dffb1"),
    loc_txt = {
        name = "Item",
        collection = "Items",
        undiscovered = {}
    },
}
normal crest
#

in that case your code looks fine

hidden sable
#

thats my entire code for making a consumable type

drowsy heath
#

okay okay

normal crest
hidden sable
#

contains a loc_txt because i dont think you can make localization for that

hidden sable
#

@normal crest can you make locales for consumabletype?

hidden sable
drowsy heath
#

so the actual consumable structure ?

hidden sable
#

under here?

normal crest
snow breach
hidden sable
#

its a consumable

drowsy heath
#

oh okok thank you

hidden sable
#

here lemme give you a simpler one

normal crest
hidden sable
#
SMODS.Consumable { -- Shotgun Item
    key = "shotgun",
    set = "Item",
    config = { min_highlighted = 1, max_highlighted = 4 },
    atlas = "shotgun",
    pos = { x = 0, y = 0 },
    use = function(self, card, area, copier)
        local hand_highlight = G.hand.highlighted
        SMODS.destroy_cards(hand_highlight)
        delay(1)
        local non_highlighted = {}
        for _, card in ipairs(G.hand.cards) do
            if not card.highlighted then
                non_highlighted[#non_highlighted + 1] = card
            end
        end
        delay(.7)
        local card_to_destroy = pseudorandom_element(non_highlighted, 'random_destroy')
        SMODS.destroy_cards(card_to_destroy)
    end
}
#

this item lets you select 4 cards and destroy them, but willselect 1 extra random card and destroy that too

tardy raven
#

ok so the game boots, although the joker doesn't appear. the joker is designated in it's own Lua file, how would I get the game to recognize it?

#

again i am very fucking new so please be patient /w me

hidden sable
tardy raven
#

im not sure, I don't think it's designated to load anywhere

#

since i'm not sure where you would set it up to load jokers from individual lua files

#

tryna follow the cardsauce way of organization

normal crest
# hidden sable show moreplsi dont get it

at the same height in whijch you put descriptions = { etc, put another one called misc and then k_yoursetkey is the badge under cards and b_yoursetid_cards is the name it shows in collection

drowsy heath
#

so this works

hidden sable
drowsy heath
#

okay

hidden sable
normal crest
hidden sable
#

oh wait

#

sorry

#

read wrong

#

i read booster

#

mb og gngstr

tardy raven
#

i'll try that in the main file

#

rn im just tryna see if the one joker I coded works then I can get around to actually getting things organized properly

drowsy heath
#

do i want to put my consumables in the same lua file or a seperate one for simplicity

normal crest
fierce frost
crisp coral
#

hand_chips

tardy raven
#

probably took this too literally

fierce frost
normal crest
#

cus you're not accessing any global variables there

tired kestrel
#

uhh... how did this happen?

normal crest
fierce frost
hidden sable
#

OH

crisp coral
#

chips = -chips
^ nil

fierce frost
normal crest
tired kestrel
fierce frost
hidden sable
normal crest
crisp coral
#

dw i didn't even read your crash log

fierce frost
tired kestrel
hidden sable
normal crest
tardy raven
#

most likely being extremely backwards with this

normal crest
#

did you save

hidden sable
#

restarted again

normal crest
#

can you show your localization file structure

normal crest
hidden sable
normal crest
#

you put Moonception in code but the file name is moonception

tardy raven
#

ohhh

normal crest
#

I can't see shit

#

tho it looks like you didn't put misc at the right spot

hidden sable
normal crest
#

nvm

tired kestrel
#

was there something wrong with this?

normal crest
#

what's your consumable type definition again

hidden sable
normal crest
#

can you try lowercasing the key

#

in both places

drowsy heath
#

i want to make a consumable that does what familiar does but with seals instead

hidden sable
#

why did that work

#

thats stupid

normal crest
#

Lol

#

Try keeping only lowercase in the localization file

#

but keep as it was before in the code

tardy raven
drowsy heath
#

i can use the familiar spectral card as a base and work off it but dk what i need to change

hidden sable
#

@drowsy heath change your consumabetype key to lowercase

#

turns out localization doesnt like it

normal crest
drowsy heath
#

i havnt done it in localisation yet

#

im making it them cleaning it up

normal crest
drowsy heath
#

and yh ill change it back now

tardy raven
#

code is temprary

normal crest
#

cus you're never calling SMODS.Joker to register your joker

#

you're just returning a table with information about your joker

tardy raven
#

ohhh

#

yeah that would check out

#

man i gotta figure this shit out LMAO

drowsy heath
normal crest
tardy raven
#

would I leave return there?

normal crest
#

also instead of using name = "whatever" it's preferable to use key = "whatever"

hidden sable
#

@drowsy heath delete last } in locale and replace it with

misc = {
        dictionary = {
            k_item = "cryo",
            b_item_cards = "cryos"
        }
    }
}
normal crest
#

you said you were trying to follow another mod's organization and they probably have a system to load jokers that uses the return value

tardy raven
#

yeah

#

i still wanna follow that method since it seems conveinient but i'm lost as to how they do it so for now im just testing to see if I could implement a custom one to begin with

tardy raven
#

once that works i'll prolly check to see how they organize things

#

also game boots but card still doesn't appear

#

it'd go here right?

normal crest
# tardy raven

yeah that looks right, looking at the code your joker has no atlas

drowsy heath
#

yeah i looked at that

normal crest
#

so it should look like the +4 mult joker

#

if you go all the way to end of collection

tardy raven
#

it doesn't show up to begin with

drowsy heath
#

i just dk what i need to change to what in the structure to make it produce seals on cards instead of enhancements

normal crest
#

you restarted your game right

tardy raven
#

yeah

#

lemme double check tho

#

yeah nope

normal crest
#

Do you see the mods button in the main menu

lyric maple
#

how do i get the chip value of a card

#

not as in id, since that might change for mods and such

tardy raven
#

doesn't have a list of contents tho

#

since its a very basic json

normal crest
#

Okay, can you temporarily comment out the load_file thing in your main file

tardy raven
#

no change

normal crest
#

and just try to make some random joker like

SMODS.Joker {
  key = 'whatever',
  loc_txt = {
    name = "whatever",
    text = {}
  }
}
#

in the main file

normal crest
#

I'm not sure why the other one didn't work

drowsy heath
#

ratmilk my consumable doesnt have any text for some reason

normal crest
#

Maybe it's cus it had no loc_txt?

drowsy heath
#

i have added it to the localisation

fierce frost
hidden sable
hidden sable
tardy raven
hidden sable
#

show the end bit of your locale

tardy raven
#

again I tried to organize the files in a way that I really didn't know how to do

drowsy heath
#

just like everything else is it not right ?

normal crest
hidden sable
drowsy heath
#

oh

#

poo

hidden sable
#

also change "item" to veto

#

*cryo

#

and remove the text table

drowsy heath
#

ill sort my issue vnow then

lament agate
#

i realized something

hidden sable
#

also it looks like your miscellaneous is unaligned

lament agate
#

they have no booster packs

hidden sable
#

remove what you added

hidden sable
#

and delete the last }

#

and paste that there

#

and then format

drowsy heath
#

okay

hidden sable
#

and replace item with cryo

tardy raven
#

i think what I might do is try porting the Lua file information over to the main file and load the joker through that instead

#

i can figure out organization later

drowsy heath
#

formated

hidden sable
#

why is gup the ror2 tag lol

hidden sable
#

see if it shows in collection consumable types

normal crest
drowsy heath
tired kestrel
#

why I'm getting this?

tardy raven
#

probably yeah

hidden sable
#

it shouldn't read ERROR

drowsy heath
#

oh as cryos yeah it did

hidden sable
#

nice!!!

hidden sable
#

now to add locale for a cry card

#

it's like what you did with jokers but

drowsy heath
#

whats the thing to do that

hallow slate
#

How would I get the localized name of a rank?

drowsy heath
#

just consumable

tardy raven
#

i wouldnt know how to organize it directly in this case

hidden sable
#

find at the top where it says Joker = {

tired kestrel
normal crest
hallow slate
#

I mean in loc_vars

normal crest
#

but not much to go off from that crash alone

hallow slate
#

Like if I'm returning and using localize() what do I put in localize

hidden sable
#

after all of your joker locales go even along that line and make a new one called cryo = {

#

then follow what you did under Joker = {

tired kestrel
normal crest
drowsy heath
#

instead of j for joker what is the letter used

#

is it c

hidden sable
#

yeah

#

good guess

normal crest
hidden sable
#

just chewed down on my teeth and it made the sound when you select a card in balatro

drowsy heath
#

that is painful

normal crest
fierce frost
#

how can i make a return message be just a variable?

tired kestrel
tardy raven
drowsy heath
#

so the text doesnt work ratmilk

normal crest
hidden sable
hybrid shadow
#

really stupid question but is it possible to have a joker check if its been won with before (and also have something else check if a certain joker has been won with before)

hallow slate
drowsy heath
hybrid shadow
hidden sable
drowsy heath
#

yeah

hidden sable
#

where you defined it

#

alr uhhh

drowsy heath
#

you told me it had to be lowercase

normal crest
hidden sable
drowsy heath
#

gunna resave that file then reload just incase

#

no yeah i had saved it

hidden sable
#

screenshot how you define your consumable type

normal crest
drowsy heath
normal crest
hidden sable
drowsy heath
#

oh shiii i do

hidden sable
#

remove that and also your loc key in your locale is wrong it says b_item, that's my key change it to cryo

hybrid shadow
drowsy heath
#

YOU TOLD ME TO PASTE IT EXACTLY AS IS 😡

normal crest
#

I think what you want is if #G.PROFILES[G.SETTINGS.profile].joker_usage.j_prefix_key.wins > 0

#

but who knows how thunk decided to format it

hidden sable
#

just change anywhere down there it says "item" to "cryo"

#

only need to edit 2 places

drowsy heath
#

so all that sorts the issue with cryo as the type but the consumable itself doesnt have a description

#

and it should

hidden sable
#

you have a correct key right?

#

screenshot the consumable itself

#

it's code

drowsy heath
#

okay its very empty but sure

hidden sable
#

@normal crest c_ is the key for consumables

drowsy heath
hidden sable
#

right?

#

your key is wrong

drowsy heath
#

is it

#

oh fgs

hidden sable
#

it is Cryo1 should be cryo1

#

simple mistake lol

drowsy heath
#

ts makes me suicidal i stg😭

#

but it worked

#

now i just need to make seal hunter hunt for seals

#

and idk how to do that

#

gunna study lua all tomorrow to do that but rn i can work on jokers since i have 7 of them and i need more than that

#

i need to make alot more

#

then again i still need to be nice to my artist

hidden sable
hidden sable
drowsy heath
#

i wont its engraved in my skull by now

hidden sable
#

there's this free sheet packer tool i know online

drowsy heath
hidden sable
hidden sable
drowsy heath
#

yeah fair what other settings to i want to use

hidden sable
normal crest
hidden sable
tired kestrel
#

That's what I was trying to do

drowsy heath
#

anyone want to give me a joker idea

#

im lost on what to do for this one

#

literally anything im not being specific to an idea and idrc abt the name either they are all over the place already

modern kindle
#

winter my goat

chrome widget
#

Yeah shrug my mod just uses an individual atlas for each item

#

I just find it easier to manage most of the time

drowsy heath
#

well erm

#

what does this mean

#

wait ik what it is

#

nvm then

#

the shop was gunna have an unfinished consumable

#

i just put it in to test that the localisation worked

#

may i present the most fun card i could think of or cards, the un-ancient jokers

tired kestrel
royal ridge
#

like we could say x or y to try and make this not break the entire game but what's actually supposed to be happening

fluid burrow
#

Does anyone know where I can find documentation for planet cards?

drowsy heath
#

i have a problem and idk why its happening

#

like i am so clueless

#

so the un-ancient jokers arnt working properly

#

the diamond one works fine

#

but for some reason the rest arnt though its the same code just different suits specified

#

so why arnt they working

#

if you want the code i can send it

#

also i should note it does tell me how much mult it grants on the card but isnt giving it

fluid burrow
#

or basically how poker hands work

runic pecan
drowsy heath
#

ive done that

#

{X:mult,C:white}X#1# {}mult is the line used

molten musk
#

is it possible to remove seals from cards

runic pecan
#

Then why did they look like that in your pics? Did you added it afterwards?

drowsy heath
#

idk all of my jokers do that i didnt question it

#

thought it would just be fine to leave it as somet my jokers do

#

do you know how i can fix the problem with the jokers anyway, the code for them all is the same other than the different suits have been defined on them all yet only the diamond one works

#

yet it still shows the mult value in game

#

so i am confuzzled

runic pecan
runic pecan
drowsy heath
#

oh okok so you dk abt the other thing then

runic pecan
#

wait what

#

Is there another smods update stuff I missed, again?

drowsy heath
#

what

tired kestrel
#

but yeah.

runic pecan
royal ridge
drowsy heath
#

no u answered about the problem in spacing when i also had another question of why the jokers were not triggering their action even tho it showed they granted 1.5x in game

#

the same code is used for all 4 jokers other than the suit and yet only 1 works

runic pecan
#

Show us the codes, then. Let's see how much we can help you.

drowsy heath
#

when i say like all the same its 1 word thats changed rlly on all of them other than the key and position

molten musk
#

like i want the joker to remove triggered seals

#

in hand, discarded or played, as long as the seal is triggered it has a chance to remove it

runic pecan
runic pecan
# drowsy heath

First of all, you might wanna fix the loc_vars in the club one's code.

drowsy heath
#

oh yeah that one i was tinkering with

#

to find a fix

#

ignore that

#

back to normal now

runic pecan
# drowsy heath

Secondly, you forgot to capitalize the initials of Spades, Hearts, and Clubs in your config.extra.
Yes, they are case-sensitive.

drowsy heath
#

in my defence ive been working on this for like 7 hours str8 setting up everything and all that lot these themselves took like 5 minutes coz its the same

#

that still didnt fix it

runic pecan
placid star
#

would there be a way to detect when someone clicks on a card from the deck view?

drowsy heath
#

that has never stopped me before

#

dk why it mattered on this one

#

but yes it works

snow vale
#

is there any way of making a card rainbow (changing colors)?

drowsy heath
#

like polychrome

snow vale
#

constantly changing colors

#

not like polychrome

sage crater
runic pecan
snow vale
#

that's the point

runic pecan
sage crater
#

neat

snow vale
#

i dont wanna make it animated :(

sage crater
drowsy heath
#

damn

sage crater
#

either you learn animation, or you learn shaders

#

one or the other lol

snow vale
#

can i choose neither

placid star
#

DO NOT LEARN SHADERS THAT SHIT IS PAINFUL

snow vale
#

ik

#

actually, imma make an animation

#

try

runic pecan
placid star
snow vale
#

but imma try animate it

#

it cant be that hard

sage crater
molten musk
drowsy heath
#

wouldnt you be able to just make a joker that mimics the seal when triggered

runic pecan
placid star
#

I'll take a look ty

drowsy heath
runic pecan
drowsy heath
#

well js say its not compatible with other mods and have a nice day

#

dependencies [ NO, NO MORE MODS GO AWAY WE DONT LIKE YOU]

molten musk
runic pecan
#

But red seal's effect is not retriggerable, iirc.
(Even though just the retrigger itself is equivalent to retrigger the red seal)

hexed stump
#

Wonder if it’d be possible to check the seals of cards in context individual and then grab their effects with the joker, that’s how I’d do it I think

#

Spent all day attempting to get new buttons working on a joker and I finally understand the UIBox to G.FUNCS to Card: to card function flow even if it’s a pain in the ass

tired kestrel
#

how is it unspesific?

#

The thing is

#

has anyone havem ade a code where it tricks the game with a hand_type?

#

a different hand type?

runic pecan
hexed stump
tired kestrel
hexed stump
#

Hand evaluate is kinda scary

runic pecan
hexed stump
#

Imo

tired kestrel
#

then what is the real way to do it

#

for a joker to convert a three of a kind to a four of a kind where the joker counts as a playing card?

runic pecan
runic pecan
# tired kestrel then what is the real way to do it
function evaluate_poker_hand(hand)
    local results = hook_evaluate_poker_hand(hand)
    local has_that_one_joker = next(find_joker([mod prefix]_[the key of that joker]))
    local is_3oak = next(results["Three of a Kind"])
    local is_4oak = next(results["Four of a Kind"])
    if has_that_one_joker and is_3oak and not is_4oak then
        results["Four of a Kind"] = results["Three of a Kind"]
    end
    return results
end```
runic pecan
snow vale
#

can i make an animated atlas with soul pos (apart from the animated atlas)?

tired kestrel
runic pecan
#

As in, [[patches]] [patches.pattern] target = "functions/state_events.lua" pattern = '''elseif next(poker_hands["Four of a Kind"]) then text = "Four of a Kind"; scoring_hand = poker_hands["Four of a Kind"][1]''' position = "at" match_indent = true payload = '''elseif next(poker_hands["Four of a Kind"]) or next(find_joker([mod prefix]_[the key of that joker])) and next(results["Three of a Kind"]) then text = "Four of a Kind"; scoring_hand = poker_hands["Four of a Kind"][1]'''

#

Something like that

royal ridge
runic pecan
#

Yeah, I agree.

royal ridge
runic pecan
runic pecan
royal ridge
#

well not if a higher hand is possible

#

but 3oak is saved to results.top

#

actually

#

nvm

#

it doesn't matter either way

#

that should work

snow vale
#

what happened?

royal ridge
#

check traceback

snow vale
#

k wait

tired kestrel
snow vale
royal ridge
#

ok traceback is incredibly unhelpful nvm

#

what was the last thing you changed

runic pecan
snow vale
royal ridge
#

also results = hook_evaluate_poker_hand(hand) should be local results = hook_evaluate_poker_hand(hand)

snow vale
#

this was the animated atlas i added

tired kestrel
#

but yeah

#

the heck? again?

royal ridge
#

what does the code look like?

#

i believe this is steamodded not having the results

#

so idk

tired kestrel
#

I fortunately thought of like adding these just in case but of course no idea if it would work.

#

let me try without any extras and check again

royal ridge
#

add return results

tired kestrel
#

pg now ti still does it-

tired kestrel
snow vale
tired kestrel
#

it worked.

royal ridge
#

i think

snow vale
royal ridge
#

i mean like

#

not in the definition

snow vale
#

yeah ik

royal ridge
#

yeah

tired kestrel
#

huh. that's strange.

#

wait let me try using print and see

hasty mist
#

how do you apply chip/mult effects before scoring

snow vale
royal ridge
#

oh you're trying to animate a joker

tired kestrel
royal ridge
#

i don't think you use ANIMATION_ATLAS for that

tired kestrel
#

this is the code currently

snow vale
#

its said in the docs

royal ridge
tired kestrel
#

it worked

royal ridge
#

huh

tired kestrel
#

now the only thing left I think maybe needed to do is that the joker also do a trigger

#

not sure what would the chips for a single joker would be uppon triggering

hearty crane
royal ridge
tired kestrel
#

cause it's supposed to be atleast a reference to this:

royal ridge
#

smods docs don't seem to specifically disallow that but every implementation of animated jokers i've seen does not do that

tired kestrel
tall wharf
#

what does modding dev chat think

royal ridge
#

hrrmmm

hasty mist
#

how do you perform operations directly on mult

tall wharf
#

:3

hasty mist
#

like, without using smods' return Xmult functions

hasty mist
tired kestrel
#

what is actually the royal flush handtype?

#

just wondering

tall wharf
maiden phoenix
#

Has someone here ever added another desc box in a Joker's description during a run? (Not during initialization)

tall wharf
#

it's quite literally straight flush if all cards are above 10

tawdry oriole
#

is there a way to modify an already existing rank (i.e. jack) to modify its rank and all that?

tall wharf
tawdry oriole
# tall wharf ?

okay so basically i added a rank in-between 10 and jack but it still plays straights with jack and 10 as if the rank i created didn't matter, is there a way to change that?

tall wharf
#

you'll have to take ownership

tawdry oriole
#

how would i do that though?

hasty mist
#

plans

tall wharf
#

SMODS.Rank:take_ownership

tall wharf
hasty mist
#

trading system

#

its 3am aiko my brain is barely functioning

tired kestrel
tall wharf
#

i want to actually implement it

#

so i needed a way to standardize everything i need

tawdry oriole
tired kestrel
#

if a joker scores as a playing card how much do you think would it be?

#

12 chips?

hasty mist
#

making some bullshit for fun

gilded blaze
#

!Mult

stiff glade
#

New here, joined specifically to check out the modding scene cause im starting out with 0 experience when it comes to code. So far, I have a .lua file. and a .json file with the expected(?) id stuffs and things, yet when I try to launch the game and see if my file shows up, it just doesnt. Any help/advice?

tired kestrel
#

thought of tryting to see if I can have the joker have 12 chips but I get this error

#

wait

#

turns out I need to make a new run

#

now look at it now. it's working now.

#

Wait I just realized.

misty gorge
#

Apparently this code still takes effect even when playing on a different deck and doesn't stop until I restart the game, how would I make it so that it resets the chance of cards getting negative upon exiting the deck (or entering the main menu, whichever way is more possible)

snow vale
#

how can i crash the game giving a custom message?