#⚙・modding-general

1 messages · Page 5 of 1

wet river
#

Is there an indicator if the client is modded?

near ridge
#

I now get this error, but it seems to be improving!

tacit mountain
jovial escarp
#

this is very annoying

#

it was working yesterday

tacit mountain
#

let me take a look

jovial escarp
#

oh yeah

#

i think what's going on is you're directing people to the latest nightly build on github

wet river
#

Even if no mods are loaded @tacit mountain ?

tacit mountain
near ridge
#

there are some issues with the modloader rn I think

jovial escarp
#

yeah that release didn't work

tacit mountain
#

I know why hold on

jovial escarp
#

once i get the modloader installed im sharing my texture pack

#

nice.

jaunty lion
#

here's the files if you want em

tacit mountain
#

@jovial escarp @near ridge Can you try again ?

forest creek
#

i have the same issue , when i drag and drop into the .exe a cmd open and shut down after that , i dont have time to read and when i lunch balatro , i dont habe the button mods

jovial escarp
#

ok

near ridge
#

nope

jaunty lion
#

my priority with the colors is making sure there's enough contrast between spades/clubs and hearts/diamonds

tacit mountain
#

Yep 0.6.2

jovial escarp
#

i tried 0.6.2 and nah still getting the same error

tacit mountain
#

0.7.0 is still a Pre Release better not use it unless you need it

jovial escarp
#

maybe try making the spades more purple

tacit mountain
jovial escarp
#

same thing unfortunately

#

i am running this in a Wine bottle because the linux instructions need a lot of changes due to me using OpenSUSE Tumbleweed

forest creek
wet river
#

On latest.

jovial escarp
#

the child ran away on execution day

#

xd

tacit mountain
jovial escarp
#

same thing

near ridge
#

yup

jovial escarp
#

sorry if you got your hopes up

tacit mountain
#

And now ?

jovial escarp
#

unfortunately the issue persists

near ridge
#

nope

jovial escarp
#

what file is it not finding i wonder

hexed surge
#

i broke the game again naneinf

jovial escarp
#

not a number to the infinity power

jaunty lion
tacit mountain
#

Well, let me get home and I will generate a new executable

jovial escarp
#

take your time

hexed surge
molten igloo
hexed surge
#

its crazy to get naneinf without mods

magic sandal
#

while yes naneinf is nice you only actually need like 17 jokers to get naneinf if youre excluding steel cards

jaunty lion
#

i wonder if there's a video anywhere of someone reaching naneinf

jovial escarp
#

i think it would be funny if the game had a hidden (non steam) achievement for getting naneinf

magic sandal
hexed surge
#

bro just copy the steel king with cryptid

#

thats epic

zinc saddle
#

i was thinking about something simmilar using the snake blind i completely missed this lol

woeful finch
#

serpent?

woven sonnet
tacit mountain
#

@jovial escarp Is it still happening ? Everything is working on my side

jovial escarp
#

it worked

#

thank you for being so quick

jaunty lion
tacit mountain
rigid jewel
#

LET BARON COOK

jovial escarp
#

awesome

near ridge
#

Yee it worked!!

tacit mountain
#

It was github jank

#

Sorry about that

#

The cache was messing it up

magic sandal
#

I think someone did the math and it came out to e4665 or something

woeful finch
#

e4665???

jovial escarp
#

idk why my mod isn't being detected

woven sonnet
#

It has been balanced. but it's not Balanced

woeful finch
#

that’s way more than e308 lmao

jovial escarp
#
--- MOD_NAME: RGBP Card Colors Pack
--- MOD_ID: RGBP_Cards
--- MOD_AUTHOR: za0za_0
--- MOD_DESCRIPTION: This mod changes the standard card colors to make Hearts red, Diamonds green, Clubs blue and Spades purple.

----------------------------------------------
------------MOD CODE -------------------------

function SMODS.INIT.RGBP_Cards()
    sendDebugMessage("Launching RGBP Card Colors Pack!")

    local rgbp_mod = SMODS.findModByID("RGBP_Cards")
    local sprite_card = SMODS.Sprite:new("cards_1", rgbp_mod.path, "RGBPDeck.png", 71, 95, "asset_atli")
    
    sprite_card:register()
end

