#💻・modding-dev

1 messages · Page 237 of 1

chrome widget
#

Big fan of things that aren't my problem tbh

hard flume
#

Okay. I'll do that

sullen fern
#

this should be a puyo rainbow

tall wharf
#

idk much about poker hands

sullen fern
#

but it's not?

faint plank
#

ive gotten this working exept for the end of booster packs. i havent tried actually hooking this to the save function due to some issues that could bring up

next timber
#

woa playstation memory card..

#

when run is saved? that seems easy to exploit

frosty dock
sullen fern
#

wait, it has to be my mod id?

faint plank
next timber
#

lol fair

frosty dock
sullen fern
#

i used the prefix

#

and not the id

#

by mistake

strong jacinth
sullen fern
#

there it is

next timber
#

huzzah

sullen fern
#

now for puyo chain

#

and all the variants of puyo rainbow and puyo chain

next timber
#

why can i never use this card, even when i have 1 card highlighted?

frosty dock
hard flume
#

Ty! I got it working now :)

frosty dock
#

not config.extra

sullen fern
#

i'm probably NOT going to make jokers for all the puyo chain and puyo rainbow variants

#

just base puyo rainbow and puyo chain

faint plank
#

now that i think about it, the memory card should be rare

frosty dock
sullen fern
#

it also works with rare suits but i expected that

frosty dock
#

the other thing you can do is put some property in your suit declarations and check for those on SMODS.Suits[v]

#

that gives you more control than just checking if it's from your mod

sullen fern
#

nah i want it to work with all puyo types

crimson marlin
#

finally finished a spritesheet 🔥 10/10

sullen fern
#

now for puyo chain

#

which is five cards of a singular puyo suit

#

the puyo chain code is currently just a copy of puyo rainbow

next timber
#

ok so i fixed itbut now when i try to use it it says card.lua:559: attempt to index a nil value

#

which is weird. because card.lua line 559 is empty

frosty dock
#

check in the lovely dumps, not extracted files

glad osprey
#

how do i make this say +1 consumable slot

frosty dock
#

might have to do with setting the seal

rotund ridge
#

how do i delete the card at the start on the title screen foreever and ever ?

latent portal
#

hi guys

#

quick question

latent portal
#

does anyone know what zone the shop vouchers go in?

rotund ridge
sullen fern
rough furnace
#

I don't use shaders that much so not sure. Does the shader look fine when its in game for real on the plain joker?

sturdy compass
latent portal
sturdy compass
#

oh whoop

latent portal
#

trolled

sturdy compass
#

G.shop_vouchers

latent portal
#

thank u

sturdy compass
#

Not much different lmao

sullen fern
#

a flush is literally 5 of the same suit

#

this is just that but with puyos

#

where would i find the code for a flush

green mica
#

Hmm I'm making a custom enhancement and I have
config = { bonus = 2, mult = 2 },
but it's only adding the extra chips and not the mult

#

anyone know why that might be?

rotund ridge
glad osprey
#

A

quartz ravine
rough furnace
#

I'm not sure

#

it's possible theres some difference in variables

#

DebugPlus makes some assumptions to try to prevent crashes but it could be wrong and the wrong data could be passed to the wrong value

#

having the shader would help

sullen fern
sullen fern
#

in game.lua?

rough furnace
sullen fern
ionic verge
#

asking this again bc i didnt get an answer earlier

quartz ravine
green mica
ionic verge
#

its based on the product, is the thing

sullen fern
ionic verge
green mica
#

it doesn't look like it...

#

oh wait

ionic verge
green mica
#

I misread your code

ionic verge
#

mmm

analog spoke
#

how hard would it be to start learning how to make editions+shaders? The idea I have atm is something I can easily replicate in Krita, for refrence. (I invert the image then use the original image as a luminosity layer, to create a sort of "negative color" effect and not total inversion)

sullen fern
frosty dock
#

but you can global search (with vscode for example)

green mica
sullen fern
green mica
#

I don't get why bonus would work but not mult

hard flume
#

i got the shaders working! now all i need to do is find out how to have music play :0

sullen fern
#

just like
put get_flush(hand) into there

analog spoke
#

think this would look really good with a shine of some kind

sullen fern
# sullen fern

is the entire code just gonna be

        for _, v in ipairs(SMODS.Suit.obj_buffer) do
            if (SMODS.Suits[v].mod or {}).id == 'puyomod' then suits[v] = 0 end
        end
get_flush(hand)
end
faint plank
#

self insert go brrrrr

frosty dock
#

like change the initial suits setup and then use the same code

sullen fern
#

so this

        for _, v in ipairs(SMODS.Suit.obj_buffer) do
            if (SMODS.Suits[v].mod or {}).id == 'puyomod' then suits[v] = 0 end

then the code for a flush

worthy stirrup
frosty dock
#

instead of this

if (SMODS.Suits[v].mod or {}).id == 'puyomod' then suits[v] = 0 end
#

you'll want this

