#💻・modding-dev

1 messages · Page 250 of 1

fallow sphinx
#

How would I be able to make sure my joker runs one of it's calculations last when selecting a blind regardless of joker position? I'm making a joker that forces you to only play one hand, but if I have for example the robber joker after it, it adds the removed hands right back

wintry solar
#

I’m pretty sure windows screenshots has arrows baked in like that

maiden river
#

Oh fr

wintry solar
#

It definitely has shapes

#

I would assume the arrow is a shape in the selection

maiden river
#

Maybe I'm clueless
I never really use the screenshot editor anyway

scarlet spire
#

I'm curious, is there a technical reason why ghost cards can't be fixed so that cards can be destroyed anywhere? is it just a really complicated issue?

#

I mostly understand destroying context at this point but I'm still curious

worthy stirrup
#

whats the opposite of is_face() because i need to count not face cards

fallow sphinx
#

Here's what I've got so far which works great, just want to make sure it does reduce amount of hands to 1 no matter what

maiden river
#

Yeah that

worthy stirrup
#

so like this?
for k, val in ipairs(context.removed) do
if not val:is_face() then non_face_cards = non_face_cards + 1 end

scarlet spire
#

should be it yeah

worthy stirrup
#

thanks

#

i used to know lua but it seems ive forgotten it

glad osprey
#

is it possible to create a consumable that changes the edition of a selected joker

maiden river
#

Yeah

worthy stirrup
#

well shit, im now crashing

glad osprey
worthy stirrup
#

code at top, crash at bottom

scarlet spire
worthy stirrup
#

oh, i should be calling for card.ability

glad osprey
scarlet spire
#

card:set_edition works on any card

worthy stirrup
#

new crash unlocked

#

horray

minor furnace
#

aight, time to figure out how to make an unselectable enhancement

glad osprey
scarlet spire
#

any card, as in, jokers, playing cards, consumables, everything supports editions

minor furnace
#

what if you could enhance jokers

scarlet spire
glad osprey
tall wharf
#

UI SHENANIGANS

scarlet spire
#

ah okay, yeah the jokers area has a highlighted value just like that, so it shouldn't be hard to swap it out

#

G.jokers.highlighted

onyx sonnet
minor furnace
fallow sphinx
#

How would I check to make sure a joker is in the right most position?

tall wharf
#

hiii

#

i am so close

minor furnace
#

syntax error

tall wharf
#

e

#

so close

crisp elbow
#

Is there a list of all the vanilla color codes anywhere? Trying to find the one that Antimatter uses for it's joker slot +1 thing (like {C:attention}

worthy stirrup
#

bro, how do i join these two together
message = ("X", tostring(card.ability.extra.x_mult))

hushed field
harsh marten
#

can anyone help me with this https://pastebin.com/nU6PMYwv
Here is my shader's code:

#ifdef GL_ES
precision mediump float;
#endif

uniform float iTime;
uniform vec2 iResolution;
uniform vec2 mouse_screen_pos;
uniform float screen_scale; // Declare the required uniform

varying vec2 vTexCoord;

vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords) {
    // Use screen_scale explicitly so it's not optimized out:
    float scale = screen_scale; // use it in a dummy variable
    
    // Compute UV coordinates scaled by screen_scale
    vec2 uv = (screen_coords / iResolution.xy) * scale;
    
    float timeFactor = sin(iTime) * 0.5 + 0.5;
    float mouseEffect = length(mouse_screen_pos - screen_coords) * 0.001;
    
    // Mix two colors using time and mouse effect, using uv if needed
    vec3 finalColor = mix(vec3(0.1, 0.1, 0.1), vec3(0.5, 0.5, 0.5), timeFactor + mouseEffect);
    
    return vec4(finalColor, 1.0);
}
onyx sonnet
wintry solar
#

It’s better to not send a message

onyx sonnet
#

im assuming this is for things like upgrades

strong jacinth
hushed field
#

Setting up a good localization for the quest system is going to be some effort. For now, just going to serialize the table and show that, ugh

tall wharf
minor furnace
#

oh no

hushed field
worthy stirrup
#

i know damn well theres an easier way to do this.

if context.other_card:get_id() == 1 or context.other_card:get_id() == 2 or context.other_card:get_id() == 3 or context.other_card:get_id() == 4 or context.other_card:get_id() == 5 or context.other_card:get_id() == 6 or context.other_card:get_id() == 7 or context.other_card:get_id() == 8 or context.other_card:get_id() == 9 or context.other_card:get_id() == 10 or context.other_card:get_id() == 11 then
minor furnace
#

remind me never to implement anything that requires keyboard or button inputs

onyx sonnet
hushed field
worthy stirrup
#

oh that makes so much sense...

tall wharf
worthy stirrup
#

god damn it

hushed field
# strong jacinth No

