#💻・modding-dev

1 messages · Page 100 of 1

autumn coral
#

i mean it needs to change every round to a different sprite

#

could this possibly be what i'm looking for/ should i find a way to kinda retrigger this

#

no yeah i can't figure out how to draw on top of the existing joker dynamically

#

i feel like an idiot rn istg

#

my poor head is melting to mush 😭

#

this sounded very easy when i thought of it and immediately became a nightmare

#

it's ok i got help actually

#

@edgy reef apparently i had the exact right idea

#

math sent me to one of their mods and it was literally basically 1:1 to what i did and now it works

#

let's fucking GO

weary jungle
#

how do i move things with a shader?

#

likke move a quarter of a joker somewhere different

wintry swallow
#

I want to trigger a Joker effect whenever a hand is leveled up. I guess I could patch a check over all jokers for a certain function existing into function level_up_hand? Is there a less horrible way?

weary jungle
#

what is the effectt?

autumn coral
#

we're so close oh my god

#

i can fucking feel it

#

it is changing the sprite i jus tneed to fix like 3 things

#

OH MY GOD IT WORKS

#

I'M SO FUCKING GOOD

nocturne garnet
#

oops wait

wooden nexus
autumn coral
wooden nexus
#

is it because my number is a decimal?

autumn coral
#

where are you comparing things

nocturne garnet
#

like so

autumn coral
#

🤷‍♀️

wooden nexus
#

Should I just go the easy way out and make it "tonumber" where needed?

#

idk

autumn coral
#

yeah

#

i'd do that

wooden nexus
#

I don't know why it's not a number already

autumn coral
#

your guess is as good as mine

wooden nexus
#

lemme see if putting it to 1 works

#

Won't be funny joke but helps to see issue

weary jungle
#

man, this shader stuff is easy!

#

(this is so bad...)

wooden nexus
#

ok so the problem is not that it's a decimal

#

How'd you make the edition?

#

Did you just trial and error or did you use a program?

weary jungle
wooden nexus
#

The shader

weary jungle
#

i used shadertoy

wooden nexus
#

and it works 1:1 for balatro?

weary jungle
#

eh

wooden nexus
#

close enough?

weary jungle
#

if you put it like this, it kinda works

#

but its flipped in balatro for some reason

wintry swallow
weary jungle
#

either uv.x or uv.y is flipped

#

i forgot which one

#

uv.y is flipped

#

i think

#

so more like this

nocturne garnet
#

i hate it

