#💻・modding-dev

1 messages · Page 414 of 1

hybrid shadow
#

unless the full context.post_trigger needs to be written out in the optional features thing then this should be working

#

but it isnt

red flower
#

how does the optional features table look

hybrid shadow
red flower
#

hmm let me try it out myself

#

yeah i was wrong, it's context.other_ret.jokers.chips etc

#

you would probably also need to check if other_ret.jokers exists

spice wadi
#

i tried moving the removal part to the calculate effect but got no difference

red flower
#

put the start_dissolve in an event?

wheat jewel
#

Does anyone know if you can make multiple pages for a mod config tab?

hybrid shadow
spice wadi
#

Thank you

red flower
wheat jewel
#

Ohhhh ok

red flower
spice wadi
hybrid shadow
spice wadi
red flower
spice wadi
#

That's fair actually

#

I kinda want it to be useful for all devs

rugged pier
#
if context.before and context.cardarea == G.play and not context.blueprint then
            local flag = true
            for _, v in ipairs(context.full_hand) do
                if not SMODS.has_enhancement(v, "m_stone") then
                    flag = false
                end
            end
            if flag then
                card.ability.extra.mult = card.ability.extra.mult + card.ability.extra.mult_mod
                return {
                    message = localize('k_upgrade_ex'),
                    colour = G.C.MULT
                }
            end
        end

why is my mult not increasing here? im trying to increase it if all played cards are stone cards

spice wadi
#

Especially during early playtesting

rugged pier
#

wait

#

its because context.before doesnt work with any other contexts right?

red flower
#

well as a dev, I want the game to crash when something goes wrong
and as a player I play with one mod at a time so I don't get many crashes

spice wadi
#

That makes sense

#

I'll still provide the full error

spice wadi
#

With a copy button

rugged pier
red flower
#

remove the cardarea check

rugged pier
#

bet ty

spice wadi
#

And even as a player, there might be some conflicts or random problems I haven't thought of
If that's the case, I want the game to still be fully playable, no disruption

red flower
#

well, people are more likely to not report problems if the game doesn't crash and personally I don't want people to play with side effects due to the game continuing when it shouldn't

#

but I don't think the idea is bad, I'm just not the audience for it

spice wadi
#

I'm guessing it breaking at being removed like that could mess with the remove from deck stuff

red flower
#

for example yeah

wise turtle
#

does anyone know where i can find some docs about adding custom starting decks. I've been trying to reuse ones from other peoples mods but I cant get it to work

red flower
spice wadi
wise turtle
#

is it possible to start with a specific modded joker in your deck

wise turtle
#

howmst if I may ask

daring fern
wise turtle
#

yeah

daring fern
wild escarp
#

How would I go about making a challenge start with one random card? I can't figure this stuff out.

vale glen
#

If you figure this out, please let Axy know too. Stuck on the same problem.

hybrid shadow
#

what's the proper loop argument for the scoring hand? (as in like for k, v in ipairs/pairs(etc) do)

vale glen
#

Instead of etc use context.scoring_hand, in contexts where it exists like context.before or similar

hybrid shadow
vale glen
#

pairs checks the cards in no particular order, while ipairs goes through it in order. The former is faster than the latter.

vale glen
wheat jewel
hybrid shadow
red flower
wheat jewel
vale glen
hybrid shadow
vale glen
#

Zoom out, we need to see the entire calculate function or whatever you're storing this code in

hybrid shadow
sturdy compass
vale glen
sturdy compass
#

Yep lol

vale glen
#

Thanks, will try that later

#

If that's all Axy needed for it to notice hovering

#

Augh

red flower
hybrid shadow
hybrid shadow
hybrid shadow
red flower
#

context.scoring_hand doesn't exist in every context

#

thats the problem

hybrid shadow
vale glen
#

Would prolly put it in context.before, but not at PC to rewrite the code...

#

Too eepy

red flower
#

that's a different question tho

hybrid shadow
red flower
#

yes, what Axy said

#

a more correct answer would have been that it depends on the timing you want

hybrid shadow
#

there's nothing like G.scoring.cards?

red flower
#

no

proud depot
#

yeah i meant how do i make a custom key_append? should have clarified

hybrid shadow
red flower
red flower
hybrid shadow
red flower
#

yes, like if context.before

proud depot
red flower
proud depot
#

OH

#

ok thx

vital seal
#

I'm currently trying to play a sound but as soon as I use "play_sound" it crashes with this message. Is there anyone who knows why?

red flower
#

do you have "assets/sounds/Rawr.ogg"?

hard mica
#

im trying to make an ante boss where if the player wins the ante with or less than 2 hands they gain 50$ otherwise they get their money set to $0 but not sure how i can start?

hybrid shadow
#

now this kind of works but it doesnt iterate higher than 1 at a time

vital seal
red flower
#

that ends the function

hybrid shadow
hard mica
red flower
red flower
hard mica
#

And do I do it in calculato?

red flower
vital seal
red flower
sleek siren
#

Is there a way that I could call a calculate function from another joker that isn't in the joker slot area?

I'm trying to make a joker learn different joker abilities

vital seal
red flower
hard mica
# red flower idk

looking through the docs and doesnt seem like SMODS.Blinds have an calculate func

red flower
#

they do

vital seal
red flower
#

oh ok that seems to be old syntax

#

try

SMODS.Sound{ key = "Rawr", path = "Rawr.ogg" }
#

and put it in assets/sounds

vital seal
#

Still "on load"?

red flower
#

no

hard mica
#

i tried this but it doesnt seem to work at all ngl

