#đŸ’»ăƒ»modding-dev

1 messages · Page 30 of 1

frosty dock
#

ik

#

it can literally just call that

wintry solar
#

oh true

#

oh wait maybe we removed prefixes from shaders

frosty dock
#

no prefix at all isn't advisable, I don't think

fast badge
#

what'd I miss?

#

G.SHADERS['hologram-v2'] = love.graphics.newShader(SMODS.current_mod.path.."/assets/shaders/".."hologram-v2.fs")

wintry solar
#

in the fs file

#

change every copy of hologram to hologram-v2

#

oh no, we left the mod_prefix on the shaders

fast badge
#

hahaha what

#

I mean the effect works... kinda...

wintry solar
#

Have fun reading shader code 😄

fast badge
#

Feels like I'm in my CG class again

wintry solar
#

Join the shader crew

fast badge
#

What if i could just apply some transparency to the sprite before its passed to the shader :'(

#

or even in the shader

wintry solar
#

You could do that actually

fast badge
#

the whole holo sprite has an alpha of 192

#

aight

#

good to know

#

lemme apply that

#

and hope it works

wintry solar
#

tex.a = tex.a - 0.002 should do the trick

#

I think

#

Or set it to the same as holo

fast badge
#

but they wont glow here then

#

ill just set it

#

almost

#

that's more like it

wintry solar
#

You could remove the bit that crops the edges too

fast badge
#

Yeah im looking for that rn

versed violet
#

how'd you add a new row of cards to the editions tab?

wintry solar
#

Wait for the api to be finished and it’ll do it for you taps head

fast badge
#

I wonder where the cropping happens

wintry solar
#

You’re looking for uv.x inequalities

fast badge
#

OH i just founnd it

#

thanks

#

why was it being cropped anyways

versed violet
#

Understandable, implemented a new edition effect and I wanted to get the edition showing up in the editions tab without using the debug menu haha

fast badge
wintry solar
#

You could adjust the crop instead of removing it I guess

fast badge
#

I think this is decent enough

fast badge
wintry solar
#

Yeah looks good

fast badge
#

Yay :D

#

thanks for your help

wintry solar
#

I’d maybe make it higher up the card though

#

It doesn’t look central

fast badge
#

Hmm yeah you're right

#

i dont see it being adjusted in the shader though

wooden nexus
fast badge
#

plus hologram effect

frosty dock
#

If I added support for (partial/extension) loc files, should they just be loaded automatically? I can't think of any API information that wouldn't be redundant

fast badge
#

@frosty dock if I save something in my joker's card.ability, shouldn't that be saved even when I reload?

#

because It isn't

frosty dock
#

that's a no, I'm afraid

fast badge
#

But like

#

It works for when I hover over it

#

but not in the load

frosty dock
#

well at least certain fields should be saved

#

I don't have the code in front of me

mint tundra
#

does anybody have an idea what went wrong here

fast badge
mint tundra
#

thanks

#

that made it boot but did not add a joker do you know if that method would work

fast badge
#

Without any code we can't help

frosty dock
#

^^

#

from what I see on the crash screen, it looks like you're not using Steamodded APIs

mint tundra
#

function Game:init_item_prototypes()
self.P_CENTERS ={
c_base={max = 500, freq = 1, line = 'base', name = "Default Base", pos = {x=1,y=0}, set = "Default", label = 'Base Card', effect = "Base", cost_mult = 1.0, config = {}},

    --Jokers
    j_advanced=            {order = 1,  unlocked = true,   start_alerted = true, discovered = true,  blueprint_compat = true, perishable_compat = true, eternal_compat = true, rarity = 1, cost = 2, name = "Joker", pos = {x=0,y=0}, set = "Joker", effect = "Mult", cost_mult = 1.0, config = {mult = 4000}},
}end
mint tundra
fast badge
#

You are not

#

thats straight game code

frosty dock
#

you are in fact not

fast badge
#

no API usage whatsoever

mint tundra
#

how do i use the api

fast badge
frosty dock
#

you're also overriding all other jokers, consumables, vouchers, decks and whatnot, rather unsuccessfulyy

frosty dock
fast badge
#

oopsie

#

here we go

frosty dock
fast badge
#

i changed the link smh smh

#

smh my head

frosty dock
#

smh my head

#

I can't believe I actually typed that out correctly though

fast badge
#

you typed out the link by hand?

frosty dock
#

I did

fast badge
#

maybe, just maybe, you should take a break from modding

frosty dock
#

just because I'm on mobile rn, it's faster

mint tundra
#

i got it to add the joker but i don't know how to add textures

frosty dock
frosty dock
#

oops

fallen tendon
frosty dock
#

there we go

fast badge
#

Gamer

frosty dock
#

i should've just copied the link there

mint tundra
#

can you tell me what i forgot

fast badge
#

you forgot to show your code

frosty dock
#

^^

mint tundra
#

-- SMODS.Joker:new(name, slug, config, spritePos, loc_txt, rarity, cost, unlocked, discovered, blueprint_compat, eternal_compat, effect, atlas, soul_pos)
local j_example = SMODS.Joker:new('Example Joker', 'example', { mult = 106479 }, {x=0,y=0}, {
name = 'Example Joker',
text = { '{C:red}+#1#{} Mult' }
}, 1, 2, true, false, true, true, 'Mult', 'my_mod_jokers')
j_example:register()

function SMODS.INIT.NegateTexturePack()
sendDebugMessage("Launching Negate Texture Pack!")
local sprite_jkr = SMODS.Sprite:new("Joker", negate_mod.path, "Jokers-negate.png", 71, 95, "asset_atli")

fast badge
#

next time wrap it in this

frosty dock
#

ok first of all

fast badge
#