weary jungle
#
{
    vec2 uv = fragCoord/iResolution.xy;

    uv.y = 1.0 - uv.y;
    
    vec4 tex = texture(iChannel0, uv);
    
    //SHADER CODE HERE V
    
    
    //SHADER CODE HERE^
    
    fragColor = vec4(tex);
}```
weary jungle
nocturne garnet
#

why is it not {X:mult,C:white}X#1#{}

#

i hate looking at it

weary jungle
#

you dont want a X0.5 mult do you?

#

the black makes it epicer

nocturne garnet
#

no i hate looking at that text

#

its awful

#

i want it dead

weary jungle
#

its epicer

nocturne garnet
#

and buried

nocturne garnet
weary jungle
#

ugh

nocturne garnet
#

its rotten

#

its but a PEST in my eyes

weary jungle
#

is it the black on red thats the issue?

nocturne garnet
#

YES

#

it looks awful 😭

weary jungle
#

fine...

#

the things i do for people

#

i miss you black on red....

nocturne garnet
#

if hex gave this edition instead....

#

for once

#

i'd use it

weary jungle
#

is this looking pure kinda

weary jungle
#

just for you 😁

nocturne garnet
#

how're you gonna check

weary jungle
#

idk

#

i would do like steam user id

#

but that seems mean

#

its ok, im not gonna do that to you

autumn coral
#

can i store a persistent variable in a joker?

#

like in the way that it'd persist in its state when you close the game, i mean

#

if you lose a run, it'd revert

#

wait actually

#

hm

weary jungle
#

how do i watch shader

#

my path is all wrog and i dont know why

autumn coral
#

😔

wooden nexus
#

So weird thing

#

It's only supposed to go up by $0.62

#

But not only is it saying "$11.2" (Which means it increased by $10.58) but when scoring it'll say a completely different number

weary jungle
#

how do i make a joker look broken

#

this is hard

#

this is just 2 lines and a red tint

#

this is so bad

#

oh shader gods!!! bless me with not being and idiot!!!!

autumn coral
#

"but nobody came"

weary jungle
#

i might just be going down a horrible path

#

itd be perfect....

#

if i dont come back, you know what happened to me

wooden nexus
#

It's done

#

And yes it's Misprint compatable

autumn coral
#

is added_to_deck when the card spawns when the run is continued after closing the game and reopening it as well?

#

actually nvm that question doesn't matter

autumn coral
#

what would work for that?

weary jungle
#

check ehat happens when you continue a game ig

autumn coral
#

nevermind i know what it is

weary jungle
#

i so want to just copy a shader... but i must push on....

autumn coral
#

i feel like GOD rn

weary jungle
#

steve rock... lend me your power

#

these are NOT descriptive variable names!!!

orchid thunder
nocturne garnet
nocturne garnet
wooden nexus
#

That's the misprint deck version

weary jungle
#

i think im not gonna do this

#

but it woukd be epic

thick panther
#

Might be a little OP. (You have to spawn this Joker in with something like DebugPlus to get it)

weak depot
#

shoutout to whoever is CRANKING out this documentation this is like twice the size it was 3 days ago what the hell

weary jungle
#

how do i make a shader that represents brokeness??

autumn coral
#

ask chatgpt

#

i'm being so fucking fr

#

nobody will judge you

weary jungle
#

i tryinh

#

this is har d

autumn coral
#

trust me it was not as hard as what i just did

#

use that as motivation or whatever

#

😭

weary jungle
#

ive een doing that

#

thats is

#

im just gonna copy this

#

and we will see what happens

#

what happened was nothing

nocturne garnet
weary jungle
#

because it didnt work

nocturne garnet
#

Sentenced to 10 years of learning shader code 😈

#

Guilty of 10 counts of asking chat gpt

nocturne garnet
split creek
#

Does anyone know where I would look to make a standard pack that forces a subset of enhancements?

orchid thunder
#

How can I stack shaders

weary jungle
#

i mean i guess

nocturne garnet
#

it IS broken...

weary jungle
#

yeah im keeping it

orchid thunder
#

Bc funny

weary jungle
#

you guys are gonna love this... now theres 2 and they spin around

nocturne garnet
#

kroben

thick panther
#

I just realized you can make a "You're Winner" deck that just calls unlock_achievement with all the game's achievements.

split creek
#
    object_type = "Booster",
    key = "enhancement_pack_1",
    atlas = "pack",
    pos = { x = 1, y = 1 },
    config = {extra = 2, choose = 1 },
    cost = 4,
    order = 1,
    weight = 0.96,
    create_card = function(self, card)
        local _edition = poll_edition('mtg_edition'..G.GAME.round_resets.ante, 2, true)
        local _seal = SMODS.poll_seal({mod = 10})
        return {set = "Enhanced" , edition = _edition, seal = _seal, area = G.pack_cards, skip_materialize = true, soulable = true, key_append = "sta"}
    end,
    ease_background_colour = function(self)
        ease_colour(G.C.DYN_UI.MAIN, G.C.SET.Magic)
        ease_background_colour({ new_colour = G.C.SET.Magic, special_colour = G.C.BLACK, contrast = 2 })
    end,
    loc_vars = function(self, info_queue, card)
        return { vars = { card.config.center.config.choose, card.ability.extra } }
    end,
    group_key = "k_mtg_enhancement_pack",
  }```Currently trying to make pack that always returns enhanced cards of a specific enhancement. I've managed to get them to always have an enhancement, but I don't know how to change its enhancement
autumn coral
#

SMODS.find_card isn't working for some reason

#

idunno why but it's really annoying

#

it impacts an incredibly specific mechanic i made that 0 people asked for

#

nevermind i made my own

#

ohhh my poor head

#

😭

#

This took an unimaginable amount of time to get fully functional as intended btw, but yeah, there are now double-rechargable active jokers

#

I was pretty sure i was the first mod doing ANY active jokers like this, but I’m especially the first to do active ones

#

I meant to say charged*

split creek
autumn coral
#

Yep!

#

These jokers are fully functional

thorny adder
#

Hi chat

#

I have several questions

autumn coral
#

Shitty idea: reverse strength card that makes a rank go down instead of up 1

thorny adder
#

Can I make it so that whe my mod is enabled

autumn coral
#

(I’m doing this btw)

thorny adder
#

It removes stuff from vanilla/other mods

#

When playing my decks

autumn coral
#

it’s hacky but so is literally all of this game

#

Btw this will break immediately so i don’t recommend doing it, or the idea, for that matter

autumn coral
#

1.) there’s no way you have more jokers than the base game anyway
2.) overriding the game’s jokers, especially if ur trying to overwrite mods like cryptid will have unintended consequences that may crash the game

#

You could weight your rarity to show up more often

#

SMODS adds functionality for custom rarities

#

Ok i need to sleep

thorny adder
thorny adder
#

Hypothetical

#

I could right

thorny adder
#

guys

#

why is le juice_up() triggering as soon as I play the cards and not each time it does the effect

#

it should trigger each time is does the +mult right

faint yacht
#

Each scoring card automatically does the juice_up() function when giving stuff, though?

thorny adder
#

no

#

like

#

I want the joker to juice each time it gives +5 to a card

#

like the

#

he does it

#

he moves each time he does the +3

faint yacht
#

The card in this case is actually the played hand...

teal estuary
#

isnt it card = card

thorny adder
#

even tho the +3 is on top of the played card

teal estuary
#

thats what i do for mine, and it seems to work

thorny adder
#

so joker:juice_up

#

right

#

or self

#

self would work

faint yacht
#

Try that.

#

Also, card = context.other_card.

teal estuary
#

other_card is the other card (usually referencing the playing cards), card usually refers to the joker itself