red flower
#

try without the main eval

#

but the blind might be defeated by then

wise turtle
vital seal
# red flower no

it still crashes. it keeps complaining about missing file in resources/sounds/rawr.ogg

red flower
#

can i see the file structure

faint yacht
#

What of the modprefix? Are you supplying that as part of string?

hard mica
hallow forge
#

yeah, too many hands

vital seal
red flower
red flower
faint yacht
#

What's your modprefix?

vital seal
#

what is a modprefix?

faint yacht
#

It is added to "items" as part of a string to reference them by.

hard mica
faint yacht
#

Vanilla would have j_joker, but a mod would have j_mod1_joker.

vital seal
#

where can i see that?

faint yacht
#

If you do not have one defined in your .json or header, 4 first symbols of your mod ID are used instead.

#

Show us your main "file" where you define the name of mod and what not.

vital seal
#

Like this?

faint yacht
#

xmpl is set as the prefix, which is not ideal. Change it to any 4 letter/number string, and that's your mod prefix.

red flower
# vital seal

also did you try the original path i gave you or did you change it before testing

faint yacht
#

Like jkas, then the sound string would become "jkas_Rawr"... and you can pass sound = "jkas_Rawr" in your return table too.

vital seal
#

Wait so i change the prefix to this?

faint yacht
#

Yeah, that will work.

vital seal
#

And do i then change anything else? Like changing the file/directory/path?

split dagger
#

anybody know why this triggers twice at the end of the round?

red flower
upper onyx
#

is there a specific way you are supposed to implement localization files? i have a localization/default.lua file, with everything in it named correctly, and from everything i have seen, that should be enough, but none of the text is showing up

faint yacht
#

Are you accounting for the modprefix in the full key too?

red flower
upper onyx
#

everything is named j_[modprefix]_[jokerkey]

split dagger
red flower
split dagger
red flower
umbral zodiac
#

anyone know what uibox function is used for the chips/mult ui?

hybrid shadow
upper onyx
wise turtle
#

how do you start with multiple jokers in a custom deck

#