```lua
[code]

#

second of all, if you write "function xxx"
that needs to end somewhere
with the "end" keyword

#

also what kinda spaghetti code is that

#

you copied half of negate texture pack

frosty dock
#

what is negate texture pack doing there?

fast badge
#

and added your code at the top

mint tundra
#

i don't know what im doing and the nagate stuff comes from the wiki

frosty dock
#

that's the mistake

#

know what you're doing first

frosty dock
#

learn at least a bit about coding/lua

fallen tendon
#

Honestly it might be easier if you did some tutorials on lua so you are coding in a language you know

mint tundra
#

'''lua
-- SMODS.Joker:new(name, slug, config, spritePos, loc_txt, rarity, cost, unlocked, discovered, blueprint_compat, eternal_compat, effect, atlas, soul_pos)
local j_example = SMODS.Joker:new('Example Joker', 'example', { mult = 106479 }, {x=0,y=0}, {
name = 'Example Joker',
text = { '{C:red}+#1#{} Mult' }
}, 1, 2, true, false, true, true, 'Mult', 'my_mod_jokers')
j_example:register()

function SMODS.INIT.NegateTexturePack()
sendDebugMessage("Launching Negate Texture Pack!")
local sprite_jkr = SMODS.Sprite:new("Joker", negate_mod.path, "Jokers-negate.png", 71, 95, "asset_atli")
end
'''

fast badge
#

Whilst the documentation in the wiki is very sparse, it is enough to figure out how it works. Read the code from some other mods and you'll see what to do, but for that you need to know how to code

frosty dock
#

`, not '

#

Also don't put that in your mod file

#

just add it when sending on discord

fast badge
#

mfw

fallen tendon
#

Also if you look at the error message and the number it gives thats the line number where the error is

fast badge
#

Do you need an explanation in german, I think aure and I are both proficient in that

mint tundra
#

i can speak english

fast badge
fallen tendon
#

I am a dumb monkey brain ooo ooo aaa aaa i cant conprehend what you said

fallen tendon
frosty dock
fast badge
#

Oooh

frosty dock
fast badge
golden lake
#

do NOT show code with single backtick

fast badge
golden lake
#

use triple backtick

fallen tendon
golden lake
#
local message = 'so you can do this'
frosty dock
#

I was asking nether how they knew I'm German

fallen tendon
#

He could smell the pf from a mile away

golden lake
#

I think you should be required to take a digital literacy test as a requirement to log onto like 80% of social media and if you fail Markdown you instantly fail the entire test and are banned from taking it for another month

#

The quality of chat would skyrocket

fast badge
#

I don't think markdown should be a requirement for social media lmao

frosty dock
#

only if it doesn't include markdown tables

#

these are hell

fast badge
#

For coding related stuff, sure

fast badge
golden lake
#

Markdown is the most versatile format for online communication

frosty dock
golden lake
#

It uses simple, easily remembered conventions to convey a vast array of HTML tags in a way that's way more approachable

fallen tendon
#

He saw you eating a schnitzel

fast badge
fallen tendon
#

Oh no

golden lake
#

It's not just good for writing docs, but also for notetaking, formatting longer messages, not posting obscenely long links, embedding code, adding emphasis

fallen tendon
#

I assume you know his address and mailed him a pipe bomb

fast badge
#

No, a Schnitzel

fallen tendon
#

Of course

golden lake
#

Reminds me of that one time that someone was told that they should reply to their emails themselves and not use ChatGPT but the person who was told that was just autistic (me asf rn)

frosty dock
#

oh no

#

leak rn where I live within 20km

fast badge
#

I'll pass

#

not looking to get banned again lol

frosty dock
#

tell me in DMs then

fallen tendon
#

Idk it could just be the nearest major city to him

frosty dock
#

xd

frosty dock
#

actually I'll even do with the Bundesland

golden lake
#

and you retweet german-speaking articles

#

all the time

fallen tendon
#

Its more funny to think he doxxed you

frosty dock
#

oh right

golden lake
frosty dock
#

foolish to think I was at all being serious

frosty dock
#

I would be able to tell, had I been doxxed

#

but it's funny

wild gyro
golden lake
#

it is an evil thing that i am not allowed to disclose in public servers

#

the less you know the better

#

/srs

wild gyro
#

okay

#

im just not going to question it

zealous glen
zealous glen
wintry solar
#

Yeah that art is way too cool for the effect haha

zealous glen
#

But the theme is too fitting

mellow sable
#

dumbest deck I've ever made

zealous glen
zealous glen
#

(I think I still need to fix the event handling but shhh)

mellow sable
#

@frosty dock how do I use a vanilla atlas with a modded deck?

local CCD = {
    object_type = "Back",
    name = "cry-CCD",
    key = "cry_CCD",
    config = {cry_ccd = true},
    pos = {x = 0, y = 0},
    omit_prefix = true,
    atlas = "Tarot",
    loc_txt = {
        name = "CCD Deck",
        text = {
            "Every card is also",
            "a {C:attention}random{} consumable"
        }
    }
}

this isn't working

fallen tendon
#

how would you add a modded consumable type to the shop pool? not in a pack but just only in the shop?

mellow sable
#

ah

frosty dock
#

I guess I should add that to docs

#

seems like I forgot

mellow sable
#

too late since I already just copied The Fool into its own atlas but thanks

fallen tendon
#

so this seems to be the thing in the steamoddewd consumable type code that determines the frequency in the shop, but how exactly do i access it?

frosty dock
carmine yacht
#

what are the consequenecs of changing the stake mid-run

#

trying to discern the best way to implement a blind that raises the stake by 1 for the ante

tawny perch
edgy reef
#

Anyone have a clue as to how to add a sprite inside the joker popup?

edgy reef
#

My god this game's handling of UI really is scuffed wtf

unkempt thicket
#

over a page of sin jokers finished, not even close to doneđŸ« 

stray warren
#

Missing one bottom left? Or is that how it's supposed to be lol

unkempt thicket
#

its the missing joker

mellow sable
#

it's for Null suit

