#💻・modding-dev

1 messages · Page 325 of 1

manic rune
#

BELOW

steady smelt
#

i can make the delays super long and it just sits there and waits for the delay then does the last event before the first one

paper zealot
#

You can't nest Columns within Columns or Rows within Rows, you have to alternate them

manic rune
#

i just need to move it below somehow

tall wharf
#

bepis what the fuck

paper zealot
# manic rune

You want a UIT.C, containing two UIT.Rs, each containing either the bar or the UIT.T node

unborn bay
#

everything in life is contained in a UIT.R tbh

tall wharf
#

each r should contain one of them think

naive flame
#

Alright

manic rune
#

i wonder why is it mandatory to alternate between R and C, but i think i understand now

#

one sec

paper zealot
#
UIT.C {
  UIT.R { 
    UIT.O (progress_bar)
  },
  UIT.R {
    UIT.T (text)
  }
}
manic rune
#

like this, right?

steady smelt
#

wait i have a horrible idea can i just nest events calling each other until it works

manic rune
#

oh wow that was the solution, i thought it just automatically aligns every child inside it vertically

#

thanks

#

:d

steady smelt
#

ts

shut crater
steady smelt
#

i knowww but its funnnn

#

and it works so i don't wanna touch it

naive flame
# naive flame Alright

I'm assuming that I can make a post in the modding forum for this, even though its currently just in the concepting phase?

paper zealot
steady smelt
#

wow nesting more events actually does work

#

this sucks

#

i love it

shut crater
#

this is your current event resolution order

steady smelt
#

but it wasn't

shut crater
#

wut

steady smelt
#

it was drawing the cards after the play area moved

#

i have no idea why

shut crater
#

is draw_card itself an event

steady smelt
#

but just putting 2 in another event add worked i think

shut crater
#

or like

steady smelt
#

oh probably

shut crater
#

does it use events

steady smelt
#

that actually makes sense

steady smelt
#

yknow what

#

i bet theres an immediate arg for draw_card

shut crater
#

so just calling draw_card would fix it lol

#

or that

steady smelt
#

but this is more fun

heady siren
#

So, how exactly am I supposed to structure consumeable types, consumeables, and boosters? I've been reading the documentation and still can't figure out how to make them work, they appear blank in the collection, and the game dies any time they appear in the shop

shut crater
#

is it though

steady smelt
#

spaghetti code best code

#

hm there isn't an immediate arg

#

couldve sworn

shut crater
#

did you try calling it outside of an event

steady smelt
#

it does call an event tho yeah

#

and you can pass in delay and such

#

buuut again this works and it will fall apart if i poke it i think

#

works asterisk

shut crater
#

so just remove event 1 and call draw_card and delay directly

manic rune
#

how do i reduce the gap between those

steady smelt
#

ok or, i could just not do that and have six events instead with like four of them nested

paper zealot
manic rune
#

hmm

#

couldve swore i changed all of them to 0.05 and still saw no difference, weird

steady smelt
#

bepis are you making balatro rpg

manic rune
#

kuro you dont know what my mod is capable of

steady smelt
#

as long as it's horribly grindy

#

like 1 scoring card = 1 xp

manic rune
#

.....i cant tell if theres any difference

#

maybe i should try setting padding to 0 or something

steady smelt
#

negative padding?

unborn bay
#

negativew padding

steady smelt
#

or wrong padding

manic rune
#

true

unborn bay
#

this kinda look like edwin who made the mimic

manic rune
#

oh it definitely changes alright

steady smelt
#

perfect

high sinew
#

Im trying to make a consumable card similar to The Empress am i doing something wrong?

#

makes two cards Candisimo

manic rune
steady smelt
#

one sec lemme find mine

high sinew
#

ok thank you!

#

ik its similar to turning cards into editions i just wasnt sure

steady smelt
#

