#💻・modding-dev

1 messages · Page 489 of 1

lament agate
#

cryptid?

#

i thought it mean to be that way

lucid owl
wintry solar
#

My advice has always been that if you don’t understand how balatro code or code generally works in a deep way, dont copy cryptid code

lucid owl
daring fern
# lament agate cryptid?

So it would be something like ```lua
local oldsetcost = Card.set_cost
function Card:set_cost()
local g = oldsetcost(self)
if next(SMODS.find_card("j_tngt_dealmaker")) then pseudorandom('dealmaker_cost_'..self.sort_id, 3, 8) end
return g
end

wintry solar
#

It is not user friendly

lucid owl
#

a hook modifies an existing function, you're adding functions to a joker that won't be called

#

i should probably try and transition the myriad of set_cost patches i have to just be hooks

daring fern
#

You shouldn't be using rawget unless you're in an __index function.

lament agate
#

oh

lucid owl
#

just use what somethingcom sent

lament agate
#

hold on

#

pardon for my

#

brain inefficiency

daring fern
#

Looking at the description it might be better to hook Game:update

lucid owl
#

will make them randomize a lot more

lament agate
#

speaking of

lucid owl
#

essentially randomizing shop prices every time the game, well, updates

lament agate
#

will the price tag actually change

lucid owl
#

yeah

daring fern
lucid owl
#

set_cost does that

lament agate
#

ohhhh

lucid owl
#

although once you click on it i think it keeps its price until you re-select?

lament agate
#

just like spamton

lucid owl
#

so it's sorta gonna be a game of clicking at the right time

#

yeah

lament agate
#

buying the fucking loadedisk

lucid owl
#

you'd probably hook Game:update() and call your new, hooked :set_cost() on every item in the shop, only if you're in the shop

#

so every time the game updates, it runs through every shop item and calls set_cost(), which is now poised to randomize prices to a set range if your joker is present

lament agate
#

gotcha

#

pray for me

#

i gotta

#

rewrite all of this

#

-# again

lucid owl
#

just go scorched earth and remove those functions from hell

#

your hooks are going to be completely separate from your joker code

lament agate
#

yes yes

#

i figured

lucid owl
#

they're fine to be in the same file

daring fern
lucid owl
#

but just copy/paste somethingcom's code he sent above

#

then hook Game:update() and just call your new set_cost() every however only if the game is currently in a shop state

lament agate
lucid owl
#

delta time i assume

daring fern
lucid owl
#

probably don't use delay() though, that may fully pause the game's updating logic lol

#

although for all i know that could be the solution

daring fern
lucid owl
daring fern
lucid owl
#

otherwise that function would be much less convenient

lucid owl
# daring fern

makes sense, i couldn't remember if it was specific to only events or not

#

so really it'd be useless in this context

molten relic
#

i have no idea whats wrong here

#
        add_to_deck = function(self, card, from_debuff)
        G.hand:change_size(card.ability.extra.h_size)
        end,
        remove_from_deck = function(self, card, from_debuff)
        G.hand:change_size(-card.ability.extra.h_size)
        end,
        if context.joker_main and not context.blueprint then
            card.ability.extra.h_size = card.ability.extra.h_size - card.ability.extra.h_mod
            G.hand:change_size(-card.ability.extra.h_mod)
        end
    end
}```
lament agate
daring fern
# lament agate how do you turn this into a game:update hook

You don't, you keep it and you also have this: ```lua
local cost_dt = 0
local oldgameupdate = Game.update
function Game:update(dt)
local g = oldgameupdate(self, dt)
if G.shop and G.jokers and next(SMODS.find_card("j_tngt_dealmaker")) then
cost_dt = cost_dt + dt
if cost_dt > 0.2 then
cost_dt = cost_dt - 0.2
for i, v in ipairs({G.shop_jokers, G.shop_vouchers, G.shop_booster}) do
for ii, vv in ipairs(v.cards) do
vv:set_cost()
end
end
end
end
return g
end

molten relic
daring fern
molten relic
#

they dont?

#

i am really stupid arent i

daring fern
fossil nebula
#

Hey I have problem with adding custom sounds

#

Is there anything more i need to add?

#

because it's not working

lament agate
knotty orchid
#

Hey! I'm adding new stickers, but their tooltip is showing up blank when I hover over them.
The badge does not show also.
I've set the key and even tried using loc_vars, but no luck so far.

Anyone knows how to properly hook up sticker descriptions in tooltips? Do I need to define something specific in localization files (other than the key) or elsewhere?

daring fern
lament agate
fossil nebula
#

My pathing is good and the wiki didin't say anything more

red flower
#

do you have it in assets/sounds?

#

can i see the code?

fossil nebula
fossil nebula
red flower
fossil nebula
red flower
#

it needs your modprefix

#

"modprefix_key"

fossil nebula
#

It works thx

lament agate
daring fern
lament agate
#

<@&1133519078540185692>

molten relic
#

<@&1133519078540185692>

lament agate
#

thanks headed

gaunt coral
#

this is very much related to just lua and not really balatro modding but does anyone see a missing end

lament agate
# daring fern Code?

it's the same code like the last time i sent to you but with set cost hook added above it

#

I'm greeting someone rn

gaunt coral
#

i shouldve known

#

thanks

rotund sable
#

ok now how do i display this

molten relic
#

how do i change the size of tarots cards

#

like the pixel range

#

i want to change it to 58, 74

#

i this even possible

daring fern
daring fern
#

Also do you have the joker?

lament agate
lament agate
lament agate
foggy ginkgo
#

What is Nxkoo cooking

lament agate
#

shh

foggy ginkgo
#

Okay :3

daring fern
lament agate
#

spot on

daring fern
# lament agate

Also did you do that after doing eval dp.hovered:set_cost()?

#

Never mind I see the issue.