#

you should show the polychrome version of that (polychrome looks so good with full black)

unkempt thicket
#

negative is cool

stray warren
#

Ooh negative goes hard

edgy reef
#

My god UI is miserable

#

For the love of god please just be vertical

#

A little big but hey, it works.

random sleet
#

oh dear lord what is happening in there

edgy reef
#

There's still the future UI hell of displaying which side of the die the joker rolled on, but let's pretend it doesn't exist :]

edgy reef
random sleet
#

what is the hexagons

edgy reef
#

test sprite

random sleet
#

gem sockets for jokers...

crisp coral
#

ARCHIPELAGO

#

ARCHIPELAGO

shell timber
#

archipelago?

#

isn't it banned from the main server?

edgy reef
#

That is a fail

#

ohh ok I see the mistake

#

Wait hold on how in the world do you draw a sprite onto another sprite

mellow crag
edgy reef
#

btw I still can't figure out how to get this to work.

#

Using a dummy Moveable object doesn't work, it just leaves the object comepletely blank

slow ocean
#

slice & balatro??

random sleet
random sleet
#

art from @lusty epoch :3

maiden phoenix
#

So cool

random sleet
#

toying with the display on playing cards....

shell timber
#

ooh

random sleet
#

also should it start at lvl1 for +0/+0 or lvl0 for +0/+0

shell timber
#

hm

#

lvl1?

#

because planet card's bases don't necessarily match the upgrade amounts

#

but they do all start at level 1

frosty dock
#

but also it should just be hidden at lvl. 1

shell timber
#

mhm

random sleet
#

it will be, i switched it to lvl 0 base for that screenshot

#

tinkering and all

shell timber
#

planet x now buffs wild cards instead of 5oak

random sleet
#

should it say lvl twice? but if i put the chips and mult on the same line its super wide

random sleet
#

wilds just get buffed based on their base suit though

#

i could make it so wilds get the highest level among suits, maybe

shell timber
#

lvl1. (blue)+3 / (red)+1 ?

random sleet
#

hmmm

#

yeah i guess keeping with vanilla notation isn't strictly necessary

shell timber
#

the hand level display doesn't say chips / mult either right

random sleet
#

no but the planets do

#

hand level display isn't in card description text, where the formatting is generally consistent

#

(looking at you, capitalized C in Chips)

frosty dock
#

🇹hips

random sleet
#

ok yeah i think that works nicely

shell timber
#

less colourblindness support but oh well

#

shouldn't necessarily matter?

random sleet
shell timber
#

ooh

random sleet
#

i mean at the end of the day it is just "big number go bigger"

wintry solar
#

Can the values go in the line beneath?

#

[Lvl 2]
+3 chips +2 mult

random sleet
#

fun fact: planet descriptions use the wrong {S:0.8} notation, it should be {s:0.8}

#

same with mr bones

random sleet
#

playing card descriptions are usually very slim

wintry solar
#

Yeah I suppose, I still think the level being on its own line would look better, with the values like that last picture under it

#

I need to snoop around in the code to replicate this though, I have some edition concepts that would use a similar system

random sleet
#

trying to load into The Eye

fast badge
#

Steamodded

random sleet
#

1.0.0

fast badge
#

yeah what version

#

0528a

#

0530a

#

it shows in the menu top right

random sleet
#

0530h

fast badge
#

update steamodded

#

aure fixed it in 0531

random sleet
#

nerd

#

(thank you)

fast badge
#

np :>

random sleet
#

yeah i'd say this run is going ok

#

problem with testing: the game is too fun omg

nocturne garnet
random sleet
#

ok ill add you to the game

zealous glen
zealous glen
zealous glen
random sleet
zealous glen
#

But the background is a different color

#

If the X here were white it would read poorly among the white text

#

Red at least contrasts with both black and white

random sleet
zealous glen
#

But against a white background you could have it be black and contrast with white, red, and blue

random sleet
zealous glen
random sleet
#

not likely

zealous glen
#

But imagine

#

tiny

random sleet
#

chat i am going insane

zealous glen
#

With a black X, maybe “suit lvl. n”

random sleet
night pagoda
#

Is it possible to lovely-inject into steamodded files (and how to do that if possible)?

frosty dock
#

no

night pagoda
#

damn

frosty dock
#

i guess you could try to patch the files steamodded patches into, but you would have to guarantee your patches happen after steamodded's

#

which I don't think is supported currently?

night pagoda
#

the thing I want to patch isn't using a lovely patch by itself anyways

zealous glen
#

Not “[suit name]”, just the word “suit”

zealous glen
night pagoda
#

I wanted to hide suit tallies in the mod like that (my change is outlined here)

#

which is in steamodded's api_hooks

night pagoda
zealous glen
#

Like you’d hook into the base game functions

#

But you hook into SMODS functions

night pagoda
#

ah, the reference function thingy?

zealous glen
#


 yes

#

Which the module api_hooks does for you

night pagoda
#

not sure if I could do that since I make changes in the middle of the function

zealous glen
#

I mean you can copy-paste it

#

(Don’t do that tho)

#

But you could

night pagoda
#

isn't that a bad practice

zealous glen
#

You can also make a PR

night pagoda
#

I'm trying to avoid that in my port so yea

frosty dock
night pagoda
#

oh

frosty dock
#

anyways it already omits suits that are disabled, which should be good enough

wintry solar
zealous glen
#

I think it could be one line still

random sleet
#

i still kinda wish suits could be omitted if you just have 0 of them

#

without wholesale disabling them

#

anyway

frosty dock
#

most prominently checkered deck

random sleet
#

maybe as a field in the suit?

#

hide_at_zero or some such

zealous glen
#

Oh in the deck screen

random sleet
#

zero of the suit, as will be the case often with the minor arcana that do not start in your deck

zealous glen
#

Vanilla behavior makes sense for vanilla not for mods

#

