#💻・modding-dev

1 messages · Page 161 of 1

sturdy compass
#

Mmmmm album art jokers

nova finch
tall wharf
#

number go up is boring

#

we stimulate brain over here in aiko shenanigans

nova finch
#

all of my jokers are album art

storm kraken
sturdy compass
nova finch
sturdy compass
#

LMAO

tall wharf
#

WEEZER

#

(i do not listen to weezer

sturdy compass
storm kraken
nova finch
#

played face cards are given blue seals

lucid owl
#

the damn one is so good

nova finch
sturdy compass
#

I'm a big fan of the Demon Days one

lucid owl
#

that one's great too

sturdy compass
#

Love how you tied in the Suit Jokers for it

nova finch
#

that one took a while to get working

lucid owl
#

i'd kill for a wu-tang clan one

tall wharf
#

trying to copy this hold on

nova finch
#

right now im working on one for the low end theory

crisp coral
#

oh not again now the train's gone and left

sturdy compass
#

Ah nice

nova finch
#

budget ancient joker

lucid owl
#

jokevillainy 🔥

nova finch
lucid owl
viscid mango
#

alright im trying to make the backwards jimbo remove 4 mult but it keeps crashing, what am i doing wrong

random sleet
#

joker_main

tall wharf
viscid mango
random sleet
#

you have context.joker.main, it's context.joker_main

viscid mango
#

yeah i fixed it thank you lmao

#

just feel dumb for it being that simple

dreamy thunder
#

dang

viscid mango
tall wharf
#

is this better?

storm kraken
viscid mango
#

wet...?

#

concerning

storm kraken
#

dont ask how the cards dont dematerialize

tall wharf
#

does this look better

storm kraken
#

that looks peak

tall wharf
crisp coral
#

so you know how in #⚙・modding-general i said "i love concepting cards and accidentally making them an essay"

tall wharf
#

yea

#

i do

crisp coral
dreamy thunder
#

what the hell

storm kraken
crisp coral
#

i messed up the values damn

#

i missed a line damn

#

okay this should be the correct one

tall wharf
dreamy thunder
crisp coral
#

Big and Will be Bad Wolf

#

i'm. rewriting the special effect

tall wharf
#

ok here i updated it

#

there we go

dusk harness
viscid mango
dusk harness
tall wharf
#

i can art but not when i code

tall wharf
# viscid mango

i hate you for the calculus how could you remind me of my weakness 😭

#

I'm joking

viscid mango
#

i was so unbeliavably good at calculus i should major in mathematics instead

#

id hate my life but id be good at it

sturdy compass
viscid mango
tall wharf
sturdy compass
tall wharf
#

wtff

sturdy compass
#

Cmon you've gotta have some funny Jokers in the mix

tall wharf
#

ok well

sturdy compass
#

If anyone happens to be curious, here’s the scaling function for it:
2 * math.exp(-(((#G.playing_cards - 52) ^ 2) / 250)) + 1

tall wharf
#

i think these are funny

#

and this one is too funny it goes off screen

sturdy compass
#

Holy complicated 😭

tall wharf
sturdy compass
#

Nah I get the idea but that’s a lot of text

#

The diamond pick is funny, would probs have some silly synergies with my Hammer and Chisel card

viscid mango
#

i made this one earlier as well

sturdy compass
#

That’s a fun one

#

I want more jokers that mess with unscoring played cards

tall wharf
#

tho in my puzzle blinds scoring doesn't matter

#

you have to play a straight flush

#

imagine that

sturdy compass
dreamy thunder
#

goated joker

sturdy compass
#

It’s also cursed as hell lol

tall wharf
#

cursed

viscid mango
#

is it possible for me to get the value that has already been added to the mult?

sturdy compass
#

hand_mult maybe? I know hand_chips gets you already scored chips

tall wharf
#

observer tracks your scoring

#

if it changes then add mult to itself

viscid mango
#

and crashes when i play a hand

sturdy compass
#

Honestly it was just an educated guess, I didn’t truly know if it would work or not

viscid mango
#

im pretty sure its the same as just a 2X mult anyway so ill think of something better

dreamy thunder
#

i accidentaly looped a card turning into polychrome

#

now i hear it in my brain 😭

sturdy compass
#

LMAO

versed swan
#

yeah that shit gets you lmao

#

never forgetting to return true in event manager ever again

dreamy thunder
#

and it happened twice because i forgot to save after adding return

manic rune
viscid mango
#

why does it say nil?

manic rune
#

any possible theories on why i got the error?

tall wharf
manic rune
#

theres a better option? 😭

tall wharf
#

Visual Studio CODE

manic rune
#

...huh

#

well

#

i will go change that later

#

💀

#

that explains a lot

#

i didnt notice i downloaded the wrong visual studio lmfaoo

#

anyways

#

turned out, the bug is caused by this inside the calculate

#

which i still cant understand why

#

since i made sure theres no missing "end' or "}"

manic rune
viscid mango
#

is there any way i can get the current mult?

viscid mango
#

is that not the mult that the card adds?

frosty dock
viscid mango
#

if i want to add the current mult to the chips, how would i do it?

dreamy thunder
#

is there a way to check if the scored card has a specific sticker?

viscid mango
#

that doesnt seem to be working

frosty dock
#

return { chips = mult }

#

(assuming better calc)

manic rune
#

in a for loop, is there any way to still let it run even after using return inside the loop?

sturdy compass
sturdy compass
manic rune
#

dang

sturdy compass
#

That goes for basically any language lol

manic rune
#

any workaround for that?

manic rune
sturdy compass
#

Been there lol

frosty dock
viscid mango
#

its late af

manic rune
# frosty dock what are you trying to do?

a joker of mine has this function which checks for each status effect on a playing card, then buffs different stuff depending on what status effect it found

but currently, it stops after finding one status effect because of the return, which i dont want to happen since i want it to keep checking all status effects

frosty dock
#

uh what context is this in and what is cardInHand

frosty dock
#

oh mkay

#

basically what you can do is have a table like local ret = {} and just assign to/modify the table in the loop then return it at the end

#

e.g. ret.chips = (ret.chips or 0) + 100 * ...

manic rune
#

hmm, i think i understand now, thanks a lot :D

sturdy compass
#

Mostly card = card s lol

storm kraken
#

now its worded properly !!

manic rune
#

"spin harder"

#

😭

timid star
#

is there a way to have a joker detect each card that you draw into your hand cause i don't understand how you'd go around doing that

manic rune
timid star
storm kraken
#

this looks goofy
which part of the card selection limit should i make dark edition

#

i think this looks good enough

#

unless i dark edition the limit

wintry solar
timid star
wintry solar
#

Not a context no

timid star
#

or more specifically this way of implementing it

#

scavaging cryptid code pancakes

wintry solar
#

Add to deck is called when you obtain a joker

manic rune
#

real quick, this makes it so that blueprint cant copy whatever effect is below the context right?

wintry solar
#

Yes

manic rune
#

nice, thanks

solemn zealot
#

GREGOR???

manic rune
#

brother damn, thats 10 days ago, whatchu doing scrolling up all the way there 😭

lucid sun
#

trying to make the sell value of a joker equal to the sell value of the other jokers combined. have tried to look at swashbuckler and egg and gift card but havent been able to figure it out. sell value doesnt change

#

anyone got any ideas

solemn zealot
manic rune
solemn zealot
manic rune
manic rune
solemn zealot
manic rune
#

the mod can be really tough if you dont know what you are doing 💀

solemn zealot
#

tell me, if I get all 3 bird jokers, do I get an apoc bird joker

#

assuming they're jokers

manic rune
#

technically 7 phases

#

lol

frosty dock
manic rune
#

oof

frosty dock
#

mostly because it's inefficient to run something every frame

manic rune
#

yeah i can see that, but isnt it the best way to ensure that the joker's sell value is updated in real time?

frosty dock
#

I'm not sure if it isn't needed here though

#

for something like swashbuckler, the mult it gives only needs to be accurate up to loc_vars or calculate being called

#

that isn't the case here because other cards interact with sell value

solemn zealot
#

wait how many cards are even in this mod

manic rune
#

uhhhhhh

#

not that many

frosty dock
solemn zealot
#

damn

frosty dock
#

also you need to call card:set_cost() to update the sell value after changing extra_value

manic rune
#

so im assuming its probably smt like this, right?

frosty dock
#

I'd also throw if not G.jokers then return end at the top, I feel like it'll crash otherwise when viewed in the collection outside of a run

manic rune
#

yeah, got it, thats probably all then

tall wharf
#

art is hard

dreamy thunder
#

i hate art

manic rune
manic rune
storm kraken
#

nobody:
the rainbow discard button in question:

tight thistle
tight thistle
#

progress has been rocky but thats cause im a newbie, i have a lot of plans

storm kraken
#

i should probably make a new consumaeble type for game changing cards hmmmmm

#

nah

vital rapids
#

I feel like this is too strong for rare and too weak for legendary

tall wharf
vital rapids
tall wharf
#

anyway

#

i went to play arcade

#

i have decided that the effect of my joker is not what i want

vital rapids
#

Like apple arcade?

#

Oh

tall wharf
#

so

#

i have this joker

#

right

vital rapids
#

Yes

tall wharf
vital rapids
#

Banger

tall wharf
#

i feel like it is a bit

#

too underwhelming

vital rapids
#

Hmmm

tall wharf
#

for a rare

vital rapids
#

I dont see myself picking it over many rare cards

#

Yeah

tall wharf
#

so i will change it to

#

a voucher?

wintry solar
#

Without hand type support it’s pretty poor imo

vital rapids
#

Banger

tall wharf
#

and it unlocks a few utage class jokers

vital rapids
#

I should do an oshi no ko joker

tall wharf
#

welp

#

that's it

vital rapids
#

Ai hoshino, face cards are all the same suit

tall wharf
#

i am turning it into a voucher

vital rapids
#

Sounds good

tall wharf
#

does the art at least look good

vital rapids
#

Banger

foggy carbon
#

is it possible to use take_ownership (so I can change some hard-coded values into variables) without having the joker displaying as now being part of my mod?

vital rapids
#

Better than what i would have come up with

maiden river
#

I'm making a challenge, and it's supposed to put a purple seal on every card, but it's just creating a normal deck

SMODS.Challenge {
    key = 'themystic',
    loc_txt = {name = "The Mystic"},
    rules = {custom = {{id = "no_shop_jokers"}}},
    jokers = {{id = 'j_cartomancer', eternal = true, edition = 'negative'}},
    consumeables = {{id = 'c_judgement'}, {id = 'c_judgement'}, {id = 'c_soul'}},
    vouchers = {
        {id = "v_tarot_merchant"}, {id = "v_tarot_tycoon"},
        {id = "v_crystal_ball"}, {id = "v_omen_globe"}
    },
    restrictions = {
        banned_cards = {
            {id = "p_buffoon_normal_1"}, {id = "p_buffoon_normal_1"},
            {id = "p_buffoon_normal_2"}, {id = "p_buffoon_jumbo_1"},
            {id = "p_buffoon_mega_1"}
        },
        banned_tags = {
            {id = 'tag_uncommon'}, {id = 'tag_rare'}, {id = 'tag_negative'},
            {id = 'tag_foil'}, {id = 'tag_holo'}, {id = 'tag_polychrome'},
            {id = 'tag_buffoon'}, {id = 'tag_top_up'}
        }
    },
    deck = {
        type = 'Challenge Deck',
        seal = "Purple"
    }
}
frosty dock
spring lantern
#

you raise a true however ive kinda gave up on that joker for now because it's way out of my skillset

tall wharf
vital rapids
#

I think its the outline you did

tall wharf
#

simulates the glow...

vital rapids
#

Peak

random sleet
#

aikoyori more like peakoyori

foggy carbon
vital rapids
#

Daigo umahara, boss blind has a 1 in 3 chance of being disabled

tall wharf
#

now i need to make vouchers real

tall wharf
crisp coral
#

peak

random sleet
#

peak

#

i have like 15 jokers with the same art

#

at least you make unique placeholders

tall wharf
#

is everything in the game 71x95

#

i mean

#

all cards

#

i mean all the things the game consider cards

frosty dock
#

yes

primal robin
#

That's how prototyping works Chilllbro

vital rapids
#

Can i make playing cards banana perishable?

vital rapids
tall wharf
#

it gives 2 stacks of 64 chips

icy cobalt
#

What effect should I give this joker?

vital rapids
vital rapids
frosty dock
vital rapids
#

Checks out

frosty dock
#

that's the point

vital rapids
random sleet
vital rapids
#

Would you like to review the current joker and consumable ideas i have

tall wharf
nocturne garnet
#

does this just not work anymore...

#

that sucks

tall wharf
#

ok i fixed the title

storm kraken
#

god 😭

vital rapids
storm kraken
#

what if you added localisation and the english version was just english

tall wharf
#

me?

nocturne garnet
storm kraken
nocturne garnet
#

if you reference the joker insde itself

#

it just

#

stack overflows 😭

tall wharf
#

so you want me to write U-TA-GE in vertical?

#

i mean sega did it like that so

#

i blame sega for not translating 宴会場 to Banquet Hall

runic pecan
#

What criteria of situations should I differ between play_sound('multhit1') and play_sound('multhit2')?

vital rapids
tall wharf
#

what is

timid star
#

what are the working calculation contexts for seals?

runic pecan
vital rapids
tall wharf
#

idk

vital rapids
#

Who do you listen to

lethal stratus
#

I wanna make a joker that's split in two vertically that you can move each half around to encase other jokers and loop them once

#

but yikes

vital rapids
#

Yeah sounds like a lot

tall wharf
#

TVアニメ『【推しの子】』第3期2026年放送開始。
2026年、物語は新たなステージへ___。

==========================
✦INTRODUCTION✦
新たな舞台の幕が開く──
人気マンガ『東京ブレイド』の舞台稽古が始まった。
劇団ララライの役者達に囲まれ、大きく飛躍するかな。
かなの才能を認めながら、ライバル心を激しく燃やすあかね。
才能と熱意のある役者が集う中、アクアは演技すらも利用してアイの死の真相を追い続ける──。
そしてアイドルとして母の背中を追い続けるルビーは……。

✦STAFF✦
原作:赤坂アカ×横槍メンゴ(集英社「週刊ヤングジャンプ」連載)
監督:平牧大輔
助監督:猫富ちゃお、仁科くにやす
シリーズ構成:田中 仁
キャラクターデザイン:...

▶ Play video
#

oshi no ko ss3 teaser visual

nocturne garnet
#

i gotta say this again

tall wharf
#

hi

nocturne garnet
tall wharf
#

i am changing the effects

vital rapids
tall wharf
#

the season 3 soon

#

oh

#

2026

#

ss3 is in 2026

vital rapids
#

Thats so far away 😭

wintry solar
tall wharf
#

art downgrade

frosty dock
#

can you make it more low-effort please

vital rapids
#
Balatro mod ideas
Tower of babel, turns half your deck into 4 new suits, x2 mult.
Or
Gains .5x mult every face card scored, when mult >= 12/ after 8 rounds debuffs all face cards/ turns half of your deck into 4 new suits

Penitant one, destroys scored face cards to gain x1 mult

Mea culpa, destroys scored number cards and replaces then with a random face card.

Bauhaus, destroys kings, gains 0.5 mult

The lord of the jammed, cursed cards give 1.5 mult, first discarded card becomes cursed.


Yellow chamber, consumable, adds 10 heart cards to the deck, raises curse by 3,

Curse, like in gungeon, big blinds have a chance to be boss blinds, each point of curse gives x0.2 mult(min 1)
Max 9 increases chance of cards being cursed.
Cursed cards cannot be destroyed and score half their chip value
Cursed cards have a 1 in 10 chance of giving 10$ when scored

Neco arc, 1 in 3 chance for +10 mult
1 in 5 chance for x2 mult
1 in 10 chance for ^1.5 mult
1 in 100 chance to just win the ante
Turns the cryptid cat tag into necoarc

Ai hoshino, face cards all count as the same suit


Satsui no hado, balances chips and mult at the end of round

Particle accelerator, aces give +5 mult

Penitance, consumable destroys 5 random cards but doubles the + chips and mult of 2 selected cards

Yin, destroys 5 cards, can only be gotten from balance
Yang, creates 5 enhanced cards, can only be gotten from balance
Balance, gives one yin and one yang

Toxin, select 5 cards to become red seal polychrome glass, but become banana perishible
Heptagram, give 3 specral cards if space is avaliable, 

Pentagram, give 1 spectral, one tarot and one planet card.

Pentacle, gives 2 rare jokers +1 ante

Dingir, turns 2 jokers negative, shuffles and puts them face down.

Summon, give 2 soul cards, +1 ante

Chaos, all cards in hand gain random enhancement and editions. -1 hand size

Eye of foresight, next 3 card with either be the same suit or rank as last discarded card if possible. 

Umbra,  turns 2 selected cards negative or polychrome

Ramiel, destroys any consumables at the end of shop, gains mult based on consumable destroyed

Badeline, +10 mult, gives a random tag for every skipped blind

Sisters of mercy, queens give +5 mult

Sweet tooth, cards are retriggered twice

Gun to your head, retriggers the joker to the right

Human Instrumentality, all face cards in deck become wild cards.

Undernight inbirth, gains 0.5x mult for consecutively playing the same hand
0.9x mult 

Roman cancel, adds score of last hand to current hand.

Instant overhead, when boss blind ability is triggered, x4 mult.

Reversal, inverts boss blinds ability.

Counter, when blind is defeated add 0.5 of last scoring hand to starting score next blind

Sonic.exe(mr. Sucks at modding) tbd

Install super, sell this card to gain x2 mult for the rest of the round.
tall wharf
vital rapids
#

Oops that was bigger than i thought it would be

manic rune
#

mattagan pooreh

manic rune
#

😭

runic pecan
#

How do I make separate text boxes?

wintry solar
#

UI magic

storm kraken
wintry solar
#

-# you have to hook the function that creates the tooltip and add new boxes to it

storm kraken
wintry solar
#

that page will help with actually building the box

#

But you can probably just copy the games way

runic pecan
#

Which game file do I look into?

wintry solar
#

Wherever generate_card_ui is iirc

frosty dock
#

common_events I think?

runic pecan
manic rune
#

wat

#

did i call forth an army against me 😭

vital rapids
#

Another animanga with a shitty ending

#

And i liked this one too

manic rune
#

oof

#

well

vital rapids
#

Better than no ending

manic rune
#

you can always read the fanmade one lol

vital rapids
#

Im looking at you no game no life

manic rune
#

unlike the jjk fanmade ending, its actually peak

vital rapids
#

Your username made me think of a joker

manic rune
#

wha

vital rapids
#

Pootis ha

manic rune
#

💀

#

watdahell

vital rapids
#

Do you know what pootis is?

#

Tf2 reference

manic rune
#

i do, yeah

#

wym joker tho

#

😭

runic pecan
vital rapids
#

Bepis kinda sounds like pootis

vital rapids
manic rune
#

😭 nawwww what

vital rapids
#

The card with just be heavys fingerguns

manic rune
#

though, the "Bepis" part actually came from "Pepsi" but its like for dog memes or something

vital rapids
#

Bebsi

manic rune
#

this one lol

vital rapids
#

Nyan cat

vital rapids
manic rune
#

bepis my beloved 🗣️

merry raven
#

I love drinking penis

manic rune
#

ayo? 😭

vital rapids
#

I need ultrakill references in my mod

manic rune
vital rapids
manic rune
#

play gold seal cards to gain x1.5 mult

#

🗣️

#

(they look like coins)

dreamy thunder
vital rapids
tall wharf
#

are there two of each here

vital rapids
#

Now i need a reliable way to get gold seal

#

Bc afaik there is nonw

dreamy thunder
vital rapids
#

Maurice, just looks at you, literally does nothing, why are you picking this card

runic pecan
manic rune
tall wharf
#

fair and square

#

in case you get the stupid boss blind called the thought

wintry solar
solemn zealot
nocturne garnet
#

dude wtf is wrong with my mod???

#

its just not updating

#

i am changing the code and its not doing anything

frosty dock
#

me when I edit lovely dumps

nocturne garnet
#

im editing my own mod

frosty dock
#

sure but I am

nocturne garnet
#

oh

plain apex
#

what am i doing wrong here why does it draw cards and allow me to play them after ending the round?

SMODS.Consumable {
    key = 'LTMPizza',
    set = 'LTMConsumableType',
    atlas = 'Jokers',
    pos = {x = 3, y = 10},
    cost = 1,
    loc_txt = {
        name = 'Pizza',
        text = {
            'Gives 25% of current {C:attention}Blind requirement',
            'as {C:chips}Chips',
        },
        use_msg = "You gained {chips} chips from the Pizza!",
    },
    config = {
        extra = {chips = 0},
        sfx = true,
    },
    loc_vars = function(self, info_queue, center)
        local chips = center and center.ability and center.ability.extra.chips or 0
        return {vars = {math.floor(chips)}}
    end,
    can_use = function(self) return #G.hand.cards > 0 end,
    use = function(self, card, area, copier)
        -- Play sound effect
        if self.config.sfx then
            play_sound(math.random() < 0.9 and "fn_pizza1" or "fn_pizza2")
        end

        -- Award chips based on blind requirement
        G.E_MANAGER:add_event(Event({
            trigger = 'after',
            delay = 0.1,
            func = function()
                local blind_chips = G.GAME.blind and G.GAME.blind.chips or 0
                local award_chips = math.floor(blind_chips * 0.25)

                -- Add chips and update the game state if necessary
                G.GAME.chips = G.GAME.chips + award_chips
                G.GAME.pool_flags.ltm_pizza_flag = true
                (copier or card):juice_up()

                if G.GAME.chips >= blind_chips then
                    G.STATE = G.STATES.HAND_PLAYED
                    G.STATE_COMPLETE = true
                    end_round()
                end

                -- Return the success message
                return {message = self.loc_txt.use_msg:gsub("{chips}", award_chips)}
            end
        }))
    end,
}
nocturne garnet
wintry solar
#

Should read if poker hand or played hand

#

Depending on the time you want it to trigger

night pagoda
#

How do I patch steamodded files with the new lovely?

neat coyote
#

does anybody have a reference i can use for adding ranks?

wintry swallow
neat coyote
#

yea i have that open it's just unclear to me since i'm new to all this

wintry swallow
#

there is no other reference sadly, you gotta read what others wrote and copy them

dreamy thunder
#

my longest description so far

vale beacon
#

least insane modded joker

crisp coral
# dreamy thunder my longest description so far
When Blind is selected, a random playing card becomes a Target if there is none
Scoring a Target eliminates it
When Target is eliminated, 1 in 2 chance for +1 HP
When Blind is defeated, +$10 if Target is eliminated, otherwise, -1 HP
At 4 eliminations, creates a Negative Legendary Joker
At 0 HP, permanent -1 hand size
(3 HP remaining, 0/4 targets eliminated)
dreamy thunder
#

oh thats way better

crisp coral
#

i know my jokers are usually explained in essays but yours feels like feature bloat lol

dreamy thunder
#

i couldnt really think of any other way to explain it

#

thanks

icy cobalt
#

If I want a joker to give both chips and mult in the joker_main context, how do I setup that return?

neat coyote
#

Line 12 is where SMODS.Rank opens. What did I do wrong?

wintry solar
icy cobalt
wintry solar
#

No

#

Mult is easier to type

night pagoda
#

How do I patch steamodded files with the new lovely update? Are there any examples?

frosty dock
#

p sure there's examples in thac

night pagoda
#

thanks!

tepid crow
neat coyote
#

didn't know they were necessary, good to know 👍

tepid crow
#

It's very abstracted, but you're actually performing a function call with 1 argument, a table

#

And the entries in the table need to be seperated with commas

tall wharf
#

hello how do i put the UI on the play screen properly

hardy viper
#

elaborate?

tall wharf
#

i have this very silly little UI

#

and i want to put it right here

dense vector
tall wharf
#

i mean yea but cryptid has like a few things over there i dont wanna overlap

dense vector
#

Oh yeah

tall wharf
#

in the case cryptid gets updated to new calc

dense vector
#

But seriously this mod looks really cool

tall wharf
#

thanks

dense vector
#

How is it going to work without playing specific poker hand types?

#

In relation to the jokers

tall wharf
dense vector
#

Wordlatro

fallen pelican
#

scrabbleatro consistenly remains one of the craziest mods

hardy viper
#

should work on any G.FUNCS thing that requires it be passed the object that normally calls it

tall wharf
#

nice

naive notch
#

It straight up doesn't do anything but the fact it even shows up makes me happy

hardy viper
fallen pelican
#

does first_hand_drawn not have a G.hand cardarea context? the smods wiki page said it did

runic pecan
#

As in, you can put the for loop directly in if context.first_hand_drawn then

#

Does anyone know whether SMODS has patched any part of generate_card_ui or localize?

frosty dock
#

context.cardarea == G.jokers should hold but there's no area check needed here

#

that's because there is no "other card" being evaluated here

runic pecan
frosty dock
#

just don't check for context.cardarea

naive notch
#

what does this mean?

ionic verge
#

how would i check if a round was beaten in one hand?

fallen pelican
frosty dock
#

there's an object that is missing a key

naive notch
#

but all of my objects have keys

frosty dock
#

clearly there's one that doesn't

#

chexk the stack trace to see which one

viral stream
#

where's the code in balatro's source for the use effect tarots like empress? i'm being blind & can't find it unless someone has it on hand

ionic verge
#

i think card.lua

frosty dock
#

Card:use_consumeable in card.lua

viral stream
#

got it thanks

frosty dock
#

refer to game.lua for the card prototypes, the consumables aren't always referred to by name

nova finch
#

Can anyone help me? I'm trying to make a joker that gives +9 mult for 2s, 3s, 4s, and 5s, but has a chance to give an additional +9 mult if they're hearts
this code crashes the game

runic pecan
snow axle
#

Having an issue with start_dissolve. It does remove the cards partially, but they become invisible and shuffled back into the deck, (Image showing 40 out of 27 cards), and are then drawn in future games, but does not exist.

I am guessing I am not cleaning up properly?

SMODS.Back{
    key = "charreddeck",
    atlas = "charreddeckatlas",
    pos = {x = 0, y = 0},
    config = {discards = 3, hand_size = 2},
    loc_txt = {
        name = "Charred Deck",
        text ={
            "Discarded cards are {C:attention}destroyed{}"
        },
    },
    apply = function()
    end,
    calculate = function(self, back, context)
        if context.discard and context.cardarea  == G.hand then
            G.E_MANAGER:add_event(Event({
                trigger = 'after',
                delay = 0.2,
                func = function() 
                    for i=#context.full_hand, 1, -1 do
                        context.full_hand[i]:start_dissolve({G.C.BLACK}, i == #context.full_hand)
                    end
                    return true end }))
            return {remove = true}
        end
    end,
}```
ionic verge
#

oh hands_played is a variable?

#

neat

viral stream
frosty dock
nova finch
#

ohhh

#

ok

#

i didn't know that

frosty dock
#

you need to merge your returns into one table

#

define the table first and modify the mult if the chance hits, then return it

#

or if you really want it to be separate messages, you could use an extra table

frosty dock
#
local ret = { mult = card.ability.extra.mult }
if [chance hits] then
  ret.mult = 2*card.ability.extra.mult
end
return ret

or this version for separate messages

local ret = { mult = card.ability.extra.mult }
if [chance hits] then
  ret.extra = { mult = card.ability.extra.mult }
end
return ret
naive notch
frosty dock
#

isn't it great when that doesn't cause a syntax error

runic pecan
#

Does SMODS patches any part of generate_card_ui or localize?

tall wharf
#

how do i properly spawn ui somewhere during play 😭

#

do i just hook into the updates

#

nvm

#

i got it

frosty dock
tall wharf
#

funny ui shenanigans again

#

reminds me of CSS

runic pecan
frosty dock
#

I can't recall if it's patched at all, but can't be much

#

why?

pallid jay
#

my mod doesn't work for someone else. What should I check for?

tall wharf
#

steamodded version

pallid jay
#

we match version and files

tall wharf
#

and lovely version™️

pallid jay
#

yep copied everything

runic pecan
# frosty dock why?

I'm planning to make joker description into separate boxes since Eremel isn't at their machine at the moment

tall wharf
#

is the game the same version\

pallid jay
#

wait... why does my lovely say it's 1.0.0 in the files, but 0.7.1 in the executable?

frosty dock
#

the 1.0.0 is not lovely

#

that's steamodded

pallid jay
#

I must be seeing things

wintry swallow
#

anyone know how you can edit the text that jimbo says after a win or a loss

pallid jay
frosty dock
pallid jay
#

the error is that one of the texture pngs can't load

#

that code actually does come later than the other smod atlas functions.
it's the blind_chips

tall wharf
old bane
#

So i'm having an issue right now where a Joker is destroying cards that it's not supposed to during the Boss Blind that discards 2 random cards.

I want it to where if the first hand of round is one card, the Joker destroys the card and gains XMult. But in this boss blind in particular, it doesn't destroy the played card always, but it does always destroy two of the cards that I have held in my hand, which is not what I want. I know that Sixth Sense does something like this but with 6's, but I don't know how to translate that into my code

old bane
#

i'm also glad that you get infinite discards so you're not just stuck with the letters you got

pallid jay
#

here is the error screen

dense vector
naive notch
pallid jay
#

😭

tall wharf
#

in the case word uses more than two z

#

why is the hand still here

#

it does not seem to end round properly

#

oh i fucked up the code

naive notch
#

it was "assests"

nova finch
#

finished another joker! yay

naive notch
#

LETS GOOOOOOO

pallid jay
#

what did you do :x

naive notch
pallid jay
#

uuh

#

not rly possible for me since we're copying the files

viral stream
#

is there a specific function to set enhances from the key of the enhancement? can't find it

wintry solar
#

card:set_ability(G.P_CENTERS[‘keyhere’])

viral stream
#

ty

pallid jay
pallid jay
#

It somehow decided to rename itself or my game execution just always ignored it XDD

tall wharf
tepid crow
#

IT'S WORDLE

nova finch
tepid crow
#

I was about to ask if you got extra discards or anything until I saw the sideways 8 lmfao

tall wharf
#

lol

tepid crow
#

though you might still want to include that in the blind description?

wintry solar
#

Do cards go back into your deck when discarded?

tall wharf
#

yes

#

to not be too cruel

wintry solar
#

That’s sick

tepid crow
#

that's fun haha

tall wharf
#

i mean infinite discards

#

youll get the letter eventually

wintry solar
#

Wonder if you could replace the usual scoring place with your words instead

tepid crow
#

the "round score: 6,419"?

wintry solar
#

Yeah

nova finch
wintry solar
#

And the chips x mult part

tall wharf
#

probably could but right now i am happy i got the ui to work as i wanted it

tepid crow
#

oh and also the hand level and mult x chips

#

yeah yeah maybe, might be a lot of work though

tall wharf
#

one question tho

#

what do i have to do to remove these gaps

wintry solar
#

Depends how it’s structured, might be as simple as inserting one check

wintry solar
tall wharf
wintry swallow
#

probably remove padding

tepid crow
#

probably, yeah

wintry solar
#

Get rid of the padding yeah

tall wharf
#

which padding

wintry solar
#

The root element

wintry swallow
#

if you want external padding you can nest the word boxes into a container with no padding

tall wharf
#

alright

#

makes sense

tepid crow
tall wharf
#

yes

tepid crow
#

interesting 🤔

tall wharf
#

that was the original idea yea

#

but i can't write a code to calculate hands properly

tepid crow
#

wdym?

tall wharf
#

staights with more than 5 cards

tepid crow
#

oop

tall wharf
#

we should make a library mod for hands bigger than 5

dense vector
#

You can just play all of your cards to see what letters are in any given word

#

Or if there's a penalty for doing so

storm kraken
#

library mod for infinite length X of a kind because im lazy

tall wharf
#

it HAS to be a word to count

dense vector
#

Oh yeah you have to make a word with them

#

Okay nevermind

hoary moss
#

Question, how do you detect if a card is destroyed? I would like to detect if a heart card is destroyed for a joker. I am making.

naive notch
#

probably check how canio does it

hoary moss
#

Cool I don’t know where canio is in the code

storm kraken
#

i think

hoary moss
#

I am very confused on how caino detects if a face card has been destroyed or not

light sundial
#

Is there a simple guide out there on how to create my own balatro mods?

hoary moss
#

I am very confused on how I’m going to make this work for detecting if a heart card is destroyed

wintry solar
#

if context.remove_playing_cards then and then look at each card inside context.removed

pallid jay
#

do localization files change anything about the game other than text?

#

someone just crashed with my mod equipped and so far it only changes text, colour and images

pallid jay
#

the edited joker was Burglar name and description.
the crash happens when playing a hand, and it disabling the mod does not prevent it from crashing again

#

idk if it's a default crash or related to the mod

hoary moss
#

What unexpected symbol

#

If you can spot, what’s being upset by that would be very helpful

tepid crow
naive notch
#

any idea what the probelm is?

#

or well what does that error mean

tall wharf
#

OH GOD

dusk garnet
#

hi, is there a way to get every registered card (boosters, jokers, consumables, vouchers, etc.)?

tall wharf
#

G.P_CENTERS and G.P_CENTER_POOLS?

dusk garnet
#

thanks, i'll give that a look

hardy viper
#

all mods are loaded before any jokers/consumeables are btw

#

so if u check that as soon as your mod is loaded itll only show vanilla stuff

hoary moss
#

Can someone explain to me why my asset I made for my second joker isn’t showing up and why part of my first jokers design has part of the second joker in it

#

This has broken my brain

dusk garnet
#

im checking it during a game though

tall wharf
#

oh

#

should this not be 1

hardy viper
#

yeaa

naive notch
hardy viper
#

your steamodded is a month old

#

and your lovely is old

livid tapir
#

I'm trying to make a consumable set (take polymino for example)
I'm assuming SMODS.ConsumableType is what I'm looking for but can't find it on the wiki
my pluhs, what do i do

orchid thunder
#

Making a new seal like object type is a pain in the ass

hoary moss
tepid crow
naive notch
tall wharf
hardy viper
#

regardless you should always develop on latest steamodded and latest lovely

naive notch
#

i see

hoary moss
tall wharf
#

did you really change it to be 1

#

how does the texture look like

cerulean rose
orchid thunder
tall wharf
#

it should look a little something like this

hoary moss
#

I think

tall wharf
#

the base game jokers are 71×95 with 1 px padding

#

also can you take screenshots

#

-# (on a side note is that Garuda Linux wtf)

hoary moss
tall wharf
#

😭😭😭😭😭

#

-# can't blame you for trying but pick a better distro next time

#

in any case

tall wharf
wintry solar
#

They need spacing correctly too

orchid thunder
#

Yeah

#

I see that the first joker is getting g some of joker 2 texure

hoary moss
wintry solar
#

x = 1

tall wharf
#

THAT IS WHAT I SAID 15 MINUTES AGO

wintry solar
#

Also neither of those calculates will do anything

orchid thunder
#

Not 72 to 71 🤦‍♂️

hoary moss
tall wharf
#

😭😭😭😭😭😭😭

orchid thunder
#

Why would it be 71 or 72

hoary moss
orchid thunder
#

OH

#

You thought it was pixels

tall wharf
#

yeah

#

figured

hoary moss
#

Yes, I did think it was pixels

tall wharf
#

now it should work

orchid thunder
#

I was so confused

vital rapids
#
Desperate measures, (can only be bought from the shop before a boss blind) 1 in 3 chance to retrigger all jokers twice, 1 in 3 chance to do nothing, 1 in 3 chance to destroy all jokers and divide mult by 3
Always eternal.
#

Thoughts?

tepid crow
tall wharf
#

fair enough I guess

#

sorry i got carried away

tepid crow
#

pos should probably error out when grabbing something outside the sprite sheet actually

tall wharf
#

(i still don't like Garuda Linux)

hoary moss
#

I do like Garuda Linux

tall wharf
#

the rice is weird

#

i don't like it

naive notch
hardy viper
#

your text in loc_txt isnt a table

#

it should be a table

naive notch
#

OH

#

I understand now

#

thank

#

you

hoary moss
#

What is the word used to make something grey like when you see the currently times one mult. It is not simply called gray and I do not know what it is called.

hardy viper
#

{C:inactive}

#

thats what ive always seen people use

vital rapids
naive notch
vital rapids
naive notch
#

side note I need to find a darker color, I just choose a random one

tepid crow
vital rapids
naive notch
#

Theres a way to make text colored, right?

vital rapids
#

If your jokers cant beat the boss blind after being triggered 3 times then you didnt deserve to win

vital rapids
tepid crow
#

does it or doesn't it roll the 1 in 3 chance every hand

#

ah okay

#

yeah I don't think that's good

vital rapids
#

Its not a good joker

#

Its not supposed to be a "good" joker

#

I'm gonna put it in anyway

tepid crow
#

it literally has a 1 in 3 chance to kill your run on the spot

vital rapids
#

Your run was gonna die already if you took it

#

Its literally only for one specific situation

tepid crow
#

okay so it's right before the ante 4 boss blind, and I'm about to die, so I take Desperate Measures

vital rapids
#

Yes

#

It might get you another ante

#

Or not

tepid crow
#

does it matter

vital rapids
#

🤷‍♂️

tepid crow
#

best case scenario, I need to not roll the 1 in 3 a total of 5 times

naive notch
#

It feels like it'd only every be useful ante 8

vital rapids
viral stream
#

how would i get this little +4 mult to appear on my tarots?

vital rapids
tepid crow
#

see now we're talking

vital rapids
#

I wasnt imagining anyone taking it in ante 2

#

Its not a joker youre supposed to keep around

naive notch
#

But its always eternal

vital rapids
#

Youre supposed to pray it works in your favour and swap it out the moment it does

tepid crow
#

it's eternal

vital rapids
#

Oh

#

I put that there 😭

naive notch
#

make it debuffed after one round so that you cant keep it

tepid crow
#

????

vital rapids
#

Totally forgot i added that

tall wharf
vital rapids
#

Now why did i add that

tall wharf
#

i don't remember the key

vital rapids
naive notch
#

fair enough

tall wharf
#

i don't remember the key

naive notch
#

so how does this intract with oops all 6s?

vital rapids
viral stream
tall wharf
#

yeah

viral stream
#

ty

wintry solar
#

It would be better if it was just the 1 in 3 to retrigger and then it self destructs, getting rid of the other parts

vital rapids
vital rapids
tepid crow
wintry solar
#

I can’t think of why I would ever want to take it

vital rapids
#

It may win the ante

#

Or end your run faster

#

Since you were always gonna lose the ante anyway

wintry solar
#

But still in that scenario it doesn’t need the downside, the chances of it showing up in that specific situation seem pretty low

vital rapids
#

That usually where my runs look unwinnable

#

Hmmm what if, its a normal jimbo but does that on the last hand of the round?

naive notch
#

thoughts on this mechanic?

vital rapids
#

This plus desperate measures

viral stream
#

i try info_queue[#info_queue+1] = G.P_CENTERS['m_mult'] and it shows the +4 mult, but when i try to change it to 'blr_wisp' (blr mod prefix, wisp is the enhance key) it doesn't show anymore

vital rapids
#

I like it

tepid crow
viral stream
#

ah so m_blr_wisp?

vital rapids
#

One in four chance for walter stock

#

Gives you 5 jimbos named walter

viral stream
#

thanks that worked

naive notch
vital rapids
#

Okay okay, i need advice on balancing this mechanic

Curse, like in gungeon, big blinds have a chance to be boss blinds, each point of curse gives x0.2 mult(min 1)
Max 9 increases chance of cards being cursed.
Cursed cards cannot be destroyed and score half their chip value
Cursed cards have a 1 in 10 chance of giving 10$ when scored
tall wharf
#

i was patching the info queue thing like no tomorrow to get it to work as i wanted it to

vital rapids
#

And did it?

tall wharf
#

it did

tepid crow
tall wharf
vital rapids
#

I think thats the most unique mechanic I've seen yet

tall wharf
#

yes that

hoary moss
#

could someone help me debug this as it is something beyond what i have learned? my problems are either it is not detecting weather a heart card has been destroyed, and if it is doing that successfully the mult is not increasing by two.

wintry solar
#

context.removed is a table of cards that are being removed

tall wharf
#

card.ability.extra.Mult instead of just Mult too?

wintry solar
#

And it’s not inside context.joker_main

#

The return table is also invalid

naive notch
#

If things end up needing to get reworked though thats not that big of a deal

vital rapids
wintry solar
#

This hasn’t solved 3 of the 4 problems you were told about

#

I’d recommend going and reading the calculate functions wiki page and looking through some well made mods to see how their functions are structured

dusk garnet
#

I have the following code intended to open a booster pack, however, after the card is skipped it should return to the blind select screen. It only displays a blank screen, however. How might I fix that?

G.E_MANAGER:add_event(Event({
            trigger = 'before',
            blockable = false,
            blocking = false,
            func = (function()
                print('!!> opening pack')
                local key = 'p_mypack'
                print(G.P_CENTERS[key])
                local card = Card(G.play.T.x + G.play.T.w / 2 - G.CARD_W * 1.27 / 2,
                    G.play.T.y + G.play.T.h / 2 - G.CARD_H * 1.27 / 2, G.CARD_W * 1.27, G.CARD_H * 1.27, G.P_CARDS.empty,
                    G.P_CENTERS[key], { bypass_discovery_center = true, bypass_discovery_ui = true })
                card.cost = 0
                G.FUNCS.use_card({ config = { ref_table = card } })
                card:start_materialize()

                print('!!> opened pack')

                return true
            end)
        }))
wintry solar
#

Best I can get on mobile

hoary moss
#

I do have a learning disability so being able to understand the things you are saying is a bit harder for me because I need things explain thoroughly.

dusk garnet
hoary moss
#

I’m still not really sure how to make my code detect if a heart card has been destroyed and how to make it scale properly

naive notch
#

how do I extract the source code?

ionic verge
#

how would i increase the volume?

#

i know how with play_sound but how would i do it in a return?

primal robin
#

No way... I did it... I just implement "overflow: hidden" in balatro ui

ionic verge
#

just volume = 'whatever'?

viral stream
#

how would i go about making an enhancement that starts off with 2x mult, and each time it's used it loses 0.2 of its mult? so 1.8x mult after its first use

viral stream
naive notch
#

Thank you

dusk garnet
#

wait

#

no i dont think so?

shell lagoon
#

anyone know how to properly format this? i need to detect when a planet card is being used and update my card, but i haven't found any info on what the right way to check for the consumable type is yet, nothing i've tried did anything

#

i've tried checking the code dump for what other vanilla jokers did but it's not set up the same as SMOD style

dusk garnet
wintry solar
#

Oh no volume is correct

#

Can also do pitch = too

viral stream
#

is there an Xchip_mod the same way there is Xmult_mod but under a different name?

fallen pelican
#

I'm getting an empty table for G.hand.cards in first_hand_drawn with my code. Is that supposed to happen? When should I actually access the cards in the first drawn hand?

        if context.first_hand_drawn then
            for _, handCard in ipairs(G.hand.cards) do
                print("for loop works")
                if handCard.ability:is_face() then
                    print("check works")
                    card.ability.extra.current_mult = card.ability.extra.current_mult + card.ability.extra.mult_gain
                end
            end
        end
livid tapir
#

wait oh

#

help i under da water

uncut bobcat
#

Balatro is made in lua right?

young dew
#

i've resized a joker but the stickers won't resize as well, i've checked the code for wee joker and i found nothing that could help me

edgy mountain
#

hi again
i have a different problem now
this is my code:

if context.individual and next(context.poker_hands['High Card']) and G.GAME.current_round.hands_played == 0 and context.cardarea == G.play then

this works fine until the last hand is scored. it crashes right after saying that "poker_hand index is nil"
im confused because i dont even know why it would check that after the round is over?

if i take off next(context.poker_hands['High Card']) it works fine

weak gate
#

This doesn't destroy the stone card, this destroys the first card. Odd...

if context.destroying_card then
            print(#card.ability.for_destruction)
            for _, value in pairs(card.ability.for_destruction) do
                if SMODS.has_enhancement(value, "m_stone") then
                    card.ability.for_destruction = {}
                    return {
                        remove = true,
                        card = value
                    }
                end
            end
        end
dusk garnet
frosty dock
#

if context.individual and context.cardarea == G.play and ...

#

what you have now is incorrectly including an end of round calculation

edgy mountain
frosty dock
#

just add the cardarea check

shell lagoon
frosty dock
#

two things, actually

#
  1. it's context.using_consumeable, blame it on thunk
  2. ability.set is just a string, not some kind of table [i just noticed you've had that correct before]
#

if context.using_consumeable and context.consumeable.ability.set == 'Planet' then

shell lagoon
#

wait seriously was i misspelling consumeable this whole time

dusk garnet
#

hi, im trying to figure this out and am having the same problem as you, what was your solution

shell lagoon
wintry solar
weak gate
#

well, you were wrongly not misspelling it thinksmug

wintry solar
weak gate
#
calculate = function(self, card, context)
        if context.individual and context.cardarea == G.play then
            print(#card.ability.for_destruction)
            local bonus_chips = 0 + (context.other_card.ability.bonus or 0) + (context.other_card.ability.perma_bonus or 0)
            local foil_chips = context.other_card.edition and context.other_card.edition.chips or 0
            if context.other_card.debuff then
                return {
                    message = localize('k_debuffed'),
                    colour = G.C.RED,
                    card = self,
                }
            elseif SMODS.has_enhancement(context.other_card, "m_stone") then
                table.insert(card.ability.for_destruction, context.other_card)
                return {
                    message = 'Broken!',
                    colour = G.C.CHIPS,
                    card = context.other_card,
                    chip_mod = (bonus_chips + foil_chips) * card.ability.extra
                }
            end
        end
        if context.destroying_card then
            print(#card.ability.for_destruction)
            print("context indiv" .. (context.individual or "nope"))
            for _, value in pairs(card.ability.for_destruction) do
                if SMODS.has_enhancement(value, "m_stone") then
                    card.ability.for_destruction = {}
                    return {
                        remove = true,
                        card = value
                    }
                end
            end
        end``` 
It's a table I used ot try to put the cards I mean to destroy; this joker is supposed to destroy stone cards while applying 4 times their efffect
wintry solar
#

Does it always destroy stone cards?

weak gate
#

it's my current plan, yes

fallen pelican
#

is there an in depth post/guide on how to localize card messages

wintry solar
#
if context.destroying_card and SMODS.has_enhancement(context.destroying_card, ‘m_stone’) then
  return {
    remove = true
  }
end
#

You don’t need to mark them and that’s also not how destroying card would work anyway

weak gate
#

Oh, so destroying_card isn't like a stage, it's a variable that holds the first card, then later the second card, and so on...?
But thank you, it worked perfectly

wintry solar
#

Yea

twilit cargo
#

wtf lmao

edgy mountain
# frosty dock .

im sorry, i dont really understand
add a cardarea check?
isnt that already context.cardarea?

frosty dock
#

yours is at the end

#

which means it's checked after the other conditions are already met

edgy mountain
frosty dock
#

yeah lua does lazy evaluation

#

context.poker_hands exists under the condition of context.individual and context.cardarea == G.play, so that needs to be checked first

twilit cargo
weak gate
twilit cargo
naive notch
#

Me screaming "LETS GOOOOOO" after something finally works

sturdy compass
#

real tho

pallid jay
prisma loom
#

Is this Midas Mask's full code?

pulsar flower
#

looks like it

prisma loom
#

I'm curious what part of this code is responsible for which enhancement cards are being turned into

#

is it G.P_CENTERS.m_gold?

#

let's say I want Midas Mask turn face cards into stone cards instead

#

which part of the code do I change

#

and how

naive notch
#

set_ability(G.P_CENTERS.m_gold, nil, true)

fallen pelican
pulsar flower
#

set_ability by itself doesn't flip the cards, you should take a look at how tarots do it

fallen pelican
prisma loom
#

Can I just copy Midas Mask's code and modify it in my main.lua?

#

Also, is there a guide or a documentation for modding Balatro?

#

(not installing mods but how to make them)

naive notch
fallen pelican
prisma loom
naive notch
fallen pelican
pulsar flower
#

a bit confused about the calculate function in custom enhancements

#

does context.repetition not trigger for every card in this? i was looking to retrigger cards other than the card with the enhancement

novel dagger
#

I've been looking for the code for the jokers and I can't find them

naive notch
#

its in card.lua

novel dagger
#

thank you

naive notch
#

Well... I suppose I never said I wanted them to flip back 😑

#

well I can just call the flip function again and it fixes

#

however Im pretty sure theres a function to flip it then flip it back

weak gate
#

what's the flip function? I want to do the same to a joker

naive notch
#

flip()

#

it flips the card

#

idk if it works on jokers but it most likely does

twilit kelp
#

Is there a way to do something similar but to increase the number of vouchers or booster packs that appear in the shop?

G.E_MANAGER:add_event(Event({ func = function() change_shop_size(2) return true end }))

manic rune
#

you could always take inspiration from other mods which already managed to do the same function, like that one really MASSIVE voucher mod

twilit kelp
#

betma?

naive notch
#

I find its a lot easier to understand what other mods are doing than to try to understand the games actual code

manic rune
manic rune
twilit kelp
dusk garnet
#

Okay, let's say I'm using this code here to open a custom pack I made. The pack opens fine - what I want to do is run something AFTER the pack has resolved (all the choices are made/the pack is skipped)

#

how would I do that?

#

is there any api reference i could look at/similar

#

id look at basegame code but i can't think of any instance where this happens

manic rune
#

what does your pack do?

#

currently, the workaround im thinking of here is putting a value to true after it is opened (context.open_booster), then for instance, if your pack gives opening cards then when they are added to the deck, it checks the aforementioned value to know whether it comes from your pack or not (as for the skip, i believe its context.skipping_booster)

dusk garnet
#

depending on the condition, i need to open the pack again for example

dusk garnet
manic rune
#

ok damn, booster packs dont have calculate 💀

#

hm

dusk harness
#

i ended up figuring out how to get the info on card changing enhancement

#

for anyone maybe looking for that info

local set_ability_ref = Card.set_ability
function Card:set_ability(center, initial, delay_sprites)
    if center.set == "Enhanced" and center.name ~= "Default Base" then
        -- card gets new enhancement trigger here
    end
    set_ability_ref(self, center, initial, delay_sprites)
end
hallow slate
#

How would I make a card that gives exponential mult when in hand?

random sleet
#

first you must create the universe

faint yacht
#

As enhancement or edition? Or just base?

hallow slate
#

I assume Talisman has the exp. mult api but idk

shell lagoon
#

how would i add a stone card to the hand? currently this code crashes the game, since i don't know how to properly format the create_card() function for stone cards

faint yacht
naive notch
#

Is it possible to create a new modifier for cards and if so how would I go about it

twilit cargo
#

Like an edition

naive notch
#

no, like a new type of thing to put on a card. It could coexist with editions, seals, and ehancements

twilit cargo
#

ohh

random sleet
#

gemstones exists, could check there

naive notch
#

good idea

weak gate
#

How'd I go about to make my normal custom jokers take up 4 joker slots, but also increase the default joker limit to 20?

#

can't really be an edition like negative hmm

fallen tendon
#

literally just stickers

#

just make the set of stickers exclusive with each other and huzzah, new modifier

woeful tundra
#

is there an easier way to make it soa booster pack puts the item in your consumables instead of using it right away

fallen tendon
#

cryptid has code cards which have a pull botton that does that

#

you can yoink the code from those

runic pecan
#

Which SMODS doc has info about badges?

tepid crow
#

what do you wanna know about badges?

runic pecan
#

Declare, define, and display them in description.

#

just a little sidetracked from generate_card_ui study

tepid crow
#

there's SMODS.create_mod_badges that might be interesting to look at

runic pecan
#

I’m more interested in something like type badges in pokermon.

random sleet
#

arent those just a sticker

#

and an info_queue tooltip

tepid crow
#

tbh I have no idea what pokermon's "type badges" are or how they're displayed