#💻・modding-dev

1 messages · Page 60 of 1

royal ridge
#

game seems to track used spectrals in current run?

#

or at least, it tries to

maiden phoenix
#

Could always lovely inject your own G.GAME spectral count similar to tarot

royal ridge
cedar flame
#

oh never mind then, neat!

maiden phoenix
#

Ah ok lol

placid frigate
#

why is my joker so small?

shell tangle
#

You probably have 1x sized sprites in the 2x flder.

unkempt ridge
wary crescent
#

When using context.open_booster , can i instead specify a specific type of booster?

zealous glen
#

The might be doable depending on how the timing works, since Boosters have their own state, but modded Boosters have their own state, you perhaps something similar could work

placid frigate
wary crescent
shell tangle
placid frigate
#

If you don’t mind me asking where did you learn so much about Balatro coding, I’ve seen you made a guide for making mods also

zealous glen
wary crescent
zealous glen
#

I also don’t think the downside is needed

wary crescent
#

I guess it doesn't, im not sure how to check for a type of booster. Im looking through the game files, not exactly sure what im looking for

zealous glen
wintry solar
#

I'm pretty sure it's just G.STATE == G.STATES.SPECTRAL_PACK

zealous glen
#

Because I was thinking of the types of packs

#

Like Tarot, Planet, Buffoon, etc.

zealous glen
#

Question: can controllers drag cards?

wary crescent
#

Ok, and I like the idea of the downside bc opening a Spectral pack becomes a more intense gamble, you might have to take things that hurt your build or get penalized the problem is there are times where you literally HAVE to skip so maybe a downside is uneeded idk its just a fun idea

#

The other two issues is Ghost Deck and the voucher that adds Spectrals to Arcana packs. Having either of those helps mitigate the downside significantly. But maybe thats not a bad thing

wary crescent
wary crescent
#

I sometimes play with a controller and i actually noticed certain mods (Fusion and Evolution Jokers) cannot evolve or fuse unless using a mouse

wary crescent
# zealous glen Not really an issue

I think its worth considering a little bc I have the XMult sitting at a whopping +0.5x per Spectral card used. My thought was to have players greed there way into making terrible choices. Weighing a new type of risk.

wary crescent
#

I was thinking anywhere between 0.5x to 1x

#

What do you think

#

I think 0.75X with downsides would be 👍 Gives cards like Seance, Sixth Sense more utility too.

#

Opening one Mega Spectral Pack would give you +1.5X but you HAVE to take whatever nonsense is inside lol

#

After I finish this Joker I will have 6 Completed, then my wife will put some art together for them. And then I think thats good enough to release a little mini Jokers Pack 🔥

zealous glen
wary crescent
# zealous glen They feel rare enough I think X1

Really?? I mean, i get your probable mindset was to compare availability of Playing cards for Hologram vs availability of Spectral cards for this Joker. Idk. I will code it for +1X and test it from there 👍 You're probably right.

unkempt thicket
#

how do you apply code to editions? this doesn't work

wintry solar
#
calculate = function(self, context)
        if context.edition or (context.cardarea == G.play and self.playing_card) then
            ease_dollars(self.config.money)
            card_eval_status_text(self, 'dollars', self.config.money)
        end
    end
#

this is what my money edition does

#

edition calculation is a little scuffed iirc

frosty dock
#

oh hey it's powered by immolate

mellow sable
#

it turns out in LOVE you can just load DLL files and... run code from them

#

so we fully Immolated Brainstorm

unkempt thicket
wintry solar
#

did it just not do anything?

unkempt thicket
#

correct

wintry solar
#

does your edition load okay?

unkempt thicket
#

yea, it loads in game and applies to cards just fine

mellow sable
#

it's hardcoded to not work with custom consumable types :P

#

and idk how I'm going to work with in_pool

wintry solar
#

ignore the calculate function

#

I think I built p_dollars into standard evaluation

unkempt thicket
wintry solar
#

I don't believe x_chips is supported

#

I need to work on edition calculation tbh

static juniper
#

Is there a way to permanently add mult to a card, like how Hiker permanently adds chips?

cedar flame
#

i'm trying to port a custom hand to the new steamodded format and having some trouble... playing the hand works great, but playing any non-scoring cards along with the hand immediately crashes the game in G.FUNCS.evaluate_play trying to sort the scoring_hand table:

#

i'll make a commit of my current file and upload it somewhere

#

specifically, i'm testing making a 3/4 card hand (get_smallfib function) with one unscored card played

cedar flame
#

fixed the issue :D

opal spade
wintry solar
#

did support for multi rank cards get added?

honest willow
#

I'm making mod's config pages in steamodded
menu, why can't I creat text at last page?

wintry solar
#

text needs to be in a text node

opal spade
honest willow
honest willow
opal spade
languid mirage
opal spade
opal spade
#

or a table of such tables if it's multiple custom tabs

honest willow
lethal belfry
#

so i'm trying to fix this version of reshuffled as an experiment, since the planet retextures aren't loading in and i'm not sure what to do since putting in sprite_planet:register() didn't seem to be the answer

#

or planets register, that didn't either

tepid sky
#

hey uuh- iguess my game doesn't want to be modded anymore?

opal spade
opal spade
tepid sky
#

bruh-

#

could u send a link to where i could find it?

lethal belfry
opal spade
#

unless you're trying to make it work for smods 0.9.8, rewriting it to follow 1.0.0 format would be better

tepid sky
#

ty!

#

do i just put it into the mods folder?

lethal belfry
#

nope, the directory

tepid sky
#

alright

lethal belfry
#

yeah i think the mod hasn't been updated in a while

tepid sky
#

dangit, its not downloading even if i am allowing it

lethal belfry
#

pretty sure crim is waiting on official mod tools or something

#

who knows maybe that's localthunk's second card

opal spade
#

smods 1.0.0 is backwards compatible with 0.9.8 but making things use the 1.0.0 methods instead of relying on backcompat is more reliable

lethal belfry
#

wierd though because the other consumables work and they're all on the same spritesheet

#

it's JUST planets for some reason

#

everything else works fine somehow

#

also one last thing, where can i get the docs for 1.0.0's code

red flower
lethal belfry
#

thank you

tepid sky
#

it sees it now!

#

:)

lethal belfry
#

so how do i replace the 8bitdeck.png with 8bitdeck-PAC.png?

wintry solar
#

put raw_atlas_key = true iirc

#

that might be wrong though

opal spade
#

just raw_key = true

lethal belfry
#

below the code?

opal spade
#

as one of the elements of the table

#

so SMODS.Atlas { key = "cards_1", path = "8BitDeck-PAC.png", px = 71, py = 95, raw_key = true }

lethal belfry
#

nope, still doesn't seem to work, the cards are still the same