thorny adder
#

I mean

#

my current code makes the joker wobble

#

when I play the hand

#

instantly

#

and once

teal estuary
#

card IIRC shouldnt be used, and any self in card.lua should be replaces with card

#

hrm

thorny adder
#

not when the effect is triggered

teal estuary
#

thats weird

#

hold on

thorny adder
#

thats what I mean

teal estuary
#

hrmmm

thorny adder
#

hrm indeed

frosty dock
thorny adder
#

yeah I just edited it

#

I know the comma moved

#

I sent the wrong screenshot

frosty dock
#

anyways putting card:juice_up() inside the return table just calls it immediately and puts the result in the return table

#

you just do card = card, iirc

teal estuary
#

IIRC it should be card = card

#

thats what all my jokers that use other suits/cards do

thorny adder
#

wat

teal estuary
thorny adder
#

oh

teal estuary
#

not the same thing as the suit jokers, but close enough

thorny adder
#

you just do that and it works ?

#

tf

frosty dock
#

at least for context.individual, yes

teal estuary
#

yeah

frosty dock
#

i can't spell today huh

thorny adder
#

AYO WHAT

#

it worked

#

well uh thanks ig

teal estuary
#

thats checking if a card is a heart, then adding 1 to mult, as long as its under max, then returning the little again (but red)

#

np

thorny adder
#

I dont userstand why it works but

#

who cares this is coding

teal estuary
#

exactly

#

as long as it works, who cares

thorny adder
#

fr

#

I'll just

#

comment it

teal estuary
#

but yeah, card = card is what you want to use most of the time

thorny adder
#

there

#

peak coding

restive vapor
#

card = card wobbles the card?

teal estuary
#

card = other_card is used for something, i cant remeber what though

teal estuary
thorny adder
restive vapor
#

how does that even work lmao

hardy viper
thorny adder
#

its only when you do per card boosts

thorny adder
#

thanks anyway

teal estuary
restive vapor
#

oh is card a method?

#

wait thats not how that works

hardy viper
#

it's an object, the constructor for said object being just calling the object

teal estuary
#

that

restive vapor
#

oh

thorny adder
#

also how does card badges work

#

I would need help on that

teal estuary
#

card badges?

thorny adder
#

u know those

restive vapor
#

probably a list or sth

thorny adder
teal estuary
#

oooh, those are just handled by rarity = 1-4

thorny adder
#

cause thats the only info I have

thorny adder
teal estuary
#

oh, no clue then

#

i need to learn it myself

frosty dock
#

oh I should probably add to that what function you use to actually create a badge

thorny adder
#

thats the question lmao

frosty dock
#

gimme a few I'll add it to the docs

teal estuary
#

oh also, does next(SMODS.find_card('joker')) need to be in a context or something? was having issues with it, and might aswell ask

#

-# i meant to write calculate function

#

-# curious about both though

thorny adder
frosty dock
wintry solar
thorny adder
#

also hi I have some new problems guys :3

#

this doesnt work

#

it does only the +5 Mult not the x1.1

#

is it because I did the wobble twice

#

also

#

other card

#

works

#

but it types the +175 in orange

#

and not blue

#

I mean the square when it does +175 chips it just says +175 and its orange

#

and it doesnt give chips

#

great

wintry solar
#

You can only have one message

thorny adder
#

alr

#

but thats another card

wintry solar
#

Use SMODS.eval_this if you need to change more than one thing

thorny adder
#

ah alr

wintry solar
#

The chips one is probably a wrong key, I think it’s chip_mod and a_chip from memory

thorny adder
#

works now

thorny adder
teal estuary
#

hold on

#

lemme grab the code i used

thorny adder
#

thanks

teal estuary
#

like this, i can also grab it in a different font 😭

thorny adder
#

lmao

#

do i need to make 2 seperate if

#

I dont right

teal estuary
#

i dont know? but you'd want a message to only happen when something happens ingame, so i cant see when you wouldnt need an if

thorny adder
#

cause it always trigger

#

its op yes

teal estuary
#

im going to presume theres an easier way to check when any card is played, but you can do

#

hold on

thorny adder
#

no no I got that

#

dw

teal estuary
#

so, you'd want to put that in an if statement, around both

#

replace the card.ability.extra.chips/mult with that

thorny adder
#

Im pretty sure this will work

teal estuary
#

might do, no clue 😭

#

i hope it does, that'd be very useful to know

gritty valley
#

Why are you using eval_this???

thorny adder
#

with the comma it helps

teal estuary
#

two different messages needed

thorny adder
#

works

#

:3

gritty valley
#

I don’t think you need to do that

teal estuary
#

you do

crisp coral
#
SMODS.eval_this(card, {
    message = localize { type = 'variable', key = 'a_mult', vars = { card.ability.extra.mult }},
    mult_mod = card.ability.extra.mult,
    colour = G.C.MULT
})
SMODS.eval_this(card, {
    message = localize{ type = 'variable', key = 'a_xmult', vars = {card.ability.extra.x_mult}},
    Xmult_mod = card.ability.extra.x_mult, 
    colour = G.C.MULT
})
#