#
local oldsetcost = Card.set_cost
function Card:set_cost()
    local g = oldsetcost(self)
    if next(SMODS.find_card("j_tngt_dealmaker")) then self.cost = pseudorandom('dealmaker_cost_'..self.sort_id, 3, 8) end
    return g
end
#

Replace the hook with this.

lament agate
#

hey it works!!

#

tysmmmmmmmm @daring fern

foggy ginkgo
#

W something

copper thorn
#

ir doesn't undpate when it should, basically at each rearoll the prob of getting a negative is getting higher and resets at each end of shop but it doesn't undpates help ._.

foggy ginkgo
#

Where's your loc var

#

I think that's what it's called I don't have my computer on me

daring fern
foggy ginkgo
#

There it is

#

I did it

copper thorn
#

i don't wanna do it all again T-T

#

argh f#ck it there will be no counting

daring fern
copper thorn
#

i don't want no random things like misprint, i wanna upgrade a probabilty at each rerol land then reset it

daring fern
rotund sable
#

How is pseudorandom bad and math.random good

#

It's the same thing

#

Pseudorandom literally uses math.random in it's implementation

royal ridge
#

math.random is good if you want your jokers to still be completely random on seeded runs

#

the proper use of math.random in lua projects is using math.randomseed beforehand so that the output is consistent, pseudorandom does this for you

rotund sable
#

Complete random on seeded runs seems against the point of a seeded run but I can see someone wanting that

royal ridge
#

it's fine to use in cases like misprint text or particle effects

merry frost
#

Does anybody know why my Blind defeat hook works, but cash out doesn't?

local blind_defeat_hook = Blind.defeat
function Blind:defeat(silent)
    blind_defeat_hook(self, silent)
    local blind_type = BlindStation.FUNCS.get_current_blind_type()
    if BlindStation.HOOKS[blind_type] and BlindStation.HOOKS[blind_type].post_defeat then
        local game = BlindStation.HOOKS[blind_type].game
        sendDebugMessage(
            "Running `post_defeat` hook for game '" .. game.key .. "' on Blind type '" .. blind_type .. "'",
            'BlindStation'
        )
        BlindStation.HOOKS[blind_type].post_defeat(game, self, silent)
    end
end

-- TODO: Fix cash out hook not working
local g_funcs_cash_out_hook = G.FUNCS.cash_out
G.FUNCS.cash_out = function(e)
    g_funcs_cash_out_hook(e)
    local blind_type = BlindStation.FUNCS.get_current_blind_type()
    if BlindStation.HOOKS[blind_type] and
            BlindStation.HOOKS[blind_type].post_cash_out then
        local game = BlindStation.HOOKS[blind_type].game
        sendDebugMessage(
            "Running `post_cash_out` hook for game '" .. game.key .. "' on Blind type '" .. blind_type .. "'",
            'BlindStation'
        )
        BlindStation.HOOKS[blind_type].post_cash_out(game, e)
    end
end
#

This seems to have broken with a recent Steamodded update

pastel kernel
#

help a mf out

#
  • removing first hand played context fixed it
#
  • no it didn't
sleek nova
#

how can i upscale joker art without it looking bad

#

its literally the last thing until i can test it out

lament agate
#

how do you make reroll free in a deck

sleek nova
#

try looking at chaos the clown in the code

normal crest
#

Or maybe display_size

sleek nova
#

i mean x2 ver

normal crest
#

Oh

#

Use nearest neighbor scaling

copper thorn
# sleek nova i mean x2 ver

using krita go to images then in rescale image at new size, change the H and W to the double and choose nearest neighbor scaling

#

that's what i do on krita cuz i use krita

rotund sable
#

I use pixelorama and export at 200%

copper thorn
#

yeah it depends on what you use

normal crest
#

Doesn't matter what you use as long as it's nearest neighbor upscaling

copper thorn
#

yeah also

sleek nova
#

i have the mod in the folder but the game doesnt recognize it

red flower
#

whats that font

also do you have a json or a header?

sleek nova
#

also no how do i do it

red flower
hasty mist
#

for some reason anytime i use score modification the score becomes infinity

#

it didn't do this like a week ago so im not sure what's wrong

lament agate
#

G.GAME.current_round.free_rerolls = G.GAME.current_round.free_rerolls + 1

#

is this a thing

wintry solar
#

SMODS.change_free_rerolls(number)

sleek nova
#

the game crashes every time i try to check it on the mods menu

gaunt coral
#

i have a scaling joker, and i want to show how much Xmult it currently has in it's description (for example hologram has this)
how do i do that

carmine burrow
rotund sable
carmine burrow
#

if you have another variable the #1# should be #2# or more instead

#

whichever number is next

agile path
#

Okay, so
I kinda want to create a simple texture mod, what do i have to do?
I'm trying to understand but brain is frying

carmine burrow
agile path
#

Since I'm hella rusty on modding and all of that, i will look into this

sonic cedar
#

unrelated does anyone know if malverk can swap atlases

wintry solar
#

what do you mean

paper elbow
#

What's an appropriate cost for +1 hand size?

tawdry oriole
#

this code works completely fine but whenever i use it alongside talisman the videos only appear for a split second before disappearing

#

could it be that i need to make it compatible by any way?

brittle yacht
#

how so

brittle yacht
tawdry oriole
hasty mist
#

yooo ena

#

peak

#

i had an ena pfp a few weeks ago

brittle yacht
brittle yacht
#

do you know how to do it, is what im asking

placid star
#

i cant figure out why my node isnt being displayed... for clarficiation i have the main_mult node because the joker will only display mult and chips values if it has them

wild zinc
#

So I tried working it out by looking at examples and I thought it worked but this gave 54 chips...

wintry solar
rotund sable
#

what do i put into SMODS.pseudorandom_probability() if im running it in a UI function?

#

i mean what do i put into the trigger_obj field

#

or do i just use pseudorandom

wintry solar
#