It’s like saying adding more pages to the collection is changing vanilla behaviour

#

Or changing the number of lines in a collection page

random sleet
#

adding more pages to the collection is changing vanilla behaviour :o)

frosty dock
#

what I mean is it's supposed to behave the same way when it's not touched by mods

random sleet
#

grumble grumble i cant get these to look nice

frosty dock
#

when modded, of course it'll be different

zealous glen
#

Aren’t Planets/Tarots in Steamodded displayed differently from vanilla?

frosty dock
#

no

zealous glen
frosty dock
#

well, planets have pages

zealous glen
random sleet
#

hands also have pages :)

frosty dock
#

still, I don't want clubs and diamonds to be removed from checkered deck's deck view unless you have them in your deck

frosty dock
zealous glen
#

What if we make a PR that removes it

#

It seems arbitrary collection can have multiple pages but the deck view can’t hide suits you don’t have

#

Both don’t have mechanical impact

random sleet
#

you seem a bit on-edge; aure is agreeing?

frosty dock
#

to me, adding something even if unused is fine, less so removing something that would be there in vanilla

zealous glen
#

I’m just confused because it seems arbitrary

random sleet
#

alternate idea

zealous glen
#

I don’t see how hiding suits that aren’t in the deck, even vanilla ones, is an issue

frosty dock
#

it makes sense to allow, I just don't see it as a default for vanilla suits

zealous glen
wintry solar
zealous glen
#

I think that makes it harder to read when you have custom suits but no vanilla suits

random sleet
#

and the pages work btw :3

maiden phoenix
#

So colorful :))

wintry solar
#

Will this page show all suits or can it also hide those you don’t have or are level 1?

zealous glen
random sleet
#

i use darken

#

Hope and Light are just That Bright

zealous glen
#

With it being always black against some color it looks weird IMO

random sleet
#

oh thats an idea

zealous glen
#

But blending the background color with either the current color or just darkening it would look better IMO

#

Or maybe lightening it if it’s too dark already

night pagoda
#

What is "disabled" argument for in suit's declaration? It seems that it temporarily disables the suit until you start a run, but I don't see why that'd be useful?

zealous glen
#

I think the default behavior is to add every suit to a deck

random sleet
#

colors superplead

frosty dock
#

it removes the playing cards from G.P_CARDS until re-enabled and hides from UI

zealous glen
frosty dock
#

why'd you think it was until you start a run?

zealous glen
#

I’d tweak the levels but it looks better

frosty dock
#

there's some additional functions that let you decide whether or not to enable suits on a run

#

but disabled suits should stay that way if I didn't mess that up

night pagoda
#

idk it seems like they're disabled until I start a run, maybe I'm wrong tho

random sleet
night pagoda
#

they do not show in challanges but after I join a run and exit it they reappear in challange previews

frosty dock
#

hm it doesn't reset when you exit a run

night pagoda
frosty dock
#

you might have to use the API functions instead of just calling disable

night pagoda
#

I'm not even calling disable, I just set it in the table to true

#

like that

zealous glen
frosty dock
zealous glen
#

Maybe a little bit darker is an easier change to make

random sleet
#

extreme gay modding

night pagoda
zealous glen
#

I wonder how one would mod making cards useable/sellable just by dragging them

#

Using consumables seems straightforward, selling consumables too, but selling Jokers I’m not sure

random sleet
#

suit counts now present

random sleet
zealous glen
random sleet
#

deck preview is unpettable but appreciates the attempt

zealous glen
#

Diamonds, Clubs, Hearts, Spades, Bananas, Stars, Cups,

nocturne garnet
#

Spades, Hearts, Clubs, Diamonds, Bananas, Stars, Cups, Things, Stuffs, Swords, Knives, Dooms, Moons, Stars, Wands, Coins, Lights, Minds, Bloods, Spaces, Hopes, Voids, Lifes, Breaths, Times, Rages,

#

atp one day we will get the Balatro suit

night pagoda
#

should_add_to_deck works as an empty function in the table to disable acquiring suits at the start of the game but it still adds the suits to challange previews, despite not actually adding the suits when starting a challenge, why?

zealous glen
#

I think Things is Dancing Cactus

nocturne garnet
#

one day we'll have AI generated suits

#

so many suits we cant do anything anymore

random sleet
#

in the future, comedy will be randomly generated

nocturne garnet
#

in the future, Balatro will be AI generated

random sleet
#

there we go

#

it now omits any suit that isn't represented in your deck and is at level 1

maiden phoenix
random sleet
#

so as long as there's something relevant to show, it'll show it

#

i might just hardcode the vanilla suits to be visible always, tbh.

#

i can always change the hardcoded part later :P

zealous glen
#

Do the vanilla suits change colors when you change the high contrast option

random sleet
#

yes, here's what low-contrast looks like

frosty dock
#

should_register disables the suit altogether

night pagoda
#

yeah I removed the should_register for now

frosty dock
#

or well, enables it

random sleet
#

good thing you mentioned challenges, i should investigate this

night pagoda
#

I have nothing aside from should_add_to_deck change

#

so yeah I don't know how can I make them register yet make them not being added to the deck while also removing them from the challange deck preview

frosty dock
#

if you use should_register, you can still enable them mid-run by calling populate on the suit

#

as for the challenge deck preview, I haven't really thought I'd need to care about what suits are enabled outside of a run

night pagoda
#

I really afraid of saved game shenanigans where I would rejoin the game with suit being unregistered or unpopulated

random sleet
#

you could just hook Game:start_run to populate your suit

#

i think

#

that func is for both new runs and continued runs

#

you can distinguish the two with args.savetext if you need to

night pagoda
#

yeah that's also what I used in 9.8 bunco but feels too tricky

#

not tricky, bloaty rather

zealous glen
#

That feels like something Steamodded should do

night pagoda
#

yep

frosty dock
#

