#⚙・modding-general

1 messages · Page 10 of 1

haughty hinge
#

you motherfu-

#

save editing can't save me from bad rng

uncut terrace
#

G.hand.cards

rare shell
#

im trying to iterate through held hands but i dont think im using the right call

#

oh

#

i guess i am

#
                if context.cardarea == G.hand then
                    if self.ability.name == 'Alloyed Joker' then
                        for k, v in ipairs(G.hand.cards) do
                            if v.ability.name == 'Steel Card' then
                                G.GAME.dollar_buffer = (G.GAME.dollar_buffer or 0) + self.ability.extra.dollars
                                G.E_MANAGER:add_event(Event({func = (function() G.GAME.dollar_buffer = 0; return true end)}))
                                return {
                                    dollars = self.ability.extra.dollars,
                                    card = self
                                }
                            end
                        end
                    end
                end```
#

am i stupid?

#

(i know theres no debuff check here, im just trying to get this to work at all)

cosmic shell
#

you could also do context.end_of_round and context.individual, that's run on for every card in the hand at the end of round so wouldn't need a for loop, there's even an empty branch for it at line 2804.

rare shell
#

ah its cropped out but it is under context.end_of_round and individual

haughty hinge
#

any link to a sort of tutorial to get started on this type of coding in general?

cosmic shell
rare shell
#

i may have had a brain fart because i was copying the code from mime

#

i just did that and testing it right now

#

hmmm

#

nope

cosmic shell
#

maybe check against golden ticket, since that also does stuff to individual cards with an ability

rare shell
#

the ability checking isnt the problem since i used this code with other jokers

white scarab
uncut terrace
rare shell
#

havent used sendDebugMessage before tbh

#

i did get rid of the Steel Card check just to see if that was the issue and it wasnt

white scarab
#

I’ve literally never used sendDebugMessage in my entire time working with mod loaders lol

#

I just print() it

rare shell
#

where does it print to? is it just printed on screen?

#

you know

#

i think i have a different solution

#

looking through i figure i can just give steel cards h_dollars of 3

white scarab
#

The way I use it is running the game from the command line with balatro --console

rare shell
#

did not know this, thank you

#

question then, how would i go about giving steel cards h_dollars of 3 🤔

#

is there a way of passively giving a specific suite of cards a variable bonus?

clever rampart
#

how can i make it so the player starts with an eternal joker, just how to make a starting joker eternal?

rare hill
#

oh, guess I need to reinstall my modloader again

rare shell
#

update day

rare shell
#

i really thought this would be easier than it is

#

wait it works

#

its REAL jank but it applies h_dollars to all steel cards when a hand is played

#

now i just need to figure out how to undo that when its destroyed

#

thinking about it the h_dollar method might be more cumbersome than checking end of round

rare shell
#

okay yeah i have no clue whats going on with context.end_of_round

#

i keep getting crashes when im not in context.individual and context.individual does nothing

#

maybe i need check for context.cardarea == G.hand??

#

nope

#

heres the snippet im trying to do it with

#
        elseif context.end_of_round then
            if context.individual then
                if self.ability.name == 'Alloyed Joker' then
                    G.GAME.dollar_buffer = (G.GAME.dollar_buffer or 0) + 5
                    G.E_MANAGER:add_event(Event({func = (function() G.GAME.dollar_buffer = 0; return true end)}))
                end
            end```
#

actual code in the middle doesnt really matter, im just trying to get the trigger as soon as the winning hand is played, but before it goes to the payout screen. my crashes actually seem to happen right around here so i think im in the right place but im not sure if im able to scan the hand during this context

quiet moth
#

hello friends im a frequent poster in fan-art & i am infiltrating the modding chat ask if are there any modders in here with a lot of ideas for mods but dont have the best artistic skills but want a way to bring their ideas to life? i am gauging interest for a project that might help programmers who cant art but want to practice to artists who cant code but want to make fun jokers haha react, reply or add me 🤝

strong swift
quiet moth
#

that’s a good idea! i figured i’d reach out here to trying to connect people who want to make some nice modpacks for the game but i will look through there too maybe for peeps that had are looking for the same thing

empty brook
#

lmao fuck i was actually looking for a way to code in this effect for a joker idea i had, seems i took too long. really glad to see someone who is better at both code and art got to it though!!!

also it's weird that tag thing didn't work....

safe stratus
#

is there anyone working on multiplayer mods? I've never used lua before but it doesn't seem too bad to pick up

#

friend wanted me to make a mod similar to spire with friends which seems somewhat feasible if lua has decent networking capabilities

grand geode
#

balatro already uses https.lua so maybe

rare shell
empty brook
#

lol that was my issue i was having too, so unfortunately i'm no help there

#

if i DO make any progress on figuring it out i'll let you know though!

rare shell
#

🫡

#

coding comrades

clever rampart
#

how do i make a deck that has more cards than usual pls i want an actual answer ;-;

wanton rapids
#

how many custom jokers have been made so far?

rare shell
#

i have 9 so far

#

10 once i figure out this gold card problem

clever rampart
#

why is this not adding more cards?

wanton rapids
#

spiral joker now has an effect. it's very interesting

#

misprint sidegrade

grand geode
#

misprint upgrade actually

#

on average this pays more i think

wanton rapids
#

oh wait

#

should be 7*

grand geode
#

dam

wanton rapids
#

10+7cos(pi/9 * $$)

#

misprint pays 11.5 on average

grand geode
#

wait isn't cos 0-1

wanton rapids
#

cos is -1 to 1

#

payouts

grand geode
#

ah i didn't see the 7*

wanton rapids
#

yeah it's not in the image

rare shell
#

does it round up

wanton rapids
#

because i forgot to add it

#

rounds to closest integer

#

ok i made it loop every 16 so there's no values next to each other that are the same

rare shell
#

so it goes up to 17 mult?

wanton rapids
#

yeah

#

doesn't go as high or as low as misprint

#

but can be controlled

rare shell
#

what is misprints range even

wanton rapids
#

0-23

ripe haven
#

kind of unrelated - is there a way to jump to the first post in a thread? trying to return to the OP on some of the mod threads is painful

cosmic shell
empty brook
#

hiya, folks. another night, another time where i look at code and ask it why it refuses to do what i want

so, i have a friend who made some cool dark mode cards, and they want me to turn it into a mod. i agreed to it, figured it'd be pretty easy

annnnnd it's not working--at least, not exactly? here's the code i have

the issue is that it only is keeping the bottom line. so, in this case, it only does high-contrast cards, but ignores the Enhancers and the regular cards

grand geode
#

because you are overwriting sprite_card each time

#

change the variable names and register each one individually

empty brook
#

yep that fixed it. thanks!!

wanton rapids
exotic dagger
#

missing charm

wanton rapids
#

no art yet

grand geode
#

unlucky charm

wanton rapids
#

hm

#

to hook into the end of round money givers would i use a ref?

hexed surge
#

epic run

#

too much king of heart

#

that run was great

haughty hinge
#

anyone know how the acceleration works?

torpid oxide
#

Hey I finally got something

haughty hinge
#

oh yea you can mod in reversed tarots now

grand geode
#

goes hard with 2s

empty brook
#

reversed tarots...

#

reversed strength sounds kind of useful actually--both for 2s becoming aces, but also for things like making aces/kings/queens into kings/queens/jacks, for their respective synergies

#

not sure if any other reversed tarots would be useful though lol