----------------------------------------------
------------MOD CODE END----------------------```
#

could anyone take a look

magic sandal
jovial escarp
#

the folder is named RGBP_Cards

#

the lua file as well

#

i don't know what i'm doing wrong

#

I see now

#

the mod author HAS to be in brackets

#

texture mod has been posted

#

please juice it up

pastel wolf
#

Yep

white scarab
twin river
#

do yall use any specific programs to help make sprites for custom joker cards or is it just good ol ms paint

spiral dune
carmine flare
spiral dune
sand thicket
rare hill
lean dune
#

who even uses ms paint these days

simple rampart
#

are balatro mods available to be downloaded via thunderstore?

lean dune
#

pdn is just better

lean dune
simple rampart
#

so it's all manual for now?

lean dune
#

depends on what you call manual

#

pretty much all mods on here work with it

#

so you really just have to unzip something into your mods folder... if you wanna call that manual, go ahead

molten igloo
#

aseprite is the goat for pixel art

#

if ur just doing texture changes tho, paint.net is decent

pastel wolf
#

Aseprite is great making new stuff cuz i have access to the whole palette of the game

#

@carmine flare did you write the uibox override function?

jovial escarp
#

aseprite is probably the best pixel art editor

#

but i use gimp

#

i know gimp so i use it

little wharf
#

+1 Gimp

carmine flare
pastel wolf
#

I meant the one in your mod, cuz i grabbed that one for the description of mine, i was gonna check if that was allgood

carmine flare
#

I did write it. It works fine as far as my testing can prove that

pastel wolf
#

It works yeah, it works great, am i okay to use it in mine though?

jovial escarp
#

i think it would be funny if someone made a texture pack that textures the cards all wrong

#

all kings become 3s of a different suit

pastel wolf
#

Also i tried to add colours to the suit variable in the description, but it has an issue with {V:1}{}

#

Have you got any clue how i'd add the colour of the suit to the description too? Would i need to find a way to add that into the code?

little wharf
#

start to decode which cards are which at some point

rare hill
#

it's just a default program, nothing great

pastel wolf
#

Cuz i tried to use {V:1} like idol, but it hates it

jovial escarp
#

pure hell

little wharf
#

😆

heady marten
rare hill
#

yeah, forked off of the last fully open source version of aseprite I believe

heady marten
#

Oh, cool! well, I guess I have something to share too then, maybe it will be useful to somebody. There's a modification to GIMP called PhotoGIMP that I think is great

#

It's basically a bunch of settings and plugins you add to GIMP to make the interface more familiar to photoshop users

#

It's been useful to me at least

hardy brook
#

What's up all?

heady marten
#

Hi there

hardy brook
#

I'm trying to figure out what to work on first

#

on one hand, Hanafuda.

On the other hand, Bunch of random cards

heady marten
#

You know...

#

Wouldn't it be crazy if we could tell Balatro to use different rulesets?

hardy brook
#

so challenges?

woven sonnet
heady marten
#

You said Hanafuda cards, so in this instance, imagine having to actually make the hands, like five lights and such

#

Five Lights is the only one I remember... LOL

hardy brook
#

lol

#

I'm just having both the stuff together with hanafuda as a suit and the Hanafuda suit/Score as the rank

heady marten
#

Yes, I realize it's redundant

#

But maybe I like flowers doubly

spiral dune
hardy brook
#

I feel like the Hanafuda stuff is gonna mess up with the original game, but I'll figure out ways to balance it for both

hardy brook
heady marten
#

You adding this to balatro will force me to actually learn Hanafuda proper

#

Curses haha

hardy brook
#

lol, semi-learn Hanafuda and KoiKoi

hardy brook
heady marten
#

Hm.. it sounds like a smart rule adaptation

hardy brook
#

The K6T mod would be just adding ranks

heady marten
#

Riichi Mahjong next

jovial escarp
#

people are modding rules into balatro already

#

i'll hedge a bet and say somebody is going to work on a mod the scope of antibirth on tboi for this game

#

people that have way more knowledge about game design have the upper hand

#

im just a sprite switcher

jovial escarp
#

antibirth mod

#

the binding of isaac

#

the mod that, uh,

#

made it into the game,

#

because the mod dev just offered to work together on it

hardy brook
#

oh

heady marten
#

Unpopular opinion but I don't like BoA

jovial escarp
#

i dont play it

#

watching albino play it is exhilarating though

#

seriously some of the most funny edited stream content on yt

hardy brook
#

Decided to work on K6T for now

empty brook
#

hey folks! took a break for a couple days, but now trying to get this deck mod working again

i'm trying to make a deck which has a similar mechanic to Anaglyph, except instead of the Double Tag, it gives the Negative Tag

so far, i've been able to get the deck to be there, but selecting it immediately crashes the game. i can see that it's citing line 31 as a problem, but i'm not really sure how to fix it

carmine flare
hardy brook
rich star
#

a deck card that connects any straight...

empty brook
carmine flare
#

I'm not at home or I would take a quick look but essentially any local vars within back.apply_to_run aren't going to be defined in your override

pastel wolf
#

I'm having a lotta fun coding tbh

#

Spose that'll change when i actually start coding more abilities rather than just localization

empty brook
#

oh yeah, i think that changing code for things like textures and text is much easier

#

i have a mod for lose quotes right now as well, but i'm only planning on finishing it once i've got this deck done

pastel wolf
#

But it felt so rewarding when i got the effect of watercolour working properly

heady marten
#

Modding disables achievements doesn't it? I hope mods get separated into visual and mechanical going forward, and visual ones don't disable achievements at least.

pastel wolf
#

I think there's a mod that reenables them

white scarab
heady marten
#

Oh, thank you

#

I only intend to use visuals for the most part

white scarab
#

The mod options system is still being developed but I’m sure there could be a config where you specify if a mod should disable achievements or not

heady marten
#

Does changing file directly into the exe also have the effect of disabling achievements? because for now I just want to use teeny-tiny visual change

hardy brook
#

So there's 3 face ranks in K6T's deck. Looking at the suit order in, the new order is 0, 1/2, 1-24, Jack, Cav, Bishop, Tower, Queen, King, Ace, Infinity

#

This is a little different from their order with Infinity between the numbers and face cards

heady marten
#

Are you making a deck with tarot playing cards? that's pretty cool

#

I always thought Knght was a much cooler rank than Jack

hardy brook
#

I'm recreating the K6T deck alongside hanafuda

heady marten
#

Sorry, I don''t know it

hardy brook
heady marten
#

Ah, sorry, I was thinking something different entirely, don't mind me

hardy brook
#

It's cool

heady marten
#

Of course, it could cause confusion with Arcana so it's not a good route to take haha

hardy brook
#

The lower arcana versions

#

I mean I'm planning to do some big COMPOSITE of all my mods

#

And some mods are gonna be new suits

heady marten
#

I'm always up for the cards themselves looking cool and fresh

#

Those are probably too detailed to translate to pixel art, but just showing the gist

hardy brook
#

I do Have to make face cards for Cavalier, Bishop, and Tower

empty brook
# carmine flare Args is probably defined somewhere in the apply_to_run function and you'll need ...

this has been very helpful advice--i've been looking around a lot, and i do feel like i know what i have to actually do. at least, more than before lmao

however i have not actually got the mechanics to work just yet. i'll either try again later tonight, or if someone else looks at the code (or you--no pressure though, would understand if you're too busy or otherwise don't want to for someone random's mod!)

carmine flare
#

overriding Back:trigger_effect looks pretty simple to override, no local variables to fiddle with

#
function Back.trigger_effect(self, args)
  local calc_ref = Backtrigger_effectref(self, args)

  if self.name == 'Pact Deck' and args.context == 'eval' and G.GAME.last_blind and G.GAME.last_blind.boss then
    G.E_MANAGER:add_event(Event({
      func = (function()
        add_tag(Tag('tag_negative'))
        play_sound('generic1', 0.9 + math.random()*0.1, 0.8)
        play_sound('holo1', 1.2 + math.random()*0.1, 0.4)
        return true
      end)
    }))
  end
  
  return calc_ref
end```

that's how i would write it
empty brook
carmine flare
#

yeah those look like modifiers to the decks themselves before the run starts. i haven't messed with adding decks yet so im not too familiar

#

i would check that you don't break anaglyph deck or plasma deck with that Back.trigger_effect override. it shouldn't but it's worth testing to be sure

empty brook
#

or i guess beforehand really lol

#

i will go check anaglyph and plasma!

#

okay, Anaglyph works perfectly fine

#

Plasma does not

#

Plasma does the cool visual effects and is like "yo it's 40 x 40!!!" and then it just gives the actual normal number for the hand before that balancing number change thing

#

actually wait no, it actually is even worse lol

#

it changes the chip value but not the mult value

#

so if i play a 15 x 1 high card, it becomes 8 x 8
except actually it just becomes 8 x 1

carmine flare
#

probably has something to do with the return statement in the plasma code returning 2 numbers

#

you could try something like this

function Back.trigger_effect(self, args)
  if self.name == 'Pact Deck' and args.context == 'eval' and G.GAME.last_blind and G.GAME.last_blind.boss then
    G.E_MANAGER:add_event(Event({
      func = (function()
        add_tag(Tag('tag_negative'))
        play_sound('generic1', 0.9 + math.random()*0.1, 0.8)
        play_sound('holo1', 1.2 + math.random()*0.1, 0.4)
        return true
      end)
    }))
  end
  
  return Backtrigger_effectref(self, args)
