#đŸ’»ăƒ»modding-dev

1 messages · Page 426 of 1

hallow slate
#

Which context is used for after scoring? context.after?

maiden phoenix
#

It's one of them yes

hard flume
#

It's not working, I dont think. It's not crashing, but nothing is happening

maiden phoenix
#

Put a print in there see if it exists at least

hard flume
#

Nope, i don't think it exists how i have it right now

pure salmon
#

why does this randomly destroy multiple cards

daring fern
#

So it would be getting a different random card every time.

pure salmon
#

oh i see. that makes sense

pure salmon
#

can you use config extra on blinds?

#

blind.ability.extra crashes and so does blind.config.extra

daring fern
rugged bane
#

Hey everyone, I was playing with Cryptid and almanac and wanted to only play with almanac (wich now I know is impossible), but now I can't even launch the game because cryptid is not checked... I searched in the files to see where I could activate cryptid again to make it work but can't find it

rugged bane
#

In the cryptid file?

#

Like wich lovely ignore

daring fern
rugged bane
#

Kay thanks a lot!

molten musk
#
SMODS.Seal {
    key = 'RedBlue',
    pos = { x = 0, y = 0 },
    atlas = "Seals11_atlas",
    badge_colour = G.C.BLUE,
    calculate = function(self, card, context)
        if context.end_of_round and context.cardarea == G.hand and context.other_card == card and #G.consumeables.cards + G.GAME.consumeable_buffer < G.consumeables.config.card_limit then
            G.GAME.consumeable_buffer = G.GAME.consumeable_buffer + 1
            G.E_MANAGER:add_event(Event({
                trigger = 'before',
                delay = 0.0,
                func = function()
                    if G.GAME.last_hand_played then
                        local _planet = nil
                        for k, v in pairs(G.P_CENTER_POOLS.Planet) do
                            if v.config.hand_type == G.GAME.last_hand_played then
                                _planet = v.key
                            end
                        end
                        if _planet then
                            SMODS.add_card({ key = _planet })
                        end
                        G.GAME.consumeable_buffer = 0
                    end
                    return true
                end
            }))
            return { message = localize('k_plus_planet'), colour = G.C.SECONDARY_SET.Planet }
        end
    end
}```
want to repeat the seal twice if held in hand
#

@daring fern

pure salmon
#

am i stupid why does this not work

daring fern
molten musk
#

just not working or crashes?

pure salmon
#

does nothing

molten musk
#

what is it supposed to do exactly?

daring fern
daring fern
molten musk
#

@daring fern ??

#

ok..

molten musk
#

anyone here

#

so people are here

gray void
#

Well i probably have no idea

molten musk
#

u tried your best somthingcom

gray void
#

Im just curious what the seal supposed to do

hasty mist
#

yall would this work

molten musk
#

when in hand trigger twice, and give 2 planets

molten musk
gray void
hasty mist
molten musk
#

yes, but also if u enhance card to steel or gold it will also trigger twice

#

so half of the red seal effect is still there

molten musk
#

no 2 planets

final monolith
molten musk
#

it gives 1 planet per trigger

daring fern
molten musk
#

and it trigger twice

gray void
molten musk
#

its exacly like a red seal, but doesnt trigger when played

hasty mist
#

okay it does not work fuck

gray void
#

I can only say, using a loop to retrigger itself?

molten musk
#

thought of that, but the game uses "retrigger" function so i wanna implement that if possible

gray void
#

Oh

daring fern
hasty mist
#

oh you are right

#

i edited the function for easier readability and forgot to edit the joker to match

vale glen
#

Oh yeah, line 74 has arrow called, but not defined

#

Maybe it wanted to be score_mod.arrow

hasty mist
#

well this was the original code, which worked just fine before

#

now that im migrating it to a function, i need to figure out what's wrong

#

most of the new function wasn't written by me so i'm having to fiddle with it myself

vale glen
#

Where is arrow on line 74 defined?

hasty mist
#

i'm not sure, i'm guessing somewhere in talisman

#

again, it worked here in the old code

unborn bay
#

theres your problem

#

it needs to be a big number

final monolith
#

Is anyone able to help with dealing with booster packs? I'm trying to replace the packs in the shops with a joker

hasty mist
#

ah, works now

vale glen
final monolith
daring fern
final monolith
#

I want to replace the booster packs in the shop with the Mega version

#

It doesn't sound very hard in logic but I can't find the right syntax

final monolith
daring fern
final monolith
#

Idk where to start lmao

#

Does cryptid have something similar so I can check the code

final monolith
#

Damn

hasty mist
#

why doesn't it let me do this (before you ask lua extension doesnt tell me enough information to fix it)

#

this is why i hate return statements

daring fern
hasty mist
#

that's not what's crashing though

daring fern
final monolith
pure salmon
#

wtf i have no idea why this does nothing

#

context.before and context.main_eval never evaluates to true... even though it should?

pure salmon
#

yeah that works, but i'm not sure why if a main_eval check works here

daring fern
pure salmon
#

do blinds not have context.main_eval? huh

daring fern
#

Jokers and similar are the only ones that have it.

pure salmon
#

makes sense

final monolith
#

Sorry for asking again but could anyone help me with the booster pack thing?
Can I change the "size" of the pack directly or do I need to do it some other way

final monolith
daring fern
wise terrace
#

Hi, I think I may have found an algorithm to detect straights with multi-rank cards

#

I do have it implented, but its in c++ tho

#
Put all cards and thier possible ranks as pairs in a new array (card_ranks)
Sort card_ranks in ascending order by ranks
have an array representing the longest straight for each card_ranks (set to 1 initially)
for every card_rank
    check all the card_ranks behind it and see if it can make a straight chain
    (not the same card, rank gap is bigger than 0 but less than 1 (2 for shotcut))
    update the longest_striaght with the max of the current and longest striaght of the previous one + 1
if theres is a longest striaght bigger than or eq to 5 or 4 (for 4 fingers) or 6 if you did that in your mod
then the hand has straight
final monolith
wise terrace
final monolith
# daring fern

Self.ability.extra works in the sense that now I can set the number or cards in the booster

#

But if possible I'd like to just spawn a mega pack

daring fern
final monolith
#

So the best bet is to set the number of cards to 5 and choices to 2

final monolith
#

I'm gonna try to set the choices to 2 then now

final monolith
wise terrace
final monolith
#

Is there an equivalent to self.ability.extra?

daring fern
final monolith
# daring fern

At the start it says
G.GAME.pack_choices = self.ability.choose or self.config.center

#

Can I use either of those 2?

#

Like, self.ability.choose sounds like the equivalent of self.ability.extra for the number of cards

final monolith
#

Alright😭

#

Atm the issue seems to be another one, with the if statement

#

self.ability.choose works perfectly, but if I put multiple of those in the if statement then it breaks

#

Ok the only issue is that I don't know Lua lmao I figured it out

long sun
#

can patches be applied mid-line, or does the line need to be fully replaced?

final monolith
#

What's the syntax for no edition/no modifier/no seal?

#

Basically default cards with no modifier

wintry solar
wise terrace
# wintry solar Interested in this, what some of input structure are you needing?

I actually just made an issue with smods here: https://github.com/Steamodded/smods/issues/758

It just need a list of ranks assuming ranks have ordering and given any two ranks we can find their distance (for shortcut related stuff)

GitHub

I've wanted quantum ranks for the longest time, but I heard there was an issue with detecting straights, I have an algorithm that might work but I haven't tested for edge cases and the like...

#

and for a given card we can get all the possible ranks of it to put in an array

molten musk
#

hello

final monolith
#

hello

wintry solar
molten musk
#
    calculate = function(self, card, context)
        
        if context.end_of_round and context.cardarea == G.hand and context.other_card == card and #G.consumeables.cards + G.GAME.consumeable_buffer < G.consumeables.config.card_limit then
            G.GAME.consumeable_buffer = G.GAME.consumeable_buffer + 1
            G.E_MANAGER:add_event(Event({
                trigger = 'before',
                delay = 0.0,
                func = function()
                    if G.GAME.last_hand_played then
                        local _planet = nil
                        for k, v in pairs(G.P_CENTER_POOLS.Planet) do
                            if v.config.hand_type == G.GAME.last_hand_played then
                                _planet = v.key
                            end
                        end
                        if _planet then
                            SMODS.add_card({ key = _planet })
                        end
                        G.GAME.consumeable_buffer = 0
                    end
                    return true
                end
            }))
            return { message = localize('k_plus_planet'), colour = G.C.SECONDARY_SET.Planet }
        end
    end
}```
want to retrigger when held in hand
#