#

and yes the mod is on, i checked

opal spade
#

oh its because the key for the cards is not the file name

opal spade
lethal belfry
#

eyyyy it works!

#

where do you even find the names for the atlas keys...?

opal spade
#

open the game as an archive, go to game.lua and they're at line 1014

lethal belfry
#

ahhh, there you are

opal spade
#

for example the blind chips are not asset_atlas and instead are animation_atlas

lethal belfry
#

animated ones yeah, THAT'S in the guide

wary crescent
#

The art for one of my Jokers would ideally have the card bigger than 71x95. Is this possible? Anything i need to keep in mind when implementing it?

opal spade
#

it'll need an atlas with px*py bigger than 71x95

lethal belfry
#

but it works! i made a mod! i am happy

wary crescent
#

Thats all? I figured there were some kind of sizing rules id need to follow without breaking something

wintry solar
#

you can change the pips in the left part too

#

they're ui_1

tepid sky
#

if i want to update steammodded do i just replace "steammodded-main" in mods?

wintry solar
tepid sky
#

or do i need to do something else?

lethal belfry
#

ahhh i could do that

tepid sky
#

hmm nice

opal spade
#

but yeah you can resize in code

wintry solar
#

no

#

the game will automatically scale any size to the standard size

tepid sky
opal spade
#

ah

wary crescent
wintry solar
#

you need to resize it in the code then

opal spade
#
card.T.w = G.CARD_W*size```
wintry solar
#

like how wee_joker works

wary crescent
#

Oh ok

tepid sky
#

it shows this on top

opal spade
#

what is inside steamodded folder

tepid sky
#

quite a phew things

#

what would u like to see spesifically?

wintry solar
#

the entire folder

tepid sky
wintry solar
#

have you dropped anything else in here?

tepid sky
#

not in the steammodded file no

wintry solar
#

did you update from 0.9.8?

tepid sky
lethal belfry
#

yayyyy i know how to do a retexture now!

opal spade
#

iirc for the playing cards there should be a way of adding custom textures that doesn't override the vanilla ones

lethal belfry
#

what do you mean?

crisp coral
wintry solar
#

I'm thinking of rewriting it as it's own thing tbh

wary crescent
#

Hm, is there a list of colors somewhere for BADGE_COLOUR?

#

nvm i think i found

tepid sky
lethal belfry
#

still got no idea what went wrong with it

crisp coral
#

what's the problem

lethal belfry
#

it is crashing

crisp coral
#

and what's the crash

lethal belfry
#

nevermind i found it! it was a single comma

crisp coral
#

💥

lethal belfry
#

but planets still don't work lol. and now blind chips don't either

#

oh boy

shell tangle
# tepid sky it shows this on top

This is a crash from my example jokers mod that's in the examples folder, and I have no idea why it'd be even registering as a mod here. Did you move it out of the example mods folder, by any chance?

#

Or, if you used the example mod as a base for your mod, you might want to try changing the prefix at the top?

lethal belfry
#

maybe this old mod just... isn't gonna work with this new version of mod loader and the game

#

at least i got my thing working

wintry solar
#

what isn't working?

lethal belfry
#

not sure if due to my lack of knowledge about modding or just 1.0.1f making things weird for prior mods

wintry solar
#

but what specifically isnt working

lethal belfry
#

all planet cards, some spectral cards, and the blinds though i'm pretty sure i just messed up something about animated sprites there

#

if you wanna see, here's the zip for it. i worked on the mod but it's not mine

wintry solar
#

you have a lovelyignore file in here

#

is that intentional?

lethal belfry
#

i think it was just in there

#

i don't know what it does either

tepid sky
#

alr i am back, could anyone help me with updating steammodded :>

lethal belfry
#

whatever the case it doesn't seem to do anything, deleted or not

tepid sky
#

oh-

#

it actually is one of the mods i had installed?

#

xD

wintry solar
#

for planes and spectrals they need an atlas for Planet and Spectral respectively

#

the .lovelyignore turns the mod on and off

lethal belfry
#

what really? okay lemme try that then

#

op wow you were right

#

now all that's left is the blind chips

#
  key = "blind_chips",
  path = "RS-BlindChips.png",
  px = 34,
  py = 34,
  raw_key = true,
  asset_table = 'ANIMATION_ATLAS',
  frames = 21```
not sure what's wrong here though
#

it's atlas table... not asset...

wintry solar
#

oh apparently you should use prefix_config = { key = false }, instead of raw_key = true too

tepid sky
#

i found the crash, it was my own wrong doing 🤦‍♂️

lethal belfry
#

yeah someone told me to do that before

#

only some minor issues with the mod... seals aren't loading and soul's top layer isn't working

#

which i have no idea what atlas key those would be

wintry solar
#

seals should be on centers

#

as should soul's top layer

lethal belfry
#

then why are the enhancements working but these aren't...?

wintry solar
#

🤷‍♂️

lethal belfry
#

well thanks for helping

#

that felt a little sarcastic it was not i appreaciate it

wintry solar
#

I can take a look a little later if no-one has helped

#

got to go feed the family now though!

lethal belfry
#

well good luck on that!

shell tangle
lethal belfry
#

i fixed it, they all get replaced now

#

only those two things

#

don't change textures for me

#

also i am going to slepp. it is 12:30am

shell tangle
#

Odd. Those 5 spectrals don't want to get replaced at all for me, and I assumed it was a symptom of SMODS taking ownership over those 5, as well as Strength from the tarots.

Other than that, I've looked around for the seal/soul issue as well, and don't know what it is. But I assume it's the same issue, because the seals and soul sprite also use the centers atlas.

Rest well.

lethal belfry
#

yeah might be something to do with steamodded just being in alpha, maybe they overlooked seals and soul

#

they aren't the biggest sprites

tepid sky
#

i am having a stroke trying to understand altases, anybody got tips?

shell tangle
tepid sky
#

i am trying to make my first own joker

#

or mod in general

#

and i just cannot wrap my head around the atlas

#

like why does this happen?!

#

i know it fialed to collect the png but why would it crash then >_<

shell tangle
#

Likely incorrect atlas names/positions, it doesn't have anything to load.

#

It should be in the assets folder, and then the 1x and 2x folders should have a .png of your sprite with the same exact name, with 2x being two times the size of 1x.

sharp phoenix
#

the x and y values are the positions of the atlas cells not the px coordinates. that's not really explained anywhere and took me a while to figure it out

tepid sky
#

alright

crisp elbow
#

Yep the atlas basically tells the game to load that spritesheet

wintry solar
tepid sky
#

is it ok to have the files like this? assets > 1x + 2x > type of thing (aka if joker or tarrot in future) > png's

shell tangle
wintry solar
#

