#💻・modding-dev

1 messages · Page 309 of 1

timid star
#

i also like your mod btw like

#

fucking wordle? how

tall wharf
#

thanks i used to make fnf mods

#

-# (to this day i hate the community still because they can't behave but that's in the past)

tall wharf
#

once?

crisp coral
timid star
#

im the guy who sparked up gmod bandu or that one psych engine 50 note video

uneven bobcat
#

might it be possible to make a custom rarity of joker only appear past a certain ante?

timid star
#

i stopped uploading anything because i dont feel like being a youtuber kind of content creator

timid star
#

though not on rarities

tall wharf
#

the whole keyboard ahh playfield

timid star
#

i think get_weight would do it

timid star
uneven bobcat
#

thfank you i appreciate it :3

timid star
#

not to mention the 8 million viewed video that i have that is one hour of unedited footage of me playing one mod

shell timber
#

oh wait you're the person that made that uno thing

timid star
uneven bobcat
#

i'm gonna test it tmrw if so

timid star
#

weight being 0 means it has no chance so

uneven bobcat
#

yes ...

#

okay ty :D

timid star
#

unless you have cryptid equilibrium deckhehe

reef belfry
#

never figured out how to do this

#

my brain is too sstinky

uneven bobcat
#

lmfao the text is killing me

timid star
reef belfry
#

i alr did

#

wel lthatss the old code

timid star
timid star
#

ignore the function code but yeah

uneven bobcat
#

that's a lot of jokers

#

that's a lot of everything

timid star
#

i can only wish of being able to make that many jokers

tall wharf
#

70 something mods

timid star
#

oh

uneven bobcat
#

i see

shell timber
#

one balalillion jokers

uneven bobcat
#

the combined joker creating power of at LEAST 70 people but likely much more

timid star
#

i hope what im modding is a new concept 🙏

tall wharf
#

crash like no tomorrow but i fixed them myself

timid star
#

all the mods balatro edition

crisp coral
#

collect all 2000 jokers to get the jimbo star

tall wharf
uneven bobcat
timid star
timid star
tall wharf
#

balatro story mode

shell timber
#

