#đ»ă»modding-dev
1 messages · Page 9 of 1
oh
đŠ
oh gog
like "this card permanently gains 2 retriggers"
you should make a angel/devil deal system so i dont have to
api api
thats what aure is doing
true...
honestly im hesitant to do stuff lately cuz i dont want to just make a huge pile of work for my future self
ik basically everything in smods 1.0 is going to necessitate redoing stuff ive done
so i want to do less stuff in the meantime
but also smods 1.0 could take weeks or months
next decade
does anyone know the difference between context.setting_blind and context.first_hand_drawn
cards exist vs not?
i believe the first is when blind is selected, and 2nd is when first hand is drawn
more like silly
chronically silly
im chronically online
thats just what i think having used both of those in jokers before
first_hand_drawn is called in Game:update_draw_to_hand and setting_blind is called in new_round()
New round being first
Suit API for no particular reason... https://discord.com/channels/1116389027176787968/1232902086191087769
so if i wanted to make a consumable that ust be used before a blind which will have an effect on said blind, how would i store if the consumable had been in an effective method
nvm
i added four more blinds to https://discord.com/channels/1116389027176787968/1232902086191087769 today
surprised it's even making it to development tbh
i respect it though
its been, tho 90% of the work is art rn, at least for sin jokers, tarots and blinds
because dynamic code :]
my one contribution so far is the
i just have to get the art implemented in a certain order :/
downside to dynamic code
I was just thinking I might be able to get steamodded loaded on a vanilla copy of balatro with nothing but a modified settings file.
has anyone sucessfully added new buttons to the joker select ui, next to the sell button?
ooh, time to do some code diving
i also do it in https://discord.com/channels/1116389027176787968/1230703637223833661 :3
#đ»ă»modding-dev message it actually seems like all of my cards have broken shaders? vouchers act the same as the spectrals, and the jokers dont have any visual effect when debuffed? has anyone seen this?
no just my jonkers
jokers
not even other mods which is the strangest part
Fallback art, when i havent added a texture yet also works fine?
is notmario around
i'm wondering why the heck my "balatro website" code isn't working
oh there it is
website
numbalatro github real?
crazy question
is it possible to add like
"layers" to a joker's sprite
other than the soul
Probably
i don't want anything else that sticks out i just want the image to be made up of multiple overlayed transparent ones
Iâm not home so I canât text it rn
i saw multiple souls before yeah
yea, i assume the layers use a axis normal jokers do not so chossing a small but higher number should give that effect
considering playing cards literally do the exact thing i'm describing i can probably just reference them lol
BTW; if letâs say there was an event this weekend, how many people would wanna participate?
i would
what kind of event
whats like the winning thing get, or what happens with what wins
i also wonder if it's possible to change a sprite's hue each frame
I wouldnât say thereâs really a winner, more like, itâs a communal corporation event
but tbf maybe i can just use a shader or something
Foul words
âShaderâ
the hue thing is the reason why i need the layer stuff in the first place, cause i want the backdrop on this joker to cycle through hues
you'll understand why when you see it
jonkler jam when
I plan on doing it this weekend
im tempted to say yes but also it may depend on what the ruleset is
Wdym?
wait maybe i can just use children.front for the overlay layer
What rules would discourage you from joining?
idk... its not like i know how to make a joker anyway lol
you should use the same rules as game jams
uhhhhhhh... that might be a problem because i use children.front for EnhanceAPI
on... jokers?
one of these days im going to look at enhanceapi's code and understand any of it...
oh
carry on then
just wasn't sure if you were gonna expand on this to playing cards
children.front is how playing cards work already isnt it
ye
but i have the enhancement draw on the front, and a blank card draw on the center
for enhancements that hide the rank
like stone
ion even know how to give a joker a front im lost here
where can i call set_sprites
i guess; i'm just not sure how to make the front a blank sprite without making it nil and having it crash
i think thats how i do it
set the front to a negative pos
could you not just include a transparent sprite with the api
jesus i am lost
steamodded definitely doesn't seem to come with any joker front support so i figure i'll probably have to hook into something or whatever
but idk what
it doesnt help that this is a card game so searching for draw becomes way harder đ
I Cannot Change My Settings
also what
what are you doing back there
you shy or something
oh shit i did it
now i just need to shift the hue of the center
i think i may need to do a shader
oh looking in the negative shader i realize my evaluation from before was completely wrong
SAT's rgb is hue saturation and value lmao
so it is just genuinely a hue shift and inversion
that's what i figured it was
for some reason time isn't working in this shader
like it sets the hue to something different whenever the card is loaded but then it just stays there
is the sprite only drawn once or something
potentially?
it would probably get exhausting for the engine to redraw the entire sprite every single frame
i mean does it not do that for shine effects
what are the rgb values of the shader name vec btw
oh nvm
.g is literally what i'm looking for
i think it's the delta time or something
actually no im stupid its just the time in general
i got the card looking exactly how i want though now all i need to do is sprite work
i mean, if you give me an idea on how you want it to look, i can try ig
i might also try to scroll the texture since i'm doing a shader anyway but idk if that'd work with the borders of the card
i think i'm pretty good at simplistic jokers, at least.
oh nah i got the sprites covered
đ
idk, i'm just kinda proud of these little joker sprites i've been doing
they may not be crazy, but they're turning out how i want to
chat room am i insane or are these lines the exact same
chat
the change was
one space
at the end of the bottom line
...
lol
i dont know if the scrolling texture for the center is even possible
all the people i'm seeing talk about scrolling textures online seem to have access to stuff they don't give you in the balatro shader setup
like being able to set vec4 colour yourself
actually maybe the crt shader has the answer i'm looking for
oh shit yeah ok this is totally possible
i might need to have the center on a different atlas though
the atlas tag in joker:new is being weird
i have it set to the different one but its absolutely refusing to use anything but the one that matches its slug
i guess i could try switching the filenames??
if one matches the slug itll override im pretty sure
morefluff change for vanilla parity
ok well now the floating_sprite is stuck on the one that's used for its center
can the floating_sprite and center not use different atlases??
i don't think so
i guess i have to do a bunch of stupid math with the shader then
actually maybe not that much since i can just put the parallax part on the top left
yeah that's some weird priority nonsense, it's being changed for 1.0
it's gonna always use the give atlas if provided
that's good
so uh why cant you just have everythjng on one atlas
i was being stupid i can
i just wasn't thinking hard enough
does anyone know the range of texture_coords.x and y btw
oh its 0 to 1
ok i got the scrolling but there's weird seams
probably some rounding bullshit
wtf no matter what i do there's still these awful seams
circle joker when
Ï cards held in hand
i've been trying to get rid of this seam
for an hour
there's apparently a different texel fetching function that doesn't have the issue
but it's in a version LITERALLY .1 HIGHER THAN THE ONE LOVE USES
OMG
I FIXED IT
I NEEDED TO DISABLE MIPMAPPING FOR THE SPRITE
holy shit it's finally over
Good afternoon chat
now all i need to do is set a mask so the parallax doesn't go outside the edges of the card
uhhh i have no idea how to do that fuck
this is probably the most stupid over the top joker ever
i so badly want to break the dark colors rule
i think i'll just color them spade color
Oh that looks amazing
I broke it for a Joker recently
This one
?
is it like don't use colors darker than the joker black
hmmm
Wrong channel?
the gifts
So, wrong channel?
?
I mean I thought you just wanted to talk about a run with a mod
ohhhh
What are the "rules" for Joker art?
i think it's just generally trying to maintain the same style as the og ones
the game doesn't use pitch black, the darkest color is #4f6367
I usually like to use this message #đšă»fan-art message
Thanks!
Yeah, I'm not following the pallete so strictly
What's the pallete btw?
it's a shader
it just loops through a section on the spritesheet and shifts the hue
it was harder than it sounds because i spent a genuine hour trying to figure out why the background had seams before realizing i had to turn off mipmapping for that sprite
getting a joker to have a front was also interesting but not nearly as hard
Interesting. Do you think this could be used for animated Jokers (sans shaders)?
i mean i'm not sure how else a joker could be animated tbh
unless you could just register an animated atlas for it somehow
you can just load an animated sprite instead
oh damn it's that easy lol
Blinds have animated atlases so I was thinking maybe it could work for Jokers too
I havenât tried because Iâm a bit too lazy to do a 6-frame animation right now
i should see about whipping something up for that i think i see how to do it tbh
when in doubt make the animation just some random stuff
I know I could test with something else
imagine if you had to do some hacky snes esque shit with palette cycling in a shader
But I already have the first frame (base Joker art)
how do you put shaders on jokers
/gen
i need this now
actually that could probably be cool as hell for a joker based off those fuckin... holographic thingies that show a different image based on the angle
also lemme grab the code
yeah lenticular
someone make a lenticular joker and wow everyone with your shader knowledge
-- IN INIT
G.SHADERS['shader'] = love.graphics.newShader(SMODS.findModByID('modname').path.."/assets/shaders/shader.fs")
-- OUTSIDE OF INIT
local card_draw_ref = Card.draw
function Card.draw(self, layer)
card_draw_ref(self, layer)
layer = layer or 'both'
if (layer == 'shadow' or layer == 'both') then
self.ARGS.send_to_shader = self.ARGS.send_to_shader or {}
self.ARGS.send_to_shader[1] = math.min(self.VT.r*3, 1) + G.TIMERS.REAL/(28) + (self.juice and self.juice.r*20 or 0) + self.tilt_var.amt
self.ARGS.send_to_shader[2] = G.TIMERS.REAL
for k, v in pairs(self.children) do
v.VT.scale = self.VT.scale
end
end
if (layer == 'card' or layer == 'both') then
if self.sprite_facing == 'front' then
if self.ability.name == "The Knight" then -- replace "shader" with shader filename, use "dissolve" and delete the other args for no shader, it still needs to be there tho or else the other sprites will be drawn over it
self.children.center:draw_shader('shader', nil, self.ARGS.send_to_shader)
self.children.front:draw_shader('shader', nil, self.ARGS.send_to_shader) -- if you didn't manually add a front to your joker then get rid of this
self.children.floating_sprite:draw_shader('dissolve',0, nil, nil, self.children.center,scale_mod, rotate_mod,nil, 0.1 + 0.03*math.sin(1.8*G.TIMERS.REAL),nil, 0.6) -- these two are only required if it has a soul
self.children.floating_sprite:draw_shader('dissolve', nil, nil, nil, self.children.center, scale_mod, rotate_mod)
end
if self.seal then -- i think this part is required for joker stamp compat lol
G.shared_seals[self.seal].role.draw_major = self
G.shared_seals[self.seal]:draw_shader('dissolve', nil, nil, nil, self.children.center)
if self.seal == 'Gold' then G.shared_seals[self.seal]:draw_shader('voucher', nil, self.ARGS.send_to_shader, nil, self.children.center) end
end
end
end
end
@golden lake
and that works with additional stuff like editions?
also the code to add a front to a joker if anyone wants it
-- function below from Numbuh214
function align_layer(card, layer)
v = card.children[layer]
if v ~= nil then
v.states.hover = card.states.hover
v.states.click = card.states.click
v.states.drag = card.states.drag
v.states.collide.can = false
v:set_role({major = card, role_type = 'Glued', draw_major = card})
end
end
local card_setspritesref = Card.set_sprites
function Card:set_sprites(_center, _front)
if _center then
if _center.name == "name" then
G.ASSET_ATLAS["atlas"].image:setMipmapFilter();
self.children.front = Sprite(self.T.x, self.T.y, self.T.w, self.T.h, G.ASSET_ATLAS["atlas"], {x = 0, y = 0}) -- change pos as needed
self.children.center = Sprite(self.T.x, self.T.y, self.T.w, self.T.h, G.ASSET_ATLAS["atlas"], {x = 1, y = 0})
align_layer(self, "front")
align_layer(self, "center")
align_layer(self, "floating_sprite") -- delete this if no soul
end
end
card_setspritesref(self, _center, _front)
end
uhh i haven't actually checked
gulp
if it doesn't then i have some work to do
i know you can nest shaders considering negative has two of them but it might be something you have to do manually i don't know
i'm going to bed rn but i'll try to remember later
oh damn, seal polling in standard packs is inconsistent with their order in center pools
i don't want steamodded to change rng if no additional seals are loaded
that's inconvenient đ
Maybe ask thunk to change it 
Maybe have a function to compute the pool?
Can seals have flags? Maybe they could have flags
I'll just have a separate list that starts off with the order they're in for the vanilla poll
it's not that much overhead, it's fine
lmao
It's at the end of the last line
downside is i dont think i can really make it so the framerate is controllable
oh also it breaks constantly
yeah no animated jokers can be someone smarter's claim to fame
it crashes as soon as any other code so much as breathes on the sprite
just dropping a teaser of what i've been cooking before passing out
(yes, i made some changes to the website code. yes, i will be sharing them once they're all done.)
i also did that with my website
(not exactly what you did but i did make changes)
shouldn't punch clock be common
it's basically the same as walkie except it gives 40 chips directly instead of 10 chips 4 mult
Perfect
not really it doesnt actually work
if Anything happens to the sprite it breaks cuz the AnimatedSprite code is ever so infuriatingly different i guess
I love Punch Clock. Brick by Brick has great flavor, though I see it doesnât count Flush House. One-Armed Bandit is fun. Iâve been trying to think of similar ideas for 7s and Clubs and 3OAKs but I need to find something competitive still
Whyâs magic number got a 70% strength blur on it
Do you have an example? Blinds are animated and you can do a lot to them
holy shit this is art
bro
Can there be compatibility conflict if a mod uses their own enhancer.png file and I use my own for my own stuff?
Oh wait the mod i'm thinking about does it differently nvm
you should always use your own atlases unless you're modifying all of a vanilla one
the math.ceil
;-;
chat which suit map is better? In 1, the values are the y values for the suit in question in the atlas. In 2, the suits are just in order in which they are in the spritesheet, but that means suit_map[1] corresponds to y=0 and it's less efficient needing to loop the list to find a suit
I love it
fun
lmfao
why is the game making me do the tutorial again ? I swear
just play on an unlocked profile
That's the neat part
I don't
XD
well I do have some XD but I managed to fix it
The fix being deleting the mod
and I made the mod đ
welp
I completed the tutorial... SO I can't find the problem
That's how you fix your mods
say there's no problem
Also anybody knows what's cuasing this logging wit hSteamodded, it's annoying me very much
some testing artifact on generate_card_ui, I guess
I think I'll release a small mod that adds negative cards to the game so other people don't have to implement it on their own.
Oh neat
The game does already properly render negative cards but they don't function
I thought it would be hard then I decided to try using lovely and it was easy.
Exactly
Now I need to fix the tooltip and that extra juice while evaluating and it's done, I think?
It also seems to slow down when drawing the cards
The draw is a bit weird but I don't know how to make it smoother.
I know the issue is I draw cards individually, but with arbitrary negative cards in the deck I don't know how to fix it, except rewriting the function that draws cards.
negative gives +1 joker slot
Yeah haven't looked at how the code works, but maybe you could just add some code to the draw function to deincrement the number or whatever when it draws a negative
just make negative cards +1 hand size and make it not being able to be copies by death/cryptid etc for balance
The mod only makes them function
Can you do that in a for loop? Maybe I could change it to a while loop
If you make a card in your hand negative it also squeezes them together. That couçd be improve
Looking into it, maybe that would help but I'm not sure what speeds up the draw actually
I had another effect which I wanted to speed up but I have no idea what makes animations accelerate or not
What is the entry point for balatro when you start the game? is it main.lua?
I need your help yall
each of these mods work perfectly fine alone
but when I try to launch a game with both of them it's an infinite loading screen
How is it going
anygood news?
I can make them display the tooltip for consumables, but if I try to add a custom tooltip to the localization file it errors.
Does anyone have an idea why?
because i was trying to emulate the blurry feel of an old VHS tape... given that the card is a schoolhouse rock reference, i think it works well.
guys
what did i do
oh no
i should nerf this to be like, just the joker on the right
yeah, i should probably say "contains" for brick by brick; but i was mostly just saying "is" to preserve flush house being a "secret" hand
and the rarities are... kind of arbitrary atm? i'll probably make punch clock common, maybe make magic number uncommon given it has amazing retrigger synergy
It should say contain anyways
First it was Lua syntax infecting my GDScript, now it's the other way around.
Also refactoring is amazing
đ
WHAT
Okay, I still don't know how to make it work.
I tried adding a new entry to the localization, but it doesn't seem to work?
why does scholar show up twice
i hate modding i hate modding
Itâs a Balatro University cameo
function SMODS.Jokers.j_cueball.loc_def(card)
card.calculate_joker({generate_ui = true})
return {card.ability.extra.card1, card.ability.extra.card2, card.ability.extra.card3}
end
why does this not work
it works on my friend's end but not on mine
wait wha
Are you on 1.0.1f?
alright now I just have a bunch of ugly function overrides to get through
some of these I do really just wanna keep as destructive as they are
It could be a version diff, maybe your friend is playing 1.00 or something
Thatâs all I can think of
I know one of my lovely patches is different in 1.00/1.01 for Cryptid
is there a way to tell if a suit is "light" or not? ie blackboard effect
ok i fixed it by just putting everything in locdef
Yokcos made this sick card for Balatrostuck and it wasn't working, but now it is
actually i gues i can just look at how the bunco cassette tape thing handles it
if it does it manually i will be sad
:o!
I mean how else would it be done
are suits not just automatically registered as light/dark for blackboard?
No
so if you have blackboard with sixsuits it doesn't count moons???
it will totally not explode in your face
Not unless it's coded to
that's genuinely wacky
I was wondering how I could see inside an opaque ball
someone should code a ContrastAPI or sth
like, an api that adds like
Light and Dark suit registers
I was conceptualizing an effect for a different omniscient character
and changes vanilla jokers to work with dark light suits
i guess i'll just have to check for every mod that adds new suits and add the "dark" ones to a table or something
But I wasn't sure what, besides playing with the deck face-up
or do what i said
should smeared smear all lights with each other? or just specific pairs
600 suits is doing pairs
Why is it dark and light and not blacks and reds?
call it like, TwilightAPI or someshit
Demo Smeared had Black and Red
yeah that could work too
But thunk changed it after people complained
honestly that probably wouldn't be too hard lol
it was unclear
the api thing
does flower pot work with sixsuits?
and you'd be doing people a favor
because then people would be able to like
use things
Flush and pale
I think it's too specific IMO, but I guess it people want it
too specific to be an API
not really
definitely not
it's an essential thing for mods that add a lot of suits
Nah that's kind of the point of an api
bunco has a card that uses it too
i feel like it should just be part of the suit api
Why should mods conform to binary suit allocations
i'm genuinely surprised it's not
I mean, if you add a lot of suits you could group them in more than two colors
i mean they don't have to, but some do
it'd probably be better to allow any number of colors
like bunco and sixsuits
thats not the point, the point is to take vanilla functionality and make it extendible for modded usages
I think this makes more sense
Define two groups for vanilla but allow an arbitrary number of them for modded
you'd just have the light/dark or red/black divide as the primary divide
are there really any mods rn that add a third color though?
also Lyman look
Balatrostruck adds 12 /hj
Hello hi akai
600 suits pairing things could just be turned into colors
I just finished my first training shift
How did it go?
colors would be more of possible categories than anything else
Glad to hear it ended up okay
What am I to be gazing upon
ponder the orb
Did the mod thanos snap happen yet or does 0.9.8 still work fine if you update lovely
OK phew
You told me yeee
should the diamond one be buffed
no
the diamond should be nerfed
this thing cranks out
way too much money with two eggs
you get into like
$90 per round

how do you check if a mod is loaded again
in like 5 antes
Normally you can't get two Eggs though
findbymodid should work right?
showman
i mean i always just kind of deferred that to a later point in time
even with one egg its stupidly powerful econ
normally
so would i just do like
i mean that's still pretty normal
if SMODS.findModByID('SixSuits')
nah
i think that should work?
1.0: if SMODS.MODS.SixSuits
gift attack
holy shit square joker..
this works but is O(n) in regards to how many mods are loaded - you can check in constant time by checking if the init function exists though
How do you check if the Flush has a specific suit though? Do you iterate over all Flushes contained in the hand?
btw @slow ocean what should be the 5th card of the Dersite set
Another 1.0 change to keep in mind...
so wording here is very important
if it contains a Clubs Flush
it destroys all played cards
so if the hand is Flush
and at least one of the scoring cards is Clubs
it counts
wait so if I play a diamond flush with one wild card, it also counts?
That's not how I'd interpret Clubs Flush
are there any other suits i should add
i believe so? lmao
I thought a Clubs Flush should have five (or four) Clubs at least
that's really funny I like that
same. i'd posit that the dominant suit would have to be clubs to count as a clubs flush
i guess that's fair
Again I'd make it extensible by adding more colors, and I don't like the default names :P
That's fine but I think it needs to be clearer
invisible gift card...
eh, I'm likely adding something for this to the API anyways
i mean the names are internal so it's whatever
its already as clear as can be?
Not really
if it contains a clubs flush
garfields and ls
it do thing
I don't think four Clubs and a wild is all Suits
^
8s and Nulls
just those 2?
i'm not adding 600suits compat sorry
it is though
You just need to make the list extensible IMO
and make methods apply to any element of the list
it makes wild cards proc on all 4 of them
and i think if you can use that to your advantage that's great
yeah i'll let mods define new colors and a suit's color
Again, it's fine if you want it to work that way, but I'm saying it's not clear
and other people agree with my interpretation of Suit Flush
it's not clear in a way which is more like a secret mechanic
it kind of makes the spade and club ones really good
it's still working with what you're describing
like above common good
Ehhh I don't really see it that way
I was thinking suits can define a smeared_suit field, and any suits with matching smeared_suit values count as the same suit under smeared joker rules
you're arguing balance for Balatrostuck, I don't think that's an argument that can be won or posited
That sounds smarter, but it only allows for inclusion in one group
i think its hilarious that you can proc them on wildcards
I'm not arguing for balance, I'm arguing for clarity of the description
maybe just add reminder text? idk
The mechanic can be whatever you want
the description is clear enough
I just don't think the Joker description is clear vis-a-vis people agreeing with my interpretation
it tells you the primary function
the primary function works correctly
you'll only ever run into the other usage if you like
Use a Wild card
yes
that could get extremely confusing though
and it won't screw you over, it'll actually make you go "oh shit this works?"
So?
wild cards need a buff
Well if your hand turns to Stones when you were expecting it not to now you have less Diamonds to work with
Etc.
I'm not criticizing the existence of technicalities, I'm saying the technicality is based on a definition you find intuitive but most people seem not to
Anyways
It's your mod
i thought of wording that i guess you might be happy with because i'm happy with it
i could allow a list of smeared_suits and check if the compared suits have any one suit in common
I'm just not sure I like the possible implications of that >_<
god i'm gonna have to add a new type of suit color to test this api
shouldn't smearing be transitive?
something something bitwise operators
make stars and moons purple?
just define a large binary number and if two suits have a 1 in the same binimal place they're the same
aren't stars considered light and moons dark by something in the mod already
you can use tables as sets
I haven't touched that logic
so it does whatever it does by default
maybe i was thinking of something else
which is treat them as black
i guess i should also take ownership of smeared with this mod?
array table
vector table
set table
map table
queue table
struct table
class table
lua is so silly <3
are blackboard and smeared the only vanilla jokers that have an effect related to suit "color"
why isn't there a red equivalent to blackboard?
because redundancies
Different suits have different strenghts
btw Victin what do you think of the effects of the Dersite jokers
the only other differences between suits are the four rock things right
is this how i reference jokers i take ownership of?
yep
cool
the 1.0 way is also slightly different
Hegemonic Brute my beloved..
marbled steel (steeled marble?) jumpscare
(though this will be equally valid)
SMODS.Joker:take_ownership('blackboard', { calculate = function(self, context) end }
They're all very impactful, but I'm not sure how even their strength is. CD seems a bit weaker because Stones have less synergy usually. DD seems situational, but when it works it works very well. Jack is risky since he destroys before scoring, but the long-term benefit of a smaller deck is strong, and you might only ever play two hands with him. HB can help manipulate your deck but it can take a while, and eventually you'll likely want to get rid of him.
Jack is the only one who has effect after scoring btw
Ah, then he's less risky
But it makes sense IMO because that's what players would assume
ok i set up a local variable in blackboard that should be a table of all the suits it'll accept but i'm not sure how to get this to work with a table
do you like how each card parallels a Tarot card that can be tied to each character
ie. HB -> Strength, DD -> Temperance, CD -> Tower, Jack Noir -> Hanged Man
If you have a table of Blacks, you iterative over entries in the table and see if v is that suit. If Blacks is a number, you see if the number of the suit corresponds to the number corresponding to Blacks
I do
Makes me think what they were in the official Homestuck tarot set
also if you are still looking for another Dersite Joker, maybe the Mayor?
i guess i could just do something like
for k, v in ipairs(G.hand.cards) do
all_cards = all_cards + 1
local done = false
for i,w in ipairs(goodsuits) do
if v:is_suit(w, nil, true) then
done = true
end
if done then
black_suits = black_suits + 1
return
end
end
end
I think for Blackboard it's more efficient the other way around
Aluminium card
would Mayor be Uncommon
I think that'd be really funny
This is making me wonder if there should be a mod that just takes ownership of jokers for the purpose of making them compatible with modded object shenanigans
also Mayor is arguably like
the weakest of them
so having him have a better effect than all the agents would be hilarious
I think unlike the other 4, there isn't a Mayor in every session, so indeed he's the rarest of them
He also unites both Prospitians and Dersites, so I think there's some Flush flavor to be had there if you continue the theme
I wanna do something with this
all suits are green
i mean i could just have steamodded change smeared/blackboard effects through lovely without taking ownership
what does it mean..
it means they're green
Smeared Joker synergy!
all jokers are orange
Also regarding Tarots, I'd say he's The Fool, maybe?
I'm mostly thinking of stuff like Baron/Shoot The Moon/etc. interacting with card effects that are multiple ranks simultaneously.
(Vagueposting about Index Card most likely being hell to implement for this reason)
Maybe the suit of your last Flush?
sounds a bit complex
mhm there was an idea to introduce an is_rank function, but that just might take quite a lot of patching
also makes straights calc really obnoxious as you have to also be careful not to count the same card twice
also @zealous glen what do you think of making a mirror set of Midnight Crew jokers with a Straight Flush proc
or a Straight proc
Hmmm! Sounds fun!
they'd be Rare instead of Common
I support Straight Flush synergy but four Jokers at Rare might be a bit much.
wait aren't there 4 secret hands?
3 if you don't count Royal Flush I think
hmm
trying to conceptualize how they could work
I really like the idea of a parallel Midnight Crew set
with like, "reverse" Tarot effects
why is this giving me an error
no dot before []
its just G.suitcolors[v]
Does anyone know how to make this tooltip work correctly? I'm trying to add a new tooltip for Negative playable cards but I haven't been able to make it work
when mod adds 600 suits to that list (it extends the box outside the screen):
blackboard jumpscare
cool it works
now do it on smeared
i wonder if i can get the colors in
Do you know any mods that extend the localization dictionaries?
Wait can steamodded handle new editions?
I don't want to add a new edition, I just want a new dictionary entry for it
it can handle new editions
Like, Negative has two dictionary entries
you could just group suits into "Bright" and "Dark," and have the appropriate suits listed in an info tab
I want to add a third
yeah true
and then reword smeared joker to say
flushes can be made with any suit of the same color
"Flushes can be made with any 5 cards of Bright or Dark suit"
@frosty dock do you know how I can add a new entry to an existing localization dictionary with Steamodded?
Blacks and Reds*
it's light and dark
i mean, that's also fair
The demo used Blacks and Reds
cool
but at the same time, i think more ambiguous wording would help the state that modded balatro already finds itself in
I'm currently trying to download the steammodded modloader, but chrome keeps blocking it, saying it's a dangerous download. Is there some other way to download it, or another mod loader I could use?
You can tell Chrome to download it anyways if you trust the download
How do I do that?
Otherwise, you can check out how to install Steamodded with Lovely
Just look at the popup that shows up
I saw one thing saying to right click and save link, but that didn't work
Brights and Darks is better because it doesn't enforce like, red coloring on the other part of a set
like, not every set will have Blacks and Reds
The only option given is delete from history
I mean, I don't think it enforces Red coloring as much as Brights enforces Bright coloring
I'm gonna have a hardcoded joker that groups together Pale and Flushed suits
we are all dangerous here
exactly
we will steal your honda civic
nobody give them the answer that's gonna encourage them to bring the conversation offtopic more often, we have to make an example out of this one
my bad, I thought this would make more sense in dev chat since I am planning on using it to make and test mods, but it makes sense that it should be in standard modding chat
it's one of the most frequently asked questions and the reason we had the chat/dev schism to begin with
ah, my bad
you can literally just search it up in the #1209506514763522108 forums under guides and you'll get results
this is why im convinced we should beat up people who use AI chatbots over search engines
not saying you do, just a tangent
I don't trust AI chatbots to search but they can usually write simple programs right. But they're not consistent IMO
hell no chatgpt sucks ass at coding
Anyways I'm still going insane at this
every time ive used chatgpt ive spent days debugging the code
also good morning chat
The two or three times I used it it worked well
Good morning!
And I only used it because I couldn't find the information I wanted online
I might release this API as is and let users debug it for me
i fucked sometihng up
âYâknow what, screw you *unsmears your Smeared Joker*â
i have no idea what i'm doing wrong here genuinely
maybe i need to do colors[k] instead?
exactly. the default in-game colors for bright and dark could BE red and black... just having the more vague terminology helps the game feel more cohesive.
you are going to save Murphy's 600 suits showcase fr
also hear me out, suit collection stamps
on the cards
like, a little stamp in the bottom left corner
that's either red or black
indicating if they're a bright or dark suit
Speaking of which i should continue working on some more blinds
i'm just gonna have tooltips for each suit color that will show on smeared and blackboard
It can get ridiculous though
So I would advise maybe adding an option in the options menu to have a stamp or other kind of indicator for bright/dark suits
if you have that many suits you're asking for it tbf
it doesn't even have to be much
i don't think it'll matter unless you're deliberately using a shit ton of suits
(insert image of extremely long smeared description)
I think as a colorblind support option the stamps would be nice
are you not able to set colors using loc_vars
Check how Ancient Joker does it
that doesn't work if the amount of colors you're using is dynamic so i'll just leave it alone i guess
Thank god I was right that Prolétaire wasn't 1/5 of the code, but this joker is definitely pushing it
Literally 2x the lines of every other joker
And it's gonna be more with the custom blinds
(Yes, I've been spending the past 4 hours refactoring Ortalab)
Wait I miscounted the total lines
Ok yea
Pog
does anybody know what G.STATE_COMPLETE is responsible for?
I feel like there is something in between G.FUNCS.play_cards_from_highlighted and G.FUNCS.draw_from_deck_to_hand, but not sure what exactly
im pretty suree its used for checking if a blind is dead after calculating a hand?
i think?
do you know what happens exactly after you throw all played cards into discard pile and before you draw cards? I feel like there must be something that I missed completely
for some reason this shows both colors in the collection but only 1 during gameplay
like you said, i think there's something about blind state checking, but not sure if there is more
now I'm thinking maybe it's Game:update_draw_to_hand(dt)
that's what's responsible for drawing cards, Serpent uses it
It contains logic that determines stuff like if X cards discarded, draw X cards
but it can be modified to be sth like, if X cards discarded, draw 10 cards
i see
then i guess it was Game.update_hand_played?
so many shady business between stages
ok ive coded with js and py before, but never with lua. so i cant really understand any of the code. how would i go about adding something such as a joker, tarot card, tag, etc?
would absolutely fucking adore if it could tell me what ipairs it's talking about i can't lie
ipairs is whenever it break downs a table into pairs where the key is an integer and the value is whatever
Try the Steamodded wiki
whats down the stack trace
Like seriously just look at the size difference
lmfao
alright
obviously its the ipairs on line 1754 đ
@silent sinew whats down the stack trace
here ya go
the what
i think the issue is here but i dont know where
Bunch of loc_txt related things
can you just show me the stack trace please
wrong person? i'm confused what error you're talking about
balatrotale
too used to pinging me đ
Maybe you need to parse the text
I was trying to do that to get Negative Card tooltip to show
yeah you're passing a null table
But anyways, I think you get a nil instead of a table with parsed text
is there anything below this
i have no idea how i'm passing a nil table
what's the closest part of stack trace that shows your mod's code
none of it shows any of my mod's code
like, try to find a part of the stack trace where it specifically says sth like at file 'your_mod'
my best guess is that i % 2 somehow ends up never being 1
it will say that
oh yeah you have to add 1
modulo is
a 0 range
array tables are 1..n
not 0..n
so you want to do ((i - 1) % 2 ) + 1
otherwise the value will start at 0
we love off by 1 errors
that still crashes with the exact same error
Where do you run this function?
I don't know if when executing the tooltip is a good time to create the localization, especially when it's not parsed
I think the game parses the localization when it initializes a language and then saves it
yep
i'll just format it after a mod adds something that should be put in it then
I have a mod that edits the localization and it just works
I'm trying to mod the localization for a different mod and it doesn't work
I don't understand
all of this just so that suits mods dont break Smeared and Blackboard
ok that was it
Flower Pot compat when?
What was it?
i just had to not format it in the tooltip function
Where did you format it?
i'm still having the unrelated problem where smeared is only showing one tooltip outside of the collection though
_ _
I read that message and it didn't help me
why does it matter
Here
and when do you call that ^^'
it's a function for other mods to call
after everything is registered
Inside or outside the init?
Let me try that
Does that matter in Lua?
idk
i need to go do something but if anyone knows why this is happening it'd be much appreciated
Nope
keep it as error
its funnier that way
its like "what the fuck?? how did you get your playing cards negative??? "
I can make it display the tooltip for Negative consumables but I can't seem to make it display a new one
I feel like there's a simple solution I don't know and it drives me mad
btw Victin
I think I'll release the API like this so other people can fix it for me
did you see the new Aspect backgrounds that Yokcos made?
I don't think I did
Oh those are really cool
It's such a high quality mod
they did such a good job on it
Art, effects, flavor, all top notch
The background is very nice
does the file where i declare the vouchers have to be named something specific?
we're heating up the clockworks with this one
im thinking of making a spectral card that makes like 5 wild cards because i think wild cards are pretty fun
might make it less than 5 bc it might be op
or like how do i make it so the vouchers actually exist instead of just being in a file
nvm found it đ
nice
what do i put before the .path?
the thing is just in the assets 1x and 2x folders
oh im dumb
how is it unsupported file format
is it not supposed to be a png
here lemme get some screenshots
Oh wait I see ur problem
for some reason i cant take a screenshot of game but this is the code
it says unsupported file format
Like when you open balatro?
ye
could not decode (file path) to imagedata: unsupported file format
with (file path) just being where the file is
Wait do you have any other mods
Took me 5 hours to do but Ortalab is no longer one egregiously long .lua file.
2850 -> 76 is one hell of a transformation
that is amazing
well the code looks pretty good so you might have mispelled something?
thats weird
thats how coding is sometimes lol
i think the last one should be "Booster"
still only says 32 vouchers in collectionn
but also that makes sense that it would be that
oh yeah this should be inside the function
like the SMODS.INIT one
hooray
define_suit_color seems to be working fine
but making a new color doesn't which is weird
ok i think it works for blackboard but something in the smeared function is making it not register as a flush when i play a hand of gays and leprechauns
ok blackboard's actual effect doesn't work either what
there's no visual indicator for being pinned other than the tooltip, right?
ok i got blackboard working but
i think i got the context wrong
because it triggers 3 times
that should be an easy fix
when you get this working, I'd love to see how to do it, because I'm working on six hundred suits.
no idea why my smeared joker code isnt working
how do i make a joker that has like, gains X1 mult every time a 9 is played?
turns out having multiple pinned cards is... kinda jank?
oh my god is_suit gets run like a million times when you select 5 cards
try pinning with a event function
im basically just using the builtin code, and it probably doesnt matter too much?
lets gooo
oh, fixed it, nvm
we're crashing the game with this one
oh now custom suits dont even work with light or dark flushes when they did before
wonderful
what did i even change
i think i'll just overwrite is_suit because it works exactly the same as it does normally
just with added features
that did not fix anything
what the actual fuck am i doing wrong
this SHOULD work
colorlist only has values
suitcolors.colors[color] has suits
i'm losing my goddamn mind
Do you have the entire .lua file?