any ideas?

zealous glen
wise terrace
molten musk
#

tried adding this in calculate lua if context.repetition and context.cardarea == G.hand then return {repetitions = 1} end

#

but didnt work

wise terrace
zealous glen
#

I remember Aure bringing that up at least

#

Because it’s the vanilla behaviour

wise terrace
zealous glen
#

I think you could have more

#

With Shortcut and Four Fingers

wise terrace
#

the only other option would be just an exhaustive search

zealous glen
wise terrace
wise terrace
zealous glen
#

Actually maybe only 3

#

[A, 3, 4, 5], [A, 2, 4, 5], and [A, 2, 3, 5] at least

wintry solar
#

I think it would contain the 5 card version too

zealous glen
#

I don’t think Shortcut can omit the edges

#

Oh, of course

wise terrace
zealous glen
#

So 4 Straights at least

final monolith
#

Does anyone know if there's a term for no modifier (like 'm_stone')?

long sun
#

does SMODS.find_card work with redeemed vouchers?

wise terrace
#

If you'd need all possible straights its just brute force no?

zealous glen
zealous glen
final monolith
gaunt thistle
#

it gets more complex obviously thanks to dynamic hand size n such

zealous glen
wise terrace
#

ohh mb sorry

#

I see it now

gaunt thistle
#

use a really big lookup table

zealous glen
#

SMODS would need to handle a bigger graph

final monolith
zealous glen
#

So even brute force on a simple graph wouldn’t be a big deal

zealous glen
#

I don’t think that’s efficient though

wise terrace
zealous glen
#

In vanilla it’s not too bad because the graph is constant

molten musk
#

i was forgotten YoiCry

zealous glen
#

So I think it’s close to O(played cards)

zealous glen
wise terrace
zealous glen
final monolith
red flower
final monolith
molten musk
#
    calculate = function(self, card, context)
        
        if context.end_of_round and context.cardarea == G.hand and context.other_card == card and #G.consumeables.cards + G.GAME.consumeable_buffer < G.consumeables.config.card_limit then
            G.GAME.consumeable_buffer = G.GAME.consumeable_buffer + 1
            G.E_MANAGER:add_event(Event({
                trigger = 'before',
                delay = 0.0,
                func = function()
                    if G.GAME.last_hand_played then
                        local _planet = nil
                        for k, v in pairs(G.P_CENTER_POOLS.Planet) do
                            if v.config.hand_type == G.GAME.last_hand_played then
                                _planet = v.key
                            end
                        end
                        if _planet then
                            SMODS.add_card({ key = _planet })
                        end
                        G.GAME.consumeable_buffer = 0
                    end
                    return true
                end
            }))
            return { message = localize('k_plus_planet'), colour = G.C.SECONDARY_SET.Planet }
        end
    end
}```
#

want to retrigger when held in hand
any ideas?

wise terrace
red flower
zealous glen
wise terrace
#

what thread?

final monolith
#

I assume the same works for editions or anything

red flower
#

no

final monolith
#

I mean the 'next'

red flower
#

no

final monolith
#

Damn

zealous glen
red flower
#

card.edition is nil if it doesn't have an edition

wise terrace
zealous glen
#

Of course

#

You’re not the first to want Quantum Ranks

wise terrace
#

lmao

red flower
long sun
#

grand, thanks ^^

zealous glen
#

Or iterate over the Voucher CardArea manually

graceful brook
#

Can anyone tell me what "loop in gettable" means as a crash error?

zealous glen
#

Oh wait that’s Ghost Salt

long sun
#

yello ^^

zealous glen
#

I didn’t recognize you

graceful brook
#

I wrote a little language mod to replace some joker names a month or so back, and steammodded seems to have broken it

#

and idk why

molten musk
#

forgotten again TTCry

long sun
#

ah, SMODS.find_card seems to find it :D

#

cheers ^^

molten musk
#

someone help me please YoiCry

graceful brook
#

ok now I'm even more confused
I'm now getting the same crash with other language mods, even though 10 minutes ago they started fine

buoyant iron
#

does anyone have a ipa with lovely injected that works with sideloading?

graceful brook
#

I am exceedingly lost, I have done a full reinstall of lovely, smodded and the mods now and I can't get it to work anymore

umbral zodiac
#

does anyone know what function i would have to hook in order to change the loc_txt description of any joker

summer furnace
#

I'm trying to add a custom tarot card, but the game crashes, with this crash code. Could someone please help me?

    set('tarot')
    key = 'rfool',
    loc_txt = {
        name = 'looF ehT',
        text = {                
                "Creates looF ehT"
        }
    },
    atlas = 'rtarot',
    path = {x = 10, y = 0},
    cost = 3,
    calculate(self, info_queue, context) 
        local card = SMODS.add_card({key = 'c_rfool'}),
        card:add_to_deck()
        G.consumeables:emplace(card)
        used_tarot:juice_up(0.3, 0.5)
    end
}```
graceful brook
#