Huh strange

shell tangle
wintry solar
#

You can probably do nested folders, it just seems a bit odd when you can just put all your sprites on one sprite sheet

shell tangle
#

Really? Thought it wouldn't be found like that, but yeah, just make them all separated into 71 by 95 spaces, you can look at any of the base game textures to see how they do it.

wintry solar
#

I would assume as long as you get the path correct it’ll work

shell tangle
shell tangle
tepid sky
tepid sky
#

:OOOO

#

151 pages

#

dangit-

#

i tried to look at it once i unlocked it and i crashed :)

#

hmm atlas is a nil value

frosty dock
#

folders inside 1x or 2x should be no issue

tepid sky
#

it kinda worked tho

#

all i did is add: atlas=nil,

wintry solar
#

Why would you do that

tepid sky
#

idk otherwise it crashed

#

also i got it from the blank joker template

wintry solar
#

You need to tell it to use your atlas

tepid sky
#

hmm okey

shell tangle
tepid sky
#

its exactly the same as what it is called

#

i think it actually is for a older version-?

shell tangle
tepid sky
#

yea that thing

shell tangle
#

Extremely outdated, yeah.

tepid sky
#

also it appears that the "next()" doesn't like to work "(table expected, got boolean)"

shell tangle
#

Show the full line?

tepid sky
#

will do

shell tangle
#

Try capitalizing Pair?

tepid sky
#

alright

#

didn't work

#

idk if it is handy but when i hover over the text inside the brackets i get this message

shell tangle
#

Show the crash screen?

tepid sky
#

it says that the next(...) is a bad argument

#

or what part you'd like to see?

shell tangle
#

Just the entire crash screen.

tepid sky
wintry solar
#

next(context.poker_hands) == ‘Pair’

shell tangle
#

Or next(context.poker_hands['Pair']), it's completely on me, apparently I fixed that in my version of the vanilla examples mod but forgot to upload it to the PR?

frosty dock
#

yeah it's that one

tepid sky
#

wow thanks

shell tangle
#

@frosty dock Made a quick PR for whenever you feel like merging it.

tepid sky
#

whots a pr?

cedar flame
#

pull request

#

it's a request to submit changes to code

tepid sky
#

hmm oki

regal wolf
#

@wintry solar have you got any experience using shaders with UI elements?

languid mirage
#

look at how flames shader is applied

regal wolf
#

Oh I assumed that was just a sprite

languid mirage
#

it is a sprite yeah

#

with shader over it

regal wolf
#

Yeah that's not what I want, I'm talking about a UI element.

languid mirage
#

I don't know too much about how ui elements work, but that might not be possible

regal wolf
#

I don't think a sprite over the top would be enough.

#

Because I want to pass in transparency of the UI element.

#

to create a blur effect.

regal wolf
languid mirage
#

ye I mean within the current engine, lol

#

what exactly are you trying to do tho

#

if ui element is static you can probably create blur effect by applying shader to the entire screen

static juniper
#

I'm trying to make a Joker that applies an effect to a playing card if it is played immediately after it is drawn. In my head, that would require me to have a specific variable on the card itself that applies only to this joker effect. Is there a way to give playing cards an extra variable for this situation?

regal wolf
languid mirage
#

ah

regal wolf
#

i.e. glass-morphism

#

I mean I could probably lobotomise a sprite and use that as the background -- with the shader applied.

#

and then have an invisible UI element node on top of that.

languid mirage
#

it won't work if you apply shader to the sprite

#

Because shader will only receive pixels of the sprite

regal wolf
#

I can just pass the pixels from behind the sprite I think

languid mirage
#

I don't think that's easily doable

#

I mean hm

#

might be doable cuz sprite receives screen pos as well

#

I mean shader

regal wolf
#

Yeah exactly

languid mirage
#

but I haven't really worked with shaders that much, I think there should be a way to pass the main canvas into shader

zealous glen
#

Speaking of shaders

#

Would you know how to make a particle shader?

languid mirage
#

like what?

regal wolf
#

Doesn't the game have a particle shader?

zealous glen
#

It has particles

#

But I’m thinking of making cards emit colored particles

regal wolf
#

I feel like your best bet is to just use the love2d particle system?

zealous glen
#

It has like teal(?) particles coming from the card in the bottom right

zealous glen
regal wolf
zealous glen
#

Can you control the color of each pixel of the particle?

zealous glen
#

Look at the card in the corner

tepid sky
#

been trying to actually get my own sprite to show but:

shell tangle
#

What's your pos set to?

tepid sky
#

atlas:

shell tangle
#

That would access the second horizontal slot at the very top of your atlas, which I assume is empty.

tepid sky
#

i have no idea what that means :,)

shell tangle
#

Double checking, I saw the mvan prefix, did you actually read through the example joker mod and look at the atlas?

tepid sky
#

i read most of the text in the example

#

ooh

#

i see the pickture now

#

i litterally just put them on a row

shell tangle
#

Yeah.

languid mirage
zealous glen
languid mirage
#

?

zealous glen
tepid sky
tepid sky
#

ty for the tip!

#

i have no idea how to use that stuff but i'll worry about it tmr

wary crescent
#

When you make your first batch of Jokers in individual files then realize you have to learn how to combine them into one file ☠️

I was under the impression that I could just leave them separated but Nope! Back to the damn drawing board.

edgy reef
#

You just need to load them.

tepid sky
#

rip

wary crescent
#

I mean i want to publish/release the jokers (soon) but they currently load in multiple mod folders, they need to be combined into one file. Which means i have to reformat everything

#

I was under the impression i could just place them all in one folder and be done but lol nope

#

Not that simple

tepid sky
#

so i think imma keep it seperete picktures instead of one big sprite

shell tangle
tepid sky
#

xD

#

sure

edgy reef
#

When it’s not present it defaults to SMODS.Joker’s pos, which is {x=0, y=0}

shell tangle
#

Alright, it's a lot better, I was expecting a lot of remnants from the very outdated joker template.

tepid sky
#

hmm

cedar flame
tepid sky
#

but i tought the template could help in some parts

#

but it being outdated just doesn't make it helpfull

shell tangle
#

Yeah, looks like it should be completely fine. I do think just having everything on the same atlas is a lot more convenient, otherwise you're going to have to make another atlas for each individual joker instead of just setting pos = {x = 1, y = 0} and so on, but it is up to you.

tepid sky
#

but gtg now gn!

wintry solar
languid mirage
# zealous glen