oops im late

teal estuary
#

well, theres multiple ways to do it

#

but eval_this is a way to give more then one message on a joker

crisp coral
#

card = card is useless since you've already passed card

thorny adder
#

as said here

thorny adder
gritty valley
# thorny adder

Then you really shouldn’t be using that method tbh. Imo better to understand what you’re doing than not.

teal estuary
#

that was talking about card = card

thorny adder
#

yes

teal estuary
#

not eval_this

gritty valley
#

Ah

thorny adder
#

it was a joke

gritty valley
#

This all just feels really scuff

crisp coral
#

deadass don't see why you wouldn't do two eval_this for this

teal estuary
#

-# smods moment

gritty valley
#

I’m mostly just confused why don’t you just return the table? Nothing here seems like it would require an eval

#

Is this an SMODS thing I’m missing

teal estuary
#

seems to be

thorny adder
#

oh yeah it works good

#

might downgrade it later lmao

#

thats way too op

#

anyway thanks yall

teal estuary
#

if you want more then one message on a joker, you have to use eval_this

crisp coral
#

each return only supports one message

gritty valley
teal estuary
#

-# *there more ways to do it then eval_this, but thats the way most people do it

teal estuary
gritty valley
#

The code is just returning 2 tables

teal estuary
#

it'll only show the first message

gritty valley
#

In an array

teal estuary
#

it seems to only load the first oen, and ignores the second message

crisp coral
#
return {
    {
        mult_mod = ...
    },
    {
        Xmult_mod = ...
    }
}

is this what you meant?

crisp coral
#

no

#

that is not how balatro eval works

gritty valley
#

What do you mean

teal estuary
#

its just not how it handles messages

crisp coral
#

the. vanilla built-in function to handle joker calculations

teal estuary
#

if it doesnt work, it doesnt

crisp coral
#

does not support that kind of return

teal estuary
#

so we have SMODS.eval_this to circumvent that, and allow more then one message

crisp coral
#

also please, turn off ping replys

gritty valley
#

I’m just gonna look at the code myself later

teal estuary
#

clearly you should rewrite the vanilla engine /s

crisp coral
gritty valley
#

Ok I figured it out

#

I misunderstood what eval_this was doing

#

It doesn't actually return anything

#

It just's just a shortcut for joker effect text. Imo should rename that func to like joker_eval_this or something but that's just semantics.

#

Regardless you don't need to ever return it's output considering it only ever outputs nil

faint yacht
#

I did use eval_card for doing the juice up and what not on consumables.

thorny adder
#

which one to increase hands

#

and not hand size

crisp coral
crisp coral
thorny adder
#

inc or dec

#

I guess

crisp coral
thorny adder
#

oh thats the actual name of the function

#

fun

gritty valley
#

Oop wait sorry for the reply ping

thorny adder
gritty valley
#

You should consider wrapping that in an event, just for safety (tho it’s honestly more of a better safe than sorry thing so I wouldn’t worry about it too much).

crisp coral
#

ease_hands_played already has an event in it

#

the second param is instant

gritty valley
#

True

thorny adder
#

the code isnt coding

#

I want the card to retrigger played cards twice

nocturne garnet
thorny adder
#

this is the whole calculate part

faint yacht
#

What is your card.ability.extra.repetitions set to?

hardy viper
#

there is a center for base playing cards

hardy viper
#

the same way you would any other center

#

i just don't know the key by memory

#

should be easy to find

faint yacht
# thorny adder ?

Huh, weird that it does not appear to apply the 2 repetitions to be done.

weary jungle
#

why doesnt this work

thorny adder
#

alr well

#

It's cause I have 2 effects

#

so I need to use SMODS.eval_this again

#

huh

#

repetitions doesnt work when inside an smod eval this

#

it does work when I remove the other effect tho

#

strange

#

is it cause there are 2 messages here ?

#

oh

#

it was the order

#

you need to trigger the x0.5 before the repetitions

#

even tho in game it triggers at then end ?

#

whatever

weary jungle
#
                local NonNegativeJokers = {}
                if TGTMConsumables.config.CursedRunes then
                    G.GAME.TGTMCurseChance = G.GAME.TGTMCurseChance + ((RuneCurse * 2.5) / 100)
                else
                    for i = 1, #G.jokers.cards do
                        local very = G.jokers.cards[i]
                        print(i)
                        tprint(very)
                        if ((very.edition and very.edition.negative ~= true)) then
                            table.insert(NonNegativeJokers, very)
                            print(very.ability)
                        end
                    end

                    if NonNegativeJokers then
                        local BreakJoker = pseudorandom_element(NonNegativeJokers, pseudoseed("BreakEhwaz"))
                        if BreakJoker then
                            BreakJoker:set_edition("e_TGTM_Broken")
                            card_eval_status_text(BreakJoker,"extra",nil,nil,nil,{message = "Broken!", colour = G.C.CHIPS})
                        end
                    end
                end

                ease_ante(card.ability.extra.AnteChange)
                
            end``` this is not choosing any jokers, and i ddont know whay
gritty valley
#

Why would you need to see how that's done

#

It's in the name

nocturne garnet
#

and i dont think negative is perfectly negative

weary jungle
#

it isnt

#

its sligtly darker

gritty valley
#

It inverse the hue and darkens it

weary jungle
#

jimbo what happen

nocturne garnet
#

that looks demonic

weary jungle
#

do these look "broken"?

thorny adder
nocturne garnet
weary jungle
#

the cost of -1 ante 😔

nocturne garnet
#

they want to kill me

tepid sky
#

basically sleep paralasis demon

weary jungle
#

im trying to stop things from blueprinting.. its not working

gritty valley
weary jungle
#

this checks for a purified edition right

#

or did i mess up somewhere

#
[patches.pattern]
target = "card.lua"
pattern = '''function Card:calculate_joker(context)'''
position = "after"
payload = '''
if (context.blueprint or context.repetition) and (self.ability.edition and self.edition.key == "e_TGTM_Purified") then return nil end
'''
match_indent = true```
#