using the config = { jokers =

red flower
#

uhh can you try printing context ?

red flower
umbral zodiac
wise turtle
#

but thanks

split dagger
#

both times

#

ohh i see

red flower
#

oh yeah i forgot about playing_card_end_of_round lol

north swallow
#

yall how do i make an image appear with love.graphics.draw and then remove it after 2 seconds or so?

coarse plank
#

First time modding, unsure how to get past my first of many road blocks, this error message. My script is trying to make just a joker without functionality.

north swallow
#

add .png at the end of burndownthehouse

#

also py = 96 not 95

coarse plank
#

Still get the same error message, but thank you for the help.

north swallow
#

ok uh

#

are you sure you have a png called "BurnDownTheHouse" in your assets folder

#

and do you have a 1x and a 2x folder

#

and you also forgot to add atlas = Jokers in SMODS.Joker

hybrid shadow
coarse plank
#

that worked thank you so much!

north swallow
autumn vortex
#

I think I installed Yahimod wrong.

wild escarp
#

Can anyone help me with making a challenge start with one random card? I've never made a challenge before.

autumn vortex
#

actually wait I prolly shoulda just posted that in a text file

#

bam

umbral zodiac
#

well... something feels off!

#

it's just chips now

north swallow
autumn vortex
north swallow
autumn vortex
#

and then someone else told me it goes to just base modding chat 😭

native zinc
#

oh tech support for modd

#

not modding

#

yeah that's in modding chat mb

autumn vortex
#

yeah no all good

native zinc
#

you're not coding anything

autumn vortex
#

Somewhat confusing channels tbh

split dagger
#

Could i somehow make a seal that just made a card do literally nothing

native zinc
#

look at the debuff code

vale glen
#

What if it was a super debuff

native zinc
#

super duper debuff

vale glen
#

Remove it from the card area and just have it hover menacingly above the playing cards

#

Always debuffed too

#

Then it does extra nothing, not even go in and out of decks or be able to be sold, or be interacted with

umbral zodiac
#

anyone know if there's a way to refresh the ui? setting G.HUD.definition again doesnt seem to change anything

#

(i am trying to remove mult ui under certain circumstances)

vale glen
#

Dunno if there's a recalculate function for that

#

Vaguely remember one for UI, dunno if it applies here

red flower
#

i think it's literally G.HUD:recalculate()

#

or something like that

umbral zodiac
#

oh lmao

vale glen
#

Ty for the amazing memory

red flower
#

im here everyday so i see a lot of code ive never used :3

gaunt phoenix
#

I'm trying to make a joker who gain 10 chips each time a stone card is scored. I can't figure out why, but it gain chips on EACH card scored, whatever the enhancement.. Does someone know why/Have an idea ?

umbral zodiac
#

dumb question but how do you convert a bignum back to a normal number

#

i accidentally disabled moving up antes because of something i do in bignum which needs to be a normal number

native zinc
#

i think that's a bad idea

umbral zodiac
#

it will reasonably never go beyond e9

native zinc
#

oh antes? i mean you can just remove the to_big() right

umbral zodiac
#

unless the player scores a number too large for 10000-ation

umbral zodiac
native zinc
#

N' best balatro coder in the equator

red flower
#

aww

umbral zodiac
#

proven fact

vale glen
pure salmon
vale glen
#

Ah, haven't used context individual before

#

That sounds even better

gaunt phoenix
umbral zodiac
vale glen
umbral zodiac
#

this is literally all im doing, and it was working fine when i had it rely on if true then instead of if G.GAME.nomult then to do the ui changes

vale glen
#

Could use that instead of a for loop then

red flower
umbral zodiac
#

alright

stone nymph
#

i'm having trouble with this joker i'm making. It makes the highest rank scoring card lucky and the lowest rank scoring card get the rank of the highest one. However, it won't do the last part when all the variables work nicely

red flower
#

change_base doesn't take IDs

#

use context.other_cars.base.value for the highest card

native zinc
#

it takes names of the rank

stone nymph
#

makes sense, let me try

chrome widget
#

bigass sword

gaunt phoenix
# gaunt phoenix something like that ?

Did some testing :

  • if no stone card are in hand, doesn't scale
  • if a stone card is in hand, scale once per scored card (repetitions included), whatever enhancement is on it
stone nymph
coarse plank
#

I have 2 questions, how do I specify full house flush house included, and just full house. Also how do I destroy played cards?

chrome widget
#

Anywhere the vanilla game uses the wording "contains [hand]", you use next(context.poker_hands[hand key])

red flower
#

for the destroying part use context.destroy_card

coarse plank
#

thank you guys!

chrome widget
#

Nods nods!!!

#

And for the record I HATE sweet potatoes. Grrrrrrr

#

Bark bark

vale glen
#

puts a sweet potato on the sword

chrome widget
#

Whoa now let's negotiate

vale glen
#

It is defeated in battle

native zinc
#

puts a yam on my saber

coarse plank
chrome widget
#

That sounds like an innuendo somehow

native zinc
#

i wish but i don't actually own a saber

chrome widget
#

Who up yammin they saber

#

Anyway

native zinc
#

anywya

#

are yams even sweet potatoes

vale glen
#

Hm... Wondering if the sword could be a separate sprite object, connect it to the parent object with a minor role, then have it float behind the card as it moves

#

Or do other things like do a spin if the delta between the VT and T table is large

chrome widget
#

The issue with that is the vertex shader all cards have by default

#

There are a number of possible solutions to it, but by default, the greater the distance an object is from the origin relative to the parent, the more distorted it becomes

vale glen
#

Mmh, multiplying by the normal of the vector should standardize it, no?

#

Dunno what math functions love has

chrome widget
#

I will admit I don't know enough about vertex math to do it off the top of my head, and the documentation for the vertex position function sucks

#

I just added a modifier to the scale value that it results in based on the relative size of the floating layer, which is 237px

#

My results isnt exact (it appears just a tad higher and to the right??? Maybe???) and it probably has to do with the transformation matrix, but again, shitty at math

vale glen
cinder cliff
#

Is there a way to change the automatically generated message that is made by returning mult?

red flower
#

mult_message = "whatever"

cinder cliff
#

I'll try that

gaunt phoenix
cinder cliff
red flower
#

can i see the code

cinder cliff
#

k

red flower
#

also what smods version

cinder cliff
#

lemme find the version

red flower
gaunt phoenix
#

oh really ?

#

So I should just remove the for loop ?

cinder cliff
red flower
red flower
cinder cliff
#

But i'll try removing default message

red flower
cinder cliff
#

ah

gaunt phoenix
cinder cliff
#

not because of removing default message

vale glen
cinder cliff
#

it was just like that

cinder cliff
#

I did that

red flower
#

nope read it again

cinder cliff
vale glen
red flower
#

instead of loc_text

cinder cliff
#

I see

#

thank you, loc_text made more sense in my brain

vale glen
red flower
gaunt phoenix
#

Optimisation is.. not my strength ;;

vale glen
#

Axy has no talents either, is okay axywob

red flower
vale glen
#

looks at you in ranked 332 out of ~350 students back in high school

#

Axy participated in a math competition once, and managed to get a negative score and brought down the team A_HuTaoDerp

red flower
#

damn

vale glen
#

Of course, the school Axy went to was special, but

#

Stillllll

glass scaffold
#

remember, you aren't doing it wrong if no one knows what you're doing

vale glen
#

As in, the top 10 students from each grade would have recruiters from across the nation show up during class to try and get them to join the university, or hire them after they graduated

#

The opposite of applying to colleges

#

They all went to Ivy League schools eventually tho, pretty sure everyone in the top 30 did

sturdy compass
#

goddamn

manic rune
#

but honestly, ranking in school doesnt determine much (doesnt mean studying doesnt matter btw)

i used to rank very low in my class once :3

vale glen
#

shrugs Hard work can catch up to talent, but both certainly helps

#

So what N does is good, showing up daily and reading what everyone does

#

Talent isn't necessary to make cool things

manic rune
#

thats true

chrome widget
#

I graduated salutatorian of my high school class, got a 4.0 GPA in college, and now it feels like I get dumber by the day. Ymmv

gaunt phoenix
#

N maybe does good, that doesn't mean you're doing bad

umbral zodiac
#

FINALLY

manic rune
#

i think it wouldnt be wise to compare yourself with people like eremel or N', compare urself with your past self instead to see your improvements :p

red flower
#

you should try JoyousSpring

manic rune
#

play joyousspring btw

gaunt phoenix
red flower
gaunt phoenix
#

got a new problem (more aesthetic this time)

When I score a stone card, I would like a message on my joker like "Upgraded !", and rn this message is on the stone card itself ;; (I tried put self too)

red flower
#

message_card

gaunt phoenix
#

I was so close ;;

#

Thanks !

#

N' my savior (again) ✨

#

x)

#

Anyway, It's 3 am in my home, I should go to sleep maybe

chrome widget
#

How goes in the "fixing the entire video game" mines N'

