#💻・modding-dev

1 messages · Page 38 of 1

wintry solar
#

you do not copy the word skeleton

#

just the frame and fill it in

solid salmon
#

ok

wintry solar
#

I don't know how you've ended up with square brackets either

solid salmon
#

man

wintry solar
#

for reference

#

as this latest attempt has taken many backwards steps

solid salmon
#

almost done

fallen tendon
#

I wonder if the foil shader has a color config

#

If so you could totally copy the shader and change it to be a silver color

solid salmon
#

Copy the shade but more silver

#

wait

wintry solar
#

how are you still missing your commas

solid salmon
#

It's missing because squiggly lines

wintry solar
#

no

#

the squiggly lines are because they are missing

solid salmon
#

i'll add them

#

Commas added

#

and the loc vars

wintry solar
#

Your loc vars has a typo but you also aren’t using them anyway

solid salmon
#

they're the same?

#

how do i make the silver_foil shader?

wintry solar
#

You learn to make a shader

#

Have fun

solid salmon
#

where do i make it?

wintry solar
#

Look at base game shaders

solid salmon
#

ok

wintry solar
#

And then cry

solid salmon
#

nah

#

imma just make sure that it works first

#

(definietly will not ask betmma for help)

atomic falcon
#

any chance you guys know how to get all ability names of tarot cards in a currently opened pack?

#

feel like its smth to do w G.pack_cards.cards but im rarted

solid salmon
wintry solar
#

gonna need more than just a crash log my dude

atomic falcon
#

💯

wintry solar
atomic falcon
#

alright thanks man

#

any idea how they are stored - like a table or smth

#

perchance a for i,j in ipairs(G.pack_cards.cards) type thing

wintry solar
#

yeah looks good

atomic falcon
#

sick

#

thought itd be easy

#

shits got tables in tables

royal ether
#

theyre card objects

#

'objects' (the closest we have to objects in lua)

atomic falcon
#

lmfao

#

i got no clue w lua

#

so can i call methods on them

#

like uhhhh

#

G.pack_cards.cards[1].ability.name for example

#

cuz that shit aint workey

royal ether
#

yep

#

thats exactly what u do

#

wait it doesnt work?

atomic falcon
#

lemme try again lmao

#

maybe im guitarded?

royal ether
#

uhh can you send the code segment

atomic falcon
#

cuz G.pack_cards.cards.1.ability.name would be bs

#

no checks rn so calling manually on an opened pack cuz debugging

royal ether
#

oh

#

its for i, _ in pairs(G.pack_cards.cards) do

#

tables by themselves arent iterable, gotta use pairs on it to make it iterable

atomic falcon
#

god damnnnnn

#

fuckin love you bro

royal ether
#

np

atomic falcon
#

not even lua moment that acc makes sense

royal ether
#

also you can cut down on a little bit of text by doing

for _, card in pairs(G.pack_cards.card) do
  sendTraceMessage(card.ability.name)