#
if (SMODS.Suits[v].mod or {}).id == 'puyomod' then suits[#suits+1] = v end
sullen fern
#

i found the code for flush!!!

sullen fern
faint plank
#

rn i have this setup for it, but theres probably a better way for consumables and stuff since with this method i'd have to specify tarot, planet, etc

card.ability.extra.greencount = 0
            for k, v in pairs(G.jokers.cards) do
                local _joker = v.config.center.key
                local joker_txt = G.localization.descriptions.Joker[_joker]
                for i = 1, #joker_txt.text do
                    if string.find(joker_txt.text[i], "C:green") then
                        card.ability.extra.greencount = card.ability.extra.greencount + 1
                    end
                end
            end
frosty dock
sullen fern
#

no i literally just found it

frosty dock
#

why are you looking at that in notepad though

sullen fern
#

because i'm lazy

#

i only use vscode for coding

frosty dock
#

you could just open the dumps in vscode

#

or like

#

have your full mods folder open in there

#

then you could also use its search functionality 🤔

sullen fern
#

i have the lua itself open in vscode\

#

so like
do i just take this and put it into there

#

take the entire function

#

and just throw it into my code

#

like this

#

or is that

#

bad

#

listen i just want this over with so i can show all my friends what i did

hard flume
sullen fern
frosty dock
#

you still need to replace the definition of suits

#
local suits = {}
for _, v in ipairs(SMODS.Suit.obj_buffer) do
  if (SMODS.Suits[v].mod or {}).id == 'puyomod' then suits[#suits+1] = v end
end
sullen fern
quartz ravine
# rough furnace <@392349694879072268>

Hey guys, do you know how to make a booster spawn with an edition? I can manually apply one using Debugplus, but I would love for special booster packs I am making to appear with an edition (which would apply the shaders I made)

sullen fern
#

so now i just do it for every variation

#

chain house, chain five, straight chain

#

though straight also has a royal variant

frosty dock
#

that's not a separate hand though

#

it's just flavor text

sullen fern
#

oh shit

#

wait

hard flume
green mica
sullen fern
#

this counts as a flush house instead of a chain house

#

everything else is fine though

sullen fern
latent portal
#

Made my first vouchers, what do you guys think?

tepid crow
#

Nice

#

a highlight on "booster pack" might help

#

feels like something thunk would do anyway

sullen fern
#

chain five counts as a flush five and a rainbow five counts as a five of a kind

#

i would like this to not be the case

#

but how would i fix that

tepid crow
#

I'm assuming flush five is a subset of chain five etc?

latent portal
#

There has to be some sort of priority system

tepid crow
#

you can put the priority of your hands higher yeah

#

check the docs

sullen fern
#

unless you mean above_hand

latent portal
mellow marsh
#

is there any way for me to bypass discovery when creating a card without hooking this line to force my own card area into it?

sullen fern
#

wait, what

#

why are my jokers showing error instead of the intended suit

#

don't tell me i fucked up my localization...

plush cove
#

show code

sullen fern
tepid crow
plush cove
sullen fern
#

what? that's baked into the joker itself

#

but i fixed it so it's all good

#

this SHOULD work

#

chain five and rainbow five now work

hard flume
#

I'm really happy I got Worlds working

sullen fern
quartz ravine
gleaming zealot
wintry arch
#

how do you make a joker with an extra variable (like hands remaining, for seltzer) that gets set to some value

#

not sure what to use to initially set the variable

hushed field
#

you just set the variable in the config

wintry arch
#

ohhh cool

green mica
#

Hmmm I found a similar bug with a previous version of SMOD but I have the most recent version so... hm

faint plank
#

got it fully working, it detects the wheel of fortune, glass card, and lucky card i have as well as the two jokers here

hushed briar
#

anyone happen to know how to add a localization entry while the game is running

tepid crow
#

what are you actually trying to do?

hushed briar
#

well this is the joker im working on, you can see it has tooltips for each of its effects

#

what im currently trying to do is create a default ability that it will gain from any boss blind it doesn't have an effect coded for

tepid crow
#

fair enough

#

what would that default ability look like? 🤔

hushed briar
#

which means i would need to, on the spot, create a tooltip with the blind's name

hushed briar
tepid crow
#

ahh I see

tepid crow
#

or possibly init_localization (vanilla)

solemn scaffold
#

ok sorry didnt know where to post this tbh and since developing would mean that u know code maybe u could help me but yea won post it here anymore

#

there its gone

tepid crow
#

I'll take a look

hard flume
#

how do you call a custom sound and/or change the default soundtrack?

tepid crow
#

did you look at the sound docs?

hard flume
#

oh those exist?

tepid crow
quartz ravine
quartz ravine
#

IN your config.lua*

green mica
#

Alright I give up, I can't find anything on this enhancement mult issue, I have to assume it's an issue with SMOD cause I can't for the life of me find a reason it shouldn't be working

green mica
#

I updated it to the most recent version since I saw there was an issue on a previous version, so I'm on 0314c

frosty dock
#

yeah then it should work. 2 weeks back we did have an issue with enhancement mult not applying

green mica
#

I literally deleted my old smods main folder and replaced it so I can't imagine I left something behind

frosty dock
#

and you've tested on a new run?

green mica
#

yeah

#

so many times honestly haha

frosty dock
#

then it's too 1am for my brain to pick up on what's up with that

#

drop me the code and I can have a look tomorrow

earnest stratus
#

If you wanted a deck to start with an eternal joker, would that be with
"joker:set_ability"? Or is there another function?

nova finch
#

is there a way to change the description of a joker mid-game?

turbid maple
sullen fern
nova finch
turbid maple
#

refer to the loc_vars section

#

if what you want is more dynamic than switching between a few preset descriptions then this wouldnt work though

nova finch
#

switching between a few preset descriptions is exactly what i want lol

#

thank you

green mica
#

I really stripped away everything else and still get the same result so I'm so stumped

#

even if I take out the bonus chips its the same so

#

🤷

sonic cedar
#

i have returned once more with my earlier issue
perhaps someone can help me with it now that some time has passed

calculate = function(self, card, context)
        if context.discard and context.cardarea == G.play then
            G.E_MANAGER:add_event(Event({
                trigger = "after",
                delay = 0.15,
                func = function()
                    card:flip()
                    return true
                end,
            }))
            G.E_MANAGER:add_event(Event({
                trigger = "after",
                delay = 0.15,
                func = function()
                    card:set_ability(G.P_CENTERS["j_hpfx_ijiraq"])
                    play_sound("card1")
                    card:juice_up(0.3, 0.3)
                    return true
                end,
            }))
            G.E_MANAGER:add_event(Event({
                trigger = "after",
                delay = 0.15,
                func = function()
                    card:flip()
                    return true
                end,
            }))
        end
    end

this is supposed to trigger the events when i discard, but for some reason it doesnt
any idea why?

green mica
#

Just guessing but it might be context.cardarea == G.play messing you up

#

cause I don't think the card is in that zone after it's discarded

sonic cedar
#

so do i change it off of G.play?

green mica
#

Mmm I'm looking at the example on the wiki and it just has context.discard and that's it

sonic cedar
#

i’ll try that rq

#

could’ve sworn i did but

#

hey

green mica
#

Oh actually it doesn't list G.play as an option for this context so maybe that is the issue

#

maybe it should be G.hand if you're discarding from hand

sonic cedar
#

no it

#

it worked

#

five hours

#

(thank you)

green mica
#

You're welcome! I'm glad it worked

hushed briar
#

i do not get how localization loading works

#

guess i might just have to make it say "Unknown's Heart"

stray warren
#

You can make an en-us.lua file under a localization directory in your mod directory, instead of doing that

hushed briar
#

no i have that

#

the problem is i need to generate a new entry dynamically

faint plank
warped marsh
#

heya, im trying to get a mechanic similar to banner but its with mult and with chips (hands remaining for chips, discards for mult). ive been looking through the files and ive struggled to find anything

quartz ravine
#

@warped marsh green joker might help you learn how to do that

warped marsh
quartz ravine
#

sure but I will me afk for a bit

warped marsh
#

okay

nova finch
#

has anyone ever had this crash before? I have no idea what's causing it

red flower
#

hard to know without looking at the code

nova finch
#

the thing is, i don't even know what code to look at

#

ive been trying to find possible culprits but nothing seems to happen

green mica
#

looking at location of the error, that's the tprint function

#

so the issue is probably related to a string or something

nova finch
red flower
#

Look in the lovely dump

#

In mine it's pseudoseed and that has a "key" value

nova finch
#

where do i find those

red flower
#

mods folder under lovely/dump

#

that's the code after all the patches

nova finch
#

hmmm

red flower
#

yeah

#

are you usint pseudorandom somewhere

nova finch
#

yeah

#

im trying to get a random hand then change the description based on the hand

#

i have no idea what im doing tho so there's probably something wrong with it

red flower
#

let me see the code

nova finch
#

ohh wait

#

i figured it out

#

i just fucked up the pseudoseed

twilit cargo
#

anyone got any clue why this isnt working? it prevents every normal joker from spawning which is what i want, but none of the jokers with their yes_pool_flag set to alternate are spawning

#

wait nevermind im stupid

north brook
#

Hey y'all, dumb question for someone not too familiar with the coding side of modding.

I'm using 2 mods that add consumables (Cryptid and YART) and some of the consumables, in my opinion, spawn far too often. (All of the reversed tarot from YART, and the multi-hand planets from Cryptid) Is there a way to change individual consumable spawn rates? And if so, is it possible to have it sit in it's own mod so that if they get updated, I don't need to re-edit them again?

smoky talon
#

how do i play a custom sound effect? i know how to do custom music but no clue how to do a sfx

stiff locust
#

so the from_debuff in add_to_deck and remove_from_deck

#

does that do what i think it does

#

in that if you check if from_debuff is false, effects in the area don't happen if the card was added or removed because it was debuffed/undebuffed

#

that would be really convenient and easy

edgy reef
#

Hopefully yea

stiff locust
#

hopefully?

edgy reef
#

Ok yeah can confirm that is how it should work

stiff locust
#

is it just if from_debuff == false then or do i have to do some extra stuff

edgy reef
#

from_debuff is either nil or true

#

At least for vanilla code

rain slate
#

where is glass card shattering calculated?

stiff locust
#

so if not from_debuff or from_debuff ~= true then

rain slate
#

I've looked everywhere I could think of and all I could find was the animations for when it shatters, but nothing that actually decides if it should shatter

stiff locust
#

that sounds like it should work

edgy reef
#

Just check that from_debuff is not truthy (so if not from_debuff then should work)

rain slate
#

gg

rain slate
chrome widget
#

Having a timing issue here I can't sort: I have a joker that retriggers scored enhancement effects (bonus mult, chips, xmult, and the lucky rolls), and I want the joker to play a message that says "Repeat!" similar to how full card retriggers say "Again!". I can get the message to play, but it always comes after the effect repeats rather than before.

if enhancement then
    enhancement.message = localize('k_again_ex')
    enhancement.message_card = card
    SMODS.trigger_effects({{enhancement = enhancement}}, context.other_card)
end

if next(return_table) then
    return_table.message_card = card
    return_table.message = localize('k_again_ex')
    return return_table
end```
#

This is basically what occurs, although I attempted to patch back in card_eval_status_text playing an extra function so I could try to force an event to append before the status text goes through, and that didn't seem to work. Only change when messing around with the event settings was seen above, where it overlaps the next card trigger rather than playing sequentially

#

It juices the joker at the same time that the effect occurs though

modest cedar
#

Hi, is there a guide somewhere to getting started making your own mods? I haven't been searching for very long but one place pointed me to this chat.

chrome widget
#

This page might help!!

stiff locust
#

smods/src/utils.lua is crashing here (line 239, marked with >>) what does this mean

function SMODS.insert_pool(pool, center, replace)
    if replace == nil then replace = center.taken_ownership end
    if replace then
        for k, v in ipairs(pool) do
            if v.key == center.key then
                pool[k] = center
                return
            end
        end
    end
    local prev_order = (pool[#pool] and pool[#pool].order) or 0
    if prev_order ~= nil then
        center.order = prev_order + 1
    end
    >>table.insert(pool, center)
end
#

on startup

fickle stag
#

damn im cooked why are jokers so messily coded

#

crap

minor furnace
#

They could have been so much worse

fickle stag
#

config is just a whatever

sturdy compass
#

I'm getting a crash from trying to do this (most likely from the second and third calculate_effect calls) and I have no clue why. Crash report is of no help

#

Changing to 'chip_mod' gives the same crash

#

If anyone wants to try to make sense of the crash report then feel free

sturdy compass
#

Apply the chips and mult of every hand contained in the played hand

stiff locust
#

so what's the SMODS.calculate_effect for

sturdy compass
#

I can't just return because that'd stop the function. I know I could just add them up and apply all at once but that's no fun

stiff locust
#

card_eval_status_text

#

makes messages without a return

sturdy compass
#

calculate_effect is just that but better

stiff locust
#

okay but have you tried card_eval_status_text

#

it might just work

sturdy compass
#

This function uses that function

#

😭

stiff locust
#

what is it with smods like

#

making a bad function and then

#

instead of modifying the function

#

they make a second function

#

that is just a better version that still calls the original anyway

edgy reef
#

That's just cause they're not using SMODS right.

#

You can just return a table with extra that contains the messages/effects of the next thing to calculate

#

Rather than doing all this manually.

sturdy compass
#

not my ass forgetting about an extra table Facepalm

hard flume
#

Hihi :3

edgy reef
#

Along with the function just being really scuffed

edgy reef
sturdy compass
#

alright I changed it to this which does work but it doesn't have the desired effect. I wanna display each value in its own message with the order being "hand name, chips, mult"

raw geyser
#

What's the best way to make a rare playing card that isn't likely to spawn?

sturdy compass
hard flume
#

How would I go about making cards only spawn while a Joker is active and then no longer spawn when that Joker isn't in play?

sturdy compass
#

Ok I understand this, but doing that returns out of the function making it only trigger once

edgy reef
#

Nah

#

The point of nesting extra is that's considered a separate event

solar eagle
#

how would i check if another steamodded mod is installed?

sturdy compass
edgy reef
#

oh right

sturdy compass
#

lmao

edgy reef
#

What even is the effect here, adding every single poker hand's chips and mult?

sturdy compass
#

every single hand that the played hand contains (and isn't the scoring name)

edgy reef
#

Can't you just have the chips and mult be added together first then returned?

#

I get the loop but I don't get why we want to announce all hands.

#

Wouldn't that be a lot of time just spent waiting for this joker to finish if we play like a 5oak

sturdy compass
#

It could potentially last a while yes, however imo it'd help visualize what exactly is being scored

hard flume
#

I think I'm gonna take a break from working on Worlds

sturdy compass
edgy reef
#

Can prob just make a recursive function that keeps adding an extra table for each poker hand.

scarlet spire
#

does a list of all used consumables in a run exist anywhere or do I need to keep track of that myself?

#

for example, if I wanted to give the player their most used tarot card

fickle stag
#

how does the shop show the booster packs / cards / vouchers available in the shop?

was looking at Game:update_shop and i tried to read G.shop_jokers.cards but it's empty, same for shop_booster and shop_vouchers

stiff locust
#

per profile? yes

#

you can check a player's profile card stats to see what the most used stuff are

#

the MultiPack mod does that with a "Favourite Pack" which contains top jokers on your stats list, i'd check that for a reference

scarlet spire
#

ah i'll just keep track of the values myself then, I'm trying to do it per run

vagrant moth
#

How do I make it so when I get this Joker in the shop or booster packs, it's always Foil?

I currently use the code

  set_ability = function(self, card, initial, delay_sprites)
    card:set_edition({foil = true}, true)
  end```
It only applies in the Collection view, but not the actual game. What should I add or change?
glad osprey
stiff locust
#

at least it does that on vscode lua plugin

glad osprey
#

I'm on mobile rn

scarlet spire
worthy sierra
#

I'm trying to create a Joker that only triggers based on if a certain number of cards with a specific rank are in the scoring hand (i.e. three 7s are present, so the joker gets triggered once). Is there anything immediately built into the base game/SMODS to do check this or will I need to create a helper function?

Assuming the latter, would something like this work? context.scoring_hand[i].rank was mostly a guess on my part, as I'm not sure where to find a full list of member variables/functions for card objects, or anything within context actually. (Still new to this whole thing so bare with me lol)

tall wharf
#

i made the same mistake

worthy sierra
#

ah thank you

vagrant moth
normal crest
#

What is the proper way to level up a hand through a card's return effect without the text on the left side getting messed up

tall wharf
#

i thought you need to actually change the text to match yourselves

#

as evident in planet cards stuff

#

at least that's what i did

normal crest
#

Yeah I guess I'm just gonna go with that

#

Wish smods handled that

fickle stag
#

hello chat how do I view the list of blinds in the ante and their corresponding skip tag and score requirements

#

is there like a list of antes in the game code? where is it

#

was trying G.GAME.blind_on_deck

lucid owl
#

i'm trying to make a joker with a very specific sprite size (76x76, i didn't do the art), what am i doing wrong? (it should theoretically look square, like how photograph does)

normal crest
#

if you wanted to get info on the actual blinds you'd have to access that key in G.P_BLINDS, for example G.P_BLINDS.bl_small would have info on the basic small blind

fickle stag
#

alrighty

#

tysmmm

#

wait what are you using to visualise tables in game?

normal crest
#

DebugPlus

fickle stag
#

oh sick

#

i was just using inspect 😭

plush cove
fickle stag
minor furnace
#

are there any mods that change the number of booster packs available in the shop?

sturdy compass
fickle stag
#

hmmm

sturdy compass
#

Poke around in UI_definitions.lua, it’s somewhere in there

small moon
#

Anyone know why this card is displaying "+X Mult" twice? This is my calculate code:

calculate = function (self, card, context)
    if context.joker_main and not context.repetition then
        PRINT_TABLE(context)
        return {
            mult = card.ability.extra.current,
            message = localize { type = "variable", key = "a_mult", vars = { card.ability.extra.current } }
        }
    end

    if context.end_of_round and not context.blueprint and not context.game_over and context.main_eval then
        card.ability.extra.current = card.ability.extra.current + card.ability.extra.increase
        return {
            message = "Upgraded!",
            colour = G.C.MULT,
            card = card
        }
    end
end

I'm definitely missing some context check but I'm not sure what

#

(I fixed the duplicate Upgraded! text, forgot that was in the clip)

plush cove
#

so you don't need "message = localize{blablabla}" in that scenario

sturdy compass
#

Yep that’s it

fickle stag
sturdy compass
#

👌

small moon
#

What exactly is the different between mult and mult_mod, just for future reference

plush cove
small moon
#

I see, thank you!

#

One last thing, is there a debug mod that lets you spawn in a specific card? i.e. if I made a new Joker I could spawn it in, or if I made a new Edition I could spawn a Joker/playing card in with that Edition, etc.

sturdy compass
#

It’s also kind of a remnant of old_calc, as mult_mod was adding mult to the score from the joker directly while mult was for applying mult via a playing card triggered by a joker

small moon
#

Really? I got debugplus and couldn't find that feature

plush cove
#

hover over the Joker you want, and press 3

#

(while in game)

chrome widget
#

Is there any way to use pound/hashtag symbols in name or description text, as an actual character?

small moon
#

Oh!

plush cove
#

and if you want to change its edition, press q

sturdy compass
#

Ctrl + q I thought

small moon
#

It's ctrl + q yeah

sturdy compass
small moon
#

Thank you! I'll look into the keybinds more for stuff, thanks for letting me know

plush cove
plush cove
fickle stag
plush cove
#

what's your hook looking like?

sturdy compass
#

You can! I’ve done it before

fickle stag
#
local blind_tag = create_UIBox_blind_tag(blind_choice, run_info)
function create_UIBox_blind_tag(blind_choice, run_info)
    local ret = blind_tag(blind_choice, run_info)
    if G and G.GAME then
        local _tag = Tag(G.GAME.round_resets.blind_tags[blind_choice], nil, blind_choice)
        print("tag tag tag :3:3")
        print(inspect(_tag))
    end
    return ret
end
plush cove
#

remove the brackets from the end of the blind_tag variable

fickle stag
#

ooo

#

oh got it thanks :D

chrome widget
#

Can you pass a variable into the name of a joker, or just the description text?

plush cove
chrome widget
#

How do you do that? Loc vars docs seem to imply they only target the description by default

#

So I can have the variable, but I'm not sure how to actually pass it

plush cove
#

just use it like you would in the description

chrome widget
#

Huh! Neat!

vocal cedar
#

hey fellas. I am REALLY new at this, and just wanted to see if there was a way to make a quick and easy mod to rebalance the legendary jokers.

I got my ideas and implementation, hell im happy to just mod the actual sourcecode as well.

Anywhere i can go to mod the legedaries straight up? or are we recommending a modloader?

gleaming zealot
hushed field
fickle stag
#

how do I mod soul to be buyable in ghost deck

hasty thicket
#

I made my first joker yesterday, how would I go about my second in terms of coding it. I am asking specific would I create a new lua script? Or would I continue from my previoiusu?

#

My script rn

vast fractal
#

you can continue on your main.lua but i recommend to separate the jokers into their own individual script

vast fractal
#

main.lua

hasty thicket
#

okay 1s

#

let me read thiss

#

this is mine

vast fractal
#

add modules folder

hasty thicket
#

okay 1s

#

im new to coding so be wary

#

done

#

now i drag the main.lua (my joker) into it?

vast fractal
#

no
first make jokers folder inside the modules folder
then make a insert_joker_name.lua inside the jokers folder

hasty thicket
#

okay 1s

vast fractal
#

then copy your joker code from main.lua then paste it into the insert_joker_name.lua

hasty thicket
#

so my main.lua is being replaced into the insert jokers

#

gotcha 1s

#

done

#

do i remove the main.lua?

vast fractal
#

no

hasty thicket
#

ok

vast fractal
#

make sure that the main.lua has assert(SMODS.load_file("./modules/jokers/insert_joker_name.lua"))() so it will run the file

hasty thicket
#

okay 1s

#

so i would removethe script from main.lua?

hasty thicket
#

I can hop in vc if needed so it might be easier for you to explain

#

so you don't have to type 24/7

vast fractal
#

did you transfer the code into the script inside the joker folder? if yes, then delete the script inside the main.lua

plush cove
hasty thicket
#

okay done

#

i did it and made sure that it loaded afterwards

#

so in the Insert joker name, that's where I'd put my other jokers

vast fractal
#

each lua script is only one joker

hasty thicket
#

i mean alongside that code, yea

#

yeah

#

but i mean that's the Location

#

good to note

#

okay

#

time to try and make a joker (im bad at coding lmaoooo)

#

OKay

#

so for assets, I just put it in the assets folder, under 1x and 2x sizes

vast fractal
#

yes

vocal cedar
#

Thats the other thing. Im changing Canio into a ^MULT joker (like the ones in cryptd)

Since ^MULT isnt in the base game is this gonna require its own mod then?

hushed field
#

Oh yeah for that you definitely need SMODS

#

and I think Talisman? I'm not sure if base SMODS implements ^MULT

vocal cedar
#

aye lmfao 😭

#

okay

#

Is there like

#

a good tutorial around for smods or will one of you fine jokermen be aval to help a poor soul out

(I have coded extensively in a lot of languages including LUI so i pick up real fast)

#

just like

#

a kickstart to “how to change joker behavior” or “how to add own mechanics” like ^MULT lol

plush cove
vocal cedar
#

I know C++,# etc, I just have no idea where to start on something like this

hushed field
#

Lemme grab the wiki and I think there's a thread now how to get started!

vocal cedar
#

Maybe I should look at like a nice and easy mod that adds like 10 jokers?

hasty thicket
#

Why is this not recognized as a card

hasty thicket
#

i just figured out why.

vocal cedar
hushed field
#

If you've done C# you'll pick it up in half an hour at most 😛 The most difficult thing is having to look at code sometimes to figure out how something works because while the documentation is there, it's incomplete or assumes some competency

hushed field
hasty thicket
# vocal cedar Can i edit the legendaries in the base game? Where are they located? while I’m ...
GitHub

Steamodded example mods. Contribute to Steamodded/examples development by creating an account on GitHub.

GitHub

A Balatro Modding Framework. Contribute to Steamodded/smods development by creating an account on GitHub.

hushed field
#

Ay, I was just gonna sent that! Thanks waffles 😛

hasty thicket
#

np

hasty thicket
vocal cedar
#

I am drunker than a sailor now so this message is so i can come baxk tmr lmfso

#

Again. Thank you.

plush cove
vocal cedar
#

Hows Neatos?

plush cove
#

Ortalab I trust the most because Eremel is a regular SMODS contributor

plush cove
vast fractal
#

how to destroy an enhanced card after scoring ends?

hushed field
hushed field
hasty thicket
hushed field
hasty thicket
#

mind you, this code is not what im doing for a new card, This is just to see if the card shows up if theres any easier ways to format, or write this please tell me?, this card is using a copied cards code

plush cove
#

I'm still quite proud of this code I did for Missing Poster

#

I anticipated having to change the entire straight algorithm but then I realized I could just do this

hushed field
# hasty thicket 1s

as in, it's in a separate file? What does your file loading code look like?

hasty thicket
#

This is all the info I have

#

it send jokers twice

#

this is what i meant to send

#

So it's wafflesmod > modules > jokers > then its the script here

hushed field
#

haha you're too quick with providing answers 😛 I can barely ask the question. Is it sharing a key with the kittenandwaffles joker?

hasty thicket
#

Would it need different keys?

vast fractal
#

keys must be unique

hasty thicket
#

okay

hushed field
#

keys are how jokers are referenced internally. On line 8, yeah!

hasty thicket
#

should they be unique to the name?

hushed field
#

yes, fully unique

hasty thicket
hasty thicket
hushed field
#

also, personal preference on my part, but I always name my joker keys the same thing as the file, without capitalization, which helps with automating a bunch of things, but that may be a few too many steps in the future, haha

hushed field
hasty thicket
hushed field
#

but if you're afraid of cluttering the channel, you can dm some screenshots too. How are you handeling the atlases? Does each joker file have its own atlas defined, currently?

hasty thicket
#

1s checking if it works rn

hushed field
#

doing some sprite work atm, so feel free to ping me if I don't respond, haha

hasty thicket
#

okay, I will ask you if I have any questions

hushed field
#

good luck!

hasty thicket
#

ty

#

u2

#

okay so update!
The card offically works however the actual display is wrong.
The assets folder works in the following format:

Mods > wafflesmods > assets > (two folders of the 1x and 2x for image scaling)
In each of the 1x and 2x folders there is two images, one of the test logo (A while logo with the word test, and 'a kitten and waffles.') Named accordingly.How amI messing up ?

#

@hushed field

hushed field
#

Ah, okay. Atlases can handle multiple images on the same sprite sheet. Depending on what you're mod goal is, that might be something you wanna look into, but I don't see a problem with this for being a small mod! I suspect the image is wrong for that very same key reason, btw!

#

atlases also need unique identifiers for keys

hasty thicket
#

Okay so from waht I'm getting, the images need seperate folders for each different joker?

#

also i'm confused how the keys play a role in coding? (as in like Do they match with the joker script for the image?)

hushed field
#

no, images don't need separate folders! 1X and 2X are all the image folders you're going to need!

hasty thicket
#

so the issue is tghe key

hushed field
#

because the way most code works, things tend to have two names: an internal name, and an external name. The external name, however, is probably one you want to be able to translate. Or maybe change during development. So any object has a key, which is the internal name. This is it's unique identifier so you can refer to it and your code will know what you're talking about.

hasty thicket
#

so external name is the file or code or image

#

and the internal name is the key

hushed field
#

no, the file name is the file name. The best way to look at that is that a file is just the box that things are in. On that box, you may write the same name as what you're putting in it, but it doesn't have to be. Files are much more an organizational tool.

hasty thicket
#

so in this scenario would I just do unique keys or for the test image would I do like test1 since test is taken by the lua code?

hushed field
#

If you want to do more complicated things with your files (for example, some mods load their jokers in by iterating over file names, so they're named after the object they contain), you want the names to line up, but they don't have to.

hasty thicket
#

okay, what do you reccomend?

hushed field
#

This has to do with the fact that you can choose to put all your jokers in one file, or choose to separate them out. I personally separated them out, but that's because my mod has 200 jokers, and I don't want a single file that's 20k lines long. It's entirely up to personal preference

hasty thicket
#

i see that makes sense

#

soemone earlier told me to have seperate codes for the jokers because its easier to organize

hushed field
#

I'd say so too, but it does come with some other hurdles. If you're learning coding, do what you understand so that you're not taking ten steps at the same time, and focus on understanding the one you're taking. That way you also learn what preferences you have

hasty thicket
#

okay from waht I know, I just changed the key for the test code(the top part) for the code and its still the cat image, what could be an issue of this

hushed field
#

The 'external name' is I'm calling it, is the localization name, or we could call it the user-facing name. It's what gets displayed when you launch the game. Your code basically never refers to this name, except in that localization spot where you set the name

hushed field
#

So, how much do you know about the way atlases work?

hasty thicket
hushed field
#

The main thing is that I think I can fix what you're running into now, but there's a more efficient way to go about it that may need a bit more explanation, haha

hasty thicket
#

ill watch those to get a better understanding of coding because I did code in unity during middle school and found it fun, but its hard if I'm trying to do too much with the basics

hasty thicket
hushed field
#

if you changed the key of the atlas for the test image, did you also change the 'atlas = ' part of the test joker?

hushed field
#

An atlas and a joker being in the same file doesn't actually tell the joker that it's image is contained in that atlas. The joker's code instead checks the key stored in the 'atlas=' part of the code, and then looks at all atlases you have, and goes to the one with that key. (That's a pretty immediate example of how keys are used in coding)

hasty thicket
#

OKAY IT WORKED

#

LETS GOO

hasty thicket
hushed field
#

If you're planning on adding more than a few jokers to your mod, I'd try and see how atlases work with sprite sheets, but that's probably easier to understand once you've watched some videos on lua

hasty thicket
#

Thank you

hushed field
hushed field
#

Working with code that's separated out across files was something I always felt a bit uncomfortable with when I first started coding, so it's a very normal thing to run into and make mistakes with, haha

hasty thicket
#

I have intelliskript, skript, skript + skriptinsight, skript autocompletions, skript-vscode.

hushed field
#

I'm a bad person to ask for that, I just use the lua extension for autoformatting, haha

hasty thicket
#

I'm starting with basic text code, and it won't run without debugging, why is that?

hasty thicket
hushed field
#

Haha, bad news here is that I've never worked with lua outside of the computercraft mod for minecraft, and balatro, so I have no clue how to run it normally. Probably won't be too complicated once you know a bit more, but I have no clue haha

hasty thicket
#

been playing that game for 11 years, was a builder for servers

#

the memories fly by

hushed field
#

i remember indev 🥲

hasty thicket
#

lmaooo

hasty thicket
#

Idk if its my extensions but it says it runs lua

sour marsh
#

you have to install lua on your computer to run lua files

hasty thicket
#

bruh

#

welp.

#

idek how to do that

#

resaerch time

hasty thicket
sour marsh
#

it will set you up with everything you need from lua

#

all the extensions for vscode, lua itself etc

hasty thicket
#

i dont have windows 11.

sour marsh
#

it should work for windows 10

hasty thicket
#

k

frosty dock
#

why do you want to install lua, anyway

#

if you want to make balatro mods, you load them into balatro

daring fern
#

How could one make a joker only affect itself and not other copies of that joker?

red flower
#

jokers normally only affect themselves, what specifically are you trying to do?

hasty thicket
daring fern
#

I'm trying to make a joker that retriggers itself 5 times but also be blueprint.

hasty thicket
#

I mean you are right that running code doesn't mean learning it :/

frosty dock
hasty thicket
#

wut

#

my script in vsc WONT run.

red flower
hasty thicket
frosty dock
#

all I'm saying is that you can set up a mod and use that to run literally any code you want

#

you're also given the context of the game, which is useful if you want to learn about how it works. but it doesn't take anything away

hasty thicket
#

I'm not just trying to learn lua for this game, I'm trying to learn lua as a whole.

red flower
#

yes

#

never used retriggers tho so idk if the syntax is correct but the idea is

daring fern
# red flower yes

That retriggers itself but also if there is the same joker in front of it it will also retrigger that 5 times.

frosty dock
red flower
wintry solar
daring fern
#

If it is in front of it yes.

wintry solar
#

Isn’t it just retriggering itself?

daring fern
#

No, what happens is the first one retriggers 5 times then it retriggers the second one then the second one retriggers itself 5 times.

wintry solar
#

Can you show the full code?

daring fern
wintry solar
#

So it’s supposed to copy the joker to the right of it 5 times?

daring fern
#

Yes, basically.

wintry solar
#

Okay so I don’t think you want to use retriggering for that

#

You just want to do the blueprint effect 5 times

daring fern
#

How?

wintry solar
#

Well it depends on the wording of your joker actually

daring fern
#

It used to retrigger the card to the right of it 5 times.

next timber
#

why do the card name and effect not show?

red flower
#

loc_txt instead of loc_text

next timber
#

ohh im dumb lol

#

thx

daring fern
next timber
#

i keep getting the error attempt to index local 'other' (a nil value) and I can't figure out what it actually means, i think it might be something to do with the revive seal copying the card?

#

ive gotten the error when copying it several times with hanged man, and when having it as a glass card

wintry solar
daring fern
wintry solar
#

I think I’d just use a loop and the blueprint util function to do that

#

But that might end up triggering the first one too much

#

Hmmmm

next timber
#

ohhh

#

im destroying from hand.highlighted instead of the card with the seal

#

thats probably causing issues

#

oh god. glass card with revive seal and 2 all sixes jokers

#

every time you play it it duplicates

hard flume
#

Does anyone know the key for the jimbo pack and the store? I'm trying to get my World Jokers to only appear in my custom booster for them

vocal cedar
#

@hushed field @hasty thicket there are WILD things being done in GIMP studios right now

#

i dont even know what im gonna make him do

#

but he is gonna be beautiful

verbal wyvern
#

Definitely gonna have to be something with Face cards

vocal cedar
#

The Jorker

verbal wyvern
#

Oh my god

vocal cedar
#

LMFAO

verbal wyvern
#

I didnt even realize it said Jorker 😭

vocal cedar
#

ikr

#

its so

#

natural

verbal wyvern
#

It’s beautiful

vocal cedar
#

ikr

#

Jorker: All face cards count as Kings, Queens and Jacks.

@verbal wyvern

#

oh wait you gotta see this shit

#

its not over

verbal wyvern
#

What if all face cards count as Kings and Queens, goes hard with Trib and Paredoilia

vocal cedar
#

paredolia with this would be fucking nuts

verbal wyvern
#

Ohhhh I get it now

#

Anime jonklers..

vocal cedar
#

hit the road, trib,

#

would be wild

verbal wyvern
#

Idol even

vocal cedar
verbal wyvern
#

I think my favorite Joker ive made so far has gotta be my Metal Pipe joker

vocal cedar
#

Chicora: Permanently REVERSES the effect of the Boss Blind (and makes it positive if possible)
Retriggeres all Aces, and all Aces are considered Wild Cards.
Able to be Blueprinted and or Brainstormed
This would make stuff like The Manacle give +1 hand size permanently
Water could give like 6 Discards

Yorelle: This Joker gives you +0 discard at the start of the round and x1 mult
Gains +1 Discard and X1 MULT each 23 discards, (this value increases by 10 every time Yorick is Upgraded)
Gains +2 chips for each card discarded (resets every time you defeat a blind)

Cania: This Joker gains 0.01^ MULT each time a Face Card or Ace is Destroyed, Starts at 1

Perkea :This joker creates a negative copy of a random consumable at the end of the shop. 1 in 30 chance to create a negative Spectral Card each time a Tarot Card is used. Gains 1$ of sell value for each Spectral Card Used

Tribulea: This Joker gives , X2 Mult each time a Queen is scored. This value is increased by X0.1 each time a King is scored or X0.15 each time a Jack is Discarded. Resets to X2 upon defeating the Blind.

Tribulet (other idea): This Joker gives , X1 Mult each time a Queen is scored. This value is increased by X0.02 each time a King is scored or X0.03 each time a Jack is Discarded.

verbal wyvern
#

^

verbal wyvern
#

I have yet to do anything with ^ values but one day

vocal cedar
#

why make them more op?

Simple.

The Soul card now TRANSFORMS a joker into a legendrie (notice the spelling)

wintry swallow
#

Heyo!! Anybody know how the Misprint joker works and how to recreate it?

vocal cedar
#

i saw this

#

seems it just takes a random mult

verbal wyvern
#

^ something like that

vocal cedar
#

for its description?

#

its listed here

verbal wyvern
#

I have a Multprint joker that gives a random Xmult at the end of round

#

Still working out implementing the text though

vocal cedar
#

The description is blank. i think there is an outsider function causing it to be that random crap

verbal wyvern
#

Yea theres a string for the text

#

Fun fact, it predicts the next card in your deck

modern kindle
#

I think it does something with dynatext shit near where you see it's code but I hadn't figured out how to implement it for other jokers

verbal wyvern
#

I thinks its just as simple as having the string in your code then calling it out in the text but

#

I havent figured it out yet so dont take my word for it

#
  key = 'Multprint',
  loc_txt = {
    name = 'Multprint',
    text = {
      '',
      ''
      }
    },
    atlas = 'ExionJonkers',
    pos = {x = 5, y = 0},
    config = { extra = {
        Xmult_min = 1,
        Xmult_max = 5
    }
    },
    
    calculate = function(self, card, context)
      if context.joker_main then
        local temp_XMult = pseudorandom('Multprint', card.ability.extra.Xmult_min, card.ability.extra.Xmult_max)
        return {
          Xmult = temp_XMult,
          card = card
        }
      end
    end 
}```
#

This is my Multprint code atm

#

Should help with what you need

hushed field
zealous glen
hushed field
#

Misprint does use a dynatext, which is I think automatically just parsed properly by the ui functions

vocal cedar
verbal wyvern
verbal wyvern
#

Me and my friend are working on our own legendarys rn based off us and some friends

#

Might replace the base ones or just add them

vocal cedar
#

changed the actual nameplates singe legendere textures didnt do that

#

and then i plan on tweakin em SLIGHTLY

verbal wyvern
#

Coding Balatro mods is such a nice break from what im used to modding

#

Im used to doing stuff for like Arma 3/ DayZ and this is so much easier 😭

vocal cedar
#

@verbal wyvern smods can "take over" vanilla jokers yes?

verbal wyvern
#

Yeah I feel like Yorrelle or Perkea might be easiest

vocal cedar
#

like i can reprog them with SMOD?

verbal wyvern
#

Yes

vocal cedar
#

oh nice

#

so like

zealous glen
#

and having them on a separate atlas is better

vocal cedar
#

the png yeah

#

@zealous glen oh the retexured legendaries is just cause a friend of mine wanted em but didnt wanna install any modloarders

#

so i just decided to repaint jokers.png for em

zealous glen
#

It doesn't violate the rules, it's resistant to updates (by being a SMODS mod), and as a Malverk mod can be combined with other textures

vocal cedar
#

i dont plan on merging my legendary rework with legendarie jokers

verbal wyvern
#

In Smodded wiki in API Documentation you can find the Take Ownership stuff

zealous glen
vocal cedar
#

unless i contact the mod creator of legendarie jokers and ask to collab

zealous glen
#

without a modloader

vocal cedar
zealous glen
#

and distributing it I feel like would be a violation of the rules

wintry swallow
#

wait can I reprog the ingame sprites using smods or lovely patches?

zealous glen
#

technically you don't even need them, but it is recommended that you use at least SMODS

#

I also recommend Malverk

verbal wyvern
#

SMODS is very helpful

#

Would def recommend it

vocal cedar
#

I will prob reach out to eaze and see if he wants to collab, otheriwse im absolutely not going to include the remade sprites in any mod i make dont worry lol

wintry swallow
#

Sorry to pop in again, but yall know how I can change the joker sprites only while the mod is active?

verbal wyvern
#

Have you watched that one youtube video on making modded jokers

wintry swallow
#

yeah

verbal wyvern
#

So if you have your joker with your custom sprite in your mod yeah it wont be there if you reload

#

Did you make a backup of your vanilla folder?

wintry swallow
#

I meant change the vanilla jokers, sorry

wintry swallow
vocal cedar
hasty thicket
vocal cedar
#

three hours lol

hasty thicket
#

. . .

verbal wyvern
# wintry swallow yup

Yeah you still can, youll just have to take ownership of the joker you want to reskin and use your custom png and callout the column and row in the pos

vocal cedar
#

you

hasty thicket
#

bro confused 1/8 of the day with an hour

vocal cedar
#

you literally like

hasty thicket
#

im trolling you Lmaooo

vocal cedar
#

this guy

verbal wyvern
#

😭

vocal cedar
#

manifesting hammers above you

hasty thicket
#

you didnt even spell freese right

vocal cedar
#

oh i did

verbal wyvern
#

Thats wild

hasty thicket
#

cap

vocal cedar
#

Proper Nouns are always spelled right

wintry swallow
vocal cedar
#

:)

hasty thicket
verbal wyvern
vocal cedar
#

its the new thing

#

its like

#

fancy nouns

#

where you can make random bullshit

hasty thicket
vocal cedar
#

new earth mod

hasty thicket
#

ik

#

anyway why did you send the image

vocal cedar
verbal wyvern
#

Did you not see the image

#

Its hilarious

vocal cedar
#

since you linked the mod tutorial

#

ive been cooking

hasty thicket
hasty thicket
#

I started coding 2 days ago.

verbal wyvern
#

Ahem, youre*

#

speaking about proper nouns and cant even grammar smh

modern kindle
hasty thicket
vocal cedar
#

yrou're

verbal wyvern
#

I did forget the apostrophe thats my b

#

Yo’ure right

hasty thicket
#

lmao

#

okay imma go back to learning lua

wintry swallow
verbal wyvern
#

Its basically what it says, in your code you can take ownership of preexisting vanilla content and change it up

verbal wyvern
wintry swallow
#

sorry gain, I'm pretty stupid 🙏

vocal cedar
#

your mod basically takes the vanilla joker, rewrites it from scratch, puts your twists on it and throws it back into the game with new shit

verbal wyvern
#

Its at the bottom of that page

hasty thicket
verbal wyvern
#

That idk I didnt make steam Modded

#

But its also just a code value

#

Not like

#

Actually taking ownership

#

You basically just add the vanilla asset to your mod

verbal wyvern
#

It will still be part of the base game and function like normal when you unload your mod but whilr your mod is loaded anything you change will be in effect

wintry swallow
#

.

verbal wyvern
#

@wintry swallow if you havent and have the time before you get modding I would go through the steammodded wiki and just, read all of it

#

You’ll likely be going back to it while coding but it can help you understand it more beforehand

wintry swallow
#

Thank you for the tips! I'm gonna grab something to eat and then continue

hasty thicket
#

yall wanna know what i love

vocal cedar
#

pancakes

hasty thicket
#

vertical monitors that flip 🙂

verbal wyvern
#

Thats

#

So lovely

hasty thicket
#

?

#

BOTH MY MONITORS DO IT

#

okay time to create a new joker

#

🙂

verbal wyvern
#

I do all my coding on my laptop so god I wish

hasty thicket
#

Lmaooo fair

#

when i read stuff its awesome

#

so much text

verbal wyvern
#

You can see the whole page 😭

hard flume
#

Hihi :3

hasty thicket
#

its so much

hard flume
#

I'm gonna work on making some Jokers, consumables and a new modifier today. Actually get the content of each world before I limit that content to said world.

hushed field
#

My monitor's 12 by 12 pixels and flashes each letter to my individually at lightning speed

hard flume
hasty thicket
#

Considering making a card that will subtract money to add multipliers, and one that does the opposite:

Example would be if you have X cash, then you subtract it, and gain X bonus.
Or
If you have X bonus, you subtract it to gain X cash

manic rune
#

good morning everyone

hushed field
#

Morning Bepis

hasty thicket
manic rune
#

my morning btw :3

hushed field
#

I personally enjoy a good risk and reward joker, so having to sell out to save your economy is an interesting choice, I'd say

hasty thicket
#

yeah

#

I plan to make a full joker set (around 15 cards) plus a custom deck.

hushed field
#

My version changes xmult and cost depending on its positioning, and self destructs if you can't pay for it, and I personally enjoyed the active choices it's made me make

hasty thicket
#

i see

#

OOH

manic rune
#

only 15 cards? thats lame :3

#

go further and beyond

hasty thicket
#

i might do it depending on the hand played, like if a flush is played it causes the event

manic rune
#

add a gazillion jokers

hasty thicket
manic rune
#

im new too, we can go wild

#

:3

hasty thicket
#

i started 2 days ago

tall wharf
hard flume
#

Hmm... What other worlds could I add btw? I know I wanna add Mushroom Kingdom, and I already have a Yume Nikki-themed world.

hasty thicket
#

less than 48 hours

manic rune
#

i started a month ago ❤️

tall wharf
#

infinite craft in balatro

manic rune
hushed field
#

Oh you're making a Balatro mod? It's not really a mod unless you add 150 jokers, a new consumeable, and a board game from your youth to the game, sorry

modern kindle
#

oh hi bepis

tall wharf
manic rune
#

hi dilly

vast fractal
#

the color is not coloring 😭

manic rune
#

-# i almost said diddy again

manic rune
#

not GRAY

modern kindle
#

my goat ice present too and aiko

modern kindle
manic rune
#

oh but also

#

i suggest using "inactive" for that one instead

#

its used for text like that

#

-# maybe?

manic rune
hard flume
hushed field
#

A mod is only a mod if every single joker is a very explicit reference, sorry

modern kindle
#

im so fucked my mod is cooked

hasty thicket
#

what abt a mod for food

modern kindle
#

i have like 3 references

#

out of 50

hushed field
manic rune
#

my entire mod is a reference

#

:3

modern kindle
#

well arent u fweakin special..

vast fractal
manic rune
#

i see

#

gray probably doesnt exist then

red flower
#

a mod that orders pizza in real life when a royal flush is scored

modern kindle
#

is it a random pizza, or one tailored to you

red flower
#

random

hasty thicket
modern kindle
#

that sure is a gamble

hasty thicket
#

IM DEF DOING THAT

hushed field
#

Ingredients based on the played ranks ofc

red flower
#

for a royal flush?

modern kindle
#

yea idk how we manage that one

hushed field
#

I missed the Royal haha

manic rune
#

heres all the available colors

modern kindle
#

suit and rank combined equals ingredient

red flower
manic rune
#

i thought about a cooking mod too lmfao

manic rune
hushed field
# hasty thicket IM DEF DOING THAT

If you want, I can see if I can see if I can make a proper generic version of my mod's food consumeable, if your ideas'd work with it, haha

modern kindle
hard flume
#

I'm adding Potion Crafting eventually. That counts as cooking, right?

red flower
#

go ahead comrades

manic rune
#

cooking in walter white's terms

#

:3

hushed field
#

You'll have to check Kino to see if it's a type of food that works like you want in any way though, I'm sure there have been thousands of ways to implement food consumeables

hasty thicket
#

we shall see

manic rune
#

wait, does "1 in 4" use E:2?

#

i remember someone saying so

hushed field
#

Also good motivation to take out their dependency on tags and just make them fully card objects, instead of tag spawners

red flower
manic rune
#

:3

#

god damn it i got gaslighted

hushed field
#

What does E:3 even do? Wobble harder?

manic rune
#

shakes the entire screen

red flower
#

i dont think theres an e3, it got cancelled for the summer game fest

hard flume
#

I'm gonna add Runes and Potion Crafting soon. But first, I need to finish the Yume Nikki Reference

manic rune
#

my mod definitely has e6 though

#

wink wink

red flower
#

so true

manic rune
#

i think there was a way to add to INFO_QUEUE stuff straight from localization

time to find that one image i saved a few weeks ago

hushed field
#

I did mean E:2 but apparently E:2 makes the train shake so I mistyped

manic rune
#

oh yeah, that

#

:3

#

i got this one from when Riv_Falcon posted on here

#

24/2

#

-# why do i look like a stalker doing this

hushed field
#

I should put some effort into properly writing my glossary because I don't think people are gonna understand spellcasting at all if they don't run into Fantasy cards

hasty thicket
#

My issue has something to do with the values or naming, because the Xmult isn't being rendered.

manic rune
#

{X:mult,C:white}