though I probably should read that code again just to check it does what I meant it to do

#

yeah i have this in place

#

it's just that it keeps whatever was going on in the last run even if you exit it

#

that's a bit annoying

night pagoda
#

I'll tell if I'll have any weirdness

regal shoal
#

Does someone knows how to add starting consumables to a deck ?

random sleet
#
  consumables = {
    'c_hex'
  }
}```
regal shoal
#

Ty

frosty dock
random sleet
#

what?

frosty dock
random sleet
#

im sorry 😭

regal shoal
#

When you create a consumable. self.ability.name is nil. Where should I set this value ?

random sleet
regal shoal
#

Because basically it's in Card:can_use_consumable

random sleet
#

i think you're doing something wrong but i am unfortunately not at your computer to know

zealous glen
#

If only there was a way for other people to see their code

zealous glen
#

not \ smh

maiden phoenix
#

No context balatro modding

random sleet
#

cuz it sounds like you're hooking into Card:can_use_consumeable directly when you probably dont need to

#

silver dagger matador how do you find motivation to mod so much

regal shoal
random sleet
#

can_use function on the consumable

#

smods already hooks it

regal shoal
#
local card_can_use_consumeable_ref = Card.can_use_consumeable
function Card:can_use_consumeable(any_state, skip_check)
    local ret = card_can_use_consumeable_ref(self, any_state, skip_check)
    if ret then return ret end

    if self.ability.name == "name" then
        if condition then return true end
    end

    return false
end
#

Oh

#

Ok

#

Thx

frosty dock
#

it's in the docsâ„ąïž

random sleet
#

chat is +3chips/+1mult good balance for the suit planets do we think

frosty dock
#

surely

regal shoal
#

Docs are updated !?

#

AMAZING 😍

random sleet
#

should definitely be +10/+2 tamariPlush

scenic zenith
#

Hello does anyone know how i draw in front of the darkening of the overlay menu

fallen tendon
#

I so want a wiki page for SMODS.ConsumableType

scenic zenith
#

this thing but in front of the darkened background

#

i mean ideally just attached to the left side of the main thing but i don't know how you do that

#

ui remains horrible

#

a common line between all modding i've ever done

#

this basically copies whatever the debug menu does except that one does in fact render in front this doesn't

zealous glen
random sleet
scenic zenith
#

also still no idea how things sliding in works

#

there seems to be no code for it it just happens through black magic

zealous glen
scenic zenith
#

how do i decide when to draw something

zealous glen
scenic zenith
#

i tried adding this to the I.POPUP table

#

since it sounds like it'd draw after the main menu

#

it doesn't

#

shouldn't popups be drawn later

#

cause popups seem to still be behind

#

unless i did it wrong

zealous glen
#

So if the parent is above it inherits that

zealous glen
#

I think that’s what I was thinking of

zealous glen
scenic zenith
#

im not following (aka i don't understand)

#

anyway the moving inwards doesn't actually matter to me i just mentined it since it's black magic

#

i just want to draw credits for custom decks

scenic zenith
#

unless self.F_HIDE_BG is false ig?

#

cause we are in OVERLAY_MENU

#

still unsure why this would matter if i just directly add things into I.POPUP

zealous glen
scenic zenith
#

which based on this renders after all of this

#

but it doesn't do anything

zealous glen
#

Well handling types

dim ice
#

for some reason i cant load in my mod, it says something about not supporting steamodded 0.9.8, any clue about what i could do? (on version 1.0.1f)

fallen tendon
random sleet
#

you can always check smods's code

#

ctrl shift f from notepad++ or most other editors can search in all files in a directory, just check everything that references SMODS.ConsumableTypes

zealous glen
#

And Lovely version

dim ice
#

they are pretty recent

random sleet
#

does your mod have SMODS.INIT in it

dim ice
maiden phoenix
#

A lot of the syntax was changed between 0.9.8 and 1.0.0, you'll have to fix your code to fit those syntax changes, they're available on the Steamodded wiki

dim ice
#

kk

#

are there any links to the steamodded wiki?

scenic zenith
#

ok new question since i don't get this

#

can i just like

#

attach a uibox to a uibox definition thing

#

yknow how the tooltips work except without hovering

#

surely there is some way to do it

dim ice
zealous glen
scenic zenith
#

hm i think i had something like this at some point

zealous glen
#

Also actually I think smooth movement for Moveables is defined in Moveables via VT, but I’m not quite sure how the game uses it

scenic zenith
#

oh right the issue was that i hooked something where the ui wasn't done yet Sobb

#

ig just do more hooks

zealous glen
#

Or patches

dim ice
#

so do i just remove all instances of SMODS.INIT in my mod?

#

(which is 1)

maiden phoenix
#

There's more than that to it, but yes thats the first step

dim ice
#

ok, i can send you the part of the code with it if needed

zealous glen
#

Maybe the game uses the pinch state to control the position, and eases to the correct one

#

The comments where the pinch state is defined had me confused

#

But maybe that’s it

zealous glen
maiden phoenix
dim ice
random sleet
#

theres a migration guide in the docs i think

zealous glen
dim ice
zealous glen
scenic zenith
#

nice it's doing absolutely nothing again

dim ice
random sleet
#

nope

dim ice
#

I was just worried that it could mess with things if i changed it

random sleet
#

the whole function is gone

#

your mod file is the init now

dim ice
#

cool

random sleet
#

just don't have the extraneous function

scenic zenith
#

it just does nothing

#

ui remains impossible

#

i can either render it under the background making it stupid or it does nothing

zealous glen
dim ice
#

ok its ported, thanks guys

scenic zenith
#

that is set in the draw function yea

#

i don't see how i'd disable it unless you want me to lovely patch the draw function

#

i thought making it a I.POPUP would fix it since that's way later

#

but it does nothing

zealous glen
#

Then you make it true again after

#

Or if you have an UIElement you can set it locally I think

#

self.under_overlay = false

scenic zenith
#

tried .UIRoot.under_overlay = false

#

does nothing

#

idk what that is supposed to do anyway seems to never be used at all

#

ui black magic

zealous glen
scenic zenith
#

well UIBox isn't an UIElement

#

but it generates UIRoot as an UIElement for itself

#

as far as I can see

#

so that should be the equivalent

zealous glen
#

What about changing G.under_overlay?

scenic zenith
#

ok i'll just lovely patch the draw function

#

seems there's no way around it anyway

#

did not help

#

it still draws it behind

#

i do not understand

night pagoda
#

uhmmm populating suit works fine I guess but the suit persists when I exit from run and it seems that it persists even when I reload the game

#

should I do manual un-population or whatever when exiting?

frosty dock
#

should_register should have you covered for entering runs

#

I don't know if it's feasible to disable on exit, I'm not sure there's a single function that always gets called

#

plus for challenges it'd even have to unregister when paused, since it's possible to start a new run from the pause menu

regal shoal
#

Negative playing cards (+1 hand size)

scenic zenith
#

ok new question anyone know how i could make an uibox like

#

recalculate it's size

fast badge
#

@frosty dock with the context.selling_card, can I somehow figure out which card is being sold?

scenic zenith
#

yknow the middle is empty please shrink

#

for some unknown reason this UIBox does not have the :recalculate function

#

and im slowly going insane from UI being the worst thing in the entire universe

fast badge
#

thx

frosty dock
#

doesn't look like something you'd need to specifically ping me for...

maiden phoenix
#

@ steamodded aurewritten the number 3 or the colour green?

frosty dock
#

the Joker Perkeo

#

ez

mint tundra
#

where would i find mods using steammodded

frosty dock
zealous glen
mint tundra
#

can someone translate this into lua code py import os abspath = os.path.abspath(__file__) dname = os.path.dirname(abspath) os.chdir(dname)

zealous glen
mint tundra
#

so smods efectivly is that code alredy

edgy reef
#

FINALLY

#

It's off-center for whatever reason but IT WORKS

wintry solar
#

how did you solve it?

edgy reef
#

Manually calling draw_shader("dissolve") in Sprite:draw()

#

Speaking of which what even is the "dissolve" shader

wintry solar
#

it draws the sprite

#

or it does the burn thing when things are destroyed

#

I think

#

I'm not quite sure what the game passes as these values though

#

yeah, it draws the dissolve mask if it's being created or destroyed, otherwise it just draws the sprite

#

so I guess if you need to draw anything anywhere, draw_shader("dissolve") is what you need

edgy reef
#

Then why is the sprite increased in size?

#

Either way, the main headache is dealt with

#

Wait, maybe it's streched or something?

wintry solar
#

I'm not aware of the shader itself resizing it

edgy reef
#

It's correctly sizes with each other D6 sides but not with the base sprite.

wintry solar
#

well, it'll resize based on screen size

zealous glen
edgy reef
#

I am doing that, Sprite:draw just doesn't call the dissolve shader.

zealous glen
#

It doesn’t expect other objects to have it so it doesn’t even try

#

But the subsprites should be linked to the main sprite

#

Are they different sizes?

edgy reef
#

No, they're the same size.

wintry solar
#

it does call it?

zealous glen
wintry solar
#

it just needs to have done Sprite:define_draw_steps() first

zealous glen
#

Which is hardcoded for Jokers

wintry solar
#

we're not in Card:draw though

zealous glen
#

Indeed but I’m saying to use the same logic

wintry solar
#

it just draws them after the rest of the card

zealous glen
#

Because AFAIK if it was implemented elsewhere it shouldn’t be reimplemented in Card:draw

zealous glen
#

I suspect the overlay is something else

#

I think I recall the deck having overlays for individual cards

wintry solar
#

the only difference afaik is it gives them the scale and rotation variables that let the soul float around

#

and then draws it based on the parent

#

I guess that's what you mean

zealous glen
#

Yes

#

That way their positions are linked relative to each other

#

If the soul didn’t move and didn’t have a shadow it would look like it’s part of the base sprite I believe

wintry solar
#

yes, it would

#

but I'm pretty sure it would also look the same if you didn't link it to the main sprite

#

the parent is more useful for if you need to translate it or scale it

#

@edgy reef what does your current method of drawing all the sprites look like?

edgy reef
#

This (I'm overriding rn before I make it a lovely patch so I know what I'd have to patch in).

#

Currently trying to figure out how define_draw_steps works

#

And what the args for it look like

zealous glen
edgy reef
#

minor?

zealous glen
#

Yes

#

That role links it to follow the movements of the main sprite AFAIK

#

It has a comment explaining it in Node.lua IIRC

wintry solar
#
            shader = 'dissolve',
        }})```