is it self.edition

gritty valley
#

Idk tho

tepid crow
#

yeah you're being inconsistent with self.ability.edition and self.edition

#

(pretty sure it's the latter you want)

weary jungle
#

i HATE editions

gritty valley
weary jungle
#

yay it works

#

i dont ehink this is working

gritty valley
#

I know there's a var for the card hovering over but I don't remeber what it's called. Best to go look at the docs.

tepid crow
# weary jungle i dont ehink this is working

iirc that's only for the visual indicator
you'd also just set blueprint_compat to true regardless of whether the joker could originally be copied or not
thirdly is that even stored under .ability? 🤔

frosty dock
#

dp.hovered

thorny adder
#

thats not the right name is it

autumn coral
thorny adder
tepid crow
thorny adder
#

ah its discard

#

not discards

#

mybad

gritty valley
#

It's a one line change should be pretty clear

frosty dock
#

mult and hand_chips are real global cars though?

tepid crow
#

yeah those are supposed to be global

gritty valley
#

Really?

#

Why?

frosty dock
#

making them local means the function does nothing but display a message

tepid crow
#

thunk moment

gritty valley
#

Ahhhh

#

Ok you can delete it

tepid crow
#

one might say a local moment, even

frosty dock
#

and having something like G.mult is still just a global so no difference there

#

it should be, not sure this has been tried though

teal estuary
#

question, why is semi-prime saul where your cards should be 😭

#

ooooh, good luck with my code though 😭

#

im glad to hear it :]

wintry swallow
#

How can I have a sound I put in the same folder as the others (that work), imported the same way with SMODS.Sound but it doesn't find it and tries to find it in resources/sounds even though it is in assets/sound (like the others that, again, work)?

thorny adder
#

p

teal estuary
#

☹️

#

🙏

#

i hate being at college 😭

thorny adder
#

ayo

#

I can see that

teal estuary
#

they were writing peanits but my fighting for control of my keyboard

#

didnt end well

wintry swallow
#

Too early

teal estuary
#

jolly on that thang

weary jungle
#

that is definitly some modding development!!

autumn coral
#

fr

#

on god

#

no cap

crisp coral
#
  1. its your own opinion
  2. this is modding-dev
hardy viper
#

is this from cryptid

autumn coral
#

yeah!

#

btw sorry i meant to piut this somewhere else oooopsie

pale tangle
#

im testing trying to create mods, anyone knows why it wont show up on the activated mods list when you open the game??

pale tangle
#

ty

tepid sky
#

anyone know how to make a seal that removes it self? ._.

#

i cannot seem to figure it out

wintry solar
#

What do you mean, removes itself? Like when it triggers?

tepid sky
#

yea

true jasper
tepid sky
#

just like gros micheal

wintry solar
#

Just removes the seal or the entire card?

night pagoda
#

Is there a button in debugplus or maybe in the steamodded itself that makes the game restart?

tepid sky
tepid sky
wintry solar
#

Put card:set_seal() in the calculate function

tepid sky
#

hmm alrighto

true jasper
night pagoda
wintry solar
#

Hold M

night pagoda
#

ty!!!

#

grew tired of restarting the exe each time I make a change

true jasper
#

M LIKE CRYPTID JOLLY JOKER cryptidm

wintry solar
#

You can use debug plus’ watch commands too

thorny adder
#

Ong you can quick restart

tepid sky
#

smth like this?

wintry solar
#

They hot reload files afaik

thorny adder
#

Is it only a debug plus thing

#

Can someone send me the git link

wintry solar
#

Hold m is smods native iirc

tepid sky
#

context for? when it triggers?

night pagoda
#

wahh steamodded still doesn't close the second console???

thorny adder
#

Thanks

night pagoda
#

I keep getting the old console staying up after the game closes

true jasper
night pagoda
#

yeah ik but it's annoying

wintry solar
tepid sky
#

what context would u suggest?

wintry solar
#

The individual one in G.play

tepid sky
#

alright

#

thanks :D

autumn coral
#

time to work on d10, d12, and d7

#

yaaaawn