which UI function?

rotund sable
#

my ui function

#

in short im making minesweeper

#

and if the field isn't there i want to generate it

brittle yacht
#

guys how do i make a joker that when you have it, it sets the game speed to higher than it should be

wintry solar
#

probably just put an empty table then

placid star
#

can a joker have multiple 'soul' sprites and can you configure their position on the joker?

hasty mist
#

ive taken this code from exponentia (just the init function hook) and attempted to modify it for my own means, and its so confusing, how do i fix this

sleek nova
placid star
#

also show your atlas

pastel kernel
#

How does soul_set work? Does it mean you can find this consumable in a specified pool?

red flower
pastel kernel
brittle yacht
#

guys how do i check if a joker is in hand with an if statement

red flower
red flower
pastel kernel
red flower
#

do you have an ObjectType

pastel kernel
red flower
#

rather, it's Infamous a rarity or a collection of jokers?

pastel kernel
red flower
#

then just look at the soul in vanillaremade

pastel kernel
#

I still have yet to properly show their title instead of having it written as “error”

#

Like it displays their actual rarity, it has the color.

red flower
#

it's the soul but you replace legendary = true with rarity = "modprefix_key"

pastel kernel
#

How about spawn_legendary

red flower
#

oh i read the screenshot lol

#

remove it it doesnt matter

#

thats just for the unlock

brittle yacht
#

i already have the if statement part

red flower
#

no idea

brittle yacht
#

real

pastel kernel
#

Is “c” the modprefix?

#

And vremade_soul is the key?

red flower
#

c is the prefix for the set, vremade is the modprefix and soul is the key

#

consumables start with c_

pastel kernel
#

c_busterb_shrine

red flower
#

yeah

pastel kernel
#

This targets the soul_pos I presume

placid star
#

whats the default scale value for all text in loc_txt?

brittle yacht
#

why no work ```SMODS.Joker {
key = 'fiction',
loc_txt = {
name = '{C:blue}Fiction{}',
text = {
'Who Wins?'
}
},
atlas = 'fiction',
pos = { x = 0, y = 0 },
rarity = 3,
cost = 5,

add_to_deck = function(self, card, from_debuff)
    if next(SMODS.find_Card("j_silly_fiction")) then
        G.SETTINGS.GAMESPEED = G.GAME.normalgamespeed
        G.GAME.normalgamespeed = 100
    end
end,
    
remove_from_deck = function(self, card, from_debuff)
    if  next(SMODS.find_Card("j_silly_fiction")) == false then
        G.SETTINGS.GAMESPEED = G.GAME.normalgamespeed
        G.GAME.normalgamespeed = nil
    end
end

}```

placid star
brittle yacht
carmine burrow
#

i would've assumed it'd return nil if there was no match from the name

brittle yacht
#

but it doesnt set gamespeed to 100 like its supposed to

brittle yacht
red flower
#

yeah == false is wrong

brittle yacht
#

oopsies poopsies

real night
#

how do you do like multiple infoboxes in one joker description

#

nvm i found out

brittle yacht
normal crest
#

cus it's find_card not find_Card

brittle yacht
#

goober

#

is it js not constant