maybe add some background colours to the nodes, see which parts move. If all of them do, it may be what you attached the button to, rather than something in that code (because I definitely don't see a reason for it to flee the screen)

strong jacinth
hushed field
strong jacinth
#

Yes

#

Already tried

hushed field
#

why would offset work that way????

red flower
#

i use offset and it doesnt move it lol

hushed field
#

I guess something there makes it so that the offset stacks

strong jacinth
#

Idk, maybe its cxalled many tuies

#

times

harsh marten
#

Why aren't my Jokers having the x2 mult applied?

SMODS.Edition{
    key = "e_guns",         -- Edition key.
    raw_key = true,         -- Use the key exactly as provided.
    shader = "shiny",   -- Use the shader we register below.
    loc_txt = {
        label = "Gun Metal Edition"  -- This label appears on badges.
    },
    config = {
        chips = 0,         -- No change in chips.
        mult = 1,          -- Baseline multiplier of 1.
        x_mult = 2,        -- This will double the card's multiplier.
        p_dollars = 3,
        card_limit = 2,
    },
    unlocked = true,
}
fallow sphinx
#

Where does the game store the player's current number of hands? Doesn't look like it is G.GAME.hands

worthy stirrup
#

code and its crash

fallow sphinx
#

Oh gotcha

harsh marten
#

could be wrong though im new to this

fallow sphinx
#

Doesn't look like it, DebugPlus is giving me a nil for that

red flower
wintry swallow
#

hello, anybody know why my joker doesn't show my sprite?
i added the atlas so i dont know whats wrong

SMODS.Atlas{
key = "Jokers",
path = "Jokers.png",
px = 71,
py = 95
}

SMODS.Joker {
key = "Key",
loc_txt = {
name = "Name",
text = {
"text",
}
}
}

fallow sphinx
harsh marten
#

or probably 0,0 for you

strong jacinth
harsh marten
subtle mason
#

When checking if a mod exists do I use pcall?

#

And how do I or where do I find a mods name?

strong jacinth
worthy stirrup
#

the get ID is causing a crash, what else can i do?

        if context.other_card:get_id() == 2 or context.other_card:get_id() == 3 or context.other_card:get_id() == 4 or context.other_card:get_id() == 5 or context.other_card:get_id() == 6 or context.other_card:get_id() == 7 or context.other_card:get_id() == 8 or context.other_card:get_id() == 9 or context.other_card:get_id() == 10 or context.other_card:get_id() == 11 then
strong jacinth
#

Checking if a card exists?

worthy stirrup
#

getting every number except queen and king

tall wharf
weak brook
strong jacinth
#

Why not just ```lua
if context.other_card() != 12 and if context.other_card() != 12

onyx sonnet
#

lua doesnt accept exclamation as negation

strong jacinth
#

Aw, i was to late

onyx sonnet
#

it uses tilde

#

~

#

~=

strong jacinth
#

man

#

What is this programming language

weak brook
#

that and thing is also wrong syntax

onyx sonnet
#

THATS WHAT IM SAYING

weak brook
#

its simplistic i like it ngl

subtle mason
#

I once again asking, when checking if a mod exists do I use pcall?

onyx sonnet
#

i like != a lot more

tall apex
onyx sonnet
#

especially since it almost looks like the unequal sign

tall apex
weak brook
#

it is my birthday :)

tall wharf
#

this works but it lags like hell

tall apex
weak brook
# tall wharf

i know youve been working on that for a while is this mod out in some form i wanna try scrabble balatro

subtle mason
#

I once again asking, when checking if a mod exists do I use pcall?

weak brook
#

yeah it looks awesome

tall wharf
#

the mod is not out

#

it's

#

uh

#

in perpetual alpha rn

weak brook
#

ah all good

tall wharf
#

but u can try the alpha

strong jacinth
tall wharf
#

happy bnirthday kekealso

weak brook
#

that would be awesome i'd love to try that

tall apex
#

What makes an alpha an alpha? :3

tall wharf
subtle mason
#

help me pls 😢

tall wharf
#

TIL DynaText is fucking laggy as shit

harsh marten
#

okay so I got my edition to display correctly, but the calculations aren't happening

#

any ideas as to why?


SMODS.Edition({
    key = "e_guns",         -- Edition key.
    raw_key = true,         -- Use the key exactly as provided.
    shader = "shiny",       -- Use the shader registered for this edition.
    loc_txt = {
        name = "Gun Metal Edition",    -- Displayed at the top of info boxes.
        label = "Gun Metal",             -- Appears on badges.
        text = {
            "{X:mult,C:white}X#3#{} Mult"
        }
    },
    discovered = true,      -- Mark as discovered.
    unlocked = true,        -- Available by default.
    config = {
        chips = 0,       -- Bonus chips.
        mult = 0,         -- Bonus multiplier.
        x_mult = 2,        -- This will double the card's multiplier.
        p_dollars = 3,
        card_limit = 2,
    },
    in_shop = false,         -- Can spawn in the shop.
    weight = 8,             -- Weight for shop appearance.
    extra_cost = 6,         -- Extra cost applied in the shop.
    apply_to_float = true,  -- Apply shader to floating sprites.
    loc_vars = function(self)
        return { vars = { self.config.chips, self.config.mult, self.config.x_mult } }
    end,
})
onyx sonnet
#

Do you have to manually program the Debuffed! message and interaction? Or does smods simply just refuse to calculate things if a debuffed card is involved

orchid thunder
tall apex
onyx sonnet
#

Much appreciated

tall apex
#

np, least i can do for all your help earlier!

sour marsh
#

is there a way to display a message on the joker after context.destroy_card ?

#

if i do return{message="whatever"} it displays on the card and context.after seems to happen before context.destroy_card

onyx sonnet
sour marsh
#

won't that destroy the joker

onyx sonnet
#

not to my knowledge? the purpose of adding card there is to juice up™️ a specific card

#

context.destroy_card has an attribute that contains the card currently being destroyed

#

which is context.destroying_card

frosty dock
#

i think it'd have to be message_card = card

tall wharf
#

omg aure

onyx sonnet
#

ty aure for correcting me

tall wharf
#

ok is there a way i can modify children ui element

#

like

#

i wanna change text on the fly

#

but dynatext is somehow very laggy

tall wharf
#

ok not somehow they are supposed to be a bit laggy

frosty dock
#

probably some object node setup with a UIBox inside

tall wharf
#

so i can just use uibox

#

to set a new text object

#

i have 10 youtube shorts limit for myself

#

sorry

subtle mason
#

I'm trying to make a compatibility check for another mod. I only use lovely injector so smods is out of the question. Is there a way to check for other mods in any way (for example does pcall work)?

sour marsh
#

ok i think my mimic joker works now

tall apex
#

this is a sad day

onyx sonnet
frosty dock
harsh marten
#

still trying to figure out why jokers with my edition aren't calculating the config

frosty dock
#

i guess you can rely on some global that a mod sets

subtle mason
tall apex
frosty dock
#

smods provides a utility SMODS.find_mod

orchid thunder
#

how can i move a card to another card area

strong jacinth
#

Yo aure

onyx sonnet
subtle mason
strong jacinth
frosty dock
#

also, does the mod you're trying to implement compatibility for also not use smods?

tall apex
#

wait do i have any jokers that reffer to that?

strong jacinth
tall apex
frosty dock
onyx sonnet
tall apex
#

OHHH gotcha, ill yoink code and test c:

onyx sonnet
#

Yeah i was wondering if that behaviour was automatic or programmed

#

I cant really check rn cuz im on my work laptop

frosty dock
#

that's automatic, debuffed cards don't go through the same scoring routine that normally scored cards do

strong jacinth
tall apex
#

oh nice an actual answer X3

#

i wouldve made a joker just to text that LMAO

onyx sonnet
strong jacinth
#

I think it has something to do cuz the Game:start_run(args) is being called many times?

tall apex
#

bloodstone'nt

frosty dock
frosty dock
#

I'm referring to anything that uses a calculate function of some description

onyx sonnet
#

oh do debuffed cards just not get evaluated at all?

hushed field
#

it works after a flood of spelling errors ❤️

frosty dock
#

they're not evaluated unless specifically told to

onyx sonnet
#

neat

minor magnet
#

how would i go about increasing boss blind required chips with a joker?

hushed field
tall apex
#

Times one BEELION

frosty dock
hushed field
strong jacinth
#

:(

next timber
#

what does the red half of this description sound like its saying? trying to keep the description concise and perhaps a bit obfuscated for the funnies

silk scaffold
#

teh enhancement itself is called asbestos?

#

oh i see what its supposed to mean

#

Value may reach a negative value

sour marsh
silk scaffold
#

might be better

sour marsh
#

ohhh'

tall wharf
frosty dock
hushed field
#

I spent three hours on it after work today doing very simple UI stuff and I'm braindead now, so I get it, haha

next timber
#

actually its meant to be 2 seperate things:
the value can decrease to negative if its there for too many played hands, AND
if you try to discard or destroy it it has a chance of coming back worse

#

ill prolly make it more descriptive

tall apex
#

i didnt mean to reply to that LMAO

zealous glen
next timber
#

???

sour marsh
frosty dock
minor magnet
orchid thunder
#

then how do i move all the cards

zealous glen
#

but maybe that's what you want

frosty dock
#

you're fine if you do it backwards i think

hushed field
strong jacinth
frosty dock
#

for i = #G.jokers.cards, 1, -1 do

zealous glen
minor magnet
#

(platonic)

frosty dock
orchid thunder
#

i hate uis

silk scaffold
sour marsh
next timber
silk scaffold
#

i have to start concepting for my mod plans

zealous glen
orchid thunder
frosty dock
#

20*.6 is an odd way to write 12

orchid thunder
#

idk il change that but just bruh

silk scaffold
frosty dock
#

balatro doesn't make multiplication work different

onyx sonnet
zealous glen
silk scaffold
#

ah i see, good to note
thx yall

frosty dock
zealous glen
tall wharf
next timber
#

well see this is just a mouthful

zealous glen
#

@frosty dock I think some card statistics like bonus chips and such can't be negative

next timber
#

id test it right now except asbestos cards area ctually broken right now :p

frosty dock
#

really

zealous glen
# frosty dock really

well, I remember Lars and Baliame discussing and deciding to implement it this way

tall wharf
zealous glen
#

but I could be wrong

#

quick everyone ask aure about your UI

red flower
#

why are there so many ui questions today

minor magnet
# zealous glen

ok that works great, now i need to implement it incrementing the score every like, 5 seconds spent

zealous glen
#

@frosty dock if you would answer the question "how are ui?" using a Balatro UI element instead of words, how would you?

minor magnet
#

is there a timer already in the game or do i need to implement one myself?

frosty dock
#

"how are ui?"

#

what even does that mean

zealous glen
#

I'm becoming half-human half-UI

minor magnet
zealous glen
orchid thunder
#

why cant i move ths stupid card area

zealous glen
#

I think for your use case they're equivalent

minor magnet
#

ok alr i'll handle this myself

zealous glen
zealous glen
frosty dock
#

can you please stop bothering me

zealous glen
#

Just set a recurring Event on a 5 second delay

#

Sorry I just wanted to ask how you are in a funny way

tall wharf
#

arioght

#

anyway how are you doing

frosty dock
#

I'm tired and kinda braindead for some reason

#

I'm not even sure why

zealous glen
#

can you take a break

tall wharf
#

maybe take a little walk outside?

zealous glen
#

play with your cat

frosty dock
tall wharf
#

unless you just came back from some labour

#

ah

#

right

hushed field
#

ignore the fucked text and the nonsense thematics of it all, but it's working

tall wharf
#

forgot about timezones

frosty dock
#

I came back like an hour ago from an orchestra rehearsal

tall wharf
#

oh

zealous glen
#

ohhh do you play

hushed field
tall wharf
#

rehearsal

zealous glen
#

impressive

tall wharf
#

?

#

mandatory?

zealous glen
frosty dock
#

we have a concert next week

#

so yeah i kinda have to be there

zealous glen
frosty dock
zealous glen
#

fair

tall wharf
#

cat

zealous glen
frosty dock
#

meow

zealous glen
minor magnet
tall wharf
#

as soon as the shift button works ill sleep

sturdy compass
#

You are insane

onyx sonnet
#

god i wish we could just press ctrl esc or something instead of having to hold M, it keeps auto focusing the window under it

sturdy compass
#

I feel that

onyx sonnet
#

the lua file being bombarded by 2 billion Ms:

tall wharf
sturdy compass
zealous glen
#

insanely multitalented

frosty dock
#

i mean I've wanted to make it configurable

#

small problem, my UI would suck

#

actually I think I'll just add alt+f5 for now

tall wharf
#

I LOVE WORKING WITH UI

next timber
#

whats the correct context for a card that's being discarded? i thought it would be context.discard and context.cardarea == G.discard but that only triggered when other cards were being discarded while the card was already in the discard pile

tall wharf
#

ok seriously i cannot for the life of me figure out what's wrong

zealous glen
#

there's a context before discards

frosty dock
onyx sonnet
#

can someone tell me why perma mult has this extra +?

frosty dock
#

huh

zealous glen
#

maybe @tepid crow

red flower
onyx sonnet
#

wait

#

OHHHH

#

nvm

tepid crow
onyx sonnet
#

its because i had an old version of neato jokers installed which had its own permamult localization

tepid crow
#

Heyyy it's my fault

#

😎

onyx sonnet
#

😭

#

you were just ahead of your time

#

nobody was ready for your swag

tepid crow
#

Truly

zealous glen
#

Lars copying Lars
BPwiggle jimbowiggle

tall wharf
#

what the fuck is going on

tepid crow
#

looks good to me, ship it

red flower
tall wharf
zealous glen
tall wharf
#

sigh

tepid crow
#

wait

worthy stirrup
#

This crashes whenever it tries to score a card.

primal robin
worthy stirrup
tepid crow
#

are you trying to implement a keyboard in balatro?

worthy stirrup
#

ill send the crash log in a sec

red flower
# tall wharf

you used to many letters in your mod you dont need anymore

tall wharf
#

i copied the vanilla one and made it support the shift key

tepid crow
tall wharf
#

that's all i am trying to do

minor magnet
#

i believe i may have made a blunder

worthy stirrup
primal robin
#

Imagine SMODS.Keybind support not only keyboard blursed

tall wharf
tall apex
#

oh how i love taking shitty stock photos and compressing them to 71 by 95

harsh marten
tall apex
onyx sonnet
#

THE SKELETON APPEARS

tall apex
#

my baby boy <3

harsh marten
next timber
#

ok context.discard triggers whenever any card is discarded, how do i make it only trigger when the card running the calculate() is discarded?

tall apex
worthy stirrup
tall apex
#

the joker is literally called skeleton.png

next timber
#

i love it

harsh marten
worthy stirrup
#

trust

harsh marten
#

i have been lmao

tall apex
#

im the joker im literally the joker im like "why're mods so.., SERIOUS??"

frosty dock
harsh marten
worthy stirrup
#

i mean, i would also send the crash log

tall wharf
#

i must be doing something right

harsh marten
#

i didnt go through the effort of doing a pastebin when no one is going to read it anyway

tall wharf
#

because the capital letters flashes a bit before disappearing

worthy stirrup
#

bro... send ur message as a file

tall wharf
#

what's the keybind to debug layout again

frosty dock
minor magnet
#

question

#

how do i make recurring events without putting them in the update function

harsh marten
#

I was obviously exagerating

minor magnet
#

i want to simply make an event repeat every 5 seconds

worthy stirrup
#

wait is this how you get x_mult to do the x_mult job

x_mult = card.ability.extra.x_mult

#

as well as it being in return

zealous glen
#

if you look at the code for Champion

#

I create an Event inside an Event

frosty dock
zealous glen
#

In my case, it was because the Blind UI doesn't always exist

#

so it's waiting until the Blind UI exists

harsh marten
#

I have the following but it doesn't seem to do anything:

calculate = function(self, card, context)
        if context.joker_main then
            return {
                x_mult = card.ability.extra.x_mult
            }
        end
    end
worthy stirrup
#

wait, is x_mult just xmult

harsh marten
#

maybe

#

idk

frosty dock
#

editions shouldn't evaluate in context.joker_main

#

use context.pre_joker or context.post_joker

worthy stirrup
#

its xmult

frosty dock
#

depending on if it should trigger before or after the main effect of the joker in this stage

frosty dock
harsh marten
worthy stirrup
tall wharf
#

why is it red

worthy stirrup
#

im not sure if im overlooking something

tall wharf
#

oh collision i guess

frosty dock
#

you need to check for the specific one you want

worthy stirrup
#

oh, really?

frosty dock
#

here you want context.cardarea == G.play and context.individual

worthy stirrup
#

im trying to do what trib does and i saw it do the same thing

#

thanks

tall wharf
#

okay what the hell is this debug mode

frosty dock
#

also remove these lines

kind pelican
#

hello everyone, i am new to balatro modding. I'm trying to trigger an effect on scoring (much like with calculate functions) but without needing any joker, edition, specific card, etc. Basically it should always trigger on scoring. I've read the doc and can't find something that helps me, do you guys have an idea how i could achieve that ? thank you

worthy stirrup
#

oh

#

wait, that becomes message doesnt it

frosty dock
kind pelican
#

basically, it should always happen when any joker or card is scored

frosty dock
#

is it a deck effect or something

kind pelican
#

no, always on

zealous glen
frosty dock
#

just inherent to your mod

zealous glen
#

the Jokers don't show up in the collection or anything

frosty dock
#

that works

kind pelican
worthy stirrup
#

wait, how do i put a message on the card, i see message_card but im not sure if i call for that as in message_card = "" or something else

frosty dock
#

or you can make use of an existing such area and always (silently) redeem a voucher on run start and use that to calculate

kind pelican
frosty dock
fallow sphinx
#

I've been brainstorming an idea and just need to know if something specific is possible. Is SMODS capable of dynamically changing a joker texture when specific things happen? Just as an example if I have one steel card in my deck it's one texture but if I had a second or more it's a different texture? I know animated textures exist for things like the Jimball in Cryptid

zealous glen
#

I think the code is there but hidden in my mod's current release

zealous glen
worthy stirrup
#

okay sweet, how red (how to make the message a red background)

fallow sphinx
#

Gotcha, that's what I figured. I'll have to dig into it

harsh marten
#

this prints test but doesn't give me the mult:

calculate = function(self, card, context)
        if context.post_joker then
            print("test")
            return {
                xmult = card.ability.extra.x_mult
            }
        end
    end
frosty dock
#

okay what version of smods are you using

zealous glen
harsh marten
frosty dock
#

this isn't post_trigger

harsh marten
zealous glen
#

My bad I misread

kind pelican
frosty dock
#

card.ability.extra belongs to the card's center, i.e. the data of the joker itself

#

edition config is stored in card.edition

harsh marten
frosty dock
#

yeah if your edition config is set up with an extra

#

(though it's not strictly needed)

harsh marten
#

its in config

frosty dock
#

if it's directly in config, no extra

tall wharf
#

ok i think i know what's going on

frosty dock
#

card.edition is basically a copy of your config along with some other information

tall wharf
#

it get's scaled to oblivion

frosty dock
#

so card.edition.x_mult

worthy stirrup
#

is it just me, or does Trib have a diffrent score sound

frosty dock
#

no

worthy stirrup
#

oh

#

im just crazy

harsh marten
#

that worked tysm

worthy stirrup
#

oh, the scoring on my modded card plays the chip score sound, not the x_mult sound

#

im not sure if i can change that

#

oh, i see how

minor magnet
#

ok i fucked something up but this is so funny i've got to get you guys a video wait

worthy stirrup
#

one last question, what do i look for when finding what sounds it uses, because I see generic1 is listed on the wiki but i dont know how to call for it or the other sounds

minor magnet
worthy stirrup
#

oh theres a sounds wiki

next timber
#

why do people add cards to the title screen is that a tradition i've yet to learn

next timber
#

"no, fuck you actually"

minor magnet
next timber
#

i love the pause at the end like "well. the fuck am i meant to do about this"

minor magnet
#

A part of me wants to keep it like this

tall wharf
#

❤️

minor magnet
ruby delta
#

Can someone please help me to fix the bug (cryptid)

next timber
#

lmao??

#

cryptid is the bug

ruby delta
#

Can someone please help me to fix the bug (cryptid)

next timber
#

the presence of cryptid is the bug

ruby delta
#

💀

#

There are some joker cards which have a top layer asset but for some reason it floats like this instead of sticking with the card

worthy stirrup
#

how do i make my joker play the MultiHit2 sound?

tall apex
tall wharf
#

ok at this point i dont' care anymore ill revert to the laggy dynatext impl until someone comes up with something that works

next timber
fallen osprey
hushed field
next timber
#

anything that triggers a context id assume

hushed field
#

a context being checked doesn't per se mean anything happened in it tho

tall wharf
zealous glen
frosty dock
zealous glen
#

Is there documentation for the new Blind contexts?

minor magnet
#

due to my inferior programming skills, i still haven't got the recurring event working

#

any tips?

noble schooner
zealous glen
next timber
#

omg jevil joker

zealous glen
#

also Cryptid has a similar Blind which could be helpful to use as a reference

frosty dock
next timber
#

is there a way to make a card that's being discarded in context.discard be drawn back to the hand instead?

frosty dock
#

not sure how clean that is, but i think you can draw the card back to G.hand in an event

kind pelican
#

sorry to bother again, i actually want my effect to trigger during the scoring, basically every ding you hear during scoring triggers it, what's the best way to do this

frosty dock
#

sounds like a use for context.post_trigger

#

it happens after anything calculated with an effect basically

fallen osprey
#

added this and it started freaking out

frosty dock
#

you can narrow down further what happened by checking context.other_context

#

you do have to enable it like SMODS.current_mod.optional_features = { post_trigger = true }

frosty dock
#

on the undiscovered sprite

minor magnet
#

i've found this solution to be optimal, but it only happens on contexts if i use it in the calculate functions, is there a workaround to this?

fallen osprey
#

oh shiz ty

minor magnet
#

wait i have an idea

fallow sphinx
#

This is such a specific question but does anyone know where the animation for the jimball is in Cryptid's code so I can get an idea of how it works?

fallen osprey
fallow sphinx
#

Good to know! That's probably a better one to take a look at

zealous glen
frosty dock
#

it's this

kind pelican
#

how can I add a joker to my jokers directly when the run is started ?

zealous glen
frosty dock
#

the text isn't a table

fallow sphinx
#

Gotcha

fallen osprey
#

oh zoinks you right

next timber
#

trying to test the asbestos card and it refuses to draw to my hand

#

as i typed that it drew to my hand

fallen osprey
old bane
#

im trying to make a soul-like card for a specific rarity and it just keeps giving me jimbo

#
local t = {
    set = 'Joker',
    rarity = 'pm_bosses',
}
SMODS.add_card(t)

here's the code

#
SMODS.Rarity{
    key = "bosses",
    default_weight = 0,
    badge_colour = HEX("9c1072"),
    pools = {["Joker"] = true},
    get_weight = function(self, weight, object_type)
        return weight
    end,
}

and here's my rarity

harsh marten
#

how do I cause a card to retrigger?

next timber
#

i think i've got the description for asbestos to be just short and brief enogh that im happy enough with it for now

fallen osprey
#

now im having a new issue, after I added the consumable type and a card, now its crashing because of this, and saying something about one of my jokers before

frosty dock
harsh marten
#

not a joker

frosty dock
#

a playing card

#

right?

#

retriggered by... a joker?

kind pelican
#

how can i add a joker to deck on run start ?

harsh marten
fallen osprey
frosty dock
#

so it retriggers itself, like a red seal

harsh marten
#

yep

frosty dock
#

context.repetition_only then

#

you should return something like { repetitions = <number of reps> }

#

you can add a message, by default it'll be "Again!"

kind pelican
#

so not just using debug

frosty dock
#

this also isn't a deck effect, right?

kind pelican
#

no

harsh marten
# frosty dock you should return something like `{ repetitions = <number of reps> }`
SMODS.Edition({
    key = "e_gun_gold",         -- Edition key.
    raw_key = true,         -- Use the key exactly as provided.
    shader = "shiny",       -- Use the shader registered for this edition.
    loc_txt = {
        name = "Gun Gold Edition",    -- Displayed at the top of info boxes.
        label = "Gun Gold",             -- Appears on badges.
        text = {
            "Cause a card to retrigger 3 times
        }
    },
    discovered = true,      -- Mark as discovered.
    unlocked = true,        -- Available by default.
    config = {
        chips = 0,       -- Bonus chips.
        mult = 0,         -- Bonus multiplier.
        x_mult = 0,        -- This will double the card's multiplier.
        p_dollars = 0,
        card_limit = 0,
    },
    in_shop = false,         -- Can spawn in the shop.
    weight = 8,             -- Weight for shop appearance.
    extra_cost = 6,         -- Extra cost applied in the shop.
    apply_to_float = true,  -- Apply shader to floating sprites.
    loc_vars = function(self)
        return { vars = { self.config.chips, self.config.mult, self.config.x_mult } }
    end,
    calculate = function(self, card, context)
        if if context.repetition_only then
            return {
                repetitions = {3}
            }
        end
    end
})
#

like this?

frosty dock
#

repetitions = 3

#
  • if if
#

other than that, yeah

#

also why are you using raw_key

#

that's been deprecated for quite some time

frosty dock
# kind pelican no

you should hook Back:apply_to_run and add an event that adds the joker with SMODS.add_card

minor magnet
#

is there a way to check if player is currently in a blind without contexts?

frosty dock
minor magnet
#

thanks🫶

kind pelican
#

(i did change the key)

frosty dock
#

if it's a modded joker, does it include your mod prefix?

kind pelican
#

yep missed that

next timber
#

ok

#

can confirm

#

x0 and below do not do anything

#

damn

#

hypothetically how would i patch it so that they do work

minor magnet
#

how do i word this better?

frosty dock
#

j_bh_test

harsh marten
#

is this how I remove an edition?
card:set_edition("e_gun_headshot", false)

kind pelican
old bane
#

how do i get achievements to work >_< i'm trying to make achievements for when a boss blind is defeated and im struggling

minor magnet
#

balanced?

old bane
#

the clock be like:

onyx sonnet
#

can someone tell me why this is increasing the permanent mult on a playing card in increments of 3?

next timber
onyx sonnet
#

it should only be increasing by 1

next timber
#

does smods mess with the score in a way that could stop x0 and below from scoring or will that be a vanilla quirk i can patch out?

next timber
#

damn

onyx sonnet
#

so you can just xmult however you please

next timber
#

how tf do i patch it back out of smods

onyx sonnet
#

patch what out

#

the ability to xmult by 0 or less?

next timber
#

yes

#

i would like to aptch that out

#

for asbestos

#

i want asbestos to be able to x0 mult and below

onyx sonnet
#

i feel like you could just add that to your calc and make it not return if its 0 or below

agile thistle
#

you both are interpreting the exact opposite of each other

next timber
#

i think we are

onyx sonnet
#

oh

onyx sonnet
#

pfft

agile thistle
#

as in, smods added it in, i guess

onyx sonnet
#

sorry im just stupidly tired

#

yeah

next timber
#

so smods prevents you from doing x0?

onyx sonnet
#

vanilla didnt allow negative or null xmult

agile thistle
#

no it specifically allows you to

onyx sonnet
frosty dock
next timber
#

is that new because its not working for me

onyx sonnet
harsh marten
frosty dock
#

editions are mutually exclusive, there can only ever be one. you're not adding or removing an edition ever

minor magnet
frosty dock
#

there's two boolean flags you can pass, "immediate" and "silent"

agile thistle
hushed field
# onyx sonnet yes

I don't see anything in the code here that should trigger it multiple times, honestly. Maybe I'm missing something obvious, but it's probably not happening because of a missing context check or anything

frosty dock
#

immediate removes the visual delay of applying the edition

onyx sonnet
#

so the game read it as a loss?

minor magnet
frosty dock
next timber
#

its not a bug its a feature

#

it keeps you on your toes

agile thistle
sour marsh
#

you could check after you score whether you beat the blind and stop increasing

hushed field
#

ugh, i'm not enjoying trying to construct proper strings. I'm going to have to figure out when localize is going to return a table, and when it returns a string. Maybe there's a smarter way to do this than to stack localize funcs

onyx sonnet
tall apex
#

ok so

harsh marten
#

This is giving me an assertion failed crash

calculate = function(self, card, context)
        if context.post_joker then
            card:set_edition("nil", true)
            return {
                xmult = card.edition.x_mult
            }
        end
    end
next timber
#

with the smods allowing for 0 and negative xmult, does that extend to in-hand mult? cause i have a card in my hand with -5 h_x_mult and its doing jack shit

sour marsh
#

weakly typed languages 💔

onyx sonnet
#

its also only an issue with the mult

#

the bonus chips are fine

sour marsh
#

to see if it's that

hushed field
onyx sonnet
#

none that i know of?

next timber
#

ok making joker speedrun ig

onyx sonnet
#

unless i have some leftovers from neato

tall apex
#

i had a run where i got a soul card and i got my useless joker for the first time in an actual run and im actually voming and crying this difficulty is so difficult and because i felt so stupid that i had MADE THAT JOKER INTO EXISTANCE, the cryptid time scaling ante got way past the base score i was barely on pace with as i walked around my room holding my head in my hands

sour marsh
next timber
#

cool thx

hushed field
sour marsh
onyx sonnet
#

do you have an older version of smods?

next timber
#

ok so negative xmult is broken

#

how do i check what version of smods im running

sour marsh
next timber
hushed field
onyx sonnet
next timber
#

1.0.0~BETA-0314b-STEAMODDED

sour marsh
next timber
#

wh

sour marsh
#

i just did it wrong

#

i had a broken if statement

#

it gives you negative chips

onyx sonnet
next timber
#

im wondering if its just because its h_x_mult and not x_mult

onyx sonnet
#

can you show your code

next timber
#

if thats the case

sour marsh
next timber
#

its weird

#

theres no fancy code i literally just gave the card -5 h_x_mult to test and its not doing anything

onyx sonnet
#

try doing it with just regular x mult?

hushed field
#

Just gonna shut off for tonight, I've been setting up this quest system for too long and I'm starting to see untyped variable declarations float in my vision when I close my eyes

next timber
#

lol

#

good night mr kino

zealous glen
#

@hushed field Goodnight Ice (Balatro Goes Mimimi)

next timber
zealous glen
next timber
#

doesnt seem like a very hard blind

zealous glen
#

It's not

hushed field
#

i'd go to sleep but i'mma watch a movie instead

zealous glen
#

It can make your run harder though

next timber
#

absolute cinema

zealous glen
#

or easier

zealous glen
sour marsh
next timber
#

the blueful blue joker:

zealous glen
sour marsh
#

hmmmm

#

it could be

hushed field
# zealous glen watch Inception

rewatched that recently, not gonna be it. Also too mad at Inception for being a hard to code joker that I still need to fix

next timber
#

hm, -5x normal mult isnt working either

#

just ognna test that positive 5 does work

zealous glen
hushed field
#

why is nobody working on a duck tales mod???

zealous glen
#

new DuckTales or old DuckTales

next timber
#

cause we're too busy modding the stupidest bullshit

#

like. asbestos

sour marsh
zealous glen
#

I enjoyed new DuckTales but now I'm reminded I didn't finish the last season

zealous glen
hushed field
#

I really like the new ducktales, no clue about the old one, though

zealous glen
#

though very messy

next timber
zealous glen
long sun
#

hi! finally getting around to fixing Train Station

#

(first of all, ya, it needs nerfed to +1 Mult)

zealous glen
long sun
#

second, you can see what the error is :) lemme grab the code

sour marsh
harsh marten
#

what am I doing wrong?

calculate = function(self, card, context)
        if context.post_joker then
            self:set_edition("nil", true)
            return {
                xmult = card.edition.x_mult
            }
        end
    end
long sun
#

the ERROR is from this line:
localize(G.GAME.current_round.train_station_card.rank, 'ranks')

zealous glen
long sun
#

(also third thing, the ability should say "increases")

zealous glen
#

I don't want to make Water 2

tepid crow
long sun
#

(instead of changes)

zealous glen
#

and I don't want to copy random cards

next timber
zealous glen
tepid crow
#

I'm not sure that ever actually worked?

sour marsh
#

ok i had an idea just now

#

unrelated

long sun
#

this is the code that increases the rank (and in there is another Joker that you can ignore)

#

what am i doing wrong?

zealous glen
# sour marsh hmmmmm

I think there are better ideas; my issue is that those better ideas were implemented by Myst and/or Autumn

zealous glen
sour marsh
long sun
#

lemme remove the localisation function so i can see what it's passing in

zealous glen
zealous glen
#

but

onyx sonnet
#

im losing my mind

sour marsh
zealous glen
zealous glen
#

use card

#

this isn't vanilla

harsh marten
long sun
#

so in the collection, it says 2

zealous glen
sour marsh
long sun
#

hmm, beating a blind changed it to 4

onyx sonnet
long sun
#

ah i see. that's a bug i can fix

harsh marten
long sun
#

so then it's the localization function

zealous glen
thin anchor
#

all i did was add a song

onyx sonnet
long sun
#

it's really weird, because the game uses it like i'm using it

sour marsh
#

damnit i keep clicking the create thread button

harsh marten
humble dagger
#

could anyone help me out with how to code a consumable that gives an enhancement?

hushed field
humble dagger
harsh marten
#

okay so how am I actually supposed to remove editions on cards?

long sun
#

(how does that function work?)

#

(ah wait lemme try something. maybe i have to stringify it??)

#

(question mark??)

onyx sonnet
hushed field
#

The localize for ranks needs strings, yes

thin anchor
long sun
#

rightright

sour marsh
#

has anyone done a "reverse tarot" mod

long sun
#

so it's "2" = 2, "14" = Ace, right? just making sure

long sun
#

cheers ^^

next timber
sour marsh
#

damn

long sun
#

haha you're all geniuses!! thanks <3

sturdy compass
sour marsh
#

has anyone done alchemical symbol consumables?

long sun
#

yup

sour marsh
#

damn

thin anchor
zealous glen
zealous glen
old bane
#

oh goodness

zealous glen
#

I do think other people are using alchemical symbols now too

old bane
#

genuinely this effect is so op im glad i thought of it

minor magnet
#

im going insane

#

how do i not make it activate after the round ends

old bane
#

maybe add not context.end_of_round to your if statement?

#

unless you tried that

minor magnet
#

tried, the bastard stiill activates

next timber
#

ok so i've patched in negative mult

#

it works

#

however. there is literally no visual indicator that anything is happening

#

you just. lose all of your chips

#

immediately. no smoothing or anything just in 1 frame back down to 0

#

this is jank

#

like. really jank wtf

#

i should work ont his tomorrow

minor magnet
#

OK I FIXED THE THING FUCK YEAH

next timber
#

I FUCKING FORGOT

#

ALL CARDS HAVE X0 MULT BY DEFAULT

#

YOU CANT DO JACK SHIT ANYMORE

quartz ravine
#

x0 mult, lol!

#

I made this enchantment that drops the card down to 0.3x mult, then increases every time it is scored. it's a slpw burn

humble dagger
#

without the mod conv i should say

hushed field
#

Mod_conv is actually a tarot quality to chance the modification of a card. I suspect its there from before enhancements were called enhancements, and were called modifications instead

humble dagger
hushed field
#

Though, don't copy the if statement wrapped around it that checks the config, that's not applicable, haha

humble dagger
#

yeah i figured lol

#

well shucks thanks for the help at least i guess i just gotta hit it with a rock till i figure something out

hushed field
#

What's your tarot code looking like?

humble dagger
hushed field
#

If you show your tarot code, I can maybe see what you're doing wrong 😄

zealous glen
#

*tarot code

errant fulcrum
#

I gotta be doing something wrong here

    calculate = function(self,card,context)
        if context.main_scoring and context.cardarea == G.play and G.GAME.current_round.hands_played == 0 then
            if G.GAME.hands[context.scoring_name].level == 1 then
            local card = create_card('Planet',G.consumeables, nil, nil, nil, nil, nil, 'star')
            card:add_to_deck()
            G.consumeables:emplace(card)
            G.GAME.consumeable_buffer = 0
            return {
            true
                }
            end
        end
wintry swallow
#

Bit of a silly question but I figured this was the chat for that

#

If I make a silly music replacement pack, do all the tracks need to be the same length

#

Or can they be different

dense adder
#

is there something to increase the amount of cards in a booster as well as extra choose?

thin anchor
#

how would i play a sound when a joker is triggered?

harsh marten
#

can I spawn a booster pack in the shop using debug plus?

hushed field
#

Yes

harsh marten
#

how?

zealous glen
humble dagger
#

and th mod conv lines up with the enhancement key

wintry arch
#

how easy is it to implement things that save your run like mr bones

#

like, say, vouchers or tags that do such a thing

hushed field
tall apex
#

hi ice :3

hushed field
maiden river
#

somehow, some way, I fixed it

#

I have no clue what did it

#

actually I think I kept changing G.GAME['fvb_personality_rate'] instead of G.GAME['fvb_personality_mod']

manic rune
#

how do i make my mod compatible with talisman again?

primal robin
#
to_big = to_big or function(x) return x end
analog spoke
#

I'm trying to learn how to make shaders, and I've finally actually, like, made a shader, and I was gonna port it in before realizing it's not the right type of shader lmao 😭
like, I don't know how to translate any of this into the stuff I see in the balatro shaders as the text appears different lmao, any tips for shader making for someone who's just started lmaooo hehe :333

#

I love to, like, print this effect in someway ontop of a joker with an edition, but I don't even think my shader is the "print on top of" kind of shader lmaoooo

zealous glen
#

A Tag might be hard

#

but Idk how Tags work

tall apex
#

questione c:

humble dagger
zealous glen
#

I'm getting too tired

rapid stag
#

does anyone know off the top of their head what the function is to remove the last X amount of characters from a given string is?

zealous glen
#

maybe sub works

wintry arch
#

lua's string.sub

minor furnace
#

now, I've gotta hunt down the part of the code that says if you have no cards in your hand or your deck you lose

manic rune
primal shoal
#

thoughts?

zealous glen
#

interesting

#

complex tho

minor furnace
humble dagger
rapid stag
#

i mean, i think it should also show the current -hand size in current, but i guess you can also just check that by looking down

minor furnace
# primal shoal thoughts?

I might suggest phrasing it as "do not draw after discard" instead of the -1 hand size thing. I think the description is more intuitive this way

harsh marten
#

how do I spawn a specific booster in the shop using debugplus?

minor furnace
#

although, the game does force a draw if there a re 0 cards in your hand, so you'll have to worry about how that interacts with this I think

primal shoal
#

press 3 in the collection on the booster you want to spawn (in the shop)

limpid flint
#

Hi confused

primal shoal
#

when in the shop, go option-> collection->booster pack, hover over the desired booster, press 3 on your keyboard

harsh marten
#

are my modded packs supposed to show up in that menu?

primal shoal
#

yes

harsh marten
#

dang what's wrong with my booster code then?

SMODS.Booster{
    name = "Arsenal",
    key = "arsenal",
    kind = "Guns",
    atlas = "Arsenal",
    pos = { x = 1, y = 0 },
    config = { extra = 3, choose = 1 },
    cost = 999,
    order = 4,
    weight = 0,
  draw_hand = false,
  unlocked = true,
  discovered = true,
  no_collection = true,
    create_card = function(self, card, i)

    -- force pack_choices to 1
    G.GAME.pack_choices = 1

    local gun_cards = {'Sniper', 'Pistol', 'SMG', 'Shotgun'}
    local temp_card = {area = G.pack_cards, key = gun_cards[1 + (i-1)%6], no_edition = true, skip_materialize = true}
    return SMODS.create_card(temp_card)
    end,
    loc_vars = function(self, info_queue, card)
        return { vars = { card.config.center.config.choose, card.ability.extra - 1, 1 } }
    end,
  in_pool = function(self)
    return false
  end,
    group_key = "k_arsenal_packs",
}
native zinc
#

doth confused

primal shoal
#

card in that context is self right?
if G.jokers.cards[i] == card

native zinc
#

oop

#

yes

minor furnace
#

it may be a more productive use of my time to ask if anyone knows where the code that loses a run is

primal shoal
rapid stag
#

i would like to turn all of these red buttons blue

but after poking through ui_definitions.lua post patches and trying to patch in some changes myself, i can't seem to make it change from red. cirLost what should i do?

minor furnace
#

Hu Cards

red flower
#

the patch doesn't seem hard

marble flint
harsh marten
# primal shoal no_collection = true make it no appear anywere you can spawn it

It crashes when I open the pack

SMODS.Booster{
    name = "Arsenal",
    key = "arsenal",
    loc_txt = {
        name = "Arsenal Booster Pack",       -- Shown on the pack opening screen.
        group_name = "Arsenal",              -- Group text (bottom text) for the pack.
        text = { "Get your arsenal of guns!" }  -- Description.
    },
    kind = "Guns",
    atlas = "Arsenal",
    pos = { x = 0, y = 0 },
    config = { extra = 3, choose = 1 },
    cost = 999,
    order = 4,
    weight = 0,
  draw_hand = false,
  unlocked = true,
  discovered = true,
  no_collection = false,
    create_card = function(self, card, i)

    -- force pack_choices to 1
    G.GAME.pack_choices = 1

    local gun_cards = {'Sniper', 'Pistol', 'SMG', 'Shotgun'}
    local temp_card = {area = G.pack_cards, key = gun_cards[1 + (i-1)%6], no_edition = true, skip_materialize = true}
    return SMODS.create_card(temp_card)
    end,
    loc_vars = function(self, info_queue, card)
        return { vars = { card.config.center.config.choose, card.ability.extra - 1, 1 } }
    end,
  in_pool = function(self)
    return false
  end,
    group_key = "k_arsenal_packs",
}```
dense adder
#

is there any documentation to how to increase the amount of boosters in a shop

primal shoal
# harsh marten It crashes when I open the pack ```lua SMODS.Booster{ name = "Arsenal", ...

code i used for testing

SMODS.Booster{
    loc_txt = {
        name = "Arsenal",
        text = {"description"}
    },
    key = "arsenal",
    atlas = "booster",
    pos = { x = 1, y = 0 },
    config = { extra = 3, choose = 1 },
    cost = 999,
    order = 4,
    weight = 0,
    draw_hand = false,
    unlocked = true,
    discovered = true,
    no_collection = true,
    gun_cards = {'Sniper', 'Pistol', 'SMG', 'Shotgun'},
    create_card = function(self, card, i)
        local temp_card = {key = self.gun_cards[1 + (i-1)%6],
            no_edition = true,
            skip_materialize = true}
        return(temp_card)
    end,
    loc_vars = function(self, info_queue, card)
        return { vars = { card.config.center.config.choose, card.ability.extra - 1, 1 } }
    end,
    in_pool = function(self)
        return false
    end,
    group_key = "k_arsenal_packs",
}
minor furnace
red flower
harsh marten
primal shoal
harsh marten
primal shoal
#

same error?

dense adder
harsh marten
red flower
dense adder
#

maybe, im trying to have one extra while held by a joker

primal shoal
rapid stag
#

...are you guys SURE that pattern in the patcher has to be the entire line? cirLost

red flower
harsh marten
dense adder
#

Not sure whrere that would fit in here

    
    calculate = function (self, card, context)
      SMODS.change_booster_limit(card.ability.extra.bonus)

end
red flower
#

use add_to_deck instead of calculate

primal shoal
dense adder
#

ahhh

#

that makes sence

native zinc
#

lies and slander (it still proc'd, my blueprint code is fine, just not the disc)

#

ignore my pretty sample art

harsh marten
primal shoal
#

try this return { vars = { card.ability.choose, card.ability.extra - 1, 1 } }

humble dagger
#

what would i have to add to my smod code to enable me to have 2 seals on top of each other like this?
like how can i remove the 1 seal per card limit?

warped marsh
#

SMODS.add_card({ key = "c_fool" }
what would it be for a random tarot card?

red flower
#

set = "Tarot"

warped marsh
#

instead of key?

red flower
#

yeah

warped marsh
#

thank you <3

primal shoal
#
    loc_txt = {
        name = "Arsenal",
        text = {"description"}
    },
    key = "arsenal",
    atlas = "Arsenal",
    pos = { x = 1, y = 0 },
    config = { extra = 3, choose = 1 },
    cost = 999,
    order = 4,
    weight = 0,
    draw_hand = false,
    unlocked = true,
    discovered = true,
    gun_cards = {'Sniper', 'Pistol', 'SMG', 'Shotgun'},
    create_card = function(self, card, i)
        local temp_card = {key = self.gun_cards[1],
            no_edition = true,
            skip_materialize = true}
        return(temp_card)
    end,
    in_pool = function(self)
        return false
    end,
    group_key = "k_arsenal_packs",
}

i think you just gotta return the full key now

primal shoal
#

aka
j_[modprex here]_Pistol

harsh marten
#

i did gun_cards = {'j_bulletro_Sniper', 'j_bulletro_Pistol', 'j_bulletro_SMG', 'j_bulletro_Shotgun'},

primal shoal
#

is bulletro your prefix?

harsh marten
dim fiber
#

Is it possible to change or add code to the card add_to_deck function?

primal shoal
#

like in vanilla jokers?

primal shoal
# harsh marten yep

just for test stuff can you change the temp card to this

            no_edition = true,
            skip_materialize = true}
dim fiber
dense adder
noble schooner
#

should I make a meme joker that's just 0x mult and 0x chips

#

and costs $69 in shop

primal shoal
minor furnace
#

I finally found the code that kills you

#

I think

primal shoal
harsh marten
primal shoal
#

thx

native zinc
#

i don't like it when i search up questions and they and up having no replies on stackexchange so i always post my fixed code lmao. config center blueprint_compat

#

this is alsop how i end up learning diet soda is compatible

errant fulcrum
#

I do so much searching in this channel

mint island
#

Anyone have any custom decks I can download and try?

native zinc
#

but im pr sure there's a git thing

#

with a lot of mods

tall wharf