#💻・modding-dev

1 messages · Page 298 of 1

unborn bay
#

though what about the extra table

#

but that'd mean id have to recursively put values on each extra table for each joker i want to trigger

red flower
#

thank god i decided to make my mod standalone so i dont have to deal with vanilla joker code

manic rune
#

hmmmmmm

unborn bay
#

im probably just gonna say fuck this and just use card areas being added in calculate_context multiple times

manic rune
#

oh, its 2

glad osprey
#

aka just if state == 2

manic rune
#

mhm, i assumed that much, thanks :3

quartz ravine
#

I'm trying to balance this out a bit....

unborn bay
#

do you guys think when someone reads balatro code out loud and they encounter a variable name thats in all caps they scream it

quartz ravine
#

I think it needs to fall off much more when glass breaks

unborn bay
#

G !!!! STATES !!!! HAND PLAYED !!!!

quartz ravine
#

FOR I PAIRS IN V_K JONKLER

manic rune
#

i think it would benefit more from giving XMult instead of mult

glad osprey
#

yea

#

or more +mult

manic rune
unborn bay
#

glass is like wheel of fortune because its 1 in 4 so yeah XMult would be more fair here

quartz ravine
#

Maybe it makes glass give + mult, then the xmult has more to work with

manic rune
#

-# its a literal variable, i dont know why

manic rune
#

the +mult gets added after the glass cards are all triggered

#

so it doesnt do anything much :p

unborn bay
#

local FUCK = 4

glad osprey
#

relatable

manic rune
#

relatable, i threatened to kill myself in my sticker's code

glad osprey
#

or just
local a = b

quartz ravine
glad osprey
manic rune
#

turned out hide_badge hid the info_queue too, i didnt know that so it took me hours to figure out that was the problem

quartz ravine
#

How about this, as glass cards are played and don't break the xMult bonus increases. Then when a card breaks, the accrued xMult is applied.

glad osprey
#

what about

manic rune
#

have yall ever got so desperate you wrote a love letter for your code

#

so that it works

#

❤️

unborn bay
#

truth

glad osprey
modern kindle
unborn bay
#

i name my code so weirdly man like heres a snippet from one of my srb2 lua projects

local DBU_SplitscreenFUCK = DBU_SplitscreenFUCK
local DBU_TallyHallOffset = DBU_TallyHallOffset
local BDD_SplitscreenFUCK = function(v,c,x,y,scr) return DBU_SplitscreenFUCK(v,c,x,y,scr,falsesplitscreen) end
local BDD_TallyHallOffset = function(v,scr) return DBU_TallyHallOffset(v,bdd.gameovertime,scr,TICRATE/4) end
#

most of the FUCK was me getting angry over splitscreen support

manic rune
#

jesus

unborn bay
#

because the FUCKING VIDEO FLAG DEDICATED to it

#

doesn't work

manic rune
#

i think they might still be mad over it

quartz ravine
manic rune
#

just a feeling

quartz ravine
crisp coral
#

teehee

manic rune
#

glass cards are meant to be destroyed...

unborn bay
#

that fucking train that i hate

crisp coral
#

that fucking train that i hate

glad osprey
manic rune
quartz ravine
#

Ok, it increases xMult by .25 but when breaking, it decreases xMult by 1x. Makes it more risky

zealous glen
unborn bay
#

Like the wheel of fortune there's a good chance of you getting it multiple times in a row and making it do 0 xmult

zealous glen
unborn bay
manic rune
#

its not scared of being wrecked anymore

#

in fact, i think it wants to die

manic rune
errant karma
#

my friend tested the custom title with multiplayer mod and cryptid
i think that might be a bit buggy

unborn bay
#

CCryptidviids

tall apex
zealous glen
quartz ravine
errant karma
unborn bay
#

multiplayer cryptid and it's just a race of whoever gets to eeee6 faster

errant karma
#

true

tall apex
errant karma
#

yeah, it's basically just a big catalog of mods

unborn bay
#

i don't like it because it's built in rust slash j

tall apex
#

Oh neat, I might get it, I just don’t want it to mess with my mod :3

native zinc
zealous glen
#

local fever = bepis

manic rune
#

local fever = bepis
local bepis = fever

zealous glen
thin anchor
#

where the fuck is it

#

where is my big blind

manic rune
#

😭

#

you are officially blind

glad osprey
thin anchor
#

this is so sad

#

what the???

glad osprey
#

now its actually the window

thin anchor
#

lmao

quartz ravine
#

If glass joker goes up when Glass breaks...

I am just working through whats fun to do with this stained glass joker

#

It could also gain mult for how many glass cards are in the deck, then it's more vulnerable to glass breaking.

glad osprey
#

oh also i made a blind specifically for deaths to decks if anyone needs that

zealous glen
#

For what

glad osprey
#

when you lose to a deck

#

like if the deck has a loss condition

zealous glen
#

Losing to a deck?

glad osprey
#

yea

quartz ravine
#

I love seeing my boosters show up in the store. Feels good man

unborn bay
#

The Deck boss blind you fight the deck

zealous glen
#

Huh

#

Where

glad osprey
#

i cant record it rn but one of my decks has a loss condition where if you reach zero dollars you lose

#

so i made a custom blind for the game over screen

unborn bay
#

so credit card is completely useless

thin anchor
#

this is NOT pink

glad osprey
#

or every

#

every 2 rounds

thin anchor
#

ask the triangle guy who made the mod

glad osprey
#

oh nvrm then

thin anchor
#

lmao

quartz ravine
#

How about this

'Glass Cards Earn $1 when Scored'
'This Joker is destroyed when 5 cards break'

quartz ravine
thin anchor
#

what

quartz ravine
#

is that a good or a bad thing

glad osprey
unborn bay
#

i should make more jokers tbh i feel like having just 5 jokers for my mod is a bit lacking

#

i don't have a SINGLE common joker

#

😭

quartz ravine
#

You can do it!

#

Just come up with an awesome idea and ask 'how can I make this kind of suck', and then you have a common joker

crisp coral
zealous glen
#

I have 30 in the release version, a few more in the dev branch

glad osprey
#

not the glass card the joers

#

joers

#

yep

unborn bay
#

another problem is that i can't make art so just making art for more jokers sounds like a pain

zealous glen
#

joers

glad osprey
#

thats what i wanted

unborn bay
#

joers

red flower
#

joers i barely know er

zealous glen
#

Joing jwell?

quartz ravine
#

guvnah fancy you a cuppa joer

red flower
#

im matching ur joe rn

glad osprey
#

what have i started

quartz ravine
zealous glen
zealous glen
quartz ravine
#

IDK why windows does that

zealous glen
thin anchor
#

god damnit

unborn bay
#

SORRY NOTHING

glad osprey
thin anchor
#

scammed

glad osprey
thin anchor
#

"choose air"