#
    key = 'fiction',
    loc_txt = {
        name = '{C:blue}Fiction{}',
        text = {
            'Who Wins?'
        }
    },
    atlas = 'fiction',
    pos = { x = 0, y = 0 },
    rarity = 3,
    cost = 5,
    
    add_to_deck = function(self, card, from_debuff)
        if next(SMODS.find_card("j_silly_fiction")) then
            G.SETTINGS.GAMESPEED = 100
        end
    end,
        
    remove_from_deck = function(self, card, from_debuff)
        if  next(SMODS.find_card("j_silly_fiction")) then
            G.SETTINGS.GAMESPEED = 2
        end
    end
}```
red flower
#

oh i just noticed

#

why are you checking if your joker is owned in add_to_deck?

brittle yacht
#

cuz im dumb

#

what shuld i change it to so its constant

red flower
#

if it's checking for itself then that's not true unless you own another

#

idk how the speed stuff works but i would start by removing those if conditions

brittle yacht
#

but you can set the speed back

red flower
#

?

#

what does that mean

brittle yacht
#
    key = 'fiction',
    loc_txt = {
        name = '{C:blue}Fiction{}',
        text = {
            'Who Wins?'
        }
    },
    atlas = 'fiction',
    pos = { x = 0, y = 0 },
    rarity = 3,
    cost = 5,
    
    add_to_deck = function(self, card, from_debuff)
            G.SETTINGS.GAMESPEED = 100
        end
    end,
        
    remove_from_deck = function(self, card, from_debuff)
            G.SETTINGS.GAMESPEED = 2
    end
}

if it was like this it would js change the speed but you could go into settings and change it back

#

right?

red flower
#

i guess yeah, like i said idk anything about speed

#

the if conditions weren't going to solve that however

#

you might need to do it in update instead

modern kindle
#

Wave emoji

brittle yacht
long sun
#

i'm doing this the wrong way ;u; how do i display a seal tooltip?

placid star
# red flower 0.32

might you know the padding and r values of these elements with X:colour values?

brittle yacht
#

@daring fern u said u knew something about speed, right?

carmine burrow
#

i would also advise removing the find_joker checks entirely and handling multiple copies in a different way

long sun
#

cheers :D

placid star
west sand
#

Am I able to replace the texture on only one joker in a way that I could have two texture packs at the same time? Or are you only able to replace the entire sprite sheet at once

tepid crow
#

yeah you can replace the texture on individual jokers

rotund sable
#

now onto displaying the text

harsh bobcat
rotund sable
harsh bobcat
#

oh shit i missed that

knotty orchid
#

# Exponential functionality [[patches]] [patches.pattern] target = "functions/state_events.lua" pattern = ''' if effect.Xmult_mod then mult = mod_mult(mult*effect.Xmult_mod); extras.mult = true end ''' position = "before" payload = ''' if effect.Emult_mod then mult = mod_mult(mult*effect.Emult_mod);extras.mult = true end ''' match_indent = false

Can someone helpe me solve why lovely doesn't encounter this pattern?

red flower
knotty orchid
#

oh

#

I do yep

#

So if a line gets patched out by smods how should I proceed to modify it?

red flower
#

You would need to see how SMODS handles it and patch that instead (unless you want compatibility with no mods)

#

Also is there a reason you're implementing your own emult instead of using Talisman?

knotty orchid
#

I actually didn't know there was already a solution for this. So talisman implements an emult?

red flower
#

yes

knotty orchid
#

That will be helpful lol HAHAHA

#

Thanks mate, ill try see if it works

#

it actually works

#

Thanks!

glad osprey
rotund sable
fossil nebula
#

Is there any way to manipulate required score mid round?

modern kindle
tight hull
#

Hi Dilly

modern kindle
#

hello

#

ive been bashing my head into a wall since yesterday

tight hull
#

that cant be good

modern kindle
#

joker not doing a thing i want it to and my bestie bepis couldnt figure it out either

red flower
#

its better to just do it manually with the mult global

modern kindle
#

thats fair enough yea, i just figured if you wanted it but didnt have talisman in then it would make sense

#

also i wave emojid earlier and you didnt say hi..

red flower
#

i didnt see it!!

#

hi!!!

modern kindle
#

how are you feeling today

red flower
#

tired

modern kindle
#

me also

#

i relate

placid star
#

does anyone have a joker that has multiple soul sprites at once?

red flower
#

victin maybe?

copper thorn
#

what did i do wrong with my gradient ?

red flower
#

hex takes one string at the time

#

you need to put them in a table

harsh bobcat
#

I have rarity though?

copper thorn
#

i never did table how could it be/looks like ?

red flower
#

tables are the things between {}

#

{ HEX("..."), HEX("...") } etc

copper thorn
#

oohhhh i didn't know

#

thx

#

so like this ?

#

?*

red flower
#

yes

#

i think

copper thorn
#

ima test it

#

it works !!!

harsh bobcat
red flower
modern kindle
#

hey dats my message smeele

fossil nebula
#

thx

modern kindle
#

what if we watched anime together and had snacks

harsh bobcat
wicked crow
#

@red flower I have a json

red flower
#

may i see it

wicked crow
#

nvm I fixed it

#

thank you anyway

placid star
#

does anyone have a drawstepi can take a look at?

red flower
#

vanillaremade has one for the soul

#

joyousspring has one for a shader

modern kindle
#

i read that as in it is a drawstep for your soul, like its good for the soul

red flower
#

drawstep drains your soul

pure salmon
#

Eyes doesn't show up in the right colour, is there something extra i need to do for it to appear?

placid star
red flower
#

i dont think it does

pure salmon
red flower
pure salmon
#

tried looking at paperback and it uses the G.C. values for the colour fields, but i can't find where those get defined

red flower
#

but the suit colour should be added

rotund sable
# pure salmon

maybe try printing G.ARGS.LOC_COLOURS to see if it's there in any form

placid star
red flower
#

did you see the floating sprite one in smods

placid star
#

i did

wintry solar
#

N what's the screenshot extension called

red flower
#

easy codesnap

pure salmon
zealous glen
placid star
zealous glen
brittle yacht
#
    key = 'fiction',
    loc_txt = {
        name = '{C:blue}Fiction{}',
        text = {
            'Who Wins?'
        }
    },
    atlas = 'fiction',
    pos = { x = 0, y = 0 },
    rarity = 3,
    cost = 5,
    
    add_to_deck = function(self, card, from_debuff)
            G.SETTINGS.GAMESPEED = 100
    end,
        
    remove_from_deck = function(self, card, from_debuff)
            G.SETTINGS.GAMESPEED = G.GAME.normalgamespeed
               G.GAME.normalgamespeed = nil
    end
}```
this still dont work 😦
wintry solar
placid star
#

if that makes sense

fossil nebula
#

I want to make that a specific joker plays a sound when it's added to your inventory

wintry solar
#

have you already created the sprites?

fossil nebula
#

I did it like this but it only plays when a copy is added

#

is there a way to do it?

maiden phoenix
#

Try putting it in a 'add_to_deck' function instead

red flower
placid star
wintry solar
#

I mean code wise, have you already set them up to be added to your joker?

fossil nebula
maiden phoenix
#

Its not a context its a function like calculate

fossil nebula
#

oh ok

placid star
wintry solar
#

yeah, what code have you already got?

zealous glen
placid star
wintry solar
#

okay, so I would create the sprite and add it to a table within the joker when you do that, then use a drawstep to iterate over the table and draw them all

fossil nebula
#

oh and also

#

is there a one for when a joker is sold/destroyed?

placid star
fossil nebula
#

thx

zealous glen
#

To recreate the Sprites

maiden phoenix
#

Same as add_to_deck

wintry solar
#

potentially, but if they're all on the same atlas you can just save positions

#

and then create the sprite in the drawstep

placid star
#

how would one create the sprite in a drawstep?

zealous glen
zealous glen
placid star
sleek nova
zealous glen
wintry solar
sleek nova
zealous glen
wintry solar
#

I was assuming they were using custom sprites to represent each joker?

placid star
zealous glen
placid star
zealous glen
wintry solar
#

that's not what they said

#

but even if that were the case, you'd just store that info too

zealous glen
zealous glen
placid star
#

i am still so confused 😭

sleek nova
#

what do i use for atlas

#

whats atlas even

jolly shadow
#

how would i go abt removing debuffs on a specific rank as a joker effect

#

i feel like im starting to understand stuff but cant tell what context to go for here

midnight hornet
zealous glen
modern kindle
#

hi vic vic

