#đ»ă»modding-dev
1 messages · Page 275 of 1
I'll use my knowledge of Basque to test whether the localization is actually possible for non-germanic or romance languages. It's the only language I have experience with that's sufficiently different from french or dutch, haha
Actually they speak French in French Guyana and European French Guyana
what would be a cool name for a passive which allows you to play an unlimited number of hands and discards
âcool story broâ
thanks
I thought all your names came from Star Rail
this one isnt
I can only think of Ouroboros on the spot
is this for something that happens in boss blinds? I feel like something like 'awoken' or 'ascended' is probably on theme for star rail
limit break, of course
oh, true
alright
hm
The Wheel of Fate Turns
how do i make the number ease once
Are you ok?
if i wasn't i wouldn't go back to modding
reading your suggestions better, this is currently how I was planning to set it up already. I'm realizing in testing things out that my non-functional pseudocode system would fully allow for any language to be translated, luckily
so
SMODS.PokerHand{
key = "expression",
chips = 0,
mult = 0,
l_chips = 0,
l_mult = 0,
example = {
{ "", true, nil, akyrs_letter = "3"},
{ "", true, nil, akyrs_letter = "7"},
{ "", true, nil, akyrs_letter = "*"},
{ "", true, nil, akyrs_letter = "4"},
{ "", true, nil, akyrs_letter = "+"},
{ "", true, nil, akyrs_letter = "2"},
{ "", true, nil, akyrs_letter = "7"},
},
evaluate = function(parts, hand)
if ((not G.GAME.akyrs_character_stickers_enabled) or (not G.GAME.akyrs_mathematics_enabled)) then
return {} end
local word_hand = {}
table.sort(hand, function(a,b) return a.T.x < b.T.x end)
for _, v in pairs(hand) do
if not v.ability then return {} end
local alpha = v.ability.aikoyori_letters_stickers:lower()
if alpha == "#" and v.ability.aikoyori_pretend_letter then
-- if wild is set fr tbh
alpha = v.ability.aikoyori_pretend_letter:lower()
elseif alpha == "#" and AKYRS.config.wildcard_behaviour == 3 then -- if it's unset in mode 3 then just make it a random letter i guess
alpha = 'â
'
end
table.insert(word_hand, alpha)
end
local expression = table.concat(word_hand)
local status, value = pcall(AKYRS.MathParser.solve,AKYRS.MathParser,expression)
if not status then return {} end
if (G.STATE == G.STATES.HAND_PLAYED) then
if value ~= value then
error("Galaxy Collapse!",4)
return {}
end
attention_text({
scale = 1.5, text = string.upper(value), hold = 15, align = 'tm',
major = G.play, offset = {x = 0, y = -1}
})
G.GAME.aiko_words_played[value] = true
ease_chips(G.GAME.chips + value)
end
return {hand}
end,
}
``` is there a better approach than this
Hecatoncheires were hundred-handed giants from Greek myth
can also block a hundred creatures in mtg
Only if itâs monstrous
im not using that in my key ngl :3
cool name though
the whole concept for phase 3 is like The Needle but cooler
I had had an idea for a Challenge where you start with 50 Hands and 50 Discards and donât gain any more
go big for one last hand to beat the boss
also sorry to tag you again @humble girder but you should plug your mod more because it's got some of my favorite additions from mods like it, and I don't think people are aware đ
Wanna see a custom Akira MTG card?
I remember the mod adding⊠Blind-related⊠curses?
i'm really bad at marketing :p
Hiyall!!!
hiii
they just showed a loot system with optional goals during antes, and there's the whole deal with the devil mechanic. I love mods generally that take the opposite approach of mine and add interesting mechanics more so than adding jokers, and their mod's exactly what I think is cool to see pop up, haha
Hello carrot
hola
Do it like me and just annoyingly send messages here forcing them to remember your mod exists
-# play Victinâs Collection
haha unless you feel like you're still too much in development, I'll start plugging the mod when people pop up in #âă»modding-general and asking for recommendations
better than me
Both of you have other people marketing your mod
i'm literally too afraid to plug my own mod because of how bullshit it is
people may think it's farfa streaming JoyousSpring, but the reason it's doing well is actually me saying 'joyousspring is one of my favorite overhaul mods' whenever people ask for mods, after all
hey btw your func for multiplying card values is awesome tysm for sharing but right now it multiplies every value including ones that aren't listed so my cards get Xchips while held in hand and goofy stuff like that LOL
im also bad at marketing
LMAO
i fixed that, check my github
hang on
Baliame has Ice and Myst has⊠me I guess, sorry Myst
my function was meant to be a crude way to change values
aiko you post your mod screenshot like once every 5 seconds đ
I have finally decided to completely redo the stuff I have for The Carrot Field so far. I've been debating doing this for a while, and have finally decided to do it.
i copied aiko's function and fixed it up a little
hi ren
firee
I have the 110,920 unnamed project moon fans to plug my mod
Mostly going to focus on redoing Worlds, but also going to focus on redoing the Woman Suit into card genders because... Why not?
anyways i think ive done a good job with the snake suit considering what im working with
(might honestly be more proud of the small icon then the big one lol)
Thatâs true but I was plugging your mod to my Project Moon fan friend having played neither
I see 6 snakes 
I've been considering making youtube videos of Kino runs where I balance the content, and also doing some mod showcase videos because I feel like there are so many rad mods but all content is generally about cryptid
@manic rune, sorry but Myst revoked your name
by the way this suit exists at the request of a friend specifically so i can reference hit Underworld song King of Snake
bellafever
STOP GIVING ME NEW NICKNAMES FJKSAFSK
all modding youtube videos are 60% cryptid/jens, 35% pokermon and the rest are high effort vanillaesque mods
Sorry this happened to you, . If you want, we canât get you another name like Craig
i vote for craig
bellafever
craig... like gd cologne.....
đ
craig bellafever
Got to round 37 on my 6 Flesh Joker 52 Flesh Card run
rhythm heaven for switch pls
and most of those videos are people doing 4 hour long streams without going into anything, really, haha
has been voted for President Craig and elected, congrats
In case you missed it: Saturn is fixed (by me), you don't need everyday say to remove it, okay? 
I've made two videos of my blinds for showcasing yet I let the wonders of youtube do the trick
Wait you have both âconsumeâ and âflesh cardsâ ^^
there's one guy who's playing with a bunch of mods, but he just plays with them and gives no insight in what is from which mod or what makes those mods interesting, and the pack he's constructed is... lacking in any synergy, haha
(one is unlisted the other has like 400 views)
What do your Flesh cards do?
i feel like for a niche interest 400 views is entirely fine
The Flesh consumes
My Flesh consumes too
your apoc bird vid isnt doing very good myst đ
-# but somehow i managed to watch ALL of your vids
Omg hi bingbongfever
Roffle's modded videos do well because it's him, not because people are deeply into those mods, after all. People looking around for content that's focused on the mod are probably rare, and that content's not going to get a lot of views unless by happenstance, I reckon
I've also got an ace up the sleeve joker that I've somehow never seen in a mod
i geuninely cannot get a good enough fps when screen recording to do any videos about my mod
That's ur name right
which is a shame i have 300 subs to share it with T_T
bongbong fever
Binjobanjofever
You didnât look into my mod then đ
bingobangobishbashboshfever
i should give lobcorp the game not the mod another shot soon
It's a very exhausting game tbh I don't blame you for taking a break
Reworking Worlds into a Biome System instead, Reworking Gendered Suits into a new Gender Modifier because why not.
I felt like I didn't understand its mechanics properly, honestly
oooh, what's your set up for a biome system?
very is an understatement
Literally the same thing as mine but they aren't negative, god damnit
a biome mod is still on my list of things I wanna do once I've got Kino at a place where I'm okay taking a break from it, haha, so I'm curious as to how other people might approach the idea
Weâre just secretly making the same mod as each other đ
I'm adding jokers I've never seen before and it turns out all of them have been done before
ooh you have mod ideas outside of Kino?
blinds are disabled not debuffed
i've made this mistake before
I've been heavily considering taking a break once I've got the quest system and legendary jokers set up, because I keep having ideas for a mod that adds day/night cycles, weather, and biomes to the game, haha
the fault lies with me barely touching chicot because it's an ass legendary
:3
there we go :3
With the idea of setting it up very addition friendly so people could hook their mods into it. But I'm wanting to challenge my game design methods a bit by making things that aren't focused on jokers, mostly
where is my mod
gangs all here
what mod is it
i am still yet to add a single joker to my mod lmao
is cardsauce here
Is Victinâs Collection there
adding Express Train to Hell there and making it destroy every other title screen card after 40 seconds
oh boy i can't wait to play some BAACRYPAPERKEORO
whatâs the gray âdonât pay attention to thisâ color again
Inactive
alright thanks
inactive
feel free, it's playable but probably has a decent amount of balance issues which can't be uncovered without extensive playtesting
isnât S scale
there's also some placeholder art cards still
uhhhh
i don't mind but i know a lot of people care about the art of mods probably even more than the mechanics they add
A
AACRYPTIDAPERKEO
welp, guess my mod is fucked then :3
Gonna have to either patch or hook for it, but the main idea is that after each Ante, the player is forced to pick a biome card from a booster that automatically opens. Each Biome Card has its own unique rules, events, and cards you can buy when it's active and you can only have one at a time. After each Ante, you are forced to pick a new biome to travel to, and it will automatically replace your previous Biome Card.
The Rules and Event System will be the most difficult and different from the original implementation of Worlds, the original version of Biomed.
you're theming it around something which usually matters a lot
i want to visit Japan
yeahhhh NeatoJokers doesn't add too much content but it's loved because the art is amazing
theres not a single trace of art in my mod
the closest thing to "art" implemented in my mod is this
if you're interested, I'm commissionable for $0 to do some medioce pixel art for mods I think are cool đ
lmao
Can I take_ownership to cards from other mods?
can i check in an enhancement for when the enhancement gets removed
yes
im sooooooo excited for the face cards for my custom suit. thats sure is gonna be something
my art is just official art downscaled or official art downscaled and traced
and lyman
shoutouts to lyman
Is this will override all card function or only added by me?
joyousspring mentioned
if you would like to contribute art, you're welcome to do so, i definitely wouldn't go as far as to say i commission it
and on that very same note, your mediocre pixel art is probably a lot better than my subpar pixel art lol
hi
also can i decrement values in the config area
i cut a dozen corners on anything that looks decent
ok i think i need to go refresh my brain, holy shit
iirc anything you specify overwrites the original, but anything you don't overwrite remains
probably have some cases of copyright infringement in there or something
Cool
because for curses i want to have a ttk value that ticks down
my art is mostly tracing and shrinking down movie posters, haha, for Kino.
good morning N'
morning :))
morning aiko
check out the last phase of cocolia :3
half of your deck!?
I love agressive patching
tracing and shrinking official art đ€
I'll have a look at some point and see if there's any placeholder card that sparks an idea
oh yeah, let me tell you about all about my method of google image search, shrink, pixellate -> mosaic and some hue/saturation adjustments đ
Iâve done some art for my mod but recently Iâve been too lazy to do it
i might make a ritual card called âlast standâ that reduces your hands to one and your discards to 0 but gives you double mult and chips (applied at the end of scoring)
I still wanna find a card to do art for for Victin as well, but I tried to do a glass jar filled with teeth and that broke me for a while, haha
is this to stack the consumables
Of course, one of the biomes has to be the titular bitchular. So I'm adding a Carrot Field biome to my mod
not permanently
Binary Star staring at me from the corner:
Yes
only for the blind

i thought that was jsab
Ha-ha, it's working
Should I add to its description that it also âbreaks iceâ
heh
how does a jar of teeth break ice
its too hot
very carefully
it melts ice
I do still do some minor text edits, but for some jokers like this one, where there's no textless poster available, that's a fucking nightmare because I can't photoshop so I just have to handpaint areas that were covered by text back in, haha
i hope you don't ever have to do it for the dozen negative consumable jokers there will be in my mod
Is that Popeye
Oh, very similar to how I'd implement it! Excited to see what you cook up for that!
is that honey i shrunk the kids
no it's popeye
welp
get shrunk
ok i have reached the face cards in my custom suit spriting and i have no clue what im gonna do about it
Well, if it was some convenient way to implement
Only observatory and one guy from Pokermon for now
I have 4 Biome ideas for it right now
do i just. copy the face cards of one of the base suits? because theres no way i can make a new face card art
oes my rich presence work
Round 11
oh spotify is taking place
omg hit executable mania song round 11
im setting up rich presebce on intellij
its peak
:3
:3
DIE DIE DIE DIE
:3
i got this email and perished on the spot
Biomes in my mod so far:
Carrot Field (Obviously)
Discord
The Feywilds
anyone else use wakatime or hackatime
I was so fucking tempted holy shit
out of curiosity btw, what are some of the things that caught your eye
how do i debuff a card.
what do people think of Scott Pilgrim Deck Skins (with assets from the game)
Would be really fucking cool
card:debuff(true)?
SMODS.debuff_card
SMODS.debuff_card
I started making them but originally I planned to draw them. Since I noticed I could just copy and edit the existing sprites, I wasnât sure how to feel about it
as itsplayed
message = 'blahblah'..variable
Either localize or use tostring
.. is a built in concatenate operator
You can put .. on any combination of numbers and strings and they'll place nice if they aren't nil
https://youtu.be/HN6sEyvP5Ao
hooh another video on my mod yippee
This was achieved very early into a run where I had incredible luck with my jokers, by gaining punishing bird, big bird and judgement bird, selling punishing bird no longer kills you, instead it prompts a special boss blind for you to suppress apocalypse bird for its insanely overpowered joker that comes as naturally negative in the same way whi...
Iâm still not sure how to evaluate referencing vs tracing vs copying very well
The contract cards are a very fun concept, and the preview you posted two days ago regarding loot and bonus objectives is a great one. A mechanic I'd love to see even in vanilla balatro honestly. Coupled with the fact that outside the placeholder art, your stuff's got a good polish to it
The red text is a bit hard to read
Also, MTX enhancements, ofc
will not change
One of the ideas I had is adding a fourth type of blind. Mini-Boss Blinds
it contrasts better in front of other backgrounds but not this one
but it's also a lobcorp and ruina quirk for red flavor text so no changes there
yeah contracts are one of those mechanics that feel like are missing from balatro as a roguelike, there's no real mid-run high risk-high reward swings
red text?? i love umineko
loot was fully inspired by roffle taking every chance to mention how utterly bad it is to skip blinds
I was wondering if it could have a low alpha contrasting background
Or an outline
I want to rework the Skip mechanic
Out of every choice thunk made, they did put a lot of effort into Skips but they didnât make them appealing
i don't think text supports outline
the contracts feel less like a good fit for vanilla, I think partially due to theming, but they are a cool addition. But optional goals feels very vanilla, yeah
but background is bad, it would obstruct gameplay even more
Also small detail: Small Beakâs effect continues to refer to Small Beak even though itâs persistent
And Skips are definitely the biggest miss in vanilla, mechanics-wise. Unless we're counting each joker as a mechanic, it'd be matador in that case
here's what ive got so far
it's persistent so it refers to the Passive and not the Blind name
i need to fix hand names not updating
matador is clunky as all hell but a good blind 1 matador with a good blind is instant economy
Youâre not playing against Small Beak but youâre still affected by it
The difference is that thunk also doesnât like Matador
it's a super niche situation for such a specific effect to work, I find. Outside of the mechanics being super unclear as to when it'll trigger
No repeating [hands played during Small Beak]
đ
I mean I can see how he'd like skips, I just think there's probably a better implementation of it. Loot's definitely a good alternative
not No repeating hands played [during Small Beak]
I see
How does Loot work
you complete bonus objectives during blinds
Skips would be good if they didn't skip [=
which adds loot to a limited area (that you can discard from)
which will materialize into a massive booster pack when you skip a blind
so it kind of balances this thing where you can have very strong rewards for certain objectives, which makes you play suboptimally, but to actually get that reward, you must take a skip somewhere, which again, usually a bad idea
This is so cool... I actually really like this idea. Is this a new type of blind or does it just act as a normal boss blind?
while not making every skip insanely valuable
I see
it's a special blind that can only be summoned by having 3 specific jokers
Oops sorry. Forget to turn off ping
crunchy green grapes
nw
gotta be the best fruit in the world...
Weakest L Corp blind
/j
that would make taking every skip the optimal play, which is also something that should ideally be avoided
My idea is to replace Skips with Raise
fucking
ANTE 3?????
Raising gives you the Blind and the Tag but also a negative effect
đ
i call bullshit
personally i would rate my blinds in terms of difficulty as
The Red Mist < WhiteNight < Apocalypse Bird <
me
i agree, is hard as fuck
Iâm the hardest Blind
đ
đ€š
I too added Medusa to Balatro
can she make me {C:attention}Rock Hard{} tho
No only {C:vic_stone:}Stone{}
aw
I kinda wanna add secret Boss Blinds myself now...
add self-insert boss blinds
Iâm planning to add ||Legendaries unlocked by defeating Boss Blinds||
it works now i guess
this won't be easy to balance, there's the additional problem of vanilla tags being very weak
@tall wharf yo your mod is pretty cool
Adding Bepis to Balatro
Must score more than 17 chips to win
(not X17, just 17)
đ
This is literally just a different video game
I was going to do 1 but I felt like 17 was less insulting
do it :3
screw it im just gonna copy the hearts face cards for the snake suit
i am not drawing new face cards
I'm tempted to make a new card suit specifically for the flesh cards so that they're like, melting people [=
so you are purposely insulting me đ
But doing flushes on every hand is too OP I think
Ignore the joker I have that makes every flushable hand a flush hand
oh boy i sure do enjoy the sunlight!
the nefarious When Day Breaks:
No, this is literally just a different video game
Sorry v_v
I need art for my jokers but I don't wanna burden anybody with making art for my jokers
embrace the coder art
I donât think the challenges will be very big
Most should add cards to your deck or change cards in your deck
two questions
Also I remember the Edition Tags from the demo
does it absolutely break hologram
and will they be too weak and make every skip a nobrainer
I mean I donât think they should be too weak
Question, how do I remove a button from a card when I successfully detecting when that card is being highlighted?
First I thought that maybe self.children.use_button:remove() but that doesn't seem to be working.
I thinks it's because that specific button is being declared as the last thing when the card is selected, but I'm not sure.
Any ideas on what to do?
king of snake by underworld
i feel like that should be it, though
unless it's actually the sell_button
idk
it's the use button, but it's being added after the card:highlight function stops running and I'm doing things by injecting code (toml)
oh, well, i'd probably patch whatever function is requesting the creation of the button, check conditions whether creation should be prevented and not call the button creation function at all if these conditions are met
here's the thing it's another smods mod that's adding it
you can patch other mods
how do I do that?
target="=[SMODS mod_key 'path_to_file.lua]"
I just realized that perkolator being a common joker also makes it rarer
can you give me a 'path_to_file' example on how it should look?
for example if i were to patch my own very excellent mod baliatro 's main.lua from another mod i'd do
target = "=[SMODS baliatro 'src/main.lua']"
-# try baliatro today
am i doing it right @hushed field
amazing thanks
ace of snake
i literally just made this by scaling up the icon and sculpting it out of the blockiness lmao
âąïž
aikos shenanigans tm card when
if you spell a brand name with tm you get brand recognition points
alternatively you lose sellout points
lmao
bro did not have to be doing all that he just needed to say it
Alright, Super duper weird question. Do you reckon theres a way to save a card to some kind of table, to then re-add to the deck at a later date
Like destroy a card, and return it later. Type beat
you can save it to a new cardarea
Ayyyy cheers
@heady siren just did this if you go up a bit, you can fully store cards in a table when you destroy them
alternatively, I've got a mechanic that stores them in a new cardarea for my mod, though that's a bit more involved if you wanna properly remove them from the deck
still fucking breaks
im sad i cant post videos of my mod while developing because i hate my mod and i would never personally play it
still does the same thing đ
its your mod make a mod you like
does context.destroy_card work for G.deck
what elses should i add to my mod
my mod
im going to add more jokers
:3
the wiki says it does
what is it
-# oh, actually?
#1338562637453066240
you have to add it to extra cardareas
idk but i know c:start_dissolve() works in deck
i looks wild lol
i can try adapting one of the concepts to fit perkeo
i dunno what there is in my mod thats cool enough for others to implement, but sure :D
Why do you hate it
i hate videogames
Might need the additional option
which one
Including Balatro?
Deck CardArea
hmmm
especially balatro
optional features, right?
yeah
oh damn the game just includes custom suits by default?
this?
im pretty sure its a smods thing
i took this that aure postetd before
is it cardarea or cardareas đ€
well yea but still
Making Jokers such a pain as I see 
wtf..............
i actually find making jokers quite easy
@edgy reef
id say the easiest are probably either consumables or enhancements
every time i see a question about enhancements it seems like the most difficult thing ever
have you mastered editions yet N'
how do you add the extra boxes on the side of your decription
i havent made one
fixed some decimal place stuff
info_queue?
i will probably never understand those editions i dont understand that separate language at all lol
and also đ
Iâve yet to try anything but jokers
do hand lvls do anything
nope
ic
I wanna at least understand how the existing shaders can be used for fun effects. I wanna see what I can do with that crt filter đ€ My The Ring joker would be so much more fun if it'd crank that up real bad before it kills you
best i made when attempting to mess with them was the color blue and it crashed the game if you did anything with it
I canât find any simple shaders to reference
ok i think it's going insane
Thatâs my biggest issue trying to learn them
https://glsl.app/ here's an online shader tester and
I couldnât make it work for textures
And I couldnât find a tutorial
chatgpt make a shader for me pls
there's so many glsl shader stuff on github
but ignore all that
here's one good way imo to understand how shaders come together
I meant that I couldnât load textures in GLSL.app
open up blender and do some graph editing for textures
in what way could you not
blender can make balatro shaders?
you press textures, drop your texture, then just use texel() to sample the u_textures[0]
no but blender materials are just easier to understand shader code
The GLSL tutorials said that a texture is loaded with texture but thatâs not a function in GLSL.app
if you figure out how to do the effect in blender it's not that hard to translate it to GLSL code
Even though I passed a something2D and the st
guys is this how you make shaders
maybe
balala screen
@humble girder do you know how to load textures in GLSL.app?
https://registry.khronos.org/OpenGL-Refpages/es3.0/html/texture.xhtml if you have #version 300 es, then this is how you do it pretty sure
question
did you or did you not have a version declaration
whats the difference between context.destroying_card and context.destroy_card
I started from the example that shows up on the website
context.destroying_card is vanilla
I know theyâre random examples, but I just tried to save the texture in a variable
oh, so context.destroy_card is like the upgraded version of that?
-# probably didnt need this then
I think my issue is that I donât know where the sampler2D stuff is saved in the backend to access it
listen idk wtf you were doing but it's literally dead simple
I thought it was just the provided variable
Maybe I didnât try u_textures[0]
I think I tried 1 and above lol
IT WORKS
?????????
im so gonna fuck up my mod's players
hey me again
this doesn't seem to be working
maybe I'm not understanding what the mod_key is correctly?
dusk 2: the cemetery
The texture I had uploaded was texture 10
i think it's the mod folder name
i cant decide whether my custom suit should be in the deck by default or if it should be obtained by consumables and special decks only
who tf is jim-
or actually i think it might be the id they define in their smods manifest
thank you bepilisraiglla.
oof that would be bad
i think it might be that one
but not 100%, might be a good time to ask @frosty dock
yeah, i asked that in the smods discord server but no responses so far
i havent seen any mods doing it too
p sure it's prefix?
maybe
idk actually
actually um guys do you think this flower color looks better? (adjusted for lighting)
i think its too bright
try everything
once you have it correctly, it should not whiff according to the output and the patched lua should appear in your Mods/lovely/dump folder
No jimbo anymore 
ask MathIsFun to try it out
Does the parchment thing I stole from the lucky card work for this text? The word pack tends to stay consistent, but I should probably find a solve for that standing out so much
maybe I have to name the toml something specific?
this looks nice i like it
nope, i have a lovely.toml in my mod root and it works fine for everything
by the way guys is there a way to like. move around the jokers to put them on some page
you don't
everything sound related is handled in the sound thread
@humble girder could it be that my mod has a higher priority?
it could be your mod has a lower priority
the order of how you load your jokers
i think that matters, yes
SMODS.Joker { order = X } i think should matter for how they show up on collection
i mean, to put them on the same pages as the canon jokers
ooh cool!
oh
hey. be nice to my boy ride the bus
bepis..
đ
man this is the second joker im coding i have to use the update method for
why do i choose the hardest ideas
this properly removes the cards but then they are still selected for some reason?? allowing you to do this
why is that
does this actually mattter? I used order when i started the mod, and continue doing so just because it allows me to check things using the search function for metadata reasons, but load order seems to determine the collection order, and order seems to not do much at all
first joker reacts to stone cards turning into anything else
second joker reacts to destroying rare jokers
i feel like you can do both with hooks but yeah
neither of these should be update()
what are hooks..............hmhmhm
send in the link
part of the code
calculate = function(self, card, context)
if context.first_hand_drawn then
G.E_MANAGER:add_event(Event({trigger = 'after', delay = 0.4, func = function()
-- Save the current highlighted limit
local original_highlighted_limit = G.hand.config.highlighted_limit
-- Set the highlighted limit to 9999
G.hand.config.highlighted_limit = 9999
local discarded_count = 0
local any_selected = false
-- Iterate over both hand and deck cards to handle debuffs
local all_cards = {G.hand.cards, G.deck.cards}
for _, card_list in ipairs(all_cards) do
for i = #card_list, 1, -1 do
local selected_card = card_list[i]
if selected_card.debuff then
G.hand:add_to_highlighted(selected_card, true)
table.remove(card_list, i) -- Remove the debuffed card from the list
discarded_count = discarded_count + (card_list == G.hand.cards and 1 or 0) -- Count discarded only from hand
any_selected = true
end
end
end
-- Discard selected highlighted cards
if any_selected then
G.FUNCS.discard_cards_from_highlighted(nil, true)
end
-- Draw new cards to replace discarded ones from the hand
if discarded_count > 0 then
local cards_to_draw = math.min(discard
ed_count, #G.deck.cards)
G.FUNCS.draw_from_deck_to_hand(cards_to_draw)
end
-- Restore the original highlighted limit
G.hand.config.highlighted_limit = original_highlighted_limit
AHHHH SCARY
In LUA, it is a very important concept to understand that everything is a variable and all variables may be edited in runtime. This includes functions. With modding other peoples' LUA files, like Klei's basegame code, you may find yourself wanting to run your code before or after the original fun...
hook
MR PRESIDENT GET DOWN
hooking is you make a function, you put the function you're hooking inside that function, and then you replace the original function with the new function
what its just terrible coding
its more like adding code to before/after the function, honestly
what? how does this help to make these
cause you can do it to vanilla functions
maybe do G.hand:unhighlight_all() after?
so i inject code in the card.lua thing?
no injections needed
instead of checking all the time in update you only check at the times it's necessary by appending to vanilla functions
i think gml rotted my brain
can you give me an example of something like that? i think i'm not getting it
for example how would i react to rare jokers getting destroyed
or just any joker, whatever
i have this so when a joker is sold or destroyed it goes to the graveyard for example
yes that fixed it yippee
you need a bit more logic to not count selling but its doable
OHHH WAIT I GET IT I THINK
weird that cards that are in the discard pile can be highlighted in the first place
so technically this is just injecting code into something the game already has by adding something BEFORE a function?
is this the way
it think it just doesnt unhighlight them automatically so theyre still in G.hand.highlighted
yes
would this still be possible if i executed the ref function before my code?
yes
or in the middle
goodbye hardcoding......... goodbye forever
@humble girder not it but maybe it has something to do with the fact that it's a custom function not a SMODS.something
nope
you're patching files, not functions
:(
@red flower sorry for the ping, just want to clarify.
so the way of doing the things i listed is adding new context?
you can do that yeah
SMODS.calculate_context({you_context = true})
you can add anything you want to that table
i feel like people are gonna walk out after fighting cocolia with like 10 cards left when they had 40
OOH peak! thank you for the help
it should give you glass cards for beating her
im considering making bosses drop something unique to them after they are defeated
for cocolia, how about unlocking bronya's eidolons :3
good enough, I reckon, I don't wanna do more fabric texturing
looks amazing!
...just use table dude
Yes
just asking: what about making a table with all hands names and then using for loop to check if card.ability.extra.contestant_hand is equal to (table item)
Yansim ass code
i have no idea how to do table stuff
Do you have experience with another programming language
Well learn the entire game is built on them
not really
Makes sense
only html which doesn't really help
Damn
oh ok
A Lua table is {}
i know what a table is i just don't know how to use them well
It holds pairs of keys and values
So if you table had keys named after the Poker hands, you could access the desired variables that way
why is the edition activating twice specifically for the discard increase?
how would i add this card to the tarot pool?
not 100% sure about the colors here
learning japanese feels like learning whole anohter languiage
but yeah defining the consumeable with a tarot set should be all you need to do
Try increasing the weight, if thatâs a thing
i don't believe you
Idk if it is
nope
ah
SMODS.Consumable {
object_type = "Consumable",
set = "Tarot",
key = "ace_of_pentacles",
pos = { x = 3, y = 0 },
cost = 4,
atlas = "BaliatroSpectral",
config = {
max_highlighted = 2,
min_highlighted = 1,
mod_conv = 'm_baliatro_resistant',
},
}
this tarot is in my pools without any extra work
i see
and i'm pretty sure the object_type is something i blindly copied out of cryptid but not needed
funny you should ask
max_highlighted = 2,
min_highlighted = 1,
mod_conv = 'm_baliatro_resistant',
},```
should just work
this goes crazy
i got it working with a table, but i had to change all the names so that it worked with the localization keys
so now I have to figure out how to translate that to the actual hand it is
arent the localization keys the same as the names
what im using this for is toggling between different possible descriptions for each hand
you can
't
["keyHigh Card"]
it crashes when i try to have spaces
unless i just have to put it in quotes in the localization files
yes
like this
;
:
\n
..
food()
is key_append in vanilla's create a card functionality only really used for pseudorandom functionality?
you can use it in in_pool to check the source of the creation
Does smods place it there, or did I just miss that in the source code?
yeah i think smods does
How do y'all understand the source code
ah, I was literally gonna add it myself otherwise, haha
I try reading it and it's just like
Wat
I trace a lot of functions so I can see where things come from. I don't understand everything. Some functions are really webbed deep in other functions
Reminds me of my old blackjack program I made
But I check the function, and where it's called to see what it's doing. Because sometimes only checking the function's code doesn't make it clear why certain things are happening
All the functions are wired and intertwied
i went insane
Yeah
i just get it
Crazy?
once yeah
Is there any way to read it better
Hmm, so it seems that boosterpacks don't use a key_append. I'll have to check if the shop itself appends anything. This way I can exempt joker creators like riff-raff and judgement from creating the wrong jokers
Also I'm pretty sure local bonk didn't make it so I can scale the soul part of the title screen cards
:(
for jokers it's 'buf'
Ah, that's good to know
ga h h
I'll just add that to my custom booster packs, I guess. It'll slightly cause issues with modded boosters I suspect, but not in a way that'd matter
me when everything becomes Jimbo
well that ain
i keep accidentally pressing enter
that ain't good
wjhat are we thinkin so far
I like
-# doing hands in pixel art is so hard ;^;
i remember people talking about quirks when it came to saving tables. What was the deal with that?
I put in like 2 prints for logging purposes and it just randomly started working perfectly again?? đ
i agree
the fix for this was to rename my main file???
hands are hard in general
So as far as I know there is w and h for the soul sprite
card.children.front.VT.w is in the unit function for the card class
But I'm trying to figure what that is
And what it does
Where it's set
does loc_text() not work here?
loc_txt()
took a strangely long amount of time for me to get these working
hello how are you? fine thank you
does anyone happen to know where my consumeables are
gone.
gone, reduced to quarks
i eated them
on strike
me with my suspiciously consumable tray shaped stomach
ok no seriously where did it go
yeah judgement was sick of breaking up the tarots that convert into suits
ok i think i disabled them by accident
So I tried to add a tooltip through loc_vars and it crashed the game?
Anyone know why?
what are the config values
This? config = { extra = { current = 0, needed = 3, mult = 8, upgraded = false } },
I should probably provide the full relevant code
anotha 1
what is joker_druid in this case?
In the lang file, descriptions -> Other
question how do i check the vouchers that have been redeemed this run
you're not passing vars to your info_queue, I suspect
you wanna add a vars = {} in your info_queue in loc vars, for the joker_druid thing
One of my ugliest creations yet
nah that's a v ery silly goober
And just use a copy of the ones I have already?
I'm not sure which values you'd wanna display there. it's going to depend on what you want those values to be
what is joker_druid in this case? Is it like an enhancement-esque thing?
Uh It's a joker called Sapling, you sell 3 jokers, and it upgrades to Druid which gives mult based on jokers sold, but is still technically the same card
yes but you can always --dump-all to find out
So joker_druid is an alternate name and description for it
is this correct?
Wait
How are you doing that change? Are you changing the ability over?
Balatro is just dead ass open source software
halp i wanna make a thing that redeems blank and antimatter when used
Check cryptids decks
They have one that does that
i'm too tired to dig through cryptid rn đ
I just set the upgraded variable to true and do different stuff in calculate
Is there a more optimal way?
h
You can make it a separate joker, and use set_ability(key for the druid joker). It'll still be the same card, keeping editions and such, but change ability
that way you also don't need multiple localization entries
Ohhhhhhh that's neat
That'll fix all the issues I had when it used to create Druid and destroy Sapling
the deck in question
Check Betmmaâs
forcing jokers to appear is working đ
Cute
Shouldn't the tarot description say its going to turn up to 2 cards into red bullseyes?
Forcing Jokers? 
yeah ill change that later but thats not the issue
Also this works! Thx
i am consistent and independent
*derivates you again*
if you use set_ability, you'll not need to pass through vars anymore, btw. Jokers can just be passed onto the info_queue quite simply
How so?
Now I just need to figure out the gameplay logic for it. Should it override booster pack specifics? If a booster pack says 'create 3 Fantasy jokers', but the forced order says 'the next jokers are all the Spielberg jokers ordered by release date', should the booster pack pick any potential forced jokers? Should it remove those from the order? Should not acknowledge the effect at all? Or should the natural booster pack limits be overridden? đ€
What is the issue then?
if you pass G.P_CENTERS[joker_key] to info_queue, it'll localize that jokers information and grab the vars from its config
Ah alright
I think you need the can_use and use functions.
Hmm, I think the best thing to do is to have booster packs that are more limited in what they create ignore it. I'm mostly using it for a deck and a challenge, so I can ban the items that would create issues. I don't think there's a way for this to be logical
where would i put them?
it should work like the tags where they only overwrite stuff they can overwrite
so if there's a spielberg fantasy then it does and if not it waits until it can overwrite another thing
the problem is that it'd overwrite the larger rule in that case. They wouldn't be showing up by order of release in that case, for example
Probably after config.
yippeee
anytime i open shop i get this error, my code:
how are we feeling about this balancewise
Cool effect, though "at once" could be clarified a little better. Is that per round?
any source
Seems like one of those jokers that with a good build carries you to ante 12, but isn't going to get you past it without other jokers to truly break it. Also very dependent on how economy functions in your mod
How does this handle retriggers? Does retriggering a held gold seal count as 6 or is it just two instances of 3
oh wait i just read the name im sorry
how would you apply an enhancement to a card?
that should count as two instances of 3
card:set_ability('m_prefix_enhancement') I think.
here's how midas does it, v is a playing card
v:set_ability(G.P_CENTERS.m_gold, nil, true)```
the other enhancements are m_lucky, m_steel, m_glass and such
it might need the mod prefix if its a custom enhancement?
You need your mod prefix between m_ and redbulls
im not sure i havent messed with custon enhancements yet
ok
Did you forget to emplace?
You have to specify what area a joker is going to when you add it
Or any card really
is this correct for awarding an enhancement to a card using a tarot?
The use function needs to be in where you define the tarot.
To me what this looks like is you forgetting to specify an area in your card creation function
And like this use = function(self,card,area,copier)
yeah its in there
that's not how you define a function
SMODS.add_card({set = 'Joker', area = G.jokers, rarity = 'Common', no_edition = true})
this is the line of code I use to create a random common joker. if you don't have the area = G.jokers part, it's just plopped onto the screen and you can drag it around wherever
you shouldn't need to specify the area
really
hmmmm
it should default to G.jokers or G.consumeables depending on input
might have something to do with the fact that when i wrote and tested this code i was using an older version of smods
what you've described happens when using SMODS.create_card
ah
Is there a way I can make a mod that modified the base game language file
so is this right
There should be no if statement around the function.
they have the green particle illness
now i gotta dig thru cryptid AGAIN to see how they do the pull code card thing
v should be card instead I presume
You need to use basegame create_card, not SMODS's
doesnt crash but it doesnt do anything now it just vanishes
last time i made a booster pack SMODS.create_card was fine that's odd
Since it's a booster pack create_card("set") should do the trick...?
skip_materialize = true
add this
Oooooh, I see
how is this
ahh right thanks
And thanks also x)
thank you talisman very cool
How can I check if a card in a played hand wasn't scored?
you need to apply the enhancement to the highlighted card(s)
rather than the consumable itself
theres an optional feature for the context.cardarea == 'unscored'
it's not an optional feature
like, im not going crazy
if i run it in the command prompt of debug plus, it works normally
oh is it just a thing now then
boom
yeah
neat
I HATE TALISMAN đŁïž
oh my god ive been scratching my head over this for an hour now
holy fuck
can I see line numbers
that's... not even the file of the crash
what's around the line where it actually crashed
heres the crash log
Ooooo ok
yeah that makes more sense
please dont leave me on the train track đ