end```
#

perhaps assigning the return to a variable instead of just directly returning it is the issue

hardy brook
#

Alright, think that's good for the Bishop card art

#

Based it somewhat off the K6T version with a bit of custom

empty brook
#

thank you so much!!!!

carmine flare
#

is it possible to enforce mod load order? if, say, i made a utilities mod and then needed to reference a function in that mod from another mod could i make sure the utility is loaded first?

left ivy
rigid jewel
#

Gave my WIld Face Joker a texture and a name

#

Not the best but still ok

pastel wolf
#

Cool art

rotund atlas
pastel wolf
#

I probably wouldve done something like this but that's just as good

#

If not better

rotund atlas
rigid jewel
#

Give me one moment

hushed furnace
#

i tried downscaling an illustration from yoshitaka amano's tarot deck to balatro size

rigid jewel
#

Here's the sprites I made for it

livid yacht
bronze fern
#

Mechanic Joker
Destroyed Jokers and Playing Cards
are immediately fixed.
(Probably a Rare seeing you could now take Glass cards and Spectral cards without fear of losing stuff)

bronze fern
#

<@&1133519078540185692> We might have a bot

rigid jewel
#

This is a bot

bronze fern
#

thought so

#

seemed far too formal

grave panther
#

I timed them out on the off chance is not and I’ll take it to the mod channel on the off chance it’s real

#

Thanks for the ping

bronze fern
rotund atlas
static vale
#

thanks @grave panther

tired mirage
#

anyone with real business wouldn't spam the same message in multiple channels they would just look at the contact info in faq

bronze fern
rotund atlas
rotund atlas
#

besides eternal jokers

rigid jewel
#

xdd

bronze fern
#

Eternal Jokers are the only thing that are close

#

but in that sense you can't sell them

#

Mechanic one can still

rotund galleon
#

@ember kite The exe for balatro is a self unpacking executable, so you just run 7z unzip on the file and all of the code, resources, and textures will be there

#

can't talk about it anywhere but here though

ember kite
hardy brook
#

Almost done

#

And that's one suit

pastel wolf
#

That is so many cards

hardy brook
#

0, 1/2, 1-24, Jack, Cavalier, Bishop, Tower, Queen, King, Ace, Infinity

strong swift
#

does infinity just auto win

hardy brook
twin river
#

Is there a way to easily switch between vanilla balatro and the steamodded version?

pastel wolf
#

I'm a bit confused, the order section doesnt work

#

this is the order of them in the game, not following the coded order?

rigid jewel
#

I'm not sure either

#

I kinda just ignored the order since I don't currently plan on adding multiple themed jokers

#

Also what do they all do?

#

I know watercolored but I haven't seen the rest

#

Just the art

carmine flare
pastel wolf
#

ah okay

pastel wolf
pastel wolf
#

thank you :)

patent spruce
#

Are you doing the mod all by yourself?

pastel wolf
#

Well, with the help of the more experienced people in here

patent spruce
#

Most wonderful

carmine flare
#

just sorting the list of mod jokers by order before adding them to the main game lists

pastel wolf
#

Cool

carmine flare
#

if you add that code to your mod you have to change the for loop that puts the jokers in the center pools. instead of for k, v in pairs(jokers) do you put for k, v in pairsByOrder(jokers) do. in my mod it looks like this

    v.key = k
    v.order = table_length(G.P_CENTER_POOLS['Joker']) + v.order
    G.P_CENTERS[k] = v
    table.insert(G.P_CENTER_POOLS['Joker'], v)
    if v.rarity and v.set == 'Joker' and not v.demo then
        table.insert(G.P_JOKER_RARITY_POOLS[v.rarity], v)
    end
end```
last fern
#

How did you trick it into working? I can't figure it out.

pastel wolf
#

Anyone have an idea on how to input the cost of jokers into a variable?

supple cypress
#

Look at how swashbuckler scores

pastel wolf
#

Good idea, thanks

#

i keep getting this error

#

but i've specified self.abilty.extra.chips in the ability table

grand geode
#

testing out the new joker api

pastel wolf
#

i can't work this out at the moment and i need to sleep. it has an issue with like 198 and i've already specified the loc_vars

#

if anyone else has insight to what i'm doing wrong please enlighten me

grand geode
#

because if so it should be outside, or change it to ability.extra.chips

forest creek
#

does the achievement and progression gonna be affected if i install the steamodded ?

grand geode
#

progression is unchanged

#

achievements will be locked unless you use the achievements enabler mod

pastel wolf
#

It is in extra

forest creek
#

ok ok i download it and put it in the mods docs

#

and ill find it if i lunch the game ?

#

right ?

pastel wolf
#

Wait i swear it was self.ability.extra.chips already

#

Dammit

pastel wolf
#

You need another one under context.gamearea to trigger it after a hand?

grand geode
#

yeah

#

see Campfire

pastel wolf
#

Yeah i was referencing campfire and castle

#

I wrote one out but never got to see if it worked cuz 198 was broken

#

I'll get that working and then try to plug in base.cost into the chip mod

#

Which i think i have to make a G.game thing for

#

But idk how to do that

grand geode
#

@livid yacht what the heck

livid yacht
#

I’m Campfire! You can see me! :)

pastel wolf
grand geode
#

can't believe LocalThunk added you to the game

pastel wolf
#

Apparently swashbuckler works on sell_cost or something

solar nova
#

what are the mods available rn?

pastel wolf
#

I just need to work out what the opposite of that is

#

Chip_mod needs to = the purchase cost of jokers

grand geode
#

opposite?

pastel wolf
#

Buy cost not sell cost

grand geode
#

i think it's just cost

pastel wolf
#

Probably

#

I'll see tomorrow

#

Wish i didn't have to work and could just code all day egg

grand geode
#

also idk if selling cards passes a other_card argument

pastel wolf
#

What do you mean

grand geode
#

you would need the other card to check its cost wouldn't you

pastel wolf
#

Hmmm

#

True

#

I guess we find out

#

Idk how to write the part that grabs the cost anyway so i'll cross that bridge when i get out of my wheelchair

foggy crag
#

My Warp Zone Joker collection just got a new face!

foggy crag
grand geode
#

CLEANSE UP YOUR BODY, CLEANSE UP YOUR SOUL
ALL YOU NEED IS TWIN ISLANDS' MILK!

tacit mountain
rotund atlas
#

im trying to modify main menu a bit and can't understand this part

#

which creates options and quit buttons

#

i never touched lua before, but im assuming how it works is that if G.F_QUIT_BUTTON is nil it will return nil instead of button object but i have no idea what G.F_QUIT_BUTTON is and why is it there

#

also second line seems to be just blank separator, but G.F_QUIT_BUTTON also there

#

am i missing something?

#

oh nvm it's just boolean var for consoles got it

hidden tapir
#

getting an object parser together for string building for bots/APIs

wet river
#

Anyone have a way to listen for a variable change?

#

I'm looking for when scoring is completed, but I'm not seeing the method for that atm

#

Maybe update_hand_played

white scarab
#

There might be a Lua debug thing for that, but not sure if you can check for variable changes
I think it’s possible to use it for function calls though

hexed surge
solar comet
wet river
#

I'm not completely sure I understand how to send the reference back for this:

function G.update_hand_played()
    contents = updateHandPlayedRef()
    io.open("test.txt", "w"):write("test"):close()
    return contents