thats possible with shaders, but it would have to be screen shader, not like edition (if you want it to spread more around the card

#

tho I'm not that good yet to create smth like that

spiral stirrup
#

Is there a way for a Joker to detect when Wheel of Fortune properly activates? I know there's a using_consumeable context and I could probably check if Wheel is USED, but I specifically wanna check for when it's successful.

lusty epoch
#

No

#

Have to do a lovely patch I think

spiral stirrup
#

sadge </3

mellow sable
#

Or take ownership

spiral stirrup
#

oh, also, while I'm here
how do I force a Joker to use a specific shader, like Hologram has?
cuz when I put this at the bottom of my mod file, it works, but also seems to cause a bunch of small visual bugs, like all the Buy and Sell buttons being behind other cards

zealous glen
zealous glen
#

Or is that like an Enhancement

#

I think it should probably still use keys but I’m not sure how they work quite yet

edgy reef
#

There really needs to be a draw function in SMODS

regal wolf
edgy reef
#

So center have a more convenient way to draw shaders onto themselves like Invis Joker.

#

It should just be one lovely inject into the section that Invis Joker does it.

spiral stirrup
#

is there any roundabout way to do it anyway?

regal wolf
edgy reef
#

You can still just hook the function but unless you additionally specify when through the draw layer you risk visual glitches.

spiral stirrup
#

Alright, so how would I improve the code I posted above then?
Sorry if I'm asking too many questions or anythin', Lua is just still very new to me lol

shell tangle
spiral stirrup
regal wolf
#

omg

shell tangle
spiral stirrup
#

like this?

regal wolf
spiral stirrup
#

let's gooo

regal wolf
spiral stirrup
#

I've only done work within the actual SMODS classes, so I have never done any Lovely injection, is there a guide/tutorial for doing that

#

most of what I learned has been through using the search feature within this discord lol

spiral stirrup
#

alright I really appreciate it <3

regal wolf
#
# lovely.toml
[manifest]
version = "1.0.0"
dump_lua = true
priority = 0

[[patches]]
[patches.pattern]
target = "game.lua"
pattern = "if self.ability.name == 'Invisible Joker' and (self.config.center.discovered or self.bypass_discovery_center) then"
position = "before"
payload = '''
if self.ability.name == 'j_csil_undertaleswitch' then
  self.children.center:draw_shader('voucher', nil, self.ARGS.send_to_shader)
end
'''
match_indent = true
overwrite = false
spiral stirrup
#

ah thank you thank you!!
where would I put this exactly? Within my main script or do I need to make another script specifically for injections

regal wolf
spiral stirrup
regal wolf
#

oh oopsie

#

j_csil_undertaleswitch should be the name of your joker

#

like "Invisible Joker"

spiral stirrup
#

i'm confused because the code makes sense to my brain so i dunno what the issue would be

spiral stirrup
#

Yeah it did apply the voucher shader to the card, all things considered

regal wolf
#

j_csil_undertaleswitch is probably correct. Although I'm not sure why invis is not j_invisible etc

#

if you remove the if statement does every card become shaded?

spiral stirrup
#

if I change j_csil_undertaleswitch to any other joker that doesn't work either

#

so I assume it's just not actually being injected at all

regal wolf
#

Oh you can check if it's being injected through the console

#

unless you have other mods that inject stuff installed

#

in which case you'll have to go to your mod directory, locate lovely, go to dumps, card.lua and search for the code you injected.

spiral stirrup
#

however uhhh... is it supposed to inject to GAME.LUA and not CARD.LUA?

#

because I'm not seeing the og code we're supposed to be targeting in there

nova mortar
#

What is "juiced_up" method

regal wolf
#

im tired 😭

spiral stirrup
#

YOU'RE GOOD LOL

#

Yeah changing it to card.lua fixed it thank you sgkhskg

regal wolf
#

0OSDNFA[IOSDNFOASDNF SORRY 😭

spiral stirrup
#

undertale is now real

regal wolf
#

YAY!!!

spiral stirrup
nova mortar
#

Because my game is crashing because god knows how some combination of mods managed to break the method nil

spiral stirrup
#

you can just Reduce Motion in settings, I don't think you need a mod for that

nova mortar
#

Alright let me try that

tacit escarp
#

why do moding channels dont show up by default for me in the server? stumbled via search, are there other hidden channels with cool stuff? havent used discord in a whiiile

regal wolf
wintry solar
nova mortar
wintry solar
#

Mods/lovely/dumps/functions

nova mortar
wintry solar
#

can you check the line?

nova mortar
# wintry solar can you check the line?

function juice_card(card)
G.E_MANAGER:add_event(Event({
trigger = 'immediate',
func = (function() card:juice_up(0.7);return true end)
}))
end
Here's the range

languid mirage
#

if you just create edition shader that returns vec4(1., 0., 0., 1.) for every coordinate, you will see the limits of shaders applied to a sprite

wintry solar
nova mortar
#

That sounds... about right, yeah.
What mod do you think does that?

regal wolf
#

Anyone got a simple solution to wrapping text in UI elements?

#

I know you can use multiple lines in localization, but I don't think that works if the object isn't expect it.

zealous glen
#

Doesn’t Lua accept \n?

regal wolf
#

yeah but it looks weird due to the way balatro calculates text scaling

wintry solar
zealous glen
#

Can’t you pass {s:number}?

wintry solar
#

I made a function to split the string roughly in half

nova mortar
#

Alright

regal wolf
wintry solar
#

yeah that'll chang ethe scale

zealous glen
regal wolf
#

There's definately a better way though

#

Because in other parts thunk's used multi-line loc-vars

spiral stirrup
maiden phoenix
#

Ah yes I'll make the game harder on myself

spiral stirrup
#

I also added a Challenge where you get an eternal one of these

#

because funny teehee

wintry solar
nova mortar
wintry solar
#

?

#

I said to look through the mods

#

and see which one is patching that function

regal wolf
#

{S:num} isnt working

wintry solar
#

lowercase s

regal wolf
#

does it work when passing it into loc like G.localization.misc.dictionary["x"] = x ?

regal wolf
wintry solar
#

this works for me

regal wolf
#

I only see it working in descriptions

wintry solar
#

oh yeah

#

I'm not sure if misc dictionary gets parsed the same way

nova mortar
#

still crashes

wintry solar
#

oh there's that random dek stake mod too

#

try that one

nova mortar
#

Nope

#

Might try to redownload lovely

#

The crash, very specifically, triggers when I play a Club card that is, itself, probably triggering something else

#

Oh well

#

Time to switch pcs

wintry solar
#

try to isolate which mod is causing it

tacit escarp
#

i have cryptid betmma and brainstorm

#

what other mods should i add?

regal wolf
#

depends what you want

regal wolf
wintry solar
tacit escarp
cedar flame
#

can second galdur, i need to look at doing more controller fixes but on mouse it's 10/10

regal wolf
cedar flame
#

it's fine :)

regal wolf
#

no i know, galdur is a great mod

#

and the ui design is v nice

wintry solar
#

you need to update it

#

that button does something now

regal wolf
#

its old image from aud i think

#

it was just first thing i saw when i clicked on the gald thread

wintry solar
#

ah I see

#

I need to get round to that controller support PR too

cedar flame
#

it's not super great yet, i need to make it so it doesn't focus empty zones still

#

and probably add a quick start bind to x button

#

i also wanna see if i can make it easier to navigate to the bottom row from the deck zone... right now you have to focus a deck on the right side and then go down in order to get to the play button

wintry solar
#

I haven't looked at any controller support at all tbf

#

can you disable certain elements from it?

regal wolf
#

I have to somehow figure out a way to make a nice looking ui for all of immolates filters for the brainstorm overhall

#

that's going to be fun

regal wolf
#

but u can do like "focus" something

cedar flame
#

you define specific focusable elements with the focus_args {} dictionary from what i've found, but the issue is i just stuck it in the builder so it applies to every slot even unpopulated

regal wolf
#

there's a lot of configuration u can do, controller support is pretty easy iirc

cedar flame
#

this is just what i found from trawling through the source code lol i'm still very inexperienced at this

cedar flame
#

i only started modding this game like this week so i'm still missing a lot of knowledge

wintry solar
#

yeah I got to all the args when I was trawling through to make a UI guide and just left them alone for now

tacit escarp
#

got it, looks nice allthough misses the previews of like 20% cryptid's decks

cedar flame
#

that's fair

#

you made it functional first which is smart

wintry solar
#

wait what, it shouldn't do

#

what version of cryptid are you using?

#

oh I fixed that in a different place 🙃

#

there we go, if you download from source it'll have cryptid compat fixed

tacit escarp
#

keys*

#

as well as crashes the whole game if arrow is held when you have 0 consumables

regal wolf
regal wolf
#

I'll take a look at some point.

tacit escarp
#

yeah me being on macos could be the reason, quite likely

tacit escarp
#

this is crazy

#

like this has to be the quickest bugfix at least in balatro history

#

6 minutes from the bugreport (without even tagging the dev) to the fix being up on github

nova mortar
#

Oh well

#

Time to fully delete everything and full redownload everything

wintry solar
#

you could try updating smods

wintry solar
#

but I don't think that function was changed

nova mortar
wintry solar
nova mortar
#

this is not the first game I've bandage fixed to death and back

tacit escarp
static juniper
#

Is there a way to have a Joker that requires you to have a certain type of card, like Stone, Glass, and Lucky Cat do? It's probably in the source code, but I have no clue where to look

unkempt ridge
mellow sable
#

this has no right to look this good

tepid sky
#

alr, so a atlas is 71 pixels high and 95 pixels wide?

#

just a question, do i need to resize it for the 2x?

unkempt ridge
#

you need the 2x version and the 1x version

tepid sky
#

alr

tepid sky
#

:D

frosty dock
#

normally it's the other way around

tepid sky
#

i think i went the wrong way in that message

#

giving my self a headace trying to read my own messages

tepid sky
#

a question: does the y axis count from top down or from down up?

frosty dock
#

should be top down

long gust
#

I think top down

tepid sky
#

alr nice!

#

and 0 is the top row?

frosty dock
#

yeah

tepid sky
#

alr, it feels weird but sure :) thanks

opal spade
#

y being top down is normal for 2d games from my experience

tepid sky
crisp coral
#

yea it's 0-indexed

opal spade
#

0 being the first is normal

#

it actually caught me off guard when it wasn't for balatro stuff (ig it's a lua thing)