set effect = "Enhance",
config = { mod_conv = 'KEY', max_highlighted = # },

manic rune
#

there we go

steady smelt
#

where KEY is your enhancement's key and # is how many you wanna convert

high sinew
#

can u send me ur code it prob isnt like mine so i can see

steady smelt
#

then you can pass in the info_queue if you know how to do that to show the popup

tall wharf
#

m

steady smelt
#

yeag i'll dm

high sinew
#

thank you 🙂

heady siren
steady smelt
tall wharf
#

bepis stop making jrpg

manic rune
#

i intend to add story to my mod too aiko

#

and theres NOTHING to stop me :3

tall wharf
#

fuck sake

naive flame
#

What would be a good basis for Custom Joker Sprites?

#

Just the basic joker?

#

Is this even the right place to ask about stuff like that?

manic rune
manic rune
steady smelt
manic rune
#

now that i think about it

#

the xp bar would make jokerdisplay look weird

steady smelt
#

jokerdisplay?

manic rune
#

yeah

steady smelt
#

what that i might be dumb

manic rune
steady smelt
#

ahh

steady smelt
#

yeah i've seen it before i just forgor

unborn bay
#

you should get jokerdisplay and joyousspring

heady siren
#

Guess I'll wait a few hours to bump my post again so people acknowledge it

karmic arch
steady smelt
#

i usually dont look at other mods unless it's something i know i won't wanna add, i don't wanna ruin any part of the creative experience for myself especially given i've made multiple joker concepts that i found out afterwards other people have already made

daring fern
manic rune
#

:3 how do i update dynatext

heady siren
#

Misread the documentation because they were on the same line, which is pretty confusing

manic rune
#

i thought it would just update itself if i do this, but i guess not

#

do i use :recalculate() or something?

heady siren
karmic arch
paper zealot
daring fern
heady siren
#

Okay so my jokers just didn't freak out when I put those into their configs, huh

manic rune
#

...the fact that i have to make the skill trees too after this scares me

#

im already terribly failing to make the xp bar 😭

paper zealot
# manic rune i thought it would just update itself if i do this, but i guess not

Strings are value types, so if you pass it somewhere else, then change the original value, the new one won't change.
In order for a DynaText object to see the change, it has to be passed as a reference type, where it's inside a table.

my_updating_string_table = { time = "10:00:00pm" }
dynaText = DynaText({
  string = { {
    ref_table = my_updating_string_table,
    ref_value = 'time'
  } },
  colours = colours,
  scale = text_size,
  --etc...
manic rune
#

ahhh, i see i see

#

thanks once again :p

heady siren
paper zealot
#

The difference between reference types and value types is really important to keep in mind whenever you're passing values around that might be changed later

heady siren
#

I'm gonna have to get into dynatext for my buff cards oh boy

manic rune
#

question, why is it string = {{...}} and not string = {...}?

paper zealot
#

nil, boolean, number and string are value types,
table, function, userdata and thread are reference types

paper zealot
manic rune
#

🥀

#

questionable choice, but ic

paper zealot
#

Oh, actually, it might have been to allow multi-line DynaText objects at some point, but it was never implemented

steady smelt
hoary crown
#

how to destroy every card in the deck

manic rune
#

i might be dumb

daring fern
shut crater
daring fern
#

Is this during scoring?

hoary crown
#

idk lua code at all

#

i know what end does

heady siren
#

You should probably learn that before everything else

daring fern
hoary crown
heady siren
#

Learn how lua works, learn how Balatro works

daring fern
hoary crown
hoary crown
steady smelt
shut crater
#

results may vary

heady siren
#

We're not here to teach you every single step in the process from sitting in front of a keyboard to having a functional mod, we're here for the latter half

steady smelt
#

but tbf i also have a lot of experience modding games i don't know the language for at all

hoary crown
#

im just confused with deleting cards

#

and now i know

heady siren
#

At least learn the basics of lua, end is one of the most abundant snippets in the entire language, if you don't know what that means, it's going to be excruciatingly painful to try and teach you modding

paper zealot
manic rune
#

actually, should it even be in a table

steady smelt
#

no i don't think so? maybe?? i know mine fucked up once when i didn't have it in one but in most places it only works not in a table

paper zealot
manic rune
#

should i post the entire crash log here

manic rune
steady smelt
#

where is hsr_level_bar_update ?

#

unless you changed the underlined bit to that

#

or i might be dumb

manic rune
#

......yeah im dumb, that was from an attempt where i tried using :recalculate(), completely forgot about that 😭

steady smelt
#

accurate

manic rune
#

does this not help with updating the table which DynaText is checking?

#

or am i misunderstanding how ref_table works

paper zealot
# manic rune

That should do the trick, though you should do hsr_to_refer_level_bar.text = "blah" instead

manic rune
#

its refusing to update

#

recreating the bar does make the text change - so im sure its just that it doesnt update, for some reason

paper zealot
#

I'm just checking to see which UI Elements get update calls and why yours would be missing out

manic rune
#

:3 maybe im ip banned from using DynaText

daring fern
#

How do I stop a Blueprint playing card from copying other blueprints when it copies them copying the other cards?

#

Or how do I exclude something from SMODS.score_card?

shut crater
#

how did you set up the copying?

#

can you use not context.blueprint

daring fern
paper zealot
heady siren
#

How could I go about making a card able to appear multiple times in a booster pack?

paper zealot
burnt cairn
#

looking at for index, _card in ipairs(context.scoring_hand) do, here index is a generic incrementing variable and _card is some object inside of scoring_hand?

burnt cairn
#

🫡

shut crater
burnt cairn
#

frogeline !

high sinew
#

Im trying to have a consumable card multiply money in ur inventory by the amount of jokers in a set im making. How would i make the local loop to make sure it checks if you have those jokers for calculation and also the calculate

tall wharf
#

how do i add vsrg to balatro

manic rune
heady siren
manic rune
#

-# aka nothing changed

#

i also tried changing the major to G like you asked - didnt work either

daring fern
manic rune
#

that honestly looks really satisfying

sturdy compass
# shut crater froge

This is super cool wtf?? Does it work when continuing a run from a restarted game?

paper zealot
#

Could also just tear the whole thing out of the Event, unless it's absolutely necessary

manic rune
#

ic, i will try that when im back home, thanks :p

sturdy compass
#

Wow bravo to that. SOUNDS like a pain

shut crater
#

I sure learned a lot about how balatro saves things

sturdy compass
#

I bet lmfao

paper zealot
# shut crater froge

Super cool. Also ridiculously powerful for an uncommon, but based on the mod name I'm guessing that's the point

shut crater
#

Tbh I've been meaning to upgrade the rarity I've just been forgetting

#

The mod name actually has to do with the eventual pow mechanic I plan to add

#

Which I came up with before I learned that talisman has builtin ^chips but oh well

daring fern
#

How difficult would it be to instead of redeeming vouchers they went to a special card area and you could blueprint the ones that have calculate?

shut crater
#

Vouchers already do go to a cardarea, it's just in the run stats page. But maybe you could reference that somehow

wintry solar
#

They also have an area in game

#

G.vouchers

hybrid galleon
#

ok it worked. but now I have to think how to add certain suits to my own custom deck.

burnt cairn
#

trying to get my head around the line for _, card_key in ipairs({unpack(card_keys, 2)}) do
im looking at the documentation for the unpack function but. what does it mean for one of the parameters to be a table and the other a variable

high sinew
haughty wraith
hoary crown
haughty wraith
daring fern
hoary crown
#

do i need anything before it

#

or after it

daring fern
hoary crown
#

ok

#

like this?

daring fern
heady siren
#

How would I dynamically change the sprite of a card based on a config extra variable?

#

It'll be in the same atlas, so I'll basically just be modifying the pos

hoary crown
gray apex
#

I'm trying to figure out how config files work, and I've come across a weird issue where there seem to be config entries (read through SMODS.current_mod.config that I've previously removed, and yet they still exist and I can't figure out how to remove them?

paper zealot
daring fern
gray apex
#

Where would the .jkr file be located?

hybrid galleon
#

I want to create a new enhancement which has both the property of the stone card and the wild card
it has no rank or suit, always scores, but can count as any suit when creating poker hands
is this possible?

daring fern
paper zealot
#

%AppData%/Balatro/config

gray apex
#

Ah, thanks!

hybrid galleon
native zinc
#

why am i drawing blanks 😭

#

TWO ACE OF CLUBS . booohooo

daring fern
heady siren
native zinc
#

no destruction here, i know how to destroy safely

heady siren
#

I don't know then, that's the only instance I've had where phantom cards exist

#

Most of the time it's because a dissolve or shatter effect was used on them

native zinc
daring fern
native zinc
#

well not all, but yeah

zealous glen
native zinc
#

maybe i'm drawing incorrectly ???

hoary crown
#

how do i make my card not need anything to be used 😭

burnt cairn
#

thats. a very vague question

daring fern
zealous glen
hoary crown
zealous glen
#

I had wanted to have a similar display of multiple cards but I had given up on it

native zinc
#

WHERE ARE YOU GETTING THE BLANKS FROM

heady siren
#

Out of curiosity, try running start_materialize on each card as you draw them

native zinc
#

hold on this card is attached to the angry card

spring lantern
#

oh god not the green stink particles of doom

native zinc
#

this is the worst debugging session ever

zealous glen
#

What are you doing

native zinc
native zinc
tall wharf
zealous glen
# native zinc

Drawing cards and destroying cards need to be done at specific moments and carefully otherwise you get duplicate references

native zinc
#

oh ...

spring lantern
#

hola

zealous glen
#

I have some card draw Jokers if you want to reference them

native zinc
#

well i knew about the destruction things

#

what's the context for em

spring lantern
#

oh so drawing cards also creates ghosts

tall wharf
zealous glen
zealous glen
spring lantern
#

playing counter strike

#

equivalent of self harm

native zinc
zealous glen
#

You just need to do it properly

spring lantern
#

i tabbed out to chat and now the game is dying

zealous glen
#

Or patch into it

zealous glen
zealous glen
#

In the GitHub

native zinc
#

add event???

#

oh god sure

high sinew
tall wharf
#

chat

#

What's unique

heady siren
#

Sex joker

daring fern
#

How does one make a custom card area?

faint yacht
heady siren
manic rune
#

tralalero tralala

manic rune
native zinc
#

this feels incorrect

hoary crown
#

how would I tell a deck to spawn with aces of hearts

#

you know what

#

nvm

#

i have an idea :)

heady siren
#

I've heard of joyousspring but don't know where to actually find it

daring fern
zealous glen
heady siren
#

Can you point me to a specific term to search so I don't have to go diving into your code blind?

native zinc
zealous glen
heady siren
native zinc
# zealous glen What exactly

you're using seperate functions so i have no clue where the correct order of operations begins and ends or when to draw the cards

zealous glen
zealous glen
native zinc
#

when do i draw the cards

#

nor do i actually get why the ghost cards are being made

zealous glen
#

Again the ghost cards exist presumably because of lost references

#

So it tries to draw a card that doesn’t exist or it draws the same card twice

native zinc
#

mine's drawing the same card twice

zealous glen
#

I think I just draw cards after cards are drawn

native zinc
#

i want to completely replace the cards being drawn with non-diamonds, basically

zealous glen
#

I had a similar effect but I manipulated the shuffle

native zinc
#

oh interesting

#

basically i've just been hacking at this praying i don't need to patch anything lmao

zealous glen
#

If you want to draw extra cards you don’t need to patch

#

But replacing draws I think needs some patching

native zinc
#

: pain:

heady siren
#

@manic rune Can you be like, bad at coding, so I can ready your code better? [=

zealous glen
#

Are you talking about Joyous Spring

heady siren
#

Wait this is N's code

#

I'm dumb

#

Sorry for ping

#

I'm also bad at reading

#

And everything else

zealous glen
#

If you want you can also check my mod

#

I add a CardArea

#

It’s all in a lovely patch

heady siren
#

Oh god I haven't even touched lovely patches

zealous glen
#

The main branch is super outdated

daring fern
hoary crown
#

i cant fix it

#

how to set rank and suit for deck of cards

zealous glen
daring fern
zealous glen
daring fern
zealous glen
#

Hmmm I don’t remember needing to manually put it in the draw pipeline but maybe you do

#

Or maybe you patched a different place

daring fern
zealous glen
#

Idk

#

Check my mod

hoary crown
reef bolt
#

Is there a context for drawing a playing card? I know hand_drawn exists but that only has a boolean function and the current joker I'm trying to make wants a context for every card that gets drawn and added to your hand

manic rune
#

@paper zealot sadly, nop

#

at this point do i update my smods

#

😭

paper zealot
# manic rune

Can i grab your code somewhere? I'm a little puzzled by that, might have a fiddle after dinner

manic rune
#

i havent pushed them to my github yet :p

daring fern
zealous glen
zealous glen
manic rune
#

dawg updating a dynatext cant be THIS hard

#

😭

hoary crown
#
SMODS.Back{
    name = "Deck of Aces",
    key = "deck_DOA",
    pos = {x = 1, y = 3},
    config = {only_one_rank = 'Ace', default_suit = 'Heart'}, -- Add default_suit
    loc_txt = {
        name ="Deck of Aces",
        text={
            "Start with a Deck",
            "full of {C:attention}Aces{}",
        },
    },
    apply = function(self)
        G.E_MANAGER:add_event(Event({
            func = function()
                for _, card in ipairs(G.playing_cards) do
                    assert(SMODS.change_base(card, self.config.default_suit, self.config.only_one_rank)) -- Pass default_suit
                end
                return true
            end
        }))
    end
}

something here is broken and i dont know what

reef bolt
# zealous glen I’m not sure what you want

to try and put it in more concise(?) words, I was wondering if there was a context for each individual card that gets drawn and then added to your hand

So that way for example, if an Ace gets drawn from the deck, you can then do calculations there before it goes into any hand playing/scoring/etc. but ignore any other cards

daring fern
#

Is the card area for the vouchers in run info G.vouchers?

zealous glen
reef bolt
#

ahh, that's what I needed then. I'll have to try and find it since I don't exactly know what the variable is named, but thank you for the pointer

native zinc
zealous glen
native zinc
daring fern
zealous glen
#

It’s a bit outdated but it should work

#

Oh wait you want to replace draws

zealous glen
native zinc
zealous glen
#

Yeah Tour Guide is old

#

Royal Straight Joker is newer

hoary crown
#

help

zealous glen
#

Thunk said it’s my turn to bump an old issue of mine

burnt cairn
manic rune
#

what function is run when you a run ends?

zealous glen
manic rune
#

lose

zealous glen
#

Idk

manic rune
#

dang

zealous glen
manic rune
#

its a group pfp :p

#

i wonder why theres no "lose_game" 😭

daring fern
manic rune
#

oh.

#

thanks :d

zealous glen
manic rune
#

mhm

hoary crown
#
SMODS.Back{
    name = "Deck of Aces",
    key = "deck_DOA",
    pos = {x = 1, y = 3},
    config = {only_one_rank = 'Ace', default_suit = 'Heart'}, -- Add default_suit
    loc_txt = {
        name ="Deck of Aces",
        text={
            "Start with a Deck",
            "full of {C:attention}Aces{}",
        },
    },
    apply = function(self)
        G.E_MANAGER:add_event(Event({
            func = function()
                for _, card in ipairs(G.playing_cards) do
                    assert(SMODS.change_base(card, self.config.default_suit, self.config.only_one_rank)) -- Pass default_suit
                end
                return true
            end
        }))
    end
}

something here is broken and i dont know what

#

can someone help

daring fern
hoary crown
#

ok

#

thank you.

manic rune
#

most of the questions you ask are always outside my knowledge range, smt 🥀

paper zealot
# manic rune

Ah, i think it's because you're still doing

hsr_to_refer_level_bar = {text = "LV 1 | XP: "..(G.GAME.hsr_current_xp or 0).."/100"}

That's replacing the table with a new table, while the DynaText object will keep a reference to the old table which doesn't change.
Try doing

if hsr_to_refer_level_bar then
  hsr_to_refer_level_bar.text = "LV 1 | XP: "..(G.GAME.hsr_current_xp or 0).."/100"
end
``` [instead](<[#💻・modding-dev message](/guild/1116389027176787968/channel/1233186615086813277/)>)
#

Though i haven't tested it locally yet, still eating

manic rune
#

mmm

#

i see, lemme try

#

OH THATS IT

#

thanks a lot breeze 🙏

heady siren
#

How would I get cards in a new cardarea to calculate as if they're in consumeables or jokers?

zealous glen
#

Patch it into the calculation pipeline

#

They have a target for it

heady siren
#

I only knew how to patch the cardarea in at all because of your code

manic rune
#

it works now :D

paper zealot
# manic rune thanks a lot breeze 🙏

No worries, good to get it worked out. Reference types can be unintuitive and cause a lot of puzzles. This is why languages that require manual memory management and pointer handling make for good first languages in my opinion

heady siren
daring fern
manic rune
#

now i have to do the skill tree ui

#

and oh boy, this shit is DEFINITELY gonna take a toll on my mental health

#

🪫

heady siren
zealous glen
heady siren
#

What would I put as the pattern?

zealous glen
heady siren
#

Literally "-- TARGET: add your own CardAreas for joker evaluation"?

daring fern
heady siren
#

Okay, so literally that comment line

#

I thought there was a specific snippet or something

zealous glen
#

You can also insert at a specific position in the table

#

Otherwise it’s going to be at the end

zealous glen
heady siren
#

What does the position in the table accomplish?

zealous glen
manic rune
#

me on my way to steal take reference from joyousspring's code once again :3

heady siren
#

Ah

manic rune
#

-# i need to put a huge text in the middle of the screen advertising JoyousSpring at this point

heady siren
#

Is it possible to insert it before a specific cardarea or is it only an index?

zealous glen
manic rune
#

so true

zealous glen
#

Like I do

zealous glen
#

Vouchers are already permanent

daring fern
#

I meant permanent like if you rearranged them they would stay like that.

zealous glen
#

I imagine the one in run info copies from the real Voucher CardArea

#

Idk

#

I’ve never looked into it

heady siren
#

This causes the game to crash on startup

daring fern
zealous glen
burnt cairn
#

can i please get a hand on this catplush

burnt cairn
#

🫡

#

thank you very much

heady siren
heady siren
#

Your code is too organized it makes it hard for me to read it ;~;

red flower
#

😦

heady siren
#

I'm just horrible at coding

burnt cairn
#

so unpack(a,b) where a is a table and b is an integer will extract all the entries in the table indexed from b til the end of the table?

subtle hawk
#

What's the prefix for playing cards

#

As in j for jokers

#

Wait why am I even asking that

#

Nvm

red flower
#

all the prefixes are in the smods wiki btw

haughty wraith
daring fern
#

Why does this not set G.runinfovouchers to anything?

#

I patched that in for reference.

subtle hawk
#

Can you spawn a card with a specific enhancement with create_playing_card()?

red flower
#

yes

#

set center = G.P_CENTERS.m_key

subtle hawk
#

Ah

#

Thanks!

tender ermine
#

Is there a way to lower the blind requirement

daring fern
tender ermine
heady siren
#

Is there a way to trigger individual cards in the player's deck? It says that you can on the Calculate Functions page, but using G.deck doesn't actually work

daring fern
undone maple
#

im lost, isnt this how you get the size of the played hand?

daring fern
#

Move the context checks before checking the full hand.

undone maple
daring fern
#

Neither does destroy_card

#

Neither does other_card

#

Is there a reason you are doing this at final_scoring_step?

undone maple
#

to not destroy the card before the scoring starts

daring fern
undone maple
#

didnt know that.. let me reorder

daring fern
#

How would one make a blueprint for vouchers?

gilded goblet
#

elaborate?

daring fern
tall wharf
#

i think you just make it copy the next voucher

subtle hawk
#

Ok so, my very specific enhancement needs to destroy a specific joker

#

How

formal parrot
glad osprey
#

(the voucher menu in run info doesnt do anything its just for show)

glad osprey
#

idk

cyan lagoon
#

how can i make this affect a single random booster pack instead of all of them

proud moon
#

i finally understand

#

the goofy ahh gold card enhancement incremeting joker

#

that ive been scratching my head about for days now, it finaly works.

proud moon
#

and all it took, was a hook and a single "if not var_stupidvarforstupididiotslikeme then var.stupidvarforstupididiotslikeme = 0"

#

it was so simple.

#

i was mad when i realized it worked

#

every person that helped me was right. i just didnt get it until now

#

that hook document really helped tho, i had no idea what to do lol

hard needle
#

programming in a nutshell

proud moon
#

im so mad

#

i could eat a table

#

i was supposed to take a day off from code, only to not do that because i just had to get this joker working.

#

on the bright side however, i now have a much better understanding of lua and general balatro modding

#

thanks to looking through thousands of lines of code

manic rune
#

where is the code that creates an UI and also slow down the game in background like this?

manic rune
paper zealot
#

The menu creation is G.FUNCS.overlay_menu{ definition = <def> }

manic rune
#

i seeeeeee, tks

red flower
#

u know what mod uses G.FUNCS.overlay_menu

manic rune
#

dont tell me

zealous glen
#

Is there a context for when a hand isn’t drawn due to insufficient cards or space

glad osprey
red flower
#

cryptid is not real

glad osprey
#

truth and real

zealous glen
red flower
crisp coral
paper zealot
#

I'm just staying silent through all the roffleposting

red flower
glad osprey
#

WHY DID HEARTACHE JUST START PLAYING

red flower
#

damn

glad osprey
#

why are the only songs autoplaying all boss songs

manic rune
glad osprey
#

i feel as though ive angered the roffle gods

manic rune
#

yeah i think i got it working, nice

zealous glen
manic rune
#

wait

is there an UI function that creates a scrollable box?

zealous glen
#

I don’t think so

glad osprey
#

and now its ultrasonic faith ive definitely upset some higher being

manic rune
glad osprey
manic rune
#

oh, actually?

glad osprey
#

yea

#

you can use it to zoom in on your jokers when theres alto of them

manic rune
#

oh

#

not that

glad osprey
#

yea

#

it is like that

manic rune
#

thats a slider

glad osprey
#

yea thats the closest your gonna gey

#

*without making your own ui feature

manic rune
#

not exactly what im looking for, since even if i got it working with mmb, i still have to worry about somehow making the children nodes move too

#

...or i can just go with the lazy approach and add a "<" ">" button honestly 😭

proud moon
#

does smoded have a function thats called when the round is loaded up?

glad osprey
#

context.new_round iirc

proud moon
#

i mean when the game loads up from pressing "continue run"

#

unless new_round does that unlike the name implying its true when the round changes

glad osprey
#

ah

#

no nothing i know of

proud moon
#

damn

glad osprey
#

just hook into the new game code

proud moon
#

yea

maiden phoenix
glad osprey
#

unless your doing it for an unlock then there is something for that

maiden phoenix
#

I don't understand what "when the round is loaded up" mean

#

The literal round?

proud moon
#

like, pressing the continue run button from the main menu

maiden phoenix
#

Oh

#

What are you trying to do?

proud moon
#

just set a variable as soon as the round loads. since reloading the run resets some values i made, i just need to set them back as the round starts

glad osprey
#

G.GAME

#

set the values in there

#

they get saved that way

#

so like G.GAME.number = 1 will always be saved

proud moon
#

i did that, this is really hard to explain lol

glad osprey
#

what are you saving then

manic rune
#

.

#

i hate working with uis

#

so much :3

proud moon
#

i modified the gold card payout, the value saves and changes and updates correctly unless i reload the run, then the value resets back to 3 until any other function is triggered that modifies it again.

#

after i retrigger the joker or i end the round it fixes and goes to the saved value

glad osprey
#

ah

#

strange

proud moon
#

for example

glad osprey
#

so it does get saved?

proud moon
#

this is how i fix it when the round ends

proud moon
glad osprey
#

weird

proud moon
#

just not loaded instantly

#

so i gotta put it back myself

glad osprey
#

does it use the correct payout?

#

oooh

manic rune
glad osprey
#

area all gold cards using the same global value?

proud moon
#

yep

glad osprey
#

ah

#

in that case you might wanna take ownership of gold cards

proud moon
#

the cards themselves retain the value regardless of the global value, so those dont need to be fixed or anything since they save and load on their own

#

its just the global value i wanna set as soon as the run loads up

#

my global value saves, but the game's changed one doesnt, it resets.

proud moon
#

i dont wanna do that lol. i might have to as a last resort

#

if there is a function thats called before the player has a chance to interact with their saved run that would be perfect, but i prob have to hook the one the game uses to load the run

glad osprey
#

ownership would be much better

#

trust me just bite the bullet and do ownership

proud moon
#

this way might be more efficient for the other jokers i have in mind tho, since they work similarly i can use the exact same function and just add to it in a table

#

with ownership id have to make one for each modification and i really dont wanna

#

you are prob right, but im gonna throw my head against a brick wall one or two more times just to make sure

glad osprey
manic rune
#

throw yourself into a bunch of blender boxes

glad osprey
#

oh wait i see the issue

#

@proud moon

#

instead of setting the centers have the joker set the individual cards configs

#

or just have the joker give additional money when a gold card pays

rapid stag
#

works, thank you cirComfy

proud moon
#

its the tarot that doesnt

proud moon
glad osprey
#

ah

#

yea ownership is gonna be your best bet

proud moon
#

lol the pfp btw

rapid stag
#

a joker i've written is hard crashing to desktop when i navigate to its page in collections girldmDead

rapid stag
reef belfry
#

What the hell

unkempt thicket
#

How many roffle blights are there?

glad osprey
#

3 as of now.

#

we need more.

unkempt thicket
#

Oh, so there's a roffle blight virus

#

And it's spreading

manic rune
#

i might be onto something

sturdy compass
rapid stag
sturdy compass
manic rune
#

join the Roffle team for free $🥚

proud moon
quartz ravine
#

What is happening here today?

quartz ravine
#

Everyone got hacked?

rapid stag
#

why and how would this be causing hard CTD

quartz ravine
#

I mean i do really like roffle

glad osprey
#

i found a fuck ass (in a good way) pic of roffle and its become a bit

hardy viper
rapid stag
hardy viper
#

does roffle even know about this

glad osprey
#

probably not

proud moon
#

i dont want to take up too much of the chat when someone has real questions

glad osprey
#

yea lets move to modded chat

hardy viper
hard needle
#

how do i get all of the cards the player is holidng

glad osprey
#

G.hand

hard needle
#

ty

#

thank you roffle lite

glad osprey
#

*blight

manic rune
glad osprey
#

oh yea

daring fern
glad osprey
#

G.hand is just the card area G.hand.cards is where the cards be

rapid stag
glad osprey
#

what centers?

manic rune
#

what would i need to do if i want to: press the buttons, recreate the entire ui?

glad osprey
#

if so that would be self ref

rapid stag
manic rune
#

...wait, that sounds really familiar, isnt something like that on UI Guide

proud moon
# daring fern Rise.

i dont have any solutions or ideas, but i wanna know, would it copy the most recently purchased voucher? or an adjacent voucher in the shop?

hardy viper
glad osprey
#

you did

undone maple
proud moon
#

i forgot to turn it off since i didnt have any advice or anything

rapid stag
wintry solar
#

Oh cg, I have a fix for TMJ to work with a new smods feature, do you want me to PR it or just pass it to you in DMs?

daring fern
glad osprey
manic rune
#

...whats this

proud moon
glad osprey
#

as for why it doest want to set extra i have no clue

open aspen
#

im roffling it

undone maple
hardy viper
#

what feature?

undone maple
#

if lucky < G.GAME.probabilities.normal / card.ability.extra.odds then
most likely this

glad osprey
#

??? most likely?

undone maple
#

its line 254

glad osprey
#

ok so it is that

undone maple
#

im still brand new to this go easy on me 🙏

glad osprey
#

dont quote me on this but i dont think you need a pseudoseed for pseudorandom

glad osprey
glad osprey
#

have it print out card.ability if you could

#

and remove the crashing code

hardy viper
#

to elaborate on that if you use a string instead of a pseudoseed it just calls pseudoseed on that string and uses that

glad osprey
#

oh neat

hardy viper
#

so it's essentially the same

glad osprey
#

i did not know thats how it worked

undone maple
#

started a new run and it doesnt crash anymore

#

however

#

the code doesnt work 💔

#

aka the joker does nothing now

manic rune
#

is this how i do it

#

i basically want to replace the nodes with something else

glad osprey
undone maple
glad osprey
#

is there an extra.odds?

undone maple
#

i think the randomization is working

glad osprey
#

lemme see the print code

undone maple
#

the code doesnt seem to trigger right now

glad osprey
#

well just the calculate code

#

screenshot pls not a copy-paste

long sun
#

hiya! i can't find the bug in my code — the 1X and 2X are named correctly, what could have / did go wrong? :>

undone maple
glad osprey
hard needle
glad osprey
#

incase that doesnt exist

glad osprey
long sun
glad osprey
#

can i see your full file path

open aspen
#

hey roffles, is it bad practice to use love functions?

#

this is meant so i can separate each joker/card into its own file

glad osprey
#

i dont think so?

hard needle
glad osprey
#

but like

#

better be safe

long sun
#

C:\Users\[USERNAME]\AppData\Roaming\Balatro\Mods\Sea of Stars Cards\assets\1x

glad osprey
#

hmmmmmm

proud moon
glad osprey
long sun
#

okay

glad osprey
#

thatd be my only guess

manic rune
#

is smtcom staring at this chat from the shadow 😭

glad osprey
glad osprey
#

is the file in 2x double the size????????

#

idk im really grasping at straws here

wintry solar
lethal stratus
#

how do you mod in like... suit texture pack changes like the friends of jimbo stuff

wintry solar
#

@hardy viper

hardy viper
#

ah i see

red flower
proud moon
hard needle
#

should i release my mod

long sun
#

oh a small version :D awesome

red flower
proud moon
#

now we can post him without it getting in the way

red flower
#

if it's supposed to be small it's not on mobile

long sun
#

further, it should be made into an emoji

hard needle
manic rune
#

pixelated roffle

hard needle
#

hmmmm

long sun
#

why do you have so many??

proud moon
manic rune
#

the plague

hard needle
#

guys what do you think this nerdy joker does

open aspen
modern kindle
#

👋

open aspen
#

like +2 or +4 mult

manic rune
open aspen
#

(iykyk)

hard needle
#

morefluff already has something like that

hushed field
manic rune
#

yeah but that thing scales

open aspen
glad osprey
manic rune
#

that sounds like aiko's tl;dr joker

hard needle
wintry solar
hard needle
#

it is because the mult output of this nerdy joker can be odd or even

long sun
#

okay i've literally got no clue why this isn't working

#

oh wait. waitwait

quartz ravine
long sun
#

daft idea

red flower
#

i wanted to add multibox support for my 300 descriptions with some regex but sadly thunk decided to make text formatting use {}

quartz ravine
#

Has anyone ever had roffle play their mod here?

hard needle
shell timber
#

this is true

hard needle
#

man where the hell do you keep spawning from

#

do you get like pinged when someone mentions notmario or morefluff

manic rune
#

they are always here

hushed field
#

For every three rounds someone mentions morefluff, an additional notmario spawns

long sun
#

okay ya nevermind it. still doesn't work -w-

#

tried putting empty space where Spades and Hearts would be

glad osprey
#

someone should get roffle to play too many decks, the balatro mod that adds too many decks

manic rune
#

spot the mistake

glad osprey
manic rune
#

ding ding

red flower
#

someone get drspecter to play joyousspring

hushed field
hushed field
hard needle
#

bro its about how color is spelled

red flower
quartz ravine
#

Is MBT good? I have not heard of them. I like roffle but fall asleep watching his stuff at night quite a bit

red flower
#

i love MBT i was his patreon for many years

glad osprey
proud moon
# hard needle guys what do you think this nerdy joker does

make it round up the end of round score by 2 digits lower than the current blind

ex: blind is 7500, score is 7413, rounds to 7420. blind is 100,000 , score is 532, rounds to 1000. or round up 1 digit below, so the minimum score is a 10% of the blind. either is cool, it would be nice to see those even rounded numbers while scoring

#

my reply unreplied for some reason

red flower
proud moon
#

darn

hard needle
#

the mult can vary

hushed field
proud moon
#

well i like my idea, im gonna make a joker for it

modern kindle
#

hi ice

zealous glen
zealous glen
red flower
hushed field
#

As far as Balatro content I only really follow Murphy and Roffle, and I guess Rarran. And some random yt accounts that have played Kino or JoyousSpring

modern kindle
# zealous glen Hello dilly how are you

hi vic!
im okay, im finally resuming development today
i hope you are doing well
ive had a very stressful last couple of weeks and it hasnt really resolved yet, but i cant fix that so im doin my best 😎

hushed field
long sun
#

okay i'm getting somewhere. i swapped in a massive image to see if it was reading it from the wrong place, and

proud moon
#

i should get back to editing my videos i have a backlog of.

zealous glen
red flower
#

im miles not phoenix

zealous glen
#

I’ll probably keep having them too

manic rune
hushed field
zealous glen
modern kindle
zealous glen
#

I mean

#

Not well but better

#

Maybe not better either idk I can’t form proper sentences

modern kindle
#

im just glad to see my favorite people are still chattin 😎

#

like u, bepis, ice, i see n over there

red flower
#

i will be here until i find a new fixation

hushed field
#

Kino still isn't finished so I'm around until I find a new hyperfixation

long sun
#

ah. iiiiii seeeee what's happening hereeeeeee

glad osprey
long sun
brazen tusk
glad osprey
hushed field
#

Not gonna do stuff for Kino except some fixes the coming days though. Bit tired of staring at VSC code for hours.

modern kindle
#

so what have i missed with all this roffle

long sun
long sun
#

it can't do partial sheets

zealous glen
glad osprey
#

i found a fuck ass pic of roffle and now we shitpost

modern kindle
zealous glen
#

I spend half a day away from Discord and all is Roffle

modern kindle
brazen tusk
#

if you know

zealous glen
hushed field
open aspen
zealous glen
long sun
glad osprey
#

we've taken this fuck ass pic of roffle to hell and back at this point

brazen tusk
long sun
#

doesn't make sense :)

#

unless i've misread the docs

modern kindle
#

one of us

brazen tusk
#

i mean you'd imagine it functions the same way as joker atlases which for the most part can be any size

graceful magnet
#

So I want this to trigger when a hand doesn't beat a Blind, but it is doing so anyways

long sun
#

aha :D the template code uses "deck" instead of "ranks"

zealous glen
#

@red flower I Normal Summon Roffle in Defense Position and end my turn.

ancient plinth
#

my joker no longer crashes the game for now, but it doesn't rank up the card, what do I do?

zealous glen
long sun
#

somebody needs to turn this into a Joker :>

#

if nobody calls dibs, then i call dibs ^^

proud moon
long sun
#

awesome :D

weak brook
proud moon
#

what should its effect be?

zealous glen
ancient plinth
weak brook
#

@ancient plinth assert(SMODS.modify_rank(G.hand.highlighted[i], 1))

#

the number determines if the rank increases or decreases

graceful magnet
ancient plinth
zealous glen
#

Because Balatro has animations

weak brook
zealous glen
#

The code runs first, then animations play later

#

So chips etc. only change during animation

undone maple
#

everything seems to work except the highlighted part, why doesnt the card destroy?

weak brook
#

destroy_card doesnt happen in other_card

red flower
undone maple
#

gotta reorder the contexts then

ancient plinth
proud moon
#

where in the smoded docs would i find the SMODS.current_mod.reset_game_globals(run_start) documentation? other than the example jokers

red flower
#

mod functions i think

weak brook
red flower
ancient plinth
undone maple
weak brook
#

yeah since you're not gonna be using that anymore

red flower
undone maple
#

impressive

weak brook
#

anyway i came in here cause i need some help too
in the past i made a challenge that automatically fills out the banned cards list with every joker that isnt from cardsauce, and im now trying to make a challenge that bans every consumable that isnt a certain type. code seems to work but for some reason it doesnt follow the rules in game and im not sure why

#

Pluto is explicitly included in the list

daring fern
wintry solar
#

Sounds like a default item issue

weak brook
#

really?

#

the wiki said nothing about this thats weird

#

"This can be used to ban jokers, consumables, vouchers and booster packs."

#

someone should update that

wintry solar
#

You can ban them

#

They’ll just still appear in the situation when it’s pulling the default

weak brook
#

oh

ancient plinth