end
    ```

Anyone able to help me out?
#

This is the error I'm getting:

#

Which to me sounds like I'm not doing the passthrough part of this correctly.

#

I figured it out. ChatGPT for the win.

pastel wolf
#

Lmao

pastel wolf
heady marten
#

I get this when trying to set the modding environment

woven rock
#

is there no step where you have to install requirements?

#

Make sure you have python3, pip3, MPocate/PLocate, 7zip-full, and the python requests library.

heady marten
#

nothing pops up about requirements, no. I'm using a nightly

hardy brook
#

Welp, this is gonna be nuts

#

Just think, this isn't even the final form of this for the big composite mod

#

Once I get these working and the hanafuda cards done, I'll just have to combine and reorganize the cards/textures

jovial escarp
#

this nuts

spring ridge
#

milkracle

spring ridge
queen vector
#

Anyone thought of doing the inverted tarot as a mod?

hardy brook
pastel wolf
#

does this need context.cardarea == G.jokers?

#

cuz its not upgrading when a joker is sold

hardy brook
#

Got a lot of progress

pastel wolf
#

wait

#

it is upgrading

#

it just doesn't play the animation for upgrading

carmine flare
hardy brook
#

Need to do 2 more suits as well as coding it in

pastel wolf
#

i'll have a look

#

okay the upgrade and the adding chips works

#

i'm confused tho cuz castle is written like this

#

cuz thats where i got it from

#

okay, used the one from campfire and now it works

#

now i need to figure out how to augment the cost of cards into the chip mod

#

is the cost of a card technically sell_value*2?

tulip tulip
#

was the whole game made with love2d ?

rotund galleon
#

yes

pastel wolf
#

@carmine flare does your uibox override include the "dictionary?" i'd like to tap into these, but i'm not sure if it would work or if i need to write in my own somehow

carmine flare
#

shouldn't. but i haven't tested.

pastel wolf
#

cuz i've got them in mine and it seems to have an issue

#
            loc_vars = {self.ability.extra.trigger+1, self.ability.extra.every + 1, localize{type = 'variable', key = (self.ability.sundial_remaining == 0 and 'loyalty_active' or 'loyalty_inactive'), vars = {self.ability.sundial_remaining}}}
            customJoker = true
#

i dont think i used the right box

carmine flare
#

pretty sure localize should use parenthesis not brackets, no?

#

i haven't really used localize in anything i made so idk how it works but my code shouldn't touch it

pastel wolf
#

that's how loyalty card is written

#

this is the error message

#

334 if the line that involves loyalty_active and loyalty_inactive

little wharf
#

you're passing a nil value, so something on that line is not existing at the time it tries to combine the strings for the localization

pastel wolf
#

except if i change it to sundial_active and inactive, which dont exist, my card descript just says ERROR hands remaining

#

but if its loyalty_active when i try to hover it just crashes

#

loyalty_active and inactive are in the game code cuz they're used by loyalty card.

#

maybe they get overridden by the override

little wharf
#

look at the loyalty card code and see how it checks which one to send?

pastel wolf
#

mine is written just how loyal's is

#

with the self.abilty.extras changed ofc

pastel wolf
little wharf
#

you have sundial_remaining defined in abilities?

pastel wolf
#

yeah

#

the whole ticking down thing works

#

it just won't show hands remaining in

#

the descriptrio

#

hang on

little wharf
#

if customjoker=true is proper and everything else is functional I can only see self.ability.extra.trigger and self.ability.sundial_remaining are the only other two variables that could be nil at that point

pastel wolf
#

sundial remaining seems to work as after 7 hands the card does the again effect

#

but it only crashes when those two vars are loyalty_active

#

/inactve

#

if i change them to anything else it does this instead

little wharf
#

where is self.ability.extra.trigger defined

pastel wolf
little wharf
#

oh lua

#

can you show the whole part 😆

#

that shows self.ability.sundial_remaining defined and extra trigger after it

pastel wolf
#

i can send you the code if you want to have a dig?

little wharf
#

I'm just about to eat dinner, but if you haven't figured it out by the time I'm finished up, I can check it out

pastel wolf
#

Cool, thanks

#

i'll probably try work on another joker for a bit

#

maybe see if i can get receipt working as intended

hardy brook
#

Thinking of how I can do Arcana cards without really having the arcana cards to use

#

I do have a few ideas:

Using the ones found in Persona. That in turn made me find the Visconti-Sforza deck, which has a few others that I don't really see (or are named different) in other decks including the Juggler, Popess, and Time.

Another idea were to reference a similar kind of deck (excluding some that could be taken a bit negatively) called "La Loteria", which is some kind of bingo-esque game.

pastel wolf
#

i'm not sure how to write this part of library card

#

15 mult per consumable card held

white scarab
#

model it after Abstract Joker
+15 mult for each Consumable card (held)

pastel wolf
#

yeah i'm just looking at abstract now

#

not sure how to grab the number of consumables tho

#

probably look at the observatory effect

jovial escarp
hardy brook
#

nah

pastel wolf
#

welllll

#

you wouldn't find much bigger than a pair or a flush right

hardy brook
#

I'm sorry. I'm doing research on playing cards for mods

#

The playing card was the reason the sandwich exists!?

pastel wolf
#

im sorry what

hardy brook
#

The earl of sandwich was obsessed with playing cards that he requested his food to be made into what would become the sandwich

#

Sandwich Joker when

pastel wolf
#

wild

hardy brook
#

Could do an Escape map joker to reference the hidden maps on bicycle cards

pastel wolf
#

i was gonna do a bicycle joker at some stage

hardy brook
#

Should do some other famous jokers

pastel wolf
#

with the 'wheel' hand

hardy brook
#

But yeah, if you think K6T in Balatro is gonna be rough

#

Just wait for the composite deck

pastel wolf
#

I'm so lost on how to write this

pastel wolf
#

not sure how to tell how many consumables are in the slots

hidden tapir
#

i don't really wanna bother the dev, for those of you that are making custom cards and are getting familiar with the shared responsibility of the localization files and the game.lua file, have you determined the logic that's going into the variable replacement? Sometimes it seems like it's just reading config or config.extra left to right but there are some that have a #3# like odds-based ones where it seems like it's being calculated elsewhere

pastel wolf
#

i think someone did

#

like this you mean

#

#1#

hidden tapir
#

yeah

pastel wolf
#

its the first variable defined in this part

hidden tapir
#

oh heck what file is that

#

that's probably what i'm missing

pastel wolf
#

theres one for every card in card.lua

hidden tapir
#

i was looking for things by the shortcode rather than the name

#

that'd be why

#

cool, thanks

pastel wolf
#

gotta override the ui table to do that

#

luscious did that, i'm using his section of code

hidden tapir
#

i'm not modding the game directly, trying to write an API for card lookups

#

would like to use the game logic so it's update-friendly when possible

pastel wolf
#

this is myy... fifth? day modding

hidden tapir
#

some like misprint are gonna need extra attention but the more i can minimize that the better

pastel wolf
#

so i can't really help too much i'm sorry

hidden tapir
#

no you're fine, you pointed me in the right direction!

pastel wolf
#

:P

hidden tapir
#

using your example screenshot i was looking for j_receipt instead of Crinkled Receipt and getting nothing back but the initial definition and the localization

pastel wolf
#

ah yeah

hidden tapir
#

and going "what wizardry goes on here??"

pastel wolf
#

j_receipt is just the slug

#

the full name is used in the ability and in the ui table

hidden tapir
#

thankfully i don't need to get too into the weeds of parsing since i just need to get to human-readability

pastel wolf
#

any of you very smart coder people know what variable the amount of consumable cards is?

pastel wolf
#

Round of applause

#

Library card now works as intended

hushed furnace
#

nice

pastel wolf
#

ALTHOUGH

#

if i look at the description in the main menu the game crashes

#

orrr

#

if i look at it in general it crashes hmm

#

it didn't before but now it does

#

i'm confused

#

why does

#

okay worksagain

#

fkin watercolour doesnt work properly

pastel wolf
#

yes it does

#

i think i was just confused

hardy brook
#

I'm surprised nobody's tried to do a mod that brings back cut content

#

at the moment that'd be only 5 of the decks

#

oh well, ig

#

I might add it to my big list

jade saffron
#

would someone be ever so kind to tell a bloke where the tutorial for changing joker icons/custom skins would be

pastel wolf
#

you'll need to go into the balatro.exe archive, then under resources is all the 1x and 2x files

#

open the 1x file of the sprite table you wish to edit

#

then when exporting, export a 1x and a 2x and replace the existing pngs with your new ones

jade saffron
#

fire thank you sm

carmine flare
#

why does my this card crash the game when i hover over it only in the jokers area in a game. in collection it works fine

pastel wolf
#

not sure

#

just some issue in the uibox

carmine flare
#

o wait

#

it's cause i was resuming a run from before i changed the extra value in the card definition

#

starting a new run and giving myself the card it works fine

pastel wolf
#

sweet :)

#

if i'm trying to discard a card after a hand is played, do i need to create an event?

carmine flare
#

probably, the hook code does

grand geode
#

how do you do the uibox junk

#

oug

pastel wolf
carmine flare
grand geode
#

well that works

#

thanksies

pastel wolf
#

luscious my hero

#

hook code is complex

carmine flare
#

essentially it just creates a list of cards in hand, highlights 2, discards all highlighted cards

pastel wolf
#

I'm trying to combine raised fist and hook

#

to discard the lowest card in the hand

pastel wolf
#

i cannot figure this out

carmine flare
#

what's not working

pastel wolf
#

Give me a bit, i'll answer that in a sec, it discards, but it discards 2 randomly, so i need to trim it to 1 and make it discard a specific card

pastel wolf
#

the money effect works fine

#

but thats the easy part

grand geode
#

mfw after hand played effects trigger before chips are added into the total

pastel wolf
#

agh

#

i can't get this

carmine flare
#

the for loop is why you're discarding 2 cards

#
local raised_card = nil
for i=1, #G.hand.cards do
    if temp_ID >= G.hand.cards[i].base.id and G.hand.cards[i].ability.effect ~= 'Stone Card' then temp_Mult = G.hand.cards[i].base.nominal; temp_ID = G.hand.cards[i].base.id; raised_card = G.hand.cards[i] end
end
if raised_card == context.other_card then
  G.E_MANAGER:add_event(Event({ func = function()
      G.hand:add_to_highlighted(raised_card, true)
      G.FUNCS.discard_cards_from_highlighted(nil, true)
  return true end })) 
  delay(0.7)
  return true
end```
#