zealous glen
#

You gotta pay for that

errant karma
last sentinel
#

how can i make it so that certain consumables only enter the pool if theres a card with a specific enhancement in the deck (a la, glass/steel joker)

potent trout
#

reskinning tarot cards are going well

reef belfry
last sentinel
#

mwah

unborn bay
#

if balatro came out on the wii would it run well

thin anchor
last sentinel
#

will that work on enhancements showing up in standard packs as well?

glad osprey
crisp coral
reef belfry
#

I really like bakery's charms

#

I find them funky

thin anchor
#

sorry

unborn bay
#

mr krabs money sound effect

crisp coral
glad osprey
#

which looks better

last sentinel
#

oh i meant if i want to prevent the enhancement from showing in packs unless theres one already in the deck

reef belfry
#

Can you add a black outline on the inside of the second one

#

Whats it even based on

crisp coral
#

oh, it only applies to jokers/consumables

glad osprey
last sentinel
#

ah i see

glad osprey
#

its a lambda

thin anchor
#

half life

crisp coral
#

how do i draw a bee as an enhancement </3

zealous glen
hushed field
reef belfry
#

Make it look like a part of it ripped off and showing like some honeycomb

zealous glen
#

Give it a beekini

reef belfry
#

^

crisp coral
#

cw body horror i think

#

this bee

glad osprey
#

wouldbeed

hushed field
#

I'd try and see if you can get something like that striped texture working on the cards

minor furnace
crisp coral
#

i did

minor furnace
#

I'm dumb

glad osprey
#

how do i shade shit good

crisp coral
#

i know

#

me too

minor furnace
#

me when I instinctively click the spoiler and forget I even did it

quartz ravine
glad osprey
crisp coral
#

why the fuck are you people saying would to that

minor furnace
#

people be down bad

zealous glen
errant karma
quartz ravine
#

BTW what is a reply ping. Is that like putting an emoji reaction on someone's message, or using 'Reply'

I feel like there is an evolved culture unique to discord that I am still learning

glad osprey
zealous glen
#

Oh I couldn’t read on mobile 😭

minor furnace
#

I've seen more attractive wasps than that

quartz ravine
#

They're the same picture

glad osprey
#

one pings

#

the other dont

quartz ravine
#

I never noticed that. Sorry everyone

zealous glen
minor furnace
#

yeah I prefer to be pinged too

zealous glen
#

If you don’t ping me you aren’t nice

minor furnace
#

there are 2 types of people in this world

zealous glen
reef belfry
#

Its not like i have any important business other than making jonklers

minor furnace
#

it's not like I have anything better to do with my time than look at replies

quartz ravine
#

Whoever's idea this was about xMult was right!

crisp coral
zealous glen
crisp coral
#

noreplymentions

maiden phoenix
zealous glen
#

I’m reminded of some Reddit comments I saw recently

minor furnace
thin anchor
#

whats the size of each stake

zealous glen
#

“I prefer option 2 because it’s more realistic.” versus “I prefer option 1 because it’s less realistic.”

glad osprey
minor furnace
#

without looking

#

I may be very wrong

quartz ravine
#

It goes up when glass is scored, but resets at the end when any glass breaks. So the next hand is impacted

thin anchor
#

hmmm

daring fern
thin anchor
#

tahnks

minor furnace
#

just double-checked

#

it is in fact 29x29

#

boss blinds are 34x34

halcyon osprey
#

Bump

minor furnace
tepid crow
minor furnace
#

bro just pinged the pong

zealous glen
reef belfry
#

Should I worry about making enhancements actually look clean with the playing cards or should i just make it look cool

#

I.e what the playing cards suit n rank is being abundantly clear

glad osprey
#

am i shade good

vestal night
#

What's it mad about?

reef belfry
#

That looks like it would stand out a LOT

maiden phoenix
#

As long as the rank is visible

vestal night
#

All 3 are pngs?

glad osprey
#

idk if that it

#

but maybe

minor furnace
glad osprey
#

that too

last sentinel
#

