#💻・modding-dev

1 messages · Page 19 of 1

narrow pollen
#

i just love how the modding community here understands

#

with a PvP game, sometimes balancing for challenge takes away from the fun

#

and games are supposed to be fun

fading blaze
#

Straight-up Duke Nukem-lookin' Egg--

random sleet
#

🔂 is also a rare

edgy reef
random sleet
#

chat is this real

royal ether
#

chat

#

is this real

shell timber
#

oddity api 2?

unkempt thicket
#

its not real

shell timber
#

each oddity should have a custom locked sprite

unkempt thicket
#

all in your head

royal ether
#

oh mb

#

forgot to take my meds

random sleet
#

this is only the locked sprite for testing

#

it's not a locked card

#

that's just the sprite of the oddity

shell timber
#

ah i see

random sleet
#

technically since unlocks arent even properly supported yet

#

there is no locked oddity sprite

golden lake
#

is decent

#

btw my contribution to OddityAPI:

frosty dock
#

aaaa I forgot about that part

random sleet
#

hhhhhhh

golden lake
# golden lake

Estrogen (Oddity) - Uncommon

Transitions all Kings
and Jacks into Queens

random sleet
#

baedges

golden lake
unkempt thicket
frosty dock
#

💀 sorry I make mistakes sometimes when I work while tired

random sleet
#

lmao so few people say anything about it

#

🫂 it ok aure

golden lake
#

we will never forgive you aure now go to the gbj /j

edgy reef
unkempt thicket
#

at least 1

frosty dock
#

In here? 4

unkempt thicket
#

i was right

random sleet
golden lake
#

what did you do

random sleet
#

(i set oddity shop rate to 1000)

golden lake
#

are these jokers oddities

random sleet
#

no

#

it's defaulting for some reason

#

despite the 3 loaded oddities

golden lake
#

you should make that 4 and load the estrogen

shell timber
#

does steamodded 1.0 have support for multiple consumeable types in shop

random sleet
#

aure do you have an example ConsumableTypes rarities table

frosty dock
#

heyy steamodded 1.0 just got delayed

golden lake
#

mrewoerwrarwareoeow

random sleet
#

i feel like that's what i'm screwing up here

golden lake
#

it was a joke

#

a jokeeeeee

frosty dock
#

too bad

random sleet
#

that's what you get for being mean

golden lake
#

is it delayed for everyone or just for me

random sleet
#

anyway is this not correct somehow

frosty dock
random sleet
#

that's what im doing

#

testing it

#

but i want to verify that i'm not the one screwing up here

frosty dock
#

doesn't look like it

#

btw unlocks are supported

random sleet
#

oh really

golden lake
#

btw aure how does one do tooltip definition in 1.0

random sleet
#

is it in a patch after the Loader Improvements one bc i couldn't find it

golden lake
#

me and feder are struglging

frosty dock
#

check_for_unlock function

frosty dock
random sleet
#

huh ok
is there anything special required for a locked sprite then?

#

or just in general what needs to be handled on the ConsumableType side

frosty dock
#

shouldn't be unless I missed something?

#

undiscovered sprite needs handling, locked sprite shouldn't

random sleet
#

how do i indicate which sprite atlas/pos is the locked sprite

frosty dock
#

I don't support custom locked sprites-?

random sleet
#

oh is it a "do it yourself" moment

#

i actually dont know how anything with the unlock system works at all lol

queen scroll
#

i think with the locked sprites it has a check in something like card.draw that just draws the locked sprite instead if it’s locked

golden lake
frosty dock
#

for mod icons, what if there's just a reserved sprite key <prefix>_icon for each mod and we kill the ICON_ATLAS header field?

golden lake
#

that sounds goid

random sleet
#

i like this

frosty dock
#

which is why jokers have their own separate function

golden lake
#

yeah feder is having issues

#

with tooltip

frosty dock
#

ok

golden lake
#

its an alchemical tooltip

random sleet
#

if it's something common to the consumable type it may be of use to peek my hook for oddity rarity badges?

golden lake
#

consumables rarity is so cursed

random sleet
#

it is fr

golden lake
#

fucking

#

updating balatro

#

so that all consumables have a rarity

#

yes please give me Death (Uncommon)

random sleet
#

me when Cryptid is at Rare 😭

narrow pollen
#

anyone wanna give me an idea on another joker to change? giving them new and different effects is fun!

random sleet
#

change mystic summit into a cake

unkempt thicket
#

change egg into yolk

oblique gust
#

is there any way to print the crash log to a file or something? giving me headaches for so long

crisp coral
#

if you have Python, run the script in Steamodded\debug\

#

you'll be able to copy the crash log that way

frosty dock
#