something like that in the context.individual block of the calculate_jokers when context.cardarea == G.hand

#

where raised fist is essentially

pastel wolf
#

So do i need two blocks? one in context.individial and one in context.cardarea?

carmine flare
#

no

#
  if context.cardarea == G.hand then```
pastel wolf
#

Hmmn

#

that one doesnt run

#

but i probably put it under the wrong context

carmine flare
#

tbh i didn't test that code i just kinda wrote it as an example

#

there might be some syntax issues

pastel wolf
#

fair enough, it'd be a better starting point anywayu

#

there doesnt seem to be a discard after playing at all

#

where does the temp_id 15 come into play?

carmine flare
#

the if statement i took from raised fist

pastel wolf
#

yeah

carmine flare
#

the return true at the end of the code i gave you is gonna cause some issues

#
  if context.cardarea == G.hand then
    if self.ability.name == "Daifugo" then
      local temp_Mult, temp_ID = 15, 15
      local raised_card = nil
      for i=1, #G.hand.cards do
          if temp_ID >= G.hand.cards[i].base.id and G.hand.cards[i].ability.effect ~= 'Stone Card' then temp_Mult = G.hand.cards[i].base.nominal; temp_ID = G.hand.cards[i].base.id; raised_card = G.hand.cards[i] end
      end
      if raised_card == context.other_card then
        G.E_MANAGER:add_event(Event({ func = function()
            G.hand:add_to_highlighted(raised_card, true)
            G.FUNCS.discard_cards_from_highlighted(nil, true)
        return true end })) 
        delay(0.7)
        return {}
      end
    end
  end```
#

i just tested this and it seemed to work. it doesn't add money but i think you had that working

#

just replace the return {} with the bit that adds money

pastel wolf
#

ah nice

#

thanks man

#

moving it to context.individual moves the money effect to the card being discarded

carmine flare
#

True. You could move just that bit to the final else block

past tendon
#

Nice. Maybe it would be better if the shaking effect happened after the joker goes active ?

grand geode
#

i made the shaking before active to be in line with DNA, Trading Card, etc.

#

well not Trading Card
Sixth Sense, i think?

pastel wolf
#

sixth sense doesnt wiggle

grand geode
#

never used that

#

lma

pastel wolf
#

trading card wiggles

grand geode
#

yeah but it's on Discard ain't it

pastel wolf
#

ya

#

theres an odd bug happenening between one of my jokers and trading card

grand geode
#

i'll change the jiggle to after active then

pastel wolf
grand geode
#

wack

pastel wolf
#

yeah isaac_shrug

#

it seems to do one when the round is over too

#

Daifugo i mean

past tendon
rigid jewel
pastel wolf
#

iok why trading card and daifugo both proc at the end of the round

rigid jewel
#

I'm wondering why you're getting two negative popcorns

pastel wolf
#

if you press space with the debug tool it gives you negative popcorn

rigid jewel
#

I never knew of that

grand geode
#

oh i coulda used that instead of manually summoning cavendishes

past tendon
#

same

left arch
#

Anyone else get virus detected when trying to download the latest steammodded?

pastel wolf
#

Always

#

Its just windows detecting rhe injector

#

Its fine

mystic yew
#

Hi not really modding but I have a question is there a way to only view the background in the game the spinning circle is just so hypnotizing i love looking at it would love to have it as wallpaper

rich star
#

is the balatro steamodded loader trustworthy? just sense checking

hexed root
#

Yeah, I downloaded it and used it yesterday, it's legit

#

Windows complains that it's a virus, but you can allow it

#

it modifies other executables so that's why it looks sus to windows sus

hexed root
rich star
#

cool...

zealous wave
#

localthunk should release the background shader on wallpaper engine

hexed root
#

I had a couple question for modders:
I'm a backend webdev but I've never done gamedev before. Learning Lua and everything.

  1. How can I run the game on Mac? It's not supported from Steam but Steamodded has instructions for modifying the .exe on MacOS.
  2. What's the best workflow/tools that you use to make changes and quickly see how they work?
  3. How are tests created/run?
