#vivid/stasis Balatro mod
1 messages · Page 1 of 1 (latest)
Every single one of these(besides obama come on), and another card WIP are all at 0%
will edit as time progresses
ignore my complete typography error in the title
vivid/stasis Balatro mod
lmaooo
ooh this is fun
idea: add in the entire ||betweenspace|| to unlock jokers
in my balatro mod??
we need a ranch joker dont we
is this a reference to the hit condiment ranch from the united states of america
saturday eats a raw
and says poggers
those look nice
any complaints
TVO seems powerful with a bunch of negatives/legendaries
bear creek park also synergies well with fib
Eri :)
commentator's curse feels a little too weak, in comparison to like, card sharp
hmm
honestly okaihou express could be fun if it was xmult instead
base mult feels a little weak considering how hard it is to play without numbers
tsuki also feels weak, its like, a different hanging chad with better synergy with glass
do we know when this mod will start production?
asap
still making sure everything is good
idrk entirely how to use the api, but once I figure out how I'm going to start cranking these out
might make a github for collection purposes
mods need to be open-source on github, so best to create it soon
yeah fair enough
there's some people here that can help with creating jokers
its also nice to look at the source code for help
its not public but iykyk
btw from what i know the shopkeeper's name is Tori
it is, Tori and shopkeeper are two different cards because at some point they were thought to be different iirc
or just funny nonspecific stuff
I'd love some help/balancing though
..i mean, its the product you purchased, simply looking at the distribution of the game you bought is fine
theres no problems there
you just use 7zip or a similar software to open the archive that is the .exe and read the contents
not comparable to something like disassembling or decompiling a games binaries, balatro does not have any such thing
technically, you only purchased a Steam license to play the game, you don't actually own that copy of the game
and you're licensed to use it for non-commercial use cases? i don't get your point
...
I was just clearing up a possible technicality. Not really any other point I was trying to make
isn't this conversation more fitting of a... general modding chat discussion
meh
you just need to know that using the games source code is a normal thing and that demonizing it like the other guy did is pretty wrong
that's all im trying to say
anywhom, I'm wanting to start working on this in code, but I want someone to help ig
well ask questions and people will answer them
I have no idea where to even START
I have VSC and stuff, but idk where the balatro joker code that I can reference is
^
oh you mean
that's smods wiki stuff
noted
wrong link
no worries
but the stuff is under SMODS.Center there
alright, I'll probably start working on it soon
Will use a placeholder of some kind
how should I sort the jokers? by rarity then by name?
past 150 anyway
where can i make this in?
im trying to get everything set up properly on a github and stuff so I can start working on it
Steamodded's example mods, https://github.com/Steamopollys/Steamodded/tree/main/example_mods/Mods
Make it in vscode, just make brand new files.
im feeling really stupid right now
what do i do lmaop
more specifically, how do i make a github page to upload these to
idrk how mod pages are meant to look tbh
also, how do i use the steamodded api
I assume you made an account, click your profile in the top right of github, your repositories, the green New button, and that'll be your base.
Install Github Desktop, put a work directory somewhere, and start making your mod in there. Once you're ready to put your work into the world, start up Github Desktop, and push your files to the repository.
Mod pages on github are usually done in a README.md, which you can stylize with markdown - if you don't know how to use markdown, search up a markdown editor, it's just the stuff that lets you do stuff like italics and bold in discord.
you just call the functions?
doesn't that require a... connection to the api??
all the arguments and what you need to put are detailed on the wiki
This you will have to learn for yourself and figure out how to program, and if you don't, you'll be relying on someone else to program for you.
It can happen, but most of the time, if they have enough interest to learn how to program mods for Balatro, it's because they have projects in mind they already want to work on, so they probably won't be as inclined to take on other people's projects as well, and it most likely won't get picked up by anyone.
I do heavily suggest reading my example joker mod in the steamodded examples carefully, I think I did well with introducing people with only a rough understanding into it, but I do also recommend looking into other well known mods - excluding Cryptid, because it does a bunch of code very weirdly for several reasons - but, just look through, read them, and see how they do things.
All the API stuff is automatically usable, because steamodded loads it's API and then loads mods into the game, so if you want to use any stuff from steamodded, just start with SMODS.whatever.
If you were doing a mod using lovely's dll injector directly instead, it'd be a completely different story, but Steamodded is very nice.
do i need a thing to use as a placeholder?
does someone have a like... placeholder png
There isn't really, you could just copy the standard Joker from balatro's resources and use it for your placeholder though.
alright so, for example
Nurse, the easiest one here I think
how do I display how many chips it will give(do i do this at all?)
for jokers, theres an automatic default
if you want you can just register an atlas with a placeholder image and just use that for all the jokers though
which is the standard joker the other guy said btw
im on the page, i just dont know how exactly to write the display text
Line 42.
?
That appears to be line 106, which is not line 42, which is under the part that explains the structure of jokers.
this is what im referencing to... make the display text in the first place
Read the comments I left, they're there to explain things.
so how do i make the chips scaling value 40
would i change this to chips = 40?
or chip_gain 40 and chips = 0
Second one, and then you'd add the value of chip_gain to chips when the scaling triggers. chips would obviously be what you'd use to actually add chips during the scoring phase.
Up to you, cards do have different costs within their own rarities, and Legendaries all have a value of, I'm pretty sure $20,
I'd say look at the base game cards, and use that to evaluate it based on what you think fits. Give me a second to find that file, it's been a bit and I no longer have it memorized.
It should in game.lua, around line 367.
It contains cost, rarity, and names, and all the stuff you're probably defining at the moment, so if you want to base them on vanilla, it's a good place to look at.
i think 4 makes sense
based on other chip jokers that are common
having trouble figuring out how loc_vars works
mostly because i dont know what the variables do, or the requirements for the vars
The vars are what you define yourself in loc_vars. Should only be a few lines down from the loc_txt description.
Wait, misread that as trouble with loc_txt -
what is the "num of hands remaining" variable
i need to multiply chip_mod by that variable to return the chips
The purpose of loc_vars is to provide loc_txt with text variables. It's localization variables and localization text.
If it's not contained within the joker itself, it's usually stored within G.GAME, which is G for Global, and GAME is a table with information relating to the current run. I think the table is created somewhere in game.lua, give me a second to look for it.
thank you!
Yeah, the function is Game:init_game_object in game.lua.
alright one sec
uh... how do i check the hands remaining using that
im having a brainfart
Probably somewhere in there under current round, so it'd be G.GAME.current_round.whatever_it_uses_to_track_hands_remaining, and then you'd use that as the variable.
d o y
Looks like you found it.
ok uh
im having issues with a couple of things
is this good?
I want chips to stay at 0, but idk how to make chip_gain affect the outputted chips
Is chip mod in the, I think it's return in the calculate function?
yes
Looks like it should be applying to me, can you send the calculate function of your code?
idk how to make the message after
:(
this message seems detached from the chip_mod, and idrk when chips is ever... used
do i need extra.chip_gain at all??
the chip value never changes
and chips * 0 is 0
Yeah, you don't really need chips at all. I'd keep it as chip_gain or hand_chip_value or whatever you want - name doesn't truly matter, it's more there for clarifying it for yourself.
?
You'd keep chips and have chips = chips + chip_gain if it was scaling on an action, but this is just multiplying it with the hands remaining per round, so not really scaling.
im gon remove chips
Which joker is this for?
Nurse
vars = {card.ability.extra.chip_gain * G.GAME.current_round.hands_left} if you don't want it to always just show the unmodifiedchip_gain value.
I thought this meant you were needing to permanently remove chips like ice cream and got really confused for a second, completely on me.
am i missing anything here
Check loc_vars,
ah good catch
Looks like it should function perfectly fine on first glance to me.
The calculate function is the functionality.
All it needs is a placeholder, I think, and depending on when hands left is counted, you may need to add a +1 to the chip calculation, like if you have 4 hands, play 1 hand, and it goes down to 3 before it ends up reaching the scoring phase, but I don't think it does.
Pop some stuff in assets, assign the atlas, put either a mod header at the top or a metadata.json following the wiki on Steamodded, and you should be able to load it up and test it.
You can run it with none, or you can throw the current steamodded version in there.
https://github.com/Steamopollys/Steamodded/wiki/01.-Getting-started#file-header
There's defaults for anything optional,
how do i make my mod show up in the mods menu?
Badge color is because mods give new items a custom badge to show what mod they're from, under rarity or where you'd see editions like holographic, that says your mod name. Badge color changes that color.
Prefix is just by default the first 4 letters of your mod id, it's mostly to prevent conflicts, like if you have a mod called abcd and it has a joker called "Joker", the key would be called abcd_j_joker, and would not conflict with the base game's joker (just j_joker), and it also wouldn't conflict with efgh's "Joker", since it's name is internally efgh_j_joker.
Do you have --- STEAMODDED HEADER at the top, and is it in a folder in the Mods folder?
Change or delete the prefix, since it might conflict with my prefix, also, MOD_AUTHOR needs to be in [].
Probably not, but you mentioned knowing other programming languages, I'm sure you know trial and error, boot it up and see if it works.
Whoops, need to end your if and your calculate.
Also needs a comma after key and after the last } for loc_txt.
Need a comma after the end for loc_vars, now.
mannnn still
What you're doing is basically defining a table for Steamodded to read from, and you're making a list of information, and you're saying loc_vars is a function, that does the following, so you're defining a function as you're putting it into a list.
I think remove the comma after the return, it might be making the return expect a second value?
Have you been reading the lines at the very top? Very helpful information, something is up with your atlas.
Do you have at as /assets/1x and /assets/2x and have a picture named vividstasis1.png in both?
yes
and have a picture in them both
(i replaced the top left image with a placeholder)
Named the exact same and everything? Made sure it's a .png and not .jpeg and everything? It's having issues with finding the atlas, is what that is.
Zip up the assets folder and send it here.
i legit just copied an image from cryptid to put the placeholder over
is that ok lmao
It might be, I can't really tell what the issue is, and I'm not sure what other information to ask, so probably easiest to see it myself.
That's x2 and x1, not 2x and 1x.
oops...
Simple spelling mistake, happens to the best of us, especially in programming.
Oh, by the way, for loc_vars and loc_txt, you want that 40 to be #1# since it's the chip_gain amount, and you want the thing that's #1# to be #2#, and add another variable into the loc_vars that's the same chip_gain * hands_left line you used in the calculate area.
Functionality should still work, but description is probably off.
gotchaaaa
Just in case, do heavily recommend DebugPlus, for it's, well, debug features. Hold tab once it's installed and the menu will open.
https://github.com/WilsontheWolf/DebugPlus/
Yeah, and now you know the basics.
I'd suggest maybe Eri in order to learn a little bit about contexts.
im making movator, and then I'll do Eri
am wondering if I can do (max hands - hands left) to get hands played or something
oh WAIT
if someone discards it needs to reset movator
how do i do that
stil unsure
need to write an if statement that says that a discard happened at all
anyone want to test these in a run?
wanna check to make sure the two I've added aren't too overpowered, and interact with blueprint
(for commons anyway)
never actually posted the link did i
which of these should I make after eri :3
new to modding, where am i putting this file?
i put it in the mods folder and it just crashes after loading
this is the crash, i already have lovely and steammodded
okie dokie
I'm otw home now, I'll ping you again by X:15
didnt properly fix my statement there I think
okie dokie 🙂
@trim olive you can redownload now, fixed the issue
rightyo, i shall do it after this run
would highly recommend temporarily removing all mods besides base for the v/s mod btw
it only has 2 jokers atm
im gonna quit this run because its not possible to lose😅
okie dokie
i havent been playing balatro for too long so im not sure how well me testing will actually help
i might not even know what jokers are modded😭
btw is there a reason that there is 'assets' AND 'assets.zip'
now i must sit and pray i get the jokers
everybody stay calm
i now need to stay alive
probably😅
what is an unplayed hand?
i assumed that'd be how many hands i have left when the round ends but the card didnt increase when i had 3 hands left over
unplayed hand is per round
you have 4 hands traditionally
i need to subtract 40 i think
are you playing on blue deck?
i thought it increases by 40 at the end of each round which is why i was confused
stay calm x 2
movator had a display issue on the previous vers
i patched it just now, but it will still glitch in your game i think
let me know if they're too good as commons lol
what will happen?
not sure how modding works but i think that they should update at the end of the hand rather than at the start
oh right, it does update at the end of the hand but visually it updates at the start of the round
it says upgraded but then does the number it was before the upgrade