(or run 1.0.0 alpha, it let's you copy from the crash screen)

#

iirc mr. meth wanted to add log dumping

random sleet
#

well i cant determine if im doing something wrong here and also the code relating to rarities in smods consumabletypes doesn't look wrong to me so 😭

#

maybe i'll just do some emojiokers to get a sense of accomplishment

oblique gust
#

the thing is im sure the problem im facing is caused by mod conflict but i cant expand to see the full logs, and im sure the alpha would only make things worse bc the mods havent done the compat thing

#

i should prob get a 2 meter long screen and drag the game window all the way down

royal ether
#

do what myst said

oblique gust
#

yea i have python but i cant understand that. like should i run anything in the command line or

royal ether
#

just pop the python script and it should open a new window, i think?

crisp coral
#

yeah just run the python script and it should open the tk window

#

then run the game as normal

oblique gust
#

okay ill try that

royal ether
#

the one thing i didnt like about the steamodded debug window when i used it was that it didnt autoscroll

#

maybe that was my fault

#

but my ass had to scroll a lot

oblique gust
#

how do i even open the debug window tho. is there any shortcut for that

golden lake
#

Adding obfuscated code that purposefully refuses to boot up the mod on a Mac

royal ether
#

you just run the python script

#

fr

random sleet
#

akai why

royal ether
#

no flame mac users i hate ur os

golden lake
#

Not fond of Mac users

oblique gust
#

aight aight

golden lake
#

Theres a fucking cryptobro in modding-chat lmao

royal ether
#

another one ⁉️

golden lake
#

Would prefer to keep my mod's audience cryptoless and dignityful

crisp coral
#

i was going to say i'm gonna give them the benefit of a doubt

random sleet
#

your mod's audience has no dignity it's a fucking homestuck mod

crisp coral
#

then i checked their twitter and uh yeah

#

crypto..

royal ether
#

also really long message to say "use lovely"

golden lake
#

not chimichanga

#

"art of crypto"

royal ether
#

o

crisp coral
royal ether
#

mb chimi no flame

golden lake
#

chimichangas alright

crisp coral
#

chimi is based

mellow crag
#

When are we making the nft joker mod? /s

random sleet
#

omg feder hiiii

royal ether
#

if you think about it isnt egg the nft joker :^)

golden lake
#

its the other guy whos pulling a grift and doing an ai youtube channel openly lmao

crisp coral
#

nft joker mod but it's delete this

crisp coral
#

lame

royal ether
#

unegg

mellow crag
random sleet
#

hiiiiii

fading blaze
#

Ugh.

I despise people that use Macs to hold onto crypto hashes/keys. They make a mockery of digital ethics and are unhealthy for not only the Apple user brand, but just... I mean, they shill out for a blockchain that, while it's supposed to be the pinnacle of anonymity and security, has its own flaws that make it do just the opposite.

golden lake
#

imagine basing your entire online presence on pretend currency that normal people only use because its untraceable and cant get you in trouble

crisp coral
#

BASED

fading blaze
#

Plus, North Koreans literally target Mac users now with viruses that try to steal crypto wallets.

random sleet
#

feder can i poke your brain for some assistance with something or are you busy

royal ether
#

the funniest part about crypto is that its so unusable in a normal matter

golden lake
royal ether
#

yea lemme buy something with my crypto. what do you mean it'll take 18 days to process?

golden lake
#

feder did you figure out tooltips

fading blaze
#

So I have the crypto shills to thank for making the Mac OS environment a rather unsafe place.

random sleet
#

ConsumableType rarities

mellow crag
#

I’m not home rn

golden lake
#

cryign

random sleet
#

oh ok

mellow crag
#

I am at ze workplace

random sleet
#

one day i'll have some grasp of your schedule maybe

royal ether
#

work jumpscare

fading blaze
#

Alright, anyway, back on topic here--

mellow crag
golden lake
#

also peaky blinders profile picture is just yikes

#

red flag asf

random sleet
#

i've got this and a rarity field in the constructors for Oddities

mellow crag
#

Then, when you make your objects, use that object

golden lake
#

autumn you should extend consumabletype btw

random sleet
#

the rarity is properly appearing on cards ingame (thanks to a set_badges hook)

#

why extend it

golden lake
#

extending smods object types is good

fading blaze
#

I've been stuck on this problem for a little while because I know I've done something wrong with the if-then statement in the calculate area... I just don't know what I need to do to fix it.

golden lake
#

it'll save as a template

#

and you can use it more

random sleet
golden lake
random sleet
#

why would i extend ConsumableType

#

it'd be Consumable i'd want to extend if anything

royal ether
golden lake
royal ether
#

reading code on mobile is hard

golden lake
#

bites you

#

not you arachnei

#

autumn

royal ether
#

yeowch

golden lake
#

yeowza

random sleet
#

i mean i could just set up defaults in inject_card for the ConsumableType as well

#

im already doing shady shit to set_badges

fading blaze
# golden lake as a linux user im sorry for your loss

I respect Linux users because at least they have common sense to appreciate and work in an Operating Environment that doesn't stifle technological progress for the sake of cowtowing to a MegaCorp's vision of "what everyone should use" as opposed to letting people who have the skills to go their own way, actually go their own way and make it work.

random sleet
golden lake
#

yess

#

RarityConsumableType

#

make it part of OddityAPI

random sleet
#

consumable rarities are a feature of SMODS

#

the only jank part is that there's no badges by default

golden lake
#

the badges rhen

random sleet
#

so i had to do this

fading blaze
#

"You reap what you sow", as the saying goes, so if you have some programming knowledge and put in the effort to customize your personal computer, you should feel proud of your accomplishment for trying something different than what the suits at Apple (or god forbid, Microsoft) want you to use.

crisp coral
#

smods consumable rarities badges api

random sleet
#

but it's set up in an odd way

golden lake
#

Apple and Microsoft are worth each other tbh

random sleet
#

my main issue is that the rarities dont actually... work

fading blaze
golden lake
#

No no

#

worth each other is like

#

they deserve each other's "company"

fading blaze
#

Oh, I didn't understand the figure of speech.

golden lake
#

they can both suck it

random sleet
#

oddities that appear all default to jimbo because it's not setting up the pools correctly

#

i think

#

i just have no idea why that's the case

fading blaze
#

Pff--

At least I can for the most part agree with that statement, now that Steve Jobs isn't being his usual pompous self and demanding quality assurance in every product he had a hand in.

random sleet
#

i was trying to help them by figuring it out but 😭

fading blaze
#

Yeah, Apple is the new IBM, and Microsoft is... well... Microsoft.

random sleet
#

ohhhh wait

#

i dont think the rarity_pools are actually being populated

golden lake
#