mystic yew
mystic yew
hexed root
#

Well he's in this server, but I don't know if he responds to pings. I just joined recently myself shrug
If you look in the Credits menu in the game, I think there's an email for his publisher that you could probably send a mail to

hexed root
mystic yew
#

Thank you so much for the info and the help really appreciate it

#

I will try both hopefully something works out

#

So I tried to ping him and got this lmao

#

If any mod is viewing this can you please tell us what content is exactly blocked from this message ?

#

Hope this gets his attention somehow 🤞

quaint aspen
hexed root
zealous wave
quaint aspen
#

I just created a profile 2 in game and hit unlock all so it wouldn't impact my main save or give me achievements

#

Steamodded also disables achievements I believe

hexed root
#

Ohh ok cool, good to know

hexed root
quaint aspen
#

No it's a feature in the game

hexed root
#

wait what?

quaint aspen
#

There's literally just an unlock all button in the profile menu

hexed root
#

Oh lmaooo facepalm

#

can you tell I'm an engineer, I was about to spend a week trying to implement it OMEGALUL

quaint aspen
#

Lol yea no need for this fortunately

hexed root
#

Oh one more thing, I don't want to bug you more, but I don't understand the arg_455_0 arguments that I see in the Steamodded mods. What do those do? Do I just make up a number that isn't taken by other mods?

quaint aspen
#

I'm not sure why the code is like that either, maybe Steamo can weigh in. Personally I am using normal variable names for parameters lol. You can take a look at my Deck Creator mod code for some alternative examples if it's helpful

hexed root
#

Is that mod in the Steamodded examples?

quaint aspen
#

No you can find it in the other modding channel though

hexed root
#

Ok cool, thx for the help! thinkheart

grand geode
#

so external tools were required

hexed root
#

ohhh, so they're no longer necessary at all?

grand geode
tacit mountain
hexed root
#

Ahh got it

hexed root
hidden tapir
#

pretty sure we're not supposed to be doing that, see pinned post

runic dagger
#

Hello fellow modders, may I ask for some kind of a guide on how to edit the localization strings for Balatro?

hidden tapir
#

it's reasonably straightforward, what are you looking to do?

runic dagger
hidden tapir
runic dagger
hidden tapir
#

yeah, download and install 7zip if you don't have it, right click the Balatro application, then 7zip -> Extract to Balatro\

runic dagger
#

oh so that's how it works with Love2D engine, interesting, thanks

hidden tapir
#

yeah i was pleasantly surprised myself

runic dagger
#

reminds me of a modding for java's Slay the Spire

runic dagger
#

Or use Steammodded or whatever that was

hidden tapir
#

so, what i've been doing has been related to building an API so i haven't been concerned with compiling, but there is a thread in #1209506514763522108 for Steamodded that I believe will pack your changes yeah

runic dagger
#

yeah okay

#

browser keep marking steamodded .exe as infected

hidden tapir
#

yeah i believe the dev is aware of that, it's a false positive

#

getting unsigned executables to download in Win10/11 is a little harder every day lol

runic dagger
#

do I need to keep .exe after injecting?

hidden tapir
#

no idea sorry

#

haven't used

grand geode
#

nope no need

tacit mountain
hexed root
#

Oh I see the pinned rules now, got it 👌
Sorry localthunk, no harm intended! 🙏

hidden tapir
#

i suspect he'll port to Mac at some point anyway, it's supposedly very straightforward from Love2D

hexed root
#

I'm just talking about for devving mods, I've never done dev work on Windows, it's always a pain in the ass imho 😅

hidden tapir
#

lmao yeah i'm there with you

#

i keep Win+Tabbing between apps

white scarab
#

I think localthunk just wants the Mac port to be as good as possible

hidden tapir
#

yeah that makes sense, also just getting the launch and initial bug reports out of the way

#

i'd do it the same way

hexed root
#

and hopefully taking a well-earned vacation lol 😎 🏖️

hidden tapir
#

it's been a good launch, hopefully once the money starts clearing from Steam he takes a badass vacation to somewhere cool

lunar fable
#

what dose the five of a flush mod do?

#

whats this mean?

rich star
runic dagger
white scarab
# lunar fable whats this mean?

That was a mod I made during the demo to add Five of a Flush before it existed. It’s still in the examples list but won’t work with 1.0

lunar fable
#

ah

runic dagger
# rich star lmao

what) that's basically the way with .exe when they aren't archived

hidden tapir
#

long term better off adding an exception to the Balatro folder and saving it straight there

#

but i don't know crap about windows antivirus at this point on how to do that

runic dagger
#

well, temporary solution is the most maintained one, rught?

hidden tapir
#

oh it's actually pretty fast

hidden tapir
#

but in this case the turning everything off would be the temporary fix and adding the exclusion would be the permanent one

#

at least until the signing or what else is triggering the false positive is figured out

runic dagger
#

already tested a few fixed strings with simply replacing .lua file with 7-zip, haven't tried making it into mod yet, need to thoroughly check how to

rich star
#

I've got the steamodded downloaded, but dragging Balatro onto it doesn't seem to be doing anything?

runic dagger
#

Got a bug too where I can't switch back to any language than English 🤔

rocky vapor
#

im following the steps to install the mod loader but it doesn't seem to be working, i can only assume the update today broke it?

jovial escarp
#

what are you running it on

#

oh win10

#

I kinda wish the injector releases would eliminate online dependencies

#

other than like 7zip

#

but licensing and bundling is messy

rocky vapor
#

ohhh is 7zip necessary for it to run properly?

#

i use winrar so I just assumed it'd be fine

jaunty lion
#

i wonder how easy it actually is to make custom decks and stuff like that

carmine flare
#

hardest part (for me) is making art lol. the code isn't too complicated

jaunty lion
#

i got an idea for one called the Double Deck
it's just a standard deck except you have two of every card, meaning 104 cards in total

#

big boy deck

#

but you have -1 hand size so it's not easy to exploit all the dupes

pastel wolf
#

But i have no prior experience coding

hidden tapir
#

my productivity is so screwed

hexed root
runic dagger
heady marten
#

Is there a way to use the mod loader without having to install 7-zip fully? I'd rather not have more than one compressed file manager on the system

little wharf
wispy cape
#

once the steam cloud support drops i'm toast

jovial escarp
# rocky vapor ohhh is 7zip necessary for it to run properly?

so the balatro exe is an SFX archive which only 7zip is capable of modifying without breaking stuff
the injector downloads a portable CLI version of 7zip to extract the archive
the injector then makes the changes to the files
and uses 7zip to zip it back up

#

you can do simple asset swaps yourself this way

#

its also not hard to whip up a mod for steamodded that does the same thing

#

requires a little bit more digging though

fossil hazel
#

mods are already happening??

pastel wolf
#

mods have been happening since release day

fossil hazel
#

oh okay 🥲

gilded hornet
#

is there a preview score mod?

lunar fable
#

what mod dose this?

fossil hazel
#

Am confused on how to get any of it to work, i did the download stuff but just loads normally when i try to open it still

pastel wolf
#

did you do this

wild thunder
#

cool deck idea: start with your most used joker

#

