#💻・modding-dev

1 messages · Page 281 of 1

lament agate
#

im not blaming anything

#

oh waiy

#

my nitor gone

#

no hands up emoji

gleaming jungle
#

you can just overwrite the original language file, it's what i've been doing up until now

gleaming jungle
#

you can set it to use a language as base, overwrite whichever fields you want to change, and that's it

#

load it through steamodded like any other (though this is literally what i was just asking about avoiding :P)

lament agate
#

thanks doc

#

also what text editor do you use

#

IDE*

gleaming jungle
#

vscode

lament agate
#

if youre that type of person

lament agate
stark geode
#

does anyone know why my bu mod might not be working

lament agate
stark geode
#

its not even a crash log

manic rune
#

aure please dont deevolve to an emo 2008 kid 💔

stark geode
#

the language just doesnt apply

#

it should say jimbos

manic rune
#

ship it

stark geode
#

normal play hand button

lament agate
#

use debugplus

#

and see the log i suppose

#

thats what ive been doing

manic rune
#

yall

gleaming jungle
manic rune
#

check out balatro impact

lament agate
#

play B:SR btw

stark geode
manic rune
#

play balatro impact guys

stark geode
gleaming jungle
#

oh it's not even using smods lmao

manic rune
#

yeah

gleaming jungle
#

i'll look but not what i've been using to replace my language thus far

manic rune
#

it uses lovely

#

you would have to port that to smods

stark geode
#

how would one do that

tawny narwhal
#

Just aint workin at all now... Clearly I'm missing something obvious