long gust
#

it is reading order

crisp coral
#

yeah lua is 1-indexed because fuck you i guess

maiden phoenix
#

Yea screw Lua for that

tepid sky
maiden phoenix
#

Did you put your x1 sprites in the x2 folders?

languid mirage
maiden phoenix
#

Who hurt you?

languid mirage
#

0 index literally only exists because C arrays

maiden phoenix
#

If you're being held at gunpoint, blink twice.... wait

languid mirage
#

1 index is the most natural thing

#

do you call FIRST element of the array ZEROETH

#

y'all only think 0 index is good because you're used to it
when you were just starting out, it was confusing

crisp coral
#

it was not confusing to me

tepid sky
maiden phoenix
opal spade
#

0 index is cool

#

but 1 index is pretty handy

tepid sky
#

the 1x and the 2x were right-

frosty dock
#

me when I can't 0[array]

languid mirage
crisp coral
languid mirage
#

it is a layer of mental overhead you need to keep

tepid sky
#

dangit, now i fr broke my own mod 💀

crisp coral
#

i'm already used to for (int i = 0; i++; i <= n)

languid mirage
#

C arrays are only like that because index is not an index in its natural meaning, it's an offset

frosty dock
#

both are just conventions, we should establish negative 1-indexed arrays instead

languid mirage
crisp coral
#

hush

frosty dock
crisp coral
#

i refuse to fix my mistake

#

at least on mobile

frosty dock
#

surely you actually just wanted to do n+1 iterations

#

by design™️

tepid sky
#

anyone that know why this happens?

#

nvm, i doubled the values and got this

#

i'll try to halve the original value

#

it worked?? kinda?

primal robin
#

What I need to pass to SMODS.save_mod_config() to make it work? I'm passing SMODS.current_mod, but looks like it did nothing

frosty dock
#

when are you calling it and for what reason?

#

SMODS.current_mod only exists while the mod first loads. if you want to refer to it later, you need to save it in a variable or use your mod ID

primal robin
#

Already saved

frosty dock
#

that should work then

#

wdym by "looks like it did nothing"

primal robin
#

Because after restart config table is empty

frosty dock
#

then you might not be using it correctly, i need more context

#

are you looking at mod.config or SETTINGS.current?

primal robin
#

mod.config and SETTINGS.current is the same object

frosty dock
#

hm alright

#

is there a file named like your mod ID in the config folder in the save directory (not mods folder)?

primal robin
#

Yes

#

And it's not empty

frosty dock
#

when is that init settings function called?

primal robin
#

Inside SMODS.INIT.TwitchBlinds()

frosty dock
#

...

#

why do you have that

primal robin
#

Idk tbh

#

All my mod init in this stage

frosty dock
#

init functions are a remnant of steamodded 0.9.8 and your code will run through a compatibility layer if you're still using it

#

don't

#

mod config is not supported by that compat layer because it didn't exist in 0.9.8 (specifically it assumes there is no config file to load, and if it does exist, it doesn't comply with the required format)

#

just put the code directly in your mod file

primal robin
frosty dock
#

i don't provide support for that version

#

it is a full month outdated

primal robin
#

So i need to update?

frosty dock
#

update first, then if the issue persists we can talk

primal robin
#