assuming an area of 69x93 for the sprite, with there being 256^3 + 1 (transparent) colours, and with 3 layers (assuming cryptid's midlayer), there are 4.48664580904739e46490 or so possible joker sprites

tall wharf
timid star
#

because well, card health

marble flint
shell timber
#

true

tall wharf
marble flint
#

so 69*93*256^3*255+1

shell timber
#

nonono

shell timber
#

it's (256^3*255 + 1)^(69*93*3)

crisp coral
#

who needs card health when you can kill the card immediately

shell timber
#

since each pixel is individual

tall wharf
#

kill

iron mantle
#

I've tested it a couple of times in different contexts now but it doesn't seem to trigger upon selecting a joker from the buffoon pack still for some reason

tall wharf
timid star
timid star
chrome widget
chrome widget
#

If you want to leverage when a joker is added to your deck, I would recommend using the new card_added context in SMODS

#

My patch only covers when a joker is actually created

timid star
tall wharf
#

i saw that

timid star
#

💔

tall wharf
marble flint
timid star
#

well, now im back to designing joker cards

tall wharf
timid star
#

im horrible at pixel art but i am a man of many ideas

tall wharf
#

chicken jockey

timid star
# tall wharf 😭😭😭

i love modding and making shit but when it comes to making individual things i start to lose themotivation for some reason even though i have ideas that i want to make

marble flint
#

joker that lets you play a smaller game of balatro on it

timid star
#

balatroception

tall wharf
#

til my grandpa is 98

#

i thought he was 96

marble flint
timid star
#

grand dad

marble flint
#

that'd be really funny

timid star
tall wharf
timid star
#

so, it is possible to manipulate the camera

timid star
tall wharf
#

ch ch ch chicken

marble flint
#

balatro deck where each card has one of +-<>[],. and you play brainf--- programs to generate your score (@ aikoyori this one's on you)

tall wharf
#

i have the art ready already

crisp coral
#

why does chicken jockey scale with popcorn

timid star
marble flint
tall wharf
uneven bobcat
#

is a crafting table ....

crisp coral
#

im going to throw you

tall wharf
tall wharf
#

you're stronger than me

uneven bobcat
#

do not reply ping has been replied to

#

it's over

crisp coral
timid star
#

i completely forgot i had these fusion jokers that i haven't added

#

forgot what they do

tall wharf
#

fucking vagabolia

timid star
#

gold erosion though

tall wharf
#

Looks like some lemon milk thing seeping through the crack

timid star
#

yum

tall wharf
timid star
#

right... i have unfinished business

tall wharf
#

😭

timid star
#

sins have been forgiven

tall wharf
#

what the fuck

#

this is why I'm adding solitaire to balatro

timid star
#

i had that idea because of my mom being too into christian ideals

#

so i was a bit pissed

timid star
tall wharf
#

😭😭😭😭😭

#

i thought bunco has it

reef belfry
#

the suit might have been accepted

tall wharf
rapid stag
#

...does returning a main_end work for SMODS.Achievements...? cirThink

#

oh wait no, because they use description tables...

#

hmm

red flower
#

for i = 1, #table, 2

#

if you mean a non-indexed table then no because the point of them is that the order is not guaranteed

rapid stag
#

why on earth is that the point of a non-indexed table

timid star
#

why does context.hand_drawn not work for me

red flower
#

if you want order make it an array

rapid stag
# red flower ? it's a hashmap

i have a hashmap table of joker keys that's basically just

myKeyList = {
  j_blahblah = true,
  j_blahblah2 = true,
  j_blahblah3 = true...
}

for the express purpose that i can go myKeyList[joker_key] so i can enter a condition depending on if a given joker is part of a group i define.
how else can i do this in a way that allows me to do that, with an ordered array table girldmDead

red flower
#

make another array with the keys in order

#

you can even give your entries an order field and then use table.sort on a new array, if you want to do it dynamically

rapid stag
#

hmmm... well, i don't particularly care about the specific order of keys, so i could just populate an array from that table...

red flower
#

what's that for btw

rapid stag
#

like, specifically in my mod? cirDerp

red flower
#

yeah

rapid stag
# red flower yeah

i mean, i have a few instances of this for various reasons, but this specific circumstance, i'm using to populate additional tooltips for a custom joker, by the joker's name, provided that said joker has been encountered at least once with the mod active, otherwise the name is question marks.

so like "group X," "?????, ?????, ?????, ?????," etc.

red flower
#

i dont get why you would need to skip entries

sturdy compass
#

Nah I kinda get it. Arbitrary order set by the creator moment

#

Or maybe not arbitrary

#

idk

#

But I get wanting to have a set order

rapid stag
sturdy compass
#

Mmm my bad, it kinda read like you did. I gotta stop assuming things lmao

rapid stag
#

the reason i want to be skipping entries is so i can do multiple at once per node/line, so the ui can look more like:

item1, item2,
item3, item4,
item5, item6,
item7, item8```
red flower
#

cant you use an index

sturdy compass
#

Can you make Enums with Lua? If you can that might work

red flower
#
local i = 1
for k, v in ipairs(table) do
    if i%2 == 0 then
       table.insert(ui_table1, v)
    else
       table.insert(ui_table2,v)
    end
    i = i +1
end
sturdy compass
#

oh yeah modulo totally works too

rapid stag
#

what if my list gets longer and i need to make it wider over taller again - and want to do 3 or 4 cirThink

red flower
#

then change the number

rapid stag
#

what i'm moduloing by?

red flower
#

yeah thats the number of columns

#

if you want to make it like max 5 rows per column then make the modulo math.floor(#table/5)

#

(#table wont work in your case you need to count it manually)

rapid stag
#

cirThink ?

    if i%3 == 0 then
       table.insert(ui_table1, v)
    elseif i%2 == 0 then
       table.insert(ui_table2, v)
    else
       table.insert(ui_table3,v)
    end
red flower
#

yeah it's easier if you make it a table like ui_table[i%number_of_columns]

reef belfry
#

how do you send a message in this event where it would send during the suit change..

rapid stag
red flower
sturdy compass
#

probably SMODS.calculate_effect? You can't really return a table from an event

rapid stag
#

oh, i was misreading it

#

didn't see that this was an event cirDerp

#

actually, you could refactor it that way

red flower
#

i do agree that func is probably better but its also a bit more complicated so calculate_effect might be the easier solution

rapid stag
#

...wait, do you want the timing to be all at once or in sequence

rapid stag
#

actualy, that's a thought. is it even possible to make SMODS.calculate_effect() messages happen all at once? because they make events, so it's always in sequence, right

daring fern
#

How could one prevent card_eval_status_text from triggering before the scoring card scores when triggered on a scoring card?

hasty mist
#

does anyone know how to create a custom dynamic color (like how cryptid has dark_edition)

daring fern
hasty mist
#

it is?

#

where is it used ingame?

sturdy compass
#

Negative

hasty mist
#

ty though

#

ohh i see

#

i didn't know that

daring fern
heavy hare
#

i can't find this patching pattern in UI_ definitions:

[[patches]]
[patches.pattern]
target = "functions/UI_definitions.lua"
pattern = '''
    return {n=G.UIT.ROOT, config = {align = "cm", padding = 0.03, colour = G.C.UI.TRANSPARENT_DARK}, nodes={
      {n=G.UIT.R, config = {align = "cm", padding= 0.05, colour = G.C.DYN_UI.MAIN, r=0.1}, nodes={
        {n=G.UIT.R, config={align = "cm", colour = G.C.DYN_UI.BOSS_DARK, r=0.1, minh = 30, padding = 0.08}, nodes={
          {n=G.UIT.R, config={align = "cm", minh = 0.3}, nodes={}},
          {n=G.UIT.R, config={align = "cm", id = 'row_blind', minw = 1, minh = 3.75}, nodes={}},
          contents.dollars_chips,
          contents.hand,
          {n=G.UIT.R, config={align = "cm", id = 'row_round'}, nodes={
            {n=G.UIT.C, config={align = "cm"}, nodes=contents.buttons},
            {n=G.UIT.C, config={align = "cm"}, nodes=contents.round}
          }},
        }}
      }}
    }}
'''
position = "at"
payload='''

'''
match_indent = true
times = 1

#

it's copied directly from the file

sturdy compass
#

Are you looking at the vanilla files or your lovely dump

heavy hare
#

vanilla

sturdy compass
#

Use your lovely dump

heavy hare
#

will try, than kyou

daring fern
#

How could one draw a playing card on a joker?

tall wharf
#

a what

chrome widget
#

I still ate with this flame aura effect. Also I only just recently learned that SMODS.Gradient was a thing so I'm using it a lot more now

tall wharf
#

i would assume so

#

oh my god is that

#

kirbio from unstable

chrome widget
#

Also what is kirbio?

hasty mist
#

wait i def did that wrong

tall wharf
daring fern
tall wharf
#

what the sigma

#

i wonder if you can just set base on the joker

hasty mist
#

alright this should be working but it isnt

#

shows as white ingame

daring fern
wintry solar
#

Put the calc effect after the event

#

And the if suit check before

#

You just want the actual suit changing bit in the event

reef belfry
#

do i have to set some sort of check if the messages have been sent since it sends them multiple times

wintry solar
#

Which message is sent multiple times?

reef belfry
#

hello

rapid stag
#

cirThink is there any reason it needs to be context.before? why not do context.individual instead

wintry solar
#

It’s sent on every card that changes

reef belfry
#

oh..

rapid stag
#

like unless there's something inherent to the joker that you want, about the effect, it's timing and how you're building it design-wise, don't see why this absolutely has to be in context.before and it appears to be causing more trouble than it's worth

#

if it's incumbent on trying to change the suit before any suit-related jokers take effect,context.individual still comes before context.joker_main iirc, so something like arrowhead for example would still proc

wintry solar
#

That’s not true

#

If you want to change suits I’d recommend using context.before

sturdy compass
#

Changing a suit within an event doesn't have them as that suit during joker_main unfortunately

wintry solar
#

No you have to do some magic

sturdy compass
#

Well you are clearly the wizard here Emoti_Shrug

rapid stag
#

huh. kinda makes me wish that something like context.beforeindividual was a thing

wintry solar
#

You just set card.base.suit = “Spades” and then put the change suit in the event still

#

That’ll let it calculate as a spade but only change in time

sturdy compass
#

funky

rapid stag
#

couldn't that solve their issue, too? have the suits be set in context.before and then do the visuals in context.individual?

sturdy compass
#

I think you technically could

wintry solar
#

That wouldn’t be the right sequencing

rapid stag
#

ah

sturdy compass
#

nvm then lol

wintry solar
#

They’d change after giving their base value in that case

#

And depending on joker order it might look mega weird

sturdy compass
#

Ah right, (somehow) forgot the suit jokers also triggered on individual too

rapid stag
#

shouldn't that just be a matter of joker order, then? like you could do something like bloodstone before, arrowhead after to trigger both jokers

#

or lusty joker before, wrathful joker after

#

completely useless in an actual build, but would be fun

sturdy compass
#

It is a matter of joker order and that's exactly the point Eremel is trying to make. The card could still trigger for the card despite not actually showing that suit yet

wintry solar
#

Depending on what you want the effect to be, yeah you could do that

#

But then you wouldn’t use context before

sturdy compass
#

Reading closer and yeah I suppose the base would just change at individual

thin lance
#

Is this the channel for if Joker ideas I have are good?

#

Or should I make a thread for that if I eventually wanna make a mod?

sturdy compass
thin lance
#

Ah, okay.

sturdy compass
#

If you were to ask here we'd probably talk about balance and feasibility, not really critique the idea itself lol

hushed field
#

Is the way card objects draw their back by just grabbing a sprite from their .back variable? I'm trying to see if I can add sprites specifically to the back of a card

wintry solar
#

I think you can create draw steps on cards they are facing backwards

zealous glen
hushed field
thin lance
#

Okay chat, I actually got a balance question this time.

thin lance
#

"Oh man, I sure do love playing Balatro!"
"FUCK YOU!" said the Fuck You Joker.

sturdy compass
#

The sounds are perfect lol

timid star
thin lance
#

Greed is one of the deadly sins.

timid star
#

idk i made the bible because my mom told me that tarot cards are not to be played around with

thin lance
#

Anyway.

#

[Uncommon] Fun House Mirror - If first discard is a single card, destroy it and replace it with a random card that is already in your deck.
I had an idea for a joker (shown above) that I think is just. Worse DNA? But I wanna know what you guys think.

timid star
sturdy compass
#

The power of christ really did compel you holy shit

timid star
sturdy compass
#

LMFAO

thin lance
#

Good.

sturdy compass
#

YES

thin lance
#

GOOD!

#

That's perfect.

#

I hate that I keep making jokes and then end up like "If I ever make an actual mod I'm gonna have to actually make that".

#

Like shit, now I gotta figure out what the fuck the Fuck You Joker does. XD

rapid stag
#

wait no

#

if played hand is random hand, restarts the game

#

unlike other random hand jokers like to do list it doesn't tell you what the hand is
and it randomises on load, too

#

easy

thin lance
#

I think restarting the game is a bit much.

#

...

#

Now destroying every card in your hand, on the other hand.

daring fern
cursive sentinel
#

looking at retrigger code, why is it that dusk, sock and buskin and hack have config mentionning "self.ability.extra+1" whereas seltzer or hanging chad just have "self.ability.extra"?

sturdy compass
thin lance
#

I fuck heavy with Schrodinger's Cat Joker, but that's not quite what I was going for.

timid star
#

also the bible prevents you from pressing play or discard

#

that took me a bit

tall wharf
#

I'm going insane over miku

sturdy compass
#

So it's essentially just totally random deck thinning until you sell it

tall wharf
#

you can't sell it

#

it's eternal...

thin lance
#

It's always eternal is peak.

sturdy compass
#

Is it always eternal???????

rapid stag
#

probably forces itself eternal immediately

thin lance
#

Would you sell your Bible?

sturdy compass
#

Oh my god 😭

#

The power of Christ is too fucking strong apparently

daring fern
#

Is it possible to add a joker to the scoring hand?

timid star
tall wharf
#

tarot cards are just cards tho

timid star
thin lance
#

Should the Fuck You Joker have some upside that procs whenever you don't play the hand it will destroy, or should it entirely be a meme joker that's purely negative?

timid star
#

idk what tarot cards have to do with christanity beef but whatever

sturdy compass
sturdy compass
thin lance
#

Like it X2 or X3 your mult or it gives you $5-$10.

timid star
#

instant loss really

#

it's free in the shop but

#

lol

thin lance
#

Perfect.

sturdy compass
#

So it's your version of Crash

rapid stag
#

nah, if i appears in the shop, it should force buy itself

sturdy compass
#

Very creative lol

thin lance
#

No, that's too much.

timid star
timid star
sturdy compass
#

Well yeah but both are kill switches Emoti_Shrug

timid star
#

true

tall wharf
#

what happens if you obtain it in the shop

sturdy compass
#

It probs doesn't do anything until in hand lol

#

Though it would be funny if it played a stock "Hallelujah" choir when it appears

timid star
#

the instant you claim it

#

it clears your cards one by one when you start a round

tall wharf
#

ah right

timid star
#

preventing you from playing to advance

timid star
sturdy compass
#

Your parents sound like they took part in the Salem Witch Trials lmao

timid star
sturdy compass
#

??????????????????

timid star
#

im like damn, what the hell this is the fakest shit ive ever seen

#

then my whole family is like "why are you hating"

timid star
#

maybe

sturdy compass
rapid stag
sturdy compass
#

That sounds doable in both cases

#

could probably just G.play:emplace(card)

thin lance
#

New bullshit time, it's the fucking Sled Racing card from Club Penguin's Card Jitsu.

[Rare] Sled Racing - When a card is played, flip its value to the opposite (2 <-> A, 3 <-> K, etc.) and retrigger it.

timid star
#

this is peak

#

i love the part in coding where i can name shit like "biblekillcount"

thin lance
#

Okay, so that effect is physically possible in some capacity.

sturdy compass
#

That might be the longest add_to_deck function I've seen

thin lance
#

I just got the stupidest idea.

#

If you have a Blueprint when you pick up the bible, the image of Jesus will be tinted blue.

#

And you get the rare (and probably impossible to implement) Blue Jesus achievement.

daring fern
peak tiger
#

is there a way to make it so that when I press a certain keybind I get a billion chips?

tall wharf
#

😭😭😭😭😭😭😭😭

sturdy compass
#

what a question

thin lance
#

Weird Joker - ??? [Must be a play on "Weird Al" Yankovic somehow.)
[Rare] Receipt - X1 Mult for every food-based Joker destroyed. (Currently X1) [Might reword to make clear it involves stuff like Diet Coke.)
[Uncommon] Fun House Mirror - If first discard is a single card, destroy it and replace it with a random card that is already in your deck.
[Rare] Fuck You Joker - If it doesn't like your played hand, destroy every card in hand. Otherwise, X2 mult.
1e300 Joker - ??? (This is another joke joker like the Fuck You Joker, haven't figured out what to do with it yet.)
[Rare] Sled Racing - When a card is played, flip its value to the opposite (2 <-> A, 3 <-> K, etc.) and retrigger it.

Here's the joker set I got so far, including some jokers I haven't worked out the full idea of- trying to figure out where my ideas are on a scale of like- canon-adjacent to Cryptid. (Do not base this on the sheer concept of the 1e300 Joker.)

rapid stag
timid star
#

well, god

#

the images also, block your input to go to the menu so jesus can mostly lock you into this cutscene

sturdy compass
#

BAHAHAHAHA

#

I've seen some crazy things via bugs, this might be the craziest I've seen that actually functions properly LOL

timid star
#

i could make versions of the bible which do the exact same thing but retextured

#

might have to give it a rarity of itself

peak tiger
#

is there any way to make a debug keybind to win a blind instantly without having to make a joker/deck?

timid star
#

anyone know how to slow down the music by will?

sturdy compass
rapid stag
#

i kinda wanna make a majora's mask joker that when you encounter it, you HAVE to use a hieroglyph or petroglyph voucher to your run from ending

#

oh right, wait

i wanted to make the sonic '06 joker

timid star
daring fern
#

Where does the card.base.times_played variable get incremented?

sturdy compass
#

Dude the fucking Jesus pictures interrupting the pause menu are sending me 😭

thin lance
faint yacht
# daring fern Where does the `card.base.times_played` variable get incremented?

G.FUNCS.play_cards_from_highlighted,

for i=1, #G.hand.highlighted do
  if G.hand.highlighted[i]:is_face() then inc_career_stat('c_face_cards_played', 1) end
  G.hand.highlighted[i].base.times_played = G.hand.highlighted[i].base.times_played + 1
  G.hand.highlighted[i].ability.played_this_ante = true
  G.GAME.round_scores.cards_played.amt = G.GAME.round_scores.cards_played.amt + 1
  draw_card(G.hand, G.play, i*100/#G.hand.highlighted, 'up', nil, G.hand.highlighted[i])
end
thin lance
#

Also I had the stupidest idea for a powerful Joker.

timid star
#

which adds to the funnies this bible has

thin lance
#

[Rare] Censor Bar - Retriggers all multiplicative Jokers twice.

#

In other words, it takes your Xs...

...and turns them into XXXs!

faint yacht
#

-# ...adding a card to the Main Menu doesn't let the much slower fade-in of the logo and menu appear... where I have added a sound...

thin lance
#

I don't get this one.

daring fern
thin lance
#

For some reason I am also imagining just straight up having Exodia. Like get all five Exodia pieces and you get +1e100 chips.

peak tiger
#

kinda

daring fern
peak tiger
#

is there a way to make a booster pack only have a certain set of jokers or make a pool of some jokers?

timid star
#

dont know what i'd do with that knowledge but lmao

daring fern
#

How does one prevent cards that are being inserted into the scoring hand from moving to the scoring hand?

brisk rose
brisk rose
brisk rose
rapid stag
timid star
zealous glen
#

What do you think of this text?

timid star
#

neat

shell timber
#

For every 3 (3)
Planet cards sold,
create a Black Hole

zealous glen
lavish lake
timid star
lavish lake
timid star
#

and it slows down the song

#

then it goes back to normal

zealous glen
#

wow a cutscene

manic rune
#

dawg done outperforming my blind in all ways possible

#

🥀

#

damn.

timid star
#

are you the guy that implemented health to playing cards

zealous glen
#

Are you moving the UI elements or are you rendering them differently

timid star
#

it's all animated sprites

#

and ig the screen shake

manic rune
#

progress bar too

#

:3

timid star
#

i thought i was the first to come up with my kind of blind

manic rune
#

:p its actually a core mechanic of my mod

zealous glen
timid star
zealous glen
manic rune
#

but also - i also tried making an asriel blind for fun

timid star
manic rune
#

turned out i completely forgot ur making one

timid star
#

dealing damage

zealous glen
#

ah

manic rune
#

and much cooler than mine 😭

#

i had the uhh moving window code

lavish lake
#

heres a even more crazy finisher blind idea:
God of Gods
Apply every single boss and finisher blind with all downside values 100X'ed,
Blind requirement is last played blind requirement ^ 3

timid star
zealous glen
timid star
#

idk

manic rune
timid star
#

dont know much about the screen camera

timid star
#

idk how you do the music sync with the background though

manic rune
#

update, basically

it does account for frame drops, i think? but if the drops are incredibly bad, straight up 2 fps then it does delay a bit

timid star
#

ah

#

the asriel bossfight i made is going to be a one off unique fight, there will be other bossfights that behave differently that i have in mind

#

though i do want combat to be a regular occurance in small and big blinds too

#

would be fun to randomly add rpg mechanics to balatro

manic rune
#

oh, i did add unique small/big blinds as a mechanic too

timid star
#

figures

manic rune
#

surprisingly didnt need patches, just a bunch of hooks to account for some stuff

timid star
#

i'll prob look into it but for now i need to add more content than just blinds lmao

manic rune
#

my idea for an asriel blind was for them to interfere with the game that doesn't rely on timing like "After hand is played" and such, straight up "Every 2 second, do smt"

timid star
#

my version attacks every time cards are drawn to your hand

manic rune
#

i think the first move i made for them was smt like

"Every 3 seconds, marks a card. If its position remains the same after 3 seconds, destroys it"

timid star
#

you do need to beat the required score in one hit btw, not making it will just count as a miss

daring fern
timid star
#

and you have to do it 6 times in a row

manic rune
#

i feel like it would be a bit unfair if theres no way to evade the damage, or at least minimize it imo

#

else it just encourages using Cryptid-level jokers more

timid star
#

i did want to plan mechanics based around card health

#

maybe healing jokers too

manic rune
#

what i want for a fun boss blind is that it doesn't rely on extremely broken jokers, straight up skill and concentration instead

shell timber
#

balatro soulslike?

manic rune
zealous glen
#

make the boss shoot projectiles and you have to drag cards around so they can avoid being hit

timid star
#

your cards are recycled back after every hit but

#

major damage

manic rune
#

true

timid star
#

encourages you to as few discards as possible

manic rune
#

it does look extremely cool

manic rune
timid star
#

and it will break stuff like baron steel kings setup

#

(unless you have a shit ton of cryptids at your disposal)

manic rune
#

true

timid star
#

since your hands and discards are set to 4 after each successful hit

manic rune
#

ohh icic

timid star
#

it's a pretty challenging boss in practice, which is why it's locked up in a special tarot card

manic rune
#

thought it would restore to ur max hands/discards

timid star
#

that would be too good...

#

or bad whichever it may go

manic rune
#

true

timid star
#

i decided 4 on each is balanced and gives enough space

#

still, playing and discarding will attack your cards

manic rune
zealous glen
#

Like Ortalab…

manic rune
#

im still proud i didnt need to read eremel's code to implement that ❤️

#

-# definitely a lot of bugs because of that

timid star
manic rune
timid star
#

i only have asriel as the special boss blind but i have 2 more planned in my head

hushed field
#

I'm trying to figure out how to have an addition alter a card back by adding a sprite onto it, and I'm running into just a lot of variables that don't tell me what they're for. Anyone know what the goal of the .role.draw_major is?

timid star
#

one is inspired by a certain game demo and one is alpeh null

manic rune
#

mindwave? :3

timid star
#

how

manic rune
#

LMAO

#

its the BEST game demo rn, and it definitely fits the insane stuff u r doing

timid star
#

yeah it's gonna be minigame based

#

no clue how i'd formulate it out but i'll find a way

#

the other special blind would be that one alpeh zero reference

#

(math jumspcare)

manic rune
crisp coral
#

mindwave mindwave i heard mindwave

timid star
#

never done such a timer setup before so bun

crisp coral
#

and aleph null like.... the LeaF song???

manic rune
#

void made timers before

#

but they uhhhh left

timid star
#

fuck replied with a ping

crisp coral
#

holy fuck o7

manic rune
#

i think theres a speed timer clock mod

timid star
manic rune
#

maybe that works too? :3

crisp coral
#

im obligated to explode you but
o7

timid star
#

i'll be needing a timer that runs separately in the background so balator events don't mess it up

manic rune
#

myst u gotta emphasise the NOT

crisp coral
manic rune
#

should work, i think

timid star
crisp coral
#

love2d

#

not lovely

manic rune
#

my bad

timid star
#

yeah i've gotten comfortable looking at base game balatro files but beyond that it's alien language

#

it's like me using lua to code a whole fnf mod for a year without actually touching hardcoding in haxeflixel

crisp coral
#

the sound manager for balatro is soooo utterly ass for making rhythm based shit

manic rune
#

this shooould be what u want :3

timid star
#

for now i will be pouring my ideas into jokers, enhancements, and possibly card status effects

manic rune
# zealous glen why

first thing i noticed: you cant check the current running time of the sound

#

or at least, no one has told me how to yet :3

timid star
#

ive been thinking of animated sprite status effects on cards as a separate enhancement from the rest of the enhancements

manic rune
manic rune
crisp coral
#

there's a Source function for doing that

timid star
#

like with cryptid seeds

#

that renders on cards and everything

timid star
crisp coral
zealous glen
#

SMODS provides SMODS.DrawStep for this sort of thing now but so far I haven't used it

timid star
crisp coral
#

me neither :3

manic rune
#

how do i grab balatro's currently running sounds as a var

crisp coral
#

every time i add one i have to scramble between 5 different functions for 30 minutes

crisp coral
manic rune
#

nghshsbsbsnndnf

#

WHY 😭

zealous glen
#

what's the issue with threading?

timid star
crisp coral
zealous glen
#

nooo
-# nooo

timid star
zealous glen
#

that was in response to having a single monolithic file

crisp coral
timid star
#

i am sure quite fond of scrolling through the whole file, still not as big as the alamac mega file but it'll get there sooner or later

zealous glen
manic rune
#

do i have to

fucking make a new sound manager mod?? 😭

timid star
manic rune
#

honestly at this rate, learning how to make one is better than relying on hard-coded timestamps...

zealous glen
#

why do different threads need to communicate with each other for music anyways?

paper zealot
#

Wait, Almanac is a single lua file?

crisp coral
# zealous glen what variables would you be passing

vanilla balala passes the sound key and the request type, and doesn't need to receive anything i believe
making a rhythm based thing requires passing through bpm, offset, crochets, etc. and receive current time, beat and bar

manic rune
#

i want to move a music to a certain position

in which case, i would need to know the current time of the- (nvm myst sent stuff up there)

crisp coral
zealous glen
crisp coral
#

precision down to the millisecond

paper zealot
#

Oh my god, it's 23300 lines long

zealous glen
#

Like in Cineraft

timid star
zealous glen
#

the cinema rafting game

#

@paper zealot you okay?

crisp coral
#

almanac code is very non-jen-friendly

paper zealot
#

I don't understand why people do this to themselves, it's just insane

zealous glen
#

who's jen

zealous glen
manic rune
#

you know what, delaying my mod development to make a sound manager mod

crisp coral
#

okay victin you must be trolling

manic rune
#

someone will have to do this at one point anyways 🥀

timid star
#

has anyone implemented balala molecules as a consumeable mod yet

manic rune
#

someones making a chemistry mod

#

does that count

timid star
#

ig

hushed field
#

I have no clue how people program anything in one file. I need many files so I can think without getting overwhelmed

zealous glen
#

idk who's jen

timid star
manic rune
hushed field
#

that said, I do need to separate out kinofunctions.lua so it's not just every function that's not on an item specifically

manic rune
#

-# aka cant even rely on copying other people's stuff around here anymore

crisp coral
#

yes, you can't hook sound_manager.lua

timid star
# crisp coral cryptid is

me awaiting cryptid to update to the new calc so my mod can work intangent with it in a newer smod version

crisp coral
#

cryptid did update

#

qhar

timid star
#

oh

#

i've not been caught up

crisp coral
#

evidently

manic rune
#

i have lived long enough to see the day jen almanac being new-calc compat

paper zealot
timid star
crisp coral
#

ykn it would be funny to add almanac as the only mod in lobcorp's incompat list

crisp coral
manic rune
#

do i need to patch a huge portion of sound_manager.lua if i were to make a sound manager mod

and do mods even patch sound_manager.lua?

crisp coral
#

smods patches sound manager

manic rune
#

-# oh right

hushed field
manic rune
#

well at least its just smods

timid star
manic rune
#

hopefully

manic rune
paper zealot
timid star
#

not that bad

manic rune
#

true, true

crisp coral
#

i need to make a cutscene manager because hardcoding everything in game update is so cringe

paper zealot
#

A lot of Steamodded-based mods use SMODS.load_file, which is okay too, but Lovely modules are neater and provide clearer error stack tracks imo

manic rune
#

everything manager mod

#

manage everything, even your taxes

timid star
#

i now understand how scaling the sprites work

#

or somewhat at least

#

using magic numbers to fine tune it but whatecver

crisp coral
manic rune
#

:3 i dont sweat a lot, sorry myst

#

i prefer staying clean

zealous glen
manic rune
#

right now its cold

timid star
unborn bay
#

it's hot af here

manic rune
#

i dont even know wtf is going on with my city's temperature rn

#

few days ago its hot

timid star
#

im in the philippines so filipino

manic rune
#

now its suddenly cold

#

i dont even feel the transition

its straight up "oh its cold now"

timid star
#

i am sweating, at night

why is it hot at night

zealous glen
manic rune
#

the shadow of the sun haunts you

zealous glen
#

Concrete?

red flower
timid star
#

or well sitting still but yeah

manic rune
#

almanac feels like a "first project", so i dont really blame them

zealous glen
crisp coral
#

WHY IS EVERYONE I KNOW FILIPINO

candid sleet
#

idk if anyone can help at all, i've been trying to look at bunco to see how it draws all cards at once for virtual packs but i'm struggling to find it. basically though i wanted to make a russian roulette version of gros michel that has a 1 in 6 chance of destroying all cards in your deck
this image is of the example mod for how Gros Michel works

timid star
zealous glen
red flower
shell timber
#

i should put the loose strings in mf into the loc file

zealous glen
hushed field
candid sleet
#

yeah that's the point

#

i'm gonna make the reward pretty high

timid star
#

one dollar

manic rune
red flower
#

isn't it like an actual inst loss the next round unless you find a standard pack

zealous glen
manic rune
#

mhm

#

i miss my mom...

candid sleet
#

if there's an easier way to cause insta-loss i'm all for doing it but destroying all cards in your deck sounds funny

hushed field
zealous glen
red flower
manic rune
zealous glen
timid star
hushed field
# candid sleet if there's an easier way to cause insta-loss i'm all for doing it but destroying...

Main thing is that I think the effect might be a bit underwhelming if you're not making an animation for it. The way I'd go about it is to draw cards to the a cardarea, like hand, and call dissolve on them. Important thing there is that if this happens on end of round, you don't get access to destroying_cards as a context, I think, so you don't just wanna destroy the cards, you want to also iterate over G.playing_cards and remove the destroyed card from the table

timid star
#

for cards held in hand it would be G.hand.cards

hushed field
#

Otherwise the game creates ghost cards, which it thinks exists but do not

red flower
#

is there a way to cause an insta-loss with smods? i did a lovely patch for it but maybe there's an easier way i didn't notice

timid star
#

setting the game condition to be a game over?

hushed field
#

Not a function, I don't think. But setting the game state works, I do that on the Ring joker

crisp coral
#

g.state = game_over

timid star
#

yeah

crisp coral
#

and state_complete to nil

red flower
#

ohh yeah thats what i do

#

sometimes i forget whats in my mod at this point, i went to look at the lovely patch i referenced and it wasnt there so i might have imagined it

#

or the other day ice said something about my mod i thought was not true and i checked and it was

manic rune
#

N' so talented they got dementia now 🥀

red flower
#

so true

#

who were you again

timid star
#

coder's dementia

#

it always happens

manic rune
#

i dunno

#

can u tell me :3

red flower
#

(it was a localization thing)

cursive sentinel
#

does "next(context.poker_hands['Flush'])" means contains flush, or is flush?

frosty dock
#

contains

unborn bay
#

contains flush

shell timber
#

that's contains flush

cursive sentinel
#

is there a way for "is" instead?

frosty dock
#

context.scoring_name == 'Flush'

shell timber
#

Triangle More Fluff does that but there's probably a better way

unborn bay
#

if you wanna compare if it is flush make a direct comparison with context.scoring_hand

cursive sentinel
#

thank you !

rain slate
#

is there a predefined way to add the center of a modded Joker to the info_queue like would info_queue[#info_queue + 1] = SMODS.Centers['key'] work or do you have to do like { key = 'key', set = 'Set' }

red flower
#

info_queue[#info_queue + 1] = G.P_CENTERS.j_prefix_key?

rain slate
#

a modded joker

#

wait are they added to P_CENTERS?

red flower
#

yes

rain slate
#

ok

forest ivy
manic rune
#

it was a joke 🪫

forest ivy
#

u just ruined mine

#

i was gonna say 'are u playing dota 2' 💔

manic rune
#

djdnsjnsjs

#

😭

#

jumping off a 🌉

forest ivy
manic rune
#

🌉 is closer

forest ivy
#

they are both 💀 enough to 🔪 you

zealous glen
forest ivy
zealous glen
forest ivy
manic rune
#

might be

forest ivy
#

cs 2 peaker

unborn bay
#

we should add counter strike to balatro

forest ivy
#

actually

#

wait actually

#

we need ts

#

i'd surely get ak47 with armor and rush b 🔥

unborn bay
#

gun jokers ,,,,

zealous glen
#

I added DotA 2 to Balatro

unborn bay
#

bless your soul

zealous glen
unborn bay
#

which one specifically

#

arknights

#

gfl

#

kancolle

#

azur lane

#

actually i might be wrong about arknights

forest ivy
unborn bay
#

i forgor

forest ivy
#

Il

crisp coral
#

arknights doesnt only have gun anime girls

candid sleet
crisp coral
#

but gfl is a good example

zealous glen
unborn bay
#

i hate knowing about gacha games i have having this knowledge

crisp coral
#

same

unborn bay
#

with this coming to mind i should add more gacha game references to my mod

#

geniunely wanna expand this more to a playstyle deck like monopoly does but what else can i add to this

unborn bay
#

3 jokers that correlate to the theme of the deck

#

maybe i could try adding rerolling to booster packs with this deck but im positive someone has already tried that idea

#

has anyone tried adding a separate currency in the game besides dollars yet

timid star
#

evil bucks

runic pecan
#

Which one looks better?

tall apex
tall apex
runic pecan
tall apex
#

Other than that I’d say 2

paper zealot
tall apex
#

When you have angles like that pushing perspective is a good way to make the shapes feel like they line up, especially with teeth because they rest snug against one another

candid sleet
#

any clues as to why this crashes on game load, prob just missing something obvious but i'm still new to this

runic pecan
tall apex
tall apex
zealous glen
tall apex
#

Our front two teeth need a lower teeth on the bottom jaw to rest comfortably

tall apex
#

I am the teeth rater now

#

Show me your teeth

zealous glen
tall apex
#

HE GAWT THE BLING OMG

#

Those look really good though! Esp with that angle it really pushes the perspective

zealous glen
#

I had a reference

unborn bay
#

bri ish teeth

tall apex
#

I think my suggestion would be to push the 3 dimensionality of the bottom row, I’d show an example but I’m on my phone in class rn

zealous glen
unborn bay
#

joj

tall apex
#

joj

zealous glen
#

joj

tall apex
# zealous glen Maybe later

Wait I think I was incorrect here it translates much better over lineart then pixel art, you do wanna push perspective but you’ll be able to do that by slanting the joker letters on the bottom along with the angle of the teeth

#

Might be hard in pixel art but life finds away and so do teeth

zealous glen
#

I thought about changing the perspective but I couldn’t make the letters look readable

#

The first G is already hard to read

#

A slanted J doesn’t read very clearly in that tiny space

zealous glen
#

A slanted J would move along the diagonal

#

So the proportions would look off

tall apex
zealous glen
#

Maybe with clever sub pixel coloring but Idk

hushed field
tall apex
#

Maybe something like that?

tall apex
zealous glen
#

Yeah I’m not that skilled

hushed field
#

Half pixels are clever sub coloring so I guess you're already up to date on that tech, Victin, haha

zealous glen
#

Akai might be

tall apex
#

also sorry if I’m yapping I’m an art nerd and I love talking about art <3

tall apex
#

I love giving people tips and critique while maintaining a respectful and objective composure RAHHHHHH

hushed field
# zealous glen

I'd ease the dithering a bit, btw, you don't need it, as it makes these kind of textures look a bit more hairy or fabric-y.

unborn bay
#

man i wish i was good at art

hushed field
#

If you wanna imitate the hatched shading that JJBA uses, I'd use another shade to imply the hatching partially

zealous glen
zealous glen
hushed field
zealous glen
#

Yeah I was trying to stick to the vanilla palette

#

I could maybe ease the dithering on the clothing

#

I'm not sure it looks good

hushed field
#

What you could do is go harsher on the shade, and just shade it in Balatro black, using hatching, and then use the darker white shade as the median colour

#

Mind if I try to mess around with it a bit?

zealous glen
daring fern
#

How does one check if a card has any sticker?

candid sleet
#

trying to make a joker that adds 5X Xmult when you play five 5s

#

also i think even if this didnt crash it would have added 5x mult per 5 played which is also something i'd need to fix

hushed field
candid sleet
#

ah ok

#

that doesnt really address the crash though i don't think

#

ok well i say that

#

now it crashed after adding chips for the 5s

#

does it have something to do with the setup for checking for five 5s

#

right now i think all it's doing is checking to see how many 5s it needs to trigger and if it's a foak

#

this was working fine earlier though when it was chips and flat mult instead of xMult

hushed field
candid sleet
#

idk how to check that

hushed field
# candid sleet idk how to check that

the crash log tells you that it's line 47 in the ModdedVanilla.lua file. It's just that your screenshot doesn't include line numbers so I can't see why it'd crash

daring fern
hushed field
candid sleet
hushed field
# daring fern How?

i was gonna say .sticker ~= nil, but I'm realizing that would check for stake win stickers as well

hushed field
#

should've spotted that earlier

long sun
#

hihi, i'm back :3

#

the console says nothing when i use this Spectral

candid sleet
long sun
#

and the localize() functiont throws an error

#

so i'm assuming _hand is nil

hushed field
# daring fern How?

the issue is that stickers aren't as defined of an object class in base game, but I think you can use SMODS.stickers to iterate and check. Let me see how you can see if it's got gameplay-related stickers

candid sleet
long sun
#

do you see anything immediately wrong? :>

daring fern
long sun
#

i'm guessing it's the list of hands in the game

#

what you'd see if you opened Run Info

#

that's how the game seems to use it, anyway

limber blaze
#

G.GAME.hands is that i thought

daring fern
hushed field
long sun
#

hmm true ^^

tall apex
# zealous glen ?

Try pushing in the J and lowering the angle, specifically where the cross section meets move that one pixel left and up, then extend the left part of the top :3

hushed field
tall apex
#

Something like that might work!

hushed field
tall apex
#

I tried to do new dark pixels in red, remove dark pixels in yellow, and blue for the implied line of motion

#

I’d do more but again, phone

unborn bay
#

phon,,,,,

candid sleet
long sun
hushed field
daring fern
long sun
#

it's crashing when trying to localise it

candid sleet
zealous glen
hushed field
candid sleet
#

i'll start a new run and see

daring fern
long sun
#

ah grand

#

thanks :D

#

nah, same error

daring fern
# long sun

I don't think you can do var1, var2 = '1', '2' in lua.

candid sleet
paper zealot
#

Good catch, that should be G.C.UI.TEXT_INACTIVE. Not sure how that snuck in, will fix. Did you find any other errors?

candid sleet
#

it's giving x5 mult for each card though, how would i make it so it only gives one x5 mult after the chips

scarlet thorn
runic pecan
#

Does playing card have anything similar to remove_from_deck? A function that runs when it is destroyed?

cursive sentinel
#

is it possible to enter personnalized text in the tooltip? and if so, is it also in the info queue of loc vars, or is it more complicated?

tall apex
cursive sentinel
zealous glen
long sun
#

oh wait i see

#

nevermind =w=

tall apex
#

This’d be what I’d do is clear up that pixel on the bottom so it doesn’t push on his lip, and move that dark pixel to the other side to convey consistent weight

tall apex
limber blaze
long sun
#

complex numbers?? whar??

limber blaze
#

this is purely visual but i might actually use the idea for something

#

i dont wanna encroach on green deck for the corruption mod tho

long sun
#

does it take the real component as the hand size, or the magnitude?

limber blaze
#

no questions

zealous glen
#

I think if it were 1 pixel wider it would read clearer

long sun
#

the plot thickens. the loop isn't being run at all

zealous glen
daring fern
long sun
#

print?

daring fern
long sun
#

mhm

#

oh do you mean it might be just pairs?

daring fern
long sun
#

aha! thanks :D

runic pecan
long sun
limber blaze
#

its meant to say clockwise for chips but its a mistake

long sun
#

okay now the loop isn't running again :P

long sun
# limber blaze

i think it should specify that this is on an Argand diagram

daring fern
long sun
#

so:
Rotates Mult 90 degrees clockwise and Chips 90 degrees counterclockwise on an Argand diagram

long sun
#

what would the fix be? .name?

#

also, i'm guessing i didn't write the for loop correctly :>

daring fern
#

You just have to declare it.

long sun
#

fair

#

okay well i think this is an XY problem, so lemme undo a bit and explain what i'm trying to fix

#

the level_up_hand function takes a number for the hand

#

like, as an index into G.GAME.hands

#

and, i'm not sure how to get that ^^"

daring fern
long sun
#

ah

iron iron
#

bait at its finest

long sun
#

woah it worked!!!!!

#

is there a way to sort the hands from highest to lowest, though? ^^

daring fern
long sun
#

Flush Five to High Card

#

so, order on the Run Info page

daring fern
native zinc
# limber blaze

now the question is what count's as "greater than 300 chips" in the imaginary plane

#

absolute value? horizontal vector length?

long sun
long sun
#

oh weird, it seems to be random each time. i tried it again, and it upgraded Four of a Kind

daring fern
long sun
#

Upgrade your most played poker hand 3 times

#

new code

daring fern
long sun
#

if it's a tie

#

ooh i might make it random if it is, though

limber blaze
#

90 degrees clockwise * 90 degrees counterclockwise = 0 degrees

#

its basically just a do nothing joker

long sun
#

not quite

#

it's like swapping Chips and Mult