fresh prairie
#

7 to 6

empty brook
#

........is hanged man just better death

#

choose 2 cards and get extra copies of them

grand geode
#

doesn't necessarily have to be the opposite effect

fresh prairie
empty brook
#

like death mixed with cryptid

grand geode
#

see: tboi reversed tarots

empty brook
#

that's true!

torpid oxide
#

Idk, I will see later for the other cards

#

Maybe the hanged man? just creates two random cards

#

Or something like that

fresh prairie
#

Sounds bad

#

Like, idk, just make reverse hangman weaker version of Cryptic?

#

Make 1 card copy

empty brook
#

probably the best question to ask is like

#

when you get these

#

i'm assuming probably they can just show up in arcana packs?

#

so power-wise, if you're looking for balance, you'd wanna balance them around the others

but also you don't have to if you don't want to lmao, you can make them better if you want

torpid oxide
#

I was thinking maybe create a new pack for reversed tarot cards that would be as rare as the spectral pack

empty brook
#

ooh, fun

torpid oxide
#

Yeah

#

Maybe the hanged man? can have a 50% chance of creating 3 copies of one selected card

haughty hinge
#

wheel of misfortune

empty brook
#

Reversed Wheel of Fortune
3 in 4 chance of making a random Joker Negative. Otherwise, destroy that Joker.

grand geode
#

too high risk imho

#

wait no i misread that lmao

#

too good imho especially with Oops! All 6s!

grand geode
#

mm i don't like modified save runs being posted here, kinda drowns out actual modding conversations

torpid oxide
#

However, first of all I need to make the Reversed Strength working (its not)

haughty hinge
#

im so screwed

grand geode
#

oops! all walls

sonic pollen
#

This is a huge reach of a question

#

but has anyone here had any luck developing mods that make Balatro network using WSS?

grand geode
#

that's one of the first things i tried to do but i couldn't get it to work

sonic pollen
#

that wasn't an answer to me, was it?

torpid oxide
#

Damn, I coded my reversed strength and it works now, however when I try to use a normal strength card I get this error wich is wierd because it tells me that there's an error in card.lua

haughty hinge
#

I think i can completely remove ante progression in the save file

#

from what i've seen the only way an ante progresses is from a completed boss blind

#

I literally cannot go to the final blind

#

i've done the 2nd boss blind 12 times

clever rampart
#

how'd you do that

also is there a way to find out which deck sprite is gonan be used when inputting the x y thing

haughty hinge
#

i used a save file editing website to change the blinds

#

you have to do it manually

torpid oxide
#

Is there any way to apply a status to a selected Joker ? We can apply a status to a selected card in hand or to a random Joker but I don't know if there's a function to apply something to a selected Joker

sonic pollen
#

Anyone know how nicely any of the existing mod libraries play with external libraries?

#

Would I just have to copy library files to the mod folder or is there an easier way to do that

#

(I am new to Love2D and lua in general so I may be asking Very Dumb questions in here for the next while)

torpid oxide
copper silo
#

What happens if you mod a card that destroys itself to be eternal? Like ice cream

torpid oxide
#

But maybe I'm doing it the wrong way idk

sonic pollen
torpid oxide
#

Ah, well sorry but I don't know

sonic pollen
#

It looks like the lua injectors would allow me to change requires

#

so if any of the modloaders allow for additional .lua files (and not just editing the existing ones)

#

then it shouldn't be hard. I just need to make sure I have the right licensing to distribute whatever library I want and I should be good to go

mental solar
#

Can someone send the sprite sheet for consumables?

sonic pollen
torpid oxide
#

How do you put the description in green like the "1 in 4" here ?

tribal rover
#

Does anyone know the proper way to make sprite cards for the game?

torpid oxide
tribal rover
#

I meant as in how to make the sprites in an art program

#

Do I just edit the sprites currently setup?

torpid oxide
#

Yeah I think this works

tribal rover
#

How do I know if I encroaching on another card?

torpid oxide
#

You need to cut a grid

tribal rover
#

How would I do that?

#

I think I have an idea

torpid oxide
#

Divide the height of your image by 4 and the width by 13 and you get one square of the grid

sonic pollen
#

Can someone look at their top-level Balatro install for me and tell me if there's any .dlls there?

#

I don't have the game installed on my work computer but I wanna test a theory

polar schooner
#

there's like 10

sonic pollen
#

cool, thanks!

empty brook
#

hiya folks! trying to figure out how to code a joker that's really weird: the Exact Opposite of Pareidolia. in specific, i want it to be "All cards count as all numbered cards." so, for instance, you can have Even Steven, Walkie Talkie, and Odd Todd all trigger on a 7 or a King

main issue i'm running into now: i looked at the code for Pareidolia, and that's like, in the function for if a card is a face card or not. meanwhile, for jokers like walkie talkie, they (logically) are just looking for the id of the card

so, pretty much, i'm trying to figure out if there's a way i can make it so a joker does something like, sets context.other_card:get_id() == 2, 3, 4, 5, 6, 7, 8, 9, 10 for every single card you play ((from what i can tell writing it like this does not work lol))

mental solar
polar schooner
sonic pollen
sonic pollen
polar schooner
#

there's a specific flag for eternal compatibility

#

which is probably because that and higher stakes

smoky jasper
#
    if self.debuff and not from_boss or find_joker("YOUR_JOKER") then return end
    local id = self:get_id()
    if id == 11 or id == 12 or id == 13 or next(find_joker("Pareidolia")) then
        return true
    end