can i change the weight of an enhancement after it has been obtained? (i.e., it's weight = 0 until obtained via other means and then it shows in standard packs)

vestal night
glad osprey
#

all images in a spritesheet

vestal night
#

nawrrr

#

sounds hard

glad osprey
#

lika dis

minor furnace
#

trust me

glad osprey
#

how do i make it look like metal

#

copper specifically

placid star
#

is there a default Xchips function?

vestal night
#

:D

#

Malverk.badges.lttm_ame = function(self, card, badges)
badges[#badges + 1] = create_badge('Artist: Ame', G.C.PURPLE, G.C.WHITE, 0.7)
if self.key == 'j_shoot_the_moon' then
badges[#badges + 1] = create_badge('Common', G.C.RARITY.Common, nil, 1.2)
else
badges[#badges + 1] = create_badge('Uncommon', G.C.RARITY.Uncommon, nil, 1.2)
end
end

last sentinel
glad osprey
reef belfry
#

That is not that much space now is it

halcyon osprey
#

how can i make the center use the randtile outpit or smth

placid star
daring fern
minor furnace
#

it's x_chips

daring fern
minor furnace
vestal night
#
    key = "febbles",
    set = "Joker",
    path = "febbles.png",
    keys = { "j_baron" },
    loc_txt = { name = "5 Pebbles" },
    localization = {
        j_baron = {
            name = "5 Pebbles",
            badge = "lttm_ame"
        }
    }
}```
#

this should work lol

#

no idea why it doesnt since it's the exact same as the other ones I made

#

AMEN

minor furnace
#

unless both are somehow valid expressions

#

if it's triggering on a playing card I just do this

halcyon osprey
#

Is there anyway for me to check how much money you have before something, because i have a card that summons a joker however i do not want it to summon it if your in the negatives

minor furnace
#

G.GAME.dollars

#

i.e., if G.GAME.dollars < 0

halcyon osprey
#

ty!

minor furnace
#

or I guess you'd probably check >= 0 but yeah

minor furnace
#

me when I forget the buffer

halcyon osprey
#

buffer?

minor furnace
#

if there are events in the queue that haven't processed yet but will change your dollar amount

#

the same thing happens with processing things that grant consumables

halcyon osprey
#

hw would i add a buffer?

faint yacht
#

And be mindful of Talisman changing G.GAME.dollars to a table. 💀

#

G.GAME.dollar_buffer

minor furnace
#

I hate that you're right, because I had to fix that for talisman compat

halcyon osprey
minor furnace
unborn bay
#

me when i show talis my man (attempting to compare number with table)

minor furnace
unborn bay
#

just turn the zero to be wrapped around to_big

faint yacht
#

...oddly enough, G.GAME.dollar_buffer is not made into a table.

minor furnace
#

this is how I handled the talisman stuff btw lol
(type(G.GAME.dollars) == "table" and to_number(G.GAME.dollars)) or G.GAME.dollars

halcyon osprey
minor furnace
glad osprey
#

to_number is a function talisman defines that changes bigs to numbers aswell

faint yacht
#

the

to_big = to_big or function(a)
    return a
end
glad osprey
#

ya

#

i just did that with to_number

minor furnace
#

is to_big also a talisman thing?

unborn bay
#

yep

reef belfry
minor furnace
#

talisman will be the death of me

#

why would they turn hand level into a table

zealous glen
zealous glen
#

Instead of a number

red flower
minor furnace
unborn bay
#

because it isn't a double

zealous glen
#

It’s bigger

unborn bay
#

a double precision floating point is still a floating point number

#

it's still limited to some value

zealous glen
#

Python had a library for arbitrary precision numbers

minor furnace
#

this is true

zealous glen
minor furnace
#

at some point you need more bytes than a single register size to store a number I guess

zealous glen
#

Numbers so big they fit into an entire hard drive

minor furnace
#

that's it, I'm switching to coding my balatro mod in Assembly

#

now I want to make an Assembly-based Joker

halcyon osprey
#

Okay so how do i make a custum deck, is it somewhere on the smods thingy i cant find it

glad osprey
#

thats what their called in engine

halcyon osprey
#

All i pretty much want is a Deck that has 6 joker slots, and grants you an Eternal Board Generator Joker i made, that is, the whole deck

glad osprey
#

id recommend stealing borrowing code from things like cryptid or too many decks

minor furnace
#

has anyone made a mod that lets you chose the stake difficulty on Challenge runs? 🤔

glad osprey
#

i think so????

minor furnace
#

I should probably ask that in the other modding channel

faint yacht
# halcyon osprey All i pretty much want is a Deck that has 6 joker slots, and grants you an Etern...

For apply of your SMODS.Back,

apply = function(self, back)
  G.E_MANAGER:add_event(Event({
    func = function()
      if G.jokers then
        local card = create_card("Joker", G.jokers, nil, nil, nil, nil, "j_modprefix_key") -- insert your Joker string here.
        card:set_eternal(true)
        card.ability.eternal = true
        card:add_to_deck()
        card:start_materialize()
        G.jokers:emplace(card)
        return true
      end
    end,
  }))
end

-# Taken from one of my in-dev decks.

normal crest
#

SMODS.add_card { key = "j_prefix_key", stickers = { "eternal" } }

reef belfry
#

Iont think this would look that good as an enhancement

#

Especially cuz of this stinky part

unborn bay
#

looks like a ticket
tickets to the balatro movie

#

jimbo says "The Plant" after entering The Plant

reef belfry
#

This, is a booster pack

faint yacht
manic rune
#

ive been banging my head against the keyboard for a solid 2 hours

#

i think i got the screen moving like how i want it to be

unborn bay
#

peak programming

manic rune
#

you can actually see discord crashing in the background

#

thats how bad my pc is lmfao

#

may god bless this piece of technology to continue carrying me through this journey

unborn bay
#

before gutting a couple of unused applications my pc had like

#

3 megabytes left of storage

keen slate
#

random query (that idk where it should go) getting this error on ARM with liblovely - has anyone encountered/solved this issue?: zsh: exec format error: /Users/-/Library/Application Support/Steam/steamapps/common/Balatro/liblovely.dylib

manic rune
#

holy shit i didnt realize how BAD the vid looks

crisp coral
#

gg

manic rune
#

yeah not even proud of what i did anymore

unborn bay
#

what's ur specs

manic rune
#

where do i check that again :p

unborn bay
#

windows settings idk

manic rune
#

one sec

faint yacht
#

msinfo32 works too.

unborn bay
#

i got a shitty i5 with 8 gigs of ram and intel uhd grapchis

#

pretty bad

#

8 gigs is not enough nowadays

last sentinel
#

is there a context for the very start of the game

manic rune
unborn bay
#

hook onto Game:start_run idk

manic rune
#

also, one sec

#

the image is being sent

unborn bay
#

or is it init run

manic rune
manic rune
shrewd cobalt
#

bumping

unborn bay
#

i3 at 1.20 ghz, ,,,,,

manic rune
#

is that good or bad

hardy viper
unborn bay
#

average 2010 laptop

manic rune
#

mhm

hardy viper
reef belfry
#

i hate making stars on pixel art they just look like fat men tryna do splits on their tippy toes

manic rune
halcyon osprey
hardy viper
manic rune
#

true...

last sentinel
# manic rune wat u tryin to do

i have an enhancement that i want to have a weight of 0 at the start of the run, and then change it to 5 once it is acquired, I got the "changing to 5" working and have weight = 0 in the definition but i need it to reset at game start

manic rune
#

but anyways

hardy viper
#

one clock cycle per sometimes

manic rune
#

i need to be productive

#

but this kind of prevents me from making a modding guide vid, actually

#

would anyone want to see a slideshow 😭

unborn bay
#

i consider my pc as bad because i cannot get gmod to run with more than 40 frames per second

manic rune
#

i cant run mc 1.8.9 with more than 30 FPS without optifine

unborn bay
#

oh that and the cpu randomly stutters sometimes

#

for NO REASON

#

and the gpu crashing because i have both firefox, discord, and some random electron app open at the same time

daring fern
#

Is it possible to put the debuff shader on a blind?

manic rune
#

:p i mean, at least urs doesn't seem to be suffering from occasional balatro crashes due to no memory left

hardy viper
#

everything is an electron app tbf

unborn bay
#

electron being normalized is a sin

#

web tech being used in desktop apps is a sin

hardy viper
#

ive played literal video games that are electron apps

#

insanity

manic rune
#

now, do yall think

daring fern
manic rune
#

i can finish asriel with my laptop

#

before it explodes right into my face

agile thistle
manic rune
#

😭

unborn bay
#

i should probably sleep right now

cursive sentinel
#

hi just wondering what's the difference between "center" and "self"?

crisp coral
#

in what context

cursive sentinel
#

followed a tutorial where the dude uses center.ability etc

crisp coral
#

oh my god

cursive sentinel
#

like localthunk write self

crisp coral
#

replace all centers with cards

cursive sentinel
#

what does it mean?

crisp coral
#

card refers to the card itself during a run, self refers to the values you set when you add the joker

manic rune
#

🥀 we need a new tutorial vid

unborn bay
#

self this self that

manic rune
#

how about you get yourself some

#

:3

crisp coral
#

self:add("bi

agile thistle
#

other:

unborn bay
#

the bisexual enhancement

agile thistle
#

im gamemakerpilled

manic rune
#

i used to mess around with gamemaker before

#

before i completely forgot about it and moved on

halcyon osprey
#

augh adding a v didnt work

manic rune
#

hmmmmm

agile thistle
manic rune
#

how do i make an attention text that lasts until i manually remove it

agile thistle
#

it's -1, technically

unborn bay
#

unless im stupid and talking about localization attention text

south lintel
#

how do I fix this crashing the game when the joker is sold?

manic rune
unborn bay
#

idk then

dire palm
#

Why is this activating for every card remaining in hand? I only want it to trigger once.

manic rune
#

-# damn

faint yacht
manic rune
#

true

unborn bay
#

X TRUE

red flower
#

true

manic rune
#

u dont need and not card.debuff i think, since it wont work when its debuffed anyways

unborn bay
#

This Mult was fact checked by REAL Jokers

manic rune
#

please laptop

#

stop screaming at me

red flower
manic rune
#

i feel like it would pull out a knife and kill me when im sleeping eventually

maiden phoenix
last sentinel
#

does SMODS not store modded enhancements in G.GAME.P_CENTERS ?

maiden phoenix
#

Its G.P_CENTERS

south lintel
manic rune
#

how fucked am i if my laptop is so slow that vsc needs to wait 20s before code is loaded in

last sentinel
#

ehhh this is still causing crashes

cursive sentinel
#

so i'm not sure, what's the difference between center, card and self?

maiden phoenix
#

Is P_CENTERS initiated at that func?

cursive sentinel
#

sorry if im slow

halcyon osprey
maiden phoenix
last sentinel
#

im not initiating it myself but wouldnt init_game_prototypes be called before start_run?

maiden phoenix
#

Can't check rn soz

cursive sentinel
#

so i can replace all the center and self by card?

tall wharf
halcyon osprey
#

i did v[randtile] necause other things are like that, if this works im gonna cry of happiness

crisp coral
#

if i write Cards that cannot rank down..., is it intuitive that it also triggers on Stone Cards

tall wharf
#

v_modprefix_randtile?

cursive sentinel
#

dont stone cards still have their rank and colors somewhere?

#

stone cards are totally not intuitive to me...

halcyon osprey
#

just creates a randomcard and doesnt put any of my enhancements on

manic rune
crisp coral
#

game_mechanics.toml

manic rune
#

-# oh damn its a patch

#

thanks

crisp coral
#

oh hm

#

ranking down sucks actually

#

there's next and strength_effect but no before

#

guh

zealous glen
#

Mood but

#

How does

#

DebugPlus do it

crisp coral
#

DebugPlus does it?

zealous glen
#

But I don’t think it’s supported

zealous glen
manic rune
#

i got this uhhh function that handles decreasing ranks

crisp coral
#

oh shit prev exists

#

ty

zealous glen
#

Is prev supported

halcyon osprey
#

wanted to see if another variable would do it, hmmm (this didnt work)

zealous glen
#

Center is probably wrong

#

Also why don’t you use SMODS.create_card

halcyon osprey
#

idrk how that works

tall wharf
#

;3

#

ok this is not Scrabble right

#

I'm gonna be so mad if that's

#

Scrabble

south lintel
#

how do I add an info box to a joker?

halcyon osprey
manic rune
#

sans undertale in asriel undertale balatro boss blind

manic rune
#

testing smt

wintry solar
#

Does DBP up/down work with modded ranks?

manic rune
#

asriel will be using a different skill every hand

so the dynatext is there to show that

zealous glen
tall wharf
#

what's dbp up down 😭

manic rune
#

im thinking about stuff like

"Every 2 seconds, marks a card. If its order in hand remains unchanged after 2 seconds, destroys it"

manic rune
tall wharf
#

oh...

cursive sentinel
#

hey sorry but what is a start_materialize animation?

tall wharf
#

it is when the card materializes in

#

idk how to explain it better

#

when the game starts

cursive sentinel
#

with the tutututu of the beginning?

tall wharf
#

you'll see an ace of spades materialises

cursive sentinel
#

ok thank you!!

tall wharf
#

sorry

placid star
#

is there a function to make a joker always a certain edition or is it better to just set the edition in add_to_deck

manic rune
#

why is it not going down

halcyon osprey
#

my solution

#

im fine with having like 15 chunks of card summoning at least i can bring the chances to like 1/100

#

without having like 60 or statements per card

daring fern
placid star
#

does anyone know the code for making a card set itself to a specific edition, e.g. card.config.center...

faint yacht
#

Making a Joker in similiar function to 👢 is proving to be quite a journey whilst retaining Talisman compat.

halcyon osprey
#

Is there anyway for me to make it that my custum enhancements can never naturally spawn?

daring fern
maiden phoenix
#

idk if enhancement have a in_pool func

#

Oh they do? Neat

halcyon osprey
#

oh sweet

faint yacht
maiden phoenix
faint yacht
#

Nothing funny for it... I was this close to just scrapping it.

wintry solar
#

That’s a cool effect

halcyon osprey
#

Im locking Everything behind a singular joker lmao

crisp coral
#

oh my fuckign god 2s downgrade to aces

#

i hate my life

faint yacht
#

Shame that, once the initial hand is drawn, if you exit to main menu and re-enter, the "forced to hand" cards will not be there. Any other method I tried produced ghost cards.

errant karma
#

ok so in a mod i'm making i changed the position of the cards on the main menu
how would i fix this (cryptid + multiplayer mod)

tall wharf
# faint yacht

😭😭😭😭😭😭😭😭😭😭😭😭😭😭

faint yacht
#

You'll be able to toggle it on.

halcyon osprey
#

Kinda crazy joker but like.. You cant buy it ever, and its rn a 1/10 chance to appear from a Star Tile Card which also costs $30

placid star
halcyon osprey
#

it also may dissapear at a random discard or hand played, its just whenever your generating another board card, acts like another turn and theres always a chance for your star to get stolen

next timber
#

gros michel if it locked in

halcyon osprey
#

(ill fix the text stuff later)

glad osprey
tall wharf
tall wharf
wintry solar
halcyon osprey
#

as i add more tiles itll be 20

tall wharf
#

wow so you're asking Mario Party Superstars

halcyon osprey
#

im just full on trying to fuse balatro and mario party lmao

tall wharf
#

how nice

#

I'll just add party board game to balatro at this point

crisp coral
#

i love ranks!!!!!

next timber
#

im back on the mlp grind, i added my favourite guyy on the left, he was actually done by me this time based on the other ones already done by rad

tall wharf
#

*as a cross mod content

halcyon osprey
faint yacht
faint yacht
tall wharf
crisp coral
#

i have no rank no suit tho....

hushed field
#

what's the difference between context.repetition and context.repetition_only?

next timber
#

wdym i can see the rank and suit theyre right there

hushed field
wintry solar
placid star
faint yacht
crisp coral
hushed field
faint yacht
crisp coral
#

oh i forgot replace base card

#

fucking hell

#

cant read

wintry solar
modest iris
#

can someone please help me with this issue?

hushed field
placid star
wintry solar
placid star
wintry solar
#

Also that edition value is pointless, just out ”e_negative” as your set_edition argument

crisp coral
#

there we go

halcyon osprey
hushed field
faint yacht
tall wharf
#

inspired by a friend burning cockroach with a flamethrower

placid star
wintry solar
tall wharf
#

if it is not Burnt**

placid star
faint yacht
wintry solar
wintry solar
crisp coral
#

this is my implementation of a "Always drawn to hand" effect

-- Big Bird draw Enchanted cards
local draw_cardref = draw_card
function draw_card(from, to, percent, dir, sort, card, delay, mute, stay_flipped, vol, discarded_only)
    if from == G.deck and to == G.hand and not card then
        local enchanted = {}
        for _, v in ipairs(G.discard.cards) do
            if v.ability.big_bird_enchanted and not v.ability.big_bird_enchanted_marked_for_draw then enchanted[#enchanted+1] = v end
        end
        for _, v in ipairs(G.deck.cards) do
            if v.ability.big_bird_enchanted and not v.ability.big_bird_enchanted_marked_for_draw then enchanted[#enchanted+1] = v end
        end
        if #enchanted > 0 then
            local e_card = pseudorandom_element(enchanted, pseudoseed("enchanted_draw"))
            e_card.ability.big_bird_enchanted_marked_for_draw = true
            play_sound("lobc_big_bird_attract", 1, 0.8)
            G.E_MANAGER:add_event(Event({
                trigger = 'after',
                func = function()
                    e_card.ability.big_bird_enchanted_marked_for_draw = nil
                return true
                end
            }))
            return draw_cardref(e_card.area, G.hand, percent, dir, sort, e_card, delay, mute, stay_flipped, vol, discarded_only)
        end
    end
    draw_cardref(from, to, percent, dir, sort, card, delay, mute, stay_flipped, vol, discarded_only)
end
placid star
crisp coral
#

which is awful but it works

#

this is totally not extremely inefficient what do you meannnnnnn :clueless

faint yacht
# wintry solar Yeah ofc! Don’t get caught up on the little things

fwiw this is what is there

if ((context.open_booster and (G.STATE == G.STATES.TAROT_PACK or G.STATE == G.STATES.SPECTRAL_PACK or (G.STATE == G.STATES.SMODS_BOOSTER_OPENED and SMODS.OPENED_BOOSTER.config.center.draw_hand)))
or (context.first_hand_drawn or context.hand_drawn)) and G.deck and #G.deck.cards > 0 and card and context.cardarea == G.deck then
  draw_card(G.deck, G.hand, nil, "up", true, card)
end
placid star
crisp coral
#

😭

wintry solar
faint yacht
#

Instead of open_booster?

wintry solar
#

Mhmm

#

iirc that’s how it was implemented

cursive sentinel
#

hey is there a way to manually debuff jokers for debugging?

faint yacht
wintry solar
#

Ah yes that’s the one

#

I wanted to differentiate between the two as it’s not really a hand imo

faint yacht
#

...well, the booster packs do now also draw the cards afterwards. At least this is saved because exiting mid-booster pack and re-entering the run executes all the booster pack stuff again.

wintry solar
#

You can also probably just throw the save function in your calculate after they’ve been drawn

faint yacht
#

...which one?

wintry solar
#

I think it might just be save_run()

faint yacht
#

Add that as an event after the if check within calculate?

wintry solar
#

Yeah wherever you’re drawing the card

faint yacht
#

...that's a lot of events per individual calculate call.

#

Unless I add it inside the conditional actions of the if check... outside, yeah, that's a lot of saving delay. 😂

#

-# That'd do it, actually, cards are staying in place.

next timber
#

hearts are done!

rugged pier
#

is it possible to make a blind that goes over every joker the player owns and reduces the effects by like 25% for example

#

without having to take control of every joker (hell for mod compatibility)

rapid stag
#

anyone have any insight?

cursive sentinel
#

hi i have an unexpected error, i don't know where this comes from, here's the script and the error

ruby delta
#

@daring fern hey again sorry this one is another joker I was trying to build and it has a small issue could you check it out for me? Ping me I will send you the codes

ruby delta
#

@cursive sentinel

cursive sentinel
#

which shall i send additionally?

#

the whole error msg?

ruby delta
ruby delta
cursive sentinel
#
    key = 'j_boredom',
    loc_txt = {
        name = 'Boredom',
        text = {
            'This Joker gains {X:mult,C:white} X#1# {} Mult',
            'per {C:attention}consecutive{} blind scored',
            'on first played {C:attention}hand{}',
            '{C:inactive} (Currently {X:mult,C:white} X#2# {C:inactive} Mult{})'
        }
    },
    atlas = 'Jokers',
    pos = {x=2, y=0},
    rarity = 3,
    cost = 8,
    config = { extra = {
        increase = 0.5,
        Xmult = 1
    }
    },
    loc_vars = function(self,info_queue,card)
        return{vars = {card.ability.extra.increase, card.ability.extra.Xmult}}
    end,
    calculate = function(self,card,context)
        if self.debuff then return end

        if context.joker_main and not context.blueprint then
            local reset = true
            if G.GAME.current_round.hands_played == 1 and G.GAME.last_hand_played then
                card.ability.extra.Xmult = card.ability.extra.Xmult + card.ability.extra.increase,
                reset = false
                return{
                    message = localize ('k_upgrade_ex'),
                    colour = G.C.MULT
                }
            end

            if reset then
                if card.ability.extra.Xmult > 1 then
                    card.ability.extra.Xmult = 1
                    return {
                        card = self,
                        message = localize ('k_reset')
                    }
                end
            end
        end
}```
ruby delta
#

@cursive sentinel check dms

normal crest
# rugged pier bump

You could hook the calculate_joker function and modify the returned effects at the end

normal crest
#

But not all Jokers do their effects thru returned effects

rugged pier
#

wdym

#

wouldnt all the jokers have to call calculate_joker?

normal crest
#

yeah it is called for each joker but

#

Some jokers do their effects manually so to speak

rugged pier
#

i could just limit the scope to only affect gold, chip, +mult, and xmult jokers

normal crest
rugged pier
#

thank you so much

normal crest
#

Good luck!

dire palm
#

I'm wondering something.
Is it possible to make a Joker always act as if it is the rightmost one?

hushed field
last sentinel
#

aight is there a good way of having an enhancement not show up in standard packs until it is acquired via other means? my current method is not working out well...

i currently have weight = 0 and then change self.weight as the first line in the calculate (so that once it exists in the deck, the weight is set to something else) but am having trouble finding a good context to set the weight back to 0 or a way to change the enhancements weight within a hook

glad osprey
#

rate the art

stark geode
#

Does anyone know how to make an activ/ inactive badge like blueprints incompatible/compatible badge

formal parrot
#

7/10

#

Needs more details

#

10/10 for color choice

#

Solid

glad osprey
#

im not good at details in pixel art 🔥

formal parrot
glad osprey
#

does this look good for a legendaries nameplate

stark geode
#

ye

normal crest
stark geode
hasty mist
#

brand new modder here, are there any more example jokers available than just the ones in the steamodded examples page?

stark geode
south lintel
#

so uh, my debugplus broke for no reason?

#

like, it was working fine, and then I restarted my game and now none of the keyboard shortcuts work

#

I tried reenabling the mod and reinstalling it but it doesn't work still

cursive sentinel
#

i'm trying to make a joker which adds a value to self when player succeed scoring on first played hand, but only after the hand as been played, i'm struggling with what to use to get the info that "player scored in one hand" and make it trigger on round end

#

ive tried multiple things but it doesn't work, probably due to my lack of knowledge in both balatro code and lua 😔

south lintel
cursive sentinel
#

im bad at reading logs too

#
    key = 'j_boredom',
    loc_txt = {
        name = 'Boredom',
        text = {
            'This Joker gains {X:mult,C:white} X#1# {} Mult',
            'per {C:attention}consecutive{} blind scored',
            'on first played {C:attention}hand{}',
            '{C:inactive}(Currently {X:mult,C:white} X#2# {C:inactive} Mult{})'
        }
    },
    atlas = 'Jokers',
    pos = {x = 2, y = 0},
    rarity = 3,
    cost = 8,
    config = {
        extra = {
            increase = 0.5,
            Xmult = 1
        }
    },
    loc_vars = function(self, info_queue, card)
        return { vars = { card.ability.extra.increase, card.ability.extra.Xmult } }
    end,
    calculate = function(self, card, context)
        if self.debuff then return end
        
        local done = 0

            if context.joker_main and not context.blueprint then
                if G.GAME.current_round.hands_played == 1 then
                    done = 1
                end
                if G.GAME.current_round.hands_played > 1 then
                    done = 0
                end
            end

            if context.end_of_round and done == 1 and not context.blueprint then
                card.ability.extra.Xmult = card.ability.extra.Xmult + carD.ability.extra.increase,
                done = 0
            end
        end
    end
}```
#

here's how i had tried doing it

hushed field
#

There's also a post-scoring context, which should let you check at the moment the score is in

hushed field
cursive sentinel
#

i just added it because i saw it around

#

i still have a crash tho

hushed field
#

I'd have to check what the best way to go about it would be, but also, you have access to the number of hands played during round end. You get paid out based on the leftovers, after all

cursive sentinel
#

ohhh

#

righhht, i'm dumb

hushed field
#

What crash are you getting, btw?

cursive sentinel
#

wait imma screen it

hushed field
#

You can ctrl c it and past it here 😄

cursive sentinel
#

won't it be too big?

#

seems like not

stark geode
cursive sentinel
#

where would i access the number of hands played uring round end? I'm really a beginner

hushed field
cursive sentinel
#

its the last one, before the 3 ends

stark geode
#

therse a comma at the end of the line before

hushed field
#

The comma there breaks it

south lintel
hushed field
#

Damn, triple threat

cursive sentinel
#

why so? i'm really unfamiliar with lua

#

im trying to understand by reading it but it doesn't work entirely just yet-

hushed field
stark geode
hushed field
#

That's why you do use it in loc_vars, config.extra and the return, but you don't use it in calculate, because that's a function

cursive sentinel
#

so no commas in calculate, got it

#

fixes the crash! also took off a and that was too much

#

although i'm curious, you mentionned i could access the number of played hands in end round, im searching in the base code of the game but it feels huge (i'm ctrl F "end" "round" "hands" xd)

stark geode
#

whats the point of that variable?

#

G.GAME.current_round.hands_played

cursive sentinel
#

probably barbarian code from me

stark geode
#

why not bool

cursive sentinel
#

i dont know lua...

primal robin
red flower
#

list or dict

cursive sentinel
#

rather than once the player scored?

red flower
hushed field
#

I'm not at my pc so I can't check the code, but I'd check for the word interest, as that'll be the same place where the amount of hands left is checked

cursive sentinel
#

ideally i would like to get it after the round is validated, and if the number of hands played is more than 0, reset the counter (like obelisk)

#

thank you all still,, it's really very kind of you to answer me

cursive sentinel
#

with g.game.current_round.hands_played == 1?

stark geode
#

if it doesnt work i think i know what will

red flower
cursive sentinel
#

ohh ok ok so it indeed updates after the score is attained?

red flower
#

it updates before, as soon as the hand is played but you can check in context.after if it's > 0

cursive sentinel
#

context after?

#

i can type it just as is?

red flower
#

context.after is after all calculations yes

cursive sentinel
#

okok

red flower
#

(read the docs ;))

cursive sentinel
#

only watched the video and the utility, and other mods, will look upon all the rest,, sorry

bold sleet
#

Hello. Again, where were the cards held in hand stored in the game?

red flower
#

G.hand.cards

bold sleet
#

thanks

hushed field
#

man, there are a lot of similar functions that all just draw cards, huh

wintry solar
#

yup

zealous glen
#

what do you think of the updated wording

hushed field
#

Clownfish reads like it could also just be flat mult rather than scaling flat mult, but otherwise, they're both good. I think the mechanic's just inherently a bit awkward to phrase, haha

violet sparrow
#

man i cannot figure out deck skins, could someone help me out? the third image is what im replacing the hearts with but the hearts are just not being replaced ingame

zealous glen
#

<@&1133519078540185692>

last sentinel
#

jfc

last sentinel
#

anyways

zealous glen
violet sparrow
#

wait sorry i figured out the problem immediately after posting that, my bad

zealous glen
storm wharf
#

does anyone know how you would code a joker that triggers every time a tarot card is used? I can't find the calculate function for a similar joker in the source code and can't seem to fid anything straightforward in other mods

faint yacht
#

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

cursive sentinel
# stark geode just try it

tried this but it doesnt do anything (at least it doesn't crash)


            if context.after and G.GAME.current_round.hands_played == 1 and not context.blueprint then
                card.ability.extra.Xmult = card.ability.extra.Xmult + card.ability.extra.increase
            end

            if context.before and G.GAME.current_round.hands_played >1 and not context.blueprint then
                if card.ability.extra.Xmult > 1 then
                    card.ability.extra.Xmult = 1
                    return{
                        card = self,
                        message = localize('k_reset')
                    }
                end
            end
    end```
zealous glen
wintry solar
#

I'm not sure on the wording, it's not very intuitive imo

last sentinel
#

anyone know what i need to hook into to make The Tower be able to be usable on stone cards(and do something different to them since they're already stone)?

#

or is that what take_ownership is for

zealous glen
#

Do you recommend something else?

modern kindle
#

i will say the wording led me to believe every time a two pair in this instance was played it would give +3 levels instead of just having the joker grants those 3 levels while held once

wintry solar
#

Juggler?

zealous glen
wintry solar
#

oh you said starfish 🤣

#

I meant the poker hand tier stuff

#

-# I didn't watch the video because my connection is crap atm

zealous glen
#

I'm trying to find a good way to refer to it since the game doesn't

wintry solar
#

I'm not sure tbh

#

I don't really see them as different 'tiers'

#

they're just different hands

#

<@&1133519078540185692>

zealous glen
#

The tier is the order

#

Just saying a hand was above or below another was deemed too confusing

#

So it needs some specific wording to clarify this relates to the aforementioned order

wintry solar
#

I would have thought above/below in the list was more clear than introducing a new concept

storm wharf
#

anyone know what the variable name is for multiplying chips?

zealous glen
#

but people have assumed anything from number of hands played, level, containment

#

Mainly level I think

wintry solar
#

also, how does the code look for identifying hands of a higher/lower tier?

wintry solar
#

does that respect custom hands?

zealous glen
#

it should

wintry solar
#

neat

zealous glen
#

actually

#

hmm

#

I think the list is ordered so it should

#

otherwise I'd need to have additional logic

#

Since the list is ordered the two ifs only ever happen in the other they should for strictly lower

rapid stag
#

bump

elder inlet
#

Uhh so I made a mod that has destroyed my lovely... its become dependent on the mod :/

main.lua:891: module 'mods.fps_limiter' not found:
no field package.preload['mods.fps_limiter']
no 'mods/fps_limiter' in LOVE game directories.
no file 'mods/fps_limiter' in LOVE paths.
no file '.\mods\fps_limiter.lua'
no file 'E:\Games\Other\Balatro Modded\lua\mods\fps_limiter.lua'
no file 'E:\Games\Other\Balatro Modded\lua\mods\fps_limiter\init.lua'
no file '.\mods\fps_limiter.dll'
no file 'E:\Games\Other\Balatro Modded\mods\fps_limiter.dll'
no file 'E:\Games\Other\Balatro Modded\loadall.dll'
no file '.\mods.dll'
no file 'E:\Games\Other\Balatro Modded\mods.dll'
no file 'E:\Games\Other\Balatro Modded\loadall.dll'

Additional Context:
Balatro Version: 1.0.1m-FULL
Modded Version: 1.0.0~BETA-0323b-STEAMODDED
LÖVE Version: 11.5.0
Lovely Version: 0.7.1
Platform: Windows

Stack Traceback
===============
(3) global C function 'require'
(4) main chunk of file 'main.lua' at line 891
(5) global C function 'require'
(6) LÖVE function at file 'boot.lua:323' (best guess)
Local variables:
 c = table: 0x07d8b970  {identity:false, version:11.5, accelerometerjoystick:true, modules:table: 0x07d8b9c0, gammacorrect:false, title:Balatro, externalstorage:false (more...)}
 openedconsole = boolean: false
 confok = boolean: true
 conferr = nil
(7) global C function 'xpcall'
(8) LÖVE function at file 'boot.lua:362' (best guess)
Local variables:
 result = boolean: true
(9) global C function 'xpcall'
(10) LÖVE function at file 'boot.lua:377' (best guess)
Local variables:
 func = Lua function '(LÖVE Function)' (defined at line 355 of chunk [love "boot.lua"])
 inerror = boolean: true
 deferErrhand = Lua function '(LÖVE Function)' (defined at line 348 of chunk [love "boot.lua"])
 earlyinit = Lua function '(LÖVE Function)' (defined at line 355 of chunk [love "boot.lua"])
glass scaffold
#

That mod somehow won the fight.

storm wharf
#

got my joker to apply the xchips but it's not updating the xchips amount and it's not showing the xchips values when hovering over the card. Can anyone point out what i need to fix here?

zealous glen
#

also no spaces inside {} in the description

storm wharf
#

thank you!

storm wharf
red flower
#

what's the crash

zealous glen
glass scaffold
storm wharf
red flower
#

coNsumeable instead of coMsumeable

storm wharf
#

oh my days. tysm!

errant karma
#

how do you replace the card on the title screen with a different ace?

#

like replace the ace of spades with an ace of hearts

zealous glen
#

also I said to not use spaces in {}

glass scaffold
daring fern
#

Or talisman

errant karma
#

oh yeah thats a good idea actually

red flower
#

(or patching the card of course but that one is simpler)

next timber
#

is it easily possible for a joker to make all cards be considered the first, or do i have to go and patch all the jokers that go by first scored

distant grove
#

anybody know how to do the misprint code?

#

cause i got the image for this

#

but i dunno how to do the text

errant karma
cursive sentinel
#

hi, where could i see details about the contexts? more specifically the "end_of_round"?

#

i am getting weird interactions and i don't find info about it on the gits

faint yacht
glass scaffold
distant grove
#

huh

next timber
#

ah ok

faint yacht
cursive sentinel
#

thank you!

red flower
distant grove
#

like you know what the joker says

#

on its description

errant karma
glass scaffold
distant grove
#

oh

faint yacht
#

Or do the variable changing under update.

red flower
#

(i think cryptid hooks main_menu iirc)

errant karma
#

i dont even know where to look for the cryptid card lol

#

i found where talisman puts it but not cryptid

red flower
errant karma
#

well i tried cryptid with the mod im making and uh

#

this is with cryptid and multiplayer

#

i still dont know what to do with this bug or whatever it is lol

#

i also dont know whether this matters or not

cursive sentinel
#

the reset isn't

#
            card.ability.extra.Xmult = card.ability.extra.Xmult + card.ability.extra.increase
            return{
                message = localize('k_upgrade_ex'),
                colour = G.C.RED
            }
        end```
#

for the increment

stark geode
#

if context.end_of_round and context.main_eval and G.GAME.current_round.hands_played == 1 and not context.blueprint then
            card.ability.extra.Xmult = card.ability.extra.Xmult + card.ability.extra.increase
            return{
                message = localize('k_upgrade_ex'),
                colour = G.C.RED
            }
else 
--code for reset
end
cursive sentinel
#

should i put the blueprint somewhere else?

stark geode
#

wdm

#

blueprint will copy anything that isnt under a not contex.blueprint

#

so anything to do with scaling shoul be disabled with blueprint

cursive sentinel
#

yeah but

stark geode
#

the main scoing should b copied with blueprint

cursive sentinel
#

ahhhh

wintry solar
#

this else will run in EVERY context

stark geode
#

oh dear

#

if context.end_of_round and context.main_eval
  if G.GAME.current_round.hands_played == 1 and not context.blueprint then
            card.ability.extra.Xmult = card.ability.extra.Xmult + card.ability.extra.increase
            return{
                message = localize('k_upgrade_ex'),
                colour = G.C.RED
            }
  else 
  --code for reset
  end
end
#

i think this works better iirc

cursive sentinel
#

        if context.joker_main then
            return {
                message = localize{type='variable',key='a_xmult', vars={card.ability.extra.Xmult}},
                Xmult_mod = card.ability.extra.Xmult,
            }
        end
        
        if context.end_of_round and context.main_eval and G.GAME.current_round.hands_played == 1 then
            if not context.blueprint then
                card.ability.extra.Xmult = card.ability.extra.Xmult + card.ability.extra.increase
                return{
                    message = localize('k_upgrade_ex'),
                    colour = G.C.RED
                }
            end

        else 
            if card.ability.extra.Xmult > 1 then
                card.ability.extra.Xmult = 1
                return{
                    card = self,
                    message = localize('k_reset'),
                    colour = G.C.RED
                }
            end
        
        end

    end```
#

trying this

wintry solar
cursive sentinel
#

i have a crash at "juice_up"

cursive sentinel
#

okayy

stark geode
#

i forgot how i do things

wintry solar
#

also remove the card = self

#

and you can change the first return to just be xmult = card.ability.extra.Xmult

stark geode
#

if context.end_of_round and context.main_eval and not context.blueprint 
  if G.GAME.current_round.hands_played == 1 then
            card.ability.extra.Xmult = card.ability.extra.Xmult + card.ability.extra.increase
            return{
                message = localize('k_upgrade_ex'),
                colour = G.C.RED
            }
  else 
  --code for reset
  end
end

@cursive sentinel

#

i moved the not bluprint back to the main if

#

this will make it behave as intended

cursive sentinel
#

i try this

errant karma
faint yacht
#

...seems slightly off.

balmy wadi
#

so keep crashing and idk why but i have the error here

cursive sentinel
# stark geode ```lua if context.end_of_round and context.main_eval and not context.blueprint ...

        if context.joker_main then
            return {
                xmult = card.ability.extra.Xmult
            }
        end
        
        if context.end_of_round and context.main_eval and not context.blueprint then
            if G.GAME.current_round.hands_played == 1 then
                    card.ability.extra.Xmult = card.ability.extra.Xmult + card.ability.extra.increase
                    return{
                        message = localize('k_upgrade_ex'),
                        colour = G.C.RED
                    }
            else 
            if card.ability.extra.Xmult > 1 then
                card.ability.extra.Xmult = 1
                return{
                    message = localize('k_reset'),
                    colour = G.C.RED
                }
            end
        end```
it crashes telling me the end has a weird symbol near
#

is the if unnecessary after the else?

daring fern
cursive sentinel
#

lay extension?

#

idk what it is

daring fern
#

It tells you about syntax errors

red flower
stark geode
#

I typed this in discord so it's very possible they have formatting problems

errant karma
cursive sentinel
#

made it a trusted window and everything but nothing additional shows

#

im on vscode

daring fern
cursive sentinel
#

no, white

#

if im looking at the right spot that is

red flower
errant karma
#

probably

#

i am no expert after all

stark geode
# cursive sentinel ```calculate = function(self, card, context) if context.joker_main then...
calculate = function(self, card, context)
        if context.joker_main then
            return {
                xmult = card.ability.extra.Xmult
            }
        end
        
        if context.end_of_round and context.main_eval and not context.blueprint then
            if G.GAME.current_round.hands_played == 1 then
                    card.ability.extra.Xmult = card.ability.extra.Xmult + card.ability.extra.increase
                    return{
                        message = localize('k_upgrade_ex'),
                        colour = G.C.RED
                    }
            else
                card.ability.extra.Xmult = 1
                return{
                    message = localize('k_reset'),
                    colour = G.C.RED
                }
            end
      end
end,

yeah it was the extra if

cursive sentinel
#

i keep the "," at the end?

stark geode
#

yes

cursive sentinel
#

is there a reason? (i dont know)

stark geode
#

just in case you put anything afer calculate

cursive sentinel
#

isnt elseif an alternative if?

faint yacht
#

if is the initial set of conditions and actions... elseif is executed if former doesn't and so on.

errant karma
#

is there someone here than can help me simply change the card of the ace on the title screen

stark geode
#

right but im assumeing you want the joker so reset if the amount of played hands is not one

cursive sentinel
stark geode
cursive sentinel
#

on launch

stark geode
#

what is line 150

cursive sentinel
#

it is the "end"

stark geode
#

remove it

cursive sentinel
#

i added one

#

but doesnt change

#

took the "," too and doesnt change

stark geode
#

wait what exactly does this joker do?

stark geode
cursive sentinel
#

would do smth like "gains X0.5 Mult per consecutive blind scored on first played hand"

#

and additional one?

stark geode
#

try it

#

wait no

#

im so lost

#

that should work

cursive sentinel
#
    key = 'j_boredom',
    loc_txt = {
        name = 'Boredom',
        text = {
            'This Joker gains {X:mult,C:white} X#1# {} Mult',
            'per {C:attention}consecutive{} blind scored',
            'on first played {C:attention}hand{}',
            '{C:inactive}(Currently {X:mult,C:white} X#2# {C:inactive} Mult{})'
        }
    },
    atlas = 'Jokers',
    pos = {x = 2, y = 0},
    rarity = 3,
    cost = 8,
    config = {
        extra = {
            increase = 0.5,
            Xmult = 1
        }
    },
    loc_vars = function(self, info_queue, card)
        return { vars = { card.ability.extra.increase, card.ability.extra.Xmult } }
    end,
    calculate = function(self, card, context)

        if context.joker_main then
            return {
                xmult = card.ability.extra.Xmult
            }
        end
        
        if context.end_of_round and context.main_eval and not context.blueprint then
            if G.GAME.current_round.hands_played == 1 then
                    card.ability.extra.Xmult = card.ability.extra.Xmult + card.ability.extra.increase
                    return{
                        message = localize('k_upgrade_ex'),
                        colour = G.C.RED
                    }
                elseif card.ability.extra.Xmult > 1 then
                card.ability.extra.Xmult = 1
                return{
                    message = localize('k_reset'),
                    colour = G.C.RED
                }
            end
        end
}```
#

is the whole

stark geode
#

ill come back later

#

i got somthin i need to do

cursive sentinel
#

no problem, thank you very much still!

#

will probably sleep by then so take your time
added a end and this time it works wtf

sturdy compass
#

Just now finding out Blinds don't have a typical calculate function, but I'd like to do this effect. Anyone have any ideas? My first thought was hooking into eval_card but I'm not sure how much sense that would make

errant karma
#

yeah so how do i
change the ace
to hearts

#

again, disclaimer
i can not code

placid star
#

can you take owner ship of smth then hide it from your mods collection specifically and remove your mod badge from its description?

daring fern
modern kindle
sturdy compass
#

Is there blind calc? If so I don't see it documented/could be 98%-ing myself