umbral zodiac
#

how does one force mult to always be 1
i tried just hooking game:update and putting it in there but mult still applies

gaunt phoenix
#

have a good day/night everyone

red flower
cinder cliff
umbral zodiac
#

plus fifty mult

umbral zodiac
#

yea i got it
mult is now gone !!

granite nymph
cinder cliff
wild escarp
#

Why can't I access split_suit and split_rank in my challenge deck?

local function set_start_card()
    split_suit = pseudorandom_element({"S", "H", "C", "D"}, pseudoseed(("willatro_split")))

    local _rank = math.random(2, 14)
    if _rank < 10 then
        split_rank = _rank
    elseif _rank == 10 then
        split_rank = 'T'
    elseif _rank == 11 then
        split_rank = 'J'
    elseif _rank == 12 then
        split_rank = 'Q'
    elseif _rank == 13 then
        split_rank = 'K'
    elseif _rank == 14 then
        split_rank = 'A'
    end
end
cinder cliff
modern kindle
red flower
#

i should secretly just pr the entirety of joyousspring to smods yes

modern kindle
#

Thats what I'm saying bestie

red flower
#

god i always forget gifs are banned

modern kindle
#

I dont remember are quantum editions working
I think like a month ago they weren't

red flower
#

enhancements? yes
i dont think quantum editions exist

modern kindle
#

Wasn't there talk about quantum editions being desired

#

Could do that

#

As a pr

vale glen
modern kindle
#

Bepis is a horrible example because bepis is as awesome as N
They are both smarty pants

vale glen
modern kindle
#

Compare yourself with me and you'll be a genius

vale glen
# red flower you should try JoyousSpring

Will do so eventually! Currently trying to mod the game, so adding a bunch of cards from JoyousSpring would slow down load times for now. Will give it a try after the mod is in a decent state though!

granite nymph
#

does anyone know how to make a new type of consumavble?

iron mica
#

Balatro uses lua?

desert ore
#

is there documentation over joker retriggers? I can't find it on the wiki

red flower
#

yes

red flower
#

try looking at cryptid

modern kindle
# granite nymph

Iirc if its just a new consumable entirely (ie new category) you need a new ConsumableType
Otherwise you'll need either loc text or some form of localization to add your desc

desert ore
#

damn that sucks, I'm using cryptid as a reference and i'm doing something wrong but not sure

#

talisman is only for breaking naneinf right

red flower
#

it adds exponential mult and animation skips too

umbral zodiac
#

smiles

iron mica
#

I can understand some of this code cuz i use roblox studio

granite nymph
#

how do i name my consumable type

granite nymph
#

an upside or somethjing

umbral zodiac
#

its supercursed

#

the entire point is the downside

#

youre lucky i gave the player time to prepare

granite nymph
#

can you sell it?

modern kindle
#

The noble delete button gives me all the prep I need

umbral zodiac
red flower
#

finally a good use of xchips

modern kindle
granite nymph
wild escarp
#

lol

red flower
#

i mean challenges need patches or hooks to do stuff

modern kindle
red flower
wild escarp
#

Yeah, idk what to hook.

red flower
#

probably whatever function uses deck.cards when the challenge starts

wild escarp
#

Damn, guess I gotta go digging for that then?

desert ore
#

I forgot about this, I think I need to have retriggers enabled somewhere, where do I do that?

#

because when setting up I thought I wouldn't need it lol

wild escarp
#

I think you have to check context.repetition if that's what you mean.

desert ore
#

my joker that retriggers other jokers works when cryptid is installed, but not by itself

modern kindle
#

Idk if you need cardarea too or nit

#

Not

desert ore
#

where do I put this

modern kindle
#

Id imagine whenever your main file is

desert ore
#

ok tyty

modern kindle
#

@manic rune i saw you typing bestie

manic rune
#

i wasnt typing sob

modern kindle
#

I saw it

manic rune
#

i was merely observing
-# currently in class rn

modern kindle
#

How goes class

manic rune
#

english

granite nymph
#

oh yeah

#

timezones

modern kindle
#

He's in a diff nation

#

Yea he's 12 hours ahead of me and I'm cst

manic rune
#

its 9 an over here, yeah

#

am*

granite nymph
#

so like

#

24 hours in my timezone

manic rune
#

sob

red flower
#

it's 27 am here

modern kindle
#

Im in Ns bed rn, can confirm

granite nymph
#

do you like outside the boundries of time by any chance

red flower
#

no

modern kindle
#

He might not like it yea

red flower
#

i have to be awake for a whole 10 hours more

scenic loom
#

Is there a way to make a specific joker be more common?

modern kindle
#

What if I subtracted your 10 hours of awake today and add it to tomorrow

red flower
red flower
manic rune
#

gimme

modern kindle
red flower
#

i wont give you any money just because you decided to take 73 instead of 74 which is my favorite number

modern kindle
#

Im going to explode

normal crest
modern kindle
#

Damn, you're gonna explode twice I'm sorry

normal crest
#

double it and give it back to me

modern kindle
#

Damn now I'm exploding 4 times

normal crest
#

can it just be one explosion with 4 times the strength

modern kindle
#

(Initial boom x4)

hybrid shadow
#

whats the key for the eternal sticker

wheat jewel
#

I keep getting a crash at line 1747 to check for cards with an edition, is there an easier way to do this?

modern kindle
hybrid shadow
red flower
wheat jewel
modern kindle
red flower
hybrid shadow
hybrid shadow
modern kindle
#

(card):set_eternal(true) I think is the use case

#