huh, i guess that worked? I'm not sure why but removing the dependency tag made it load properly

fallow condor
#

It crashes everytime I add info_queue[#info_queue+1] = G.P_CENTERS.j_inm_grooster because of sell_cost...

#

it doesn't crash when I remove it

#

(info_queue thing is for joker information and other stuff when you hover over it)

#

it was working before

maiden phoenix
fallow condor
#

oh

#

well

#

that could make a lot of sense

maiden phoenix
#

Sorry I keep modifying

fallow condor
#

nw

maiden phoenix
#

But basically card.sell_cost might not exist

fallow condor
#

I appreciate the help

#

in the math.floor, right?

maiden phoenix
#

Uuuh not put the math.floor with the division

fallow condor
#

oh

#

card.sell_cost, 1+ math.floor(card.sell_cost/5) ....?

maiden phoenix
#

... (card.sell_cost and (math.floor(card.sell_cost / 5)) or 0) ...

fallow condor
#

Tysm

#

it works now

molten musk
wise terrace
#

@zealous glen dfs works
example

wise terrace
wise terrace
#

ok I fixed the repitition

fallow condor
#

Is there a context for when the joker is bought?
(only the joker itself, not other things)

#

can't seem to find one in the wiki

maiden phoenix
# molten musk

Why not make it give an x (x = repetitions) amount of planet?

#

Like instead of creating 1 card

fallow condor
maiden phoenix
#

Tho I think I can see how it might break

maiden phoenix
#

You can check the bought card if it's a Joker

#

within context.card

fallow condor
#

I mean only the joker itself

#

oh

#

like that

maiden phoenix
#

Oooh wait when the joker itself is bought?

fallow condor
#

yes

#

only itself

maiden phoenix
#

You need to use an add_to_deck function then

#

instead of calc

fallow condor
#

ah

maiden phoenix
#

Looks like this

fallow condor
#

nvm

fallow condor
maiden phoenix
#

Yes

fallow condor
#

thx

maiden phoenix
#

And you don't return stuff

#

And there's no context check

molten musk
#

how does retrigger animation work in balatro?

maiden phoenix
#

You can have both add_to_deck and calculate

molten musk
#

like how do i make it show?

maiden phoenix
#

Try specifing the returned card?

molten musk
#

wil try....

fallow condor
#

wasn't it somthing like this? ```extra = { message = localize('k_upgrade_ex'), colour = G.C.MONEY },````

#

but with retrigger instead of upgrade

maiden phoenix
#
return {
  repetitions = 1
  card = context.other_card
}
#

or sum like that

fallow condor
#

I'm guessing it doesn't matter

maiden phoenix
fallow condor
#

W

#

it works

#

❀

maiden phoenix
#

Be careful tho, if you don't account for debuffed, the function will trigger again when it's undebuffed

#

That's why from_debuff is a param

fallow condor
#

oh

signal rose
#

bump

hard flume
#

Hmm... I'm still struggling to get Genders to apply to ALL decks at the start of the run.

#

I guess for now, I could just make a custom deck that has genders apply to all playing cards

wise terrace
wise terrace
proud ridge
#

is debugplus the only mod development tool or are there more

shell timber
fading sage
#

why does this happen?

hard flume
primal terrace
#

Trying to figure out how to make the pseudorandom_element NOT pick the same item in a list twice

daring fern
hard flume
daring fern
#

Also card would be v

red flower
fading sage
daring fern
fading sage
#

the issue is that it crashes because when you start the game G.deck = nil so pairs(G.deck) fails

hard flume
fading sage
#

you can use a if statement like this:

local apply_ref = Back.apply_to_run
function Back:apply_to_run(self, args)
if G.deck then
for k, v in pairs(G.deck) do
SMODS.Stickers["canfi_gender_applier"]:apply(card, true)
end
end
apply_ref(self, args)
end

proud ridge
#

does anyone know how to easily access balatro's code to look at it?

fading sage
daring fern
proud ridge
daring fern
fading sage
#

I used 7zip

proud ridge
#

will extracting the source code mess things up with the application itself?

#

or i mean unzipping it

lament agate
#

how do you add additional tabs for your mod page again

daring fern
karmic sand
#

config = { chips = 50, mult = 15 },
and

        return { vars = { self.config.chips, self.config.mult } }
    end,```
#

im working on edition

#

why wont this work

hard flume
daring fern
karmic sand
manic rune
karmic sand
#

lemme try

manic rune
#

-# i dont have access to the documentation rn, and im a bit of a hurry so

#

also, it should be card.edition.chips, card.edition.mult in this case, i think?

karmic sand
#

I was using the documentation as reference and it only had self so thats why i was wondering

daring fern
manic rune
#

o

#

ye got it

wintry swallow
#

How do I leave the generation of these two random letters?

#

func = function()
SMODS.add_card {
key = 'c_temperance', 'c_death',
skip_materialize = false,
}
G.GAME.consumeable_buffer = 0
return true

obtuse silo
#

once again

#

i need help on creating a consumable type because apparently this causes the game to crash when I look at it

proud ridge
#

would it be better to make a copy of the balatro exe to unzip?

obtuse silo
#

that's engine/ui.lua and it points to parallax or whatever
maybe i still need to set the consumable set to modprefix_calculator

signal rose
#

just checked and for me its pointing at self.config.colour[4], which would throw an error if it doesnt exist

obtuse silo
#

because right now it has no reference card to put in it
since there are no cards relating to the consumable
it can't display the thing

#

from changing the consumable's set to modprefix_calculator

#

it now crashes on startup

#

there's no pool
idk what to do

karmic sand
runic storm
#

Good morning all! Super new to discord so my apologies if my questions are in the wrong place. Am I allowed to paste small bits of code in here to ask why they don't work?

lament agate
#

im as confused as you

runic storm
#

oh you're in here too lol

#

{
"id": "weakness",
"name": "Weakness",
"version": "1.0.0",
"author": "Lex",
"main_file": "main.lua",
"dependencies": ["smods-main"]
}

#

i'm constantly getting an author error

frosty dock
#

AI doesn't know jack shit about the Balatro code base or how smods and lovely work

signal rose
#

author has to be ["Lex"]

runic storm
#

that is becoming apparent to me 😄

#

author has to be an array?

signal rose
#

yea

frosty dock
manic rune
#

omg hi aure

runic storm
#

John, ty for that link!

frosty dock
#

omg hi bepis

manic rune
signal rose
#

btw bepis any idea on this bc it randomly sort of broke and idk why

#

it was working fine then randomly started doing this

frosty dock
#

that looks like something that's being passed into your function isn't shaped how you expect it to be

frosty dock
signal rose
#

my main confusion is it was working, then i ran --dump-all once and it started doing this and even after deleting the lovely folder its still doing the error, idk if its that or just a coincidence but its confused me massively

signal rose
frosty dock
#

hm might just be malformed UI code then

lament agate
#

what object exactly?

runic storm
#

omg progress! the array thing helped it move on from author, then it had a prefix error, and I fixed that too. It actually loaded!

#

though it has a red exclamation point now lmao

zealous glen
obtuse silo
signal rose
frosty dock
signal rose
#

i mean if you want you can download and test it to see if its an issue of something i did on my computer (though it really shouldnt be) but i still have 0 clue why it suddenly started doing the error after working for like 2 weeks

runic storm
#

My mod is sort of loading now, but Lovely is showing me this error: [G] 2025-06-11 11:13:28 :: TRACE :: Loader :: Mod weakness was unable to load: Missing Dependencies: 1: SMODS

signal rose
#

dont even think i changed anything before it broke other than --dump-all

signal rose
runic storm
#

"dependencies": ["SMODS"],

signal rose
#

ah okay, should be something like this

        "Steamodded (>=1.0.0~ALPHA-0321b)"
    ],```
runic storm
#

or are you asking me why it's listed as a dependancy?

#

oh wow, that's very diferent lol

signal rose
#

yeah makes it have to be past a certain version, though that is quite an old one

runic storm
#

do I need to rname my SMODS folder to that same name?

signal rose
#

no

runic storm
#

okay, here we go again 😄

signal rose
#

it reads the smods json to get the name then checks the version

runic storm
#

OMFG

tepid crow
#

you can also just do "Steamodded" if you don't want a minimum version

runic storm
#

Y'all are the best!

signal rose
#

fully working?

runic storm
#

dunno if it works yet, but there are no errors loading lmfao!

signal rose
#

fair enough 👍

runic storm
#

i guess i play and see if i can find the new card?

tepid crow
#

would it not be in the collection?

runic storm
#

and if it works, my next question will be hwo the heck has nobody created this tator card before lol

#

Lars: good question, i'll go hceck

#

oh snap, that was bad

#

it said there was a new card in the collection, but it crashed when i want to find it lol

#

do I need to make code for the actual card to?

#

my main.lua is just the code for the card i think. not sure about the artwork etc.

obtuse silo
empty coral
#

what could be causing rankless cards? lol

tall apex
#

yo could i get a point in the direction of making my first consumable / consumable type? c:

runic storm
#

engine/sprite.lua:11: attempt to index field 'atlas' [a nil value] followed by a bunch of dump-like stuff

whole lava
#

how can i get a card's suit?

signal rose
empty coral
obtuse silo
signal rose
#

yeah just in the SMODS.Consumable()

obtuse silo
tall apex
obtuse silo
#

maybe it's because i'm using mintconditioncards_calculator instead of just calcualtor

tall apex
signal rose
empty coral
#

didn't mean to offend my fren

plush vault
tall apex
tall apex
empty coral
#

There was the big chance my message could be not helpful at all, but I sent it anyway

signal rose
tall apex
#

i need to make like 4 dif consumables each with functional casting costs and effects X3

zealous glen
tall apex
obtuse silo
tall apex
#

telling tone is hard for me online . w.

zealous glen
plush vault
#
[SMODS _ "src/utils.lua"]:228: Attempted to insert object "c_destino_entropico_sevenSpades" into an empty pool.```

May I ask whats the call for the vanilla tarot/shop pool? :'>
zealous glen
#

didn't you have a different name

signal rose
tall apex
#

yes i use a new username

zealous glen
zealous glen
hard flume
#

Hiiii

tall apex
hushed field
hard flume
#

I got Genders working finally! That's one thing down.

tall apex
#

bcos silly

obtuse silo
tall apex
signal rose
zealous glen
signal rose
empty coral
#

balatro the gathering

hard flume
#

Id show yall an example, but I'm currently on my way to the zoo

empty coral
#

Enjoy your visit :D

#

I don't know if this would be the right place to ask for help with a problem configuring a modpack

signal rose
#

what version of smods are you on minty?

tall apex
obtuse silo
empty coral
#

would you add like a 5th suit for that?

karmic sand
#

Hi I'm still struggling with my edition, I have
config = { chips = 50, mult = 15 },

        return { vars = { card.edition.chips, card.edition.mult } }
    end,```
yes despite this it doesnt seem to be adding the chips or mult to the score
hard flume
#

I'm still hoping to get Pikmin working relatively soon. I might have to redo some of my ideas

zealous glen
empty coral
karmic sand
runic storm
#

Much appreciattion for the earlier assistance. will be back for more!

empty coral
#

anybody knows a workaround or fix for
A. Cartomancer crashing on deck view (specifically trying to load a 2nd page)
B. Some extra deck mods freak out when there's extra suits defined

c and less important, cartomancer crashing while (i believe) trying to display the amount of suitless&rankless cards. just by hovering over the deck view screen button

tall apex
#

idk how else it'd work

gleaming drift
#

Yall does anybody know how to make my jokers not appear in the shop?

#

Like i made a legendary but bro still appears in the shop

#

And "in_shop = false," does not work

wintry solar
#

Legendaries dont appear in the shop at all by default

gleaming drift
#

Well for some reason my does

wintry solar
#

Do you have a mod that enables that?

worthy stirrup
#

How do i make my scoring compatible with talisman?

            local chips = G.GAME.chips
            local blind_chips = G.GAME.blind.chips

            local progress = math.min(chips / blind_chips, 1)
            print(progress)
            local color = Lerp_color("#fd5f55", "#3cb4ff", progress)
            self.boss_colour = HEX(color)
        end
gleaming drift
#

Just my mod and some quality of life mods. Thats it

junior imp
#

how to make a mod?

turbid maple
#

obligatory kitten image

whole lava
#

anyone know how to trigger context.destroy_card for the cards you want to remove ?

turbid maple
#

when are you trying to destroy cards exactly

whole lava
#

i mean after scored

turbid maple
#

the game should trigger it by default?

whole lava
#

ok thanks:))