-- RESET IF 'UPGRADE' NOT FULFILLED - MORE THAN ONE HAND PER BLIND IS USED
        if G.GAME.current_round.hands_played <= 1 and not context.end_of_round and not card.ability.extra.Xmult == 1 and context.cardarea == G.jokers then
            card.ability.extra.Xmult = 1
            return{
                message = 'Subsonic...',
                sound = 'LJet_SCruiseReset',
                colour = G.C.ATTENTION,
            }
        end```
manic rune
lament agate
#

ive been making myself hard to mod this game

manic rune
#

nxkoo

#

please

lament agate
#

using N++ doesnt help a bit

manic rune
#

reword that sentence

#

💔

lament agate
#

what

#

OH

#

i mean

#

ive been making my progress haerder

stark geode
#

join us

tawny narwhal
lament agate
stark geode
#

WWWWW

manic rune
#

YOOO

lament agate
#

it wont download the fucking

#

thing

manic rune
#

WE ARE SO BACK

#

yeah but ngl, i should move to codium instead

#

but im lazy

#

💔

gleaming jungle
#

we love vscodium

lament agate
#

nevermind

gleaming jungle
#

except that i can't get the python language tools to work

lament agate
#

it downloaded

stark geode
#

now pipe smods and the source code into it

lament agate
#

how

#

TBOI is here and yet no Balatro

#

💔

manic rune
stark geode
manic rune
#

you just need to open the mods folder with lovely and smods

#

and there will be autocomplete

lament agate
#

this semester aint done but i am

manic rune
#

ye

stark geode
manic rune
#

:3

tawny narwhal
tawny narwhal
#

okay

#

basically

digital niche
#

is there a way to make a tarot card that takes out 2 cards and add a new one based on the two? dowsnt look very hard but im not sure

#

also good morning!

tawny narwhal
#

Joker gains Xmult for each blind beaten in a single hand

#

I want it to reset back to x1 if the first hand fails to win the blind

#

But the only version i've gotten to reset resets multiple times

#

sometimes even repeating while it absolutely shoudln't be

manic rune
#
        if G.GAME.current_round.hands_played > 1 and context.end_of_round and context.main_eval and card.ability.extra.Xmult > 1 then
            card.ability.extra.Xmult = 1
            return{
                message = 'Subsonic...',
                sound = 'LJet_SCruiseReset',
                colour = G.C.ATTENTION,
            }
        end

tawny narwhal
#

main_eval? Whats that?

#

Appreciate it thoo

manic rune
#

dunno, some stuff to prevent that from repeating

tawny narwhal
#

swagger

red flower
manic rune
#

hi N'

tawny narwhal
manic rune
#

debuff wha

tawny narwhal
#

resets*

digital niche
#

how do i make a joker that adds a new playing card to the deck like with the stone joker?

manic rune
#

it resets after the second hand is played?

tawny narwhal
#

so the rest of the round won't get the benefit of the Xmult

manic rune
#
        if G.GAME.current_round.hands_played > 1 and context.before and not context.end_of_round and card.ability.extra.Xmult ~= 1 then
            card.ability.extra.Xmult = 1
            return{
                message = 'Subsonic...',
                sound = 'LJet_SCruiseReset',
                colour = G.C.ATTENTION,
            }
        end
#

probably that

runic pecan
manic rune
#

man, i hate mods which do that

#

uh

#

there

minor magnet
#

why does this crash?

hushed field
#

oh no wait

minor magnet
#

it's for a deck

hushed field
#

it's a card back

#

yeah I see it now

#

cards don't exist yet

stark geode
#

I'll get my mods rarity working then I'll make a smods version of the bu mod

hushed field
#

does the create a card function work like that?

minor magnet
hushed field
#

Should it not be create_card({set=whatever})

#

instead of straight going to the brackets? Or is that just one of those lua things

digital niche
#

how do i make a joker that changes the playing cards i have? like, i have an steel card in my hand and it turn into gold

#

like midas but for some types of cards

normal crest
hushed field
#

ahh

brazen tusk
#

do i just put context.destroy_cards into the if here? been struggling to get it to work

primal robin
#

Is G.GAME.dollars should be used with to_big with Talisman?

quartz ravine
#

Hi folks, what does 'prepend_key' do in create card? I am trying to make a booster pack containing only cards from my mod, all of my joker cards have my mod prefix of fox_

manic rune
#

to_big(G.GAME.dollars) actually doesnt do anything, since G.GAME.dollars is already a table

red flower
manic rune
#

but you can still do that nevertheless though

primal robin
#

In this case why vanilla stuff like check_for_unlock({ type = "money" }) doesn't patched yet? ehehe

manic rune
quartz ravine
red flower
manic rune
#

its comparing a table iwth a number

#

but im not too proficient in those talisman shenanigans anyways, so maybe im wrong

digital niche
#

if i were to add the informations about a custom enhancement to a joker i would use

info_queue[#info_queue + 1] = G.P_CENTERS.claws```
right? (the enhancement key is "claws"
primal robin
maiden phoenix
manic rune
#

exactly

#

💔

#

probably an oversight from the devs

maiden phoenix
#

Highly doubt cuz its been here for a while

manic rune
#

mhm

normal crest
#

I thought Talisman's bignums and stuff already handle comparing with numbers

manic rune
#

im still frustrated over the fact that you need Disable Scoring Animations enabled

#

to play my mod

#

like, what the hell 💔

#

it will crash if it isnt

maiden phoenix
#

Wtf that sounds silly

manic rune
#

its pretty funny

#

here

rancid bridge
#

why does it do that.

tawny narwhal
digital niche
#

what is the context for drawing cards?

manic rune
#

talisman

manic rune
#

icic

maiden phoenix
tawny narwhal
#

Yeah like after 1st hand is scored but before the second hand is happening

digital niche
tawny narwhal
manic rune
#

its fine, im glad u figured it out tho :D

primal robin
#

Imagine mod which does not crash for at least ONE day water

quartz ravine
#

Hi folks, how could I index through all of my custom jonklers? My base Lua skill isn't so great but what I'd like to do is this

list all registered cards with this key "j_Fox_"

rancid bridge
#

now how would i make it check if cards with a heart suit are destroyed, and then make it gain xMult from it....

primal robin
#

Pokermon: hey look, new enhancement
Saturn: DED

manic rune
#

💔

primal robin
#

What a hell, how

digital niche
#

what do i use to add an enhancement based on the one the card already have?

manic rune
#

we just dont know

manic rune
digital niche
manic rune
#

card.config.center.key i think

digital niche
#

do i use this in a context or?

manic rune
#

then use :set_ability to set the card's enhancement

manic rune
#

card shoud be replaced with the card your targetting

digital niche
#

the id for steel cards is just "steel" right?

manic rune
#

m_steel

digital niche
#

tyty!

brazen tusk
#

as far as i can tell this should be working per the documentation, says other card is returning nil and when it doesnt say that the destroy just doesnt work

south lintel
#

is there a guide to starting out with modding? I know basic coding but I'm not familiar with modding or Balatro's file structure

manic rune
#

context.destroy_card, not context.destroy_cards

#

and return {true} alone should work

manic rune
#

you forgot an "and" there

south lintel
manic rune
brazen tusk
#

oop

#

ty!

tawny narwhal
digital niche
tawny narwhal
#

In honour of you, I will make a Joker inspired by your favourite plane @manic rune

manic rune
#

plane? uhh

#

a plane out of pepsi pls :3

tawny narwhal
#

Yessir

manic rune
#

im currently doing hw rn so i cant access the source code, sorri

#

search "caino" in card.lua i think

red flower
rancid bridge
tawny narwhal
manic rune
#

oh yeah, that controversy

tawny narwhal
#

mhm

manic rune
#

gift it to me :3

tawny narwhal
#

GR.3 Harrier coming right up

digital niche
manic rune
#

thats

#

wrong

#

😭

#

wat r u trying to do here

digital niche
manic rune
#

ahhhhhhh

#

wait wait

digital niche
#

okok!

manic rune
#

...there doesnt seem to be anything to check the new cards being drawn, hm

digital niche
#

it can also be the cards scored if its easier

manic rune
#

yeah, thats a lot easier

digital niche
#

ye so sure

manic rune
#

oh actually

#

wait

#
if context.before then
  for _,othercard in ipairs(context.scoring_hand) do
    if SMODS.has_enhancement(othercard,"m_steel") then
      othercard:set_ability(G.P_CENTERS["your_enhancement_key"],nil,true)
    end
  end
end
#

there, i think thats it

#

there will be no effects and such though, you will have to do it urself

digital niche
manic rune
#

no, like

#

uh

#

theres no spinny card -> transforms to another enhancement

digital niche
#

ooh, visual effects

manic rune
#

it just turns it into another enhancement immediately

#

yeah

digital niche
#

now that i have no idea how ill do, lemme check that github page

rancid bridge
stiff locust
#

how do I make a return message appear on top of the deck

digital niche
#

what is the thing for if the card shows up in the shop?

stiff locust
#

set_ability

#

also applies when it shows up in a pack

#

or when it is spawned in general

manic rune
quartz ravine
#

is it not possible to load functions into debugPLus? I am trying to debug a function in one of my packs but gettings DebugPlus to notice it is....ahhhh

digital niche
# stiff locust set_ability

wait, i thought i saw one that was like how there is "no_suit" and you just had to set it was false, is that it?

stiff locust
#

set_ability is like calculate

#

it's a function you put in your joker

#

the code in there runs one time when the joker is spawned

manic rune
#

yeah, its G.deck

#

i just tried

digital niche
heavy canopy
#

Would there be a way to :

  • check a joker's edition
  • see if it has a sticker (like perishable)
    in the calculate function ?
stiff locust
#

card.edition.key should be the edition key i think ("e_foil" for foil)

manic rune
#

i think :get_edition() works too, not sure whats the difference

heavy canopy
#

ok

stiff locust
#

stickers are like

#

card.ability.eternal

#

i've only ever done this for eternal so idk about other stickers

manic rune
#

likely the same

stiff locust
#

card of course referring to the card you are checking

heavy canopy
#

i would assume it's .perishable

stiff locust
#

yeah that should be everything but

#

make sure you check if card.edition exists before checking card.edition.key

#

or it could crash

heavy canopy
#

ok

#

thx

#

It works

#

thx

#

ngl

#

adding a custom jokers is shockingly easy

#

it's great

digital niche
manic rune
#

events, :flip()

stiff locust
#

it's nice

heavy canopy
#

The art will be the hard part

stiff locust
#

yeah

brazen tusk
#

not even triggering the mult gain now let alone destroying the cards ;-;

digital niche
stiff locust
manic rune
#

replace context.other_card with context.destroy_card, and switch the positions of that and context.destroy_card

#

if context.individual and context.cardarea == G.play and context.destroy_card and context.destroy_card:is_suit("Hearts") then

stiff locust
#

does destroy_card also work

manic rune
#

yeah

#

destroying_card is what vanilla uses

stiff locust
#

i thought it was just destroying_card

manic rune
#

i think destroy_card is added by smods

stiff locust
#

i see

stiff locust
manic rune
stiff locust
#

oh cool

digital niche
manic rune
manic rune
brazen tusk
#

ah missed that

#

ty

manic rune
#

i mean, you are close

#

this is how an event should look like

#

do remember to return true inside func, else it will loop forever

digital niche
#

tyty!

manic rune
#

check this out if ur still confused

quartz ravine
#

it would be really cool if debugPlus could render a whole table, like the collection view, showing the impact of a shader on all jokers @rough furnace

manic rune
#

nessicary

manic rune
#

aiko manage to do that?

#

its definitely possible through a command

#

you should ask them

brazen tusk
#

still not doing anything ;-;

manic rune
#

oh wait

#

FUCK IM DUBM

digital niche
# manic rune
G.E_MANAGER:add_event(Event({
                        Trigger = 'after',
                        delay = 0,15,
                        func = true,
                        card:flip()
                    }))```
manic rune
#

remove context.individual and context.cardarea == G.play

#

you dont need any of those

brazen tusk
#

oh alr

#

how come?

manic rune
#

and thats not how you define a func in there

#
func = function()  
  --do stuf
  return true --THIS IS IMPORTANT, DONT REMOVE
end
digital niche
#

ooh okok, tyty

#
G.E_MANAGER:add_event(Event({
    trigger = 'after',
    delay = 0,15,
    func = function()
    card:flip()
    return true
       end
}))````
digital niche
manic rune
#

0.15

#

not 0,15

digital niche
#

oh okok, ty!

manic rune
#

and that should work, yeah

digital niche
#

anything else?

digital niche
manic rune
#

but you will have to tweak the trigger and delay a bit to get your timing right

steel egret
#

Hey can I ask for crash help here?

tawny narwhal
#

ofc

steel egret
#

So I got this crash. I think it had to do with the hoarder joker from Extra Credit not allowing me to cash out a blind

tawny narwhal
#

Wait are you making a mod and this is happening?

steel egret
#

No I'm playing the game

manic rune
steel egret
#

Shoot alright

manic rune
tawny narwhal
#

Yo where do people make pixel art for jokers and whatnot for normally?

manic rune
#

aseprite

#

but for non-pixel art, probably smt like krita

#

or gimp 3.0, i heard good reviews about it

hushed field
wooden nexus
tawny narwhal
#

Is the free trial adequate?

orchid thunder
wooden nexus
#

I'll have to figure out why my flush not flushing

primal robin
#

How to force cards in card area be placed correctly?

#

Like after changing area.config.card_limit they're moving to new destinations not instantly

sacred eagle
#

hey so a friend of mine is installing a mod I made and it works fine on my own pc, but once I gave him a zip with all the relevant files it keeps crashing. any ideas on how to fix this? I know next to nothing about lua so any help would be appreciated! (here's the crash log)

marble flint
#

Looks like you didn't send both versions of the textures correctly

#

you need both the 1x and 2x versions and they need to be in the correct folders

sacred eagle
#

okay I'll give that a try tyvm!

quartz ravine
#

I solved my problem. How do you make a booster pack only of cards from your own mod?

First import two functions, one to give you a string startsWith function, and another to look at g_p_centers to find things that start with your prefix.

Finally, call that within your own booster pack

function StartsWith(String,Start)
    return string.sub(String,1,string.len(Start))==Start
 end

function string.starts(String,Start)
    return string.sub(String,1,string.len(Start))==Start
end



function getResourceWithPrefix(s)
    local results = {}
    for k, v in pairs(G.P_CENTERS) do
        if StartsWith(k, s) then 
            print(k)
            table.insert(results ,k)
        end
    end
    return results
 end


function getRandomFoxJoker()
    print("getting a random fox joker")
    local allFoxJokers = getResourceWithPrefix("j_Fox")
    print ("received list of " .. #allFoxJokers)
    local randomJoker = allFoxJokers[math.random(#allFoxJokers)]

    print ("random joker shall be ".. randomJoker)

    return randomJoker
end
tall apex
#

Whassup devgenerates? :3

wintry solar
tall apex
#

could anyone help me tackle making my first booster pack? im struggling to understand what to do to get the items to show up and how to code them in :3

glad osprey
#

how do i get a jokers rarity

rancid bridge
red flower
glad osprey
quartz ravine
tall apex
digital niche
#

did i do something wrong?

rancid bridge
red flower
quartz ravine
digital niche
red flower
red flower
digital niche
#

oh so i invert the cardarea and the main_scoring?

red flower
#

it's fine both ways

digital niche
#

im not sure i follow sorry

red flower
#

the order wasn't the problem the problem is that you were comparing true == Card

digital niche
red flower
#

yes

digital niche
#

tyty!

tall apex
#

hey N do you know at a glance why this color thingy isnt changing the background?

red flower
tall apex
red flower
# tall apex mhm

idk if returning things works but i do it like this (i think ic opied it from another mod)

wintry solar
tall apex
digital niche
rancid bridge
radiant plank
#

how would i go about create a joker pair like gros michel and cavendish where the upgraded joker doesn't show up in the shop until the first has been destroyed?

red flower
tall apex
red flower
# digital niche my game crashes when i use it btw
if context.cardarea == G.play and context.main_scoring then
    local Xmult = 1
    local dol = 0
    if pseudorandom('lucky') < G.GAME.probabilities.normal / 4 then
        Xmult = 2
    end
    if pseudorandom('lucky') < G.GAME.probabilities.normal / 15 then
        dol = G.GAME.dollars
    end
    return {
        x_mult = Xmult,
        dollars = dol
    }
end
#

idk what you want the effect to be tho just basing it on your code

digital niche
rancid bridge
scarlet spire
#

sure why not

red flower
digital niche
#

for some reason the code is telling me to but a , in there

wintry solar
#

Look at the other canio code in vanilla

#

It’s there twice

red flower
#

why is it there twice lol i didnt know that

tall apex
#

wait do i have to define the hex code somewhere?

radiant plank
#

where can i find the shop logic

digital niche
red flower
tall apex
#

oh word

red flower
digital niche
rancid bridge
red flower
red flower
tall apex
#

RANCID PISS YELLOW BOOSTER PACK ATTAINED

digital niche
tall apex
#

i love how im putting in effort to make this mod as unintuitive and unvanilla as possible

#

like my next issue to tackle is once i get the cards spawning in, how to make them spawn on random areas on the screen rather than being organized

pale venture
#

How do you make a custom suit not show up in the customize deck section?

tall apex
#

oh thats hot

#

thats hawt hawt

red flower
#

oh that ones cool

tall apex
#

never give me numbers for i will change them and experiment like a monkey with a typewriter

rancid bridge
tall apex
#

can i give vanilla objects new keys?

#

i think thats the best way to approach this

rancid bridge
red flower
tall apex
sacred eagle
#

Okay I've been stuck on this for so long, is there any example of a front and back face card mod? I'm trying to find a way to make it all streamlined into one lua file but I feel my braincells melting trying to find a key that'd work for front faces on malverk. sad_mimikyu

rancid bridge
tall apex
digital niche
#

how do i make a card take out money when played

tall apex
digital niche
#

i tried using p_dollars = -1

digital niche
tall apex
#

guh

#

idk thenmn

red flower
quartz ravine
rancid bridge
tall apex
rancid bridge
#

do i even have this right actually

tall apex
#

say, where do i find the vanilla keys?

#

somewhere in vanilla code presumably.,

digital niche
red flower
rancid bridge
tall apex
#

that explains why i was missing so many things

#

its beautiful

#

so many keys.,,,

rancid bridge
scarlet spire
#

is there a way to force unhighlight a card?

rancid bridge
#

Ah.

#

would this work then or did i do it horribly wrong

digital niche
#

how about that?

brazen tusk
rancid bridge
#

basically:
if card with hearts suit is destroyed, the joker gains x0.5 mult

brazen tusk
#

im currently trying to figure out destroying myself to no avail so i can't help with that sorry

rugged pier
#

using debugplus, how do i print a line of code in the consule on balatro?

#

do i just do print()

#

?

thin anchor
#

who did this

gaunt thistle
digital niche
#

would this work as taking out money when playing the card?

#

ive set the rental cost before

rancid bridge
#

...how would i do that

lament agate
#

once i know modding thoroughly

#

this channel is done for

solar eagle
#

has newer smods broken if context.individual and context.cardarea == G.hand?

#

because i cant get it to work during scoring

#

it only runs once you win the round

#

baron doesn't work at all

rancid bridge
solar eagle
#

let me investigate

rancid bridge
#

does this look right so far

red flower
radiant plank
#

if i want to add bonus dollars to a card permanently like hiker does it how would i go about this

#

card.ability.extra.dollars doesn't seem like the way to go

red flower
radiant plank
#

thanks!

tall apex
#

ive got it mostly working, im having two issues though

radiant plank
#

perfect

digital niche
#

how can i make it so you loose $1 when playing a card (enhancement

#

im thinking of just making it so it always comes with the rental sticker when you get it

rapid stag
#

@daring fern please tell me how fix girldmDead

tall apex
#

ok so, problem, none of the actual objects are showing up

#

its all going to the fallback default card

#

it made one lusty joker when i had that in the table which was weird

red flower
#

objecttypes are a bit weird honestly, i would recommend checking out a mod that uses them to check how to inject stuff

radiant plank
#

im trying to buff a scored card in the context.individual context but its happening after the card is scored. what's the proper context for this?

brazen tusk
#

whats the context to check the full hand not just scored cards? i tried G.play.cards but its not working

#

might need to change what im doing for it

red flower
red flower
radiant plank
radiant plank
#

yeah exactly

#

but i want the bonus to be added before the scoring

zealous glen
red flower
brazen tusk
zealous glen
#

You’d need to add the buff before

red flower
brazen tusk
#

ahh

radiant plank
#

how would i go about that?

red flower
tall apex
#

thanks c:

brazen tusk
red flower
#

oh yeah i see

brazen tusk
#

now other_card is returning nil ;-;
bane of my existence

rancid bridge
brazen tusk
#

smth like that should be good

#

can replace the last one with the actual value if you dont wanna set up the variable

#

or replace it with your variables even*

rancid bridge
#

what the fuck does it mean missed symbol

brazen tusk
#

ignore it

red flower
#

dont ignore it lol, its telling you card.ability.extra.currentXmult is not a valid field in the table

#

remove the return

brazen tusk
#

ohh

rancid bridge
#

so this then

red flower
#

yes

brazen tusk
#

my ide does that stuff sometimes for stuff that just isnt a problem 💀

red flower
#

i dont think other_card exists in remove_playing_cards tho

rancid bridge
#

are you kidding me 🥹

red flower
#

context.removed is a list of cards removed, you need to iterate through that

thin anchor
#

limited edition

rancid bridge
#

i don't even know what to do anymore i think my brain is collapsing

red flower
next timber
#

how come this only ever displays question marks? the print("Added!") is being shown so the list should be updated but its always just ?,?,?

tall apex
#

well i got it summoning 5 cards now but, they arent random its the same 5

red flower
#

<@&1133519078540185692>

stark geode
#

how does the rarities work in smods

fringe gyro
#

hey guys, so i'm trying to implement my joker idea in to the game, but i'm not sure how to implement one of the mechanics in to the joker. I'm trying to have it change the mult and Xmult based on the number of letters in the names and descriptions of other jokers, but i just don't know where that information would be stored or how to pull from it. Any ideas?

stark geode
#

i find the docs a little cofusin

fringe gyro
stark geode
#

i meant like custom rarities

fringe gyro
#

ohhh, yeah i'm not sure, sorry

red flower
tall apex
#

i worked on this a lot, it spawns 5 cards i like, unfortunately not at random but that'll be something i take on another day

fringe gyro
#

ohh okay! What about doing it per joker that you currently own?

#

thank you so much for your help btw

manic rune
#

grab the joker key from each joker in G.jokers.cards

fringe gyro
#

how would i do that in the SMODS.Joker? I'm still verynew to Lua, i'm sorry

stark geode
#

whats the prefix for a rarity

#

like jokers are j_

red flower
manic rune
#

what the fuck

#

how did you write it that fast

#

😭

fringe gyro
#

nooo cuz that was my exact reaction too lmaoo

red flower
manic rune
#

-# oh right

red flower
#

im not writing this shit on discord

manic rune
#

i have a habit of writing code on discord instead ❤️

manic rune
#

md

#

me

stark geode
#

rip

red flower
fringe gyro
#

under the loc_vars? or somewhere else?

red flower
#

wherever you want to get the counts

manic rune
#

you would probably want to manually remove the space inside the description too, actually

#

unless you want it to be counted too

fringe gyro
#

i'm doing it for a specific letter that changes each round a la ancient joker

narrow iron
#

someone got the error attempt to compare table with number on this line in my mod if G.GAME.dollars <= 10 and G.GAME.dollars >= 0 then, is G.GAME.dollars sometimes a table?

manic rune
#

no

#

thats talisman

narrow iron
#

oh

frosty dock
#

fuck talisman

manic rune
#

THANK YOU FOR UNDERSTANDING MY PAIN AURE

manic rune
#

💔

manic rune
narrow iron
#

how do i add support for talisman then?

manic rune
#

add a to_big function

frosty dock
#

to_big = to_big or function(x) return x end

#

somewhere in your main file

manic rune
#

tup yup, that

frosty dock
#

then for any comparisons, you wrap the operands in to_big

fringe gyro
narrow iron
#

do i just pass dollars through to_big when using it?

frosty dock
#

e.g. if to_big(G.GAME.dollars) <= to_big(10)

narrow iron
#

for every number?!

manic rune
#

nop, you use to_big on the number you are comparing with G.GAME.dollars

narrow iron
#

ohh

frosty dock
#

note: nothing will break if you don't to_big the dollars unless an old version of talisman is being used

#

this is only needed for comparisons

manic rune
#

same goes for when you are comparing with uhhh

#

let's see

narrow iron
#

yeaa i think i like talisman less now

manic rune
#

mult, hand_chips the global var

scarlet spire
#

round score iirc

narrow iron
#

lol

manic rune
#

G.GAME.chips

red flower
manic rune
#

G.GAME.blind.chips

stark geode
#

how do rarities work with localization files

narrow iron
#

but only with comparisons?

fringe gyro
manic rune
#

and probably some more, trial and error ❤️

manic rune
stark geode
#

it shows error

fringe gyro
#

i'm trying to count the occurences of a certain, randomly chosen, letter in each the title and description, and use that number to effect the mult

stark geode
#

on the joker

manic rune
#

you can use that to see how many occurrences there are

red flower
# stark geode
labels = { k_perkolator_perkeo_r  = "Perkeo" }
dictionary = { k_perkolator_perkeo_r = "Perkeo" }
frosty dock
manic rune
#

aure N' just sent that before 💔

#

wait that sounded better in my head

red flower
#

smh

fringe gyro
manic rune
#

ah nvm its not string.find

#

i misremembered

#

here, check out this one

stark geode
#

im losing my mind

rugged pier
#

is there a way to access the required chips to win a particular blind?

stark geode
manic rune
#

G.GAME.blind.chips

scarlet spire
#

what would be the best way to make certain cards undiscardable, say for a boss blind?

rugged pier
fringe gyro
#

thank you! i'm still not sure how to get the, presumibly multiple strings, one for each name and each description

manic rune
red flower
manic rune
#

-# i think my brain is running out of brain juice

scarlet spire
#

yeah I guess I could just hard code it

stark geode
#

i had to lowercase the r

scarlet spire
#

hard-coding for the specific boss blinds was my last resort

red flower
#

oh yeah

manic rune
#

actually, N', isnt description a table of text

weak brook
#

ok folks who know how to DynaText i got a predicament
i'm making an edition that functions a bit like Misprint but instead of randomly choosing a number it chooses a random effect, it either does foil, holo, or poly's effect. But i'm struggling to figure out how to put the XMult text box graphics in just one of the dynatext options
does anyone know how to help with that?

red flower
stark geode
#

how tf do i set the color

#

whats the format

manic rune
#

wha

stark geode
#

im guessing this is wrong

manic rune
#

thats weong

#

HEX('...') if you want to set your custom color

manic rune
#

or G.C[blah blah] if you want to use a pre-existing color

weak brook
manic rune
rugged pier
# manic rune G.GAME.blind.chips
calculate = function(self, card, context)
        if context.selling_card then
            return {
                chips = 0.75 * G.GAME.blind.chips,
            }
        end
    end

is there a reason why something like this would not work?

fringe gyro
red flower
scarlet spire
#

oh, semi-recently support was added for variable text background colors using the code B: instead of X:, so maybe you could just have it always be there and set the color in the table to white (which would be invisible) for every other entry and red for the xmult entry?

manic rune
stark geode
scarlet spire
#

oh is clear also a thing?

manic rune
#

mhm

stark geode
red flower
#

yeah G.C.CLEAR

scarlet spire
#

even better then

manic rune
#

and G.GAME.blind.chips doesn't exist outside a blind i think

manic rune
#

its not a table...

rugged pier
#

is there a context to check if im in a blind

manic rune
#

if G.GAME.blind and G.GAME.blind.chips, probably?

rugged pier
brazen tusk
#

ive been trying this all day and cannot for the life of me get it to work, do i need to do a for loop or smth?

manic rune
#

mark the card played with something

#

like

frosty dock
#

this looks bad

rugged pier
#
calculate = function(self, card, context)
        if G.GAME.blind and G.GAME.blind.chips and context.selling_card then
            return {
                chips = 0.75 * G.GAME.blind.chips,
            }
        end
    end

i guess you cant do math on these kind of variables?

#

seems weird

manic rune
#

context.other_card.ability["please_destroy"]

#

then add a separate context.destroy_card outside your context block

#

check if context.destroy_card has the mark

#

if it is, return true

frosty dock
#

if context.individual and (context.cardarea == G.play or context.cardarea == 'unscored') first of all

manic rune
#

-# oh that exists

#

taking ss rq

rugged pier
red flower
#

idk

frosty dock
#

then for the destroy_card check, it needs to be separate from the individual scoring

rugged pier
#

now i need to do it for the actual implementation

frosty dock
rugged pier
#

it still happens

#

hmm

manic rune
#

i thought you just need to return true?

manic rune
frosty dock
#

true is specifically converted to { remove = true } actually

manic rune
#

ahhh icic

fringe gyro
frosty dock
#

it's not recommended and you'll need to switch to a table if you want any customization on the effect

#

like some message being displayed

manic rune
#

o yea, N', have u checked my world system i added in my mod :3

brazen tusk
fringe gyro
#

i'm trying to show the code that i have so far so i can ask for help in context

red flower
manic rune
stark geode
frosty dock
rugged pier
#

the code needs to go inbetween the backticks

fringe gyro
#
        return { vars = { card.ability.extra.mult, card.ability.extra.Xmult } }
        end,
        for _, joker in ipairs(G.jokers.cards) do
    local name_lenght = #G.localization.descriptions["Joker"][joker.config.center.key].name
    local text_lenght = #G.localization.descriptions["Joker"][joker.config.center.key].text
    for 

end
    ```
manic rune
#

im actually very proud that i got it working with minimum help from others :p

#

-# asides from the flying button

stark geode
red flower
rugged pier
#

how do i print out values using debugplus in the console

red flower
rugged pier
rugged pier
red flower
#

yes

rugged pier
#

cool ty

manic rune
# red flower ohh thats cool

yeah, it allows you to switch between the vanilla showdown boss blind and the mega one from my mod :d

it also accounts for boss reroll, which will only reroll the vanilla one

fringe gyro
# fringe gyro ``` loc_vars = function(self, info_queue, card) return { vars = { car...

i want it to and mult and Xmult for each occurence of a certain letter in the names and descriptions of jokers i own, and also randomize what letter it looks for. I need to concatonate the joker names/descriptions in to 1 string each and use a for loop to count it. I'm not sure how to do that with lua, i'm sorry if this is beyond the scope of this channel

rugged pier
#

hmm weird, so eval G.GAME.blind.chips * 0.75 works and gives me the right number but when i put it in ```lua
calculate = function(self, card, context)
if G.GAME.blind.in_blind and context.selling_card then
return {
chips = 0.75 * G.GAME.blind.chips,
}
end
end

manic rune
#

maybe try setting the stuff outside return first

#

local ret = G.GAME.blind.chips * 0.75

#

then return that

stark geode
#

peak mod

manic rune
digital niche
#

how can i make a enhancement where everytime you play the card you loose $1

rugged pier
manic rune
#

the red color of perkeo's hair i mean

frosty dock
manic rune
stark geode
manic rune
#

oh thats fire

maiden phoenix
red flower
frosty dock
digital niche
manic rune
#

crap

maiden phoenix
#

Ah

digital niche
#

i tried using self.ability.rental but also didnt work

manic rune
maiden phoenix
#

It's so hard to read I love it

manic rune
#

debug inspect swag???

frosty dock
thin anchor
#

how do i make shaders for editions?

digital niche
#

send debug message (inspect (swag))

digital niche
red flower
manic rune
#

what the fuck

maiden phoenix
#

Yea alright just prove me all wrong 😔

manic rune
#

guess i need to upgrade the swag side of my brain

rugged pier
manic rune
#

this reminds me of teen code in my country

rugged pier
#

instead of returning chips, is there a way for me to set the chips of the current blind to that value

manic rune
#

this was the kinda stuff i had to deal with

stark geode
#

how does one set the text color of a rairity

stark geode
digital niche
red flower
stark geode
#

rip

manic rune
#

damn, i remember Winter being able to do that

stark geode
#

guess im not doing it

rugged pier
manic rune
#

set your current chips to the given number

frosty dock
digital niche
fringe gyro
#
    local name_lenght = #G.localization.descriptions["Joker"][joker.config.center.key].name
    local text_lenght = #G.localization.descriptions["Joker"][joker.config.center.key].text

how do i use/manipulate the output of this?

red flower
frosty dock
#

instead of this

#

return { dollars = -1 }

digital niche
#

ooh okok, ty!

rugged pier
frosty dock
#

tables use curly braces

manic rune
#

no no

#

dont return

#

its a function

rugged pier
#

ah

manic rune
#

i wonder if thunk ever reads messages in those modding channels

rugged pier
#

ease_chips(0.75 * G.GAME.blind.chips)

red flower
#

i bet he secretly really likes hit mod joyousspring

manic rune
#

i bet he loves gambling² reincarnated the mod

rugged pier
#
        if G.GAME.blind.in_blind and context.selling_card then
            ease_chips(0.75 * G.GAME.blind.chips)
        end
    end

like this?

manic rune
#

that will work, but it will always set the chips to that number i think

rugged pier
#

youre right

#

i didnt consider that

digital niche
manic rune
#

do stuff with G.GAME.chips too

rugged pier
#

wait i got it

digital niche
#

i was stuck on this for kind a while

hushed field
#

thunk dms me every night asking me to add his favorite movies to kino but i ignore him because he's kinda annoying

rugged pier
manic rune
#

checks how much chips you currently have

rugged pier
manic rune
#

the round

rugged pier
#

awesome thats perfect

hushed field
manic rune
#

😭 huh???

stark geode
#

what does the weight things do in rarity

#

["Joker"] = {rate = 0.7},

#

like that

manic rune
#

*demolishes your house by inhaling your chips bag with the power of a literal black hole cutely :3

maiden phoenix
manic rune
#

thunk keeps dming me that he loses 50/50 in my mod

#

smh

digital niche
#

i thought of when you fuse 2 wild cards you get the "Monster" joker, everytime you play a steel card if turns into a "Claws" card (Fusion of Steel+Wild, gives X3 mult but breakes after 3 uses), what yall think?

manic rune
#

#thuglife

stark geode
#

does the thunk talk to people here

manic rune
#

i haven't seen him being around here before

red flower
#

not me he hates me

rugged pier
#
        if G.GAME.blind.in_blind and context.selling_card then
            ease_chips(0.75 * G.GAME.blind.chips + G.GAME.chips)
        end
    end
``` this worked perfectly, thanks @manic rune
stark geode
#

wait

#

you can just dm thunk

thin anchor
#

how do i make shaders

manic rune
#

i mean, yes, but that's probably sent straight to message requests

manic rune
#

and good luck

#

i genuinely wish you the best

thin anchor
#

well ok... im scared now

manic rune
#

like, i wish you come out alive

thin anchor
manic rune
radiant plank
#

where do i get information about the booster pack inside the context.open_booster context? the wiki isn't clear on this.

thin anchor
#

what

manic rune
#

ʖᒷ∴ᔑ∷ᒷ 𝙹⎓ ℸ ̣ ⍑ᒷ ᓭℸ ̣ 𝙹∷ᒲ

thin anchor
#

im scared

manic rune
#

me when shaders:

digital niche
#

how do i make it so you cant get the enhancement in booster packs or in shops?

thin anchor
#

what the hell is an f#

digital niche
#

just by using the tarot card for it

manic rune
#

ℸ ̣ ⍑ᒷ 𝙹リᒷ ℸ ̣ ⍑ᔑℸ ̣ ꖎ𝙹𝙹ꖌᓭ ↸𝙹∴リ ⚍!¡𝙹リ ⚍ᓭ ╎ᓭ ℸ ̣ ⍑ᒷ 𝙹リᒷ ∴⍑𝙹 ⊣╎⍊ᒷᓭ ⚍ᓭ ℸ ̣ ⍑ᒷ ⍑ᔑ!¡!¡╎リᒷᓭᓭ ∴ᒷ ↸𝙹 リ𝙹ℸ ̣ ↸ᒷᓭᒷ∷⍊ᒷ, ᔑᒲᒷリ

thin anchor
#

i dont like this

manic rune
#

👁‍🗨

thin anchor
heady siren
#

How the hell does the rarity badge colour work?

fringe gyro
#
    local name = #G.localization.descriptions["Joker"][joker.config.center.key].name
    local text = #G.localization.descriptions["Joker"][joker.config.center.key].text
``` how would i put all of the names and texts in to strings? i'm not sure about the format of Lua stuff
manic rune
#

remove the #

heady siren
heady siren
#

So it'll return a number or nil

manic rune
rancid bridge
red flower
rugged pier
manic rune
#

some people call index "key"

fringe gyro
#
        return { vars = { card.ability.extra.mult, card.ability.extra.Xmult } }
        end,
        for _, joker in ipairs(G.jokers.cards) do
    local name = G.localization.descriptions["Joker"][joker.config.center.key].name
    local text = G.localization.descriptions["Joker"][joker.config.center.key].text
        for "E" in name do
    Xmult =+1
    end
        for "E" in text do
    mult =+3
    end
``` is this right?
manic rune
#

idek which one is correct at this point

red flower
manic rune
#

ohhhhhh

#

icic

heady siren
rugged pier
thin anchor
manic rune
#

ahhhh

#

rip

heady siren
manic rune
#

close some of ur tabs

heady siren
#

The color I made works everywhere else

brazen tusk
#

would it be possible to make the destroy happen one card at a time?

rancid bridge
red flower
#

so G.C.FLESH doesnt exist at that point

heady siren
#

Rarities are established way before everything else?

manic rune
#

not sure though

red flower
#

you can try defining the colors outside the function

rugged pier
#

can you try just putting the color before the rarity

heady siren
#

Like I said the color works literally everwhere else, so I'm confused

rugged pier
#

and see if it changes anything

heady siren
#

I'll shove it before the rarity though

rugged pier
#

wait dont you have to call the funtion

fringe gyro
#
        return { vars = { card.ability.extra.mult, card.ability.extra.Xmult } }
        end,
        for _, joker in ipairs(G.jokers.cards) do
    local name = G.localization.descriptions["Joker"][joker.config.center.key].name
    local text = G.localization.descriptions["Joker"][joker.config.center.key].text
        for "E" in name do
    Xmult =+1
    end
        for "E" in text do
    mult =+3
    end```
did i implement this right?
red flower
heady siren
#

That worked

#

Beware the Flesh Joker

red flower
rugged pier
rugged pier
digital niche
#

how hard is it to make a new type of consumable?

rugged pier
#

is there a context that can check if a card's suit or rank has changed?

#

or do i have to check for certain consumable types being used

red flower
#

i dont think so

rugged pier
#

and risk imcompatibility with other mods

#

right?

heady siren
red flower
heady siren
#

That would probably work too

rugged pier
#

is there a wiki for hooks ive never used them before lol

red flower
heady siren
#

I was literally about to send that link

#

God damn you

red flower
#

❤️

heady siren
#

Does SMODS.change_base use the set_base function?

red flower
#

yes

heady siren
#

Alright good, then hooking set_base would be perfect

#

I should probably do that too

digital niche
#

i was a little bit distracted when coding and instead of putting the enhancement name i put my own full name 😭

heady siren
#

How the hell

digital niche
#

dont ask me i dont even know LOLL

heady siren
#

Though I'm not sure how to set up consumable sets

digital niche
#

yeah i meant like how cryptid have the codes yk?

heady siren
#

I know

#

There it is

#

Consumeable Type is the second one

rugged pier
#

and so death, and other tarot cards that would change card ranks/suits

#

would use set_base

#

so i can check for joker being owned in set_base and add to his mult?

heady siren
digital niche
rugged pier
digital niche
#

how can i make it so a card is destroyed after 3 rounds?

rugged pier
#

counterfeit cards

#

actually no

#

its not rounds

heady siren
#

Not quite yet, it's an idea for now

rugged pier
#

but times scored

#

ah okay

digital niche
rugged pier
#

oh well i suppose you guys can implement together then lol

digital niche
#

with rounds i meant use, its just because the ones im using are h_x_mult so basically rounds

orchid thunder
#

would i not use G.GAME.mob_arena_values.area to get the area value

heady siren
digital niche
#

okok!! tyy!

crimson marlin
#

erm how do i define my shader

rugged pier
#
local set_base_balatro = set_base
set_base = function(self, card, context)
    --do something
    local ret = set_base_balatro(self, card, context)
    return ret
end

is this what i do for hooks

red flower
#

no, sorry "set_base" doesn't exist I meant Card:set_base

#

function Card:set_base(card, initial)

digital niche
#

i mean like i codded it wrong

rugged pier
red flower
#

Card.set_base = function(self, card, initial)

rugged pier
#

following this

red flower
#

Card: passes self

red flower
digital niche
rugged pier