can someone mod it in that would be cool

pastel wolf
#

Has anyone worked out how to add an end of round gold bonus?

round ore
wild thunder
#

seeded runs don't count

white scarab
#

resets for unseeded runs that give Soul on ante 1 500,000 times

empty brook
#

i can get why that might be neat, but personally i find that mechanics which care about previous runs are usually pretty unfun in roguelikes--at least, when it's something like that

#

unlocking stuff is cool, ofc, but ideally the only way you think about your next run is in the sense of "oh, it'd be cool to do this next run", or "i'll try this deck/strategy/etc next run", rather than "oh i should take this joker which sucks for this run because that way i can get it next run"

#

at least imo

#

i think that there would be merit in a deck which begins with a joker though

#

personally though, i think if you wanna do something like that, it would work best if it's one of these:

  1. a specific joker (like some kind of deck-specific scaling joker)
  2. something random (i'd personally prefer if it's from a pool)
  3. just picking one from your collection (a deck whose ability is like, -2 joker slots or some other big downside, but you get to start with ANY joker, AT ALL, sounds pretty neat)
pastel wolf
#

back in the first demo there was silver deck which gave you a random joker to start with

#

that was scrapped obviously

empty brook
#

yeah i think someone is working on a mod to bring it back iirc

#

i've seen the scrapped deck list and i'm glad all of them got scrapped

#

but i also think having mods to bring them back sounds alright, for people who liked them

#

unrelated to this topic: anyone know how one could change jimbo's win/lose quotes through a mod? i've been banging my head against it for the past like hour or two, and i literally don't even have code that works for it even remotely (Outside of the localization file; i've written the new quote stuff already)

#

i figured i would understand how to make a mod which calls forth new localization text, and apparently i was wrong lol

dapper helm
#

i'd personally enjoy a deck that starts with 1-2 cryptids and a random joker that mentions specific ranks, like "walkie talkie" "scholar" or "hit the road jack" for example. i'd also like starting with green joker 0 discards and 1-3 extra hands, would be fun for scaling and fairly easy to tweak balance wise (lowering/removing gold gained from remaining hands for example)

pastel wolf
#

ah

#

i'm not understanding how to make this i think

dapper helm
#

make what?

pastel wolf
#

its just throwing me

#

trying to make a joker that has an end of round gold calculation

#

like Golden joker or cloud 9

#

its proving a pain haha

dapper helm
#

i can't help with anything modding i'm just nosy lol fool

grand geode
#

i have ideas i want to do while waiting for joker api to be finalized but i cant do them until monday

#

pensive

vocal beacon
#

i have no idea what ive done wrong

pastel wolf
#

well upi

quaint aspen
grand geode
#

0.7.0 is available as a pre-release

#

though it doesn't have custom atlas support i believe

quaint aspen
# pastel wolf its just throwing me

I'm not sure but I think you want to switch the colon and period for the first two lines like

local calculate_dollar_bonusref = Card.calculate_dollar_bonus
function Card:calculate_dollar_bonus(self, context)
#

Period access is a static reference, then you are replacing the instance level function with the colon access. At least that's my understanding. ChatGPT taught me everything I know about Lua over the last week so take it with a grain of salt

sweet adder
#

i'd like to make a simple texture pack, i've seen an example of a mod that shows how to replace the regular cards, but i want to replace the planet cards
how are you guys looking at the source code?

pulsar parcel
#

how do I uninstall the mod loader?

sweet adder
#

uninstall and reinstall from steam i assume

pastel wolf
#

you can just verify game files

marble roost
#

Someone please make a mod that replaces the texture of the Wee Joker. It just looks... weird.

pastel wolf
#

hows it weird, its just jimbo but small

marble roost
pulsar parcel
round ore
hardy brook
#

I'm in progress with clubs

dapper helm
#

what are all the faces called?

hardy brook
wanton rapids
#

so just the chess pieces

dapper helm
#

i'd love to make a cavalier deck

torpid lava
soft canopy
runic dagger
wanton sage
#

How do I hide this?

rocky vapor
jovial escarp
#

yeah it just downloads 7zip cli to a temp folder for the duration of the patching process

rocky vapor
#

i see i see

#

not having 7zip wouldn't be the reason for the error i had up above then?

rocky vapor
#

alright then

jovial escarp
#

if steamo is online i think he could help

rocky vapor
#

thanks

jovial escarp
#

it sounds like its trying to load a dependency from the internet but not finding it there

#

and throwing its hands up

white scarab
wanton sage
white scarab
#

idts

#

If you take a peek at the code that shows the FPS there might be a way, or you could modify the mod to disable that

vocal beacon
hardy brook
#

I got uno Hearts, Might add that to my big line of crazy mods

dreamy vault
hardy brook
#

Alright, I should probably start making ranks and such

#

just try to get anything implemented

gritty tartan
#

i feel like i could have some fun modding balatro

#

the game's grand

clever rampart
#

i want to figure out how to make my own deck

clever rampart
#

my deck in question, having specifically spades and hearts be 2s and glass cards

so basically the checkered deck but all glass and 2s

exotic dagger
#

So just ez wins?

clever rampart
#

yeah, well, just wanna make my dumb ideas come to life

#

my main idea was if having a deck with less than 52 cards at the start is possible?

exotic dagger
#

Abandoned deck.

clever rampart
#

oh, right but making one that has way less, talking like, 13 cards at start

exotic dagger
#

I don’t see why it wouldn’t be possible

clever rampart
#

well I don't understand how to make such a thing even when reading some of the guides

clever rampart
#

But I suppose this is something I'll figure out another day

hardy brook
#

Still need to make 0, 1, 1/2 for Clubs and Diamonds

robust lily
#

Welp. I have a set of Shovel Knight cards I want to mod into the game now.

wanton rapids
hardy brook
#

so... technically yes they are

torpid lava
#

Ah ok

hardy brook
#

I got another set of cards as an idea to add

#

and it's gonna be the dumbest thing

#

How the heck the special cards are gonna work? I dunno

rocky vapor
#

no idea why the exe file doesn't work but the python file does but oh well at least it's done now

grand geode
#

odd

#

id assume the py script obly works if you have the deps installed?

rocky vapor
#

i do yes, but with all of them installed the exe didn't work anyway

#

actually no i didn't have luajit-decompiler but i had the others

#

the exe should automatically download luajit though so i guess the python file does the same

wintry comet
#

is there a getting started thing that helps me build my first mod?

#

ive already installed the mod patcher

#

what a mod should even look like tho is the issue

gilded gale
#

You can refer to examples

wintry comet
#

sweet

#

ty

clever rampart
#

how would i go about modifying the other stats, like how green deck gives extra money from hands, or like how the black deck adds a joker slot, how would i do that?

clever rampart
#

i meant like for my own decks, should've mentioned that

quaint aspen
#

@clever rampart check out the mod I posted in the other channel called Deck Creator. It will let you change these options and save a new deck with the settings

clever rampart
#

oh, will it allow me to choose what cards the deck initally has, (refering to my 2s deck that im making)

quaint aspen
#

not yet, I am almost done with the update to allow this though

wintry comet
#