end```
#

something like that basically

#

there might be a few things checking not using that but that would cover most cases afaik

empty brook
#

yeah, i assumed something with that function--but like, i'm less certain of how i'd approach it? from what i've tried, it doesn't seem that doing like, if id == 2 or id == 3 (etc.) then id == 2 and id == 3 (etc) works

#

since is_numbered isn't a thing, to my knowledge lol

sonic pollen
#

Personally I think you'd just have to go back and edit all of the number-seeking jokers with or next(find_joker("Numberjoker"))

#

which is ugly, but

smoky jasper
#

you can use that function as is_numbered it just returns the inverse

empty brook
#

that IS a method i've considered, but i dislike the fact that would make it incompatible with other modded jokers

empty brook
#

which is like. i can accept that if it's impossible to make it work with other mods? but if there's a method that WOULD also let other modded jokers work with it, i'd prefer that

sonic pollen
#

I think your alternative is making it so that way cards can hold multiple ids

#

of which only the first will count for the purposes of -kinds and straights

empty brook
#

oh, i don't care aboutchanging -kinds and straights

#

same as how Pareidolia doesn't change the value of cards; just that they count as face cards, for stuff like other jokers and boss blind abilities

sonic pollen
#

yeah I know

empty brook
#

i want to play Walkie Talkie with a 6 and have it work, for instance

sonic pollen
empty brook
#

ahhhhh, i see

#

okay yeah, i understand what you're saying then lol

sonic pollen
#

(I'm assuming at least that straights and kinds reference card ID, right? I don't know that snippet of code)

smoky jasper
#

straights look for id yea

#

so blackbando you want every card to trigger every effect basically

sonic pollen
#

every numbered effect

empty brook
#

every numbered effect, yeah

smoky jasper
#

hm

empty brook
#

Hack, Walkie Talkie, Even Steven, Odd Todd, etc.

sonic pollen
#

The reason this is more complicated is that this isn't the opposite of pareidolia

#

Pareidolia doesn't trigger things that specifically care about kings or queens

smoky jasper
#

yeah had me slightly confused for a moment

sonic pollen
#

just Face

empty brook
#

mhm, yeah

#

"numbered" or "non-face" just isn't like, a thing the game cares about lol

smoky jasper
#

i mean it does check for it for boss blinds

#

and gold-turning joker

empty brook
#

i mean. that's checking for face

sonic pollen
#

that's not it checking for numbers

empty brook
#

yeah

sonic pollen
#

that's checking for face and failing

smoky jasper
#

which is the same thing

empty brook
#

i suppose!

sonic pollen
#

I mean, you could just have a joker that says "none of your cards count as face cards"

#

which would be interesting

#

god knows we need a second joker to make Ride the Bus viable doglaff

empty brook
#

pretty niche though--i think that'd only matter for The Plant boss blind and Ride the Bus lol

smoky jasper
#

niche cards/jokers are the most fun tbh

empty brook
#

oh yeah, absolutely

#

but personally i prefer niche jokers which make really weird niche strategies, instead of like

#

this is nichely countering two very specific downsides lol

sonic pollen
#

I think it'd be best on a joker alongside some other sort of minor buff

empty brook
#

yeah, i could see it as part of a joker which does some other thing

sonic pollen
#

Like "numbered cards grant double base chips" or w/e

empty brook
#

i'm not opposed to also trying that

but i am a lot more interested in the initial idea still--i think it sounds very fun to have an entire deck work with some more niche stuff

hallow turtle
#

Hey everyone, I'm really interested in making mods for this game. I've looked through the guides on this server but I'm still a little confused on what the full process is like for making mods. Like, is everything done by replacing code in the base game using the injection method, or do you make seprate files? How would I go about adding something like a new deck type? How do you go back to vanilla or switch mods i might be working on?

I'm on a M1 mac, so I've looked through the read me guide on github for balomod since thats the one thats compatible with mac.

I have pretty decent experience in multiple programming languages...except lua, but that isnt really what im having trouble getting. It's more about the process itself im unsure of. I also do not have much experience working with github or terminal commands either.

Can anyone recommend a guide or give some explanation of what the full process of making a mod is like? Thanks

empty brook
#

8-ball and sixth sense are two big ones where i was like "oh hell yeah, these are kinda hard to get off normally but they could POP OFF with this joker"

sonic pollen
#

it'll manage the install/uninstall of mods as you like

empty brook
#

the modloader's github repo also has various example mods

hallow turtle
empty brook
#

Steamodded and Balomod are both different modloader options

sonic pollen
#

Balomod and Steamodded are the two major modloaders

#

You'll pick one of the two depending on which mods you wanna try out

empty brook
#

i think rn steamodded is the one with more mods and such, since it came first

#

but really use whichever seems more appealing to you

smoky jasper
#

steamodded is the only mac compatible

#

or the only one that says so

tacit mountain
#

It's is not right now

#

It was working with the old version of Mac, but not with the new one

smoky jasper
#

rough

tacit mountain
#

Balamod works well with Mac outside of the Mod Marketplace

sonic pollen
#

Do either of the major modloaders manage dlls? Or if I'm gonna reference a dll, will I have to manually drop it in the install folder

tacit mountain
#

Neither Balamod or Steamodded support dll on their own

sonic pollen
#

fwiw the mod I'm working of developing would be one that would be expected to be played without the presence of any other mods by virtue of what it is

#

I don't need to have the mod externally managed, I'd mostly just be using the modloaders for dev use. Install instructions can be w/e

tacit mountain
#

I don't exactly understand what you want to do, but Steamodded and Balamod will not load it sadly :/

sonic pollen
#

For clarity, this mod would be an integration of the Archipelago randomizer into Balatro

#

I'd be referencing a WSS client dll

#

so it can connect to the server

tacit mountain
#

Oh ok I see

#

I think Balatro will load it if you put it in your Gamedir ? If yes, Steamodded and (I think but I'm not sure) Balamod will be able to use it without any issue

sonic pollen
#

I haven't looked at Balatro's code for imports myself

#

but I presume it'd have to call its imports by name in the lua code

#

in which case my mod will need to also inject that call

tacit mountain
#

Hmmm, take a look at the lovely repo, it's kinda doing what you want to achieve I think

#

At least to load the .dll

empty brook
umbral pilot
umbral pilot
torpid oxide
#

Anyone knows how to put the text of the description of something in green ?

sonic pollen
#

(I think)

#

(Very New to Lua)

empty brook
torpid oxide
#

Alright thanks

empty brook
#

so as an example, imagining bold as green here

Removes all Boss Blinds from the game instantly

would be

Removes all {C:green}Boss Blinds{} from the game instantly

torpid oxide
#

And is it something like {C:Negative} for the negative description of the effect ?

empty brook
#

{C:dark_edition}

torpid oxide
#

Ah right

#

Thanks

empty brook
#

we love the colors: green, red, blue, attention, and dark_edition!

torpid oxide
#

Isn't there a {C:polychrome} for polychrome edition ?

empty brook
#

uhhhh probably

#

i wasn't listing all the colors there i was just making a funny

#

i can check what polychrome uses

torpid oxide
#

Guess I should try out

empty brook
#

looking at the localization it looks like it also uses dark_edition

#

i'm not sure if there's ever rainbow text in this game...

torpid oxide
#

Huh ?

grave folio
#

Hello, I honestly love this game, but I was wondering how to make a texture pack like many people seem to do.
I wanted to make myself a personal texture pack (I mean that I might not publicly share it)

round ore
empty brook
#

attention is such a cool color

round ore
#

dark edition is my 2nd favorite color

empty brook
#

so for my own coding woes: i attempted to try the numbered thing with walkie talkie as a basis, and it Did Not Work

#

i haven't ever made a mod which like. tries to edit a pre-existing joker before???? so i wouldn't be shocked if that's why it's not working

torpid oxide
#

Bro is using Notepad++

empty brook
#

yeah

round ore
#

I mean half of the work of coding is bug fixing

empty brook
#

i like notepad++

#

also i'm a girl so bro isn't really accurate lmao

round ore
#

bro is a gender neutral term

empty brook
#

ehhhhh

sonic pollen
torpid oxide
#

Damn

#

She just reverse uno carded me in 2s

round ore
empty brook
#

i would not point it out if i was okay with being called bro lol

sonic pollen
torpid oxide
empty brook
empty brook
sonic pollen
empty brook
#

if that's affecting it working or not then i can fix that, but to my knowledge it shouldn't in this case, right

hallow turtle
#

What do I do with the balamod file after I download it? It wont open with anything

sonic pollen
#

I don't believe lua is indent-sensitive

#

But I'm new to Lua so I cannot answer this

grave folio
sonic pollen
#

If you have LOVE dev tools installed and can recompile the game, yes

torpid oxide
#

What do you guys think

sonic pollen
#

Oh that's fun

#

"you said you wanted another Joker slot. You didn't ask me how you wanted me to get it for you"

torpid oxide
hushed furnace
#

that's cool

cosmic shell
# hallow turtle What do I do with the balamod file after I download it? It wont open with anythi...

It's a command line program at the moment, right click in the folder it's in to open a command prompt and then input the name of the file followed by a space and then -a to install it. There's also a batch script in balamod's repository called "One click install.bat" you can use to do this for you by putting it in the same folder as the file and then opening it. (Also you could use lovely to install balamod instead if neither work for you)

grave folio
round ore
sonic pollen
lean dune
torpid oxide
#

Right

#

This joker exists

#

Damn

sonic pollen
#

I don't imagine it'll be all that long before someone's created a texture pack template for one of the two mod loaders that you can just dump assets into and then run

#

Assuming that doesn't exist already

lean dune
#

Also what that says implies there's a chance for neither or both to apply either way

torpid oxide
#

It's more like pick a random number between 1 and 4, if number = 4 then destroy joker, else add negative to it

sonic pollen
#

"3 of 4 chance to add Negative to a selected Joker. If it doesn't become Negative, destroy it."

#

Try that

#

Now Oops All Sixes guarantees Negative, which is cool

lean dune
sonic pollen
#

Oops All Sixes should buff more things that card is bad

lean dune
#

1 in 4 chance to destroy a selected joker. Otherwise, add negative to it

torpid oxide
#

Now, I just need to figure out how I can select Jokers

empty brook
torpid oxide
#

Yeah

empty brook
#

you can open the game's executable as a zip, go into resources, and replace images by just dragging them in there

#

source: i did this before i found out about the modloader lmao

#

i was able to replace textures and they worked just fine

#

in fact this actually works for like. the entirety of the game? you don't need LOVE dev tools installed to change anything--you can just:

  1. drag out the code (or texture or w/e), copying it onto somewhere else outside of the zip file
  2. edit it however you want
  3. drag it back into the zip, replacing the old version
#

works for code, works for text, works for textures

hallow turtle
empty brook
#

now, mind you, this isn't really a mod, so it's much better to just.... use the modloader and make it a mod lmao

#

but it's possible if you wanna do something personal and really don't care, i suppose? would be a pain to do it again each update though

cosmic shell
sonic pollen
#

I don't think 7z or the default windows manager allow you to do that

empty brook
#

7-zip

hallow turtle
#

like in general if i were to start making a mod

empty brook
#

and like, hotswapping files is not something i've been able to do with like... maybe any other game?
Balatro's engine just seems to be fine with it lol

#

i still don't think it's a very good option--it's much better to just use the modloader and make things into mods

#

but sometimes i find it's useful as a way to like, work backwards and figure out how something is coded

#

that way i can apply it to my future mod-making endeavors

torpid oxide
#

Is there an equivalent of #G.hand.highlighted but for highlighted Jokers ?

#

Like, where is the code to sell the highlighted joker ?

#

Like #G.highlighted.jokers.cards ?

cosmic shell
hallow turtle
torpid oxide
cosmic shell
torpid oxide
#

Alright I'll check that

#

Thanks

cosmic shell
torpid oxide
#

Anyone knows what function is called when you click on a Joker ? I can't find it

exotic dagger
torpid oxide
#

Yeah but for it to work...

#

I mean, I could do it to a random joker

#

I guess that works too

mental solar
sonic pollen
#

I would be hard pressed to say that the rules posted in the forum do not apply to this chatroom

mental solar
#

Oh, thank you for showing me :)

#

I didn't know they were updated

torpid oxide
#

No cards anymore

wet river
wet river
#

If you need all situations, you likely need to do buy scenarios as well. That's gonna be in the UI_definitions.lua file also.

torpid oxide
#

Alright I'll check this

subtle mantle
#

Hey all! Is there a current mod, or one being worked on, that would allow me to manipulate the jokers available in a run? (Pick and choose basically which are unlocked)

sonic pollen
#

If someone hasn't built that yet, I will need to build it for my project. If someone HAS built it, please let me know so I can scrap it for parts ;)

subtle mantle
sonic pollen
#

Neither am I!

wet river
#

I'm actually looking through the code right now to see if there is a pre-determined list of jokers that are available to a seed, as I just witnessed someone roll somewhere north of 300 times in one run without getting a specific rare one.

white scarab
#

There are only a few cases like that

white scarab
slender ocean
#

Would making something count as a wild rank be possible?

spice spear
slender ocean
#

Awesome

#

I was trying to think of a better effect for the stone joker cuz just being chips per stone card is really sad, so I thought making Stones count as Any Rank instead would be an interesting effect

wet river
rigid jewel
#

It depends on implementation but something like that can work

wet river
spice spear
# slender ocean Awesome

also it took me a moment to figure out why I recognized your name-- I played through Enigma mod with a couple of my buddies a few years back, so it's great to see that you're actively modding stuff

slender ocean
#

Eyo! That’s super cool!

white scarab
wet river
#

Neither of those conditions were in place.

slender ocean
#

Enigma is kind of on the backburner, especially since even more terraria updates are coming, and I have lots of other projects I’m passionate about, but it might come back at some point! I have very cool ideas for it

white scarab
#

But also it’s rare, so 300 rerolls without Baron is probably just bad luck

rigid jewel
slender ocean
#

Interesting 🤔

spice spear
slender ocean
#

Very true

wet river
spice spear
#

but yeah, initially we had the idea of an enhancement that would merge cards together and have them keep both ranks, but that evolved into sewing two jokers together and enabling some truly insane stuff

slender ocean
#

yeah that sounds bonkers

rare hill
slender ocean
#

I was thinking more of like "If you play it with a pair, it becomes 3 of a kind, two pair becomes full house, a straight with one number missing becomes valid, etc"

#

and also it triggers all jokers that look for specific ranks ofc

spice spear
#

so that is uh, one of the ideas we had

#

almost verbatim

rare hill
#

I mean, that'd be a side effect of what I described

subtle mantle
# white scarab There are only a few cases like that

You probably know better than most. How hard would it be to create something to manipulate the availble jokers for a run? I have this content idea I'm burning to do, but we need to be able to basically limit the pool of jokers uniquely for each person

slender ocean
#

the hardest part would be the straights I think

#

I would probably have to look at how Shortcut does it

spice spear
#

and we came to the conclusion that "sure it'd be fine for the base game, but what about Modded Ranks"

slender ocean
#

what is a modded rank

spice spear
#

because once you start having to make it work with other people's mods

slender ocean
#

what are people cookin

spice spear
#

that's when it starts to get really muddy

slender ocean
#

yeah I can imagine that

spice spear
#

one moment I know where to send you

white scarab
#

You could do it with custom challenges

subtle mantle
spice spear
#

& then for ShamPack, we're doing goofy stuff like "Mild Cards" and putting an equivalent of Perish Song onto cards/jokers

slender ocean
#

is there a fully fleshed modloader yet?

spice spear
#

two, actually

#

Balamod and Steamodded

slender ocean
#

uh oh

spice spear
#

Balamod is the one that more people seem to be gravitating to as of late because it's more feature rich

cosmic shell
#

i'd say 2 and a half, lovely is kind of like half a modloader

hushed furnace
#

yeah, I used challenges to test when I was tweaking jokers

spice spear
#

I think there's plans to merge them at some point

slender ocean
#

already going down the route of multiple competing modloaders?

spice spear
#

nah

#

they're actively attempting to unify

rigid jewel
# spice spear because once you start having to make it *work with other people's mods*

Yeah that's kinda why I said Imposter Syndrome sorta makes face cards a wild rank.
A mod like this would either check with all the jokers that check for specific ranks on cards and carve an exception for if those cards are wild values cards (incompatible with other mods but easier) OR you'd rework some other part of the code that all jokers rely on to check for a card's value (makes modded jokers work with this, but signifigantly harder to code).

slender ocean
#

ah nice

hushed furnace
spice spear
#

mmmhmmm

#

it's non-destructive which is going to be WAY better for the people actually writing the mods

slender ocean
#

I have experience patching stuff in slay the spire so injections should be easy to handle

spice spear
#

I'm just an artist who has very surface level knowledge of programming

slender ocean
#

my only worry is I have zero Lua experience so this is gonna be tough to get into 😅

#

I think I will wait until the mod loaders merge before getting into stuff though

hushed furnace
#

if you have programming experience it won't be too bad

cosmic shell
#

lua is a ridiculously simple language.

hushed furnace
#

well, depending on how ambitious the stuff you want to try is

wet river
#

Lua is actually easy. I literally picked it up for this game. But I've also been programming for work for 6 years now.

hushed furnace
#

as with anything trying to do something crazy is gonna take some work :p

slender ocean
#

I have only done object oriented programming before

wet river
#

You done python? You can do Lua

slender ocean
#

I have parely done any but yes

wet river
#

Javascript?

slender ocean
#

nope

#

C# and Java

hushed furnace
#

honestly you should still be pretty okay for simpler stuff

#

with just fundamentals from those

slender ocean
#

nice

wet river
#

Yea, it's in reality simpler

spice spear
#

I've only done programming in MATLAB and I can look at a lot of what has been made, and be able to loosely understand what is happening and why

wet river
#

Matlab is awful.

spice spear
#

I have no context for how bad it is in comparison to other stuff :^)

wet river
#

If you ever have the need/desire, try python. It's incredibly easy.

I've done x86 Assembly, and I still was more annoyed with Matlab.

spice spear
#

I've heard whispers that MATLAB is like, similar to python, but I have no clue how true that is

slender ocean
rigid jewel
#

It looked similar to Python the last time I saw matlab code

slender ocean
#

do you guys often talk about game design stuff in here for things to make mods about?

spice spear
wet river
#

I'll believe it when I see it. People also saying r2modman support.

spice spear
spice spear
slender ocean
#

I feel like straights really need some support in the deckbuilding front

hushed furnace
#

yeahh

slender ocean
#

the only real way to make your deck better at making straights rn is Jokers

hushed furnace
#

tarot cards kind of

slender ocean
#

Stone cards could be a way to do that but idk how to phrase it

#

+50 Chips. When played, counts as any rank besides those of other scoring cards

wet river
#

Stone cards are dirt rn too

hushed furnace
#

i thought about making rocks into an actual viable build but I'm going to wait until I can devote more attention to a project

wet river
#

Late game is dominated by red seal + hand retriggers.

slender ocean
#

yeah, and most good late game builds involve playing hands that need all 5 cards

hushed furnace
#

i was going to add hand types with rocks but it would require rewriting some UI functions

#

and im not a front end person

wet river
#

Opposite really, High card builds are top. You want larger hand size to have more hand triggers.

slender ocean
#

oh yeah, besides the insane runs to get to the int limit

#

I meant for viably winning the game and getting a few ante's into endless

#

high card can get there sometimes but most of the time the way involves 5 card hands

loud crystal
#

high card is the best for that too tbh

#

at least at high stakes

hushed furnace
#

ante 12+ roughly you can't do anything but hand triggers except maybe a crazy triboulet build

slender ocean
#

it depends on the jokers you see early

#

if you don't find any ways to buff high card early then it's very hard to do

#

I don't think it's a build you can force yourself into, but maybe I'm wrong

hushed furnace
#

most you can do is spam roll for mine and baron

#

and work toward kingifying your deck throughout your run

slender ocean
#

you don't really get enough money early enough to be able to do that consistently without losing the run tho

loud crystal
#

yeah forcing builds in general is not the best

#

but there are a surprising number of jokers that support high card well

spice spear
#

maybe we could fix this in shampack at some point, with our own strange ways of making stuff

hushed furnace
#

early shoot the moon is my favorite way to approach it

loud crystal
#

(talking about ante 8/stakes btw not endless)

rare hill
#

Gonna note for lua, it's pretty much "another language", but with a few oddities:

  • Everything's either a basic value or a table. No arrays or dicts here, they're the same thing, a table.
  • Arrays start at 1. I don't like it either.
  • comments are --stuff and --[[stuff]], optionally --[=[stuff]=]
#

oh, and a bunch of stuff is replaced by words - && is and, if(){} is if() then end, etc

slender ocean
spice spear
#

I'm currently making edits to my ideas list so I can post it and get feedback from folks

slender ocean
#

is there a design doc for it?

#

ahh ok

#

I love design docs

spice spear
sonic pollen
#

Anyone know what code I can point to that gives ❌ to cards when they are debuffed

thick pier
#

Does anyone know if it's possible to convert a Balatro save from a modded Nintendo Switch to a PC save and vice versa? I've seen online for some other games it is possible if the devs use a similar format for storing save file data itself (just the wrapper/container the save data is inside is different from platform to platform.

hushed furnace
#

not at a computer rn so I can't be more specific

lilac badge
#

does anyone know what mod includes math_homework.png? im apparently missing it

spice spear
strong falcon
#

Why do custom challenges show up as locked for me?

lilac badge
#

ah i see, i missed the assets folder, thanks

strong falcon
wet river
#

Hmm, so I'm trying to do something silly but I'm missing something. I am trying to make there be zero jokers available to play with. I have cleared the G.P_CENTER_POOLS['Joker'] table, and see that it is still empty when the first shop loads, but there are still jokers, and they still score correctly.

spice spear
#

what jokers? If it's just the default Joker, then that's just the game using the default fallback for the joker pool

wet river
#

No, it's many jokers.

exotic shadow
#

I'm not sure how to do this, but maybe take a look at what the jokerless challenge does

wet river
#

That just sets a flag. It doesn't actually remove them. There are specific "IF" checks for that I think.

exotic shadow
#

I think theres a probabilty rate you can tweak to not get them to show up in shops

#

GAME.joker_rate

#

what happens if that's 0

wet river
#

It is a probability tweak, my bad, but that's not really what I'm going for. I'm working to remove them, to add only one back or something.

exotic shadow
#

oh

#

not sure

wet river
#

G.P_CENTER_POOLS['Joker'] seems to be what Steamo is using in his joker API. I'm wondering if it's conflicting with that.

tribal cloud
#

are there any skin mods for the cards?

wet river
#

Oh I did it.

#

Sick

#

You also need to dump the data in the rarity pool.

tribal rover
#

does anyone know if the steamodded_injector.exe is safe to use?

#

because it's wigging out my anti virus

spice spear
#

it's safe, it only gets flagged due to how it works

cosmic shell
#

it probably get's flagged because it's an executable made from a python program. a lot of malware is also distributed in that form so most antiviruses auto flag it just in case.

rare shell
#

question, anyone have any sample implementation code for how to properly do legendary joker graphics? (i.e. the background, then the transparent joker)

wanton rapids
#

how strong is this?

rare shell
#

its a bit much

#

also not a fan tbh

#

would be neat if it instead it started as a small bonus that grows per skip though

#

tracks it like throwback does so it scales later

#

also yeehaw, i just need to figure out how to do legendary joker graphic implementation

rigid jewel
rare shell
#

yeah thats what i was thinking

rigid jewel
#

Or more per type of skip tag you've gotten in the run

rare shell
#

that also could be neat

rare shell
#

i like the idea of unique tags but that might be annoying to implement

#

but if you did that'd be neat with stuff like the tag jokers

rigid jewel
#

Lemme see how Satellite works.

wanton rapids
#

yeah i don't think there'd be one for tags

rare shell
#

well if you didnt want to track tags you can just look at how throwback keeps tracks of skips

wanton rapids
#

yeah i'm doing that

rigid jewel
#

Should be super easy in that case

#

The game has an internal variable for how many times you've skipped a blind

wet river
#

It's annoying that lua doesn't have a built in json handler.

rigid jewel
#

Just need to append the Card:calculate_dollar_bonus() function to give a set amount of money equal to base + (however much it increments)*G.GAME.skips

wet river
#

If I wanted to use json readers in a mod, I'd need to have the mod come with a install of some sort...

exotic shadow
#

yeah its annoying

#

You could probably just reuse the save file stuff

#

but its not exactly safe

wanton rapids
rare shell
#

is there any other code that showcases something being forced to discard besides the hook?

#

im trying to randomly discard 2 cards when played, like the blind, or even being able to discard the last two cards in the players hand when a hand is played

#

if anyone could help it'd be appreciated

#

i have the context correct im pretty sure, in g.Hand it's just getting the forced discard code to work is the problem

hardy brook
#

Is there a possibility for me to have a .exe for balamod and a .exe for Steamodded?

#

Oh geez, that's a lot of steps

#

I'll come back to that later

hexed drift
#

Has anyone else had the issue 'balamod-v0.1.10-windows.exe' is not recognized as an internal or external command,
operable program or batch file.
when running the command in terminal?

strong swift
#

just use the one click install

#

that worked for me

hexed drift
#

Is that just the .exe file? I've been a little confused on the github page and I feel stupid lol

strong swift
#

nah, i'm talking about the .cmd

mild raft
#

it worked when i ran the "balamod-v0.1.10-windows.exe -a" string in .cmd with the .exe downloaded

hexed drift
#

Strange. I have the .exe downloaded and ran it with no luck

mild raft
#

did you open up the .cmd in the downloads folder?

hexed drift
#

Not sure what you mean. Sorry, Im not familiar with doing my mods this way. The .exe is in my downloads, and I opened up .cmd through the search bar and ran that code.

mild raft
#

yeah i did the same thing, dont know why its not working (I also have 0 clue how command prompt works)

hexed drift
#

I wonder if its a compatibility issue with the new update. But that wouldn't make sense why it wouldn't even run.

wanton rapids
hardy brook
#

Hey, I'd like an opinion on something

#

When I have multiple cards with the same art in the Balatro Archived mod, would you like to have the version in the corner of the art like so, or would you like all of a version to have the same colored border

#

(Mind you, they'll have the version in the name: [Eight Ball (0.9.3)])

grand geode
#

different border

#

the version is jarring

hardy brook
#

I thought so too. I wanted to have a small seal in the corner but It'd be too hard to read

strong swift
hardy brook
strong swift
#

yeah it seems really difficult to make a random joker

#

because nothing does that base game

hardy brook
#

yeah something does

#

the actual silver deck

strong swift
#

wait do you have access to the 0.8.8 code?

hardy brook
#

That... no

#

I'm thinking of what to do

wanton rapids
#

doesn't judgement do it?

spice spear
#

I think they mean a joker with a completely random effect

#

unfortunate discovery tonight lads: emojis do NOT render in Balatro's text engine.

hardy brook
#

then make it

spice spear
#

anyway it seems like actually implementing emojis would be WAY MORE WORK than it is worth

#

and it would all be for the sake of a really stupid and incomprehensible joker

#

debating on whether or not I want to put a bounty out for this. On one hand, it would be REALLY fucking funny, on the other hand, I don't know that it would be worth spending money on this joke in particular

rapid epoch
#

I had an idea for a custom challenge and it was suggested I post it here, to see if it's worth trying

Here's Looking at You, Kid
Start with 4 Eternal, Pinned Blueprints
Negative jokers can't appear
Banned cards: (list of blueprint-incompatible jokers), Brainstorm, Blank Voucher, Antimatter Voucher
Banned tags: Negative tag

Credit to @woven sonnet for improving it from an idea to an actual format and suggesting I post it here

wanton rapids
rapid epoch
#

this joker forgot to install Counter-Strike: Source laughedat

wanton rapids
#

that's what i have it set to if it doesn't have art yet

rapid epoch
#

oh that's custom? kino

#

i like it a lot

#

does its job well of saying 'HEY DUMMY: THIS IS UNTEXTURED'

rapid epoch
#

I might be stupid, but
If a mod says it needs Steamodded, does Balamod work

#

And do any mods say they need Balamod and if so, vice versa

wanton rapids
#

they're two different modloaders

#

like fabric and forge

#

mods that work with one are incompatible with the other

rapid epoch
#

i cry blood
why... in the infancy of this must the forge/fabric divide happen

#

thank you though

wanton rapids
#

because that's the way the balatr os

rapid epoch
#

is one or the other dominant?

#

I've only seen Steamodded so far

wanton rapids
#

i'd say more mods use steamodded rn but that could definitely change

rapid epoch
#

i'm looking at Awesome Balatro and like

#

the balamod mods are literally

#
  • sprite API
  • French translation
  • slutty joker
  • straight hand renamed to 'gay'
#

okey dokey installing steamodded

grand geode
#

it's funny like that

rapid epoch
#

i expected sixsuits to be a lot more jarring but honestly it's a LOT of fun

#

reverse moon and star are clever additions

wanton rapids
#

slight buff and art for blood pact

#

might make a website template for joker mods

#

that shows them

rare shell
#

id use it

sacred mulch
#

what are people's favorite gameplay altering mods (decks, jokers, etc) to play with right now...? having a hard time choosing which ones to install so i'm curious what people like to play with

rare shell
#

mine 🙂

sacred mulch
#

those are extremely cool looking :0

grand geode
#

this is just a free win if it gets eternal lol

coarse geyser
#

help im stupid

sacred mulch
#

other mod wise

rapid epoch
#

it adds some interesting strategies

empty brook
rapid epoch
#

I tried an all stone deck

Misery.

grand geode
empty brook
#

yeah, they're not

#

any joker which destroys itself cannot be eternal

#

i believe you can't even try to force eternal on through challenges or anything--they just instantly remove it

#

but i could be wrong there

rare shell
#

ah shucks i should implement that for box of stuff

#

time to steal from myst

#

wait i forgor you register jokers differently

#

is it just as simple as sticking "eternal_compat = false" in there

grand geode
#

eternal_compat is base tho

#

so yea

wanton rapids
peak oak
#

Where can I get that mod?

wanton rapids
#

it's not out yet

peak oak
#

Oh fck hahaha

#

Just make sure it adapts joker effects cards like negatives

wanton rapids
#

?

peak oak
#

I mean like when they show in the shop theres a chance that they have effects

#

Like negatives poly foil

wanton rapids
#

that's there by default

peak oak
#

Oooh

#

Nice effects tho x5 for heart user

peak oak
#

Specially the reverse moon

#

It would be better if they put it inside a circle

#

With diferrent color

peak oak
#

Is it possible to make a joker card that do this effects -

1 joker card = if you have 0 discard you can still discard with a cost of 5 gold

#

Like that?

#

It would be also cool if theres a joker card x5 like bloodpact for spades clubs and diamonds

#

Then we just ask ai for a good name for spades, clubs and diamonds

#

Heart Card: Blood Pact

Clubs Card: Thorned Tribute
Diamond Card: Gemstone Offering
Spade Card: Dark Covenant

rapid epoch
peak oak
#

Nope hahaha just got started using it but just hope to get it more better i found some really good gfx designer here

wanton rapids
rapid epoch
#

groovy

peak oak
wanton rapids
#

nah

peak oak
#

My suggestiin

wanton rapids
#

i don't think i will

peak oak
#

Hahahaha

exotic dagger
#

what does x y and z do

wanton rapids
#

that is a good question

peak oak
wanton rapids
#

i don't want to add them

peak oak
#

But the first question i have

#

Is it possible?

#

Is it possible to make a joker card that do this effects -

1 joker card = if you have 0 discard you can still discard with a cost of 5 gold

rare shell
#

maybe dont ping and pester people for mod requests

wanton rapids
#

alright!

#

the code

#

(plus parsing stuff)

#

oh right i should add the name to it

rare shell
#

oh this is for the website?

wanton rapids
#

yeah

rare shell
#

hell yeah

wanton rapids
#

well the website is pretty much done

#

(the template at least)

empty brook
#

very stylish!

wanton rapids
#

oh i should make it display rarity

empty brook
#

i'm glad you chose to use among us for this

rare shell
#

📮

wanton rapids
#

the effect

empty brook
#

yeah it's like. wretched, but in a positive way

#

it's wretched in that i look at it and just see red, but also i think it's a really interesting effect that fits what it's going for

rare shell
#

reworked fortuno by the way

#

a little more tuned for legendaries imo

wanton rapids
#

so trading card but bonkers

#

seems fun

rare shell
#

didnt have the first hand limited before but a friend suggested it

empty brook
#

oh hell yeah, another legendary!

#

did you get the like, floating visual effect to work properly?

rare shell
#

i wish i knew the proper way of implementing the effect

#

but no

empty brook
#

i've been wanting to make my own legendary but have struggled to do that myself

#

alas!

rare shell
#

oh friend i must ask

#

do you know of a good example of discarding cards from hand

empty brook
#

uhh, like in what context

#

Faceless Joker comes to mind, but it depends on what exactly you're looking for

rare shell
#

i thought faceless joker procs on discard?

#

im more refering to the action of discarding cards, like the hook blind

empty brook
#

ohhhh

#

well, i know that Ramen tracks that

#

like if Hook discards 2 cards, ramen loses 0.01x mult twice

rare shell
#

aye, i just want to figure out the code that discards the card in the first place

empty brook
#

gotcha!

rare shell
#

if i could replicate the hook effect on a joker thatd be swell

empty brook
#

okay, yeah, now i understand lol

#

that's a tricky one. gimme a sec and i'll see if i have a decent answer for you

wanton rapids
#

grepped for "hook" and got this

#
if self.name == "The Hook" then
        G.E_MANAGER:add_event(Event({ func = function()
            local any_selected = nil
            local _cards = {}
            for k, v in ipairs(G.hand.cards) do
                _cards[#_cards+1] = v
            end
            for i = 1, 2 do
                if G.hand.cards[i] then 
                    local selected_card, card_key = pseudorandom_element(_cards, pseudoseed('hook'))
                    G.hand:add_to_highlighted(selected_card, true)
                    table.remove(_cards, card_key)
                    any_selected = true
                    play_sound('card1', 1)
                end
            end
            if any_selected then G.FUNCS.discard_cards_from_highlighted(nil, true) end
        return true end })) 
        self.triggered = true
        delay(0.7)
        return true
    end
rare shell
#

aye, yeah that was the code i was referencing

#

problems are two fold

#
  1. i am smallbrained
  2. it seems to be pretty tied to the blind itself (probably could chop out things like self.triggered true) and trying to jam variations of this code into my joker crashes the game multiple times and back
cosmic shell
#

the hook isn't doing anything particularly special, it just uses the same functions the button callbacks use to highlight and discard cards, I imagine you could apply that to a joker too.

rare shell
#

aye, i dont doubt that either, im just trying to figure out a way of making it not crash, and also figuring out the correct context to call it under

#

right now i have it under context.cardarea == G.hand and individual, and other little tests i ran seem to put it where it needs to proc, but ill go try to pull an error code from it

wanton rapids
rare shell
#

yeah, works fine until i play my hand, then i get it screaming about trying to index a boolean value

rare shell
wanton rapids
#

i don't know

rare shell
#

understandable

#

well i got console to work so i suppose ill print my head off

cosmic shell
#

what values are you indexing to start with, since that's what the error's about.

rare shell
#

trying to index the hand, and then trying to randomly pick from them

#

okay, so it seems to not be able to index G.hand.cards

empty brook
#

alright yeah, tried to run a few tests, couldn't even get the game to startup on my end. turning boss blind code into joker code is some weird dark magic to me lmao

rare shell
#

okay now im just confused

#

simple little debug code

#
                if self.ability.name == 'Mind Mage' then
                    print("HELLO WORLD")
                end```