If im wrong n can correct me

red flower
#

you are never wrong dilly

modern kindle
#

I adore everything about you

hybrid shadow
modern kindle
#

Give it a test and see if it works

hybrid shadow
#

it didnt

#

thats why im wondering what i wrote wrong here

red flower
#

uhh are you trying to set cards in hand to eternal?

#

idk if that works

hybrid shadow
#

i want to make a custom sticker that replicates the effect of eternal but for playing cards but i have no clue how to go about that

red flower
#

it's a bit difficult because destruction effects check for eternal directly

#

so other mods won't respect it even if you patch the game to

hybrid shadow
red flower
#

probably but even then most (or all) effects don't check for eternal on playing cards

modern kindle
#

I did make eternal work for playing cards, making it work for glass was annoying though
Its a joker instead of a consumable

#

I made tarot cards to remove perishable and rental from playing cards so that could always be a workaround as well

wild escarp
#

Are there even any global variables accessible in a challenge? Or do I have to make custom rules?

red flower
#

custom rules are the global variables

wild escarp
#

Custom rules are too much for my little brain though.

modern kindle
#

Tbh its mostly throwing shit at a wall and seeing what sticks
I have one that has a shit ton of restrictions, and some that have very few

hybrid shadow
#

at least i got my sticker that gives xchips to work

red flower
modern kindle
#

Like this is one of mine