subtle merlin
wise terrace
turbid igloo
#

im making a joker is there a way to check if cards are played like the reserved parking but for every card?

manic rune
plush vault
#
-- Tarot
SMODS.Consumable{
    key = 'sevenSpades',
    loc_txt = {
        name = 'Seven of Coins',
        text = {
            "Add a -7 of spades",
        }
    },
    atlas = 'Tarots', -- atlas' key
    rarity = 1,
    cost = 3,
    unlocked = true,
    discovered = true,
    blueprint_compat = true,
    eternal_compat = true,
    perishable_compat = true,
    pos = {x = 0, y = 0},
    set = "Tarot",

    can_use = true, -- How does this work :sob:

    -- Main function of the tarot
    calculate = function(self, card, context)
        if context.using_consumeable and (card == 'c_destino_entropico_sevenSpades') then -- Check if the tarot is being used
            local new_card = {set = 'Card', area = G.deck, key = '7s'}, -- Create a 7 of spades... I hope
            SMODS.add_card(new_card) -- Add it?
        end
    end,
}
wise terrace
hushed field
modern kindle
#

also i barged into modding chat but good schmorning chat

#

hi ice my goat i havent seen you in many moons

hushed field
#

@red flowerAre extra deck jokers able to be sold from the extra deck? I'm correctly remembering that they are, right?