Linux isnt perfect either, but at least I don't fear that some update will lock me into a shitty situation

fading blaze
#

...but even then, BIOS access makes everything better.

golden lake
#

I have a pre-UEFI bios

#

So installing Linux isnt even hard

oblique gust
crisp coral
#

qhar

oblique gust
#

though it generated hundreds of lines of debug info

crisp coral
#

it should

random sleet
#

LETS GOO

crisp coral
#

real

random sleet
#

just had to add this line

#

(the jimbo there is because there's only one common oddity loaded)

golden lake
#

autumn you are a very skilled programmer ill have you know

#

bites you

fading blaze
oblique gust
#

nah it did nothing

fading blaze
#

(( It unfortunately says it at the bottom of the page-- ))

crisp coral
random sleet
#

@frosty dock idk if it's intended to be such but rarity_pools isn't being populated with injected cards by default

golden lake
#

:3

random sleet
#

should OddityAPI have content in it or not

golden lake
#

make OddityCore and OddityAPI

random sleet
#

i was intending for it to not but it might be annoying if it doesn't

#

because if it doesn't have content in it idk if i can have a "default" oddity be chosen arbitrarily

#

(i.e., my original idea of "first loaded oddity becomes the default")

golden lake
#

add estrogen as the default

oblique gust
#

oh the console worked

#

idk i just gave it another try

random sleet
#

if OddityAPI will have any content it'd be the Generic Type Support stuff

crisp coral
#

lew-

#

that was supoosed to be a reply

#

thanks discord

random sleet
#

like a The Fool and The Emperor clone

#

Oddity Emperor should be a Grab Bag....

golden lake
#

add estrogen please

#

im beging you

random sleet
#

akai

golden lake
#

meow

random sleet
#

i'm not even on the part where i'm making content

random sleet
golden lake
#

:(

#

rude

random sleet
#

thank you

#

i have the estrogen sprite saved

#

i'll get there when i get there

golden lake
#

also making estrogen the default oddity would prevent bad people from making oddities

#

think about it..

random sleet
#

the vast majority of programmers here are trans i dont think that matters

#

(i say this with no actual statistics to back it up)

golden lake
#

but what if there was one guy

#

who was bad

royal ether
#

we shoot them with the gun oddity

#

obviously

random sleet
#

making things for the community unfortunately includes making things for the shit people in the community

#

it's an inevitable fact and trying to stop it is only going to cause more headaches

#

i.e. they win

golden lake
#

balatrostuck is good because

#

its comes with inbuilt transphobe repellent

random sleet
#

just put your pronouns in the MOD_AUTHOR field in your header that'll do the job lol

golden lake
#

based..

#

aure can we get a pronouns header field

#

so we can give our mods pronouns

random sleet
frosty dock
#

I should implement that as a general fallback if no default is specified

random sleet
#

oh sick that works

#

also i have a dumb solution for the Baseball Card problem

#

just negate the rarity when the card is injected and when checking it

edgy reef
random sleet
#

shit i left mine at home

#

no wonder im so bad at this rn

crisp coral
edgy reef
#

Also, baseball card problem?

#

Wdym by that?

frosty dock
#

even tables

random sleet
#

can they tho

frosty dock
#

you don't need to use the number 2

golden lake
#

aure can we add a special field or formatting for pronouns

random sleet
#

this seems to imply they need to be numbers

#

unless im giga dumb

#

(from center.toml)

frosty dock
#

no they just need to be in an array

#

the keys are arbitrary

random sleet
#

oh wait yeah i get it now

#

sorry

frosty dock
#

not the keys to the table, but the key field

random sleet
#

i'll keep the negative number solution i think

frosty dock
#

why not

crisp coral
#

hell yeah

#

steamodded gender update

random sleet
#

also im committing to the bitting

#

oh interesting, priority affects modlist order

#

just occured to me lol

shell timber
#

i mean that's a logical side effect

frosty dock
#

mods that didn't load also get bumped to the top

shell timber
#

just kinda weird

random sleet
#

yeah it makes sense

#

i just only now had the thought "why oddityapi at top"

mellow crag
#

How does localization work now?

random sleet
#

oh shit i think i might know what the problem is with your undiscovered stuff actually akai

#

it looks like the profile swap unlock transfer bug is back

#

also looks like it causes stuff to get reinjected incorrectly

#

getting stack overflows from the old_set_badges function

golden lake
#

we're playing WOKE balatro now..

#

wokelatro, if you will

random sleet
#

had to delete my old save and load the game while in airplane mode to keep steam from repopulating the save with the cloud save

golden lake
#

THATS WHY

#

@mellow crag

random sleet
#

weirdly this seems to transfer some but not all discovered/unlocked vanilla jokers from the original save? might be strange due to it being an unlock all save

#

@frosty dock your favorite bug is back

#

oddityapi roadmap (my brain hurts rn so taking a break)

#

if anyone wants to stab me with suggestions for the api now is the time

golden lake
#

oddity statistics

random sleet
#

oh heck true

golden lake
#

odditistics if you will

oblique gust
golden lake
#

is this related to mod development or is this just "my game isnt working"

oblique gust
#

its between these two. i suspect its caused by me modifying the Luas for localization

#

i'll just paste it to modding chat then

surreal marsh
random sleet
#

that doesnt look like 300 interest per $5

surreal marsh
#

oops it really becomes 300

random sleet
#

interesting how the tally becomes a number

#

that your doing or does it just work like that

surreal marsh
#

over $60 it becomes a number ig

random sleet
#

interesting

surreal marsh
random sleet
#

does it still tick up 1 by 1

surreal marsh
#

no

random sleet
#

i see

surreal marsh
#

more crazy

mellow crag
golden lake
#

this is why the undiscovereds dont appear

#

its a saving issue

random sleet
#

it's a profile switch issue

#

some data from the first profile gets carried over

#

including discovered states for modded cards

golden lake
#

that's so true

random sleet
#

and this also causes my set_badges hook to screw up

#

so im kinda hoping the whole profile switch issue can be cleared up so i dont have to figure out some other way to do it lol

bold osprey
random sleet
#

ok starting on packs now ✨

#

(time to make a toml for oddityapi)

mellow crag
mellow crag
random sleet
#

yep!!!

mellow crag
#

I need to get on that myself actually

random sleet
#

lovely makes packs so much less annoying

#

it'd be better with a proper api still but it's definitely a lot less bad

#

for example....

mellow crag
#

How dot yo do that with lovely?

#

I have no idea XD

random sleet
#

technically you could just inject the pack definitions into the massive G.P_CENTERS list

mellow crag
#

That’s what the pack APi does

random sleet
#

that's not what i'm doing here but it's probably possible

#

but this patch handles the card ui for the booster pack

mellow crag
#

What do you do with lovely then?

random sleet
#

mainly? avoid having enormous chunks of code that's basically unchanged from vanilla just because i need to put Oddity Packs in somewhere

#

for example, the above patch adds to generate_card_ui handling for the Oddity Pack names/descriptions

mellow crag
#

Makes sense yeah

fading blaze
#

Okay, really silly question here.

I'm running Steamodded 1.0.0, and I'm just realizing that one of the mods from 0.9.8 that I'd really like to implement back into Steamodded, which is just 4 whole lines of code, doesn't work.

#

The AchievementsEnabler.lua file in particular is the one I'd want to update.

#

Is there some similar thing to SMODS.INIT that I can apply for Steamodded 1.0.0?

random sleet
#

just delete it

#

all the code that's in SMODS.INIT, just put it loose in the file

fading blaze
#

I see...

#

Alright, I'll give that a try.

#

Seems to work.

nimble sequoia
#

how are people getting steamodded 1.0.0?

random sleet
#

from github

fading blaze
#

Should be available on the github page.

random sleet
#

pogress

nimble sequoia
#

i think i am on the wrong github because the latest release on steamopolly's is 0.9.8

random sleet
#

it's not a release

#

you just download the code

fading blaze
#

Just don't download the prepackaged "release" files, instead go for the latest data set, hover over where it says "Code <>" and then download the ZIP file from the drop-down menu.

random sleet
#

you'll have to use lovely for 1.0, though, since it's required now

fading blaze
#

Yup.

nimble sequoia
#

right

#

thanks

random sleet
#

that was easy

oblique gust
#

got a problem related to my issue above
if the rarity is 5 will G.P_JOKER_RARITY_POOLS[joker_obj.rarity] actually return anything?

#

the crash log said it needs to be a table but its actually a nil

#

causing the crash

random sleet
#

not without fusion jokers loaded

oblique gust
#

yes i got crash with fusion jokers loaded and when i try to reset/create a profile

#

without it things are fine

random sleet
crisp coral
#

chat is this real

zealous glen
#

hype

random sleet
#

uh oh

#

it's not checking the consumable area size lol

#

sick, easy fix

royal ether
random sleet
#

two things off the to-do list, lets go

#

i wish i had my controller to test controller stuff lol i left it at home 😅
apparently oapi was busted for controller users which never occured to me because i dont play on controller haha

royal ether
#

o gog... i never considered controllers....

#

can i just make everything m&kb only...

random sleet
#

it only matters for oapi because the select button for oddity packs apparently wasn't registering controller input?

#

which sucks because i actually have no idea how that works

crisp coral
#

wait uhhhhh

#

do controllers work for houserules

random sleet
#

though now i'm using vanilla functions for the buttons and just special-casing them for oddities

crisp coral
royal ether
#

i probably have a similar issue for super auto balatro buttons...

crisp coral
#

also murphy played houserules and i haven't checked it out either

royal ether
#

:programming:

crisp coral
#

vv

random sleet
#

vv

crisp coral
#

killing myself

random sleet
#

lmao get owned

royal ether
#

wait i thought you can watch vods even while theyre streaming

#

unless the vod isnt public

crisp coral
#

can you?

random sleet
#

me when i inject an end before the start of the next function

royal ether
#

yea i just checked, you should be able to if their vod is public

random sleet
#

the vod for the currently running stream?

#

i think that's what myst means, like it was earlier today

royal ether
#

yea

golden lake
random sleet
#

wait has murphy been streaming for like days straight now

royal ether
#

i can watch the vod of a streamer im watching live rn

golden lake
#

its the first day

random sleet
#

oh god

royal ether
#

the current vod*

crisp coral
#

okayokay i just found out how

#

ty

random sleet
#

akai i have oddityapi 1.0 like 60% done

maiden phoenix
random sleet
#

the new stuff and changes are It Exists

#

it's not "oddityapi 1.0" it's "oddityapi for 1.0"

maiden phoenix
#

Epic

golden lake
random sleet
#

the estrogen will be in a different mod technically

maiden phoenix
crisp coral
#

make estrogen the default oddity

random sleet
#

it'll be in Thac or something

golden lake
random sleet
#

aure was gonna do a thing for automatic defaults

#

because he's based

golden lake
#

myst can you help me fgure out sth btw

maiden phoenix
random sleet
#

-2 social credit points

crisp coral
golden lake
#

i need to figure out a specific thing

#

adding an icon like this

royal ether
#

🫡 ui good luck

crisp coral
#

wait did local watch the subathon 😭

golden lake
#

thunk was on the first day of subathon yes

crisp coral
golden lake
#

i do not know how

#

please assist me

random sleet
#

then figure it out 😈

crisp coral
#

don't worry we'll figure it out together uhhhhh

golden lake
#

whats your github username

#

im gonna add u to the polycule repo

crisp coral
#

HELP

#

POLYCULE?????????

golden lake
#

it was a joke(r)

crisp coral
#

im already in one pls dont make me be in another

golden lake
#

ah yes the classic polypolycule

maiden phoenix
#

Polycule joker when

royal ether
#

G.jokers is the polycule

crisp coral
#

anyways uhh look for G.HUD_tags

random sleet
#

polycule joker is the fusion of the 5 legendaries

golden lake
#

i dont know what that means,,

golden lake
#

shits ory

#

soryy

#

fuck

#

aa

maiden phoenix
golden lake
#

im getting thrown into the jimbo dimension

crisp coral
#

its like uhm

golden lake
crisp coral
#

table that holds the uiboxes for tags

shell timber
#

balatro Joker Jam when

royal ether
#

probably just ctrl+f that in ui_definitions.lua and stuff

golden lake
#

im trying to understand how to render it correctly

#

like, add my own icon and move it to the right place

crisp coral
#

like this is the ui part i thin

#

now these configs i have no idea lma

frosty dock
#

3 more pings? huh

random sleet
#

i found bugs

#

sorry

golden lake
#

my brain is soup

frosty dock
random sleet
#

😅

#

i'm sorryyyyy

frosty dock
#

it's fine

#

I'll uh

#

have a look

crisp coral
#

uhh

#

hm

random sleet
#

it looks like it keeps the discovered state of all registered modded cards, including vanilla ones that have been taken ownership of

#

as well as causing this inject_card function for the Oddity consumable type to generate an infinite loop with the old_set_badges function

#

which i can't quite crack how to solve

crisp coral
#

what the fuck are bonds

random sleet
#

(it might just be that i'm doing this in the wrong way and should just do it a different way, but idk)

#

old oddityAPI: 1047 lines
new oddityAPI (lua+toml): 230+142=372 lines
granted i dont have every feature from old oapi implemented yet but there's only like two things missing

#

injection my beloved

golden lake
#

im going to beat someone up

random sleet
#

i volunteer

golden lake
#

where in the fresh hell is the position of the tags defined

#

im going to cry

crisp coral
#

the

#

align = G.HUD_tags[1] and 'tm' or 'bri',

golden lake
#

what does 'tm' or 'bri' mean

crisp coral
#

i think

golden lake
#

bri makes me only think of brian from family guy

random sleet
#

tm is top-middle

#

idk what bri means

golden lake
#

brian from family guy

crisp coral
#

bri is bottom right i(?)

golden lake
#

wait so how does that work

#

top middle, bottom right?

#

this is a ternary isnt it

#

if at least 1 hud tag exists its top middle, otherwise bottom right?

crisp coral
#

why the fuck is it g.hud_tags[1]

golden lake
#

lua isnt zero-indexed

#

its one-indexed

crisp coral
#

yeah but

#

hm

golden lake
#

im trying my best to process this

#

according to this a tri key exists that would be top right

#

tri does indeed exist

#

so does tli, actually

#

what the hell does that i mean

#

is it significant?

crisp coral
#

okay it's definitely tri

random sleet
#

most likely the string is interpreted per-character

crisp coral
#

(quick lovely patch to move tags to top right)

[[patches]]
[patches.pattern]
target = "functions/UI_definitions.lua"
pattern = "align = G.HUD_tags[1] and 'tm' or 'bri',"
position = "at"
payload = "align = G.HUD_tags[1] and 'tm' or 'tri',"
match_indent = true
overwrite = false
#

now you can copy the entirety of add_tag function!

golden lake
#

thats not what i want though

#

i want to add my own section

#

:(

crisp coral
#

yeah i know

#

you can copy everything ui-related from tags over

golden lake
#

not really because only 1 is meant to exist

#

1 or 0

crisp coral
#

this is pretty dynamic tho

golden lake
#

hm true

#

im still gonna need to do injection

crisp coral
#

like it's just tags but you limit it at 1

golden lake
#

to give this thing its own calculation contexts

#

raaah

random sleet
#

learning is good for the brain

golden lake
#

no it isnt

crisp coral
#

learning is good for the nodes[1]

golden lake
#

lobotomy is good for the brain

crisp coral
#

LOBOTOMY

#

LIKE THE

#

LOBOTOMY CORPORATION??????

golden lake
#

no like going nonverbal and biting people

random sleet
#

relatable

golden lake
#

and making awawawawaw noises

crisp coral
#

oh yeah uhm you should definitely cap it at 1

golden lake
#

thats the idea

crisp coral
#

i'd assume the aspect icon thing is already its own object?

random sleet
#

you could make it additionally render the ones enabled from the voucher, but you'd have to figure out how to make them go downwards instead of upwards

golden lake
#

i just have to set up an SMODS Center for it

#

they have a spritesheet

#

btw myst

#

look how cool this is

crisp coral
#

woman

golden lake
#

do you like how the rank numbers are visible even with a lot of cards

#

so you can tell them apart at a glance

random sleet
#

women....

crisp coral
#

akai what did you say

golden lake
#

women

crisp coral
#

true......

golden lake
#

girls

#

awaw

crisp coral
golden lake
#

right anyways

#

so what would be step 1 then

frosty dock
#

oh damn I see the issue with unlocks

golden lake
#

unlocks or discoveries

frosty dock
#

both

#

it's the same object it was on the previous injection, which now has a modified discovery state

#

i need it to be reset to the default that was specifed

random sleet
#

will the whole object reset? i think that's my problem with old_set_badges as well

golden lake
frosty dock
random sleet
#

oh yeah that'd just be better anyway

frosty dock
#

which would be able to coexist with a specific one on the objects themselves

crisp coral
golden lake
#

what

#

then like

#

add_aspecticon()?

#

i cannot stress this enough

#

this is not a tag thing

#

i am not adding tags

#

so i need it to be its own separate thing

#

hope that makes sense

frosty dock
#

this should do i think

golden lake
#

nicea

#

also fix icon sisue

#

issue

#

befuare you forgert

frosty dock
#

yeah you got it

crisp coral
#

sorry i was watching the vod

frosty dock
#

you'll just need a 'mod_icon' atlas

crisp coral
crisp coral
frosty dock
#

which gets prepended by the mod prefix by the API, and the mod UI thingy should properly use it

golden lake
#

so whats the step one, add_aspecticon() or

#

myst

frosty dock
#

being able to name your icon atlas isn't of use anyway

crisp coral
#

hm

golden lake
#

actually holy shit that might be the best way to soft-enforce people to add mod prefixes to their mods

frosty dock
golden lake
#

noo

golden lake
#

but i thought the bala fallback

#

ie 4 first letters

frosty dock
#

dw I'm adding collision checks

golden lake
#

not mod_icon

#

i dont have time to type in an underscore

#

and modicon is just as easy to read

frosty dock
#

ok

#

you got it

golden lake
#

lets go

random sleet
#

or i could just have the tag use modicon

crisp coral
#

okay so i think

  • have an aspect add function that
    • removes the old aspect object and ui if any
    • generate a new ui for the aspect with the generate_ui function
  • an aspect:generate_UI function that
    • is the same as Tag:generate_UI but with the aspect's stuff
random sleet
#

that sounds less stupid

royal ridge
#

why is love.filesystem.load(SMODS.current_mod.path.."stuff/"..file)() returning nil? am i stupid?

random sleet
#

sorry ive been reading homestuck and im at the part where reading hurts

golden lake
royal ridge
frosty dock
#

mfw bala100

golden lake
#

balahundo

royal ridge
frosty dock
#

the funnier version would be just appending it to itself until it's unique

#

balabalabalabalabala

crisp coral
golden lake
#

why not use hexadecimal number after

#

balac5

random sleet
#

(i'm not going to keep that up)

golden lake
#

8y which you oooooooo8viously mean the good part ::::)

royal ridge
crisp coral
#

hm yeah idk what getDirectoryItems returns

random sleet
#

does it return the full path of each item or just its own name?

crisp coral
#

shrug

frosty dock
#

better?

random sleet
#

if mod prefixes change then that can screw with unlocks right

golden lake
#

lfg!!

frosty dock
#

uhm

random sleet
#

or discoveries

golden lake
#

balae6 is real

#

so is baladf

frosty dock
#

yeah

golden lake
#

cant wait for balaff2

frosty dock
#

bala_ff2 you mean?

golden lake
#

yes

frosty dock
#

i mean ideally there wouldn't be collisions

random sleet
#

letting mod prefixes get changed when new mods are added sounds like a recipe for screwing things up :/

#

but yeah hopefully people just use the 4^<ASCII> wisely

golden lake
#

you can also do it by highlander rules

#

load in one and kill the rest

frosty dock
#

mod prefixes can be any length if you specify them yourself

random sleet
#

oh, ok

golden lake
random sleet
#

the Slab is a Card?

crisp coral
#

yes 🙏

golden lake
crisp coral
#

100kg stone slab

golden lake
#

would that just be GameObject then

#

and not a Center

random sleet
#

yeah probably

crisp coral
#

iunno i have only messed with jokers

#

(also gonna go study now sorry

random sleet
#

akai out here being the most based programmer

#

making a whole new game object

golden lake
#

@frosty dock would it be gameobject

frosty dock
frosty dock
golden lake
#

are tags a center?

frosty dock
#

no

#

tags don't belong to cards

#

they can't be centers

golden lake
#

yeah im not making cards

#

are tags a gameobject

#

or are gameobjects also cardrelated

#

like whats the deal with them

#

cause what i want to do

#

is i want to show tiny little icons

frosty dock
#

GameObject is literally just the base parent class

golden lake
#

corresponding to current aspect

frosty dock
#

like, it's the OOP engine so to speak

golden lake
#

so i can use it for that?

frosty dock
#

any API can derive from GameObject in some way, yeah

#

in your case, you'll want to derive directly from it

frosty dock
golden lake
#

i say yes

#

discouraging bad habits is encouraged

#

it will turn some people off but chances are these people won't amount to anything in the community if they're put off by needing to set up a sane prefix

frosty dock
#

i mean with settings files and whatnot, one could still preserve a prefix once assigned, but that's bound to have some edge case where it fails

golden lake
#

yeap

#

still, better than duplicate prefix hell

royal ridge
# royal ridge

did something different and it worked so whatever, i suppose

frosty dock
#

duplicate prefixes are now officially banned

#

there was something else I wanted to fix, wasn't there?

#

rarity_pools not being populated

golden lake
#

yeag

random sleet
#

probably a trivial fix since all i had to do was this

#

(the rarity line can be ignored probably)

frosty dock
#

yeah the fact that you need to reference the consumable type directly is a bit ugly

#

imma change up the args so it's self, card where self is the consumable type

random sleet
#

i mean technically i could derive it from self.set right

#

i just didn't here because... meh

frosty dock
#

eh

golden lake
#
SMODS.ConsumableType{
  key = 'Aspect',
  collection_rows = { 3, 3 },
  primary_colour = G.C.SET.Aspect,
  secondary_colour = G.C.SECONDARY_SET.Aspect,
  loc_txt = {
    name = 'Aspect',
    collection = 'Aspect Cards',
    label = 'Aspect',
    undiscovered = {}
  },
}:register()

Balatrostuck.Slab = SMODS.GameObject:extend{
  required_params = {
    'key',
    'atlas',
    'pos'
  },
  omit_prefix = true,
  inject = function(self)
    -- this is where all the chungusing occurs
  end,
  -- no loc text needs to be defined 
  -- because it'll be stealing it from Aspects
}

function Balatrostuck.Slab:generate_ui()

end

function add_slab()

end

am i getting this right so far

frosty dock
#

the injector assumes process_loc_text exists, so you'll need to at least have that as an empty function

#

looks good otherwise

#

new default

random sleet
#

i assume if i do need an inject_card function though i'll need to still have my code?

frosty dock
#

by extension, you can then do this

random sleet
#

oh i see

#

already had my halfbaked questions anticipated i see

frosty dock
#

don't mind the fact I forgot to remove a self there

random sleet
#

what's SMODS.insert_pool

golden lake
#

btw aure

frosty dock
#

just a wrapper to add things to pools while also setting the order value correctly

golden lake
#

is this a good convention

frosty dock
#

mostly it exists to replace objects that have been taken ownership of

frosty dock
golden lake
#

it is helpful in the long run

frosty dock
#

c_aspect_bala_whatevername

golden lake
#

trueish but its more so

#

extending Consumable

#

in case I need to add a tooltip or something of the nature

maiden phoenix
# frosty dock

This won't affect checking other mods by their ID right?

golden lake
#

like, i don't need to go through 13 files to do that

#

I can just go through one

maiden phoenix
#

Nvm I see it use mod.id shouldn't be a problem I think

golden lake
#
    Balatrostuck.Aspect{
        key = 'blood',
        name = "Blood",
        loc_txt = {
            ['name'] = "Blood",
            ['text'] = {
                [1] = 'Up to #1# {C:red}discarded',
                [2] = 'cards per blind',
                [3] = 'gets a random',
                [4] = '{C:purple}enhancement'
            }
        },
        pos = {
            x = 4,
            y = 1
        },
        soul_pos = {
            x = 4,
            y = 3
        },
        cost = 4,
        discovered = true,
        atlas = "HomestuckAspects",
        loc_def = function(self, info_queue)
            return {G.GAME.BALATROSTUCK.aspect_levels[self.name]+1}
        end
    }:register()

    Balatrostuck.Slab{key='blood', atlas='HomestuckAspectSlabs', pos={x=2,y=2}}:register()
frosty dock
#

i mean you only need to make sure keys don't overlap within your own mod

golden lake
#

in this case this is uh, intentional

frosty dock
golden lake
#

the Slab steals the loc_txt from the Aspect

#

so if the key is 'blood' it'll take the loc_txt of the Blood aspect

#

that should work right aure

#

or do i need to process loc text on this consumable

#

so that i can then call loc_def on the slab

#

with the key of the aspect

frosty dock
#

should be good without any additional loc text, I just assume the function exists so you need to define it

golden lake
#

the real pain will be

#

injecting calculation logic

#

that might break me

#

in half

frosty dock
#

i think that's all reported bugs squashed

random sleet
#

hype

#

happy to help even if i suck too much to actually code anything for smods lol

frosty dock
#

nvm i forgot i need to set the default tags atlas elsewhere when no custom modicon is present

maiden phoenix
#

Evil Steamodded be like

frosty dock
#

auremodded

maiden phoenix
#

That's what Ive been saying 😎

frosty dock
#

btw this text eats missing dependencies and unresolved conflicts, they don't stack

#

I don't feel like 70 loc text entries for every combination

random sleet
#

nonconsumable consumables gonna be annoying to set up i think...

frosty dock
#

hm

#

would an option to hide the use button be useful?

random sleet
#

oh, not like that

#

though perhaps that also would be useful

#

just for a different thing

maiden phoenix
frosty dock
random sleet
#

i mean usable cards that don't disintegrate

maiden phoenix
#

If it works with Oddity that be sick rather than a constantly greyed Use button

frosty dock
#

hm, we could do with both

random sleet
#

oh sick

frosty dock
#

should just need a lovely patch or two

random sleet
#

i was just kinda talking aloud about my endeavors

#

but if it'll be in smods side it can probably be useful for other ppl too

mellow crag
random sleet
#

oh hey feder

#

i got packs going

maiden phoenix
#

hi feder

mellow crag
#

Gooooood

#

Send send

random sleet
#

as far as i can tell

#

oh i cant swear anymore

#

the only thing is i still dont know how to { } with the background colors

golden lake
#

how would i inject my own calculation logic btw

mellow crag
#

I can help with that when I get home

golden lake
#

whatch one

golden lake
#

which one

maiden phoenix
#

Or create a custom context idk

golden lake
#

haha no

maiden phoenix
#

😔

random sleet
#

so you'll want to set up your Slabs to have some kind of calculate function

golden lake
#

correct

#

and playing cards and held cards

frosty dock
#

hm actually what would be the use of hiding the use button

#

you just have a joker at that point

maiden phoenix
#

Oddities are normally consumables

random sleet
#

then you can check for the Slab's existence and run its calculate function?

#

there could be use-cases for "food joker" style oddities i suppose

#

where their consumption is not based on a direct Usage of the item but rather on some other trigger

mellow crag
#

Huh I’ll have to do that for crops I think

frosty dock
#

hm, so some should_dissolve_on_use function i guess

random sleet
#

that tracks.

frosty dock
#

i don't wanna deal with how hiding use buttons interacts with shops and packs, I think greying is good enough in that case

random sleet
#

keep in mind you also need to either return the consumable to G.consumeables or have it never leave it if the dissolve shouldn't happen

#

if you don't destroy/remove it from G.play it softlocks the game

#

i personally opted to have the consumable never leave G.consumeables when i implemented this for OddityAPI

golden lake
#

can we perhaps add calculation contexts to playing cards

random sleet
#

for uh what purpose

#

oh zodiacs never mind sorry

golden lake
#

balatrostuck zodiacs real

random sleet
#

chat should OddityAPI come with a tag that gives a Legendary Oddity

random sleet
#

it would also solve the issue of Legendary Oddities not having a builtin way to be acquired

frosty dock
random sleet
#

correct

#

if you do that it'll just hang out midscreen and prevent you from pressing Play Hand

#

the bane of my existence for both selecting oddities from packs and the nonconsumable ones

#

do you want the 0.9.8 oapi code for reference? idk if it would help much

frosty dock
#

sure, that would be useful

#

well depends on how it's written, but I'm fairly sure it's at least sort of useful

random sleet
#

it's basically written as a copy of use_card

frosty dock
#

ight

golden lake
#

aure how hard would adding calculation to playing and held cards be

frosty dock
#

probably not all that bad, though idk what object the calc func would reasonably go on?

random sleet
crisp coral
#

the star looks deformed

random sleet
#

me too thanks

crisp coral
#

you too

mellow crag
#

Hello must

random sleet
#

wow rude

mellow crag
#

Myst

random sleet
#

MUST

mellow crag
#

Not must

maiden phoenix
#

must

frosty dock
#

--THIS MIGHT BE BROKEN wdym

random sleet
#

i didnt test it

#

mainly just if that calculate_joker call doesn't work for some reason if the consumeable in question doesn't get destroyed

#

it's an unlikely case but still untested

#

alt design

#

(left is Mega Oddity Pack, right is Legendary Oddity)

crisp coral
random sleet
#

what if i make the tags tarot colors

maiden phoenix
#

Why not a custom color for oddities specifically?

crisp coral
#

!

random sleet
#

is it better with the question mark

#

to keep the theming consistent

random sleet
#

while not being so out of place that it's offputting

maiden phoenix
#

Isn't Codex's tags border grey too?

random sleet
#

do i look like a codex dev to you

maiden phoenix
#

Yes

random sleet
#

shit u got me

maiden phoenix
#

😎

random sleet
#

i think ill stick with normal graey as boring as it is

#

Mega Oddity Pack, Legendary Oddity
Shop has a free Rare Oddity, Fill your consumable slots with random Oddities

#

too much? haha

shell timber
#

no those look fun

crisp coral
#

the star still looks off 😭

#

sorry

mellow crag
#

Gray

#

Wait grey is with an e?

maiden phoenix
#

Both are valid

random sleet
#

then you draw a better star >:(

crisp coral
#

how do you draw a star uh

shell timber
#

make it so uhh

maiden phoenix
#

My bad the star is horrible I forgot a shadow pixel

random sleet
#

better than anything i could ever do

maiden phoenix
#

You need to stop smoking

frosty dock
#

dies on use 20% of the time

random sleet
#

better?

random sleet
frosty dock
#

i want the return value to be true instead of false, but the function name dont_destroy_on_use seems excessive

shell timber
#

survive_on_use(?)

#

remain_on_use(?)

random sleet
#

keep_on_use

frosty dock
#

i like keep_on_use

crisp coral
random sleet
#

adding four tags that interact with oddities lets goo

#

(as soon as tag api isn't locked behind a scuffed commit)

#

(although i guess i could just not open the mods menu)

random sleet
frosty dock
#

oh shit, this doesn't work with consumables

random sleet
#

wait what

frosty dock
#

i dont have the card reference

random sleet
#

wait what doesn't work

frosty dock
#

fuck wrong snippet

#

this one

random sleet
#

oh why don't you have card reference there

frosty dock
#

generate_UIBox_ability_table only gets passed the center

random sleet
#

oh huh

#

why does it work for jokers then

frosty dock
#

different function

random sleet
#

i see

random sleet
#

Oddity, Artifact, Relic, Collector... maybe?

remote coral
frosty dock
random sleet
#

yeah

frosty dock
#

consumable loc text should be able to reflect state

shell timber
#

hm

#

relic kinda sounds like rare

random sleet
#

copy the card ref to a var in SMODS then pass it in in loc_def?

shell timber
#

so it fits

frosty dock
#

I could just add a parameter to generate_UIBox_ability_table

remote coral
oblique gust
#

im so balding

frosty dock
#

then omit it in subordinate calls, because having the card object doesn't make sense for tooltips

frosty dock
#

which means consumable loc_def gets a center and additionally a Card which may or may not be present

#

oh god

random sleet
#

incredible

frosty dock
#

at least my current implementation works without the loc def

#

Dies after 5 uses, that is

random sleet
#

just can't display that to the player accurately then

frosty dock
#

well that's pretty fundamental

random sleet
#

yeah lol

frosty dock
#

like what if the effects changes on use

random sleet
#

right

#

or a use-case i had come up with but hadn't tried for nonconsumable oddities of having it "enable" the oddity on use and then it does something during scoring (after which it consumes)

#

some read-out of whether the oddity is Ready or Not would be good

frosty dock
#

think a nonconsumable that gives a random joker effect ranging from really bad to really good and costs some amount of money to "use" to reroll the effect

random sleet
#

oh that's actually really cool

frosty dock
random sleet
#

true, but it'd still need the card's data right?

frosty dock
#

for sure haha

#

yeah I'll make sure of that

random sleet
#

it'd probably also be good to figure out how juice_card_until works