Nvm was irrelevant :(

Forgive my lack of formatting im on mobile and too lazy

wild escarp
#

I've got a function that may or may not be working, but I have no way to access those values in the challenge code.

rapid stag
#

does pseudorandom_element() require a seed as the second arg or can you just call it with only the table arg

wild escarp
#

Anyone have examples of custom rules for modifying the challenge deck?

wheat jewel
#

Somehow the odds variable leads to a crash because it's a nil value from the error message

#

how do i fix this?

chrome widget
#

Hi Dilly!!

#

@modern kindle

modern kindle
#

@chrome widget hihi!!!!

#

I hope you're awesome

cunning charm
#

I downloaded brainstorm and balatro crashed I'm playing on mobile

chrome widget
#

Im doing decent?

#

Solid day overall, made a little bit of mod progress, hanging out with some friends

wild escarp
#

What can I use to make a custom rule that edits the base deck of a challenge?

cunning charm
granite nymph
#

can someone help me?

granite nymph
#

heres my joker files because the code for that specific joker is too long to fit in a message

#

its the guess who joker thats causing problems i just dont know WHHHYHHY

granite nymph
#

bump again

#

please

#

please

#

its elevern at fucjng nuight and u font hasv rhtis joker done

#

iv bene toriyng this fro threed ay

#

s

rigid pebble
#

L

granite nymph
#

thanks for the help

rigid pebble
true jasper
granite nymph
#

i give up modding

hallow forge
#

when do you define G.GAME.current_round.yip_guesswho_card?

#

outside of the function which isn't called anywhere

urban wasp
granite nymph
hallow forge
#

that doesn't answer my question

tribal kestrel
#

so I'm just starting out modding, I'm trying to make a mod to change the reroll_shop button whenever a specific joker is in hand. I've worked out how to change the reroll button, and I'm starting to work out how to detect if the joker is in hand, but I'm having some problems.

Right now I just have a keybind set up to check for the joker and print in console if it was found or not. It worked the first time, but now it constantly says found even after the joker was sold. Am I missing something?

Here is code

SMODS.Keybind {
    key_pressed = "g",
    action = function()
        if next(SMODS.find_card("j_poke_dunsparce")) then
            print("Not found!")
        else
            print("Found!")
        end
    end
}
#

Is there some variable that's not getting cleared?

tall wharf
#

btw get debugplus

tribal kestrel
#

that was the 2nd thing I did haha

#

just to get the joker in my inventory though, should I be using it for anything else?

urban wasp
#

when this joker is in the collection, it has the numbers in the first image, but when it is owned, it has the numbers in the second image. how can i make it so it always has the numbers in the first image?

faint yacht
#

...what if the actual center is referenced instead of the "copy" you have?

urban wasp
#

okay well

#

this is the full code of the joker

#

and this is the localization

["j_crp_cryptposting_cross-mod"] = {
    name = "Cryptposting Cross-Mod",
    text = {
        "{C:chips}+#1#{} Chip#<s>1#",
        "{C:mult}+#2#{} Mult",
        "{C:white,X:chips}X#3#{} Chip#<s>3#",
        "{C:white,X:mult}X#4#{} Mult",
        "{C:white,X:dark_edition}^#5#{} Mult",
    },
}
#

is there anything glaringly wrong here?

#

@hollow sphinx you're not interrupting at all; that's kinda the whole point of this channel

try replacing

G.E_MANAGER:add_event(Event({
    func = function()
        if G.jokers then
                local card = create_card("Joker", G.jokers, nil, nil, nil, nil, "j_norm_fuko")
                card:add_to_deck()
                G.jokers:emplace(card)
            return true
        end
    end,
}))

with

G.E_MANAGER:add_event(Event({
    func = function()
        if G.jokers then
            local newcard = SMODS.add_card{key="j_norm_fuko"}
        end
        return true
    end,
}))
hollow sphinx
#

Thanks, going to sleep now so I'll try it tomorrow

cinder cliff
#

Why isn't this triggering?

urban wasp
cinder cliff
#

yep

urban wasp
#

ah, i see the issue

#

you have two if joker_main

#

one moment

cinder cliff
#

makes sense

#

I don't know how I am going to do both functions because once you return it breaks out of the if statement

urban wasp
#

this should work

#
if context.joker_main then
    if next(SMODS.find_card("j_gros_michel")) then
        return {
            m
        }
    else
        return {
            mult = card.ability.extra.mult
        }
    end
end
#

assuming you replace the placeholder stuff

cinder cliff
#

yep

#

i'll try this, thank you

urban wasp
#

oh wait one more thing

cinder cliff
#

?

urban wasp
cinder cliff
#

both trigger

urban wasp
#

okay one sec

cinder cliff
#

I can make it work with events and stuff

#

with what you sent earlier

urban wasp
#

this'll probably work

if context.joker_main then
    return {
       m
    }
    if next(SMODS.find_card("j_gros_michel")) then
        return {
            mult = card.ability.extra.mult
        }
    end
end
cinder cliff
#

maybe

thorn furnace
#

How would I go about removing the editions, enhancements, and seals from a card

cinder cliff
#

I kinda thought that once you use return it breaks out of the if statement

urban wasp
#

might be dumb though

cinder cliff
#

¯_(ツ)_/¯

#

I'll find out

urban wasp
#

yea

thorn furnace
sleek cliff
#

is there someone who can help me make sense of how to make this work

thorn furnace
urban wasp
thorn furnace
# cinder cliff

Like this original code doesn't work because it returns in the first joker_main and then subsequently stops running the function so it never makes it to the second one

cinder cliff
#

yeah

urban wasp
thorn furnace
urban wasp
#

tbf usually when there's a context.joker_main there's a return in it

thorn furnace
#

returning automatically terminates the function

urban wasp
#

yeah

urban wasp
#

sigh i hate not having nitro for the longer text 😭

cinder cliff
#

maybe i can trigger another function?

thorn furnace
urban wasp
urban wasp
#

i think if you download it, it'll be indented though

cinder cliff
#

I just want it to always do one, but do the other if gros michel exists

urban wasp
#

so

#

if context.joker_main then
    if next(SMODS.find_card("j_gros_michel")) then
        return {
            mult = card.ability.extra.mult
        }
    end
    return {
       m
    }
end
cinder cliff
#

wym at end?

#

end of calculate?

urban wasp
#

?

cinder cliff
#

I see

#

I thought it was the same as before

urban wasp
#

ah yeah

cinder cliff
#

I didn't see the extra end

urban wasp
#

yea

cinder cliff
#

testing time

hybrid shadow
#

i have a bit of an interesting conundrum when it comes to stickers on playing cards and how it interacts with Death

Death will copy a sticker if a playing card has it but will not lose the sticker when copying a non-stickered card

im honestly kinda fine with it since its not the end of the world and someone deck fixing wouldnt often try it, its just something ive noticed

cinder cliff
#

gros michel average lifespan: Lasts all game or dies immediately

urban wasp
hybrid shadow
#

homelatro could technically be considered the largest gros michel mod that doesnt actually contain gros michel

tall wharf
cinder cliff
lucid owl
#

...why are two +'s being added when blueprint copies a card that gives extra chips?

modern kindle
hybrid shadow
cinder cliff
# urban wasp yea

it didn't work right immediately, the bonus for gros michel happened but not the default bonus, so I put the default bonus as an extra in the gros michel return and now it works properly

hybrid shadow
#

oh no i think i might know how to code my doom sticker now...

tribal kestrel
#

it said not found when it was found and vice versa

hybrid shadow
#

the cardarea for the unscoring part of the played hand is just 'unscoring' right?

tall wharf
#

yes

modern kindle
#

Aiko in chat rn

last sentinel
#

Anyone know what i'd need to have in a patch for a deck that makes 'the fool' x3 more common in the shop/tarot packs?

#

tried it the same way folx make certain jokers more common but it made the fool appear in every cardarea in the shop(vouchers, planet packs etc)

tall wharf
#

what is folx

last sentinel
#

as in folks

#

or people

#

others

#

not i

hybrid shadow
#

time to see if my next sticker works as intended

#

wait can i return a message for a playing card?

#

ill try and see if it works

thorn furnace
#

is there a way to guaranteed get a random edition
for some reason poll_edition keeps returning nil for me

#

you'd think setting _guaranteed to true would fix that but no

snow vale
#

what parameters does :start_dissolve() need?

glass scaffold
snow vale
#

yeah but there are parameters i can use

#

such as the color

#

but idk which more

glass scaffold
#

I don't know of what parameters it accepts, but it doesn't need any to work.

snow vale
#

yeah, but i want it to take longer to dissolve

hybrid shadow
hybrid shadow
hybrid shadow
#

yeah still not working

umbral zodiac
#

is there a list of cardareas anywhere ingame

hybrid shadow
umbral zodiac
#

yeah b ut i intend to use this in an actual file

#

i just want to know if theres a list of cardareas so i dont have to manually apply my janky cursed effect to each one

hybrid shadow
#

(it didnt)

umbral zodiac
#

stack them all on top of each other in the center of the screen to annoy the player

hybrid shadow
hybrid shadow
hybrid shadow
#

dont quote me on it in any case

thorn furnace
hybrid shadow
thorn furnace
hybrid shadow
umbral zodiac
#

would you rather get this joker or pouring boiling water on your skin

umbral zodiac
thorn furnace
gusty hemlock
#

Hey guys i have no idea what im doing, does anyone know how i change the color of the text? Just the regular white text. I was hoping it'd be as simple as changing a variable but im not really sure what im looking at, sorry for interuppting i just cant find this anywhere else

daring fern
hybrid shadow
gusty hemlock
#

Not the card text, just the regular UI text like on the main menu n stuff

gusty hemlock
hybrid shadow
gusty hemlock
gusty hemlock
hybrid shadow
molten musk
#

ok so i made this code for spectral seal, but i want to add 1/3 chance to trigger
and 1/6 chance for destroy

#

how do i do that?

gusty hemlock
stoic fulcrum
#

does anyone know how to make a joker disable itself

hybrid shadow
hybrid shadow
molten musk
hybrid shadow
molten musk
#

yep

hybrid shadow
#

config = { extra = { odds_1 = 3, odds_2 = 6 } },

molten musk
#

im new to lua, so still need to figure out coding lines

molten musk
hybrid shadow
molten musk
#

after that, i need to check if it hit 1/3 odd to trigger
else if it hits 1/3 destroy card
else do nothing?

gusty hemlock
hybrid shadow
gusty hemlock
#

Ahh digital sign language i see

hybrid shadow
molten musk
#

and what goes in the if?

hybrid shadow
# molten musk and what goes in the if?

for the initial one it's if pseudorandom('string') < G.GAME.probabilities.normal / card.ability.extra.odds_1 then

whatever you want can go in the string, i use the full key of the item but you can use whatever

gusty hemlock
#

One more thing, does anyone know why the custom music sometimes loops at the wrong points? The only reason why i started modding the code was because i was trying to find out how to fix this.. Originally i just replaced the .oggs but it kept cutting the song off after a few seconds. Assuming it has to do with the .ogg itself but i wasnt sure. Again I couldn't find anything online about this. Ive been looking for a month.

#

Not using steammodded or anything like that either

molten musk
hybrid shadow
molten musk
#

i see

#

its giving red lines?

hybrid shadow
molten musk
#

ok

hasty mist
#

how do i permanently change base reroll cost?

hybrid shadow
hasty mist
#

with a joker

#

i would also like to know how to change shop prices too

molten musk
#

wanna check something, in lua, when using else function
does it only trigger if the previous if fails or it works either way?

hybrid shadow
hardy viper
#

the else clause only runs if the if clause didn't

daring fern
molten musk
#

thx

gusty hemlock
#

Is this the main menu background or the splash splashscreen with the cards loading in

hardy viper
#

vortex is main menu background

#

splash is cards going in

gusty hemlock
#

Alrighty thank you!

molten musk
#

so id i wanna check 2 functions for a card at the same time but each is separate condition
what do i use?

hardy viper
molten musk
#

like i have this to check 1/3 chance to trigger
and 1/6 chance to destroy it self
but dont wanna if else

hardy viper
#

(you don't need that last else i just included it to demonstrate how you could if you want)

molten musk
#

i wanna activate the 2nd condition either the first one failed or not

hardy viper
molten musk
#

but thats not main issue here

hasty mist
#

is there a reason this message doesn't show up?

molten musk
#

do i do a seperate if for the second condition?

#

will that work without worring about the 1st?

sturdy compass
hasty mist
#

the other effect and the print function both work normally

#

so id assume not

sturdy compass
#

Hm

hardy viper
sturdy compass
#

What’s that true at the end of the return table?

hasty mist
#

no idea

#

i copied it from another joker of mine i made weeks ago

hardy viper
#

im having trouble understanding though

hasty mist
#

doesnt do anything without the true either

molten musk
#

i want it to trigger even if the first one triggered or not

hardy viper
#

in that case use a separate if

molten musk
#

ok

sturdy compass
#

Idk if this would change it at all but maybe massage_card instead of card?

oblique aurora
#

hello everyone! so i started to make my mod yesterday trying to make a joker to start off simple, but i can't make it appear in game. I have the sprites and the code but i can't understand what's the problem

#

the games loads normally, but the joker does not apppear

sturdy compass
#

Do you have a metadata file?

sturdy compass
#

Worth a shot Emoti_Shrug

hasty mist
#

messages are so weird

oblique aurora
sturdy compass
oblique aurora
sturdy compass
#

No

#

I mean a .json that contains mod information

oblique aurora
sturdy compass
#

It should be in there if you do have one

molten musk
#

so i just want to check if card is played and scoring

#

but gives me error

sturdy compass
molten musk
#

what do i add after it?

sturdy compass
molten musk
oblique aurora
sturdy compass
oblique aurora
#

okk

sturdy compass
#

A missing metadata is a classic newbie blunder

oblique aurora
#

so like i give the name "metadata.json"?

hasty mist
#

i still use a header 😭

molten musk
#

crashes when applied?

#

why?

hasty mist
#

i dont see any reason to switch

sturdy compass
hasty mist
#

is there a good reason to switch?

molten musk
#

game opens normally but when i apply seal it crashes

sturdy compass
#

Tho not sure it matters too much

molten musk
hasty mist
#

damn i forgot clearance sale is percentage based

#

fuck

molten musk
#

i think its cause of lua card.ability.extra.odds_

hasty mist
#

im trying to increase shop prices additively

molten musk
#

what do i do with extra??

oblique aurora
molten musk
#

priority keep it 0

#

color, what ever color u like

sturdy compass
#

Priority you don’t really have to touch, dependencies only if your mod requires another mod to function, badge_colour and badge_text_colour should be hex codes, and version is your mod’s version number

molten musk
#

use its color code

daring fern
sturdy compass
#

Like 1.0.3 or somthing like that

hasty mist
#

actually

daring fern
hasty mist
#

i think i found it

#

yeah

#

ty

molten musk
#

anyone?

oblique aurora
#

somehow it still doesn't show up

#

still gives 150 jokers and not 11 pages

daring fern
oblique aurora
#

this is the main menu when i load up the mod

hasty mist
#

do you not have smods installed

oblique aurora
sturdy compass
#

Gruh

oblique aurora
#

what

#

😭

sturdy compass
#

That significantly hurts our ability to help you lol

oblique aurora
#

its my first time sorry if i make mistakes

#

😭

sturdy compass
#

BMM just changes a lot of things to where we cannot account for everything it does

broken cliff
#

@oblique aurora d oyou have lovely

oblique aurora
broken cliff
#

win + r %appdata%\balatro\mods

#

check if any mods are in there

hasty mist
broken cliff
#

wait nvm i scrolled up

#

actually you should still check

hasty mist
broken cliff
#

bcuz no mods section

daring fern
hasty mist
#

wdym

oblique aurora
daring fern
broken cliff
#

try renaming balatro to Balatro and mods to Mods

oblique aurora
tribal kestrel
#

Why can't I get the game to recognize the 2nd localization?

return {
    misc={
        dictionary={
            k_reroll="Reroll",
            k_ave_reroll=": Reroll?"
        }
    }
}
hasty mist
#

it's not related to clearance sale

broken cliff
daring fern
hasty mist
#

i don't think it matters much

oblique aurora
#

i just copied your message with the directory

#

but the directory its still the same

broken cliff
#

are the files in it the same

sturdy compass
#

This is why BMM isn’t worth dealing with imo, especially if you’re aspiring to dev

#

Just too many things that can go wrong

oblique aurora
sturdy compass
#

I have no clue how to uninstall it lol

broken cliff
#

ok

#

hm

oblique aurora
broken cliff
#

does lovely console say anything @oblique aurora

#

like it puts out debug info in there

oblique aurora
broken cliff
#

yes

oblique aurora
#

wait

oblique aurora
broken cliff
#

try removing multiplayer mod ig

oblique aurora
#

i have removed BMM now

#

manage to uninstall it

sturdy compass
#

Gg

oblique aurora
#

what should i do now?

sturdy compass
#

Make sure lovely is still installed and then give it whirl. Shouldn’t have to do anything with your mods folder

oblique aurora
#

the mods and everything else

broken cliff
#

debugplus works so smods techncially work?
i think you could run eval print(SMODS:find_mod("Cryptid"))

glass scaffold
#

How do I configure a Booster Pack to have certain Jokers?

daring fern
tribal kestrel
#

I'm trying to swap between the two texts

#

❓ what's confusing? I can try to explain

sturdy compass
oblique aurora
glass scaffold
sturdy compass
#

I think so

broken cliff
sturdy compass
#

I know Yahimod does mod-specific joker boosters so maybe try checking that for reference?

broken cliff
oblique aurora
glass scaffold
sturdy compass
#

Very very true lmao

#

Ctrl + F your way through the junk

#

😤

oblique aurora
merry frost
#

I can't seem to get cards_to_hand to work. Everything else works fine but that one feature doesn't function. Anybody have any ideas?

oblique aurora
broken cliff
oblique aurora
molten musk
oblique aurora
#

i'll send the code rq

molten musk
#

crashes when i try to do anything with seal

#

it applies to card

oblique aurora
broken cliff
molten musk
#

if pseudorandom('string') < G.GAME.probabilities.normal / card.ability.extra.odds_1 then

daring fern
broken cliff
oblique aurora
broken cliff
#

(you NEED to have main_file, id, name, prefix, maybe priority)

broken cliff
molten musk
broken cliff
#

main_file will be run

oblique aurora
oblique aurora
broken cliff
oblique aurora
broken cliff
#

self.config.extra.odds_1

molten musk
#

ok let me try

glass scaffold
molten musk
#

but crashes after card used

daring fern
hasty mist
#

this seems to only ever roll 1, any reason why?

#

wait

glass scaffold
hasty mist
#

i might be dumb hold on

#

i forgot quotation marks in the print functions

hardy viper
#

not necessary

broken cliff
molten musk
hasty mist
#

alright this seems to work even though its a tad messier

daring fern
broken cliff
daring fern
broken cliff
# molten musk what do i change it to?

i think the optimal choice would be to use "context.destroying_card and context.cardarea == G.play and context.destroy_card == card" then return { remove = true } ?

#

you can add an event inbetween the code

wintry solar
thorn furnace
#

How do I tell if a new consumable is acquired

daring fern
molten musk
glass scaffold
hasty mist
#

my god this joker has some ugly code

broken cliff
#

you can add code inbetween the "then" and return statement

#

like an event to give you something idk

molten musk
#

but i dont want guarenteed destroy
want it 1/6 chance to destroy

hasty mist
#

alright, how would i go about creating a set number of random jokers (ignoring joker slots)

molten musk
#

thats why it like this

wintry solar
hasty mist
#

true

hardy viper
#

just replace create_card with SMODS.add_card and profit or smth 🔥🔥🔥🔥

hasty mist
#

i consulted vanillaremade

molten musk
#

for some reason play hand and discard are not working

hasty mist
#

riffraff is very forgettable

wintry solar
molten musk
#

restarted the game a few times and tried
its just they are so slow

#

like take too long to calculate or something

cursive sentinel
#

got a crash due to "attempt to compare table with number" on a card.states.visible = false line, is it from a known mod, and is there a fix?

wintry solar
daring fern
cursive sentinel
#

(got the crash report from a tester, saw circa 80 mods)

daring fern
cursive sentinel
#

i haven't, will now

molten musk