#💻・modding-dev

1 messages · Page 294 of 1

tall wharf
#

this file has a bunch of functions

manic rune
#

hey thats my idea!!

daring fern
#

It works fine for me.

tall wharf
#

i literally can't be assed to write G.E_MANAGER:add_event(Event{func = blah, trigger = "after", delay = 0.1})

scarlet spire
#

is it possible to make a custom sticker incompatible with another sticker? in this case, eternal?

manic rune
scarlet spire
#

or, obviously it's possible, I'm just not sure how to do that

manic rune
#

is this fair

old bane
manic rune
old bane
#

ah

manic rune
#

its not that bad if u dont fuck up :3

rapid stag
#

in early antes, probably not
in later antes, may actually be beneficial if player has too many cards in deck

tall wharf
manic rune
#

to like "before" or "immediate"

tall wharf
#

i usually just want the after so

tall wharf
#

i need some more testers for the solitaire thing

#

to see if this at least was close to the windows one

#

i added the card stacking

#

thing

#

also no i didn't end up using major whatever that is

crisp coral
tall wharf
#

i do remember the argument

#

at least some of them

lucid owl
#

how could one make something reroll the shop without increasing the cost? (different from chaos the clown as that's just once)

#

i think the idea might be to mess with how reroll price increases are done but it's a bit convoluted

tepid crow
#

isn't there some sort of reroll_cost_increase variable?

#

could set that to 0

paper zealot
# tall wharf to see if this at least was close to the windows one

First issue is that the window is too large for 16:9 displays, might need to scale or squish the cards down a smidge.
Second, if you do go ahead with extending Card (which i think you should), you could probably disable the card hover tooltip since it's a little distracting and unnecessary

tall wharf
paper zealot
#

Card shadows on stacks are dodgy, but i guarantee that won't be easy to fix, so probably ignorable

manic rune
#

solitaire in my poker game...

paper zealot
#

Game is arguably too easy when the reserve deck deals one card at a time instead of the standard 3. I haven't been able to lose a game yet

glass scaffold
#

So uhh how do I make a card a Lucky Card using the new documentation?

manic rune
#

context.other_card doesnt exist in context.joker_main

#

change context.joker_main to context.individual

tall wharf
#

yeah

paper zealot
old bane
tall wharf
tall wharf
signal slate
glass scaffold
manic rune
#

change the key to something more unique

signal slate
manic rune
#

probably doesnt matter

tall wharf
signal slate
#

ok

tall wharf
#

i locked it to be just the base 52 cards

manic rune
#

aiko how are you so cool

tall wharf
old bane
tall wharf
manic rune
#

what sound does a chainsaw make

tall wharf
#

probably chainsaw sound

reef belfry
#

Vbhhhrrrrrrrrrrrrrrrrrrr

manic rune
old bane
#

LMAO

tall wharf
#

saws

manic rune
#

randomly selected message everytime

old bane
#

i have literally zero clue on how to implement highlighting cards (not like selecting them but literally making them glow)

manic rune
#

❤️

old bane
#

cause one of my card effects is highlighting the best possible hand (not like scoring wise but just the highest poker hand you can play)

#

but idk how to add like a glowing outline to cards

manic rune
#

the best solution would be to make a shader

#

:p

old bane
tall wharf
#

damn i love shaders

old bane
#

cause i was thinking like

#

the glow would be like an outline

tall wharf
#

問題がある

old bane
#

but i could probably just make it like

manic rune
old bane
#

glow the card itself

manic rune
tall wharf
#

what the hell

old bane
tall wharf
#

I'm too stupid

#

Minecraft Movie is actually peak

old bane
tall wharf
glass scaffold
#

I did the same pattern with my last Joker and that worked.

ocean niche
#

anyone know how too remove a random joker from the players deck

old bane
#

Arya_UncommonRarity.png

manic rune
#

thats one hell of a 🔑

tall wharf
ocean niche
old bane
glass scaffold
#

I'll probably clean it up when this isn't just from the start.

manic rune
# ocean niche anyone know how too remove a random joker from the players deck
G.E_MANAGER:add_event(Event({ --Destroy the marked Joker
                  func = function()
                     jokerIsMarked.T.r = -0.2
                     jokerIsMarked:juice_up(0.3, 0.4)
                     jokerIsMarked.states.drag.is = true
                     jokerIsMarked.children.center.pinch.x = true
          
                     G.E_MANAGER:add_event(Event({trigger = 'after', delay = 0.3, blockable = false,
                           func = function()
                              G.jokers:remove_card(jokerIsMarked)
                              jokerIsMarked:remove()
                              jokerIsMarked = nil
                              return true; end})) 
                     return true
                  end
                  })) 

this is what i do to remove a joker, you can change jokerIsMarked to what joker you want to destroy

old bane
#

and then remove it using start_dissolve()

manic rune
#

they called the atlas wrong too

#

its uncommon_arya

tall wharf
#

right

manic rune
#

not the path itself 🥀

tall wharf
#

you'll also need prefix too

manic rune
#

nop

tall wharf
#

i think you do

manic rune
#

nuh

tall wharf
#

then nevermind then

manic rune
#

:3 its a good practice to add your mod's prefix to atlas' key though

#

but its not mandatory

tall wharf
#

man i sure love adding blind to my deck

manic rune
#

what

tall wharf
#

nothing

glass scaffold
#

Yeah, none of that worked.

#

The common variant is the one that works.

#

So now it's a game of Spot The Difference

#

Any other ideas?

#

Wait, my last stable version has way different variables. I'll just rollback and use those.

glass scaffold
# tall wharf

Yeah, that's what my last stable ver has, so going with it

#

WE'RE BACK

#

And the code works first try.

ocean niche
#

how do you add a delay??

#

nvm

#

how can I detect shop start?

ruby delta
#

@glass scaffold sorry for the ping, needed a small help, I wanted to change a joker's texture, and name, it's only one joker

#

How can I do it

glass scaffold
ruby delta
glass scaffold
ruby delta
ruby delta
glass scaffold
ruby delta
glass scaffold
#

1x is 71 * 95

#

2x is 142 * 190

#

However, you don't NEED to follow it as you can make it any size.
Just adjust for it accordingly in your Atlas.

ruby delta
ruby delta
#

Owhhh

#

I get it

#

= "Mmmmm.png",
px = 710,
py = 950
}

