#💻・modding-dev

1 messages · Page 194 of 1

manic rune
#

mm got it, thanks

plush cove
#

ok so how am I supposed to get orange and purple out of this code

manic rune
#

(im 100% confident that i wouldnt be able to understand ortalab's code 💔)

red flower
#

im sure eremel would be kind enough to help

neat plover
red flower
#

try it?

manic rune
#

actually, it might be because of this

#

hmmm

#

yeahh probably not, if theres no background color set then it should probably already be transparent if thats the case anyways

neat plover
red flower
manic rune
#

gotcha, lemme try

neat plover
#

extra end

manic rune
#

anddd nope, doesnt work :(

#

HMMM

iron iron
#

a

frosty dock
#

other_card is not defined. you probably meant to use context.other_card, which also isn't a thing in context.first_hand_drawn context

#

there is also no card that has an ID of 1

neat plover
#

im stupid

frosty dock
#

depends on what you want to do exactly

neat plover
#

well if first hand drawn contains an ace give 3$

manic rune
#

god damn it

#

just what the hell is my ui inside

#

😭

neat plover
#

what the jimbo is on my screen

manic rune
#

i tried changing EVERYTHING that suggests an UI in this already

#

😭

humble girder
#

that's an extra empty box somewhere

#

probably the box your stuff was inside of originally

frosty dock
# neat plover well if first hand drawn contains an ace give 3$

then you need to check the entire drawn hand for aces and not just some unspecified "other card"

if context.first_hand_drawn then
  local contains_ace
  for _,v in ipairs(context.hand_drawn) do
    if v:get_id() == 14 then
      contains_ace = true
      break
    end
  end
  if contains_ace then 
    return { dollars = card.ability.extra.money }
  end
end
manic rune
frosty dock
#

it gets a little more complicated if you want it to give $3 per Ace in the drawn hand

neat plover
#

no just if

manic rune
humble girder
manic rune
#

im seriously gonna become dora, holy s

red flower
manic rune
#

hmm, i will try

frosty dock
# neat plover the for loop is "for_,v"?

yeah. the _ is a variable in and of itself and represents the index. it's convention to name unused variables _ in loops like this as to not take unneeded space

neat plover
#

oh

frosty dock
#

do you have any experience with coding?

#

you might wanna read up a bit on lua and how it works first

neat plover
neat plover
frosty dock
frosty dock
neat plover
#

thanks! ill try that

frosty dock
#

it fucking isn't a center, it's a card

manic rune
#

an example mod called it center

frosty dock
#

stupid cryptid conventions

manic rune
#

so yeah

#

😭

#

too much stuff to replace so i left it be

crisp coral
#

example mod?

manic rune
#

example mod, yes

crisp coral
#

which i wonder

manic rune
#

I actually dont even remember anymore

red flower
manic rune
#

i think it may even be from a tutorial vid

#

lemme check

neat plover
#

works mighty fine

manic rune
#

its this lol

neat plover
#

uhhh i gotta draw it now

zealous glen
manic rune
#

MY FREAKING RAM

#

this is new

#

my steam wont even boot up again

#

💀

manic rune
#

i tried printing everything

#

hmmmmmmmmmmmmmmmmm

#

genuinely gonna crash out 😭

#

might have to stick with this for a while then, damn

paper zealot
# plush cove ok so how am I supposed to get orange and purple out of this code

This is a more genericised version that makes the ranges clearer:

local cycle_speed = 3
local sin_time = math.sin(self.TIMERS.REAL * cycle_speed)

colour[1] = (sin_time *  0.5 + 0.5) * (1.00 - 0.50) + 0.50  -- r = 0.50 -> 1.00
colour[2] = (sin_time *  0.5 + 0.5) * (0.65 - 0.00) + 0.00  -- g = 0.00 -> 0.65
colour[3] = (sin_time * -0.5 + 0.5) * (0.50 - 0.00) + 0.00  -- b = 0.50 -> 0.00
neat plover
#

making a joker🔥
drawing a joker😭

random sleet
#

so true

tall wharf
#

is this a proper way to patch steamodded

paper zealot
#

You can also supply an array of colours to a DynaText and it will iterate through the list, making each character a different colour if you want a horizontal gradient that doesn't change

random sleet
#

you dont need the preceeding indent in the pattern

#

but otherwise yes

manic rune
#

this probably suggests that a description box is already added before everything in here is accounted for

#

...so i might to track down where the function is

tall wharf
#

idk

#

the patch doesn't seem like it's doing anything

random sleet
#

oh

#

switch your quotation marks

tall wharf
#

ah

random sleet
#

' on the outside and " on the inside

humble girder
#

i think i got it and i'm pretty sure the patch now should allow correct ownership taking of everything

random sleet
#

for uh the target

humble girder
#

clicked through a round or two, didn't seem like i broke anything either

manic rune
#

ghhghhghgh

#

anyone knows where the code for generate_ui is?

tall wharf
#

so like this

manic rune
#

this is the closest ive got to (game_object.lua, smods) but it doesnt seem to be the place

random sleet
#

should be yeah

tall wharf
#

still no worky 😭

plush cove
random sleet
#

try cutting out the indents on the pattern then

tall wharf
#

still no work

random sleet
#

try

tall wharf
#

so like it currently looks like this

frosty dock
humble girder
#

I tried that

#

it kept giving me no matches

#

tried over, under, whatever, could be that lovely does pattern matches before regex matches, idk

#

only option seemed to be fiddling with priority

hushed field
#

Does setting an enhancement gate also work for consumables?

paper zealot
tall wharf
frosty dock
paper chasm
#

In the localization files, has anyone documented what the single letter prefixes stand for in the keys? (b, k, ml, ph)

frosty dock
#

not really

#

they're just conventions anyway, you don't need to use them in your code

paper chasm
#

i'd like to follow it if I can understand it, does anyone know what they stand for?

frosty dock
frosty dock
#

I'm not sure what they all mean off the top of my head but ml is multiline

tall wharf
#

i still don't think it is being patched correctly

paper chasm
#

oohhh that makes sense

tepid crow
paper chasm
#

was thinking that too, noticed cryptid did kind of both so thought i'd ask, thx!

#

k = pop up...hm, goes kook!

#

a seems to be used for variables?

tall wharf
#

i wonder if it's broken on macos

humble girder
#

ah

zealous glen
humble girder
#

yeah I just saw your message lol

#

yeah ok I'll do that

hushed arrow
#

where do I find resources on how to make my own mod?

faint yacht
tall wharf
#

i might be stupid

#

i couldn't for the life of me figure this out

#

i really do wonder if it's just macos being funny

#
[[patches]]
[patches.pattern]
target = '''=[SMODS _ "src/utils.lua"]'''
pattern = '''if scoring_hand and card.debuff then'''
position = "after"
payload = '''
if (context.card.ability.should_trigger_individual_debuff) and context.individual then
SMODS.score_card(card, context)
end
'''
match_indent = true
red flower
tall wharf
#

i guess that's an issue with me being on macos

#

i guess this is a bug

tepid crow
#

does the lovely log say anything?

tall wharf
#

it didn't

tepid crow
#

can you share it anyway?

tall wharf
#

because usually it should when it patches something

tall wharf
tepid crow
#

sure, just send it whenever you're back then

tall wharf
#

in like 10 minutes

#

the log is not clean at all

#

btw jsyk

#

also there is not a single mention of the file being patched

#

maybe I'm a rare specimen with a MacBook

#

oh that makes sense actually

manic rune
tall wharf
#

i was playing with Cryptid and the Override text didn't work properly

manic rune
#

this is actually so numbing my brain rn

tepid crow
manic rune
#

im currently trying to find the outer white box

tepid crow
#

ah, fun

tall wharf
#

i love ui code

manic rune
#

it is indeed fun

#

i have searched in literally every file i could think of

#

in smods and in balatro source code

#

just where the hell is it 😭

tall wharf
#

i wish thunk ported react to balatro

tepid crow
#

you could error inside the UI function you're generating text, that way you can see the stack traceback

manic rune
#

oh, how would i do that?

do i just, "sidlsamdlasdma" inside the code and see where it leads me to

random sleet
#

you might be able to do something funky where you trace the parent of the ui elements you are working with and delete/overwrite it

tepid crow
#

error("gimme stack traceback pls")

#

it's what I do sometimes when I have no idea how the hell I got somewhere

#

(attaching debugger when)

manic rune
random sleet
#

yeah basically

#

i just dont know which uh

#

thing you need the parent of

#

but all ui elements know what their parents are

manic rune
#

im guessing desc_nodes

random sleet
#

possibly

manic rune
#

since it has all of the small boxes in that picture

random sleet
#

that might just be the nodes table though

manic rune
random sleet
#

yeah thats a nodes table

manic rune
#

gggghgkgj

tepid crow
#

I love .nodes[1].nodes[1]

random sleet
#

maybe from full_UI_table you can go the other way top-down

foggy carbon
#

when does the Flint happen compared to context.before?

manic rune
# manic rune

i have figured out absolutely nothing from this honestly

#

❤️

#

im dumb at reading crash logs

broken cliff
#

message.txt

manic rune
#

this is what i got from full_UI_table, how do i even somehow get the ui out of this

tepid crow
# tall wharf

Hmm, very weird. Lovely 0.7.1 is the right version, but I don't see your patch anywhere in here

manic rune
#

im

#

gonna bang my head against a wall

#

maybe i will figure out something after a quick reload

tepid crow
#

(and probably disable all other mods lol)

tall wharf
#

if there are my patches failing

tepid crow
# tall wharf if there are my patches failing

oh this one's the file you're also using for the smods patch?

WARN - [♥] Pattern '    return generate_card_ui(self.config.center, nil, loc_vars, card_type, badges, hide_desc, main_start, main_end)' on target 'card.lua' for pattern patch from Aikoyori's Joker/lovely.toml resulted in no matches
tall wharf
#

yes

tepid crow
#

(I didn't see it cuz of the huge amount of Talisman failed patches lol)

tall wharf
#

it's all in the same file

tall wharf
#

i should arrange them into files

tepid crow
tall wharf
#

yeah i think it's just that it's buggy on Mac

tall wharf
#

which is the Cryptid Override code card

manic rune
#

ok, i think desc_from_rows is responsible for the whole joker description stuff

tall wharf
#

as it didn't show the hands overridden

manic rune
#

maybe i need a hook to stop it from generating the outer box

#

hm

zealous glen
#

either a hook or a patch

#

It should be nearby Autumn’s subtitles

manic rune
#

subtitles?

zealous glen
#

@random sleet

long sun
#

hi, is there a context for a card being destroyed?

zealous glen
#

The one Canio uses

long sun
#

similar to how Hologram's ability works, but for destroyed cards?

#

ah lemme see

#

thanks ^^

zealous glen
#

Not the one that no one uses

tepid crow
tall wharf
#

ok

zealous glen
#

Do you mean “at”?

tepid crow
#

no

#

I want it to crash

zealous glen
#

Ah

tall wharf
#

it is being loaded

zealous glen
tepid crow
#

😈

tepid crow
#

you should ask Metherul

tall wharf
#

@gaunt thistle :P

manic rune
#

lets see

#

maybe i should make it so that it ignores jokers from my mods?

tepid crow
#

good luck aiko 🫡

manic rune
#

not sure how i would achieve that

random sleet
manic rune
#

how would i even figure out what card is calling desc_from_rows, istg everything is followed by something which makes me question my own sanity

random sleet
#

yeah sure

frosty dock
manic rune
#

OH

#

OH GOD THANK YOU SO FREAKING MUCH

#

🙏

random sleet
#

i dont get it

manic rune
#

where did you even find that?

random sleet
#

i made the subtitles

manic rune
#

the generate_UIBox_ability thingy

random sleet
#

like a year ago

manic rune
#

ack

random sleet
#

(not quite, lol)

tepid crow
manic rune
#

im 100% sure thats where the white box is generated

#

...because, uh, i believe N' 👍

random sleet
#

ok its in card.lua

manic rune
#

gggggg

hushed arrow
#

how to create a mod that changes some values of the original game without adding anything new?

random sleet
#

🔨

random sleet
#

youll need this

tepid crow
#

idk I still feel like it's more likely me and aiko are missing something rather than MacOS being broken but I can't figure out what

tall wharf
frosty dock
#

i was just wondering if there was anything else acting on the file

#

can you run with --dump-all?

hushed field
#

Hmm, I have a negative card enhancement that isn't able to be discarded by the player. I'm thinking of whether I want them to just stay in hand when discarded, or to not let a discard go through when they're in the hand. I guess graying out the button might be the way to go, so that they can still be discarded by The Hook? 🤔

tall wharf
tepid crow
frosty dock
tall wharf
#

what do i send

frosty dock
#

huh

tepid crow
#

oh, interesting

frosty dock
#

is there a SMODS folder in the dumps?

tall wharf
hushed field
frosty dock
tepid crow
#

instead of letting me discard then going "no you don't"

hushed field
#

Yeah, they already punish you for having them, I don't wanna do a double feels-bad mechanic, haha

#

I think greying the button out if they're highlighted and not making it clickable should be fine, then. The Hook (and modded jokers)'ll still be able to discard them, but let's just call that synergy

tall wharf
#

like the patch works fine on windows

random sleet
tepid crow
# tall wharf

starting to look more likely that lovely isn't doing its thing on mac 🤔

tall wharf
#

that's so lovely i spent half an hour trying everything

frosty dock
random sleet
#

that's so lovely
bassline

frosty dock
#

that's not very lovely of mr. lovely

tall wharf
#

in any case

random sleet
#

OH WAIT
did you try forward/back slash swapping

manic rune
random sleet
#

that would be such a stupid and trivial reason, but,

tall wharf
#

macos uses /

random sleet
#

o

#

sorry

tall wharf
random sleet
crisp coral
#

🎉

random sleet
#

myst im making graveyard content pog

hushed field
manic rune
#

finally found you...

#

how long did that take

random sleet
crisp coral
random sleet
#

im not huge on the mechanic as balatro's limitations make it difficult to use well

crisp coral
#

i love thinning playstyle

hushed field
#

Haha fair

hushed field
random sleet
#

i do wanna keep adding ridiculous mechanics to the game tho lol

manic rune
#

are you adding yugioh into balatro

tall wharf
random sleet
#

suit levels, perma mult/xmult/xchips/..., joker stamps, aspects, sts bottles, and graveyard now after i defeated Myst and got the rare drop

manic rune
#

wha

tall wharf
#

ah

manic rune
#

was Myst the one piece the whole time

#

maybe the true Myst was the friends we made along the way

random sleet
#

myst was the one who made graveyard lol

manic rune
#

i c, i will see myself out

random sleet
#

i just polished a few rough spots and will be maintaining it from here as it seems

hushed field
#

time to add mana, dexterity mechanics, and palming cards to cheat to the game next

random sleet
#

palming cards.....

#

unironically tho that could go hard af

manic rune
#

what r palming cards

hushed field
#

not enough stealth mechanics in balatro tbh

random sleet
#

like hiding it up your sleeve basically

manic rune
#

oh crap accidentally turned on premiere pro

#

im gonna crash now, goodbye

random sleet
#

im die goodbye forever

manic rune
#

ok nvm it didnt ram overdose

#

my fan is loud as hell though

random sleet
#

palming cards in balatro could be like, picking 1 card in your hand and having a button to palm it and store it for later. would remove it from your deck until it is retrieved, but like youd be limited to 1 palmed card... except with maybe a voucher? :3

hushed field
#

Is the graveyard also added to AMM, Autumn?

random sleet
#

yes

manic rune
#

oh, that sounds like that uhh one joker which stores a card in themselves

#

someone posted it here

random sleet
#

i have been pushing code incessantly to both mods

hushed field
#

Hmm, making AMM a dependency would basically require all your features to be in there, right? 🤔 While I do love the suit levels and graveyard, it's not something I'm planning to design around. There's not a way to selectively turn certain features on or off, is there?

random sleet
#

i do need to look into that, something like the SMODS optional features

zealous glen
tall wharf
#

is there a way to get joker in context.individual

zealous glen
#

Rather than while in the hand

manic rune
#

G.jokers.cards?

#

idk

hushed field
crisp coral
random sleet
#

if you dont add any way to increase suit levels, they'll always stay at 1 and thus not affect anything
and similarly, the graveyard should be unintrusive mechanically as well, you'd have to specifically do something with it

#

while the added UI will still be there, the mechanics dont do anything if you dont make them do so

hushed field
random sleet
#

yeah i might just make it so that the UI is toggleable rather than the entire functionality

#

because im lazy :)

tall wharf
crisp coral
#

it's a different context

hushed field
tall wharf
crisp coral
#

well

#

card???

#

would card = card work

tall wharf
#

then is this correct

foggy carbon
#

is there a way to see what a lua file looks like during the game with lovely applied?

#

*lovely patches

hushed field
foggy carbon
#

thank you

crisp coral
tall wharf
#

it is as jank as it can be

opal spade
#

what are you trying to do

foggy carbon
#

okay, so this seems to be the offending line?

hardy viper
#

card should be _c there

#

@edgy reef seems like your patch

#

unless_c is center

#

idk

#

card is nil though so seems like the opposite

foggy carbon
#

card does exist as a concept in the larger function (generate_card_ui)

#

so I think it is intended to be card, there's just not checks for nil

tall wharf
opal spade
tall wharf
#

both

hardy viper
tall wharf
#

-- it is forbidden to dog
SMODS.Joker {
    atlas = 'AikoyoriJokers',
    pos = {
        x = 7,
        y = 0
    },
    key = "it_is_forbidden_to_dog",
    rarity = 3,
    cost = 4,
    loc_vars = function(self, info_queue, card)
        return {
            vars = { 
                card.ability.mult
             }
        }
    end,
    config = {
        mult = 1.1,
        should_trigger_individual_debuff = true
    },
    calculate = function(self, card, context)
        if context.individual and context.other_card.debuff and 
        (   context.cardarea == G.play or 
            context.cardarea == G.hand ) then
            return {
                xmult = card.ability.mult
            }
        end
    end,
    blueprint_compat = true,
}
hardy viper
#

i feel like if youre calling generate_card_ui with a nil card it should error regardless tbh

opal spade
manic rune
foggy carbon
tall wharf
manic rune
#

i think they should still include debuffed cards

tall wharf
#

unfortunately i am very stupid

opal spade
opal spade
tall wharf
#

yes this is the patch i was trying to do

opal spade
#

why are you scoring the debuffed cards

opal spade
tall wharf
#

should it not be

opal spade
#

the point of a debuff is that the cards are debuffed

tall wharf
#

and so i want those debuffed cards to get X1.1 mult

hardy viper
#

not just utils.lua

#

maybe that got changed because of the 0.6.0 incompatibility

opal spade
hardy viper
#

nvm then

random sleet
manic rune
#

yeah i give up on fixing

#

literally cant figure out anything, damn.

tall wharf
#

wait

#

i think i figured something out

runic pecan
#

I'd swap cups', wands', and swords' colours because of historical reasons.

random sleet
#

ok i can remove them from the game

runic pecan
#

Is this too convoluted?
This is meant to support Straight build.

manic rune
#

i thought its "within +- 2 range of"?

#

though my grammar might be bad so idk lol

neat plover
#

i have an idea for a laggy joker, but i dont like the name, any of yall got an idea for a better name?

runic pecan
manic rune
#

if so, Jokernet Explorer

neat plover
#

no it just has bad connection

neat plover
manic rune
#

hmmmmm

runic pecan
tall wharf
hardy viper
neat plover
hardy viper
#

it also would get a bit complicated if the leftmost card is a king

#

/ace

manic rune
#

K Q J 10 9
A K Q J 10

#

i think its not that complicated

hardy viper
#

doesn't apply with the wording i used

#

is the thing

runic pecan
manic rune
#

for example,
x x A x x

-> K Q A J 10

hardy viper
tall wharf
hardy viper
#

also the ace isn't on the left so that wouldn't work

manic rune
#

if its a 9 then it will be J 10 9 8 7?

hardy viper
#

ye

runic pecan
hardy viper
#

and there's no straight that works that way for a 2/ace/king

manic rune
#

yeah thats seem a bit unnecessarily complicated

neat plover
#

laggy joker it is

hardy viper
#

it's just edge cases tbh

#

could always make an ace/king turn into 10JQKA

#

and a 2 into A2345

runic pecan
#

I mean math.max and math.min are a thing in lua.

#

Or I can also make it wrap around, and let those 98% players suffer with their 32AKQ.

hardy viper
#

lmao

runic pecan
#

The down side would be not being compatible with mods that adds extra ranks. But I can deal with that.

tall wharf
#

wrong video

#

fuck

hardy viper
humble girder
#

blind rabbit hole goes deep :v

crisp coral
tall wharf
random sleet
hushed field
random sleet
#

functionally, if you dont use oddities the game will no longer attempt spawning them (failing and spawning a jimbo instead), and the packs and tag supplied will not spawn either

hushed field
#

I don't plan on using them, but I should add some specific jokers just to interact with the other mechanics, if a player does want them turned on, haha

manic rune
# tall wharf

i deserve to be shot because of what i initially thought when i looked at this.

random sleet
#

you could then use the in_pool function to check if those features are enabled!

#

that way those jokers dont spawn if those features are disabled

manic rune
#

oh.

#

so its not just me

#

phew

#

😭

hushed field
#

yeah, I've looked into conditional loading already! Just because of the theme of Kino I definitely want Reverie to be compatible, so I looked into how difficult it'd be to add some jokers for if the player has that installed too. That, and the pokémon movie for pokermon, ofc, haha

#

You're also good motivation for at some point ripping out all features from the content from Kino, and making that a separate mod so people can just mess around with and change those things without needing all my jokers in there

random sleet
#

my hope is that if i just. Go Out There And Be The One Who Does The Things. then maybe the one library mod that i make actually happens to catch on who knows

hushed field
#

Well, I'm fully bought in 😛

random sleet
#

and we get the mechanics presented to be fleshed out across multiple mods

hushed field
#

The more I can rely on other people's code, instead of writing my own unique implementation, the easier it'll be to make stuff that's compatible, and that's a big reason already, ofc

random sleet
#

because that's what always feels the worst as a modded player when you do like modpacks of stuff is when everything just feels like a totally separate thing

hushed field
#

Yeah, exactly

random sleet
#

what do you mean i have 5 keybinds for the same thing

crisp coral
hushed field
#

I remember the tekkit days of minecraft adding 7 versions of copper that never worked together

random sleet
#

oh god

crisp coral
#

LMAO

#

bless mojang for adding an universal copper

manic rune
#

ok this looks more ass than i thought

random sleet
#

RIGHT i still want to make the "balatro ore dictionary"

hushed field
#

so, autumn, when are you adding crafting, so I can add 7 incompatible coppers to the game?

manic rune
#

i never understood how the Create mod in minecraft worked ngl

#

i only know that water flows = water wheel happy

random sleet
#

i have considered adding like. Materials.

#

but not as a crafting thing

#

but i guess it could result in a crafting thing

hushed field
random sleet
random sleet
manic rune
#

that was my horrible attempt of trying to make a jevil spritesheet 😭

random sleet
#

chat why is faygo actually good

hushed field
tall wharf
#

to chinese people does this look presentable

#

i do not know chinese

hushed field
#

As I currently already check for genre, and for certain qualities like 'has Batman' or 'has vampires', but I wanna expand that into something modular so I can add to that a lot more easily.

manic rune
#

as an asian, i can confidently say that resembles asian languages

tall wharf
#

same

#

i am also asian

#

i can confirm too

manic rune
#

epic

neat plover
tall wharf
random sleet
#

joker hat on the dog

tepid crow
manic rune
#

or joker hat on the person

tall wharf
manic rune
#

scrumptious

tall wharf
#

what's a good rarity for this

manic rune
#

probably uncommon at most, since its a very niche ability

tepid crow
#

imagine getting it in double or nothing tho

#

🤤

tall wharf
#

idk why i wanted to add this

manic rune
#

please dont joker

old bane
#

idea:

Blackjack Joker:
Gain X2 Mult on 21
Gain +Mult on < 21 (based on total value)
Score 0 on > 21
#

rarity?

manic rune
#

what do you mean by "on 21"?

old bane
#

in the full hand, if the total value of the played cards are == 21

#

so like two kings and an ace would be 21

#

(or also just a king and an ace)

manic rune
#

huh

#

X2 Mult if the ranks of all played cards add up to 21
+() Mult if the ranks of all played cards add up to below 21

#

thats probably easier to understand

old bane
#

i see

#

would it be like a rare or smth

#

or like an uncommon

manic rune
#

ehh, i actually think it should be a common

#

X2 Mult being locked to a very specific hand combination can hurt most strong builds

#

and other than that, the other buff is pretty meh

#

so id say this is an early game joker when you havent built your deck properly yet, aka a common joker

old bane
#

gotcha

old bane
#

damn im not original

west mason
#

just finished this joker, not entirely sure about the rarity and how many rounds until it triggers, any suggestions?

fallen tendon
#

Is there any way to pass an external texture into an edition shader?

manic rune
#

thats a lot of banana john

random sleet
#

this is a super basic implementation, i havent done any of the actual pool considerations

runic pecan
# tall wharf

So um, 嚴禁遛丑角 actually means "(This area) prohibits walking jokers", so the joker hat needs to be put on the dog's head.

random sleet
#

like no duplicates or whatever

random sleet
manic rune
#

and i think 2-3 rounds is fine

west mason
#

yeah

#

the chances for a legendary are 1 in 10, and the chances for it to be a tarot card instead are 1 in 8

old bane
manic rune
#

dont repeat my mistake lol

cursive glade
#

is there a global variable like G.jokers. but for consumables?

runic pecan
# random sleet

I wander if there can be a universal library mod that sets the pool of food jokers and everyone can just add their food jokers of their mods to this pool.
You know, for mod compatibility.

random sleet
#

yes that is exactly what i am trying to do

random sleet
#

but nobody wants to actually make the thing that is helpful

#

and just wants to complain that it doesnt exist

#

:)

cursive glade
runic pecan
old bane
#

or really just any joker that makes a tarot/planet/spectral card in your consumables area

random sleet
#

sorry

old bane
frosty dock
old bane
random sleet
#

why did you put another soul

runic pecan
#

Now that's a lot of soul gems.

old bane
#
Soulful:
Selling this Joker will create a Legendary Joker
manic rune
#

john souled everywhere 😭

runic pecan
#

"It's pneuming time!"

tall wharf
frosty dock
#

so actually I didn't make any lovely patches for this

random sleet
#

LETS GOOOOOO

frosty dock
#

does it make a bunch of patches from other mods useless? maybe. is it worth it? absolutely.

random sleet
#

ab. so. lute. ly.

humble girder
cursive glade
#

Yeah lol i just saw that

cloud hill
#

Hi! I'm new to the server so I hope that this isn't a dumb question to ask here. I'm recently getting started with modding balatro, and right now I'm pretty curious on how to make a custom joker to add to the game. Are there any guides/tutorials, because I'm having a hard time with finding something like that onlinethunk

frosty dock
frosty dock
opal spade
# random sleet

iirc there was a smods branch with something like this but it went stale unfortunately

manic rune
cloud hill
#

omg thats what I was was looking for thanksss

runic pecan
manic rune
#

but other than that its really useful

opal spade
#

i was about to post that yeah

west mason
old bane
# west mason how can i do this?

info_queues are your best friend here, in this case, you'll wanna make a custom info_queue. In your localization file, it's the same as declaring a joker definition, you just have in your Other= section. In your joker code, you just add info_queue[#info_queue+1] = (your info queue localization key here) in between the loc_vars = function(self, info_queue, card) and return { vars = {}} of your joker code

manic rune
#

this should be correct, yes?

#

oh nevermind

#

its consumeables, not consumables

#

what the hell

frosty dock
runic pecan
#

Imagine somebody patches every "Consumeable" into "Consumable" in every file of the game.

tall wharf
#

maybe too good

#

for verdant leaf

manic rune
#

who wanna roll on a banner with trash, trash, trash, and trash 🗣️

cloud hill
minor furnace
#

I love how my computer is telling me Balatro is already running when it most definitely is not

manic rune
#

you should def call it card instead

#

dont be like me 😭

cloud hill
old bane
#

if i use copy_card with a joker, can i then use that joker in SMODS.add_card?

tall wharf
#

how do i use context.blueprint again

#

with blueprint the card just does not work anymore 😔

old bane
# tall wharf how do i use context.blueprint again

it's for blueprint-like jokers, so if you don't want a specific part of a joker to be copied by blueprints (usually used for scaling, because blueprints don't have the variables to scale), you use not context.blueprint

tall wharf
#

ok i am stupid

#

i used return instead of break

#

all good

cloud hill
#

ohh ok making a simple joker wasnt that scary

tall wharf
#

ok so

manic rune
#

emphasis on the word, "simple"

cloud hill
#

how you make the joker trigger on certain events tho? like if you play a specific hand

manic rune
cloud hill
tall wharf
cunning barn
# tall wharf for verdant leaf

if you want my opinion i think that this specific joker with that specific blind is such a niche case that i think it should stay like this. for a fun rare synergy

tall wharf
#

anyhow

#

how do i get ability of a card from blueprint

manic rune
#

ive been working on my mod for 10 hours at least

#

damn.

manic rune
#

somehow take the whole joker's calculation 🗣️

#

or alternatively, you can store the card you want to "copy" in a table

cloud hill
#
        card.ability.extra.mult = card.ability.extra.mult + card.ability.extra.mult_gain
        return {
            message = 'Upgraded!',
            colour = G.C.RED
        }
    end```
i hope im not asking too many simple things but, how do you add more conditions? like i'm making up an example, if the hand is a three ok a kind of 7
manic rune
#

then the card which copies others will read through all of the cards in that table

#

in context.blueprint

manic rune
#

see if all of them r 7s

cloud hill
#

ohh ok, and it should still be in the calculare function?

manic rune
#

mhm

cloud hill
#

thankssss

#

btw i just realized, are you the author or balatro star rail?

manic rune
#

ye

cloud hill
#

you're actually insane

manic rune
#

ive gotten this far mostly thanks to everyone else too lol

#

they have been really helpful

tall wharf
#

omg yme

novel violet
#

personally i would loop through scored hand and use an incrementing local var to see how many cards in hand are 7s, if i >= 3 execute else end

manic rune
#

im not even overexaggerating when i say that i wouldnt know how to create a simple UI if not for everyone's help, best modding community ive ever been a part of ngl

manic rune
#

but yeah, your solution should work best in his context i think

sturdy compass
#

Oddly enough it also looks for three 7's

manic rune
#

777 is a nice number

#

i might actually add a

sturdy compass
manic rune
#

its such a nice number i would

sturdy compass
west mason
#

had to create the localization files so it took me a while, but here it is

tall wharf
#

ok seriously

manic rune
#

we are serious now

sturdy compass
west mason
#

yeah the chances are for each individual copy of the joker

sturdy compass
#

Hell yeah. Super sick concept

manic rune
#

what takes priority when the rng is calculated, the legendary joker or the tarot card?

runic pecan
sturdy compass
#

I would hope the legendary lmao

west mason
#

the tarot card, for the troll factor

manic rune
#

nah what, thats brutal 😭

sturdy compass
#

bruhhhhh

manic rune
#

but its PSA so that makes sense

#

they really be manipulating the market with this one 🗣️

west mason
#

the other one i've made is just traumatic evolutions with it being an inverted legendary lucky cat lmfao

#

+0.1 mult per failed lucky card trigger

sturdy compass
#

I have a similar one at a larger scale but less cross-mod friendly lol

manic rune
#

i can actually make jokers whose ability is different depending on what you choose now that i made the turning page stuff, very convenient

#

if i were to work on a library of ruina mod

#

this would be a perfect opportunity to give roland his 9 abilities

#

❤️

manic rune
#

like, + x1.02 mult per failed probability check

#

bcz +mult for an uncommon is pretty lackluster

sturdy compass
#

I don’t think you realize how common probability checks are

#

Cuz trust me, that card can SCALE

runic pecan
manic rune
#

i cant see it competing with lucky cat at all ngl

#

💀

tall wharf
#

am i ok

sturdy compass
hushed field
#

how does it define what counts as failing, versus succeeding?

sturdy compass
#

It doesn’t even work with other mod’s jokers cuz it’s a hardcoded check 😭

sturdy compass
manic rune
#

wheel hitting foil should be considered a probability fail ngl

sturdy compass
#

😭

frosty dock
#

bananas are stated as chance to destroy, not chance to keep

hushed field
frosty dock
#

so the check "fails" when it's not destroyed

sturdy compass
#

While that is true, it doesn’t make sense for the card so I took a liberty

#

Plus gaining +999 mult every time cavendish doesn’t break would be stupid

tall wharf
#

mr john steamodded i need assistance regarding the blueprint's inability to copy the forbidden to dog joker

i mostly copied this function from the steamodded score card function and i don't know if this is correct or not please enlighten me

prisma loom
#

Folks, a genuine question: does this card need such specification?

#

I personally feel like its logical and specification is just bloating the text

manic rune
#

If first scoring hand of round has 4 or more unique suits,...

#

that would make it a bit shorter

prisma loom
#

its called poker hand

#

which implies all cards in it are scoring

manic rune
#

i literally make up words for my mod ❤️

prisma loom
#

:D

#

I'm just a nerd

tall wharf
#

Eidolon 6

manic rune
#

castorice kit is leaked

#

the full one

#

peak

#

and as i expected, its longer than a wikipedia page

#

i aint adding that to my mod anytime soon 😭

prisma loom
manic rune
#

i think that part is alright

sturdy compass
manic rune
#

do you want me to add that to my mod ❤️

hushed field
#

Hmm, if I want to draw a specific card from the deck to the hand, is it just as simple as :emplace() and then visibility = true

manic rune
#

my mod is literally rng on top of rng, it will probably work really well lol

sturdy compass
zealous glen
sturdy compass
#

I’m not tryna force people to code compat lmfao

zealous glen
#

Also why does it show Mr. Bones

manic rune
#

nah its fine lol

zealous glen
#

Death isn’t madness

manic rune
#

Color of Sans

hushed field
manic rune
#

like

#

hitting that 3/4 on a wheel of fortune

sturdy compass
manic rune
#

failing to get the +20 mult AND the $20 from lucky cards

#

not breaking glass cards

#

etc

hushed field
manic rune
sturdy compass
#

Breaking glass does actually count as a fail in my case

manic rune
#

yeah that makes more sense

#

oops, all 6s + lucky cat now got competition lol

zealous glen
sturdy compass
#

Why tho

manic rune
#

its more of a loss when they break

sturdy compass
#

You’re losing a card

zealous glen
#

That’s what the card is trying to do

manic rune
#

(unless you got that legendary joker)

zealous glen
prisma loom
zealous glen
#

Get rid of those cards

prisma loom
zealous glen
#

Make my deck more consistent

zealous glen
#

Four Spades are one suit

sturdy compass
#

Glasses work well as a fixing tool yes, but the main purpose is absolutely meant to be a risk/reward Xmult generator

#

And thus I’m balancing around that core ideaology

zealous glen
tall wharf
#

ok how do i get the card blueprint/brainstorm is copying :(

zealous glen
#

Although I like encouraging Glass be destroyed

prisma loom
# zealous glen Unnecessary

'If first hand of round has',
'4 or more scoring cards with',
'a suit, enhances one of',
'them into a Wild Card'

no this doesnt make sense

#

??

stiff locust
#

where does the game calculate giving +1 joker slot for negative jokers

manic rune
tall wharf
#

i kinda want this to work with jokers from mods too

manic rune
#

hmm

prisma loom
#

its literally perfect to use mr bones idk

prisma loom
sturdy compass
prisma loom
#

Maximus mentioned

sturdy compass
#

byeah

tall wharf
#

😭

sturdy compass
#

You made a blueprint shader?? 😭

tall wharf
#

no

#

no

#

that was the blueprint mod

zealous glen
zealous glen
manic rune
zealous glen
manic rune
#

that's odd

sturdy compass
#

yeah it is odd that it's not copying. you have to pretty specifically code the card to not do that

manic rune
#

mhm

#

can u show the code

tall wharf
#

ill try something

minor furnace
#

I am absolutely stumped as to why this atlas declaration is giving me Failed to collect data for Atlas

    key = "Reverse_Bosses",
    path = "reverse_bosses.png",
    px = 34,
    py = 34
}```
prisma loom
#

🤔

hushed field
#

For some reason, the card gets drawn face down. I'm sure it's got something to do with how cards are stored in the deck, but I can't figure out why it refuses to flip face up when drawn

zealous glen
#

You can massage the wording

minor furnace
prisma loom
#

but you were onto something

#

that sounded simpler

manic rune
#

told ya, first scoring hand is the way to go ❤️

tepid eagle
#

In first hand of round,
if 4 or more scored cards
have different suits, one
becomes a Wild Card

zealous glen
prisma loom
#

can it be "first poker hand"?

zealous glen
prisma loom
#

since again, it implies that all cards in poker hand are scoring

zealous glen
#

It’s implied by asking for multiple suits

prisma loom
#

yes, modded suits compat

zealous glen
#

what about them

tepid eagle
#

If first poker hand of
round has 4 or more
suits, a random scored
card becomes a Wild Card

manic rune
#

he also explicitly says that the card should be unenhanced too

hushed field
stiff locust
#

can SMODS.add_card not do editions?

zealous glen
#

As in

#

The deck is not uniformly shuffled

prisma loom
zealous glen
#

If you draw a random one it stays randomly shuffled

zealous glen
manic rune
#

good morning everyone

hushed field
#

Well, it's an imperfect randomness, but not one you have any access to as a player. The first romance card in deck was already decided randomly, so taking it out of the order, but not knowing where it was in the order, shouldn't impact the player

tepid eagle
#

If first poker hand of
round contians 4 cards with
unique suits, an unenhanced
one becomes a Wild Card

zealous glen
#

And more likely that they draw other cards

hushed field
#

yes, it would be, except that the deck indexes from top down, so an i = 1 loop iterates through it from the bottom up. But that is a fair point

zealous glen
#

Well you also draw from the bottom no?

zealous glen
#

It might be easier if we spoke of the top as the place we draw from rather than the physical top

zealous glen
zealous glen
prisma loom
#

what's instead unenhanced? Or just not mention it?

zealous glen
#

But you could I guess

#

I find it ugly but maybe it’s better to keep it

tepid eagle
#

if you don't specify then it would clash with the description of Midas Mask

#

which does overwrite the enhancement

zealous glen
#

That’s what I was thinking

#

But you could just

#

Clash with it

hushed field
zealous glen
#

-# or change Midas Mask’s text

prisma loom
zealous glen
#

-# gaslight your players

prisma loom
#

-# gaslight your modders

zealous glen
#

This is a half-serious suggestion

#

It depends if you want to invest in rewording vanilla Jokers

hushed field
tepid eagle
#

well, this description would imply it always changes something

manic rune
#

rewording vanilla jokers is evil

hushed field
#

no nvm, thinking of editions

zealous glen
#

Also thunk wording isn’t consistent

manic rune
#

😭

zealous glen
#

-# also not always good

prisma loom
#

crayon wording\

manic rune
#

consumeables

zealous glen
zealous glen
tepid eagle
#

If first poker hand of
round contains 4 suits,
one scored unenhanced
card becomes a Wild Card

(4 or more is implied with "contains")

prisma loom
hushed field
manic rune
#

i think you should use "a" instead of "one" by that point ngl

zealous glen
prisma loom
#

but wouldnt that imply that it should be exactly 4 suits?

#

no less no MORE

manic rune
#

nop

#

it says "contain", if its 5 suits then it still contains 4 suits in the end

tepid eagle
tepid eagle
#

for example, "contains a two pair" also applies to full houses

zealous glen
#

But I don’t think it should be clarified

tepid eagle
#

yes, that is your thought

zealous glen
#

That’s what I said

#

I expressed my preference

manic rune
#

thats not what i said

zealous glen
#

what

tall wharf
prisma loom
#

I've decided to remove random out of equation

fallen tendon
#

How can i pass an external texture into an edition shader?

zealous glen
minor furnace
#

do custom blinds have a boolean field I can check to see if it has been disabled or not?

zealous glen
minor furnace
#

got it working, thanks

maiden river
#

how do you change the enhancement of jokers in the shop (e.x. negative tag)
I'm cooking something up rn

wintry solar
#

Just look at negative tag

maiden river
#

wait

#

yeah that makes sense

minor furnace
maiden river
#

godammit

#

I was thinking edition before I typed it 😭

autumn coral
#

Is there anyone good with shaders that can explain to me how they work like I’m a 5 year old

#

I have a specific effect i want to do but 0 clue how

#

Even doing CS for as long as i have this shit is just black magic to me

sturdy compass
#

I feel that SUNK

maiden river
autumn coral
#

Like my mod could be one of the most complex out right now it feels really embarrassing that i don’t know how to do a shader

#

Lowk if i explained the effect and someone else did it i would credit you and give you $5 idrc anymore

zealous glen
#

There’s the example shaders

autumn coral
#

It gets supplied 3 random textures and mashes random crops and copies of each other on top of one another with black boxes

#

If this sounds like tmtrainer that’s because it is

#

the random texture part is easy

#

I’m not sure how to make the shader do the effect though I’m describing

zealous glen
#

Isn’t TM Trainer from Pokémon

autumn coral
#

Yes but I’m making the isaac item

maiden river
zealous glen
autumn coral
#

My mods the Isaac mod

zealous glen
#

Which Isaac mod

autumn coral
#

I’ve just been on hiatus for a few weeks, finally getting back to it

zealous glen
#

I have Champion’s Belt in my mod

autumn coral
#

Nice

zealous glen
old bane
#

Finally implemented a description that dynamically changes between two states depending on if death was prevented or not!

autumn coral
#

Joker

zealous glen
autumn coral
#

Huh

zealous glen
#

With three textures

autumn coral
#

yeah that makes sense

autumn coral
#

ok I’ll try that first and see if it goes anywhere

zealous glen
#

It does use three times as many sprites

autumn coral
#

i gotta go for a bit :p

zealous glen
#

I have some ideas for how to do with a single shader but they aren’t as concrete

tall wharf
#

i don't think there's

#

a better way than this

#

because the chips mult and stuff won't do anything anyway

#

i can't pull card ability from blueprint

#

as in

#

i want to check if the joker has ability should_trigger_individual_debuff so that it goes thru with the thing

prisma loom
#

Does anyone know what causes this visual bug?

#

the X is overriding my custom seal

#

even tho it's transparent

wintry solar
#

I imagine it’ll go over the top of every seal, no?

prisma loom
tall tangle
#

Debuffed cards have ALL effects deactivated, including editions, enhancements, AND seals.

#

Debuff covers seals by default.

tall wharf
#

right i just faintly see the seal

old bane
#

what does next(SMODS.find_card('joker key here')) return? does it return true/false or a reference to the card found?

wintry solar
#

The card

tall tangle
#

You'd probably have to make the seal have a higher priority and a higher layer than debuff for the seal to be over the X

wintry solar
#

It’s just how the shader works then

prisma loom
#

if it's by default

#

then this is the 1st time I noticed that lul

tall wharf
#

ill make a new seal

#

called

#

fuck you seal

wintry solar
#

It does look really weird though

tall wharf
#

that just debuffs the card indefinitely

wintry solar
#

I can’t think of how smods would introduce this behaviour though

#

So it’s probably just vanilla

tall wharf
#

i think this is vanilla

zealous glen
#

It looks vanilla

grim remnant
#

sorry to butt in, does anyone know of a better way to do something like this (only display a given line of card text if a config setting = true)? still trying to figure this one out. ^^;

zealous glen
tall wharf
#

biboo

zealous glen
#

koseki “Stone Card” bijou

zealous glen
#

Use main_end