#💻・modding-dev

1 messages · Page 505 of 1

winter flower
red flower
#

do you have skip_materialize = true

sonic cedar
#

this time for sure

tall wharf
#

oh

#

ok

#

that is probably it

sonic cedar
#

ALMOST.

sturdy monolith
clear ocean
#

okay everything else works. should i add a check or make it like a fun thing like hey you got the wheel of fortune... too bad it was on that fortune cookie

red flower
formal parrot
#

That’s pretty hard to mesure

sturdy monolith
#

(my cursor that is)

red flower
#

maybe because it uses balatro units instead of pixels?

paper elbow
clear ocean
primal robin
#

I don't see option "remind me in 3 days"

split saddle
#

still don't know what does it do :(
all i managed to figure out is that it's a hook for the create_mod_badges() function and that it sets up some UI, but that's about it. what does it do exactly still eludes me

sturdy monolith
red flower
paper elbow
red flower
primal robin
placid star
#

why dont my jokers of this rarity show up in the shop?

sturdy monolith
sonic cedar
#

YEAHHHH

modern kindle
red flower
sonic cedar
modern kindle
placid star
red flower
#

no idea

#

whats shop_rate

placid star
#

idk i just removed it

#

its been awhile since i wrote this code

#

lmao

split saddle
sonic cedar
#

how would i say "if G.jokers and not any other card area" because if i hover over it in the collection while i own the card i get a locvars index crash despite having a G.jokers check

red flower
#

if G.jokers and card.area == G.jokers?

sonic cedar
#

i feel stupid a lil

placid star
red flower
#

i looks fine to me

sonic cedar
clear ocean
#

should fortune cookie be common or uncommon?

modern kindle
#

if i was n id have fixed it tbh

placid star
modern kindle
#

no :D

#

cause i havent implemented anything to do with rarities yet

placid star
#

WHAT

modern kindle
#

so idk what im looking at

placid star
#

ugh

clear ocean
#

joker ideas:
if you didn't skip the small and big blind, give a xmult for the boss blind
i chips (or even i xchips) for every win on your profile
i mult (or even i xmult) for every loss on your profile

#

i could rework the ct/t jokers in being something similar to baseball joker

paper elbow
#

Sorry, I got distracted by meme scrolling

#

back

clear ocean
#

maybe something related to your progress?

#

maybe one where you open a booster you get chips and have it relate to commuserism

red flower
#

lets goo

now to make it look nicer

formal parrot
#

Easy enough
I wonder who’s passionate enough to read it

formal parrot
#

Oh sick

#

Im watching this before sleep

maiden phoenix
#