#

console output after like 2-3 hands played

#
HELLO WORLD
HDHHELLO WORLD
HRLD
H
wanton rapids
#

what??

empty brook
#

you know i wonder if maybe this isn't dark magic to me, but just dark magic in general

rare shell
#

what the christ is it grabbing

#

now i swapped it to

#

print(v.rank)

#
121
2
3
4
5
6
7
8
1
2
3
#

i dont think im hooked into the right context

empty brook
#

i can't believe you discovered the secret card rank of 121

wanton rapids
#

stoocne card

mild raft
#

ace^2

rare shell
#

ohh???

#

i got it to work????

#

sort of?

#

i got the discard part down but now i am eternally discarding

#

uhm

wanton rapids
#

suffer the consequences of your actions

rare shell
#

okay so not eternally discarding, just discarding for 15 seconds

#

i didnt even select anything

#

this is some real cursed balatro hours

#

this is so strange

#

it really does take like 15 seconds to discard even if it seems likes its hung up

cosmic shell
#

are you still proccing under context.individual, because that runs for each card and it would discard for a while if you where discarding 2 cards per card.

rare shell
#

it is proccing under context individual, just not two cards at once

#

i did get what i wanted though, so ill just put in a simple counter

cosmic shell
#

what is the effect you're after exactly?