#

I think you can just define the shader in the draw steps

#

maybe no_tilt as well

zealous glen
edgy reef
#

It's in Moveable

zealous glen
#

If you figure it out tell me

#

I was thinking about multilayered soul sprites

#

But I need to understand how the code works better if I want to make it scalable for any number of layers

edgy reef
#

define_draw_steps works, but I'm still not sure how I'd go about defining the sprites as minor.

wintry solar
#

I think Moveable:set_alignment(args) will let them be categorised as minor

#

{major = main_sprite} should be fine for the args

#

but leaving it as a Major will make it move instantly with the rest

edgy reef
#

Doesn't seem the change anything.

wintry solar
#

set_role({major = self, role_type = 'Glued', draw_major = self}) I've found this as well which is how fronts, centers and backs are kept together

#

which might be more applicable as you don't need offsets or independent movement

wintry solar
elfin nimbus
#

Uh, oops

remote coral
edgy reef
remote coral
#

And overlaid with the hex grid?

wintry solar
#

what is this i-1 for?

remote coral
zealous glen
wintry solar
#

oh yes

edgy reef
zealous glen
wintry solar
#

how does it look if you change the shader drawing to just draw_shader()

zealous glen
#

The pixels on the back hex look smaller than on the sides

edgy reef
#

They are the same size though.