hushed field
subtle merlin
modern kindle
zealous glen
hushed field
#

I'm trying to do the opposite 😛

zealous glen
hushed field
#

That should fully be the case, yeah, I don't see why it's not working on my end, haha

worthy stirrup
hushed field
#

but I'm more so just trying to parse the buttons code at this point

zealous glen
worthy stirrup
#

i dont understand why it would be, but how do i make it a non big number

turbid igloo
worthy stirrup
#

oh

normal crest
subtle merlin
subtle merlin
# turbid igloo like this?

Remove the last function, make a for I, card in ipairs(G.hand) do before the return and then it should be at least somewhat better

obtuse silo
hybrid shadow
#

530b is latest release iirc

subtle merlin
turbid igloo
#

for real?

obtuse silo
subtle merlin
plush vault
#

Im having some issues with making the function properly add a 7 of spades to the deck ;^;

Oops! The game crashed:
functions/common_events.lua:2165: bad argument #1 to 'ipairs' (table expected, got nil)


Stack Traceback
===============
(3) global C function 'ipairs'
(4) Lua global 'get_current_pool' at file 'functions/common_events.lua:2165'
Local variables:
 _type = string: "Playing Card"
 _rarity = nil
 _legendary = nil
 _append = nil
 _pool = table: 0x083cbec8  {}
 _starting_pool = nil
 _pool_key = string: "Playing Card"
 _pool_size = number: 0
(5) Lua global 'create_card' at file 'functions/common_events.lua:2319'
Local variables:
 _type = string: "Playing Card"
 area = nil
 legendary = nil
 _rarity = nil
 skip_materialize = nil
 soulable = nil
 forced_key = nil
 key_append = nil
use = function(self, card, area, copier)
        G.E_MANAGER:add_event(Event({ func = function()
                        local new_card = {set = "Playing Card", rank = 7, suit = spade}
                        SMODS.add_card(new_card)
                return true
                end 
                }))
    end,
obtuse silo
#

my issue lies in the fact that my consumable type is an "empty pool"

turbid igloo
hollow snow
#

how can i create an informative text on the side of my joker, like explaining what it does part 2

turbid igloo
lofty island
#

how do i make a joker gain mult depending on the type of hand that's played?

subtle merlin
turbid igloo
plush vault
# lofty island how do i make a joker gain mult depending on the type of hand that's played?

I actually worked on this today, let me share over my code:

--Jovial Merryment
SMODS.Joker{
    key = 'merryment',
    loc_txt = {
        name = 'Jovial Merryment',
        text = {
            "This joker gains {C:mult}+2{} Mult",
            "for every played {C:attention}High Card{}",
            "{s:0.7}{C:inactive}(Currently {C:mult}+#1#{C:inactive} mult){}"
        }
    },
    atlas = 'Jokers', -- atlas' key
    rarity = 1,
    cost = 5,
    unlocked = true,
    discovered = true,
    blueprint_compat = true,
    eternal_compat = true,
    perishable_compat = true,
    pos = {x = 2, y = 0},
    config = {
        extra = {
            mult = 0, --Mult that will count up
            mult_gain = 2 -- How much the joker gains per hand played
        }
    },
    
    loc_vars = function(self,info_queue,center)
        return {vars = {center.ability.extra.mult}} --This is to display the mult count on the description of the joker
    end,

    calculate = function(self, card, context)
    if context.before and (context.scoring_name == 'High Card') then --Before scoring + If the hand is high card
        card.ability.extra.mult = card.ability.extra.mult + card.ability.extra.mult_gain -- The new mult is mult+mult_gain (so X+2 every time)
        return {
            message = 'Upgraded!',
            colour = G.C.RED
        }
    end
    if context.joker_main then --This is when the joker scores at the top
        return {
            mult = card.ability.extra.mult --Adds the mult
        }
    end
    end
}```
lofty island
#

thx

acoustic briar
#

<@&1133519078540185692> scam

polar tulip
#

I'm sorry was that the right user

acoustic briar
#

the user id was 1092902813132144860

modern kindle
#

<@&1133519078540185692>

#

again

steady blade
#

IT WAS NOT THE RIGHT USER

acoustic briar
#

no it was

steady blade
#

oh so was this another one

plush vault
modern kindle
#

mods, kill that user

polar tulip
#

I'll go him lol

acoustic briar
#

you'll go him 👍

polar tulip
#

POV: sca, alert and it's 4 pictures of someone standing in fron of a presentation 😭

#

Sorry I have the worst keyboard. Straight up typewriter

acoustic briar
#

real

#

i need a new keyboard, it's a pain in the ass to remove and clean under keycaps so it's a crumb collector

polar tulip
#

and yes there was 2 scams back to back, he caught some shrapnel

#

time for rescue

snow vale
#

how can i give negative to a random joker?

acoustic briar
#

i think just looking at the game's code for ectoplasm would show you how

spice wadi
#

@snow vale look at VanillaRemade instead

snow vale
spice wadi
#

just making sure

subtle merlin
#

[name]

modern kindle
#

damn i never be seeing threads

plush vault
#

Whats the set/area call for playing cards? blatrospade

subtle merlin
plush vault
#

Thank you very much balatroheart

acoustic briar
#

for my own question, how i can have an event trigger when mipmap levels are changed? any sprites i manually change w/SMODS.Atlas + raw_key are reset to vanilla if mipmap levels are messed with

subtle merlin
#

G.GAME.blind.value?

subtle merlin
polar tulip
acoustic briar
#

? why'd you unban him?

#

that was the user id of the scammer

pulsar furnace
acoustic briar
polar tulip
#

Yeah I def banned someone i shouldn't have

plush vault
acoustic briar
#

are you sure?

acoustic briar
polar tulip
#

@steady blade can you weigh in.

acoustic briar
#

first scammer had a display name of pedro or smth

polar tulip
#

no that was actually after lol

subtle merlin
#

@pulsar furnace it shouldn't be? What context are you calling it in?

subtle merlin
pulsar furnace
polar tulip
subtle merlin
normal crest
polar tulip
#

I was unsure because it wasn't a link, and @pulsar furnace told me it was wrong

#

nope he is banished

pulsar furnace
#

wasnt me

plush vault
# subtle merlin That can't be where the error is coming from because it says `bad argument to ip...
-- Tarot
SMODS.Consumable{
    key = 'sevenSpades',
    loc_txt = {
        name = 'Seven of Coins',
        text = {
            "Add a 7 of spades to your deck",
        }
    },
    atlas = 'Tarots', -- atlas' key
    rarity = 1,
    cost = 3,
    unlocked = true,
    discovered = true,
    blueprint_compat = true,
    eternal_compat = true,
    perishable_compat = true,
    pos = {x = 0, y = 0},
    set = "Tarot",

    
    -- Main function of the tarot
    use = function(self, card, area, copier)
        G.E_MANAGER:add_event(Event({ func = function()
                        local new_card = {set = 'Card', area= G.deck, rank = 7, suit = spade}
                        
                        SMODS.add_card(new_card)
                return true
                end 
                }))
    end,
    
    can_use = function(self, card)
        return true
    end
}