#

This? @glass scaffold

ocean niche
#

how do you activate something at the start of the shop

daring fern
glass scaffold
ocean niche
glass scaffold
glass scaffold
#

(check the example on how it goes.)

glass scaffold
#

It's best to make sure it matches the actual dimensions of your .PNG

ruby delta
# glass scaffold (check the example on how it goes.)

I don't need this right?
text = {
"Each played {C:attention}7{}",
"gives {C:chips}+#1#{} Chips and",
"{C:mult}+#2#{} Mult when scored"
}
},
config = {
extra = {
chips = 70,
mult = 7

Btw the example is that a custom joker or the in-game one

ocean niche
glass scaffold
ruby delta
#

@glass scaffold am I correct?

#

Again, sorry for disturbing you

ocean niche
ruby delta
glass scaffold
glass scaffold
ocean niche
glass scaffold
ocean niche
#

@tall wharf do you know how too remove a random joker?

ruby delta
glass scaffold
daring fern
ruby delta
ocean niche
#

@daring fern would you happen too know how too add negative too a random joker?

daring fern
ruby delta
#

Correct?

glass scaffold
ruby delta
glass scaffold
#

I'll trust in that.

daring fern
glass scaffold
ocean niche
daring fern
ocean niche
#

for k, v in (G.jokers.cards) do
if not v.ability.eternal then
eligible[#eligible+1] = v
end
end

first line of this

#

@daring fern ?

ruby delta
#

@glass scaffold 😵‍💫it added a new joker instead

modern kindle
#

doesnt your code say smods.joker

that would make it a joker

daring fern
ocean niche
rose dragon
ocean niche
#

can you provide more context

daring fern
ocean niche
daring fern
# ocean niche i tried this and it didnt work
local eligible = {}
for k, v in (G.jokers.cards) do
    if not v.ability.eternal then
        eligible[#eligible+1] = v
    end
end
local randomjoker = pseudorandom_element(eligible, pseudoseed('negative'))
randomjoker:set_eternal(true)
ocean niche
#

thanks

#

youve basically coded this entire joker for me lol

#

thanks alot

#

line 50 field edition is nil

#

@daring fern

daring fern
ocean niche
#

lets gooo

#

time for art

modern kindle
#

Good night chat, development {may} resume on the morrow

modern kindle
#

I'm not sure what you're trying to make, if it's a consumable then it's SMODS.Consumable
If it's a deck it's SMODS.Back

ruby delta
daring fern
ruby delta
modern kindle
#

Yea malverk is probably the way
If not couldn't you just use take ownership as well?

daring fern
reef belfry
#

dont know why i would add a mod icon since this would probably never release but why does it look like that

ruby delta
# daring fern Yes.

I just want to make a standalone mod I have already done. Everything just wanna fix one thing

ruby delta
reef belfry
#

oh right its 32 by 32 not 34

#

something something risk = reward

ruby delta
reef belfry
#

not taking risks punishes you thouugh

ruby delta
reef belfry
#

yeppers

ruby delta
#

Please can someone help me just replace the name and jokers texture

scarlet spire
#

oh this is fun (annoying), the "shiny" shader used on gold stake specifically responds to the saturation component of the sprite, so a more desaturated sprite has barely any shine on it at all

#

how do I even get past this

#

I'm actually realizing now that I've dealt with this before when making the silver seal, because that uses the same shader I think, and I was running into this brightness issue before, which I solved by making a custom variant of the shader that's just way brighter

glass scaffold
#

So the math.random() library in Lua works for Balatro modding...

daring fern
#

It's not recommended though.

glass scaffold
#

pseudorandom only generates between 0 and 1, so you see the issue there.

daring fern
rose dragon
glass scaffold
tall wharf
#

nah that's weaker than a Cavendish

rose dragon
#

since math.random ignores that

scarlet spire
#

with some pretty simple math, you can convert a 0-1 range to any possible range you want

tall wharf
#

true

glass scaffold
tall wharf
#

nvm i just read what it says

tall wharf
scarlet spire
#

balatro as a game is kind of built upon deterministic randomness

hushed field
#

Pseudorandom has a function specifically to make it pick values between two numbers

glass scaffold
wintry solar
glass scaffold
#

But alright, I'll figure that math out a different time.

wintry solar
#

No need for math at all

scarlet spire
#

I am in pain

tall wharf
tall wharf
reef belfry
#

the trecherous blind of

rose dragon
hushed field
glass scaffold
scarlet spire
# scarlet spire I am in pain

stake key is 'stake_silver'. localization in the Stake category is under the entry 'stake_silver'. this still doesnt work

tall wharf
#

i wonder if prefix is needed

scarlet spire
#

i've tried every combination of prefixes I can think of

tall wharf
#

i haven't touched stakes yet

wintry solar
#

Mod prefix pls

reef belfry
#

i love the ratio of legendaries to normal jokers that i have

scarlet spire
wintry solar
#

stake_ytf_silver then

scarlet spire
#

ah, stake_ is a whole prefix itself

#

i'm used to those being one letter for practically everything else

#

or, I think I tried that at one point, but forgot that class prefixes go before mod prefix

#

1 am moment

#

the final thing to figure out here is how to make this custom sticker incompatible with eternal

#

because. this is not good

zealous glen
#

isn't there a can_apply

scarlet spire
#

oh, there's should_apply

ruby delta
ocean niche
#

how too get the amount of jokers you have

glass scaffold
#

But I gotta sleep soon.

zealous glen
daring fern
zealous glen
#

Incorrect ;P

ocean niche
#

I think I found a different solution

ruby delta
zealous glen
#

G.GAME.joker_buffer is a thing you need to keep in mind

#

there's also dollar and consumeable buffers

ocean niche
#

how would you check a value isnt nil

daring fern
scarlet spire
# scarlet spire oh, there's should_apply

okay this is extremely janky and annoying
using should_apply completely ignores the rate and just makes it always appear if true is returned. and also, card.ability.eternal is always returning false for no reason so I can't even check for eternal if I wanted to

#

why are stickers like this

ocean niche
zealous glen
wintry solar
#

Stickers are massively jank I hate them

scarlet spire
#

I get concerned every time i'm glancing at base game code and see individual checks for hard-coded variables dictating each of the stickers separately

ocean niche
#

anyone know how too add a delay

scarlet spire
paper zealot
silk scaffold
#

hey im figuring out how to make a joker for the mod im working on

#

but id like to ask if anyone can maybe walk me through to make sure the joker functions

#

just got the ante_count thing working but i think im only struggling on the last thing now

#
SMODS.Joker {
    key = "old_joker",
    config = {
        extra = {
            chip_bonus = 35,
            mult_bonus = 6,
            ante_count = 0,
        }
    },
    loc_txt = {
        name = "Old Joker",
        text = {
            "{C:attention}+#1#{} Chips and {C:mult}+#2#{} Mult",
            "per held {C:attention}Ante{} (Current: #3#)"
        }
    },
    rarity = 1,
    pos = { x = 19, y = 0 },
    atlas = 'joker_atlas',
    cost = 4,
    unlocked = true,
    discovered = true,
    blueprint_compat = true,
    eternal_compat = true,
   
    loc_vars = function(self, info_queue, card)
        return {
            vars = {
                card.ability.extra.chip_bonus,
                card.ability.extra.mult_bonus,
                card.ability.extra.ante_count
            }
        }
    end,
   
    calculate = function(self, card, context)
    if context.end_of_round and context.main_eval and not context.blueprint then
        if G.GAME.blind.boss then
            card.ability.extra.ante_count = card.ability.extra.ante_count + 1
          return {
            message = localize('Ante up!'),
            colour = G.C.attention,
            card = card
          }
        end
      end
        if context.joker_main then 
            return {
                chip_bonus = card.ability.extra.chip_bonus * card.ability.extra.ante_count,
                mult_bonus = card.ability.extra.mult_bonus * card.ability.extra.ante_count,
                ante_count = card.ability.extra.ante_count
            }
        end
    end
}```
#

Ohh and as well the message returns an error, lol

#

it pops up but not in the way i need it to be :p

wintry solar
#

The final return should just be chips = and mult =

paper zealot
ocean niche
#

how do you add a delay

paper zealot
ocean niche
#

im having a issue where its turning jokers that are being dissolved into eternal jokers so they dont get destroyed

silk scaffold
#

ok fixing it to mult and chips worked, but the chips value isnt doing the intended effect

wintry solar
#

What’s the intended effect

silk scaffold
#

well i mean it isnt giving a chip bonus :p

#

the mult is doing what i wanted it to do which is to multiply the mult value with the ante count

#

Oh i didnt realize that this was also a way to count ante

wintry solar
#

Show your final return again, you must have typed something wrong

silk scaffold
#
SMODS.Joker {
    key = "old_joker",
    config = {
        extra = {
            chip_bonus = 35,
            mult_bonus = 6,
            ante_count = 0,
        }
    },
    loc_txt = {
        name = "Old Joker",
        text = {
            "{C:blue}+#1#{} Chips and {C:mult}+#2#{} Mult",
            "per held {C:attention}Ante{} (Current: #3#)"
        }
    },
    rarity = 1,
    pos = { x = 19, y = 0 },
    atlas = 'joker_atlas',
    cost = 4,
    unlocked = true,
    discovered = true,
    blueprint_compat = true,
    eternal_compat = true,
   
    loc_vars = function(self, info_queue, card)
        return {
            vars = {
                card.ability.extra.chip_bonus,
                card.ability.extra.mult_bonus,
                card.ability.extra.ante_count
            }
        }
    end,
   
    calculate = function(self, card, context)
    if context.end_of_round and context.main_eval and not context.blueprint then
        
        if G.GAME.blind.boss then
            card.ability.extra.ante_count = card.ability.extra.ante_count + 1
          return {
            message = localize('Ante up!'),
            colour = G.C.attention,
            card = card
          }
        end
      end
        if context.joker_main then 
            return {
                Chips = card.ability.extra.chip_bonus * card.ability.extra.ante_count,
                mult = card.ability.extra.mult_bonus * card.ability.extra.ante_count,
                ante_count = card.ability.extra.ante_count
            }
        end
    end
}```
#

sorry, and again ty

daring fern
silk scaffold
#

just trying to learn and i started a few days ago so im j trying to catch a handle for it

#

oh.. lmfao

#

ty

wintry solar
#

You don’t need to return ante count either

#

That doesn’t do anything

reef belfry
silk scaffold
#

where can i find all the G.GAME functions?

#

I couldnt find it in the documentation

silk scaffold
# zealous glen What does it do?

Oh, the joker is to be gaining 6 mult and 35 chips for each held ante, it’s not complete yet but the last thing I want to do is make it so it always spawns as eternal

zealous glen
#

No

#

Incorrect

#

Put it in Card:set_ability

reef belfry
#

now to figure out what these 2 should do

silk scaffold
#

I was replied to as well that there’s a G.GAME.Ante_reset function that I can use to count / track held ante?

silk scaffold
zealous glen
#

I don’t think it’s a function

#

Or maybe it’s not in G.GAME

#

And I still think “held Ante” is confusing

silk scaffold
#

Yeah you are right and I’m going to change it to what you suggested tbh

#

Ty

silk scaffold
#

I couldn’t find it in the steammodded documentation 🥲

zealous glen
#

It’s vanilla

#

Not modded

silk scaffold
#

Ahhh ok so I’d have to read thru source files ?

#

Prolly yah

#

Ok Ty sm for the help again, I appreciate it sm

reef belfry
#

i should prob nerf this

zealous glen
#

What does “When rerolling, 10 rolls” means?

reef belfry
#

the 1 in 4 chance happens 10 times consecutively

#

i.e 3 missed rolls and 7 landed = $35

zealous glen
#

Why not say “10 times” then

#

It looks like it’s talking about shop rerolls otherwise

ocean niche
#
        if context.starting_shop == true then  
            --below gets a random card that isnt eternal
            local eligible = {}
            for k, v in pairs(G.jokers.cards) do
                if not v.ability.eternal then
                    eligible[#eligible+1] = v
                end
            end
            
            --below destroys random joker
            local randomjoker = pseudorandom_element(eligible, pseudoseed('seed'))
            if randomjoker then
                randomjoker:start_dissolve()
            end
              
            --below gets a random card that has no edition
            local eligible = {}
            for k, v in pairs(G.jokers.cards) do
                if not v.edition and not dissolve then
                    eligible[#eligible+1] = v
                end
            end
            
            --below adds eternal and negative too random card
            local randomjoker = pseudorandom_element(eligible, pseudoseed('negative'))
            if randomjoker then
                randomjoker:set_edition({negative = true})
                randomjoker:set_eternal(true)
            end
        end
    end  ```

any idea how too stop this from giving  eternal and negative too the joker its deleting
reef belfry
#

i guess

faint yacht
daring fern
#

How could one auto buy something from the shop?

ocean niche
faint yacht
#

Or that too.

daring fern
ocean niche
#
    rarity = 4,
    pos = {x = 0, y=0},
    cost = 8,
    unlocked = true,
    discovered = true,
    calculate = function(self,card,context)
        if context.starting_shop == true then  
            --below gets a random card that isnt eternal
            local eligible = {}
            for k, v in pairs(G.jokers.cards) do
                if not v.ability.eternal then
                    eligible[#eligible+1] = v
                end
            end
            
            --below destroys random joker
            local randomjoker = pseudorandom_element(eligible, pseudoseed('seed'))
            if randomjoker then
                randomjoker:start_dissolve()
            end
              
            --below gets a random card that has no editio
            for k, v in pairs(G.jokers.cards) do
                if not v.edition and v ~= randomjoker then
                    eligible[#eligible+1] = v
                end
            end

            --below adds eternal and negative too random card
            local randomjoker = pseudorandom_element(eligible, pseudoseed('negative'))
            if randomjoker then
                randomjoker:set_edition({negative = true})
                randomjoker:set_eternal(true)
            end
        end
    end ```

@daring fern function/common_events.lua:375: attempt too index a nil value
#

no clue why this is crashing when It loads my joker

cold glen
#

how to execute function after cashout/start of shop ?

daring fern
reef belfry
#

how do you go about destroying a card BEFORE it scores

south lintel
#

if I'm using context.other_joker to trigger a joker, what should I do to make it exclude itself from triggering when it triggers with context.joker_main?

red flower
stark geode
#
calculate = function(self,card,context)
        if G.GAME.blind:get_type() == 'Boss' and context.selling_self then
            print("tiggered")
            local _card = create_playing_card({
                front = G.P_CARDS['A_H'],
                center = G.P_CENTERS.m_glass
            }, nil, false,false,nil)
            _card:add_to_deck()
            G.deck.config.card_limit = G.deck.config.card_limit + 1
            table.insert(G.playing_cards, _card)
            G.hand:emplace(_card)
            _card.states.visible = nil
        end
        
    end
#

it creates a blank space in the hand

#

but not a card

red flower
#

oh also remove the states.visible line probably idk what that's doing but it's probably making it invisible

stark geode
#

its code i got from dna

tall wharf
#

I'm sorry

red flower
zealous glen
#

Are you dad?

daring fern
zealous glen
#

See if card.getting_sliced = true helps

stark geode
#

so the card has this wierd gap

daring fern
red flower
red flower
daring fern
red flower
#

idk if theres a context for the cash out screen

stark geode
south lintel
#

I'm trying to make a joker that would behave like a food joker (has xmult that is being lowered and disappears when it reaches 1), but for some reason the game crashes with "attempt to perform arithmetic on a nil value" when I buy a card, why?

south lintel
#

config is
config = { extra = { Xmult = 5, Xmult_loss = 0.5 } },

red flower
#

hmm idk what the problem is exactly but all those self inside the event should be card

south lintel
#

gotchu, unfortunately it still crashes so it was not that

reef belfry
#

should this
A. Level up hand by 5
B. Add Xmult to the joker associated with it
C. do something else
D. shut up you suck

south lintel
red flower
#

oh didn't notice that lol

ruby delta
#

Thanks to everyone who suggested that I use Malverk, big thanks too @paper zealot

manic rune
#

is it possible to rotate an UI

daring fern
#

Is there a way to always calculate even at the very start with zero jokers?

brazen solstice
#

Hello, who is very good at making mods. Write in PM pls

red flower
red flower
wintry solar
unborn bay
#

i wonder if anyone has made a joker yet that just turns +Mult to XMult

#

if someone already did im just gonna do that for chips instead

#

XChips ,,,,,

placid star
#

does anyone know the add_deck() syntax for creating a card from a certain custom pool?

manic rune
#

is it weird how the red part can still be seen despite "h" being 0?

#

seems to only apply to h

#

decided to just make it not visible when its below or equal 0 :p

placid star
manic rune
#

i apologize

placid star
#

also i am intrigued, whats the function of the break thingy?

manic rune
#

here :3

reef belfry
#

I went mentally bonkers tryna think of a cool unique idea and made this instead

manic rune
#

THE joker

#

somehow

#

i feel like he might be the joker

reef belfry
#

+⁴(4•4⁴) Mult

red flower
placid star
manic rune
#

and now to make the text sideways

zealous glen
placid star
zealous glen
placid star
zealous glen
#

Should’ve gotten better eyes in the eye gacha

red flower
manic rune
manic rune
#

❤️ why isnt there something opposite to vert

#

mannnnn

#

...WHAT DO YOU MEAN local thunk

#

😭

zealous glen
hushed field
#

You're invading my brand I don't appreciate it, Victin ❤️

manic rune
#

weird

#

are "w" and "h" somehow linked to rotation?

glad osprey
#

why am i not in debt

manic rune
#

i cant believe you are treating yourself that well

modern kindle
#

Good schmorning chat

manic rune
#

hello dilly

modern kindle
#

Hello

hushed field
#

What's up, Dill

manic rune
hushed field
manic rune
#

you know the drill

glad osprey
#

no but i know the hammer

zealous glen
manic rune
#

i genuinely question how this can rotate text

zealous glen
hushed field
zealous glen
#

If you change height and width

#

The center also changes

manic rune
#

yeah, but how is that related to rotation

hushed field
zealous glen
zealous glen
#

I think it rotates from the center no?

manic rune
#

:3 i have no clue what that means

zealous glen
hushed field
#

Which mod do I work on tonight? I was gonna go to the cinema but my chronically ill body refuses to let me leave, so I'm here with you Jimbo's. I guess I could see what I can set up for Glue

manic rune
#

oh

#

ohhh, i think i know what you mean
-# probably

zealous glen
#

Glue?

placid star
#

doesa nyone know the syntax for a card destroying itself?
i have destroy_joker = G.jokers.cards[self]:start_dissolve() inside my return but its not liking it

manic rune
#

are "w" and "h" for determining where the center is for rotating?

#

🤔

zealous glen
zealous glen
manic rune
#

asamsalas HMMMMM

zealous glen
#

But might be reused to find the center of rotation

placid star
zealous glen
#

That won’t make it work, but it will avoid allocating it to a variable

#

Where is the code

placid star
modern kindle
modern kindle
hushed field
# zealous glen Glue?

#1353866504743161886 it's the thingy that's set up to increase shop size and fix joker spawn rates for when you play with so many mods that there are 400 consumables with a weight of 4

manic rune
#

alright so uh, i will just get straight to the point with this one since i dont even know where to go with this

how do i change the rotation of label_node? im guessing i need to change .T.r, and id have known how to if it were to be through a func, but i havent tried directly changing a node through a var before

zealous glen
hushed field
zealous glen
#

I meant like for my mod specifically

manic rune
#

victin

#

are you slowly stealing ice's identity or smt

hushed field
manic rune
#

😭

#

HUH????

zealous glen
#

I had the idea of making the spells we discussed into Consumables

manic rune
#

did yall's brain signals sync with each other 😭

zealous glen
#

That can’t show up naturally

#

But other effects can randomly create one

#

Maybe

zealous glen
hushed field
#

You're confusing me, Bepis

modern kindle
#

For a frame I was gonna make my name similar to bepis by making it dilpis

But I don't like the sound of that lmfao

modern kindle
#

Perchance...

red flower
zealous glen
#

DepisFever the Bepster

glad osprey
#

hey guys whats going on

zealous glen
#

V’

modern kindle
#

Depis the depster

zealous glen
glad osprey
#

ah ty n

zealous glen
#

Now you Bepis can do what Bepis (you) wanted to do

red flower
manic rune
#

will this work

glad osprey
reef belfry
#

Im starting to contemplate if i should actually use this

manic rune
#

false

reef belfry
#

Why are we doing identity theft

glad osprey
#

cause its funny

hushed field
#

what would it do? I do like the art quite a bit

zealous glen
#

Balatro: Indetity Theft Arc

manic rune
#

truly

reef belfry
#

I do not know

#

I just made it on a whim out of boredom

red flower
manic rune
#

you know what

#

let me double task rq

#

crap

hushed field
#

anyway i'm changing my name back because I'm getting confused haha. I think I'm gonna set up Glue to allow for making sure buffoon packs always spawn in the shop, as an option

manic rune
#

N'_The_Dillster @N'atro/DilousSpring

hushed field
#

and make every rarity rate a config option

manic rune
#

this was the joke i wanted to go with

modern kindle
manic rune
#

but it seems clyde wont let me change my nickname to that, sad

red flower
#

i want to finish 48 jokers by today

hushed field
zealous glen
zealous glen
#

Like some mods make the first pack spawn something from their mod

red flower
#

i probably wont it takes me an entire day to write descriptions

glad osprey
hushed field
#

But I want to make it so there are shop slots that you can force specific genres of content to spawn in. Like saying 'the first joker slot should always be a joker' and 'the fifth should always be a tarot card'

manic rune
#

well, anyways

#

this is how i can rotate an UI, right?

hushed field
modern kindle
#

Development resumes today

zealous glen
red flower
glad osprey
#

also the interest config doesnt work

quartz ravine
#

this is so odd, some of my planet cards can be created via a blue seal. But...one of my hands routinely crashes the game

I made a lovely mod to print out whats happening in create_card which proc's from a blue seal.

For one that works, I will see this (from my toml mod)

in create card, attempting to create card with forced key of c_Fox_Meteor

But for ones that crash the game, it's got a valu of forced key of nil

manic rune
#

bepis my beloved

zealous glen
#

Idk the difference

manic rune
#

wait wtf

red flower
modern kindle
#

Dilly your pfp looks awesome today, nice change

manic rune
quartz ravine
#

Oh Hi @manic rune !

zealous glen
manic rune
#

hello everyone!

manic rune
hushed field
hushed field
zealous glen
formal parrot
#

Ey chat

manic rune
#

if its constantly run in func = ... then will that still be a problem?

red flower
#

no idea

zealous glen
manic rune
#

welp, here goes nothing then

formal parrot
manic rune
#

god why am i delving so deep into this hole

hushed field
manic rune
#

I DONT EVEN KNOW ANYTHING ABOUT UI 🥀

zealous glen
glad osprey
quartz ravine
#

What is Bepis

manic rune
#

so true

modern kindle
red flower
#

walks away

manic rune
#

HEY

modern kindle
#

STOP THAT (person with the username of) N

manic rune
#

bepis

modern kindle
#

BEFORE HE GETS AWAY

formal parrot
manic rune
#

please rephrase your sentence

#

😭

formal parrot
formal parrot
modern kindle
#

Edited 😇

hushed field
# glad osprey why am i not in debt

oh, is it not because you're only setting loc_vars, which doesn't get read in at a time before config, so it never actually sets the config? I'm not seeing how this would work, per se, because my understanding is that loc_vars wouldn't ever get accessed in the set up period where config is important

quartz ravine
glad osprey
formal parrot
#

Hot take mouse and keys are way better than controller

manic rune
#

anyways

tepid crow
formal parrot
manic rune
modern kindle
hushed field
manic rune
#

wha

zealous glen
formal parrot
#

Imo if you’re gonna make a joker make it good and worth picking

glad osprey
zealous glen
#

That’s what I do 😭

tepid crow
manic rune
#

OH MY GOD IT WORKS

zealous glen
#

I think Jokers should have an use; but they don’t need to be consistent

modern kindle
manic rune
#

I CANT BELIEVE IT ACTUALLY WORKS AND DIDNT SEND MY CREDIT CARD INFO HERE

formal parrot
#

Yeah i love the art but seriously you always have your discards and hands equal or 1 difference

zealous glen
#

Not always

#

Burglar balatrojoker

unborn bay
#

The humble Water:

#

instant loss

zealous glen
#

Also I want it to work with Wrapped Candy

modern kindle
#

I have a joker that let's you carry over your unused hands and discards, so that would be an interesting use for red hand in synergy alone

zealous glen
formal parrot
zealous glen
quartz ravine
#

Ah-HA! The key must exactly match between your custom hand and planet card in order for a blue seal to work. That is what I was missing, @modern kindle

modern kindle
tepid crow
# glad osprey

You can just call the normal class apply method in your apply method, check the example docs

glad osprey
#

OH THATS WHAT THATS FOR

formal parrot
glad osprey
#

god im dense

modern kindle
zealous glen
formal parrot
#

Good joker

#

I like it

zealous glen
modern kindle
#

What is twewj

formal parrot
#

I swear victin is sometimes stewpid

quartz ravine
hushed field
#

me thinking i have an original joker idea 😄 me seeing everybody else basically make alien abduction jokers 😦

modern kindle
zealous glen
modern kindle
#

If Mr bones insta won the deck for me it'd be better

formal parrot
#

He’s supposed to be ass

modern kindle
quartz ravine
#

I think Mr Bones should have a fee to carry it. For instance, it should halve the interest you earn

formal parrot
#

Jimbo i’m gonna sue you for making the obelisk a thing

zealous glen
formal parrot
#

Who in their right mind thought obelisk and campfire are good jokers

zealous glen
formal parrot
hushed field
#

Oh, this is also a good reminder for me to put the stuff you pointed out yesterday on my QA list, and see if it's causing problems and how to fix those

manic rune
zealous glen
#

Worse after the nerf

manic rune
#

you can buy consumables and sell them

modern kindle
zealous glen
formal parrot
zealous glen
zealous glen
modern kindle
#

Victin is awesome

formal parrot
#

I’d say the only good use for campfire is if you have perkeo

tall wharf
#

i wish i know how to code

#

tbh

unborn bay
#

true ,,,,

modern kindle
#

Aiko I'm about to get rid of you permanently

formal parrot
zealous glen
formal parrot
#

I take ragebaits easily

modern kindle
#

Aiko stays doing crazy shit then says they don't know nothin

#

Hate them mfs

hushed field
#

i really like campfire as a concept, though I don't love jokers that are optimally used by being in the shop for a good while, haha

zealous glen
formal parrot
#

So we all agree obelisk is bad

quartz ravine
#

I can tell you exactly how I learned to code. Got hired for a job that I thought was going to be just scripting. Turns out everyone else knew c#

I then spent an entire month listening to chillHop essentials on repeat, slamming my head against the wall.

At the end of the month, my skull was shaped differently but I could not code

modern kindle
zealous glen
#

I don’t use it so I can’t say if it’s good or bad

formal parrot
#

Case closed

modern kindle
formal parrot
#

Hit the road jack is also a bad one unless you build your deck around jacks

red flower
#

anyway time to start coding

quartz ravine
#

With my new skull shape, I now do not care

modern kindle
quartz ravine
#

DAE just look at their commits wondering how it now works?

tall wharf
modern kindle
#

See I do this silly thing where I kinda push fuckin everything
There are times I'll push just a couple of line changes and I feel like I could just wait until i have alot to push

formal parrot
#

When i code doesn’t work i copy it to chat gpt and suddenly i have 2 more errors now

hushed field
#

i vibe code by just telling N what I wanna do and then he links me code I can steal

formal parrot
#

GOTTA LOVE AI

unborn bay
#

i have this really bad habit of making code, thinking it'll work first try, then getting stopped by a single syntax error and throwing myself to a nearby trash can i fucking hate programming

manic rune
#

RAHHHHHHHHHHHHHHHHH IT WORKS

zealous glen
#

Why is everyone talking about vibe coding now

tall wharf
#

RAAAAHHHH

manic rune
#

ROTATING TEXT WORKS

#

GHHHH

tall wharf
#

BEPIS

modern kindle
#

I just go to bepis and say 'this isn't working' and then bepis shoots me 8 times in the chest and then it works

tall wharf
#

ROTATE

#

PI

zealous glen
wintry solar
red flower
#

it doesnt even do the funny falling animation? 0/10

formal parrot
hushed field
#

I'm so excited to steal Bepis' progress bar code and put it on Lightning McQueen, you don't know how bad I need it, man

modern kindle
#

He made a pr so you can see it on smods requests

zealous glen
#

I’m also going to steal (your savings)

quartz ravine
modern kindle
unborn bay
#

i can't believe jimbo would do this ,,,,,

formal parrot
#

I’m also going to steal your balls

zealous glen
formal parrot
hushed field
zealous glen
manic rune
manic rune
formal parrot
#

I’m engineering my limits

hushed field
#

I am considering setting Love2D up and just messing around with UI so I can get a better understanding of the engine's UI capabilities. I have some ideas that aren't great to implement in balatro's current ui system, after all

formal parrot
hushed field
#

(like doing anything that'd require a sprite mask)

quartz ravine
#

I had one coworker who took two months of vacation, then came back and said he was getting caught up on training and watching meeting recordings.

Then after doing that for two weeks he announced he was quitting

wintry solar
#

I would have thought bottom to top would be the default 🤣

formal parrot
#

Does the cards become disabled when the break bar fills up ? Or what

wintry solar
#

I don’t think I’ve ever seen a progress bar fill from top to bottom

manic rune
zealous glen
#

The break bar measures how broken your arm is

#

At 100% your arm is ground to a fine dust and you lose 1 level

glad osprey
#

how do i tell balatro to render this deck at the correct width even tho its wider

formal parrot
#

I can’t tell if you’re messing with me or being serious

zealous glen
red flower
#

the break bar illustrates how long until you can take a break from balatro

hushed field
#

If I understood UI a bit better I could also probably make my indicators a more cohesive implementation, and maybe make that a pr for other people to use

modern kindle
quartz ravine
#

argh, where the heck do these values come from? The key of my hand in G.GAME.hands is some odd value I can't find in my code anywhere

zealous glen
#

When the break bar is full, you break your arm

formal parrot
tall wharf
#

functionality later 😭

zealous glen
tall wharf
#

design first

#

functionality later

formal parrot
zealous glen
hushed field
zealous glen
#

“Do A to do B”

#

If you can’t do A you don’t get B

modern kindle
formal parrot
#

dna copies your balls

hushed field
modern kindle
unborn bay
#

what does mentukn mean

modern kindle
zealous glen
hushed field
#

Just less procedural, but the boon of the quest system in Kino really is just the info_queue and procedural generation of quests (though I'm making that less procedural to make myself less confused when I'm trying to read the code)

zealous glen
#

I’m gonna use a better system

red flower
#

everyone should

zealous glen
#

RMMCT: read my mind card text

#

It’s an improvement over RTCETCCT

red flower
#

VBCT vibes based card text

zealous glen
modern kindle
zealous glen
#

That’s how Marvel Snap works

hushed field
#

Legends of Runeterra's 'I CANNOT BE STOPPED' was a nightmare in that community when it was revealed, haha

hushed field
unborn bay
#

i just realized i need to learn how to make ui code to display jokers for a joker

#

just seeing the samples for it is giving me average minified json file vibes

quartz ravine
unborn bay
#

no it's more like a list of jokers

modern kindle
unborn bay
#

like you can actually see the jokers that could be picked

#

the main idea is that the joker picks an effect from jokers you have already sold

hushed field
hushed field
red flower
manic rune
#

well crap, of course this doesnt work

it doesnt rotate its children with itself

#

hm

red flower
#

is that loss

hushed field
manic rune
#

i thought about just rotating the bar by 180 degrees, so that it fills from the other side

#

but it doesnt seem plausible now

modern kindle
modern kindle
manic rune
hushed field
manic rune
#

if rotation isnt the answer

#

.

#

hm

hushed field
modern kindle
manic rune
#

:p

#

i didnt figure out how to rotate ui so that was the easiest way

hushed field
manic rune
#

OH I THINK I FIGURED OUT

#

change align "cl" to "cr", then rotate by 180 degrees

#

PLEASE WORK
i once again realized the ui rotates from the center of itself, that doesnt matter, what am i even thinking

tall wharf
#

:3

#

wtf am i doing :3

manic rune
#

iii

#

nggg

#

if only there was a way to change the center of the ui's rotation

hushed field
red flower
#

i think writing 50 of these should be considered torture on the level of a war crime

modern kindle
manic rune
wintry solar
modern kindle
#

just make it extra separate fileset to include

hushed field
manic rune
#

make it negative height instead

wintry solar
#

Just align it to the bottom instead, no?

modern kindle
zealous glen
modern kindle
#

they can just change their stuff to work with your provision

manic rune
#

BUT i think i can just make the height become negative for the one below instead

#

so it grows to the opposite direction

#

god im dumb, i shouldve thought of that

wintry solar
#

I’m pretty sure the alignment is all you need

manic rune
#

oh

wintry solar
#

It should grow the opposite way because it’s contained within the outer node

manic rune
#

icic, thats convenient then, i overthought it too much i suppose

zealous glen
hushed field
#

but I'm not sure about the details of that, because the only times I've used code directly from other mods, it got turned into an inevitable SMODS pr that I didn't have to worry about anymore, haha

modern kindle
hushed field
#

taliceman

manic rune
#

...why did i even overthink it

wintry solar
#

UI is fun

red flower
quartz ravine
#

ahhh, now I am getting closer to the root of the problem

Somehow, my consumable and my hand type didn't link to each other

red flower
manic rune
hushed field
#

hmm, I should look into how the game handles the info from the config. I'm not sure if I can procedurally generate config options based on the mods you're currently running

quartz ravine
#

ahhhh ha!!!

my config is weird for one of my planet cards

formal parrot
manic rune
quartz ravine
#

Damned extra curly braces making me type them and waste two hours chasing them down

manic rune
#

welp, i think this should be all

red flower
#

needs pink suit

wintry solar
#

Text under the bar is possible?

#

Also how is it attached to the card?

placid star
#

how would i get a joker to dissolve AFTER a hand is fully scored, currently my joker just dies when jokers start to score and it looks like no joker is triggering the +mult they give

quartz ravine
#

yessssss. All of my planet cards work now!

hushed field
#

Eremel, does a mod's config mainly get handled in SMODS loader.lua? I'm trying to figure out how it works to see what the limits are, but config's a very common term that makes the search all function a bit less useful in tracking down where mod configs are all handled, haha

manic rune
faint yacht
hushed field
#

oh damn I wasn't expecting that to be in ui. That's set up a lot more concise than I was expecting it to be

manic rune
wintry solar
# manic rune mhm

Sounds good, just had a quick look over the code and it can definitely be condensed down to have a lot less repeated code, but seems to have everything it should do

manic rune
#

the horrendous indentation can be blamed on me writing that in a comment block ❤️

placid star
manic rune
#

wait

#

what are you trying to do there

placid star
#

kill a joker AFTER a hand fully scores

formal parrot
manic rune
#

thats not how you do it then

#

in context.joker_main, mark the joker, like

quartz ravine
manic rune
#

(the joker you want to target).ability["mark"] = true

#

then in context.after, go through G.jokers.cards and check for what joker has that mark

#

also, i think you should put that start_dissolve() stuff in an event

#

since from my experience, sometimes it doesnt actually destroy the joker for some reason when its outside an event

placid star
#

so the marking would look smth like G.jokers.cards[-self-].ability.remove = true?

wintry solar
#

What’s the condition for marking a card?

manic rune
#

doesnt necessarily need to be "remove", but yes

and [-self-] should always be a number if you are choosing a specific order

placid star
placid star
wintry solar
#

So the first time this joker scores it destroys a different one?

#

Or every time this joker scores?

placid star
#

this joker has a chance to be added every round from another joker, then after this joker scores once, it dies

#

if that makes sense

wintry solar
#

It removes itself, correct?

placid star
#

yeah

wintry solar
#

Get rid of all the marking stuff and just put card:start_dissolve() inside the context.after check

placid star
#

so it does function as its supposed to but it doesnt look like how i want it to

#

as it looks like mult is scoring from nothing

wintry solar
#

Oh put it in an event

faint yacht
#

...can pixel_size not exceed the default values if I have something using an atlas with larger height? (i.e. 104 pixels vs 95)

manic rune
placid star
manic rune
#

here, check this out

placid star
manic rune
placid star
#

okay tysm!

lucid owl
#

is there a way to manipulate pools easily? i'm trying to make a voucher that requires blank and antimatter, and when purchased, brings the blank and antimatter vouchers back into the pool of purchasable vouchers

placid star
manic rune
#

nope

#

context.after

placid star
#

ahh okay ty

red flower
#

got tired of writing descriptions

placid star
#

@manic rune okay so with that event, the joker will start to dissolve forever

manic rune
#

oh yeah

#

you need to return true in it

#

there, forgot to mention

#

:3

#

if u dont return true then it will keep running

placid star
#

ahh, so will events always keep running until they return true?

zealous glen
placid star
manic rune
#

np :p

faint yacht
#

Do I have to modify the drawing functions in order for the enhancement to be drawn properly instead of squished?

SMODS.Enhancement{
  ...
  pixel_size = { w = 71, h = 104 },
  ...
}
quartz ravine
zealous glen
quartz ravine
#

Always been one of my favorite moves in gaming! When I ran into enemies who could perform it in Breath of Fire, I was shocked as a kid

#

The idea is this

My mod is animal themed, so I have a Bear named A kuma

He gives more mult per played tens in your hand. So then I added a new hand, if you play 4 or more 10's, it will be this new hand 'Shun Goku Satsu'

And then....I added a hidden joker who unlocks when you play a five of a kind 10's, Shin A Kuma, who retriggers your played 10's based on how many levels you've put into the unlocked hand

long sun
#

hiya, i have a deck ability requiring cards to be drawn face-down — how would i do that?

quartz ravine
long sun
#

thanks :D

#

oh this needs to happen when a card is drawn

#

what's the context for drawing a card?

zealous glen
zealous glen
zealous glen
#

You can use the SMODS-added Blind context

long sun
zealous glen
#

context.stay_flipped

long sun
#

right

#

oh i see

#

and return true if i want it to be flipped

#

gotcha

zealous glen
#

Which means you could look at your deck

#

to see what you drew

zealous glen
#

And I repeat you could look at your deck to see what you drew

long sun
#

and i repeat, yeah :)

#

that's what i said :)

#

or meant, anyway

#

grand, i'll give that a go

#

thanks ^^

zealous glen
#

The game usually prevents you from knowing what you drew

#

By hiding the numbers

#

But only if cards are flipped while they're drawn AFAIK

lucid owl
#

is there a way to manipulate pools easily? i'm trying to make a voucher that requires blank and antimatter, and when purchased, brings the blank and antimatter vouchers back into the pool of purchasable vouchers

long sun
placid star
#

okay so my game crashes when i use this consumable with a legendary in my hand, can anyone see any errors?

zealous glen
placid star
#

would that fix the error?

long sun
ruby idol
#

attempting to make a consumable only useable when youve sold a joker during the run and have an open joker slot: does anyone know why this code doesn't work for that? it seems to always be returning false

chrome widget
#

What's the most effective way to add joker support to make a playing card be considered multiple ranks simultaneously?

#

I'm not really certain how to effectively address comparisons to the get_id() function in vanilla that are hardcoded

wintry solar
#

There isn’t

chrome widget
#

I would have to make an updated function and patch every single vanilla joker I'm guessing

#

Yikes

ruby idol
red flower
#

probably

chrome widget
#

But what if... I were to make a PR for SMODS and disguise it as my own cooking?

wintry solar
#

If you can figure out calculating straights go for it

chrome widget
#

Still not in love with how extensive that is, yeah