#💻・modding-dev
1 messages · Page 100 of 1
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
how do i move things with a shader?
likke move a quarter of a joker somewhere different
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?
what is the effectt?
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
oops wait
Question: Why am I getting this error?
because ur comparing a string with a number
where are you comparing things
personally i would try to use a hook
like so
🤷♀️
I don't know why it's not a number already
your guess is as good as mine
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?
wdym?
The shader
i used shadertoy
and it works 1:1 for balatro?
eh
close enough?
if you put it like this, it kinda works
but its flipped in balatro for some reason
Wonderful!
either uv.x or uv.y is flipped
i forgot which one
uv.y is flipped
i think
so more like this
{
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);
}```
because its like REALLY bad
its epicer
and buried
no its not
ugh
is it the black on red thats the issue?
its so peak
if hex gave this edition instead....
for once
i'd use it
is this looking pure kinda
im gonna make it so that if you and only you have the mod enabled, all your jokers wil become broken
just for you 😁
jokes on you
how're you gonna check
idk
i would do like steam user id
but that seems mean
its ok, im not gonna do that to you
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
i am doing the config like it asks but it is not working or caring
😔
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
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!!!!
"but nobody came"
i might just be going down a horrible path
itd be perfect....
if i dont come back, you know what happened to me
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
no iirc
what would work for that?
check ehat happens when you continue a game ig
nevermind i know what it is
i so want to just copy a shader... but i must push on....
i feel like GOD rn
me when i name my variables mThingy (i will not recognize them two decades later)
thats not sixty two cents wtfff
That's the misprint deck version
Might be a little OP. (You have to spawn this Joker in with something like DebugPlus to get it)
derek lookin ass
shoutout to whoever is CRANKING out this documentation this is like twice the size it was 3 days ago what the hell
how do i make a shader that represents brokeness??
trust me it was not as hard as what i just did
use that as motivation or whatever
😭
ive een doing that
thats is
im just gonna copy this
and we will see what happens
what happened was nothing
I will.
because it didnt work
Sentenced to 10 years of learning shader code 😈
Guilty of 10 counts of asking chat gpt
Thank you for the hug kind stranger
Does anyone know where I would look to make a standard pack that forces a subset of enhancements?
How can I stack shaders
i mean i guess
yeah im keeping it
you guys are gonna love this... now theres 2 and they spin around
kroben
I just realized you can make a "You're Winner" deck that just calls unlock_achievement with all the game's achievements.
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
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*
yo this looks really cool, is your mod avaliable currently?
Shitty idea: reverse strength card that makes a rank go down instead of up 1
Can I make it so that whe my mod is enabled
(I’m doing this btw)
Override the create_card function to only grab from pools with your mod’s prefix
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
Ah
Great
Why
Lmao
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
True
What if I add like 300 jokers
Hypothetical
I could right
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
Each scoring card automatically does the juice_up() function when giving stuff, though?
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
The card in this case is actually the played hand...
isnt it card = card
even tho the +3 is on top of the played card
aaaaah
thats what i do for mine, and it seems to work
other_card is the other card (usually referencing the playing cards), card usually refers to the joker itself
I mean
my current code makes the joker wobble
when I play the hand
instantly
and once
card IIRC shouldnt be used, and any self in card.lua should be replaces with card
hrm
not when the effect is triggered
thats what I mean
hrmmm
hrm indeed
huh that's not even valid syntax
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
IIRC it should be card = card
thats what all my jokers that use other suits/cards do
oh
not the same thing as the suit jokers, but close enough
at least for context.individual, yes
yeah
i can't spell today huh
thats checking if a card is a heart, then adding 1 to mult, as long as its under max, then returning the little
(but red)
np
but yeah, card = card is what you want to use most of the time
card = card wobbles the card?
card = other_card is used for something, i cant remeber what though
it makes it do the shake thingy when triggered
you dont need that when it does a global boost tho
how does that even work lmao
caller calls Card:juice_up on the card you provide
its only when you do per card boosts
I made it work no worries
thanks anyway
its essentially the joker calling itself, which makes it shake because of something presumably in card
-# im talking out my ass here, this is just me guessing
yes and no
it's an object, the constructor for said object being just calling the object
that
oh
card badges?
u know those
probably a list or sth
oooh, those are just handled by rarity = 1-4
cause thats the only info I have
custom
oh I should probably add to that what function you use to actually create a badge
thats the question lmao
gimme a few I'll add it to the docs
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
please tell when done :3
done
It depends what you’re trying to do
thanks
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
You can only have one message
Use SMODS.eval_this if you need to change more than one thing
ah alr
The chips one is probably a wrong key, I think it’s chip_mod and a_chip from memory
chip_mod yes but it is a_chips
works now
how do I use this
thanks
like this, i can also grab it in a different font 😭
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
im going to presume theres an easier way to check when any card is played, but you can do
hold on
so, you'd want to put that in an if statement, around both
replace the card.ability.extra.chips/mult with that
Why are you using eval_this???
with the comma it helps
two different messages needed
I don’t think you need to do that
you do
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
well, theres multiple ways to do it
but eval_this is a way to give more then one message on a joker
card = card is useless since you've already passed card
ah yeah true
Then you really shouldn’t be using that method tbh. Imo better to understand what you’re doing than not.
that was talking about card = card
yes
not eval_this
Ah
it was a joke
This all just feels really scuff
deadass don't see why you wouldn't do two eval_this for this
-# smods moment
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
seems to be
oh yeah it works good
might downgrade it later lmao
thats way too op
anyway thanks yall
if you want more then one message on a joker, you have to use eval_this
well how'd you return twice in the same statement
each return only supports one message
It’s not.
-# *there more ways to do it then eval_this, but thats the way most people do it
i've tried two returns, it just doesnt
The code is just returning 2 tables
it'll only show the first message
In an array
it seems to only load the first oen, and ignores the second message
return {
{
mult_mod = ...
},
{
Xmult_mod = ...
}
}
is this what you meant?
Yea
What do you mean
its just not how it handles messages
the. vanilla built-in function to handle joker calculations
if it doesnt work, it doesnt
does not support that kind of return
so we have SMODS.eval_this to circumvent that, and allow more then one message
also please, turn off ping replys
I’m just gonna look at the code myself later
clearly you should rewrite the vanilla engine /s
G.FUNCS.evaluate_play is the function you need
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
ease_hands_played(1)
no? eval_this also works on playing cards and consumables
name is a lie, pos adds hands, neg removes hands
Good point. But also not really a special thing about eval_this, just a side effect of it using the status effect function
Oop wait sorry for the reply ping
thanks btw it works
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).
True
does your card have a config
yeah
this is the whole calculate part
What is your card.ability.extra.repetitions set to?
there is a center for base playing cards
the same way you would any other center
i just don't know the key by memory
should be easy to find
Huh, weird that it does not appear to apply the 2 repetitions to be done.
why doesnt this work
yeah I dont get why
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
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
I did the shaders
In shadertoy
where's negative
smh
i have no idea how shaders work
and i dont think negative is perfectly negative
It inverse the hue and darkens it
jimbo what happen
do these look "broken"?
poor guy
they look evil
the cost of -1 ante 😔
they want to kill me
basically sleep paralasis demon
im trying to stop things from blueprinting.. its not working
I think you'd have to inject a check into the calculate_joker func
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
self.ability.edition.key?
Idk tho
yeah you're being inconsistent with self.ability.edition and self.edition
(pretty sure it's the latter you want)
i HATE editions
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.
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? 🤔
dp.hovered
Then you’d be fine ig lol
lmao
@gritty valley https://github.com/Steamopollys/Steamodded/pull/335 what's this?
References global vars for no reason, added local defs
?
It's a one line change should be pretty clear
mult and hand_chips are real global cars though?
yeah those are supposed to be global
making them local means the function does nothing but display a message
moment
one might say a
moment, even
thunkism, guessing it's because it doesn't have to be passed around
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
question, why is semi-prime saul where your cards should be 😭
ooooh, good luck with my code though 😭
im glad to hear it :]
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)?
they were writing peanits but my fighting for control of my keyboard
didnt end well
Argh dang need the set prefix :/
Too early
jolly on that thang
that is definitly some modding development!!
- its your own opinion
- this is modding-dev
is this from cryptid
im testing trying to create mods, anyone knows why it wont show up on the activated mods list when you open the game??
ty
anyone know how to make a seal that removes it self? ._.
i cannot seem to figure it out
What do you mean, removes itself? Like when it triggers?
yea
I recommend finding something in an existing mod that removes seals and see how it removes them
just like gros micheal
Just removes the seal or the entire card?
Is there a button in debugplus or maybe in the steamodded itself that makes the game restart?
cryptid has like a spectral that removes all seals and abilities right
just the seal
I think so
Put card:set_seal() in the calculate function
hmm alrighto
You can look on the debug plus github to see all the hotkeys
That's what I did, but it doesn't seem to exist there
hold M
Hold M
M LIKE CRYPTID JOLLY JOKER 
You can use debug plus’ watch commands too
Ong you can quick restart
smth like this?
They hot reload files afaik
I mean you need a context but yeah
Hold m is smods native iirc
context for? when it triggers?
wahh steamodded still doesn't close the second console???
Not github but the link is here https://discord.com/channels/1116389027176787968/1228149931257237664
Thanks
I keep getting the old console staying up after the game closes
I js close it while the game is launching
yeah ik but it's annoying
Yes
what context would u suggest?
The individual one in G.play
C:money is valid, yeah.
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
ease_dollars
ah so I was close
ya
what went WROOOONG!?!?
what
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
}```
like 1/2 chance to gain 1-5$ per hand/card
No it’d be active
Now that I have the gimmick working I’m going to abuse the hell out it
Once per blind
what is Talisman in the Cryptid mod
it's 3 folders Cryptid, Talisman, and Steamodded
talisman allows higher scores, and the ability to skip the scoring animations
looks like {C:inactive}
like higher the the scientific notation or higher then nil score
hogher than naneinf
alr
thanks
base game goes till e308, talisman goes to omeganum
higher than practically any number you can imagine
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
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
nvm
unless it's something in jen code
there is no talisman commit for that
how did you do the chip mult
in the code
requires an extra dependency iirc
wot?
i don't think it's in smods yet
messy code
i know :<
how do I use custom variables
local
just do variable = value
ah alr
uhm
just do local variable = value
local !
i tink so
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
where is the string for the tabs stored? like "New Run" for example
oh cool
where do you put that
Then I just set chip_mod to Xchips_mod
top of code alone ?
You can mix text type and size ala {C:inactive,s:0.8}
looks good
Does anyone know how to access the full deck? To loop thru and check ~conditions~
I put that in my calculate function for my Joker under context.joker_main
G.playing_cards iirc
how do I make it so that it increases hands only for that blind and not permanant
G.deck also
noted
Thank you! Any real difference between those?
ease_hands iirc
but thats permanant increase
is it?
it is
ease_discards isnt
oh
is it?
it is for me
afaik G.playing_cards is simply a table containing every playing card you have (including those in play, in hand, and in deck) and G.deck is a cardarea where cards in your actual deck (not hand/play area) go
i would fact check this against the games actual source though
i don't know everything by memory
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
better to search for references to G.deck and G.playing_cards to see how you should handle them
in the return ?
also how do you handle the message
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
}
what does this mean "label = localize('b_remaining'),"
Does it make the label Remaining?
Would you want the message to be somehting like x100?
yes
but with the chip color
not the mult color
if i remember correctly there was a tutorial on doing exactly what your trying to do now but with mult
I just did tho
astro told me
if it's in english yeah
Then that would be something like
return {
message = 'x100',
colour = G.C.BLUE,
-- Other vars if needed
}
if your current language is spanish it'd be whatever remaining is in that translation
that makes sense
np
yeah
naw
"X" .. tostring(card.ability.extra.mult)
.. is concatenation in lua
don't ask why 
Ive never used tostring and it worked?
if concatenating a string with a number works that's wonky and tostring is better
yup
how do i check for cryptid, i want to add support for its stickers
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
i know arithmetic/relational metamethods don't work with numbers and tables
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
how would i alter this to check if a different tab is open
probably because it's an old bad lovely mod
did you know! Xchips and Xmult are basically the same!
but who knows 
it works though
so does yansim
I know but in the mod I'm making it makes sense to use Xchips on certain jokers
and undertale
trust
:[
i dont know what i should be looking for in order to make a tab in a specific area
not with almienac :3
me neither i don't do ui stuff much
if you can avoid UI then do it
what does it do with Xchips?
i have to have it
until i (maybe) (probably not) finish my ui library which i probably won't maybe won't finish
unfortunate
well ask eremel
everyone knows eremel is the only person that can do ui

different chipmult operatorss
like ^ chip?
so instead of chip*mult it can be chip^mult
and (10*3)^(2) is different than (10)^(2*3)
i fucking hate
discord
who decided asterisks were good for markup
discord
true
that's what i did 
how do i check if cryptid is enabled
if SMODS.Mods.Cryptid.can_load
cryptid id might be cryptid not Cryptid but you get the idea
broken jumpscare
@wintry solar are you aware of this? it's with #1279364322195144766 message
also why is that a stone card 
cryptid hogging all the priority
thats a lot of stakes
truly cryptid moment
jens is just inf
sigh
glad my mechanics work though it makes my life so much easier now that i did it once
that sounds painful
d1000 rerolls save file and unlocks
time to figure out which var has the skip tags
tboi?
where is that one guy when you need them 😔
prolly getting milk with my dad
Does this seem like too much? Its for a deck
it loojks good!!!
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
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
looks great
this is centers
whar
oh that's not-
game that's just
all of the tags
i just wanted the ones out
oh
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

is it G.centers.P_TAGS?
check what happenes when tags work probably
that's what im trying to say
no clue
lmfao
i would if i was at my computer
i'm not joking it's literally G.GAME.tags
makes sense
i gotta be sure tho
i was afraid it'd be some dumb shit in the blinds
Yeah I haven’t fixed galdur for the new stake changes yet, been a bit busy
wouldn't put it past 
ah makes sense
unfortunate
finals?
So something like this?
i didn't even catch that
What effect does this deck have?
Its an Envy deck. It has +2 discards, but has an Envy Joker that replaces the lowest value card in your hand with the highest value (eg. Replaces a 2 with a King)
how do i check if all the highlighted cards are glass?
wait i dont even need that
actually i do
nvm
I feel like that would be pretty good, no? It kinda forces face cards to
local flag
for i, card in pairs(G.hand.highlighted do)
if not --[[is this card glass? idk how to get this]] then
flag = true
end
end
if not flag then
--everything is glass
end
like in a can use
.. yeah
also eww... 2 space indents 🤮
im on mobile
oh ok
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..!
The best way would be just a dev-dependency thing. Idk if luarocks has that tho
luarocks and balatro do not coincide at all
also i have no clue what you're saying
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
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
What are you trying to find?
i mean.. technically you can look in G.I.TAGS
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
I've given up on it for now, thanks for the help
i tried multiple pixel designs for the diamonds and i couldnt find anything objectively better so in my "professional" opinion i think its good
not held tags, i want blind tags
i want whatever the current blind's tags are
Is there a way to get a playing card's rank? would card:get_id() work for that?
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 😅
probably some bullshit in the blinds then
i could prolly find it in 2 hours when I get home idk
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
im trying to add a tab right where the blue circle is in the deck options. but i dont know what i need to look for in order to do that could you point me in the right direction
iirc they’re created in ui definitions
oh?
It’s the view_deck function
wait where
Hold on let me find them
oh my god imagine if my balatro mod integrated with an isaac mod
💔
Is there a way to replace a card? If not, i can just delete one and add a dupe.
replace as in..?
Replace one playing card with another. for example, a higher value card replacing a lower value card.
check death code
no actually it's those 2 ones that i need
thank you so much
the thingies before get_next_tag
What does juice_up do?
Makes the item bounce up.
I see there are two params for it. What are the two values? a min and a max bounce?
juices uppickly
duration and intensity
iirc
generally you just use the defaults
So just leave it blank like this? card:juice_up()?
Yeah.
ye
Inb4 it doesn't work on controller
wdym
it should?
if it doesn't make a pull, i'm too lazy to accomodate for 1% of players
these types of added buttons are notorious for often not being controller compatible
Yeah
apparently it does not want to change the current tags
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
That's the Balatro reverse engineering process
basically
What are you trying to do?