Okay

#

Steamodded 1.0.0-APLHA-0820b works fine. Thanks you!

frosty dock
#

👍

tepid sky
#

-.-

#

anyone got the version.dll?

#

my windows defender got rid of it again

frosty dock
#

follow this to make sure it's protected, then reinstall lovely off github

tepid sky
#

reinstall both?

frosty dock
#

just follow the instructions in that section and reinstall lovely

tepid sky
#

i got it back :>

#

ty

tepid sky
shell tangle
# tepid sky btw, anyone know how to fix this?

This is just incorrectly sized sprites. Each sprite in the 1x folder should be in a 71 by 95 pixel space, while in the 2x, they should be double that, each card should take up a 142 by 190 space.

tepid sky
shell tangle
#

Did you double the actual image itself, or something in the code?

tepid sky
#

Nope

shell tangle
#

Your code should stay at 71 by 95, and your .png should be increased by a multiple of that. If you have 5 jokers, you multiply the 71 by 5 for 5 per row, and if you want more colums, you multiply the 91, so a (71x5) by (91x3) atlas would give you a 5 by 3 grid of jokers, or 15 sprites.

tepid sky
#

I actually kept the code the same, but the sprite i made bigger like this, top left is original and by doubling the size the red erea got added, which wouldn't matter cuz using the x and y

shell tangle
#

Can you send the .png?

shell tangle
#

That needs to be doubled again for 1x.

#

If this is supposed to be a 4 by 4 grid, take 71, multiply it by 4, that's your width, and your height is 95 multiplied by 4 as well.

tepid sky
#

hmm ok, will do!

shell tangle
#

Then, for 2x, you double those values.

tepid sky
#

alrighties

#

thanks!

#

it worked :o nice!

#

:>

#

all cards finally show normally now xD

#

now to add functionallaty :D

tacit escarp
#

why do i have -2 joker slots on a negative deck? literally every single joker is negative but i cant even buy any more of them

#

cryptid and betmma mods; is that a known bug / interaction? i have NO idea what caused this

tacit escarp
#

you guys are EVIL

tepid sky
#

;-;

crisp coral
tacit escarp
frosty dock
#

debuffed negatives cease to add joker slots

wintry solar
#

If you debuff an already negative joker does it mess up too?

tacit escarp
#

what mod uncaps temperance value?

#

asking for a friend

mellow sable
spiral stirrup
#

gatito

maiden phoenix
#

Usually negative and joker have their first letter capitalized, also maybe put "negative joker" on a third line, looks a bit funky. It's an original effect tho.

primal robin
#

Also most of the time only keyword highligted, without "Joker" word

spiral stirrup
#

oops, for some reason I thought they were uncapitalized but I guess I misread localization </3

#

also is there a way to make a Joker as "compatible" with blueprint? because it functionally works with blueprint, but the tooltip for Blueprint still says "uncompatible"

regal wolf
#

yes, there's a little flag in the joker object

primal robin
#

"little flag" Chilllbro
Property

regal wolf
#

they know what i mean lol

maiden phoenix
spiral stirrup
#

Bless

maiden phoenix
#

This apply to perishable and eternal too, tho they default to true unlike blueprint

spiral stirrup
#

why is it that my custom jokers are appearing in shop when I have them in my hand without Showman?

languid mirage
#

I think that happens if you spawned in the joker?

spiral stirrup
#

oh that makes sense because I did lol

#

Didn't realize shop checks if it's bought instead of spawn

#

I thought it would just check current hand

languid mirage
#

I dunno why I didn't think of that yesterday 😭

#

I was just thinking of how the game draws shadow, and it's basically the same, but before the base layer, not after

static juniper
#

Is there a way to have a changing suit in a Joker, like Castle and Ancient Joker?

shell tangle
#

Yeah, you can either have it as a variable in your joker, or make a new function like the two that change castle and ancient joker for your joker.

#

It's called reset_castle_card in game.lua, or ancient/mail/idol instead of castle, and called in state_events.lua or game.lua, so you'd need 2 Lovely patches/hooks to make sure it's called.

If you wanna go the variable in joker route, you could take a look at my mod for an example, https://github.com/someone23832/Virtues/blob/main/Virtues.lua,
Decadence, at the very bottom, takes the 4 base suits in a variable list, and shuffles them around into an order upon being picked up, which it then repeats that pattern for the rest of the run.
Won't guarantee it's the best example, but it's the only example I know of at the moment.

shell tangle
static juniper
shell tangle
#

The V stands for variable, which it takes a color that's passed from colours = {} in the loc_vars. Mine basically gives the color G.C.SUITS["Spades"], with the string being the variable that changes.

static juniper
#

Thanks, after I changed that everything else fell into place pretty easily afterwards!

shell tangle
#

Good to hear.

static juniper
#

Unrelated, whenever I try to use the Sigil Spectral card, this error message happens. I don't know what's causing it, but is this a common occurrence with an easy fix?

shell tangle
#

Possibly try updating steamodded?

static juniper
#

I'm on 1.0.0 Alpha, is that not the latest version?

shell tangle
#

You're on 0806a, which means you're on a version that was made August 6th. There's updates nearly daily, and there's been a few separate updates even today. It's the nature of being in alpha.

static juniper
#

Updated to the newest version, now gotta find another Sigil card...

#

Probably won't be for a while

shell tangle
#

You could use DebugPlus.

static juniper
#

Is there a way to spawn a Spectral card with the Debug Menu?

#

I thought it was just Jokers

shell tangle
static juniper
#

Omg this is gonna be so useful

static juniper
#

I'm on the newest patch, and pressing the Card Colours button in Options crashes the game

shell tangle
#

That button shouldn't still exist, did you just replace the Steamodded files, or did you delete the old ones before copying over?

static juniper
#

I replaced them

shell tangle
#

Try deleting and copying the new one. Also, the debug menu mod probably isn't necessary if you've switched over to DebugPlus.

static juniper
#

I mean, I'm not gonna use that button anyway (I pressed it on accident), so it shouldn't be a big deal, right?

shell tangle
#

There's a pretty large chance of you running into other unexplainable bugs if you don't delete before replacing, though.

static juniper
#

...Fine

shell tangle
#

Yeah, dev can be a hassle at times, but there's not much to be done about it often.

static juniper
#

Random other question: Is there a way to restart the game from within the game? On the previous patch, checking and unchecking my mod and then pressing back would always restart the game, but that doesn't seem to work anymore

shell tangle
#

I think you might be able to hold Q?

static juniper
#

Doesn't seem to work

shell tangle
#

Yeah, did have a thought that it may have been taken out.

#

I don't think there's an easy way, but don't quote me on that, because there might be, and I just haven't found it either.

tepid sky
#