I also did try with ```lua
local new_card = {set = 'Joker', area = G.jokers, key = 'j_destino_entropico_raraka', edition = 'e_negative'}

polar tulip
#

not martini syrr, @steady blade

hard flume
#

Hi :3

empty coral
#

helo

polar tulip
#

I need a new keyboard I feel like a stenographer

plush vault
#

I... uh...

Oh

hard flume
#

It's okay! Everyone makes mistakes like that

empty coral
#

Only if you never try

plush vault
normal crest
#

You're not using the smods version that has that feature if I had to guess

empty coral
#

i keep reading 530b is latest release

plush vault
#

I installed it yesterday /shrug

normal crest
#

Yeah the adding of playinf cards with add_card is on the dev branch of smods

#

Not out in a release yet

modern kindle
#

im on 0608b, but i use latest commit

steady blade
subtle merlin
plush vault
#

How should I go about adding a 7 of spades in 530b then? ;-;

steady blade
#

what do you need?

normal crest
#

You can go to the smods github and download the latest stuff by clicking the green Code button and then download zip

modern kindle
empty coral
polar tulip
normal crest
polar tulip
steady blade
#

oh that was just a slight joke message, mb

modern kindle
#

now hes really gonna be c+rashing out youre crazy my man

polar tulip
#

way too confusing for us mate we get pinged all day and never have context

modern kindle
#

yea i was under the assumption 3 people got banned, 2 scammers and 1 poor guy caught int he crossfire

plush vault
normal crest
#

Pass "Base" as the set

pulsar furnace
polar tulip
#

well, i think it's more of a "race" to get em first now lol

#

so we skim

native zinc
#

whac a scam

serene granite
#

hey i hate having to ask questions that seem simple, but i saw the steamodded guide and i found the way to add money to the player after the round is done, but i couldnt find how to add money through out the round itself, like after every hand, can someone point me in the right direction please

native zinc
#

just call the function

serene granite
#

ohh ok, so i just call that function whenever i want it to happen?

vale glen
#

You'll prolly want it in the right context for your needs, too

plush vault
normal crest
#

Yay

polar tulip
#

I had to do this all last night it was annoying. You also want the new lovely. dll in your dalatro directory

native zinc
#

calculate functions has a pretty ok documentation even if it's like missing 10 contexts

serene granite
#

ooh ok, im going to look through the vanilla modded examples to learn more

native zinc
#

wow

vale glen
#

For basic timings, you can look at the Calculate Functions page in the wiki and see various contexts there.

sturdy crescent
#

yooo lets go

native zinc
#

<@&1133519078540185692>

serene granite
#

is that a scammer?

native zinc
#

yes

normal crest
#

Yes

empty coral
#

pew pew

vale glen
#

Scambots really like showing up around this time, huh.

serene granite
#

weird

empty coral
#

no, he just wants to give you free money

wintry solar
sturdy crescent
#

hi chatters errr i have a joker that creates a tarot card but it crashes when it does add card, does anyone know why?

normal crest
tall apex
#

hey friends, can anyone tell at a glance why this isn't working quite right?

native zinc
#

it's add_card( {...} )

normal crest
#

You can skip the parenthesis if it's only one table argument

native zinc
#

it's not a returnable thing

tall apex
#

oh icic ty :3

tepid crow
polar tulip
#

i find it odd they changed the name from steammodded to smods

normal crest
polar tulip
#

Update

  • smods
  • Cryptid
  • Talisman
    -# ⚠ Make sure to remove the -main from the Talisman folder name. ⚠

Delete old folders before updating

(hint: use these links since they're always on the latest version)

⚠ ALSO ⚠

If you aren't on Lovely Injector 0.8.0 grab it here

tepid crow
empty coral
#

my first thought when i read the name

native zinc
#

i like how this copy paste includes cryptid and talisman

empty coral
#

then i learned it's named after the person

tall apex
sturdy crescent
#

ty for the help 😭 idk why i didnt update it when i started modding lmao

empty coral
tall apex
#

somethin somewhere is formatted wrong

normal crest
polar tulip
#

yeah you have to manually change the fil;e names

tall apex
tepid crow
#

yeah that's just cuz talisman is weird like that and nobody bothered to put in effort to try and fix it

normal crest
#

its the comma at the end of the first line

#

Also do #badges + 1 on both

polar tulip
#

and manually delete version . dll in the separate, balatro dir and paste the new version . dll from the lovely link

tall apex
normal crest
#

Sorry, I meant the comma at the end of line 10

tall apex
#

ah

#

neat, thanks, im still learning how these new arguments work c:

native zinc
#

the comma was for the return table

empty coral
#

took me several attempts to parse that nickname

#

(I was like "what's a Canicha" ???)

wintry solar
#

My recommended response in a situation like this would be something like “you can check out how vanilla uses create_playign_card or wait a week or so for the new smods release that’ll have the feature”. My plan is that there’ll be a new stable release every two weeks, and I’d recommend people use that instead of latest commit (unless you are prepared for reporting bugs of new features)

#

Whoops I removed the reply @normal crest

normal crest
#

Yeah I guess that was a better reply

wintry solar
#

It’s just much healthier for the wider scene to use releases instead of latest commit

native zinc
#

obviously?

empty coral
#

my B

gaunt thistle
#

have any of you guys encountered any regressions in lovely 0.8.0? I had one report in the lovely thread but I haven't seen anything else.

normal crest
gaunt thistle
#

we changed module injection timings which in theory could break backwards compatibility but it's not likely

gaunt thistle
#

word

wintry solar
normal crest
#

now I'm not sure

#

Oh nvm, create_card changes the set to either base or enhanced

#

I said nothing

tepid crow
fading sage
#

how can I give a card extra chip value? like for example if I play a ace of spades with a joker the value of the card goes from "+11 chips" to "+21 chips"

tepid crow
#

like hiker?

spice wadi
#

i mean its possible but i cant tell you how exactly

fading sage
spice wadi
fading sage
#

oh thanks

hollow snow
#

guys how can i add an info_queue that gives information on the edible keyword, i don't want to do a consumable type or something like that, just the description

empty coral
#

like a pop-up when you hover over the word with the mouse?

#

oh no, like an extra bubble

hollow snow
#

over the joker would work better

#

just extra info

empty coral
#

idk myself i wanted to know if you meant the other thing

normal crest
hollow snow
normal crest
#

you have to put it in the Other section of your localization file

hollow snow
#

if i don't have a localization file i can't do it?

normal crest
#

Then append { set = "Other", key = "the_key_you_used" } to info_queue

normal crest
#

Making a localization file is easier

hollow snow
#

ok i'll do one then

normal crest
#
return {
   descriptions = {
       Other = {
          something = {
             name = "something",
             text = {
                 "something else"
             }
          }
       }
   }
}
#

that's what your loc file should end up looking like

tall apex
#

does anyone know how to approach giving an enhancement a "use" button like cryptid does? :0

normal crest
#

I'd recommend putting your mod prefix in the key to make sure it's uniqur

tall apex
#

i looked in cryptid but.,, i couldn't figure that out

hollow snow
#

also can i color the name of the description?

plush vault
#

What .lua has the code for the vanilla jokers? 🍀 w 🍀

tepid crow
#

it's spread out but mostly in card.lua

plush vault
#

Thankies

#

I will poke around!

chrome widget
#

Those that aren't are cards that are needed in non context scenarios, like Pareidolia is checked for in Card:is_face()

#

The easiest way to find a specific joker is to just search for it by its English name in your code editor, because for some bizarre reason, those effects are determined by card name

tall apex
#

wimter . 3.

chrome widget
#

Hi hunnybyte!!!

tall apex
#

look war crimes

hard flume
#

Hiiii

chrome widget
#

I must grabe me some food before I sit down and Porgramm

tall apex
#

i should probably stop progrem and eat

chrome widget
#

Perhaps I get another bento....

tall apex
#

idk what im gonna get but its either dino nuggets or soup

#

oh also i wanted to ask you coding question but rn imnna take a break

chrome widget
#

Oh I can't say that

#

Uhh

tall apex
chrome widget
#

I'm always a heavy supporter of soup

#

I used a different word there and got automodded lmao

chrome widget
sonic cedar
#

Modding question
is there a context for “if a joker was moved (like drag dropped)”?

I want a function to trigger for when a joker is moved directly to the right of the joker I need the context for

subtle merlin
tall apex
#

i have a profound and intimate support of the suppertime meal known as soup at a rather large capacity

tall apex
fresh saddle
#

Question. is there a mod that allows me to manually play the scoring animation one step at a time, so, I can press a key to advance to the next "event" in the scoring, (like, the next card to be scored, or the next joker to trigger, etc)

tall apex
tall apex
sonic cedar
tall apex
#

mine isnt even a fix mine just doesn't work atm LMAO

sonic cedar
#

I don’t know why it does that either ughhh

and WHY only when I click a card???

#

Like??

chrome widget
sonic cedar
chrome widget
#

If you want I'll just shove my code at you when I get home

#

It's pretty generic

tall apex
#

perfectly normal balatro hand

subtle merlin
#

I have a joker that is supposed to check if a card is retriggered, and then return that card to the hand, and i used to have it working but something broke in testing and now it only does the first card played. I tried a fix earlier but it made it so that all cards, even non-retriggered ones, went back to the hand so long as a single card was retriggered. Thoughts?

sonic cedar
sonic cedar
subtle merlin
tall apex
sonic cedar
tall apex
#

pot of greed, draw 3

sonic cedar
#

you can’t do that thats cheating /ref

tall apex
#

POT OF GREED DRAW 3

subtle merlin
tall apex
#

... roll my dice

sonic cedar
#

and I attack and I win right
?

tall apex
#

nuh uh

#

oo wait maybe i can get my silly to work today

chrome widget
#

ROLL MY DICE

#

I PLAY POT OF GREED

tall apex
#

enough spriting things ill code in 2 months, time to

#

code code,.,,,

chrome widget
#

I still have stuff to draw and I'm annoyed cause I hate drawing. I'm trying to divvy art out to as many other contributors as possible so I don't go crazy and have a depressive episode trying to do the art myself

fresh saddle
subtle merlin
chrome widget
#

Nice dbza ref

chrome widget
tall apex
copper thorn
#

hey, sorry to barge in but i was wondering, would you, the mod devs for balatro say that modding is hard or not ?

maiden phoenix
#

play mods or coding mods?

copper thorn
#

coding mods

maiden phoenix
#

If you mean coding, it you don't know lua, then it's like everything else, you'll have to learn a lot

normal crest
#

compared to other games, modding balatro is easy

maiden phoenix
#

Thankfully there's a lot of helpful guides, docs and refs

#

True from my experience

copper thorn
#

cus i wanted to make one for me and my friends with private jokes and all, but i'm completely lost x)

subtle merlin
fresh saddle
worthy stirrup
#

how do i get a boss blind to debuff a specific joker?

daring fern
#

How does one destroy a card bypassing everything?

sonic cedar
#

what do you mean it’s bypassing everything

copper thorn
#

bu thanks i'll check the vids and all

daring fern
maiden phoenix
tall apex
#

i think i need some help w/ my code..,,

#

idk how to get started making a card go from one edition to the next

sonic cedar
daring fern
worthy stirrup
#

im trying to disable a joker, blueprint to be specific

daring fern
maiden phoenix
#

Forgot its name tho

#

Also idk if it takes into account modded editions

normal crest
maiden phoenix
normal crest
#

as for the 2nd one.......... sounds impossible, you'd have to remove all references to the card everywhere, and you can't really do that, at least afaik

#

or maybe I'm overthinking it

#

maybe you can just set it to nil

daring fern
worthy stirrup
sonic cedar
#

like if you took all the randomness out of crimson heart

worthy stirrup
#

the key for blueprint is j_blueprint right?

sonic cedar
daring fern
fresh saddle
worthy stirrup
#

but i also dont know how to debuff a joker, i dont see anything on the wiki

daring fern
worthy stirrup
#

oh

maiden phoenix
normal crest
#

the overthinking part was for the making the card unable to be copied before it's destroyed

daring fern
normal crest
#

and you can't do that unless you know where every reference to that card is and set all of them to nil

thorn furnace
#

Where do I set the icon?

normal crest
daring fern
thorn furnace
sonic cedar
#

can mod icons be animated

#

i dont think so but i figured id make sure

daring fern
daring fern
sonic cedar
#

ok got it

#

oh my god i came to ask a question and got wrapped up

#

why does this not score mult

worthy stirrup
#
    recalc_debuff = function(self, card, from_blind)
    SMODS.debuff_card(Card.get_id("blueprint"), true)
    end

i think im doing this wrong

daring fern
worthy stirrup
#

so what do i do for blueprint

daring fern
normal crest
worthy stirrup
#

thank you

worthy stirrup
chrome widget
#

What's the most effective way to send a calc context to 1 specific card?

#

I see the use of eval_card, but SMODS.calculate_card_areas returns some flags for another function

daring fern
karmic sand
#

Hi I'm trying to add a custom consumable to the game, the consumable is in the game however upon entering a shop or when I was in a shop on a preloaded save re rolling causes a crash
I got these in the console before rerolling:

INFO - [G] ERROR LOADING GAME: Card area 'shop_vouchers' not instantiated before load
INFO - [G] ERROR LOADING GAME: Card area 'shop_jokers' not instantiated before load```
and then the crash, any help is appreciated!
sonic cedar
daring fern
sonic cedar
daring fern
#