zealous glen
#

But not in-game

edgy reef
#

ohh

zealous glen
#

Think how there are two sets of assets with different sizes but that look the same

zealous glen
#

I believe both should have the same height of 2 pixels but the face pixels are taller

#

Try turning off the CRT effect and setting distortion to 0

#

That should make it easier to verify

zealous glen
wintry solar
#

is there a function on consumeables for when they are highlighted and unhighlighted?

zealous glen
maiden phoenix
zealous glen
maiden phoenix
#

Lol

zealous glen
#

From these peeps

maiden phoenix
#

Tbh it's my first time working with lovely patches it's actually so good and powerful

zealous glen
maiden phoenix
#

Didn't recognize Digimon from the first gif is all

zealous glen
#

Huh I can even hear the GIF lol

maiden phoenix
#

Sorry I grew up with Pokemon

zealous glen
#

Me too

edgy reef
#

Lemme change the color rq

wintry solar
#

can you draw the grid after the segments too?

#

it'll be easier to see the difference

edgy reef
#

grid?

wintry solar
#

the blank hexes

edgy reef
wintry solar
#

what happens if you make your game window smaller?

edgy reef
#

This is with a copy of the base sprite drawn as a child, like how the sides are drawn.

#

With it in windowed mode

maiden phoenix
edgy reef
wintry solar
#

that second outline you've drawn looks aligned

edgy reef
#

The 1.5 in this screenshot corelates to the height and width of the sprite.

zealous glen
#

How so?

edgy reef
#

The way the Sprite handles it in it's init function.

zealous glen
#

I’m not at my computer but I guess I can go there

edgy reef
#

Which goes into Moveable:init and get's assigned here.

wintry solar
#

Can you hard code drawing the outline after the segments to see if it's aligned?

#

the new one

edgy reef
#

As a child of the base_d6_sprite or the test_base_d6_sprite?

edgy reef
wintry solar
#

that looks fine, just draw it after your for loop instead of inside it

edgy reef
#

What exactly do you mean, btw?

wintry solar
#

have self.children.d6_side_test:draw_shader() here

#

unless you have got rid of that and are using draw_steps now?

edgy reef
#

I am

wintry solar
#

how do you populate draw_steps?

zealous glen
wintry solar
#

so it is

#

there must be a way to force the order they get drawn in

wintry solar
errant sand
zealous glen
edgy reef
#

WAIT WAIT WAIT

#

Dummy object to draw everything onto

#

And then passing the dummy object in the UIBox

wintry solar
#

it's still strange that it offsets everything from the dummy

#

I'm assuming the badges are drawn at the bottom of the dummy box

edgy reef
#

UIBox order is name -> desc -> dummy obj/D6 stuff -> badges

zealous glen
random sleet
#