rare shell
#

mostly just the discard, discarding 2 at random would have been nice but i can work around with what i have

cosmic shell
#

if you just want to discard 2 at random, context.individual is probably wrong. you're probably after context.before or just the standard on joker effect.

rare shell
#

ill try moving it to before

#

hmm

#

well now moving it to context.before seems to not have it do anything at all

cosmic shell
#

you might need to do the effect as an event for it to work properly, if you haven't

rare shell
#

i'm calling it with add_event, yeh

#

ill try bumping it out to the normal joker trigger

#

back to triggering forever, but it seems to be working again

#
            if self.ability.name == 'Mind Mage' then
                for k, v in ipairs(G.hand.cards) do
                    G.E_MANAGER:add_event(Event({ func = function()
                        local any_selected = nil
                        G.hand:add_to_highlighted(v, true)
                        table.remove(G.hand.cards, 1)
                        any_selected = true
                        play_sound('card1', 1)
                        if any_selected then G.FUNCS.discard_cards_from_highlighted(nil, true) end
                    return true end })) 
                end
            end``` code for context, i do recognize at the moment this does discard the entire hand
cosmic shell
#

the for loop should be inside the event i think

#

also you shouldn't be removing from G.hand.cards, the hook removes from a local clone of G.hand.cards

#

so that one card isn't selected twice

rare shell
#

where should i be removing it from?

cosmic shell
#

a local clone of cards called _cards, that you can make with an additional for loop, I think you've mixed up the 2 for loops inside of the hook's implementation

rare shell
#

ah, that explains why the hooks creates a local copy of it

cosmic shell
#

yeah, for loop 1 creates a copy, then for loop 2 runs 2 iterations (1 for each card it selects)

rare shell
#

my only question is what does the card key do here in this snippet?

#

local selected_card, card_key = pseudorandom_element(_cards, pseudoseed('hook'))

#

corresponding with table.remove(_cards, card_key)

cosmic shell
#

it's the index of the selected card

rare shell
#

ah, fair enough

#

alright, ive modified the hook code again to mostly work with my code, but now its still discarding my hand completely even with a counter

#

maybe ill move it back to context.before now?

cosmic shell
#

can't hurt to try

rare shell
#

discard still works but still discarding an ungodly amount of cards

#

trying now to get it to spit out a little message to see if its doing it for each card or just one instance

#

i sure picked a good day to pull an all nighter

cosmic shell
rare shell
#

you know it would help if i deleted my existing discard code and wondering why the heck nothings changed

cosmic shell
#

happens to the best of us

rare shell
#

okay yeah, so context.before does not do anything

cosmic shell
#

you might need to add a check to the cardarea being G.jokers

sacred mulch
rare shell
#

OH?

#

IT WORKED?

#

WORM?

#

almost works at least-

#

it discards the 1 and the 3

#

ill just have to do some index fixing

#

it ended up having to be in G.jokers and joker_main

cosmic shell
#

you're probably after context.after, joker_main is what the observatory voucher uses

wanton rapids
rare shell
#

it only took 5 hours but another one down

#

wasnt sure on right most or left most honestly, left most is more punishing i think but

#

id like to hear what ya'll think

cosmic shell
#

it doesn't really matter, since the player can change the order of the cards in their hand

rare shell
#

very true

rare shell
cosmic shell
#

I do think it would be more interesting if you could get it to happen in context.before though. because then it could synergize with raised fist

rare shell
#

i appreciate your patience and help jo

#

ill do a little more digging to see if i can rig it into context.before

#

strange enough i cant get it to pop up a message at all in context.before even with some simple triggers

cosmic shell
#

that's odd, midas mask happens in before and has a message so it should work.

wanton rapids
#

full page of jokers! will release shortly

rare shell
#

ah i think i might have had context.before not nested correctly

#

okay yup!

#

now it works with before

wanton rapids
#

is self.rank 1-13 for playing cards?

rare shell
#

unfortunately still doesnt work with raised fist but its the thought that counts

wanton rapids
#

oh i can just check raised fist

rare shell
#

iirc its 2-14

wanton rapids
#

wacky

#

ah

#

card.base.nominal

grand geode
wanton rapids
#

yeah true

#

made it a bit less niche

cosmic shell
# wanton rapids made it a bit less niche

it might be more terse if you instead just checked the chip value, since that already kind of corresponds to the hand's sum. not sure if it's exactly what you're after though

wanton rapids
#

oh hmmm

#

that becomes harder to manipulate though

#

because you have to keep track of your chip buffers

sacred mulch
# wanton rapids made it a bit less niche

i feel like this sounds more convoluted than it is because of the repeat of "the last digit of"

maybe "Earn $5 if your played hand score and current money have the same final digit"

wanton rapids
#

true

sacred mulch
#

assuming i'm understanding it right

#

i'm not a programmer yet but i am a writer so at least i can try to help on that front :,)

#

could also try "end on the same number," imo that's more intuitive sounding

#

could probably tweak further, i'm sleepy, but that description definitely made me scratch my head

wanton rapids
#

yeah, good points

gusty fulcrum
#

has anyone started working on a points preview mod?

sacred mulch
#

"If the final number in your current money and the score for the played hand are the same, earn $5"

#

i'm too tired for this lol

#

good luck though! hope this helped

wanton rapids
#

yeah thanks

sacred mulch
#

yeah that's much clearer sounding

#

👍

#

well, actually, "sum of the played hand's values" is still throwing me...

question: wouldn't it be more overall useful if it was a smaller payout but multiplied for any matching digit? i feel that could be more fun since it'd be more likely to trigger and you could more easily manipulate/play around it (for instance, by ensuring you have double or triple digit money)

wanton rapids
#

oh!

#

yeah that's actually true

#

yeah that's fun

tribal rover
#

Ok finally got the injector to work

grand geode
#

me when i make a joker but can't actually add it because i can't sprite it

wanton rapids
#

rip

strong swift
wanton rapids
#

good point

#

will make it +25 chips

strong swift
#

+25 is nothing

#

+40 maybe?

wanton rapids
#

yeah

#

+40 in next update

#

(now)

wanton rapids
#

... why is sly joker so weak

strong swift
#

idk

tribal rover
#

Does anyone have a file example for a texture swap?

rare shell
#

aaaargh

#

you scoundrel

#

i was going to do a rose tinted joker

wanton rapids
#

oh

#

lmao

rare shell
#

i even had the art ready

wanton rapids
#

rip

rare shell
#

/>:(

#

great minds think alike

tribal rover
#

Is this the file structure I need?

wanton rapids
#

wait i left the testing challenge in oops

#

new version again

tribal rover
#

And then I just add "8BitDeck-negate.png" to both 1x and 2x right?

rare shell
#

gonna try setting up the jonkler webpage

wanton rapids
#

if you have any issues lmk

rare shell
#

🫡

#

i appreciate you going out of your way set all this up

tribal rover
#

Because ultimately I just used the vanilla playing deck and change all the face cards

torpid oxide
#

Anyone knows what causes the spectral cards to have this shiny effect ?

proud wadi
#

It'll be one of the shaders

grand geode
#

likely one of the shaders yea

proud wadi
#

it's the booster shader

#

it's set in Card:draw

rare shell
#

i never actually set up a github page before wew lad

#

oh wew

#

any particular way youd prefer to be credited btw

wanton rapids
#

uhh

#

something at the bottom maybe

#

also; you can change the background colours and the way everything looks by editing these values

urban badger
#

how can I support other languages? I'm using steamodded

torpid oxide
wanton rapids
#

oh that's unrelated to the question you asked

torpid oxide
#

Maybe I'll use it too

wanton rapids
#

because i edited it a bit for my website

proud wadi
#

i love it

wanton rapids
#

yeah, comic mono

proud wadi
#

why have i never thought to look for a mono version, i only knew about the "stylized" version of it called comic neue

wanton rapids
#

yeah comic neue is also nice

tribal rover
#

What is the sprite name for 8bitDeck?

#

Like is it "local sprite_cards1"?

torpid oxide
#

How do you make grey text ? ({C:grey}{} doesn't work)

wanton rapids
#

{C:inactive} iirc

proud wadi
#

inactive

torpid oxide
#

Damn

#

Thanks

tribal rover
#

Like I know Joker is "jkr" but I don't know what 8bitdeck is

#

This is what I have so far

proud wadi
#

one of the best ways to learn is to look at existing mods and understand what they're doing

tribal rover
#

Ahhh

#

But I don't think anyone has done the playing cards yet