Code?

thorn furnace
#

Is there a way to change the upcoming boss blind for debug purposes

sonic cedar
#

lines 817-821

G.GAME.spectral_rate = G.GAME.spectral_rate or 0
local total_rate = G.GAME.joker_rate + G.GAME.playing_card_rate
for _,v in ipairs(SMODS.ConsumableType.ctype_buffer) do
    total_rate = total_rate + G.GAME[v:lower()..'_rate']
end
sonic cedar
thorn furnace
karmic sand
sonic cedar
daring fern
thorn furnace
sonic cedar
#

if you want a specific boss though do what somecom said

#

you might have to hold ctrl if you dont have that setting disabled

tall apex
#

can i get a refresher on how set_edition works?

#

im prob not even gonna keep it bcos i have to do an upgrade system but rn i just want it to set an edition

wintry solar
#

card:set_edition('key of edition')

sonic cedar
#

and the 2 boolean params

#

silent and immediate iirc

tall apex
#

how would i make that affect every other joker than itself.,,?

daring fern
sonic cedar
#

have it go through every joker and skip itself i assume

sonic cedar
tall apex
sonic cedar
#

well then

daring fern
tall apex
#

hmm, okay I don't think i've done an iterate thingy in lua before

#

i've done it in C++ kinda

daring fern
tall apex
#