thorny adder
#

does C:money works

#

or is it something else

#

C:gold maybe ?

faint yacht
#

C:money is valid, yeah.

thorny adder
#

how can I make it so that I get the money when I sell it

#

with remove_from_deck right

#

but what do I put inside that

#

ease_money ?

#

is that a thing ?

#

doesnt look like its a thing

#

lol

hardy viper
#

ease_dollars

thorny adder
#

ah so I was close

hardy viper
#

ya

thorny adder
#

that means I understand what I code

#

great

#

:)

#

works

tepid sky
#

what went WROOOONG!?!?

hardy viper
#

"induvidual"

#

also indentation

weary jungle
#

i dont have any mentions of seals anywhere? where is this from?

#
    --glass
    key = "SturdyGlass",
    atlas = "Tatatro",
    pos = {x = 5, y = 2},
    unlocked = true,
    discovered = true,
    loc_txt = {
        name = "Sturdy Glass",
        text = {"{X:mult}2X{} Mult", "#1# in #2# chance to not score"}
    },
    loc_vars = function(self, info_queue, card)
        return {vars = {G.GAME.probabilities.normal, "4"}}
    end,
    config = {
        x_mult = 2
    },
    calculate = function(self, card, context, effect)
        if context.cardarea == G.play then
            if pseudorandom(pseudoseed("SturdyGlassDebf")) < G.GAME.probabilities.normal/4 then
                effect.x_mult = 1
            else
                effect.x_mult = card.ability.extra.x_mult
            end
        end
    end

}```
autumn coral
#

Hai chat

#

Thinkinf about new isaac items

#

Wooden nickel would be cool?

#

Sorta

weary jungle
#

like 1/2 chance to gain 1-5$ per hand/card

autumn coral
#

No it’d be active

#

Now that I have the gimmick working I’m going to abuse the hell out it

#

Once per blind

placid frigate
#

what is Talisman in the Cryptid mod
it's 3 folders Cryptid, Talisman, and Steamodded

weary jungle
thorny adder
#

whats the {C:} for that

frosty dock
placid frigate
weary jungle
#

hogher than naneinf

thorny adder
#

alr

thorny adder
weary jungle
#

base game goes till e308, talisman goes to omeganum

frosty dock
#

higher than practically any number you can imagine

weary jungle
#

(very bug)

#

bug

#

big

frosty dock
#

it caps out around 10{1e4}10 but that isn't a hard limit and kind of dependent on your hardware

#

it just gets progressively slower after that

hardy viper
#

thought jen raised the effective cap to 10{1e5}10

#

kosmos things egg

weary jungle
#

man i have so many more stuf to do...

#

14 more consumables....

#

ughhhhh

#

then i have to do cryptid

#

and all the other stuf

#

ughhhhhhhhh

hardy viper
#

unless it's something in jen code

#

there is no talisman commit for that

thorny adder
#

in the code

hardy viper
tepid sky
hardy viper
#

i don't think it's in smods yet

thorny adder
#

ah

#

sad

hardy viper
tepid sky
#

i know :<

thorny adder
#

how do I use custom variables

hardy viper
#

simple

thorny adder
#

local

weary jungle
thorny adder
#

ah alr

hardy viper
weary jungle
#

just do local variable = value

hardy viper
#

local !

thorny adder
#

?

weary jungle
#

i tink so

thick panther
# thorny adder how did you do the chip mult

Since Xchip_mod doesnt exist, I created a formula to simulate it. Heres the formula:

-- Calculate chips
local Xchips_mod = (hand_chips * card.ability.extra.Xchips) - hand_chips
balmy stump
#

where is the string for the tabs stored? like "New Run" for example

thick panther
#

Then I just set chip_mod to Xchips_mod

thorny adder
#

top of code alone ?

faint yacht
hardy viper
cursive ocean
#

Does anyone know how to access the full deck? To loop thru and check ~conditions~

thick panther
thorny adder
#

how do I make it so that it increases hands only for that blind and not permanant

hardy viper
cursive ocean
thorny adder
weary jungle
#

is it?

thorny adder
#

it is

weary jungle
#

ease_discards isnt

thorny adder
#

oh

weary jungle
#

is it?

thorny adder
#

it is for me

hardy viper
#

i would fact check this against the games actual source though

#

i don't know everything by memory

faint yacht
# thorny adder but thats permanant increase

You can dynamically add hands. Just that usually the bonus hands and discards are done at start of round. Change conditions.

if context.setting_blind and not (context.blueprint_card or card).getting_sliced and not context.blueprint then
    ease_hands_played(card.ability.extra.hands)
end
hardy viper
#

better to search for references to G.deck and G.playing_cards to see how you should handle them

thorny adder
#

also how do you handle the message

thick panther
# thorny adder in the return ?

No. First I have Xchips = 100 in my config, then I add the formula under calculate, then for my return statement I did this:

return {
  -- Other vars here
  chip_mod = Xchips_mod
}
thorny adder
#

config is done

#

oh

#

alr

#

and for the message ?

balmy stump
#

what does this mean "label = localize('b_remaining'),"
Does it make the label Remaining?

thick panther
thorny adder
#

but with the chip color

#

not the mult color

balmy stump
thorny adder
#

astro told me

thick panther
#

Then that would be something like

return {
  message = 'x100',
  colour = G.C.BLUE,
  -- Other vars if needed
}
hardy viper
#

if your current language is spanish it'd be whatever remaining is in that translation

thorny adder
#

noted

#

thanks

#

can I put a varibale

thick panther
#

np

thorny adder
#

in the text

#

like that ?

thick panther
#

yeah

thorny adder
#

alr

#

good

hardy viper
#

"X" .. tostring(card.ability.extra.mult)

#

.. is concatenation in lua

#

don't ask why egg

thick panther
weary jungle
#

how do you check if a specific mod (cryptid) is enables

#

yea

hardy viper
weary jungle
#

i dont use tostring

#

cuz im gamer

thorny adder
#

no u cant

#

lol

hardy viper
#

you need to use ..

thorny adder
#

yup

weary jungle
#

how do i check for cryptid, i want to add support for its stickers

hardy viper
#

also if your mult became an omeganum number tostring would work while simply concatenating would crash

#

there's no concat metamethod that works on numbers and tables right

thorny adder
#

ayyy

hardy viper
#

i know arithmetic/relational metamethods don't work with numbers and tables

balmy stump
#

im looking at brainstorms ui rn and i think this line of code is responsible for checking if the settings tab is currently open and i dont know why if args and args.tab_h == 7.05 then

thorny adder
#

message works too

#

thanks people

balmy stump
#

how would i alter this to check if a different tab is open

hardy viper
weary jungle
hardy viper
#

but who knows jimbo_spin

balmy stump
#

it works though

hardy viper
thorny adder
hardy viper
#

and undertale

thorny adder
#

trust

balmy stump
#

:[

weary jungle
#

ok

#

1.5X chips for 2 handsize though?

#

-2 handsize

balmy stump
hardy viper
thorny adder
#

:3

hardy viper
#

if you can avoid UI then do it

weary jungle
balmy stump
#

i have to have it

hardy viper
#

until i (maybe) (probably not) finish my ui library which i probably won't maybe won't finish

hardy viper
#

well ask eremel

#

everyone knows eremel is the only person that can do ui

hardy viper
weary jungle
#

like ^ chip?

hardy viper
#

so instead of chip*mult it can be chip^mult

weary jungle
#

oh

#

insane

hardy viper
#

and (10*3)^(2) is different than (10)^(2*3)

#

i fucking hate

#

discord

#

who decided asterisks were good for markup

weary jungle
#

discord

hardy viper
#

true

weary jungle
#

*test*

#

maye your just bad

#

just \ egg

hardy viper
#

that's what i did egg

thorny adder
#

this is worse

weary jungle
#

how do i check if cryptid is enabled

hardy viper
#

if SMODS.Mods.Cryptid.can_load

#

cryptid id might be cryptid not Cryptid but you get the idea

weary jungle
hardy viper
#

also why is that a stone card egg

weary jungle
#

cryptid hogging all the priority

hardy viper
#

truly cryptid moment

hardy viper
autumn coral
#

glad my mechanics work though it makes my life so much easier now that i did it once

thorny adder
#

that sounds painful

weary jungle
autumn coral
#

time to figure out which var has the skip tags

balmy stump
weary jungle
#

where is that one guy when you need them 😔

autumn coral
#

prolly getting milk with my dad

weary jungle
#

im runeing out rn

#

onto algiz

thick panther
#

Does this seem like too much? Its for a deck

autumn coral
#

it loojks good!!!

balmy stump
thick panther
# balmy stump wdym too much?

Idk, it feels like too much detail. im not good at pixel art, so I cant quite get that "less is more" approach down right

autumn coral
#

how do i get the current tags for each blind

#

i was trying G.HUD_tags but it didn't yield anythjing

#

oh

#

it's G.P_TAGS actually

hardy viper
hardy viper
autumn coral
#

whar

#

oh that's not-

#

game that's just

#

all of the tags

#

i just wanted the ones out

hardy viper
#

yeah

#

it's centers

autumn coral
#

oh

balmy stump
# thick panther Does this seem like too much? Its for a deck

the diamonds on the top are touching the top while the diamonds on the bottom are two pixels from the bottom, if i had ocd i would probably puke, also it looks like the bottom halfs border is the lighter color, can you make the top halfs border the darker color

hardy viper
autumn coral
#

is it G.centers.P_TAGS?

weary jungle
#

check what happenes when tags work probably

hardy viper
#

G.P_TAGS is centers

autumn coral
#

what is it then

#

oh

hardy viper
#

that's what im trying to say

autumn coral
#

ohhhh

#

how do i get the current tags then

#

😭

hardy viper
#

no clue

autumn coral
#

LMAO

#

alr

hardy viper
#

somewhere in G.GAME

#

G.GAME.*tag

#

regex search on main source code

autumn coral
#

lmfao

hardy viper
#

i would if i was at my computer

autumn coral
#

i'm not joking it's literally G.GAME.tags

hardy viper
#

makes sense

autumn coral
#

i gotta be sure tho

hardy viper
#

i was afraid it'd be some dumb shit in the blinds

wintry solar
hardy viper
#

wouldn't put it past thunk

autumn coral
#

unfortunate

hardy viper
#

finals?

hardy viper
#

i didn't even catch that

exotic hedge
thick panther
weary jungle
#

how do i check if all the highlighted cards are glass?

#

wait i dont even need that

#

actually i do

#

nvm

exotic hedge
hardy viper
weary jungle
#

like in a can use

hardy viper
weary jungle
#

can use is a function nvm

#

im like dumb and sometimes an idiot

weary jungle
hardy viper
weary jungle
#

oh ok

cursive ocean
#

Anyone know of a good way to print/dump a variable/table in a patch? Like, inject a dump function into main or something? If so, what dump function to use..!

weary jungle
#

tprint?

#

like insert a print function?

cursive ocean
#

The best way would be just a dev-dependency thing. Idk if luarocks has that tho

hardy viper
#

luarocks and balatro do not coincide at all

hardy viper
#

if you just want to dump stuff then you can just cause an error and use stacktraceplus which steamodded provides

#

alternatively you can see if you can dump with steamodded st+ tweak without erroring

#

but it's easier to just throw an error where you want to dump

autumn coral
#

how can i access the values in Game:init_game_object after it's done

#

that's the best i got

#

literally acnnot find anything else with the current tags

wintry solar
#

What are you trying to find?

hardy viper
#

but that's just every loaded tag

#

you'd need some way to check which are held tags and which aren't

#

but there's for sure a better way

#

imo just print(inspectDepth(G.GAME)) and see what you come up with

violet void
#

I've given up on it for now, thanks for the help

balmy stump
autumn coral
#

i want whatever the current blind's tags are

thick panther
#

Is there a way to get a playing card's rank? would card:get_id() work for that?

autumn coral
#

if there's a skip tag for economy, i want to get that value, where it is, and be able to change it

#

someone wanted a d12 card that rolls tags, basically

#

wouldn't be that hard but i just need to figure out what stores them 😅

hardy viper
#

probably some bullshit in the blinds then

#

i could prolly find it in 2 hours when I get home idk

autumn coral
#

OH!!! also if anyone in here has isaac hyperfixation and is good at spriting, i'd love to get some help from a competent pixel artist to help work on the binding of jimbo

#

most of this i have down, but the non-dice jokers i want to have custom sprites on

#

i haven't nailed down an artstyle yet so it's all fresh

balmy stump
autumn coral
#

thank

wintry solar
autumn coral
#

oh?

wintry solar
autumn coral
#

wait where

wintry solar
#

Hold on let me find them

autumn coral
#

oh my god imagine if my balatro mod integrated with an isaac mod

wintry solar
#

in button callbacks

hardy viper
#

💔

thick panther
#

Is there a way to replace a card? If not, i can just delete one and add a dupe.

thick panther
autumn coral
#

thank you so much

#

the thingies before get_next_tag

thick panther
#

What does juice_up do?

faint yacht
#

Makes the item bounce up.

thick panther
#

I see there are two params for it. What are the two values? a min and a max bounce?

hardy viper
#

juices uppickly

hardy viper
#

iirc

#

generally you just use the defaults

thick panther
#

So just leave it blank like this? card:juice_up()?

faint yacht
#

Yeah.

hardy viper
#

ye

rough furnace
autumn coral
#

wdym

#

it should?

#

if it doesn't make a pull, i'm too lazy to accomodate for 1% of players

frosty dock
#

these types of added buttons are notorious for often not being controller compatible

rough furnace
#

Yeah

autumn coral
#

🤷‍♀️

#

skill issue then

autumn coral
#

weird

#

lemme see if it's the way it's written or something else

#

actually i know it's something else

#

weeeird

#

oh wait

#

nope yeah

#

it doesn't change the tags

#

this should be investment

#

no clue why i can't edit this value

#

strange

#

OH

#

weird

#

it works but ONLY if you do it after you complete a round

#

i wonder why it won't work before?

#

maybe i need it to reload the ui?

#

probably need to rerun this function? G.FUNCS.blind_choice_handler

#

this seems to be the one that handles rendering the tags

#

anyone got thoughts?

#

oh

#

wait

#

create_UIBox_blind_tag(type, run_info)

#

this one

#

i meant this one create_UIBox_blind_choice

#

this one is the right one

#

i just need to figuere out what calls it and run that as well

#

create_UIBox_blind_choice('Tags')

#

maybe?

#

oh

#

wait i'm so stupid

#

G.UIDEF.current_blinds()

#

pov: deranged woman goes through 10 files in the span of 3 minutes to find 1 function

#

nope

rough furnace
#

That's the Balatro reverse engineering process

autumn coral
#

basically

rough furnace
#

What are you trying to do?

autumn coral
#

redraw the ui for blind tags after changing them

#

i'm like 95% sure that i had the right function so i'm so confused rn why it isn't working

#

it does exactly what i need it to