so, ive never implemented my own mod before. I am modifying a UI element to do some math and show a probability for draw chance of a card type (ace face number, card type and specific card

#

im guessing its going to be more complicated than just uploading a modified UI_definition.lua file

rare hill
#

are you adding stuff at the beginning/end of a function or the middle?

#

because adding at the beginning/end means you can be sneaky and wrap the function

#

middle is annoying because you either have to get clever or fully replace the function, which isn't good for mod compat

wintry comet
#

I can add it at the end but its really bad for my mental parsing

rare hill
#

if you've already modified the lua file it's easy to convert btw

wintry comet
#

this is where I am roughly, im adding that stuff there at the bottom to get variables to work with

rare hill
#

Here's this as an example - you set a reference variable to the function you want to change, then call the reference somewhere in the replacement you're doing to call the original function

#

if you really want to you can just copy and paste the function into your mod and do modifications to just replace it though

wintry comet
#

i do want mod compatability

#

at least somewhat

rare hill
#

note that the only compatibility you break is if someone else wants to change That Function Specifically

#

so it'd be incompatible with other mods changing that part of the UI, which may be fine

wintry comet
#

I see, so long as nobody adds something that modifies the UI for card tallies

#

it would be roughly ok

rare hill
#

yeah

#

I wonder if extra suits need to modify that UI,,,
I haven't looked at it at all

wintry comet
#

they might need to.

#

but they might be just out of the way of what im working on

#

becasuse theyd be adding to suit_tallies, where im just checking that

#

not making it from scratch

#

prety sure theyd be just using an appended bit, and this doesnt particularly need a specific suit to work

wintry comet
#

k my head done working for the night, hope to get some ground on this later

night relic
#

How difficult is modding if it's just to add cards, for example some Jokers?

wintry comet
#

from what i see theres not alot of documentation, so youll have to digest examples

#

game too new

raven ocean
#

i know this isn't modding specific, but since y'all might know about the game code... how does wheel of fortune pick a joker to modify? I understand how the 1 in 4 with different chances for each enhancement works, but i've heard varying answers on picking a joker.

strong swift
#

i think it's just random unenhanced

#

also dependent on seed

tidal cliff
#

has anyone developed a tool that lets you search for a seed with specific metrics

alpine elk
#

I want to edit debuffs about different stakes. I have found related codes, but I don't know how to change them with a MOD file.

tidal cliff
alpine elk
tidal cliff
alpine elk
tidal cliff
#

and does it work with looking for Eternal

alpine elk
#

I just saw it yestoday.

tidal cliff
#

oh wait that says 1.0.0b

#

I'm on 1.0.0l

#

how do I downgrade

alpine elk
strong swift
tidal cliff
#

ah

#

so it doesn't matter

#

I could always figure out how to save edit to give myself the cards required (and take away the money that they would cost) but I want a seed that can be shared

gritty tartan
#

can't wait to get my hands on modding 👀

lean dune
robust lily
#

Thoughts?

torpid lava
#

I like it, but you should either color the edging as well or color the background

#

Also, is there any tutorial on how to install mods?

robust lily
#

if you're on Windows, get Balamod. decrypt the game first using "./balamod -d" in powershell

torpid lava
#

Ty

#

So… I’m not really familiar with github and I can’t really see where the folder I need to install is.

#

I see a list of a ton of folders, but I’m not sure which one I’m supposed to do or anything like that

#

Or am I supposed to do all of them?

robust lily
#

You've downloaded Balamod and are wondering where to put it?

grand geode
#

first time i've heard of balamod

torpid lava
#

Where do I see the full mod? Am I supposed to be on like a different tab or scroll down or something? I will send a pic of what I mean

#

Am I supposed to download it all and if so, then where do I put it?

robust lily
#

just to the right of the image

#

under about, there's a releases section

torpid lava
#

Ohhhhhhh sry

robust lily
#

also, win+shift+s will let you take screenshots of your desktop and so you can paste them

torpid lava
#

Ok

#

Where do I put the file?

robust lily
#

I put it in its own folder in the game directory

torpid lava
#

Really? Shouldn’t it be in the balatro folder?

robust lily
#

I run it in steamapps\common\balatro\balamod and it runs fine

#

You'll want to separate it from the game to keep it organized

#

It'll find the game exe on its own when you run it

torpid lava
#

Ok are you sure this is like trusted or something? Because my computer really doesn’t like it

robust lily
#

I also ran into that. It's a false positive, but if you're uncomfortable with that, you should stop now.

#

I would not be surprised if official mod support is added to the game soon.

torpid lava
#

I’m sorry but this does seem a little uncomfortable for me. Is there any other mod loaders that I could use?

grand geode
#

the only other option is to compile it yourself

robust lily
#

You could try steamodded, though I'm pretty sure it works in the same way.

grand geode
#

steamodded uses an .exe too yeah

#

but just the .py script works

robust lily
grand geode
#

most if not all mods currently use steamodded so uh yea

robust lily
#

This is the resource I've been following. There's a lot of mods posted there, and information and tools for making mods.

cerulean herald
#

So glad mods are finally here for Balatro and being widely worked on and talked about 😭

#

Thank you @tacit mountain @stable crag and all the other Mod devs for all your hard work! The community appreciates you guys a ton balatroheart earth balatrojoker

stable crag
#

I just realized there's now a modding channel MenheraDown3

cerulean herald
#

This place is only gonna keep getting bigger and bigger, with more attention coming to the game and the mods/modloaders I'd bet >:D

robust lily
#

I'd love to see Workshop integration

exotic dagger
#

that would be nice

fast hatch
cerulean herald
#

Maybe the devs could talk with the modloader/mod makers and figure out a way to integrate workshop support for the game? I don't imagine it would be too hard after an easy way to install the modloaders is added through workshop! Maybe the devs could even package the modloaders into the game themselves in a future update? 🤔

#

It'd also be a lot easier to manage mods and install/uninstall them too, would be a very nice feature!

jaunty lion
#

does balatro have steam workshop support yet

#

oh wait someone just asked about that i can't read

opal vector
#

I want to testing mods but i really don't know how it works, can you explain quickly what i need pls ? egg

opal vector
#

why windows tell me "steamodded_injector.exe" is a virus ?

unique escarp
jovial escarp
#

windows is afraid of any newly made binary

#

false alarm

unique escarp
jovial escarp
#

it's probably getting triggered because it downloads dependencies from the internet and makes changes to an executable

#

if you trust windows defender over common sense i'm afraid you shouldnt be using computers

unique escarp
#

half true

jovial escarp
#

sorry that was mean

unique escarp
#

Its basically the whole thing saying, "Oh this app is untrusted and we can't verify if it'll brick your system or not, tread with extreme caution unless you know what you're doing."

jovial escarp
#

it's kinda like a liability waiver

#

if you trust the person writing the code and understand what the injector does you can safely ignore the warning

unique escarp
#

Its built to help you be more aware and be able to better protect your system.

jovial escarp
#

just like if your keygen for your pirated software gets flagged

#

if you trust the person that made the keygen and understand what it's doing to the system you can safely ignore the warning

unique escarp
#

keygen?

#

I've never heard of anything like that in the pirating community.