i'd ask more questions but i dont wanna be annoying . -.

hasty mist
#

i am so confused as to what is wrong here

#

lua extension is absolutely zero help

chrome widget
#

I mean if you're willing we'd love to have you

tall apex
#

idk what k v or i do in any of these statementss x-x

tall apex
chrome widget
hasty mist
#

its telling me to turn the = into a == when that is supposed to set the value, not check it

sonic cedar
chrome widget
#

I'll dm for it

sonic cedar
#

cool

pulsar furnace
#

is there a way to change blinds money reward?

pulsar furnace
#

how

hasty mist
#

i am so confused 😭

daring fern
daring fern
pulsar furnace
hasty mist
daring fern
daring fern
pulsar furnace
#

idk how to do it before selecting blind

daring fern
pulsar furnace
#

how

daring fern
pulsar furnace
#

so how do i make it work correctly 😔

final jewel
#

I have a small question, I don't know why its never destroying the card like their is 1/3 chances to destroy the card if its a high card

daring fern
spice wadi
spice wadi
#

or its at the correct time but you want the animation or smth

#

i dont get the question

pulsar furnace
#

let me take pictures ingame

daring fern
pulsar furnace
spice wadi
#

oh i think i get the question now

pulsar furnace
#

but the change is when selecting the blind, i dont think it will update before selecting blind

spice wadi
#

so youve changed the reward money but the amount of dollar signs shown is still the old number?

wintry solar
#

that will dynamically change the dollars in the ui

pulsar furnace
wintry solar
#

wherever you change the money

pulsar furnace
#

<@&1133519078540185692>

karmic creek
#

bang

pulsar furnace
#

how to update it

#

its a string value

wintry solar
#

just set it to whatever you need it to be

#

yeah its the text

hasty mist
#

alright, brand new crash now, ive been staring at this for quite a while and i dont understand what the syntax error is

#

when i activate the lua extension it doesnt really give me any useful information either

daring fern
wintry solar
#

holy what is this indentation

hasty mist
pulsar furnace
plush vault
wintry solar
pulsar furnace
#

wdym

wintry solar
#

the effect of the joker(?)

pulsar furnace
#

its a deck

wintry solar
#

it doesn't matter what it is, what's the effect

pulsar furnace
#

i dont understand 😭

wintry solar
#

what does the deck description say

pulsar furnace
wintry solar
#

and you're trying to update it manually for each blind?

pulsar furnace
#

yes

wintry solar
#

you would be better served using a lovely patch and a flag on your deck apply to add the extra reward