zealous glen
#

hi dilly dilly

modern kindle
#

how are you

zealous glen
#

What about you

modern kindle
#

Why thumb down

sleek nova
brittle yacht
#
    key = 'fiction',
    loc_txt = {
        name = '{C:blue}Fiction{}',
        text = {
            'Who Wins?'
        }
    },
    atlas = 'fiction',
    pos = { x = 0, y = 0 },
    rarity = 3,
    cost = 5,
    
    add_to_deck = function(self, card, from_debuff)
               G.GAME.normalgamespeed = 100
    end,
        
    remove_from_deck = function(self, card, from_debuff)
               G.GAME.normalgamespeed = 1
    end
}

why no work, anybody know how to do speed stuff

fossil nebula
#

Is there a way to detect if player beats big/boss blind while having a joker?

sleek nova
#

look for rockets code

red flower
maiden phoenix
# jolly shadow 🍤

Its not documented but I think theres something called context.prevent_debuff in SMODS code

red flower
#

context.debuff_card

#

return { prevent_debuff = true }

jolly shadow
#

that is pretty much exactly half of the solution

red flower
#

what are you missing

jolly shadow
#

the rank part but i got it i think

maiden phoenix
red flower
#

it's ok, it's the code's fault for being undocumented

sleek nova
brittle yacht
red flower
zealous glen
zealous glen
jolly shadow
#

whys this not work im confused

    calculate = function(self, card, context)
        if context.prevent_debuff then
            if card:get_id() == 14 then
                return { debuff_card = false }
            end
        end
    end
red flower
#

you got mixed up

#

the context and the return are switched

modern kindle
sleek nova
red flower
# sleek nova sorry if its annoying but how do i do this i have no idea<:mr_bones:138003146349...
GitHub

A Balatro Modding Framework. Contribute to Steamodded/smods development by creating an account on GitHub.

GitHub

Steamodded example mods. Contribute to Steamodded/examples development by creating an account on GitHub.

#

pls read the docs

modern kindle
#

n can you take over development for me

red flower
#

yes

#

immediately cancelling the mod

modern kindle
tall wharf
#

would there be a way to check repetition count?

opal cosmos
molten relic
#

how can i change the size of the ingame tarots? like i wanna change it from 71, 95 to something else

red flower
opal cosmos
#

yeah i just wanted to see if it was a me issue

#

but i'm glad it's just not me being a dumb stupid dumb fuck

red flower
pure salmon
#

eyes cards also give base mult instead of base chips, how do i change this text to reflect that?

normal crest
#

What is the equivalent of context.main_eval for decks

#

Specifically to use with context.end_of_round

molten relic
red flower
red flower
normal crest
#

right

#

the old way

fossil nebula
#

Can someone tell me why is it crashing and what i need to change?

normal crest
#

thank you N

fossil nebula
#

so it must be it

red flower
brittle yacht
#

is there a context that when you have the joker, the function always happens, as long as you have it?

fossil nebula
normal crest
zealous glen
#

99% of the time you don’t need it though

normal crest
fossil nebula
#

oh and also

#

is there a way to display current xmult in the cards description

#

because vanilla remade dosn't have descriptions

normal crest
#

they do, in their localization file

jolly shadow
molten relic
normal crest
#

and you do that through the loc_vars function

molten relic
#

or are you referencing something else

red flower
jolly shadow
#

not rlly much to see, card is debuffed, code doesnt do what its suppose 2

red flower
#

also it should be prevent_debuff = true

jolly shadow
#

ohh makes sense

modern kindle
#

i was abotut o say it should prob be true

jolly shadow
#

works now

wintry solar
#

should I add main_eval to deck and blind calcs?

sleek nova
#

FINALLY

#

next i will try to make the unlock condition

formal quest
#

You can use Vagabond as a base

sleek nova
#

is there a way to just spawn the card so i can try it

placid star
#

@zealous glen okay so would you know what function would draw a child sprite ontop of a card?

formal quest
placid star
#

im trying to wrap my head around hearbreak and im struggling

formal quest
formal quest
#

How can I make discards usable even with 0 discards remaining?

daring fern
formal quest
daring fern
formal quest
# daring fern

I see. If I copy what the else statement does will it make the button functional or just appear to be?

tall wharf
#

how do i check for retriggers only

#

repetition_only doesn't seem to work

placid star
# daring fern What is the goal?

1 joker, basically its a joker that "consumes" food jokers when they expire, i have everything else working but when it "consumes" a food joker i want a small custom sprite of said food to appear as a floating sprite in my joker

scarlet imp
#

I have the same thing in my mod lol
except without the mini sprite part

daring fern
lofty sand
#

does anyone know how to make the card flip animation play like when using death/strength?

lofty sand
#

how does one achieve that?

formal quest
# daring fern

Double checking that I'm doing the hook correctly. Will this run before or after the base?

daring fern
lofty sand
daring fern
sonic cedar
#

how can you get the amount of scoring mult in a winning hand?

sonic cedar
#

yeah mult

wintry solar
#

mult

scarlet imp
#

its a global

sonic cedar
#

OH LMAO

formal quest
red flower
#

mult

sonic cedar
#

😭

#

im a little dumb mb

tall wharf
formal quest
#

Also is there a localize key for discards?

urban wasp
#

why does this seem to still only take from a 71 x 95 area in the top-left corner of my image

#

i want tyrone to be super hd

normal crest
tall wharf
normal crest
#

i'm proud of you

tall wharf
#

it was taking 5 years to load

normal crest
#

tho it was definitely more fun to look at your videos and just seeing weird stuff happen

#

hi toma

sonic cedar
#

HI SROCK

#

i had caps on

#

hi srock

#

hi dilly

modern kindle
#

👁️ 👄 👁️

sonic cedar
#

oh

modern kindle
#

hi there

rotund sable
#

ok now how to implement it into gameplay