hmm nice, i didn't know

opal spade
#

?

tepid sky
#

🤷‍♂️

opal spade
#

Are you trying to return locvars?

tepid sky
#

i don't even know what i am doing, just trying to add fusion to my mod

languid mirage
#

smods jokers is a 0.9.8 thing? I see it is only a part of 0.9.8 compat in steamodded, and in 1.0.0 SMODS.Centers should be used

#

but also if tophalf is a joker key, it's missing the mod prefix

#

for it to be a proper key

tepid sky
#

so: SMODS.Centers.tophalf?

#

also what is a mod prefix?

#

sorry if i am asking very stupid things

languid mirage
#

easiest way to see it is look console when game starts up

#

oh wait that got removed

#

uhm

#

if you didn't set it anywhere, it's just first 4 letters of your mod name

tepid sky
#

hmm ok

languid mirage
#

also key should be fully lowercase

tepid sky
#

this is good right?

languid mirage
#

yeah

tepid sky
#

alr

languid mirage
#

not really what I meant tho

#

I meant that for SMODS.Centers.<key>.

#

so key would be mini_tophalf

#

or if that doesn't work j_mini_tophalf

tepid sky
#

alr, will change this rq

#

like this>

languid mirage
#

huh no

#

what are you trying to do

#

are you adding a new joker

#

or are you trying to edit existing one

tepid sky
#

rn

languid mirage
#

because I thought it was the latter

tepid sky
#

right now i have 4 jokers, (4 shards) which i want to be able to fuse together into 2 parts, a top half and a bottom half, and those 2 i want to be able to fuse together into a fragile joker (the final fuse)

languid mirage
#

yea and what are you trying to do right now?

tepid sky
#

i am trying to get shard 1 + 2 to be fusable into the top half

#

same with the bottom half but then shards 3 and 4 will be used

languid mirage
languid mirage
tepid sky
languid mirage
#

are you making a mod for 1.0.0?

#

or 0.9.8

tepid sky
#

1.0.0

languid mirage
#

huh

tepid sky
#

but i might also be making it for 0.9.8 idk 🤷‍♂️ i am just trying to make my first mod

#

i am using the fusion code from jestobiology

#

since i got the tip to look how they did it

languid mirage
#

I have no clue how that works, but seems like the code you have is for 0.9.8

tepid sky
#

ok then i am making it for 0.9.8 ig, tho i am on 1.0.0, maybe thats why its not working?

languid mirage
#

well I'm not sure why are you defining calculate function outside the joker definition?

#

I have to go, and since I'm not familiar with fusions mod I can't really help you

tepid sky
#

alr, cya

#

thanks for the help :)

wintry solar
#

I don’t think fusion has been updated yet

tepid sky
#

not to 0.9.8?

#

maybe thats why i get a crash everytime 🤔

wintry solar
#

You’re using 1.0 aren’t you?

opal spade
#

they are

opal spade
tepid sky
wintry solar
#

then I'd suggest basing your code off 1.0 mods, not 0.9.8 mods, your code is a mess

tepid sky
#

i know 😭

#

i just am learning while trying to make this thing work

tacit escarp
#

helloo

tepid sky
#

hi!

languid mirage
tepid sky
#

i did disable the halves for now

#

since there is no use without fusion

#

also made settings, but they don't do anything yet- (ty talisman)

mellow sable
#

My favorite spectral card, Mini-Rebellion

languid mirage
#

if you're using steamodded, you should just use steamodded config menu

wintry solar
#

^

mellow sable
#

The only reason I even have a menu like this is because some of my mods are lovely mods

wintry solar
#

I think @rough furnace was working on lovely mods being able to have steamodded configs, right?

opal spade
#

i have a similar thing in the upcoming version of archipelago, but its a button that redirects to smods' configs from the "connect to server" screen

tepid sky
#

thanks!

languid mirage
mellow sable
opal spade
#

tbh config menu + custom tabs seem like a thing that should have an example mod

wintry solar
#

it could be adaptive!

tepid sky
#

and i assume is that vanilla is disabling everything?

languid mirage
#

no...

#

you put whatever settings you need

#

VanillaMode is an example

#

because it is used in the Incantation mod

tepid sky
#

hmm okeys

languid mirage
#

you have your own settings, that should be added to the config.lua

languid mirage
wintry solar
#

what do you want in your config?

tepid sky
#

me?

wintry solar
#

yes

tepid sky
#

idk, iguess everything?

wintry solar
#

what?

tepid sky
#

i.. don't know?

wintry solar
#

I'm just trying to work out why you're adding a config

#

What do you need to configure?

tepid sky
#

i want to enable and disable certain features :>

opal spade
#

which features

tepid sky
#

rn its just the jokers

wintry solar
#

I wouldn't worry about adding a config at this stage then

tepid sky
#

ok

#

i think i'll brainstorm about the abilities of my jokers for now :)

zealous glen
brisk pond
#

how does one make new stakes?

wintry solar
#

You can look at the SMODS.Stake in game_object.lua to see what parameters it needs

brisk pond
#

thanks ❤️

wintry solar
#

if you have any questions, give me a shout

languid mirage
#

you just.. increase this

rough furnace
#

Basically you can disbake smods default conifg handling, have it load a page and handle saving yourself.

#

That page should also be able to be put into the games config

#

Oh I was also messing with making talisman work with smkds config. It had some weird behaviour, which is why I didn't make a PR, but just overriding smods confiy save and load like I do in DebugPlus should make it work

brisk pond
#

there is no documentation for seals in steamodded yet, right?

wintry solar
#

No there’s not

#

But again, I’m happy to answer any questions you have about them

brisk pond
#

ok here's the question

#

I'd like to add a new seal into the game, I saw the SMODS.Seal function inside game_object.lua but it isn't showed how to use it (like for other functions that re-add the vanilla objects (like SMODS.Suit))

#

here I stand corrected by the example_mods

#

I withdraw my question with shame

restive osprey
#