only 6, the game wasnt giving me any jokers, i was being carried by card luck so i didnt need to discard any so i was racking up the movator
i then forgot i had movator and dicarded so i was no longer getting +50mult
start of ante 8 and im yet to find one of the jokers. im being scammed...
got lvl 40 pair though😭
died on ante 11 but i got it again on ante 2
ah found an issue
?
it says +40 mult but the actual mult resets each round
okie dokie, i havent had a display issue with the movator yet btw
this was the issue
lol
"cards discarded: 24" I wonder which joker I was using
psssh
they were at like +200 mult
damnnn
"they" because i duped one
new joker in the works
i like repetition jokers🥹
:3
it should work now
I don't remember if I pushed it before leaving for school
but I might just recode it on my laptop at school and push it there
anyone who wants to test lemme know how it goes
damn
just built up a movator to +150 mult with burglar and it got reset because when 'the hook' boss discards 2 cards that counts as a non consecutive hand
retrigger all cards in final hand of round is called dusk
you could rename mountain view to dawn to make it match
i see, okie dokie
im still yet to get a mountain view.. ive played like 5 games and got multiple of the other ones
smh
i got 1.5mil on ante 10 earlier because movator is a little strong when used with burglar
but then yk.. i was scammed
working on it
where tf is this mountain top😭
ive been making some repetition decks and the game is scamming me
@trim olive check the github, added new joker and should have fixed the mountain scam
damn i didnt get notification.. ill have a look when i wake up
:3?
sleeping schedule is a bit dead, i slept for like 11hrs and havent been on balatro yet
you're good
rightyo, ive finished making my uno card texture pack, time to use it while using your mod
!!
the movator resets every hand
😅 it was good changing it to 2 because 5 was busted but yeh.. the number doesnt go up
odd...
every hand it does the "reset!" thingy
wouldn't 2 be good paired with wee
apparently I accidentally broke it somehow
need help still
@opaque burrow
can you help me?
With what? Ideally send the snippet of code and explain what's going wrong.
ok so
I can't send the snippet rn, but, its resetting every hand
only happened after I added the hook context
Does hook have context like that? Doesn't look like it should be triggering anyways,
Is the problem happening on the version you have on github?
yes
The multiplier is resetting after every hand played for a maximum of 2 mult?
Or do you specifically want it to not reset after the Hook discards 2 cards?
Green joker gets -1 mult after the hook discard, which if you're trying to make a riskier version of Movator where you gain mult faster at the risk of a single discard completely ruining what you have built up rather than a simple -1 mult, I think it's true to the game to keep it, especially as a common. It's just like running into one of the suit bosses while having suit jokers of that suit.
Anyways, after a bit of testing, I've decided I have no idea how the hook context works. You can do and G.GAME.blind.name ~= "The Hook", ~= means not equal to in Lua, and that should work, with the caveat that you'll be able to discard normally during the hook and it won't reset you then either.
Mods still in development, just on hiatus while I wait for others to send ideas for something I'm working on
still waiting ;(
I knowss
dont worry the song is in development and I have a couple ideas myself
new jokers should be added in 1-2 days
hoi, just popping in to keep an eye out to see where this mod goes 
hi @noble sentinel :3
currently in progression of making the first legendary, and getting a song from kyotsugyon
i do have a github page if you want to download the mod
sure thing
https://github.com/Kyiranes/vivid-stasis-balatro/tree/main
you need this, lovely and steamodded
(lovely is also shown how to download here)
am well aware, thank you regardless
my bad+
teehee
currently working on Plain Rice, which is like this so far. I dont know how to make it check for cards / booster packs and need help with that
as it turns out cards and booster packs both count as cards when purchased