normal crest
#

now only N is missing

sonic cedar
#

missiNg

scarlet imp
modern kindle
#

have you played the video game yet toma

#

is it good

sonic cedar
modern kindle
urban wasp
#

tyrone 🔥

sonic cedar
modern kindle
#

toma.

sonic cedar
#

your poor computer dawg

modern kindle
normal crest
#

if you leave your computer on 24/7 it will live longer

modern kindle
#

i use and abuse her but she does what she was built for

scarlet imp
#

out of context lol

modern kindle
#

only cost me 5 grand to build so im gonna get 5 grand of use out of it

#

does remind me i should start moving some thigns over to my server rig soon

sonic cedar
#

youll pay for this....

modern kindle
#

cause papa is a bit low on space

#

and i need more

tepid crow
modern kindle
#

no this is my rig

sonic cedar
#

dilly you cannot be serious

tepid crow
#

wtf

sonic cedar
#

how

daring fern
#

How does one patch DebugPlus?

modern kindle
#

i am quite serious

sonic cedar
#

what are you doing with your storage dawg

modern kindle
#

'what are u doing withs torage' mf what do u think

normal crest
modern kindle
#

alot of it is games, alot of it is storage for projects, programs, various other files

sonic cedar
modern kindle
#

i will say for my expansion drive a big holder of space is the fact i have the entirety of flashpoint ultimate 13

#

which is like several terabytes

daring fern
sonic cedar
#

it's not an smod even....

#

ill see my self out

modern kindle
gaunt thistle
#

it's not, but that would still work. they would need to figure out the right target string via --dump-all and looking at the .txt file in dumps.

placid star
#

how would you use a draw = func to draw a floating sprite on top of a card?

sonic cedar
modern kindle
sonic cedar
#

fair

normal crest
modern kindle
#

i do have an entire extra rig i intend on putting several terabytes into so i can move most of my shit off here

modern kindle
#

cause i only want games and a few things on here

#

i already have my ftp setup and all that

placid star
modern kindle
#

just lazy

#

and lacking space

sonic cedar
modern kindle
#

i want no sprites

gaunt thistle
#

hence why they would need to figure it out elsewhere

wintry solar
#

dilly why do you need so many games installed at once

#

do you even play them

placid star
normal crest
sonic cedar
gaunt thistle
modern kindle
#

plus imagine waiting for downloads if you want to game immediately

gaunt thistle
#

eg. it doesn't change or set them

gaunt thistle
modern kindle
#

for the 1200 games im about 51% through, and i intend on 100% everything

gaunt thistle
#

(t*rrent gets you timed out for 5 mins iirc)

placid star
modern kindle
#

so it lets me do as i please on a whim

modern kindle
gaunt thistle
#

I've made the mistake myself and gotten timed out o7

modern kindle
#

for the funny i was gonan say 'id never say -word-'

red flower
modern kindle
#

but i guess i shouldnt play with fate

sonic cedar
gaunt thistle
sonic cedar
modern kindle
#

yea but i like yapping

modern kindle
#

call me yappy the yapster

modern kindle
scarlet imp
modern kindle
#

still have not beaten the game once

placid star
modern kindle
#

i start ds3, get a little into it, get bored, stop playing, come back, restart cause idr what happened, repeat

#

elden ring grabbed me because it let me go out and explore and do whatever
but ds3 felt too linear and i grew bored

gaunt thistle
#

I had that same issue

modern kindle
#

since i have now obliterated elden ring though i hope i have a new found love for ds

#

cause i loved elden ring

scarlet imp
#

the older souls games feel weird to play after you've played alot of Elden Ring, since Elden Ring is much more forgiving and responsive with rolls and defensive options

#

imo

gaunt thistle
#

play Noita

modern kindle
#

i recently beat puss! which was a game to get mad at sometimes
but a pretty fun little game for what it is

placid star
modern kindle
sonic cedar
placid star
modern kindle
#

what the hecks a bala to

gaunt thistle
placid star
#

🏀 a toe

gaunt thistle
#

it's a really open sandboxy roguelike

#

hard to explain

modern kindle
#

icicic

placid star
#

play hollow knight now goober

gaunt thistle
#

but it's got some really incredible mechanics wrt. wandbuilding and stuff

modern kindle
#

i dont think i have a ton of experience in roguelites but i liked things like voidigo

gaunt thistle
#

I've really fallen into them this past year

#

very fun

modern kindle
gaunt thistle
#

I feel like you either love it or hate roguelikes

modern kindle
#

currently ive been playing the thaumaturge

#

which has been alright

gaunt thistle
#

I've heard a little bit about it

placid star
modern kindle
#

it has a nice story and cool combat, but unfortunately falls a bit flat because i feel like they couldve done more combat wise
just is alot of walking and right clicking

sonic cedar
modern kindle
#

i almost applied to work at their studio because they need an it specialist and im well overqualified for that and hey work visa time

#

but i wouldnt be able to just uproot my gf here

gaunt thistle
#

where is the studio located? sounds like fun

modern kindle
sonic cedar
#

youre on the wrong branch

gaunt thistle
placid star
gaunt thistle
#

you'll get the visa eventually :-)

#

it's really something you can't force

modern kindle
#

yeye
its mostly a waiting game and all that blah blah

placid star
#

i forgot i closed the tab earlier lol

modern kindle
#

for now i have fun vacationing and i have to wait for the gf to finish her masters anyway

#

shes a ornithologist

gaunt thistle
#

my parter almost went into that field

#

but that's cool as hell wtf

modern kindle
#

she loves it, i dont know alot about birds but ill let her yap about it

sonic cedar
#

real

faint yacht
#

🐦

modern kindle
#

shes currently doing research for the department of energy regarding birds and the impacts solar sites have on them for things like the 'lake effect' which is birds seeing the reflection of them and thinking its water resulting in crash landings

#

which i think is neat