Does someone knowledgeable in UI knows why, no matter in which order I put those 2, it always shows like this in game? (The patch's is applied inside the generate_card_ui function before "_c.set == "Other"")

clear ocean
#

not sure if there is a clearer way

slim ferry
#

i would say it like

#

if all skippable blinds were skipped

clear ocean
#

that's actually more clearer thanks

#

might have a hare joker that does the opposite for xchips?

placid star
clear ocean
#

what would you suggest

placid star
#

there isnt anything i can think of that makes max skip worth it

clear ocean
#

maybe the boss blind's chip is lowered?

chrome widget
#

More progress on modded challenge menu

#

Ever slightly annoyed by the story node making the total width a little wider due to added padding, I want to make it universal if I can

placid star
placid star
sonic cedar
#

how to check if a joker is modded?

chrome widget
clear ocean
placid star
clear ocean
#

i could do money, but serpent blind seems oddly specific

placid star
placid star
sonic cedar
#

like literally "mod" or

placid star
#

yup it tells you the mod info

split saddle
#

how do you know the rank of a card?

sonic cedar
#

cool

placid star
sonic cedar
clear ocean
placid star
clear ocean
#

if you play more a three of a kind you will lose cards over your played hands

split saddle
#

face card ranks are numbered or lettered?

placid star
chrome widget
#

Now I guess I'm just on implementing challenges

clear ocean
clear ocean
#

turn a random joker negative

#
    if context.skip_blind and not context.blueprint then
        card.ability.extra.chips = false
        return {
            
        }
    end
    if context.setting_blind and context.blind.boss and card.ability.extra.active then
        return {

        }
    end
placid star
clear ocean
#

the pot of greed consumes us all

clear ocean
placid star
#

@chrome widget @sonic cedar do either of you have any experience with rarities 👉 👈

red flower
placid star
chrome widget
#

I do yes

split saddle
#

i remember being told that quantum enhancements are broken

#

is that still the case?

placid star
chrome widget
#

Are the cards being successfully added to the rarity pool?

placid star
chrome widget
#

Did you put the rarity on their centers with your mod prefix?

placid star
#

in my joker center

chrome widget
#

Is that a string?

placid star
chrome widget
#

If it's still not working then you might need to output the length of your rarity pool to check it anything's in it directly. Not at my computer though, I think it would be G.RARITY_POOLS.jjok_cs

brave blade
#

How do you get the Balatro font in VS Code?

placid star
#

they are going in

split saddle
#

how do you access a scoring card? context.card didn't work for me

chrome widget
#

Huh, then idk

split saddle
#

or does it depend on the context?

chrome widget
#

It's contextual

split saddle
chrome widget
#

context.destroy_card itself is the card being flagged

ivory citrus
#

Helo

chrome widget
#

If you're ever unsure, check the calculate functions page on the SMODS wiki

split saddle
#

it says that context.destroy_card is for marking cards to be destroyed

#

so it doesn't have to be currently in process of getting sliced

clear ocean
split saddle
chrome widget
#

Correct, context.remove_playing_cards is the context for when cards are actually destroyed

clear ocean
#

wait i can see the issue

#

nvm i got it

chrome widget
#

In which case it passes in context.removed, an array of cards currently being destroyed

split saddle
#

wait, it did work, but i didn't check the correct thing

placid star
#

and do i need any patches/hooks

thick drift
#

depends on what you're trying to do with it

chrome widget
clear ocean
#

it works!

clear ocean
#

should i make some sort of indicator if it's active during the boss blind

normal crest
#

Probably say Active! When entering the boss blind

split saddle
sonic cedar
thick drift
placid star
sonic cedar
placid star
normal crest
#

card.config.center.mod

#

I believe

knotty orchid
#

Is there a variable to see how many times have you used each type of hand in a run?

sonic cedar
normal crest
#

it's a table, not a boolean

clear ocean
#

did both active and the jiggle but uh is it normal to be that fast

placid star
normal crest
#

If it exists it's modded

thick drift
clear ocean
#

is that the normal x4 speed

placid star
#

show your code

clear ocean
#
SMODS.Joker({ -- Tortoise
    key = 'tortoise',
    pos = { x = 9, y = 9},
    rarity = 2,
    shop = 7,
    blueprint_compat = true,
    config = { extra = { active = true, xmult = 3 } },
    loc_vars = function(self, info_queue, card)
        return { vars = { card.ability.extra.active, card.ability.extra.xmult } }
    end,
    calculate = function(self, card, context)
        if not context.blueprint then
            local eval = function() return card.ability.extra.active and G.GAME.blind.boss and not G.RESET_JIGGLES end
            juice_card_until(card, eval, true)
        end
        if context.skip_blind and not context.blueprint then
            card.ability.extra.active = false
        end
        if context.end_of_round and context.game_over == false and context.main_eval and G.GAME.blind.boss then
            card.ability.extra.active = true
        end
        if context.setting_blind and G.GAME.blind.boss and card.ability.extra.active then
            return {
                message = localize('k_active_ex')
            }
        end
        if context.joker_main and G.GAME.blind.boss and card.ability.extra.active then
            return {
                x_mult = card.ability.extra.xmult
            }
        end
    end
})
#

ill clean it up after i'm done

thick drift
#

I feel like the speed is fine, but maybe it needs a bit of a delay between triggers

placid star
tepid crow
#

yeah your calculate function literally adds another juice_card_until on every event

clear ocean
#

how do you make sure it's not getting multiple? have it in the set blind and stop the animation when blind is over?

tepid crow
#

only apply the jiggle on the context that occurs when entering the blind

normal crest
#

You don't have it in set blind

#

You only put not blueprint

clear ocean
#

thanks

#

it works fully now

split saddle
#

what is the hiker chips bonus called?

split saddle
#

is there a value for total chips given?

#

as in, base chips + hierophant + hiker in a single total_chips or something

#

that would be really convenient

wintry solar
#

what do you need it for?

clear ocean
#

probably make it either uncommon or rare

#

@placid star is this how you want to be credited?

split saddle
wintry solar
#

yes but for what

placid star
#

but if you are i usually do in a badge

split saddle
#

add them into the joker

placid star
split saddle
#

specifically, add half the chip value from the card to the joker

clear ocean
wintry solar
#

you can use card:get_chip_bonus() but it won't have things like editions or most modded enhancements

clear ocean
#
            for _, playing_card in ipairs(context.scoring_hand) do
                lChips = lChips + playing_card.base.nominal
            end
#

@split saddle

#

lChips is what I call the additional chips in variable

clear ocean
# clear ocean

is this clear and a fair trade off (for the server at large)

sonic cedar
#

is there a P_CENTERS for modded cards?

split saddle
clear ocean
#

i see sorry

split saddle
#

is nominal the base chips?

clear ocean
#

the chips from the played cards which includes enchanements if i can remember correctly

limber blaze
#

unless you mean modded only

#

then no

#

youd have to loop over G.P_CENTERS and check for not center.original_mod

sonic cedar
#

OK WAIT

#

so if i did

split saddle
#

but thanks regardless

clear ocean
#

woops

sonic cedar
limber blaze
#

wait no

#

other way around

wintry solar
#

you can just ignore the answer too I guess 🙃

limber blaze
#

original_mod exists if its modded

sonic cedar
#

ok i thought so

wintry solar
#

what's the loc_vars check for?

sonic cedar
#

trying to render modded jokers ijiraq infoqueues without crashing

clear ocean
#

might format it for four lines but what do you think

sonic cedar
wintry solar
#

do non-modded jokers have a loc_vars property on the center?

normal crest
sonic cedar
#

modded

normal crest
wintry solar
#

no I mean why do you need to check it's modded after you've checked if it has a loc vars function

sonic cedar
wintry solar
#

can you send the whole block?

clear ocean
#

i think that's better with four lines

sonic cedar
split saddle
clear ocean
#

oh yeah negative supposed to be capitalised

knotty orchid
#
set_blind = function(self)
        local count = 0
        for _, hand in ipairs(G.GAME.hands) do
            if hand.played and hand.played > 0 then
                count = count + 1
            end
        end

        if count > 3 then
            G.GAME.round_resets.discards = G.GAME.round_resets.discards - 1
            ease_discard(-1)
        end
    end```

I'm trying to substract 1 discard if quantity of hand types played is more than 3, any reason this doesn't work?
placid star
#

could i return my main_end in a second lox_txt box?

clear ocean
#
    calculate = function(self, card, context)
        if context.skip_blind and not context.blueprint then
            card.ability.extra.skips = card.ability.extra.skips + 1
        end
        if context.end_of_round and context.game_over == false and context.main_eval and G.GAME.blind.boss then
            card.ability.extra.skips = 0
        end
        if context.setting_blind and G.GAME.blind.boss and card.ability.extra.skips >= 2 then
            local jokers = {}
            for i = 1, #G.jokers.cards do
                if G.jokers.cards[i] ~= card or G.jokers.cards[i].edition.negative then
                    jokers[#jokers + 1] = G.jokers.cards[i]
                end
            end
            if #jokers > 0 then
                if #G.jokers.cards <= G.jokers.config.card_limit then
                    local chosen_joker = pseudorandom_element(jokers, 'hare')
                    chosen_joker.edition = negative
                    return { }
                end
            else
                return { message = localize('k_no_other_jokers') }
            end
        end
    end
#

not sure it's something like G.jokers.cards.edition == negative or something

slim ferry
#

pretty sure it should be that instead

#

but idk how you can actually get the edition of a card so that also might not work

split panther
#

how do i make a joker debuff all cards

clear ocean
#

assuming its the same for the editions i.e e_foil

slim ferry
#

oops

slim ferry
slim ferry
clear ocean
split saddle
slim ferry
# clear ocean

also you should probably check for non-boss blinds being selected instead of 2 skips in the current ante since that would have better compat with other mods

split saddle
#

make it so that it doesn't target itself XD

slim ferry
#

it already doesnt i think

clear ocean
#

it isn't something like madness where it cannot be itself

split saddle
#

Well, it would be a little too powerful imo

slim ferry
#

it already cant be itself because you did if G.jokers.cards[i] ~= card

slim ferry
clear ocean
slim ferry
#

i love democracy

clear ocean
#

i love democracy too...

slim ferry
#

i dont really see the point in doing that

#

also #jokers 🔥

clear ocean
#

i mean if you have all negatives it would do nothing

slim ferry
#

should be #G.jokers.cards

slim ferry
#

youre just checking if theres no joker overflow

clear ocean
#

i fixed it

#
            local jokers = {}
            for i = 1, #G.jokers.cards, 1 do
                if G.jokers.cards[i].edition ~= 'e_negative' then
                    jokers[#jokers + 1] = G.jokers.cards[i]
                end
            end
            if #jokers > 0 then
                if #G.jokers.cards <= G.jokers.config.card_limit then
                    local chosen_joker = pseudorandom_element(jokers, 'hare')
                    chosen_joker:set_edition('e_negative', true, false)
                    return { }
                end
            else
                return { message = localize('k_no_other_jokers') }
            end
#

currently it can invis itself but if it wins the electral college to make not do that ill add that

slim ferry
#

oh #jokers is the eligible jokers

#

why do if #G.jokers.cards <= G.jokers.config.card_limit though

clear ocean
#

woops that was copied from invis joker

#

i suck at this

slim ferry
#

whats funny is that im pretty sure vanilla invis doesnt even have that

clear ocean
#

probably a smod remade thing then

#

wait i don't need that then

slim ferry
#

oh wait no nvm im thinking of the wrong thing

#

but yeah you dont need it

#

thats just checking if theres room

sonic cedar
red flower
#

it's just .original_mod

#

without the .center

clear ocean
sonic cedar
#

...because it's already a center oh srklngdhn

slim ferry
#

hold on

sonic cedar
slim ferry
#

so it wont trigger if you selected any non-boss blinds

#

instead of checking for 2 skips

#

and then you can set the variable back to true at the end of the ante

#

because some mods do stuff with the small and big blinds so this makes it work better with those kinda mods

clear ocean
#

if context.skip_blind and will_trigger and not context.blueprint then?

slim ferry
#

will_trigger is what you use to see if everything has been skipped

clear ocean
#

well if happens if you skip one and do the other?

#

like skip the small and do the big

slim ferry
#

will_trigger becomes false because the selected blind is not a boss blind

clear ocean
#

ohh

#

🧠

slim ferry
#

and then the joker wont trigger when you select the boss blind

#

and this will work with wierd stuff like cryptid which deletes the small blind on one of its stakes

#

and other such things

clear ocean
#
    calculate = function(self, card, context)
        if context.setting_blind and not G.GAME.blind.boss and not context.blueprint then
            card.ability.extra.trigger = false
        end
        if context.end_of_round and context.game_over == false and context.main_eval and G.GAME.blind.boss then
            card.ability.extra.trigger = true
        end
        if context.setting_blind and G.GAME.blind.boss and card.ability.extra.trigger then
            local jokers = {}
            for i = 1, #G.jokers.cards, 1 do
                if G.jokers.cards[i].edition ~= 'e_negative' then
                    jokers[#jokers + 1] = G.jokers.cards[i]
                end
            end
            if #jokers > 0 then
                local chosen_joker = pseudorandom_element(jokers, 'hare')
                chosen_joker:set_edition('e_negative', true, false)
                return { }
            else
                return { message = localize('k_no_other_jokers') }
            end
        end
slim ferry
#

yeah

clear ocean
#

💯

slim ferry
#

also apparently you can just do and (not) context.blind.boss to check if something is a boss

#

vanillaremade madness does that

#

theres probably some way you can check if a blind couldve been skipped but if so i dont know it

#

would remove like most of the downside anyway if you didnt have to skip some blinds because skipping it is disabled

#

also tbh i think this is a really good take on a joker that applies negative

clear ocean
#

it works

clear ocean
#

was going to xchips 😭

slim ferry
#

xchips in my vanilla+ mods... 🥀

placid star
#

xchips is litteraly the same as xmult unless youre on plasma deck

slim ferry
#

tbh i think xchips is fine if its thematically appropriate, theres no reason to do it otherwise other than just being different

#

its just a blue xmult anyway

clear ocean
#

i have an idea of gaining/getting its variable (mult, chips, xmult) from the number of wins / losses you have on your profile

placid star
#

theres not too much reason for it other than its visually appealing

slim ferry
#

metaprogression in a roguelike 🥀

clear ocean
slim ferry
#

yk theres just 🌹 right

placid star
#

some mfs got quest tabs

slim ferry
#

true but i personally dont like metaprogression that much

clear ocean
placid star
#

well isnt unlocking jokers meta progression

slim ferry
#

ehhhh

#

i wouldnt say so

#

its not really a permanent upgrade

clear ocean
#

i think it would encourage people on finishing their runs even on losing because some might quit and start a new one so they can keep their streak

slim ferry
#

also a ton of roguelikes have unlocks

clear ocean
#

like have a message of something like if it doesn't kill you makes you stronger or at first you don't succeed

slim ferry
#

exceed?

#

do you mean succeed

clear ocean
#

sorry succeed

#

brain autocorrect 💔

slim ferry
#

🪫

plain ember
#

Guys, any of yall have by any chance the balatro color pallete?

#

Also hi, lmao

slim ferry
#

oh are you using it for art?

placid star
#

i fucking hate redoing old joker ideas because i see how ass my code was and it so much work sometimes

slim ferry
plain ember
#

Im just starting with balatro modding

#

Thanks for the thing btw!

slim ferry
#

and in the game all the colors can just be accessed pretty easily

clear ocean
slim ferry
#

i honestly think uncommon is fine despite the negative part

#

because like

#

skipping everything is like a pretty big deal

slim ferry
clear ocean
#

(throwback is a favourite more so the art but skipping blinds can make or break your run)

placid star
#

then it would def be a rare

clear ocean
#

well i want to make cards (or even other stuff like blinds, tarots, and editions... 🤫) that aren't like unbalanced. try to keep it vanilla, but overall just wanna have some fun

#

might have to wait until the polls are done until i can fully decide LMAO

#

both are tied

slim ferry
#

i think more skip oriented stuff would be cool though, since skipping definitely needs a buff

placid star
clear ocean
#

even as something simple as a hue shift? (have an idea for a forgery edition that changes the hue a tad bit)

placid star
#

ask any experienced modder they fucking suck to code

slim ferry
#

i would rather use some shitty online shader editor than actually code shaders

#

if that even exists

#

because ive looked at a single .fs shader and it looks like hell and torture and pain

placid star
#

i asked one guy that had coded his own and he said it took years off his life

#

still im gonna learn them lmao

clear ocean
#

localthunk and love2d developers on the deathbed at the tender age of twelve weeks

slim ferry
#

literally even the old cryptid astral shader (which does nothing but make cards very purple by the way!!!) is already 150 lines of code

#

like

#

what.

clear ocean
#

no way the lean enchantment

slim ferry
#

it is literally the lean edition LMAO

#

the edition behind the slaughter

slim ferry
#

truth nuke

rapid stag
#

what is G.RESET_JIGGLES cirThink

slim ferry
#

dont know exactly but it has to do with card shaking effects

#

like invis and dna do

clear ocean
#

yeah i think it does that when the round is over to flush it out

split saddle
#

what is a face card in code?

slim ferry
#

as in the rank ids?

clear ocean
#

11 - 13?

split sleet
#

i want to append this ```
SMODS.Ranks['paperback_Apostle'].straight_edge = false
SMODS.Ranks['paperback_Apostle'].next = {'rfCAV_Sun'}

clear ocean
#

it was something with the fun fact of missprint

#

2-10

#

11-13

#

14 is ace

split saddle
#

wait i can check ride the bus lmao

clear ocean
#

not sure why thunk didn't just make ace one probably for the rank order

slim ferry
#

but to find if something is a face card you can use <whatever card youre targeting>:is_face()

clear ocean
#

that too

split saddle
#

playing_card:is_face()

clear ocean
#

pretty much

split saddle
#

does that count in Pareidolia?

clear ocean
#

yup!

slim ferry
#

yes

split saddle
#

how do you exclude it from the check?

clear ocean
#

that's how the face joker cards and the plant work

slim ferry
#

wdym

clear ocean
slim ferry
#

depends on what you want to exclude from what check

clear ocean
#

not sure if smods does that though

split saddle
#

the only issue is that it may break compatibility with other mods

split saddle
clear ocean
#

adding more ranks?

split saddle
#

gains x0.5 for every 4 face cards in your deck

#

which means x12.5 in a full deck

slim ferry
#

i mean pareidolia is cool and all but thats a whole extra joker slot

clear ocean
#

ahh i see

slim ferry
#

and photochad is X8 with 2 commons

clear ocean
#

i mean that is how pareidolia works

slim ferry
#

so like

#

yeah

clear ocean
#

it treats every single playing card as a face card

split saddle
#

But at that point it's kind of like hologram with extra steps

#

so it's probably fine i think

clear ocean
#

it comes with all the benefits (smily/scary face, photograph, midas touch) and cons (the plant)

slim ferry
#

yeah pareidolia just makes it wierd worse kinda-retroactive hologram

#

so it seems fine

clear ocean
#

even after all these years when i hear photograph... it's the nickelback song

slim ferry
#

look at this graph

clear ocean
#

it was even on the radio recently and i went turn that shit off and switched to a different channel lmao

clear ocean
#

every time I do, it gives me mult

#

okay i think three cards fully is good enough today

#

especially since the polls are going and my twin brother offered to make some art which would be awesome

distant junco
#

yo can someone give me a hand? my joker is doing nothing for some reason


SMODS.Joker {
    key = 'tyrs',
    loc_txt = {
        name = "Tyrsfall_JK",
        text = {
            'Every played {C:attention}King{}',
            'has a {C:green}#1# in 7 chance',
            'of giving {X:red,C:white}X3{} Mult'
        }
    },
    blueprint_compat = true,
    rarity = 3,
    cost = 9,
    discovered = true,
    atlas = 'Jammbo',
    pos = { x = 1, y = 1 },

    config = { extra = { odds = 7, xmult = 3 } },

    loc_vars = function(self, info_queue, card)
        local numerator, denominator = SMODS.get_probability_vars(card, 1, card.ability.extra.odds, 'tyrsfall')
        return { vars = { numerator, denominator, card.ability.extra.Xmult } }
    end,

    calculate = function(self, card, context)
        if context.individual and context.cardarea == G.play and context.other_card:get_id() == 13 then
            if SMODS.pseudorandom_probability(card, 'tyrsfall', 1, card.ability.extra.odds) then
                return {
                    xmult = card.ability.extra.Xmult
                }
            end
        end
    end,
}

ivory coral
distant junco
#

guh

#

such a simple change

ivory coral
#

happens to the best of us

ivory coral
placid star
distant junco
#

missed the brackets

vague crest
#

currently trying to reduce sell value of a joker by a percentage and i have it working besides the rounding, how would i make the sell value of a joker be cut in half, but specifically rounded up?

clear ocean
# clear ocean
poll_question_text

should i add a way to prevent the fortune cookie from being enchanced

victor_answer_votes

3

total_votes

3

victor_answer_id

2

victor_answer_text

allow to be enchanced and let it go to waste

victor_answer_emoji_name

😈

vernal path
#

How do you destroy cards without leaving broken empty cards

vague crest
#

oh its ceil

ivory coral
#

for example

#

yes

#

iirc

vague crest
#

i guessed ceiling and it crtashed and i went here LOL huge

ivory coral
#

i think

#

im like 55% confident

rapid stag
#

sanity check, context.joker_main and context.main_eval is both a valid and necessary check (specifically the main eval part) right? cirDerp

ivory coral
#

iirc

rapid stag
#

i see cirISee
so context.discard and context.main_eval is also not something that works, by the same metric?

ivory coral
#

nope

#

just context.discard

red flower
#

main_eval is for jokers

#

but it doesn't do anything in joker_main

lament agate
#

can someone give me an example of adding use button to a joker

#

or is there a mod that does it?

red flower
#

i mean i can tell you one that does it

lament agate
#

sure

#

which

red flower
#

joyousspring

#

as ive told you before

ivory coral
lament agate
#

oh right

#

i forgot

#

damn, i might actually have amnesia

ivory coral
lament agate
ivory coral
#

yeah one sec lemme find it

ivory coral
ivory coral
#

shhhh

#

i was testing the ui

lament agate
#

what about their functionality?

ivory coral
#

yes
can_use_joker fills in for a consumable's can_use
same story with the G,FUNCS.use_card hook

#

you can see how i did it for the test joker i made j_osquo_ext_test

ivory coral
#

not the hook thing

#

its been a decent bit idk how my own code works

ivory coral
#

feel free to just copy most the code from there if you want tbh

ivory coral
#

its basically how it works for vanilla code since SMODS.Joker{} doesnt include any fancy stuff for this

#

at least not tmk

red flower
#

you can use those functions to check for functions in the joker's center

#

in my mod i add a use and can_use function to centers

#

like if type(self.config.center.use) == "function" then self.config.center:use(self) end

lament agate
#

talsiman

#

crashed the game lmao

#

hold on

#

let me

red flower
#

talisman crash?

ivory coral
#

didnt know you could do thsat

#

so then you'd just define the use in the SMODS.Joker{}? like it just gets added to the center?

red flower
#

yeah

#

all my jokers have a million extra functions that i add

ivory coral
#

lol from what i know about JS that tracks

rapid stag
#

is there a context for starting shop

lament agate
ivory coral
ivory coral
lament agate
#

this is correct right

red flower
#

no

ivory coral
#

think it should be to_big(401)

red flower
#

you did it in the exact opposite way first of all and second you want both to be the same type

lament agate
#

oh

#

y bad

red flower
lament agate
#

alrght it works now

#

thanks

ivory coral
#

noooo not the tennas

lament agate
#

he had it coming

lament agate
ivory coral
#

yup

#

just without the use of course
just the stuff that would be inside it

#

or you could try to rewrite it to make it the way N' suggested if you feel like

#

but it should be the same functionally

lament agate
#

this is gonna be tricky since this is just murderous egg

#

combined with dagger

ivory coral
#

true

#

ceremonial dagger buff

lament agate
#

i can just write it how i would write calculate function right

#

it has to be in a form of use

ivory coral
#

yeah the same way you'd write a use

lament agate
#

damnit

#

thanks tho

rapid stag
#

someone rmeind me how i get to the ability table from self? cirDerp is it self.ability or self.config something

ocean sinew
ocean sinew
#

a way to interfere with scaling is gonna be in the modding api i'm developing

#

this already works

#

whenever any card gets any operation done to it the calculate_scaling_mod func is called

rapid stag
red flower
#

yeah in that self is the center so it would be self.config

#

but keep in mind that it doesn't have any changes from the ability table

#

for that you need to pass the card

rapid stag
#

cirLost ?

red flower
#

self.config has the default config

rapid stag
#

ahhh

#

ok, so i need to write the card arg because this would just crash because this joker has no default config and is only obtained by changing another joker into it

red flower
#

yeah

normal crest
#

your card here is jkr

clear ocean
#

are you able to use these shaders are a base for your own edition(s)?

winter flower
#

can someone explain why it wont clear the image away

red flower
winter flower
#

oh brrrr

ivory coral
winter flower
#

i can't for the life of me understand how hooking works so this makes my life hell

red flower
#

do you need hooking for that

#

what if just use whats inside love.draw

#

it seems to be working

#

or i guess that will clear it instantly?

winter flower
#

it's the "getting rid of the image" is the issue

hardy furnace
#

quick question, i want a joker that when a flush is played it uses straight's hand stats, how do i do that (on JokerForge)?

red flower
ocean sinew
#

Nah the name is more original

#

BalatroUtilities

#

this is peak originality

jolly shadow
#

good
steamodded is a terrible name for a balatro mod api
like actually so bad
laughably

vague crest
#

im a big fan of smods but its fully because theres a celeste joke that sounds phonetically similar

#

i smile every time i say it

jolly shadow
#

i woulda called it bmod

red flower
#

balamod already exists

jolly shadow
#

thats very different than what i said

red flower
#

it's not, it would have been confusing

jolly shadow
unborn bay
#

modbala

red flower
jolly shadow
clear ocean
#

this is what they look like

clear ocean
#

but this happens when adding it to any of the jokers did i forget to add something

red flower
#

i actually just wanted to mention balamod didnt even plan to argue

red flower
clear ocean
#
SMODS.Shader({key = 'flipped', path = 'flipped.fs'})
SMODS.Shader({key = 'gold', path = 'gold.fs'})
SMODS.Shader({key = 'laminated', path = 'laminated.fs'})
SMODS.Shader({key = 'sepia', path = 'sepia.fs'})
SMODS.Edition({
    key = 'flipped',
    shader = 'flipped',
})
SMODS.Edition({
    key = 'gold',
    shader = 'gold'
})
SMODS.Edition({
    key = 'laminated',
    shader = 'laminated'
})
SMODS.Edition({
    key = 'sepia',
    shader = 'sepia'
})
#

its barebones

red flower
#

they're missing the text

clear ocean
#
            e_galore_flipped = {
                name = 'Flipped',
                text = {
                    {'test'}
                }
            },
            e_galore_gold = {
                name = 'Gold',
                text = {
                    {'test'}
                }
            },
            e_galore_laminated = {
                name = 'Laminated',
                text = {
                    {'test'}
                }
            },
            e_galore_sepia = {
                name = 'Sepia',
                text = {
                    {'test'}
                }
            }
red flower
#

is it in the right spot?

#

from the crash it seems like it cant find the text

clear ocean
#

Edition?

red flower
#

did you do the misc.labels thing

clear ocean
#

so the other?

red flower
#

?

clear ocean
#

where the bubbleGum1 and hare1 is

red flower
#

no

clear ocean
#

i see

red flower
#

it's in misc.labels

#

what you have now in edition is correct but you're missing that part

sonic cedar
clear ocean
#
        misc.Labels = {
            galore_flipped = {
                label = 'Flipped'
            }
        }
#

@red flower like this?

clear ocean
#
        misc = {
            labels = {
                galore_flipped = 'Flipped'
            }
        }
sonic cedar
red flower
clear ocean
jolly shadow
#

misc should be outside of descriptions no?

red flower
#

misc goes outside of descriptions

clear ocean
red flower
#

can i see the code again

clear ocean
#
SMODS.Shader({key = 'flipped', path = 'flipped.fs'})
SMODS.Shader({key = 'gold', path = 'gold.fs'})
SMODS.Shader({key = 'laminated', path = 'laminated.fs'})
SMODS.Shader({key = 'sepia', path = 'sepia.fs'})
SMODS.Edition({
    key = 'flipped',
    shader = 'flipped',
})
SMODS.Edition({
    key = 'gold',
    shader = 'gold'
})
SMODS.Edition({
    key = 'laminated',
    shader = 'laminated'
})
SMODS.Edition({
    key = 'sepia',
    shader = 'sepia'
})
jolly shadow
#

instead of saying same error u should tack on the updated localizations

clear ocean
red flower
#

i meant the localization

clear ocean
red flower
#

no idea lol
can you go to lovely/dump/functions/misc_functions.lua and screenshot what's at line 1923

clear ocean
#
if loc_target then 
    args.AUT = args.AUT or {}
    args.AUT.box_colours = {}
    if (args.type == 'descriptions' or args.type == 'other') and type(loc_target.text) == 'table' and type(loc_target.text[1]) == 'table' then
        args.AUT.multi_box = {}
        for i, box in ipairs(loc_target.text_parsed) do
            for j, line in ipairs(box) do
                local final_line = SMODS.localize_box(line, args)
                if i == 1 or next(args.AUT.info) then
                    args.nodes[#args.nodes+1] = final_line -- Sends main box to AUT.main
                    if not next(args.AUT.info) then args.nodes.main_box_flag = true end -- 1923
                elseif not next(args.AUT.info) then 
                    args.AUT.multi_box[i-1] = args.AUT.multi_box[i-1] or {}
                    args.AUT.multi_box[i-1][#args.AUT.multi_box[i-1]+1] = final_line
                end
                if not next(args.AUT.info) then args.AUT.box_colours[i] = args.vars.box_colours and args.vars.box_colours[i] or G.C.UI.BACKGROUND_WHITE end
            end
        end
        return
    end
tiny hemlock
#

guys do you know why this joker keeps crashing my game (i used jokerforge)

    name = "NaN",
    key = "nan",
    config = {
        extra = {
            odds = 8,
            xchips = 10000,
            Xmult = 10000
        }
    },
    loc_txt = {
        ['name'] = 'NaN',
        ['text'] = {
            [1] = 'If the played hand its {C:attention}High Card{},',
            [2] = '1 in 8 probabilities of...',
            [3] = '{C:red}x10000{} Mult, {C:blue}x10000{} Chips'
        }
    },
    pos = {
        x = 4,
        y = 0
    },
    cost = 20,
    rarity = 4,
    blueprint_compat = true,
    eternal_compat = true,
    unlocked = true,
    discovered = true,
    atlas = 'MoreJokers',

    loc_vars = function(self, info_queue, card)
        return {vars = {}}
    end,

    calculate = function(self, card, context)
        if context.cardarea == G.jokers and context.joker_main then
            if next(context.poker_hands["High Card"]) then
                if SMODS.pseudorandom_probability(card, 'group_0_0257144b', 1, card.ability.extra.odds, 'group_0_0257144b') then
                      SMODS.calculate_effect({x_chips = card.ability.extra.xchips}, card)
                  end
                if SMODS.pseudorandom_probability(card, 'group_1_8763bef3', 1, card.ability.extra.odds, 'group_1_8763bef3') then
                      SMODS.calculate_effect({Xmult = card.ability.extra.Xmult}, card)
                  end
            end
        end
    end
}```
red flower
#

what's the line

clear ocean
#

if not next(args.AUT.info) then args.nodes.main_box_flag = true end

red flower
#

oh i didnt see because it's hard on phone lol

clear ocean
#

woops

red flower
#

i would try removing the {} in your edition text

clear ocean
#

i know that feeling

red flower
#

it might not take multibox properly

clear ocean
#

yeah maybe

clear ocean
#

honestly im started get burned out with this

#

but yeah it worked

jolly shadow
clear ocean
#

true

jolly shadow
#

bullshit bugs 99% of the time ,dopamine 1%

clear ocean
#

99% programmers quit before they make the next minecraft

#

its kinda why i havent really programmed much in a long time

#

been programming on and off for most of my life

#

with nothing to show

jolly shadow
#

fucking same😭😭

#

only real stuff i have to show is like, a few rlly old jam games i did a few years back

clear ocean
#

have been getting into music stuff in the past few years but i still program time to time but the closest would probably be something like this

#

its less like i hate computers im still fascinated and like learning new things but the more i have programmed recently the more i haven't liked it that much

sonic cedar
ocean sinew
#

I can make it work 😈

#

@sonic cedar

sonic cedar
#

be my guest

ocean sinew
#

also wym disguised btw

normal crest
#

oh no, toma has to explain the joker again

modern kindle
#

i can make it not work if that helps

normal crest
#

honestly ijiraq should work just like your fridge

#

but for every joker

modern kindle
#

true

normal crest
#

but i can't say that to her, she's been working on this since like february apparently

modern kindle
#

life would be a dream i decided if we all worked on the same mod

sonic cedar
#

i dont have an emoji that can convey the anguish coursing through my veins

ocean sinew
#

but I can code

#

very good

dreamy thunder
#

i can code

#

not very good

ocean sinew
#

then you're in

red flower
#

i can be moral support

dreamy thunder
#

W

normal crest
#

i can use a keyboard

#

can i join

modern kindle
#

i can also code not very good and also do really bad art and also do really bad at everything else

#

if that helps

dreamy thunder
#

i am not touching localiztion

ocean sinew
#

you can write localization

modern kindle
#

forgive me revo the demons almost took over

normal crest
#

oh no my worst nightmare

vague crest
#

how would i check if hand has an unscoring card?

normal crest
#

if #context.full_hand > #context.scoring_hand probably

vague crest
#

oh thats really smart

dreamy thunder
#

is the unscored area sitll an optional feature

modern kindle
#

as far as i know at least

normal crest
#

they're not anymore

modern kindle
#

oh fr?

normal crest
#

forced feature

dreamy thunder
#

oh nice

ocean sinew
dreamy thunder
ocean sinew
#

I'mma take a shower sleep and try that

modern kindle
#

i was about to remove it from my optional features, turns out its not there anyway so my idiot self knew that

ocean sinew
#

I thought of something but just as a base idea(probably wouldn't be good but I can reform it later on)

#

store all joker functions

#

store a table of joker with their variables

sonic cedar
#

no we're doing that already

ocean sinew
#

oh

#

so what's wrong with it?

sonic cedar
#

it just wont work for modded jokers

#

and i dont

#

know why

ocean sinew
sonic cedar
normal crest
#

how are you calling loc_vars

#

on modded jokers

ocean sinew
#

what is the code of Moriah joker?

#

at Isaac/Jokers/Moriah.lua

sonic cedar
ocean sinew
rapid stag
#

is there a way to conditionally change the amount of dollars that gold cards give?

for example, i want to write a joker that makes gold cards give $5 instead of $3 if they're face cards

sonic cedar
vague crest
normal crest
clear ocean
# clear ocean
poll_question_text

hare be able to invis itself

victor_answer_votes

2

total_votes

4

normal crest
#

so not really

vague crest
#

💔 no worries

ocean sinew
# sonic cedar

how are you storing the values cuz card.ability is equal to card.config.center.config

normal crest
# sonic cedar

what does ijiraq_savedvalues look like, when it has saved values

sonic cedar
normal crest
#

okay so it should be :loc_vars({}, { ability = G.GAME.hpfx_ijiraq_savedvalues[card.sort_id][v] }).vars

sonic cedar
#

please for the love of god work

normal crest
#

i must've just mistyped the variable name

sonic cedar
#

you did not

#

<3

normal crest
#

why would it not exist then

sonic cedar
#

i do not

#

know

#

that's why im

#

here ShinjiHustle

sonic cedar
normal crest
#

only thing I can think of is that you loaded a save file where the table didn't exist yet

sonic cedar
#

this is the same file i did this one

modern kindle
#

srock my buddy pal once you are compelted with assisting toma i have a questionfor you

normal crest
sonic cedar
modern kindle
# normal crest what is the question

remember that nice little fridge patch we did for it to be read as joker cardarea

ive realized when selecting a joker it brings fps to 35 frames

is there any way to work around that or am i sol

dreamy thunder
modern kindle
dreamy thunder
#

it used to like lag every single time you select a card

modern kindle
#

maybe, honestly youd know better than me
i steer clear of anything cryptid related

dreamy thunder
#

i couldnt play cryptid then cause everytime i clicked a card it would put me in the calculate screen

normal crest
dreamy thunder
#

idk though

rapid stag
#

can_calculate() works on jokers, right?

red flower
#

yes

sonic cedar
#

where are you somecom cooked

dreamy thunder
sonic cedar
normal crest
normal crest
#

hi

dreamy thunder
#

thank u now i have a low quality cooked gif

sonic cedar
#

that's so funny

dreamy thunder
#

another stolen meme in my collection >:D

sonic cedar
normal crest
#

I ran that and it spawned ijiraq with moriah already

sonic cedar
#

are you actually deadass

normal crest
#

the effect says +nil chips and +nil mult tho

#

does give $1 at end of round properly

sonic cedar
#

then the effects

#

arent getting stored

#

cause i have to do dollar bonus manually

normal crest
#

where is transformtest defined

#

nvm I Have found it

sonic cedar
#

man why tf is it not doing it for me 😭

normal crest
#

I think the problem is with your transformtest function, you're skipping the process of the costume

normal crest
#

so it properly initialized the values

sonic cedar
normal crest
#

start a new run and do eval G.GAME.current_round.fodder_card.jkey = 'j_hpfx_moriah'; SMODS.add_card { key = 'j_hpfx_costume' }

#

go thru the process and it'll work fine, besides the effects on scoring not being copied right

sonic cedar
#

ok yeah i see what you mean

#

but why is it not returning chips and mult

lucid owl
#

does SMODS.blueprint_effect() prevent infinite loops? from cards copying other instances of themselves for example

#

or do i need to cover for that

normal crest
#

it prevents it

lucid owl
#

sick

normal crest
#

I replaced it with this and it copies right

sonic cedar
#

oh my god i know whu

#

it's cause i had them in separate functions

normal crest
#

I don't really understand why you did that

sonic cedar
#

it made my computer run a little better

#

but now i have

#

more than 4 gigs so

normal crest
#

:o

#

did you get a new pc

sonic cedar
#

no i got that new ram remember 😭

normal crest
#

if you said it while I was here I didn't see

#

congrats tho

sonic cedar
#

it was like weeks ago i just never got around to changing it since uh

#

i ddint have that issue until now

#

so im gonna do some replacing rq

normal crest
#

like, removing the patch fixes the lag

modern kindle
#

yes

normal crest
#

can you remind me what the patch looks like

modern kindle
#
[[patches]]
[patches.pattern]
target = '=[SMODS _ "src/utils.lua"]'
pattern = '-- TARGET: add your own CardAreas for joker evaluation'
position = "after"
payload = '''
for k, v in pairs(G) do
    if string.sub(k, 1, 16) == 'DMODS_fridgearea' then
        table.insert(t, v)
    end
end
'''
match_indent = true
normal crest
#

Maybe your code is accidentally creating a lot of cardareas?

#

or maybe looping through G is not the best idea

graceful oak
#

why is bro crashing cries

modern kindle
normal crest
#

when you create the cardarea store the keys in a list somewhere else

#

and then just loop through that list instead of the entirety of G

short girder
#

does anyone know the formatting to draw_card()??

normal crest
sage crater
#

attempt to index field atlas (a nil value)

graceful oak
sage crater
#

oh lol

#

check for typos I guess? idk

graceful oak
#

like i think this is correct

sage crater
#

are your atlases in a folder?

graceful oak
#

yuh

sage crater
#

*in a folder that this file is not in

graceful oak
#

ye theyre in assets folder

sage crater
#

because if they are, I'm fairly certain you need to add the folder to the path

#

oh wait nvm

graceful oak
#

the atlases i mean i can try adding the path rq

sage crater
#

btw, atlas_table = 'ASSET_ATLAS' is the default so you don't need to add that

graceful oak
#

hmm

sage crater
graceful oak
#

ye gimme a sec

sage crater
#

what's the file called?

#

the one you're instantiating the atlases in

graceful oak
#

wait hollon. brain blast

#

nvm it didnt work

sage crater
#

ah ok

graceful oak
#

im using uhh that one sample for stuffs

sage crater
#

wow

#

bro really crashed for no reason

graceful oak
#

lua is an opp

sage crater
#

nothing in the crash message references your file, and the crash originates from an engine file, meaning something you didn't write

#

that's crazy

graceful oak
#

gg lmfao

sage crater
#

ok, here's what I would suggest I guess

#

comment out one of the atlases (and the code in deckskin relating to it). If that doesn't work, uncomment it and comment out the other one. If it crashes both times, then it might be something with the files maybe?

#

but I have no idea what's going on lol

thick drift
#

what's a good resource to look into how to make jokers retrigger?

graceful oak
#

yea it just keeps crashing lmfao

#

i verified files integrity too and like

#

yea

normal crest
#

same for hc

normal crest
#

without the quotes around atlas_hc.key and atlas_lc.key

graceful oak
#

oh right lol

#

oh dat worked thank you bro

#

its #pwned but dont mind dat...

gusty iron
#

how would i choose a random joker from all of the jokers?

rapid stag
gusty iron
#

if it makes sense, I'm trying to make my joker copy the ability of a random blueprint compatible joker

rapid stag
#

ahhhhh

gusty iron
#

i figured out how to get the center, but how would I get it's name?

exotic imp
#

How do I create a custom GUI?

gusty iron
#

how do i get a card from its center?

final jewel
#

guys what is the key for crown and star suit from peperback. Like I want to create a consumeable that create a card white one of these suit

brave blade
#

So normally for boss blinds, when a hand is debuffed, text will appear below this saying why the hand won't score. Is there a way to do this for things other than boss blinds?

normal crest
normal crest
normal crest
exotic imp
normal crest
final jewel
normal crest
#

replacing all the code you have rn

final jewel
short girder
#

hey folks

#

this line is erroring out (im quite sure this is not how it's formatted)

exotic imp
normal crest
# exotic imp I want one to pop up upon new run and the second to be a button press

to make a UI pop up, you can do this (just an example that says Hi)

G.SETTINGS.paused = true -- you can choose to skip this if opening the menu shouldn't pause the game
G.FUNCS.overlay_menu {
  definition = create_UIBox_generic_options {
    contents = {
      {
        n = G.UIT.T,
        config = {
          text = "Hi",
          scale = 1,
          colour = G.C.WHITE
        }
      }
    }
  },
}

and I recommend you read the guide to ui by smods if you're confused https://github.com/Steamodded/smods/wiki/UI-Guide

as for adding a button, you probably have to patch your UI somewhere, i'm not the most knowledgeable on where to patch tho

normal crest
lament agate
#
function Card:can_use_joker(any_state, skip_check)
    if not skip_check and ((G.play and #G.play.cards > 0) or
        (G.CONTROLLER.locked) or
        (G.GAME.STOP_USE and G.GAME.STOP_USE > 0))
        then  return false end
    if G.STATE ~= G.STATES.HAND_PLAYED and G.STATE ~= G.STATES.DRAW_TO_HAND and G.STATE ~= G.STATES.PLAY_TAROT or any_state then
        if self.config.center.key == 'j_tngt_mahlazor' then
                local my_pos = nil
    for i = 1, #G.jokers.cards do
        if G.jokers.cards[i] == card then
            my_pos = i
            break
        end
    end
    if not my_pos or my_pos == 1 then 
        return {
            message = "...",
            colour = G.C.RED
        }
    end
    local total_value = 0
    local destroyed_jokers = {}
    for i = 1, my_pos - 1 do
        local left_joker = G.jokers.cards[i]
        if not SMODS.is_eternal(left_joker, card) and not left_joker.getting_sliced then
            left_joker.getting_sliced = true
            total_value = total_value + left_joker.sell_cost
            destroyed_jokers[#destroyed_jokers + 1] = left_joker
        end
    end

    if #destroyed_jokers == 0 then
        return {
            message = "...",
            colour = G.C.RED
        }
    end
    G.GAME.joker_buffer = G.GAME.joker_buffer - #destroyed_jokers
    G.E_MANAGER:add_event(Event({
        func = function()
            for _, joker in ipairs(destroyed_jokers) do
                joker:start_dissolve({HEX("ff0000")}, nil, 1.6)
                play_sound('slice1', 0.9 + math.random() * 0.2)
            end
            -- trying to figure out how to add all of their sell value to the joker
            card.ability.extra.mult = (card.ability.extra.mult or 0) + total_value
            card:juice_up(0.8, 0.8)
            G.GAME.joker_buffer = 0
            return true
        end
    }))
    return {
        message = localize{type = 'variable', key = 'a_mult', vars = {total_value}},
        colour = G.C.RED,
        no_juice = true
    }
        end
    end
    return false
end
#

does this looks right

gusty iron
#

How would I make a seal copy the card it's on, and add it back into where it was when it gets destroyed?

manic rune
#

u just gotta try and see

subtle merlin
#

what's the key for the stone enhancement?

manic rune
#

m_stone

split panther
#

i want to make a consumeable that undebuffs all card held in hand

how

graceful oak
#

@normal crest sorry for the insanely late 2am ping no rush in answering just ping me lol but i just noticed a weird bug now where for some reason high contrast on the custom deck halfway works? like the face cards are correctly high contrast but the rest of the diamonds arent and i got no clue why lol

#

contrast isnt flipped/reversed its just messed up on hc specifically

normal crest
graceful oak
#

thank yuo bro

subtle merlin
#

question for the actual channel i should have been asking this in: how could i implement this in a stake?

wild berry
subtle merlin
#

smth like

coroutine.create(
function insanity_bar(count)
  love.timer.sleep(1)
   return count + 1
end
)

?
-# (if you can't tell i've never even heard of coroutines before this moment)

wild berry
#

yeah something like that

#

but define it into a variable

#

because when you create it its not immediately active

#

local cor = coroutine.create(...

#

youll need to do coroutine.resume([insert coroutine here]) after that

#

wait

wild berry
#

you can just do this:

#

smth like

coroutine.wrap(function(count)
  love.timer.sleep(1)
   return count + 1
end
)
#

i think you should make a variable outside the wrap though

#

since returning in the coroutine will kill it

primal robin
#

What are you trying to do

wild berry
primal robin
#

Just use event queue

#

lol

wild berry
#

...oh

wild berry
subtle merlin
#

ty both, ill be back when the UI part comes (that'll be in hours tho)

wild berry
#

no problem!

#

why does the game think the table is nil

#

nvm

#

its just that the unpack somehow fails and gives nothing

#

i managed to fix it myself

#

turns out i could have just passed the whole table instead of unpacking

#

what causes this to happen

subtle merlin
wild berry
wild berry
#

better screenshot

#

@subtle merlin found anything?

subtle merlin
# wild berry <@748927948639305759> found anything?

you'll have to call on someone with more experience, as i don't know what's wrong and i can barely even read through all of that
-# (most ppl here have more experience than me, so much so that you could throw a stone and find 5 ppl with more experience than me)

lament agate
#

have yall seen somethingcom

foggy ginkgo
#

Agreed

#

Bro is goated

#

i ask the most simplest question

languid canopy
#

hi there, how do i change this little guy to be another/add one other card instead of it ?

distant junco
#

yo, i tried using ancient jokers code to determine random suits but ive very obviously done something wrong 😭

please help

#

crashes and says salesman is nil or something

subtle merlin
foggy ginkgo
#

From vanillaremade?

distant junco
#

yeah

foggy ginkgo
#

They have a local that's underneath the code

distant junco
#

ohhhh

foggy ginkgo
#

They also should have a reset_game_global which is at the very bottom of the code

distant junco
#

gotcha

rotund sable
#

how would i trigger the game over effect so that Mr. Bones can still save you
i tried

if G.STAGE == G.STAGES.RUN then 
  G.STATE = G.STATES.GAME_OVER
  G.STATE_COMPLETE = false
end

but that completely ignores Mr. Bones. i also tried just calling the end_round() function but that does this:

wild berry
rotund sable
#

i'll try hand size

#

also doesn't work

thorn basin
#

I tried to make a counter for this joker to activate its effect after 2 cards are discarded but it doesn't work.
my goal is to not make the joker activate the effect for each card discarded.
How can I fix this?

rotund sable
#

the counter resets every time

#

i'd put the counter into the config and then reset it in the if counter == 2 check

red flower
#

now that I'm finished with the joyousspring update i can finally work on the vanillaremade wiki

runic jay
#

How would one make the small text that's on Joker Stencil?

thorn basin
thorn basin
red flower
slim ferry
rotund sable
#

Adds gambling!
Im sold

maiden phoenix
thorn basin
runic jay
rotund sable
slim ferry
#

oh uhhh

#

i forgot

#

not sure

maiden phoenix
#

Yea its lowercase S btw, its caqe sensitive

formal parrot
subtle merlin
red flower
#

once i can steal the counter mechanic from ice

slim ferry
#

does set_seal work with an array of multiple cards

wintry solar
#

no

runic jay
#

How would one make something like this be apart of a mod?

#

Like make it work I mean

formal parrot