end```
#

but as is works perfectly fine too

atomic falcon
#

my script is done for my degenerate 200 hour in 2week friend

#

nah bro the "mr carter" log is for functionality

royal ether
#

oh im talking about using the index vs using the value

atomic falcon
#

LOL

#

yeah youre right

#

thank you i rlly appreciate it

royal ether
#

npnp

wintry solar
solid salmon
#

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH

solid salmon
#

still crashed

wintry solar
#

how are you calling this file

solid salmon
#

you mean what?

wintry solar
#

like this isn't in your other file

#

where is this code

solid salmon
#

Stupidity Enhancments

wintry solar
#

oh wait

#

you are using a near month old build of 1.0

#

you probably have a version before editions were merged

wintry solar
#

update steamodded

solid salmon
#

so i have to redownload it

wintry solar
#

yes

solid salmon
#

at github

#

it wonks

wintry solar
#

of course it works

#

you followed the structure correctly

solid salmon
#

there is no line 98

wintry solar
#

what have you changed

solid salmon
#

nothing

#

well the instructions

#

i think i need a proper shader

wintry solar
#

hmmm this may be a bug

solid salmon
#

i literally put "foil" as my shader

#

speaking of mods

#

my stupidity jokers won't should up with the edition

wintry solar
#

have you made two mods with the same prefix?

solid salmon
#

no

#

unless if stup_ counts

#

one is stup_jokers and the other is stup_enhancements

wintry solar
#

drop your files in here

solid salmon
crisp coral
#

of course it crashes

#

because it's looking for stup_foil

#

not foil

solid salmon
#

i have to make a shade of stup_foil

wintry solar
#

no

#

this is a problem with how shaders are selected

solid salmon
#

how so

wintry solar
#

a bug in the api

#

I mean you ultimately need to create a shader anyway

#

just have to wait for it to be pulled in to the main dev branch now

solid salmon
#

so wait for bug fix

wintry solar
#

I mean you need to develop your own shader anyway

#

the bug just stops base game shaders being used on custom editions

#

you can still use custom shaders

solid salmon
#

oh

#

ok

#

where do i make the shaders

wintry solar
#

in your code editor

solid salmon
#

...

#

I have to code a shade

wintry solar
#

yes

solid salmon
#

and if i want to put the color

#

i gotta get it's id and code it in

wintry solar
#

for someone who is only just learning programming, I would probably avoid confusing yourself by trying to learn an alternative language right now

solid salmon
#

ok

wintry solar
#

shader code isn't the most intuitive

fallen tendon
#

Just copy the foil shader in the game files

versed violet
#

oh wait, did the edition api get pulled to the main branch?

fallen tendon
#

Yes

solid salmon
versed violet
#

foil.fs

wintry solar
#

resources/shaders/foil.fs

solid salmon
#

ok

wintry solar
#

you'll need to throw it in assets/shaders in your mod folder

#

then put SMODS.Shader({key = "foil", path = "foil.fs"})

versed violet
wintry solar
#

that'll stop your crash at least

solid salmon
#

fun

wintry solar
#

calculation stuff is still a wip @versed violet , but the functionality for editions is all sorted

versed violet
#

time to port all of my edition work to the latest edition

#

gotcha! I coded in some custom calculation stuff and I couldnt get the ui working properly with it so I understand the struggle haha

#

time to port my work to the latest version

wintry solar
#

if you hit any stumbling blocks, drop me a DM and I'm happy to help

#

I'll probably be heading to bed in the next 20 minutes but I can answer when I wake up tomorrow

fallen tendon
wintry solar
#

got to get some more people with beautiful pages like this

versed violet
#

thanks, I appreciate it!!

#

I've got 5 shaders so once I finish getting everything setup I'll have a full page

solid salmon
fallen tendon
#

Oh

#

Just change them all to have the r g and b value

wintry solar
#

honestly, trying to learn shader code now will just confuse you

fallen tendon
#

I think?

wintry solar
#

it is all over the place and very maths based

solid salmon
#

i'll just copy it for now

versed violet
#

shader code is 99% math

wintry solar
#

it also follows completely different syntax rules to lua which you're already struggling with

atomic falcon
#

any chance anyones worked around a sleep/delay - ive automated opening a pack, and getting the info from it, but need some sort of delay in the middle to avoid nil error type shit

#

😭

versed violet
#

if you wanna start learning how to code shaders theres a few good resources out there like the book of shaders

#

the balatro shader code is slightly different but its easy to spot the difference

solid salmon
#

I am not in the mood rn

crisp coral
#

@sly forge heya, about this change you made to challenge unlocks

fallen tendon
#

This dude struggles to write basic lua syntax if he writes shader code his brain is going to dissolve and leak out of his ears

crisp coral
#

would you be able to add something that bypasses all_unlocked?

#

i specifically want my challenges to be unlocked via different methods regardless of all_unlocked so this is a bit of a bummer

solid salmon
#

it's case sensitive isn't it

wintry solar
#

yes

solid salmon
#

and now this

#

Oops! The game crashed:
main.lua:449: attempt to get length of local 'str' (a nil value)

Additional Context:
Balatro Version: 1.0.1f-FULL
Modded Version: 1.0.0-ALPHA-0626a-STEAMODDED
Love2D Version: 11.5.0

Stack Traceback

(3) Lua upvalue 'towidestring' at file 'main.lua:449'
Local variables:
str = nil
(*temporary) = number: 65001
(*temporary) = number: 0
(*temporary) = nil
(*temporary) = nil
(*temporary) = string: "Loader"
(*temporary) = string: " :: "
(*temporary) = string: "Error loading lovely library!"
(*temporary) = number: 1.43722e+09
(*temporary) = string: "attempt to get length of local 'str' (a nil value)"
(4) Lua upvalue 'chdir' at file 'main.lua:466'
Local variables:
path = nil
(5) Lua field 'setWorkingDirectory' at file 'main.lua:316'
Local variables:
path = nil
(6) main chunk of file 'main.lua' at line 6981
(7) global C function 'require'
(8) Love2D function at file 'boot.lua:323' (best guess)
Local variables:
c = table: 0x1b3ea1c8 {identity:false, version:11.5, accelerometerjoystick:true, modules:table: 0x1b3ea218 (more...)}
openedconsole = boolean: false
confok = boolean: true
conferr = nil
(9) global C function 'xpcall'
(10) Love2D function at file 'boot.lua:362' (best guess)
Local variables:
result = boolean: true
(11) global C function 'xpcall'
(12) Love2D function at file 'boot.lua:377' (best guess)
Local variables:
func = Lua function '(Love2D Function)' (defined at line 355 of chunk [love "boot.lua"])
inerror = boolean: true
deferErrhand = Lua function '(Love2D Function)' (defined at line 348 of chunk [love "boot.lua"])
earlyinit = Lua function '(Love2D Function)' (defined at line 355 of chunk [love "boot.lua"])

wintry solar
#

show code

solid salmon
wintry solar
#

you need to put the SMODS.Shader outside of your edition

#

you can't create an object inside another object

fallen tendon
#

Wth

#

Lol

crisp coral
wintry solar
#

also please name your shader just foil

solid salmon
wintry solar
#

I don't think it matters

solid salmon
#

wait im stupid

#

Oops! The game crashed:
main.lua:449: attempt to get length of local 'str' (a nil value)

Additional Context:
Balatro Version: 1.0.1f-FULL
Modded Version: 1.0.0-ALPHA-0626a-STEAMODDED
Love2D Version: 11.5.0

Stack Traceback

(3) Lua upvalue 'towidestring' at file 'main.lua:449'
Local variables:
str = nil
(*temporary) = number: 65001
(*temporary) = number: 0
(*temporary) = nil
(*temporary) = nil
(*temporary) = string: "Loader"
(*temporary) = string: " :: "
(*temporary) = string: "Error loading lovely library!"
(*temporary) = number: 1.43722e+09
(*temporary) = string: "attempt to get length of local 'str' (a nil value)"
(4) Lua upvalue 'chdir' at file 'main.lua:466'
Local variables:
path = nil
(5) Lua field 'setWorkingDirectory' at file 'main.lua:316'
Local variables:
path = nil
(6) main chunk of file 'main.lua' at line 6981
(7) global C function 'require'
(8) Love2D function at file 'boot.lua:323' (best guess)
Local variables:
c = table: 0x1215cb08 {identity:false, version:11.5, accelerometerjoystick:true, modules:table: 0x1215cb58 (more...)}
openedconsole = boolean: false
confok = boolean: true
conferr = nil
(9) global C function 'xpcall'
(10) Love2D function at file 'boot.lua:362' (best guess)
Local variables:
result = boolean: true
(11) global C function 'xpcall'
(12) Love2D function at file 'boot.lua:377' (best guess)
Local variables:
func = Lua function '(Love2D Function)' (defined at line 355 of chunk [love "boot.lua"])
inerror = boolean: true
deferErrhand = Lua function '(Love2D Function)' (defined at line 348 of chunk [love "boot.lua"])
earlyinit = Lua function '(Love2D Function)' (defined at line 355 of chunk [love "boot.lua"])

#

I put the shader OUTSIDE

surreal marsh
wintry solar
#

that's a lot of played cards

solid salmon
#

OH BETMMA

wintry solar
solid salmon
crisp coral
wintry solar
#

SMODS.Shader

fallen tendon
wintry solar
#

you also need your shader = foil, in your edition

surreal marsh
#

also why this is flush house

crisp coral
solid salmon
#

Oops! The game crashed:
main.lua:449: attempt to get length of local 'str' (a nil value)

Additional Context:
Balatro Version: 1.0.1f-FULL
Modded Version: 1.0.0-ALPHA-0626a-STEAMODDED
Love2D Version: 11.5.0

Stack Traceback

(3) Lua upvalue 'towidestring' at file 'main.lua:449'
Local variables:
str = nil
(*temporary) = number: 65001
(*temporary) = number: 0
(*temporary) = nil
(*temporary) = nil
(*temporary) = string: "Loader"
(*temporary) = string: " :: "
(*temporary) = string: "Error loading lovely library!"
(*temporary) = number: 1.43722e+09
(*temporary) = string: "attempt to get length of local 'str' (a nil value)"
(4) Lua upvalue 'chdir' at file 'main.lua:466'
Local variables:
path = nil
(5) Lua field 'setWorkingDirectory' at file 'main.lua:316'
Local variables:
path = nil
(6) main chunk of file 'main.lua' at line 6981
(7) global C function 'require'
(8) Love2D function at file 'boot.lua:323' (best guess)
Local variables:
c = table: 0x1215cb08 {identity:false, version:11.5, accelerometerjoystick:true, modules:table: 0x1215cb58 (more...)}
openedconsole = boolean: false
confok = boolean: true
conferr = nil
(9) global C function 'xpcall'
(10) Love2D function at file 'boot.lua:362' (best guess)
Local variables:
result = boolean: true
(11) global C function 'xpcall'
(12) Love2D function at file 'boot.lua:377' (best guess)
Local variables:
func = Lua function '(Love2D Function)' (defined at line 355 of chunk [love "boot.lua"])
inerror = boolean: true
deferErrhand = Lua function '(Love2D Function)' (defined at line 348 of chunk [love "boot.lua"])
earlyinit = Lua function '(Love2D Function)' (defined at line 355 of chunk [love "boot.lua"])

#

i need ''

crisp coral
wintry solar
surreal marsh
crisp coral
#

and there is a 3oak and a pair so it counts as Flush House

solid salmon
wintry solar
#

I wonder why it chooses those cards though

crisp coral
#

pair of 7 is higher than pair of 4

#

and a flush is present in the hand

#

so, Flush House

wintry solar
surreal marsh
#

should there be automatic hand type of >5 oak

solid salmon
#

I hate case sensitive

crisp coral
#

run some code to automate adding 52 smods hand type objects

wintry solar
#

I suppose 5oak should just accept more than 5 being the same

crisp coral
#

too bad, thunk moment

#

actually i don't get why that isn't a Flush Five either

surreal marsh
# crisp coral i'd assume the highlighted cards were not updated when triggering all the cards ...

so how to fix 🤔 this is my code ```local G_FUNCS_play_cards_from_highlighted_ref=G.FUNCS.play_cards_from_highlighted
G.FUNCS.play_cards_from_highlighted = function(e)
local flag=false
if used_voucher('forbidden_area') then
G.hand.config.highlighted_limit=999
mark_highlighted_cards()
for i=1,#G.jokers.cards do
local self=G.jokers.cards[i]
if self.ability.consumeable and not self.debuff then
flag=true
after_event(function()
local keep_on_use=self.config.center.keep_on_use
if not self.config.center.keep_on_use then
self.config.center.keep_on_use=function(center,card)return true end -- SMOD supports keep on use by setting this function
end
G.FUNCS.use_card({config={ref_table=self}})
self.config.center.keep_on_use=keep_on_use

                    after_event(function()
                        restore_highlighted_cards()
                        for i=1,#G.hand.cards do
                            if G.hand.cards[i].betmma_highlight_marked then
                                print(i,"index")
                            end
                        end
                        print(#G.hand.highlighted)
                    end)
                end)
            end
        end
    end
    if flag then
        after_event(function()    
            after_event(function()   -- why??
                print('end')
                G_FUNCS_play_cards_from_highlighted_ref(e)
                unmark_highlighted_cards()
                G.hand.config.highlighted_limit=5
            end)
        end)
    else
        G_FUNCS_play_cards_from_highlighted_ref(e)
    end
end```
solid salmon
#

I need some rest

crisp coral
#

oh

#

it requires specifically num amount of cards

#

so yeah 5oak needs 5 cards

surreal marsh
#
        for i=1,#G.hand.highlighted do
            G.hand.highlighted[i].betmma_highlight_marked=true
        end
    end

    function restore_highlighted_cards()
        for i=1,#G.hand.cards do
            if G.hand.cards[i].betmma_highlight_marked then
                G.hand:add_to_highlighted(G.hand.cards[i])
            end
        end
    end

    function unmark_highlighted_cards()
        for i=1,#G.hand.cards do
            G.hand.cards[i].betmma_highlight_marked=false
        end
    end```
solid salmon
#

GN

surreal marsh
#

gn

wintry solar
#

I mean I suppose it works because the game is coded around playing 5 cards

#

it's weird how it identifies that as a flush house though, the 3oak and pair aren't suited, but I guess because a flush exists in the hand it thinks they are?

#

wait no

#

how on earth does it get past this

fallen tendon
surreal marsh
#

i remember that consumables in cryptid random deck can say "choose 9 cards" but you can only choose 5

surreal marsh
#

$0 makes sense balatrojoker

surreal marsh
#

only a little bit strange

edgy reef
#

Why in the world does hieroglyph spawn?

surreal marsh
royal ether
#

maybe you can hook calculate_joker when context.open_booster == true

#

since that happens completely after pack cards is populated

surreal marsh
royal ether
#

whats it doin up there

surreal marsh
#

messed up 😭

#

also it drew the deck back card (displays how many cards left for each rank and suit when hovering) into hand

royal ether
#

does anyone know what delta time is measured in

#

is it milliseconds

#

oh wtf its whole seconds i think

crisp coral
#

milliseconds

#

wait

#

yeah seconds

#

:p

languid quiver
#

how do i make a texture pack?

#

i simply want to replace the aces with lqhsmile

vivid eagle
mellow sable
#

oversaturated jimball

austere schooner
#

hes super ballin

vivid eagle
#

i prefer the first one

languid quiver
#

how do i make a joker that adds mult when an ace is scored?

rough furnace
vivid eagle
languid quiver
#

oh true

#

hmmm

rough furnace
#

if anyone is intrested I published the console I have so far for debugplus

#

I'm probably going to change stuff more

zealous glen
# surreal marsh messed up 😭

I did something similar before. I think that text tracks the position of the topmost card, so if you move it the text moves too

#

Even if that card is destroyed

zealous glen
royal ether
#

also, lookin nice

#

i'll check it out frfr once i release the first part of super auto balatro, probably

#

(the only thing i really wish for is running lua code 🙏 )

#

chat how come coordinates and width/height use different distances

#

x=1 =/= width=1

#

im going to cry

zealous glen
royal ether
#

no, resizing the window doesnt affect either value

solid salmon
royal ridge
# solid salmon

make sure your foil.fs is correctly placed in yourmod/assets/shaders/foil.fs

#

at least, that's where the path arg in SMODS.Shader searches...

solid salmon
#

i am back from voucher making

bitter sand
#

hi, i need some help with a blind

so basically the effect will be that it creates a debuffed card if there's none (this part is already done) and then every turn it will spread the debuff to the adjacent cards (the part i need help for)

#

and for the spread part i need to find a function that happens after the card are drawn (every turn)

bleak rain
bitter sand
#

i already use it for other blinds so i'll just have to add it with everything else ?

solid salmon
bitter sand
wintry solar
solid salmon
#

ok

#

Oops! The game crashed:
main.lua:449: attempt to get length of local 'str' (a nil value)

Additional Context:
Balatro Version: 1.0.1f-FULL
Modded Version: 1.0.0-ALPHA-0626a-STEAMODDED
Love2D Version: 11.5.0

Stack Traceback

(3) Lua upvalue 'towidestring' at file 'main.lua:449'
Local variables:
str = nil
(*temporary) = number: 65001
(*temporary) = number: 0
(*temporary) = nil
(*temporary) = nil
(*temporary) = string: "Loader"
(*temporary) = string: " :: "
(*temporary) = string: "Error loading lovely library!"
(*temporary) = number: 1.43722e+09
(*temporary) = string: "attempt to get length of local 'str' (a nil value)"
(4) Lua upvalue 'chdir' at file 'main.lua:466'
Local variables:
path = nil
(5) Lua field 'setWorkingDirectory' at file 'main.lua:316'
Local variables:
path = nil
(6) main chunk of file 'main.lua' at line 6981
(7) global C function 'require'
(8) Love2D function at file 'boot.lua:323' (best guess)
Local variables:
c = table: 0x2676cb08 {identity:false, version:11.5, accelerometerjoystick:true, modules:table: 0x2676cb58 (more...)}
openedconsole = boolean: false
confok = boolean: true
conferr = nil
(9) global C function 'xpcall'
(10) Love2D function at file 'boot.lua:362' (best guess)
Local variables:
result = boolean: true
(11) global C function 'xpcall'
(12) Love2D function at file 'boot.lua:377' (best guess)
Local variables:
func = Lua function '(Love2D Function)' (defined at line 355 of chunk [love "boot.lua"])
inerror = boolean: true
deferErrhand = Lua function '(Love2D Function)' (defined at line 348 of chunk [love "boot.lua"])
earlyinit = Lua function '(Love2D Function)' (defined at line 355 of chunk [love "boot.lua"])

wintry solar
#

oh

#

your shader key is wrong in your edition

surreal marsh
solid salmon
#

the shading but not tentacles

solid salmon
surreal marsh
solid salmon
wintry solar
#

you must be doing something else wrong somewhere

solid salmon
#

i think it's the bug

wintry solar
#

can you screenshot the mod folder?

solid salmon
wintry solar
#

inside assets

solid salmon
fast badge
#

..

wintry solar
#

it needs to be in a shaders folder...

fast badge
#

you need a shaders folder

solid salmon
#

it is

fast badge
#

???

solid salmon
fast badge
#

aha

crisp coral
#

i know why

#

that file is fucking foil.fs.lua

#

LMAO

solid salmon
#

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH

fast badge
#

lmfao

#

L b ozo

crisp coral
#

turn on file extensions

#

pls

wintry solar
solid salmon
#

still doesnt work

fast badge
#

fym still doesnt work

#

tell us what you changed first

solid salmon
#

i changed foil.fs to foil.fs.lua

fast badge
#

bro 😭

solid salmon
#

not the file

crisp coral
#

translation: i changed foil.fs.lua to foil.fs.lua.lua

crisp coral
fast badge
#

translation:

solid salmon
fast badge
#

("how")

solid salmon
solid salmon
fast badge
#

i destroyed yours

solid salmon
#

i don't have any

fast badge
#

exactly

#

because i sliced it

solid salmon
#

as in a never did

#

you destroyed yours

fast badge
#

nuh uh

#

go turn on file extensions buddy

solid salmon
#

i stole it and you sliced it

solid salmon
fast badge
#

now remove the .lua

wintry solar
#

no you didnt

fast badge
#

it has to be a .fs file

wintry solar
#

you just typed them in the file name

solid salmon
fast badge
#

it has to be a foil.fs with file type fs not lua

crisp coral
#

💀 💀 💀

fast badge
#

skull indeed

solid salmon
#

ok i remove fs

crisp coral
#

REMOVE LUA

#

NOT FS

#

😭

fast badge
#

im losing my marbles 😭 😭 😭

solid salmon
#

I'm losing mine

crisp coral
#

actually taking 100 white damage every tick rn

wintry solar
#

at least the mod is appropriately named

crisp coral
fast badge
night pagoda
#

Wtf is happening with dev chat today 💀

solid salmon
crisp coral
#

can you three not ping me 😭

night pagoda
#

Waltuh, put your .lua extension away Waltuh

fast badge
solid salmon
#

I'm dying

fast badge
fast badge
solid salmon
#

Ok

#

I did it

hallow forge
solid salmon
#

happy now

sonic mortar
#

got there in the end

fast badge
#

success

solid salmon
#

god

fast badge
#

yippeee

#

now run it

crisp coral
solid salmon
#

I lost more braincells here then at work

crisp coral
#

you have work??

fast badge
#

^ this conversation summarized

solid salmon
#

hobby work

#

modding

fast badge
#

that is NOT called work 😭

sonic mortar
solid salmon
#

im still working

crisp coral
#

holy shit

#

im done

solid salmon
#

stop

#

im dead

sonic mortar
#

this guy is literally the definition of a balatro

fast badge
#

@solid salmon this you?

#

jk

hallow forge
sonic mortar
#

i should make a joker based on you

fast badge
#

oh god

#

next level cyberbullying

sonic mortar
#

not as a way to bully, as a way to praise

#

because this is making my day

fast badge
#

😭

solid salmon
#

Guys 😢

#

It still doesn't work

fast badge
#

🔫

hallow forge
#

i thought this was modding-dev

solid salmon
#

i stole that one from you

#

sorry

fast badge
#

im waiting for blud to post his error message

crisp coral
fast badge
#

oh god get this off my screen

crisp coral
#

don't press R to reload crash screens

#

reopen the game

solid salmon
#

Fluff

fast badge
#

might cause issues soon

solid salmon
#

i changed it

#

to foil

#

damn it

fast badge
#

try it

solid salmon
#

i did

fast badge
#

although id be scared of "foil" clashing with some other stuff

#

"i did"

#

great bud

#

congrats 👏🏻

solid salmon
#

so

#

wanna talk about mods

wintry solar
#

foil won't clash, it applies prefixes

solid salmon
#

apparently

fast badge
wintry solar
#

now that's time to debug glsl code

wintry solar
# fast badge yippey

although I've got a PR at the moment that will make this more consistent and require you to do shader = prefix_foil instead for example

#

but aure was confused about my change of atlas prefixes too

wintry solar
solid salmon
#

wait

#

it works

#

i just removed a = at line 56

wintry solar
#

oh no photos have returned

fast badge
#

buddy removes random stuff and it magically works

fast badge
wintry solar
#

what was line 56 out of interest?

fast badge
#

is the photo the shader?

solid salmon
fast badge
#

??? 😭😭

solid salmon
#

there was a = right next to it

#

and i erased it

solid salmon
#

i can see why the = is a problem

wintry solar
#

how did it even end up there lol

solid salmon
#

idk

fast badge
#

rage-enduced keyboard smashing

solid salmon
#

now for a hopefully more simple problem

#

only 1 of my mods appear in the game

wintry solar
#

they're all in the same folder that's not how mod structure works

#

it'll just load the first file

#

unless you tell it to also load the others

solid salmon
#

OH

#

so i put it in other folders

wintry solar
#

no

solid salmon
#

:{

wintry solar
#

look at how other mods do it

solid salmon
#

imma ask betmma

#

i did it based of his

wintry solar
#

just read the code

#

anyway, back to work now

solid salmon
#

bye

rough furnace
#

I was messing around in a vc last night and was like man, I wish I could eval code rn

frosty dock
fallen tendon
#

I hate how unreadable shader code is

#

Why are all the variables just single letters????

rough furnace
#

Quick does someone have the graphics ui code screenshot

#

With like a million [1]

wintry solar
#

Either way, I was having trouble trying to set a custom atlas for editions as it would auto add the mod prefix to whatever was given as the atlas

frosty dock
#

what does an edition's atlas do in the first place?

wintry solar
#

It sets the atlas for the collection display

#

I mean it’s totally unnecessary but I thought it would be nice for people to have the option

frosty dock
#

eh

#

anyways having a shader shouldn't change custom atlas behavior

wintry solar
#

Is there any other way around it shoving the prefix on? Like if you wanted to display an edition with the Tarot atlas you can’t

frosty dock
#

raw_atlas_key

wintry solar
#

Oh of course

#

Smooth brain moment over

solid salmon
#

what did i do wrong?

wintry solar
solid salmon
#

oh

#

how do i change the colors of these

wintry solar
#

Play around with the values in them

solid salmon
#

ok

#

I tinkered with the wrong thing

fallen tendon
#

PLEASE take a screen shot

#

PLEASE

solid salmon
#

i can't when playing balatro

#

oh wait

fallen tendon
#

You in fact can

solid salmon
#

i think i got it gold

fallen tendon
#

That looks gold to me

solid salmon
#

maybe a little darker

fallen tendon
#

Nah its fine

solid salmon
#

ok

#

last but not least

#

Nil

fallen tendon
#

Can i also see silver foil and bismuth polychrome?

solid salmon
#

soon

#

Theres a problem with nil

#

it doesn't have a shine compared to it's regular counterpart

fallen tendon
#

I think negative uses 2 shaders

solid salmon
#

so I have to use a comma?

fallen tendon
#

I dont know

solid salmon
#

imma try that first

#

didn't work

wintry solar
#

Negative editions have their own shine added in draw

#

Maybe I can build in having multiple shaders in one edition for that functionality

solid salmon
#

Yeah try that

wintry solar
#

It will be at the bottom of my to do list though, I want to finish my work on alt textures and collection ui first

solid salmon
#

ok

#

meet the edition upgrades

#

V1

solid salmon
sage nacelle
#

can you make masking layers with the shader?

solid salmon
#

idk

sage nacelle
#

like can you make the shader a "shape"

solid salmon
#

apparently negative has a shape

#

as in 2 shaders

languid mirage
#

Betmma sent one earlier, but foil is a shape, basically

sage nacelle
#

how did they even do that

languid mirage
#

I am very new to coding shaders, but as far as I know it's mostly math

fallen tendon
solid salmon
#

ok

#

or

fallen tendon
#

Still feels really blue

solid salmon
#

this is the minimal blue i can make

hallow forge
#

you could always reduce the alpha value tho right

solid salmon
#

...

#

it's white

wintry solar
#

Dude please use snipping tool

solid salmon
fallen tendon
#

Its getting better i think

wintry solar
#

It’s hard to tell when we can see the literal rgb colours of your monitor

solid salmon
#

it's close enough

#

now

#

how do i make my other mods work with this?

zealous glen
solid salmon
zealous glen
#

Oh someone already replied

sage nacelle
#

I'm wondering like

#

what the limits are

#

in order to brainstorm some cool new effects

solid salmon
sage nacelle
#

one of the ideas I had was like a "spooky fog" effect

#

but Iunno how that would be done because I'm WAY too stupid

fallen tendon
#

Why has everyone collectively decided now is the time to suffer with shaders?

solid salmon
#

im not suffering

sage nacelle
solid salmon
wintry solar
#

I told you this earlier today

solid salmon
#

i checked

#

with betmma

#

and nothing i tried worked

wintry solar
#

you need to make a main file and load all the others in

#

or just slam them all together

solid salmon
#

I did make a main file

wintry solar
#

this screenshot is not any different

solid salmon
#

Stupidity is the main file

languid mirage
solemn coral
#

Just gotta figure out what effect it might have...

#

Maybe something like "x3 Mult if this is the third Rhinestone card triggered this hand"?

wintry solar
solid salmon
wintry solar
#

thats a folder

solid salmon
#

what main file?

#

How do i make a main file called stupidity?

wintry solar
#

the same way you've made any other file

solid salmon
#

so make another lua file

wintry solar
#

mhmm

solid salmon
#

Ok now theres just

#

a file only named stupidity

wintry solar
#

okay

#

now put your other files in a folder

#

and then you'll need to load them into your main file

#

there's some funny way of doing it that someone else will be able to explain better than I can as I haven't done it before

solid salmon
#

Betmma

#

This is what it looked like

wintry solar
#

yeah that looks accurate

solid salmon
#

ok

wintry solar
#

phantom thieves does it like this if that doesn't work

solid salmon
#

ok

wintry solar
#

those aren't your file names

solid salmon
#

i forgot the lua

wintry solar
#

now then

#

why have you added underscores

solid salmon
#

idk

#

i change it to spaces and this

#

imma use the other method

fallen tendon
#

Change the file names to underscores

#

Or nothing at all

solid salmon
#

hmmmm

#

nope

wintry solar
#

spaces should be fine

solid salmon
#

doesn't work

#

either way

wintry solar
#

can you show your file sturcture again?

solid salmon
wintry solar
#

SMODS.current_mod_path.."Stupidities S/Stupidity_Jokers.lua"

solid salmon
#

DOESN'T WORK

maiden phoenix
#

No need for caps...

solid salmon
frosty dock
#

you're getting your .s and _s mixed

#

current_mod.path, not current_mod_path

solid salmon
#

it wonks

#

well the game doesnt crash

#

but no jokers, enhancements, tarots, and vouchers

wintry solar
#

show your code again

solid salmon
wintry solar
#

where have you copied this method from?

solid salmon
#

betmma

#

he told me to do this

quasi jetty
#

Add () at the end of NFS.load(...)

solid salmon
#

ok

quasi jetty
maiden phoenix
#

The () is at the end of the line, not "load"

solid salmon
#

ok

#

it didn't crash but it's still not there

wintry solar
#

you don't need any mod headers in your other files now

solid salmon
#

i did

#

wait like just mod header

wintry solar
#

yeah get rid of those

solid salmon
#

OH

wintry solar
#

that should just be in your main file now

solid salmon
#

ok

#

it works

#

🎉

solid salmon
#

is there a way to get someone to do voucher art

royal ether
#

if someone volunteers, someone volunteers

solid salmon
#

ok

hallow forge
#

did you at least try spriting yourself?

solid salmon
#

ye i did

stray warren
#

Is somebody able to find out what this log means? I've been racking my brain and can't figure out why this mod suddenly doesn't want to launch for me

wintry solar
#

what's at that line in your file?

stray warren
wintry solar
#

is this a require issue

stray warren
#

This is what is at that line in the crash report: PB_UTIL = require(SMODS.current_mod.path .. "/paperback-utils")

#

it seems like it

wintry solar
#

this is a require issue

#

switch it out for NFS.load

stray warren
#

Is that a new thing in Steamodded?

wintry solar
#

sort of yeah

#

I have no idea why require broke

stray warren
#

Yeah it only started breaking yesterday morning. Was so confused

wintry solar
#

hopefully the nfs switch will fix it for you 🤞

stray warren
#

Ok, so it fixed the crash, but now the jokers aren't showing up in the collection lol

wintry solar
#

did you put () at the end of the line?

#

NFS.load(path)()

stray warren
#

I did that, and I get [SMODS paperback "paperback.lua"]:16: attempt to call a nil value, and that line is PB_UTIL = NFS.load(SMODS.current_mod.path .. "/paperback-utils")()

wintry solar
#

it needs .lua I think

stray warren
#

Ok, now it's directing me to this line NFS.load(SMODS.current_mod.path .. "/" .. path)() -- name files "joker_<name>" so they get loaded automatically

#

path is this local path = key:gsub("_", "/", 1)

#

oh wait, I think I see the issue

#

Fixed it. Thank you for your help!

wintry solar
#

👍

solid salmon
wintry solar
#

more code pls

mellow sable
#

You’re missing a } after atlas = "shinier foil"

wintry solar
#

god keys with spaces in look AWFUL

mellow sable
#

cursed

#

but if it works it works

solid salmon
#

full code

mellow sable
#

atlas = "shinier foil" should be moved to after discovered = true,

solid salmon
#

ok

mellow sable
#

Also please learn proper code indentation

wintry solar
#

everything is indented correctly, to be fair

#

oh wait no it's not

#

why do you have hooks for apply to run and set edition

royal ether
#

learn indentation

solid salmon
#

bruh

royal ether
#

a lot of your issues become incredibly easy to identify of you do proper indentation

#

hell, vscode does it automatically for you, no?

solid salmon
#

,,,

mellow sable
#

set_edition makes sense since you want foil to become the upgraded foil, but you should make the other hook apply when you use the voucher (there’s probably some function for that…)

#

Oh and that set_edition hook has to check if your new voucher is redeemed

solid salmon
#

betmma told me to do it like this

mellow sable
#

Betmma has made 67 vouchers and I’ve made 0, so go with their advice

wintry solar
#

no

#

don;t

#

this will make EVERY foil card your new version

#

regardless of voucher

solid salmon
#

that's the plan

#

all foil --> silver foil

wintry solar
#

after you buy the voucher, yes

solid salmon
#

ok i'll set the voucher obtainment

wintry solar
#

that also isn't how you call set_edition

solid salmon
#

that's 👏 how 👏 betmma 👏 does it

wintry solar
#

I am telling you it won't work

#

I literally wrote this api

solid salmon
#

then how do i call set_edition

wintry solar
#

set_edition("e_stup_silver_foil")

solid salmon
#

so i needed a e_stup

hallow forge
#

telling the creator of an APi how to use their API

solid salmon
#

im not

wintry solar
#

no just don't just the jank ass table shit that thunk used

wintry solar
#

it's only supported so we don't have to patch every set_edition reference in base game

stray warren
#

Is there a built-in function to convert the number rank into the string for face cards and aces? This is the function I wrote:

function get_rank(rank)
    if rank == 11 then
        return "Jack"
    elseif rank == 12 then
        return "Queen"
    elseif rank == 13 then
        return "King"
    elseif rank == 14 then
        return "Ace"
    else
        return rank
    end
end
solid salmon
#

MAN

#

this was working perfectly

#

until it wasn't

mellow sable
#

I got Immolate running on my phone lol

solid salmon
mellow sable
#

Try playing one of these seeds

#

And opening the arcana packs

solid salmon
#

i can't play cryptid at the moment

mellow sable
#

You don’t need Cryptid

#

These are for vanilla

#

Set this up because I’m going to be on a lot of car rides over the next two days lol

solid salmon
#

ok

unkempt ridge
#

Sooo trying to show text via variable, and we're not sure what we're getting wrong? We've seen the structure (aka the x#1# or +#4# or whatev) anddd, we're not sure what we're getting wrong t make it not show

crisp coral
#

you need to define loc_vars

unkempt ridge
#

Not sure what's messing up here (probably a lot)
But hey when we hover over the card it doesn't show error anymore
It just crashes the game 👍

crisp coral
#

center.config.extra

unkempt ridge
#

center.config.extra added onto what's already there?

royal ether
#

isnt it self.ability.extra.whatever or does smods do it like that

#

but yea do what myst said

#

if your vars dont change from 1.1 and 1.0, its functionally the same as what i said

unkempt ridge
#

Nah same crash for both
attempt to index field 'name' (a nil value)

crisp coral
#

name shouldn't be related to loc_vars

unkempt ridge
#

sorry name was a placeholder
it was ability / config

#

we should've specified 😭

#

GOT IT
changed to {center.ability.extra.rate, center.ability.extra.bus}

#

Welp slapped this from card.lua into this, anddd
playing a face card doesnt crash so yay that works
but then it has an issue with the self.ability.blah part... Says it's nil value.

crisp coral
#

change every self.ability. to card.ability.

unkempt ridge
#

Seems like things with that were working now but uh
a few edits later and now this errors coming up
functions/state_events.lua:692: 'for' limit must be a number

current code provided above

crisp coral
#

return card = card

unkempt ridge
#

instead of card = self?
tried that and same crash

#

guessing somethings f'd with the for loop, cuz the 'for limit' displays as nil when looking at the stack traceback

royal ether
#

i think your calculate function is returning stuff when it shouldnt

#

that condition is really broad

unkempt ridge
#

yeahhh we realized that when discarding, it was triggering the effect too

royal ether
#

oh wait your return isnt in the if condition

#

yea thats def ur issue

unkempt ridge
#

we moved the return to be under the 'if faces == false then' statement with the adding calculation

still crashes but hey now it doesn't trigger on discard 👍

royal ether
#

yea add more conditions to the first if condition

unkempt ridge
#

what about throwing 'and context.scoring_hand >= 0' in there

#

lemme try that

royal ether
#

refer to that

#

i think you wanna check for context.joker_main

royal ether
#

might be misremembering the name so check to make sure

#

ya that one

unkempt ridge
#

yeah we trying to add some stuff to it but, the whole 'for limit' thing aint working

royal ether
#

the issue isnt your for loop

#

its that youre returning a table in a context when you shouldnt be returning anything

#

its most likely the repetition context

unkempt ridge
#

WE DID IT WE DID IT YEAHHH---

We added a context.individual to the if loop and not only is it working but the JOKER GOT DA JUICE TOO BABY WOO-

#

now to figure out how to make its effect activate after play instead of on each individual card

after dinner-

royal ether
#

use context.joker_main

unkempt ridge
unkempt ridge
solid salmon
wintry solar
#

Does the atlas need to be before the joker?

solid salmon
#

but it always worked like this?

#

is there somekind of patch changing it

wintry solar
#

I don’t think it matters, was just the first thing I thought of

#

It seems more like an issue with your image and where it is saved

solid salmon
#

this is in assets/2x

solid salmon
#

whats wrong now?

#

I had to move assets

#

to stupidity

brisk pond
#

is there a way to increase the jokers resolution?

#

like 1x, 2x and 4x

frosty dock
#

there's 1x (pixel smoothing setting off) and 2x (pixel smoothing setting on)

#

nothing stops you from just using more pixels though

brisk pond
#

Gonna try it now

SMODS.Atlas {
  key = 'my_joker',
  path = 'my_joker.png',
  px = 710,
  py = 950
}
frosty dock
#

💀 10x

#

why

solid salmon
wintry solar
#

I wonder how the game will handle that

brisk pond
#

I tried with

SMODS.Atlas {
  key = 'big_joker',
  path = 'jokers.png',
  px = 142,
  py = 190,
}
#

the game handles it well

wooden nexus
#

Balatro used to have 8x textures so i’m not surprised larger proportional textures work

crisp coral
#

oh that's news to me

wintry solar
#

Won’t they be downscaled and look the exact same though?

solemn coral
#

How do I get a joker to trigger an effect when another joker is destroyed?

#

This joker works just fine when playing cards are destroyed, but it doesn't trigger when jokers are destroyed.

#

I've tested with Ankh, Sacrificial Dagger, and letting a Popcorn run out, and none of them triggered the effect

crisp coral
#

hook to remove_from_deck

#

context.destroying_card only procs on playing cards

solemn coral
#

Aaah gotcha

crisp coral
#

...speaking of i should update my jokers to send that context

solemn coral
#

Okay it looks like remove_from_deck is called all the time.

#

Like, apparently leaving the shop causes everything in the shop to be removed from the deck

edgy reef
#

Yup

#

Creating or removing a card in all contexts calls add_to_deck and remove_from_deck

#

If you want destroy then hook a function related to the destruction process.

#

Like Card:start_dissolve or Card:shatter

zealous glen
solemn coral
#

I think having it be added to SMODS might be my best bet

#

Because start_dissolve is called too often (like when you sell a card) and shatter isn't called often enough

zealous glen
#

Betmma was doing it by checking the colors of start_dissolve

#

I think there’s also a card variable set when it’s destroyed by an effect

#

You see it sometimes

#

card.getting_sliced I think

edgy reef
#

Used by Madness and Dagger iirc

zealous glen
#

I think setting a local variable is a good way to distinguish between different cars removal effects

edgy reef
#

It stops jokers with setting blind abilities from getting them off after they're supposed to be axed.

solemn coral
#

Looks like that's inconsistent, too - it triggers when a joker is destroyed by dagger, but not when popcorn is destroyed by its own effect

#

I think for the time being I'm just going to reword it to explicitly only trigger when you destroy a playing card and drop the required number of cards down.

zealous glen
#

Or a similar variable

zealous glen
edgy reef
#

grrrrr why are my consumables getting reset to their config values when I click use.

atomic falcon
# royal ether try hooking a different part of the code, maybe

trying so hard to not get spoonfed but i think im misunderstanding hooks. if i use a metatable then the variable for open_booster is initialised on launch and then doesn't get changed no matter the gamestate. basically im confused - ill keep looking into it tho

edgy reef
#

the fun begins

frosty dock
edgy reef
#

Surely not Cryptid again (clueless)

frosty dock
#

probably is

edgy reef
#

It is

#

This mod is the bane of my existence

mellow sable
#

might be because of misprintize

#

It’s still wacky with custom consumables

edgy reef
#

I SWEAR TO GOD THAT STUPID DECK

frosty dock
#

maybe i should have thought to add a check for if you're allowed to put that consumable in your slot

#

at least these test boosters are now boostering

mellow sable
frosty dock
#

maybe loading them mid-run was causing issues

royal ether
mellow sable
#

# Consumables lying to you
[[patches]]
[patches.pattern]
target = "card.lua"
pattern = "function Card:use_consumeable(area, copier)"
position = "after"
payload = '''
if self.ability.set ~= "Gear" then --Ro-Balatro compat, I need a better system for this later
for k, v in pairs(G.P_CENTERS[self.config.center_key].config) do
        self.ability[k] = v --surely nothing will go wrong
    end
end'''
match_indent = true
#

Try adding D6 Side as a check

frosty dock
#

that just breaks any consumables that depend on state

mellow sable
#

If that works I’ll change it so only tarots and spectrals use this (planets use hand levels as their stats)

frosty dock
mellow sable
#

I think this fix only matters for vanilla consumable types anyway

frosty dock
#

what does it even fix?

#

oh right, misprinted consumables

mellow sable
#

iirc it fixes issues where the state of misprinted consumables wasn’t reset before calculating the changed values

royal ether
mellow sable
#

because it was stored in the center table

edgy reef
#

It fixed it.

frosty dock
#

can you not misprintize the values in ability directly? there should be no need to redo when used

#

as in, do it in set_ability

mellow sable
#

That would probably work

#

I will investigate when I get back, can’t test until tmrw night

frosty dock
#

take your time

mellow sable
#

Feel free to also make a PR with this patch @edgy reef

edgy reef
#

I have

solid salmon
#

how's it looking?

#

also don't comment on the indentation

fallen tendon
#

Didnt you want to make them fused into pnly 2 vouchers?

solid salmon
#

no

fallen tendon
#

Or are you doing the foul poly set and the holo negative set

solid salmon
#

it's 2 sets of vouchersa

#

foil to poly

fallen tendon
#

Ok

solid salmon
#

holo to nil

fallen tendon
#

Ye

solid salmon
#

i just need to make a tweak

#

as in the game crashes everytime i try to run it

fallen tendon
#

Lemme guess you didnt define shinier foil the atlas

solid salmon
#

the atlas

#

?

#

like the sprite

fallen tendon
#

Yeah

#

You wrote down the atlas key as shinier foil

solid salmon
#

i added it

#

and renamed the placeholders into that

#

and it worked

fallen tendon
#

You put the atlas in the voucher

solid salmon
#

ye

#

i told you i added the atlas

#

heck i did it to all of the vouchers

fallen tendon
#

The atlas is supposed to be in the top scope

solid salmon
#

like above the vouchers

fallen tendon
#

Not really just not inside them

solid salmon
#

oh ok

wintry solar
#

you're also using set edition wrong still

solid salmon
solid salmon
wintry solar
#

I told you yesterday to just use it as set_editon("e_stup_shinier_foil")

solid salmon
#

i forgot the " didn't i

wintry solar
#

literally

#

copy what I have written

solid salmon
#

bruh

wintry solar
#

and replace whatever you have done

solid salmon
#

do i also remove =true

wintry solar
#

select it

#

copy it

#

paste it

#

have you ever used a computer before

solid salmon
#

i just did

#

geez

#

like this right

wintry solar
#

yes this will change any foil playing card to your shinier foil now

solid salmon
#

ok

wintry solar
#

assuming the other parts are correct