vague crest
#

found a weird bug where my joker which adds cards isnt compatible with hologram (or one of the add card jokers from my mod) which is odd because i thought that was excatly what it checked for? is there another approach i need to take

#

actually i could probably try that smods add card thing ill do that first

maiden phoenix
vague crest
#

oh its soooo simple tysm!

sonic cedar
#

can you guys give me a random number that's a multiple of 3 i wanna see something

modern kindle
#

3

#

the real answer i can give you thats interesting is 123,456,789

#

which is 3 x 41,152,263

placid star
# sonic cedar youre on the wrong branch

okay so do they load the first soul_pos sprite then change it with this


return {
    card.children.vic_floating_sprite = Sprite(card.T.x, card.T.y, card.T.w, card.T.h,
                G.ASSET_ATLAS[card.config.center.atlas], {
                    x = 0,
                    y = 2
                })```
sonic cedar
sonic cedar
modern kindle
#

can you write me down

sonic cedar
#

oh my

placid star
sonic cedar
#

it's monday

#

ok

sonic cedar
modern kindle
#

huge

#

we're so besties

#

we shoudl go get some brats together

#

i should clarify

#

bratwurst

#

i love bratwurst

rotund sable
#

Yes I don't have a recording software that works

modern kindle
#

now do snake

#

and then give it to me

sonic cedar
modern kindle
#

i love getting the spicier ones they make me so happy

rotund sable
sonic cedar
wind steppe
#

how would i make a blind that debuffs cards on play prior to scoring? (only during the boss blind)

modern kindle
#

i should make toma

sonic cedar
#

do you need a ref

modern kindle
modern kindle
sonic cedar
wind steppe
#

and prior to play

#

i don't want to do that

sonic cedar
#

?

wind steppe
#

thats not how it works

sonic cedar
wind steppe
#

i just get passed a bunch of cards when the blind loads up from context.debuff_card

#

actually hold on

#

could i use context.before in a boss blind?

sonic cedar
modern kindle
#

would context.press_play work out for you better then context.before

hallow slate
#

How would I check all cards when I stop moving them

wind steppe
daring fern
sonic cedar
modern kindle
wind steppe
sonic cedar
#

thank you dilly

wind steppe
#

oh nvm

sonic cedar
#

NOT that one 😭

modern kindle
wind steppe
hallow slate
lament agate
#

how do you merge a pull request

sonic cedar
#

hiiii nxkoo

modern kindle
#

at the bottom you should see a buttont hat says to merge

gaunt thistle
#

typicall there should be a merge button on GitHub

sonic cedar
gaunt thistle
#

but if you have a merge conflict you're fucked

sonic cedar
#

TRUE

#

can...confirm...

lament agate
#

theres none

gaunt thistle
#

the pr was closed

normal crest
#

the PR is closed

lament agate
#

oh

sonic cedar
#

nkxoo are we fr

normal crest
#

click reopen at the bottom

#

if you wanan merge it

lament agate
#

I JUST

#

WOKE UP

#

SHUT UP

gaunt thistle
#

it's ok jeez

modern kindle
#

who wants to deep clean my mod

lament agate
#

fytgyuio9uhy

sonic cedar
#

does it work now

sonic cedar
lament agate
#

:3

gaunt thistle
#

yay :-)

lament agate
#

:3

modern kindle
#

i keep wanting to call you niko

zealous glen
lament agate
placid star
gaunt thistle
sonic cedar
modern kindle
#

i keep wanting to call metherul mithril

zealous glen
#

I pronounce it “Nxkoo” but I think I’d prefer not to due to how it sounds in Portuguese

wind steppe
#

how would i loop through the scoring hand (no context, not in calculate)

gaunt thistle
zealous glen
#

huh

modern kindle
#

we fw mithril

lament agate
zealous glen
#

I was reading it as “mehterul”

gaunt thistle
#

ok Panasonic flat screen television 4k HDR with optional intuitive touch remote

zealous glen
#

“te” as in, idk, “temple”

zealous glen
modern kindle
zealous glen
modern kindle
#

i just stopped looking a couple days ago

gaunt thistle
faint yacht
zealous glen
placid star
wind steppe
wind steppe
#

usually i do it through calculate contexts

#

but i dont have calculate this time

zealous glen
#

Card.set_sprites is usually just run when the card is created, I think

modern kindle
#

are you not doing it throught he blind? blinds do have calculate so

zealous glen
wind steppe
#

isnt that what you suggested

zealous glen
placid star
wind steppe
zealous glen
#

I guess you can always create all sprites and just not draw them

#

That’s what I had suggested Toma

placid star
modern kindle
#

what da freezer do

placid star
modern kindle
#

oic

#

i got a lil smth too

placid star
#

hjoly shit

modern kindle
#

ive been shooting myself trying to make seals work inside of it to no avail though

placid star
#

essentially i want the expired and consumed food to appear in my freezer :3

modern kindle
#

cause i be joker sealing too

placid star
scarlet imp
#

looks like we all had similar ideas

modern kindle
scarlet imp
#

hey its a good one, can't blame anybody

modern kindle
#

@daring fern i see u reacting but the issue is that for some reason my fridge is not reading any contexts from the seals

when i print my stored_steal_ret its nil and for some reason gold and red seal dont trigger on the fridge itself either

although both purple and blue do

modern kindle
modern kindle
#

hes a cool guy

placid star
modern kindle
#

i bet u dont have a him

placid star
modern kindle
#

my goatie woaty

sonic cedar
modern kindle
#

wyd if i devoured him

sonic cedar
#

id kill you

modern kindle
#

what if i said no

sonic cedar
#

id kill you again

modern kindle
#

wtf

sonic cedar
#

leave my son alone

modern kindle
#

ive decided to take ownership

so now my son

placid star
#

sonic cedar
#

pain and suffering

modern kindle
#

there gonna be alot of pain and suffering if u dont freaking help them

sonic cedar
#

you and i both know it's gonna be ui again

modern kindle
#

and you love ui

sonic cedar
#

FALSE

modern kindle
#

😵‍💫

sonic cedar
rotund sable
placid star
modern kindle
placid star
sonic cedar
modern kindle
#

this is a no R household

rotund sable
sonic cedar
modern kindle
rotund sable
sonic cedar
#

i forgot the joke and thought you guys were losing it

harsh bobcat
#

This is my attempt at making an enhancement It crashes and says rarity is nil and Idk cause it is clearly 3

function init()
    
SMODS.Enhancement({
  key = "rotten",
  atlas = "enhancers/e_rotten",
  pos = { x = 0, y = 0 },
  config = { extra = { chance_of_destroy = 2 } },
  rarity = 3,
  weight = 0,
  overrides_base_rank = true,
  loc_vars = function(self, info_queue, center)
    return { vars = { center.ability.extra.chance_of_destroy } }
  end,
  calculate = function (self, card, context)
    if context.discard then
      if math.random(card.ability.extra.chance_of_destroy) == 1 then
        SMODS.destroy_cards(card)
      end
    end

  end,
  set_badges = function(self, card, badges)
    badges[#badges+1] = create_badge(localize('k_p_rotten'), G.C.RED, G.C.BLACK, 1.2 )
  end

})
SMODS.Enhancement({.....
sonic cedar
placid star
sonic cedar
sonic cedar
harsh bobcat
placid star
sonic cedar
placid star
harsh bobcat
#

pretty please

sonic cedar
modern kindle
sonic cedar
placid star
sonic cedar
#

not watching ts 🥀

placid star
#

(this)

gaunt thistle
rotund sable
gaunt thistle
#

excellent work

sonic cedar
placid star
modern kindle
#

currently i just need seals to work with it

#

but hopefully i can bug something soon for more help there

sonic cedar
modern kindle
#

yea

#

negatives also increase joker storage slots

sonic cedar
#

so if the mult gains and i put it in the fridge will it save it from possible destruction

rotund sable
modern kindle
#

rotten is an edition only acquired in the fridge

sonic cedar
modern kindle
#

yes

#

lmao

sonic cedar
#

i cant post gifs but hank schrader

modern kindle
#

i wish we had gif access

sonic cedar
#

now i just have to hope the person is rotted enough to get it

placid star
modern kindle
#

toma since you looooove ui you should make me a health bar that always displays underneath this guy

harsh bobcat
rotund sable
# harsh bobcat

-# im dumb as always
you should probably use SMODS.pseudorandom_probability either way (if you're on the newest version of smods)

placid star
modern kindle
#

i also LOVE going in to debt

modern kindle
placid star
rotund sable
harsh bobcat
#

ok

#

oh no

modern kindle
sonic cedar
placid star
scarlet imp
sonic cedar
modern kindle
harsh bobcat
#

yay

sonic cedar
#

gulp

modern kindle
violet gull
#
    key = "matchstick",
    loc_txt = {
        name = "Matchstick",
        text = {
            "Gains {X:mult,C:white}X#1#{} Mult when scored hand is more than blind",
            "{C:attention}Resets{} if scored hand is not more than blind",
            "{C:inactive}(Currently {X:red,C:white}X#2#{C:inactive} Mult){}"

        }
    },
    config = { extra = {cur = 1, gain = 0.5} },
    loc_vars = function(self,info_queue, card)
        return {vars = {card.ability.extra.gain, card.ability.extra.cur}}
    end,

    rarity = 3,
    atlas = "main",
    pos = {x=5, y=10},
    cost = 10,
    demicoloncompat = true,

    calculate = function(self, card, context)

        if card.ability.extra.triggered == nil then
             card.ability.extra.triggered = false
        end

        if context.joker_main or context.scoring then
            return {xmult = card.ability.extra.cur}
        end

        if to_number(G.GAME.chips) > to_number(G.GAME.blind.chips) then
            if card.ability.extra.triggered == false then
                card.ability.extra.cur = card.ability.extra.cur + card.ability.extra.gain
                quick_card_speak(card, "Upgraded!")
                card.ability.extra.triggered = true
            end
        end

        if context.before or context.setting_blind then
            card.ability.extra.triggered = false
        end

    end,


}```

how would i make a reset function for this, so if the hand is not worth more than the blind, it resets the xmult
gaunt thistle
placid star
harsh bobcat
#

This is what is in the file wdym

#

Ok now it is empty and it still doesn't work wtf

glass crown
#

if i wanted to make a custom background color combo for a booster pack, how would i go about that?

harsh bobcat
#

was wong here

subtle merlin
#

if you're in context.end_of_round can you call G.GAME.current_round.hands_played?

daring fern
subtle merlin
cinder shell
#

step 1 of being a new modder that wants to add jokers to balatro that could fit in the game
brainstorming

neat leaf
#

After a while, the mod I'm working on seems to cause signfiicant drops in framerate, and I'm not sure why that'd be the case. What advice is there for diagnosing framerate drops? I verified the issue isn't the event manager (it's empty).

placid star
sleek nova
#

im trying to make a joker unlock after losing with x money
where is the check for unlock of mr bones so i can see how to make something unlock through losing

glass crown
#

whats the context for when a card is destroyed? trying to make it so that when a card with a new seal is destroyed, it gives you a consumable

red flower
#

context.remove_playing_cards

glass crown
#

gotcha, thank you

glass crown
#

how would i check in context.remove_playing_cards that the card being removed is the card with the seal?

scarlet imp
#

if context.remove_playing_cards and context.other_card:has_seal() (or whatever the seal detection function is for SMODS I don't remember)

#

you could try that

subtle merlin
#

Can one add a text node to a rarity?

normal crest
#

nop, the list of removed cards is in context.removed

#

there is no context.other_card here