I've decided to have the stupid idea of turning balatro into a text based python game
It won't have seeds because seeds are hard but it'll let me test my stupid mod ideas I constantly come up with without having to figure out the mod install (it'll also let me play shitty balatro in class)

tepid sky
#

;-;

#

gl

unkempt ridge
#

Is there a way to get the most played poker hand with a single function? We noticed there's G.GAME.current_round.most_played_poker_hand, but that always sends back High Card instead of anything else, even after playing a few flushes.
Also hoping for the inverse too, of the least played poker hand (although we guess that'll be with like, a for loop somehow...)
Tips?

restive osprey
#

Currently all I've done is made some progress on the class that holds the values for the different playing cards
I use a list to hold each variable, which is
[Number/value, suit, face card check, ace check, chips, mult, xmult, enhancement, edition, seal, debuff checker, displayed text]
Anything I'm missing?

primal robin
#

Taken directly from the game

unkempt ridge
restive osprey
#

Does anyone have something that can tell me how the seeds in balatro work? I'm genuinely curious

primal robin
#

Idk why

wintry solar
#

because it priotises order if the values are equal

zealous glen
wintry solar
#

yeah

#

I think it supports everything now

zealous glen
#

Since when?

wintry solar
#

edition calc is still jank though

#

I think boosters was the last addition

#

but I could be wrong

zealous glen
#

Oh I thought Seals were broken before Boosters

wintry solar
#

oh maybe the got fixed after that

#

they definitely work though

#

balloons are seal objects

tepid sky
#

:D

zealous glen
wintry solar
#
SMODS.Seal({
    key = "red_balloon",
    atlas = "balloons",
    balloon = true,
    pos = { x = 0, y = 0 },
    badge_colour = HEX("E31414"),
    sound = {sound = 'balloon_inflate', per = 1.2, vol = 0.4},
    weight = 0,
    config = {extra = {balloon_mult = 4, chance_to_float_away = 4}, spawn_key = "c_balloon_red_balloon"},
    loc_txt = {},
    loc_vars = function(self, info_queue, card)
        return {vars = {self.config.extra.balloon_mult * Balloons.modifiers.values, G.GAME.probabilities.normal * Balloons.modifiers.num, self.config.extra.chance_to_float_away * Balloons.modifiers.denom}}
    end,
    calculate = function(self, card, context)
        if context.cardarea and context.cardarea == G.play and not context.repetition and not context.individual then
            return {
                message = localize({type = 'variable', key = 'a_mult', vars = {self.config.extra.balloon_mult * Balloons.modifiers.values}}),
                mult = self.config.extra.balloon_mult * Balloons.modifiers.values,
                colour = G.C.MULT,
                func = check_floated_away(self, card)
            }
        end
    end
})
#

there's some extra stuff in here that's not relevant

#

but the important stuff is here

#

oh it supports in_pool to

cedar flame
#

they're internally called balloons in the base game? that's hilarious

wintry solar
#

no this is from my balloons mod

cedar flame
#

OH lol ignore me

#

i see now

zealous glen
#

I realized one of the effects I had in mind since the demo is a bit superfluous now

#

It was a Burnt Enhancement, based on the old Burnt Joker, which would give discarded cards a chance to generate a Tarot

#

But that’s like a worse Purple Seal

#

There’s still benefits to having it but I don’t think enough

#

The effect I think would work better as a Seal than as an Enhancement is one that creates a temporary copy of a scored card in your hand.

The demo had Gold Seals with a similar effect—keeping the card in your hand—but they were largely considered really bad because it was too difficult to obtain them at all

zealous glen
zealous glen
wintry solar
#

yeah

zealous glen
#

TIL

cedar flame
#

it's just not written up on the wiki yet, iirc they're getting close to official alpha/beta releases being put out instead of just rolling main branch updates

bitter sand
#

hello, how do i make a custom booster please ?

zealous glen
#

If it’s not in the wiki try finding a mod with custom boosters

#

or ask @wintry solar

wintry solar
#

I havent done any booster stuff

#

but generally I recommend looking through game_object to get an idea of what you need to include, and also look at mods with them in

bitter sand
#

okay thx

tepid sky
#

is there a mod that adds more features to test things?

#

like i can open a tarrot pack on command?

#

or add seals to a spesific card/joker?

crisp elbow
#

closest thing I think is debug+

tepid sky
#

thanks!

tepid sky
#

i do have quite the fhew questions like how do i add my own enhancement?

#

and how do i check if a glass card got shattered or not?

languid mirage
tepid sky
#

i may have found it?

royal ridge
tepid sky
#

rip

royal ridge
#

more specifically, the context.remove_playing_cards portion of it is bugged

#

doesn't actually do anything for some reason

royal ridge
tepid sky
#

alr! thanks :D

tepid sky
#

i cannot just replace: if context.before and next(context.poker_hands['Pair']) with if G.hand.highlighted[i].ability.name == 'glass card'

#

then it is a nil value?

languid mirage
#

you still need to check the context

tepid sky
#

wait did i write that right? i want the joker to scale when glass breaks

opal spade
#

isnt that glass joker

tepid sky
#

iguess so yea

tacit escarp
#

guys please

tepid sky
#

?

tepid sky
#

isn't there a template or sum 👉 👈

opal spade
paper hare
#

Can someone help me figure out how to overwrite descriptions for Jokers, Consumables, or other items in the game? I got a error when I tried to do that.
(see #1276085451530174484 )
Error: functions/misc_functions.lua.1872: bad argument #1 to 'ipairs' (table expected, got nil)

shell tangle
#

Odd question, would it be possible to take ownership of a single playing card rank/suit? Something like taking ownership of H_4 through SMODS.Centers, maybe?

wary crescent
#

Ok, so i have all of my Jokers coded and I just touched up the last of my artwork. Six Jokers coded and drawn! Now i just need to figure out how to organize everything into one folder so i can release it soon. Holy Christ this process has been consuming, fun, but consuming. Anyways, all of my jokers are stored in individual files, I need to get them all together but seeing as to how other mods store their Jokers together is honestly a bit confusing.

#

Is there a way i can leave all my files separated?

frosty dock
#

single files for each joker sounds a bit excessive, if there's grouping I usually see it done into some kind of categories

#

you can use SMODS.load_file to load any files you need, however you decide to split things

#

for an example of dynamic file loading (as in all files in a certain folder in your mod), you could look at cryptid (Cryptid.lua, starting at line 394)

wary crescent
#

The way other mods handle its files vary so much, so it is making understanding what i can/need to do as a first time modder, a bit tougher.

Ty for that suggestion! I'll take a look at Cryptid

#

I also should probably avoid using a spritesheet, i have a joker that is 81x135 so I'm not sure how i would go about using a spritesheet with that one.

regal wolf
#

The way other mods handle its files vary so much, so it is making understanding what i can/need to do as a first time modder, a bit tougher.
My advice is don't worry about what other people do. Everyone has their own style guidelines and formatting rules.

#

A lot of people are winging it haha, and a lot of their decisions on structure, method, etc are all due to the specific requirements of their project.

cedar flame
#

anyone know how to take ownership of the vanilla seals with SMODS.Seal:take_ownership()? no matter what key i provide it says that the object doesn't exist so i can't take ownership of it

#

i've tried red, red_seal, s_red, s_red_seal, Red, Red_seal, s_Red, and s_Red_seal

zealous glen
#

I have one file for each Joker and other objects

#

Though hooks tend to be together

#

Lovely injections are a bit sketchy but still

wary crescent