im sorry :(

zealous glen
edgy reef
edgy reef
#

Swapped from "Glued" to minor and set offset to position everything higher

random sleet
#

what are the hexagons....

zealous glen
edgy reef
#

Node doesn't handle role args iirc

#

So doing set_role will error as the function doesn't exist to a Node object

wintry solar
#

do you set_role on the dummy obj?

edgy reef
#

I think the UIBox does it on object yea

#

Yeah it does

maiden phoenix
#

Was set_badge removed from SMODS?

edgy reef
#

Selector works now

gilded narwhal
#

In 6 months the modding scene is gonna be crazy

maiden phoenix
#

Say goodbye

wild gyro
edgy reef
#

I forgot that names are rendered differently.

#

xdd

random sleet
#

(what the hell is a d6 joker)

edgy reef
edgy reef
random sleet
#

this looks interesting

stray warren
fallen tendon
#

im really on the fence about this effect

#

dont know if its good or bad

vivid eagle
#

i can see the reasoning behind it though, if you have a bunch of purple and blue seal cards this joker is quite good

#

maybe "-0.2x mult per shop reroll" could work? like green joker losing its mult when you discard

frosty dock
fallen tendon
#

however a thing that makes it better than normal is that my mod features multi-use consumables

vivid eagle
#

ohh

#

you can bump up the penalty maybe

fallen tendon
#

the jokers look like hot garbage but we dont talk about that

vivid eagle
fallen tendon
#

yes

#

rate of 10

#

theyre more expensive though

vivid eagle
#

are they infinitely resuable?
and sorry if im asking too much xd i could probably just try your mod and find out lol

fallen tendon
#

the have an amount of uses

vivid eagle
#

ah i see

fallen tendon
#

they are destroyed when they run out

#

and they also all have some randomness in them

#

i swear why do i feel so nervous now that ive posted the mod

#

what if theres some game breaking bug

#

or i balanced it terribly and turns out magic carpet is overpowered

vivid eagle
#

its fine! its a free mod
you're not publishing a whole game

fallen tendon
#

im pretty sure perkeoing this is the most broken thing possible

vivid eagle
#

free playtasting from those who try it out

#

then u can adjust accordingly

fallen tendon
#

but then i worry if anyone s going to even play it

#

i guess i should just stop worrying and let it be

vivid eagle
#

yeah it'll be finee

#

also

fallen tendon
#

also what?

vivid eagle
#

waitt

#

im cooking

fallen tendon
#

ok

#

uhhh another potentially overpowered card is this

#

its blueprint compatible

#

basically perkeo lite

vivid eagle
fallen tendon
#

ye

#

that seems good

#

also please play the mod

vivid eagle
#

not an extreme penalty, u can still look for consumables and jokers in the shop
but enough of a penalty that makes you think twice

fallen tendon
#

i actually need feedback

vivid eagle
fallen tendon
#

its 1 am for me so i better go to bed

vivid eagle
#

go eep

mellow sable
#

also the text doesn't disappear from the score window on the left when it's used up

#

uses never reset when Gears appear again in a run

vivid eagle
#

oh my

mellow sable
#

bruh when I played a Spectrum House the cards never scored

#

that's probably a Six Suits bug though

unkempt thicket
frosty dock
#

huh

#

mb

mellow sable
#

lobotomy build with rthro and eternal flame (which is like campfire but permanent)

#

nothing that special but it gets the job done

#

one other issue I noticed in this run ws a lot of jimbos in this shop

#

I also didn't find any other Gears so it could be some combination of Ro-Balatro and the other 5 or so mods I have loaded

random sleet
#

glares at font

edgy reef
#

Anyone know where the game creates tooltips? I tried messing with create_UIBox_detailed_tooltip and create_popup_UIBox_tooltip and it seems to do nothing, and there's no other references to tooltips that I can find in the code.

random sleet
#

which tooltip do you mean?

edgy reef
#

Tooltips that contain another object's description (like the Gold Card tooltip that appears for Golden Ticket)

random sleet
#

those are made from recursive calls of generate_card_ui

edgy reef
#

But that creates the info, not the UIBox

#

That's a little big...

random sleet
#

text said yeet

edgy reef
#

This reasonable? Maybe a little bigger?

random sleet
#

thats good i think

#

i think the sprites themselves could go to be easier to read

edgy reef
#

They're test sprites, I want them to be larger so there's a bigger design space.

#

rn each hex is 18 by 18

#

px

#

Really small balatrojoker

#

But that comes later

random sleet
#

thac tags thac tags thac tags

#

(as part of the move to get oddityapi released, only the "essential" tags are being left in oddityapi: the Oddity Tag (mega oddity pack) and Heirloom Tag (legendary oddity))

#

tags in thac will be stylized with a gold border

edgy reef
#

oddityAPI...

stray warren
#

It's so rough when moving

random sleet
#

thats why the grey outline is there

#

it looks nicer with the filtering/shader used

stray warren
#

Oh, so I just need to outline it grey?

random sleet
#

i think so? unless there's something else you're doing wrong that i'm just not aware of

stray warren
#

I don't think so... I just imported it pixel perfect to the specifications

#

i'll try that though

spice scroll
#

what that joker

random sleet
#

lusty joker

edgy reef
#

what the jonkler

stray warren
#

lusty jonkler

unkempt thicket
#

how do you make a custom undiscovered texture for consumables in 1.0.0?

stray warren
random sleet
sturdy glen
#

How can I stop the joker from doing the mult message 3 times (and actually multiply the multiplier..)

maiden phoenix
maiden phoenix
sturdy glen
maiden phoenix
#

Nice!

vivid eagle
#

hello chat, i need help figuring out what art to put in "passion"

#

...and banishment cuz im not happy with the current art xd

sturdy glen
#

a rose or maybe a bouquet for passion.

#

and banishment no idea :p

vivid eagle
#

maybe i can make it on fire
"burning" with passion

sturdy glen
#

yes!

vivid eagle
#

btw, any thoughts on the other card arts?

sturdy glen
#

honestly i love the other arts they look so good and fit the card names well :3

vivid eagle
#

yee thank you <3

#

also, funny unfortunate alternative

#

might go with this one tbh xD

sturdy glen
#

maybe make an alternate card art toggle for the funny version and regular?

#

i like both just i also like choice :3

zealous glen
zealous glen
zealous glen
stray warren
stray warren
#

Oh. No, that's still on

#

It only happens with the jokers I add in for some reason

zealous glen
#

Do the Jokers have the right size?

#

Check the actual files in the correct folder to see if they’re right

stray warren
#

They are 71x95 in 1x, and 142x190 in 2x

zealous glen
#

Do they have a 1 pixel transparent border in 71x95?

zealous glen
stray warren
stray warren
zealous glen
#

Jokers have an effective 69x93 canvas because the rest is a transparent border

#

Which is divisible by 3 (nice)

stray warren
#

Ok, so just squeeze the actual border in by a pixel all around?

zealous glen
#

Well, make the artwork 2 pixels smaller horizontally and vertically, yes

stray warren
#

Oh ok, I get it now. Thanks!

spice scroll
#

trying to figure out how i can modify the negative rate

#

looking at the way balatro does it, it seems to be hard coded?

#

so id have to replace the function somehow, is that correct?

fast badge
spice scroll
#

basically just want a joker that increases negative joker chances

sturdy glen
#

whats the correct colors for hearts and diamonds suit in descriptions?

#

atm im just using red and attention

worldly sapphire
sturdy glen
#

ty :)

zealous glen
zealous glen
random sleet
#

for the deck or the hand?

random sleet
frosty dock
maiden phoenix
wintry solar
zealous glen
wintry solar
#

Should be able to, there are offsets you can define when you pass the function another object

zealous glen
#

hmmm

#

I was thinking of some border shaders or particle shaders

fast badge
#

Maybe someone can help me out here a little:
When I reload my run, the sprite for my joker isn't set correctly. In the load function, the other_joker is not being found (saved in card.children.copied_joker), but then in the calculate function for example (when selling another card or scoring or whatever triggers the calculate), it is then back all of a sudden, and the sprite gets re-set as usual. (Also when I hover and the loc_vars gets called, the name is shown correctly, there's just no logic to re-apply the sprite in there). So I assume on instant load the field just isn't initialized yet or whatever, maybe can I add some time delay to the code in the load? Any ideas?

frosty dock
#

the load hook is in fact at the start of the function

#

you could try using set_sprites instead

fast badge
#

Thankers

#

Will try

zealous glen
fast badge
zealous glen
#

Are you assigning a card to a variable?

frosty dock
#

oh, you might actually have to retrieve the data from card_table

fast badge
#

card.ability.copied_joker = {name = other_joker.ability.name, sort_id = other_joker.sort_id}