#đŸ’»ăƒ»modding-dev

1 messages · Page 130 of 1

tall wharf
primal robin
#

Is there any mod that "rebuild" challenges in terms of code/ui entirely?

sick sparrow
#

the controller is so broken i couldn't imagine like cryptid

#

anyway, don't play cryptid with controllers

#

it will ruin your experience

tall wharf
long sun
#

thoughts on this joker concept?
Fiddler (Uncommon): Create a Devil or a Fool when Blind is selected (Must have room)

frosty dock
#

"with equal odds" is unnecessary imo

long sun
#

fair ^^

frosty dock
#

not sure about balance, but it's definitely stronger than Cartomancer and questionably better than vagabond too

night pagoda
#

How do I get the center position of the card on screen?

frosty dock
#

so I think this could easily be a rare

night pagoda
#

I used this but you can see by the red dot it's offset in some weird way

frosty dock
#

T.x/T.y is top left corner iirc

night pagoda
#

There wasn't a difference between T and VT when I was comparing both here

#

yep, absolutely the same result

wintry solar
#

they differ whilst the card moves iirc

night pagoda
#

cursor position, on the other hand, is shown correctly

#

I use this to check both

long sun
#

ooh okay

#

maybe not Fool then?

night pagoda
#

It feels like I'm missing some hidden multiplier

#

since the difference between cursor position and card position ranges when I move the card (not counting the interpolation)

#

and the position is going nuts if I resize the window

long sun
#

what about Devil / Tower?

cloud ore
#

what does the key parameter do in the SMODS.DeckSkin API

#

i am confused

#

genuinely confused no idea if i'm doing this right

chilly summit
#

im trying to make a balatro mod but whenever im going to install lovely it says "web location could not be accessed"

#

im not using any anti virus things so im not sure if tis my browser being annoying or what

wintry solar
cloud ore
#

object as in

wintry solar
#

the deckskin

violet void
#

Can anyone help me figure this out? 😭

I was told I have to remove loc_txt if Im using localization

But if I do, it just stops working entirely, because its not detecting the localization at all

wintry solar
#

try s_cs_lift_seal or s_cs_lift_seal_seal

violet void
#

unbelievable đŸ€ŠđŸœâ€â™‚ïž

sick sparrow
#

wow, SMODS.has_enhancement(context.other_card, "m_stone") crash game

violet void
#

it was cs_lift_seal_seal

#

thanks a lot eremel you saved me a headache

crisp coral
#

yeah it appends "_seal" to the key

wintry solar
#

it also prepends s_

#

I'm not sure why it does both đŸ€·â€â™‚ïž

frosty dock
#

was removed for consistency with vanilla seals iirc

cloud ore
#

can someone explain to me like i'm a 5 year old with ADHD i am insanely confused about what i'm doing

violet void
#

no it doesnt add s_, only _seal

wintry solar
#

oh fair

#

my seal code is very old

tall wharf
#

😭 everything has it

wintry solar
tall wharf
cloud ore
#

the textures?

sand oasis
#

yep the textures need to be in an Assets folder

cloud ore
#

is that all

#

did i just forger a folder and all went to shit

sand oasis
#

it might be

cloud ore
#

oh there's a template

#

i was looking at the like

#

api documentation on it

#

that should help

sand oasis
#

hope it does!!

cloud ore
#

i am now 3 times more confused

tall wharf
#

how do you make a fully custom tooltip for info queue

long sun
#

thoughts? :D

sand oasis
#

beautiful!

cloud ore
#

looks great!

long sun
#

thanks!!!!

sick sparrow
#

does lovely patch match partital lines?
for example: i want to replace self.ability.effect == 'Stone Card' into self.ability.effect == 'Stone Card' and (not (G.GAME and (not G.GAME.Hyperstoneia))).
Inside the code:

function Card:get_chip_bonus()
    if self.debuff then return 0 end
    if self.ability.effect == 'Stone Card' then
        return self.ability.bonus + (self.ability.perma_bonus or 0)
    end
    return self.base.nominal + self.ability.bonus + (self.ability.perma_bonus or 0)
end
```Expected:
```lua
function Card:get_chip_bonus()
    if self.debuff then return 0 end
    if self.ability.effect == 'Stone Card' and (not (G.GAME and (not G.GAME.Hyperstoneia))) then
        return self.ability.bonus + (self.ability.perma_bonus or 0)
    end
    return self.base.nominal + self.ability.bonus + (self.ability.perma_bonus or 0)
end
frosty dock
#

you'd need to use regex

tall wharf
#

ok so how do i do completely custom info queue

crisp coral
#

how custom.... 🐮

tall wharf
long sun
#

with or without sparkles?

wintry solar
#

info_queue[#info_queue + 1] = horse duh

cloud ore
#

what do i put as the atlas_key i am confused once again!

sand oasis
#

I think without sparkles is better

tall wharf
#

😭

sand oasis
#

or maybe less sparkles?

dreamy thunder
#

how do i make it so my enchancement only gives mult when if played hand contains a flush?

cloud ore
wintry solar
cloud ore
#

not directly on top of it

cloud ore
#

the game crashes when i put anything in

#

wait lemme grab the error message

wintry solar
#

oh maybe this template is old and broken

cloud ore
#

the code btw

cloud ore
wintry solar
#

see those lines that say prefix_config = ...?

#

delete them

cloud ore
#

tthe one in SMODS_altas?

wintry solar
#

yeah

cloud ore
#

nope still broken

#

nvm there were two prefix configs i'm gonna kms

#

dementia

cloud ore
#

current code aswell

sick sparrow
#

how to make stone cards act as normal cards when the specific effect is active?

#

as you can see, this hovered stone card with hyperstoneia should be score 9 instead of 50, but it still scores 50.

sick sparrow
cloud ore
sand oasis
#

oh

frosty dock
cloud ore
#

wait a second

#

i think i know

sand oasis
#

ohhhhh

#

no

cloud ore
#

is it supposed to be assets/textures/2x or whatever

sand oasis
#

I think so

frosty dock
#

assets/1x and assets/2x, yeah

sand oasis
#

and just call the files uk

#

they're being appended with _lc and _hc by the code

frosty dock
#

uk_hc and uk_lc is fine

sick sparrow
#

how to make stone cards act as normal cards when the specific effect is active?

sand oasis
#

never mind listen to them lol

frosty dock
cloud ore
#

should i add both textures in both 1x and 2x folders?

frosty dock
#

2x should be scaled up by.. well, 2x

cloud ore
#

oh my god

#

that's what 1x and 2x mean???

#

i never realised i am so stupid

sand oasis
#

yep

#

nah believe me

#

i've spent at least an hour confused by things resulting from me mispelling stuff

#

it's all a process

#

Can someone help troubleshoot this with me? Been trying to understand why everything in the "if context.end_of_round..." statement just doesn't work. If the return statement is the first thing there, then the message doesn't send, but the card always steals your money. If the return statement is the last thing there, nothing works. Any ideas?

cloud ore
#

jarvis search up "how to hang myself" for me

#

i am insanely confused

wintry solar
sand oasis
#

Wow.

sick sparrow
#

how to make stone cards act as normal cards when the specific effect is active?

sand oasis
#

Is that it? lmao

#

oh god

frosty dock
sudden dew
#

Anybody else experience this? If I save a card in some field where it will persist between game sessions (either a field in G.GAME or <whatever card>.ability.whatever), when I exit the game and restart, it gets replaced with the string "MANUAL_REPLACE"

cloud ore
frosty dock
cloud ore
#

i checked both

#

both don't work

frosty dock
#

also not assets/resources

#

assets/2x/file.png works

sand oasis
frosty dock
cloud ore
frosty dock
#

just rename resources to assets

cloud ore
#

i am going to crash out

#

it was named assets before and didn't work

#

anyways it works but the textures don't show up

#

probably fucked up in the lua file

frosty dock
#

local suits = {'hearts'}

#

that's not right

#

should be local suits = {'Hearts'}

zealous glen
cloud ore
#

still gonna change it

wintry solar
dreamy thunder
#

wait they changed how enhancements work? or is it because im using better_calc

wintry solar
cloud ore
frosty dock
sand oasis
zealous glen
sand oasis
#

1310b

wintry solar
#

oh good spot, I don't know why they differ other than the area đŸ€”

zealous glen
#

You just used the prefix

zealous glen
cloud ore
#

i am stupids

tall wharf
zealous glen
#

It’s like a name

frosty dock
zealous glen
#

But no two objects should have the same key

#

They could have the same name just not the same key

cloud ore
#

i changed it that's an old screenshot

frosty dock
zealous glen
dreamy thunder
cloud ore
#

latest, downloaded today

dreamy thunder
#

cause none of my enhancements seemts to be working

frosty dock
#

what I was gonna say is also specific to better_calc

zealous glen
#

What does your texture look like

frosty dock
#

there's no longer an effect arg, you just return the effects like you do for jokers

dreamy thunder
#

oh i see

cloud ore
dreamy thunder
zealous glen
# cloud ore these

Alright, below that line where it says you probably don’t need to change anything

#

Look up where it’s written 'deck'

tall wharf
cloud ore
#

don't tell me i just have to change it to collab

zealous glen
frosty dock
#

(or G.hand for cards held in hand)

dreamy thunder
#

alright

#

thank you

zealous glen
cloud ore
zealous glen
#

I wrote it before Steamodded fixed a bug and added other functionality

cloud ore
#

what the fuck did i do

#

wait mb i have another mod loaded that's probably the issue

tall wharf
cloud ore
#

still doesn't work tho

zealous glen
tall wharf
nocturne garnet
sick sparrow
#

how to take_ownership after the game has finished loading?

zealous glen
tall wharf
#
            local movement_mod = 0.05*math.sin(1.1*(G.TIMERS.REAL + card.aiko_draw_delay)) - 0.07
            local rot_mod = 0.02*math.sin(0.72*(G.TIMERS.REAL + card.aiko_draw_delay)) + 0.03
            local drag_mod = card.velocity
            
            G.aikoyori_letters_stickers[card.aikoyori_letters_stickers].role.draw_major = card
            G.aikoyori_letters_stickers[card.aikoyori_letters_stickers]:draw_shader('dissolve', 0, nil, nil, card.children.center, 0.1, rot_mod, drag_mod.x * -3, movement_mod - drag_mod.y * -3)
            G.aikoyori_letters_stickers[card.aikoyori_letters_stickers]:draw_shader('dissolve', nil, nil, nil, card.children.center, nil, rot_mod, drag_mod.x * -3, -0.02 + movement_mod*0.9 - drag_mod.y * -3, nil)
nocturne garnet
tall wharf
#

you can make words with them

#

potentially

nocturne garnet
#

but like

#

Why

tall wharf
#

why not

cloud ore
#

no fucking way scrabbletro

zealous glen
#

I don’t quite get it from this code

tall wharf
#

i just take it from the cards

zealous glen
#

I only see one dimension

cloud ore
#

erm,... i'm gonna crash tf out>?

sick sparrow
#

how to take_ownership after the game has finished loading?

tall wharf
zealous glen
tall wharf
zealous glen
#

And it seems to be a number not a vector

#

So I’m not sure how to move in the 2nd dimension

thorny adder
#

Just increase your priority level

sick sparrow
frosty dock
#

that's not what take_ownership is meant for

#

what do you need to do? most likely you can just change the values on the card

zealous glen
#

@cloud ore this is for a slightly older version of Steamodded but it works

--- STEAMODDED HEADER
--- MOD_NAME: Jimbo Versus the World
--- MOD_ID: jvw
--- PREFIX: jvw
--- MOD_AUTHOR: [Victin]
--- MOD_DESCRIPTION: Texture mod. Art and code by Victin.
--- LOADER_VERSION_GEQ: 1.0.0
--- VERSION: 0.0.0
--- BADGE_COLOR: FF4CA1

local atlas_key = 'deck' -- Format: KEY
local atlas_path = 'scott_pilgrim.png' -- Filename for the image in the asset folder

local suits = {'hearts'} -- Which suits to replace
local ranks = {"King"} -- Which ranks to replace

local description = 'Jimbo Versus the World' -- English-language description, also used as default

SMODS.Atlas{  
    key = atlas_key,
    px = 71,
    py = 95,
    path = atlas_path,
}

for _, suit in ipairs(suits) do
    SMODS.DeckSkin{
        key = suit.."_skin",
        suit = suit:gsub("^%l", string.upper),
        ranks = ranks,
        lc_atlas = atlas_key,
        loc_txt = {
            ['en-us'] = description
        },
        posStyle = 'collab'
    }
end

sendDebugMessage("JimboVersusTheWorld :: Loaded Textures")
sick sparrow
frosty dock
#

you can hook SMODS.has_no_suit and SMODS.has_no_rank

wintry solar
calm crag
#

Anyone able to help?

zealous glen
#

You need to add a new context after a hand is drawn

#

then use the existing context for the first hand drawn and the new one

calm crag
#

I mean Cerulean Bell exists

#

So I thought that’d be helpful but idk

zealous glen
#

Cerulean Bell isn't a Joker

calm crag
#

No I know

#

I just mean like

zealous glen
#

This is how I do it

[manifest]
version = "1.0.0"
dump_lua = true
priority = 0

# After Draw Context
[[patches]]
[patches.regex]
target = "game.lua"
pattern = 'first_hand_drawn = true}\)\n(.*)end\n(.*)end'
position = "after"
payload = '''

if not (G.GAME.current_round.hands_played == 0 and
    G.GAME.current_round.discards_used == 0) then
    for i = 1, #G.jokers.cards do
        G.jokers.cards[i]:calculate_joker({vic_hand_drawn = true, vic_facing_blind = G.GAME.facing_blind})
    end
end
'''
match_indent = true
cloud ore
#

genuinely no idea what i'm doing wrong

zealous glen
night pagoda
#

hell yeah I finally managed to find the damned card center!!!

#

G.CANV_SCALE was the culprit

zealous glen
#

What is that

cloud ore
#

these are the folders it should all work

cloud ore
calm crag
night pagoda
calm crag
#

You don’t have to use it but the joker only activates if you use the random card chosen

night pagoda
#

the full position thing looks like that now

zealous glen
cloud ore
#

is this even needed

#

like as a json file

cloud ore
zealous glen
zealous glen
cloud ore
#

maybe it's my folders being wrong?! IT HAS TO BE IT!

#

i'm going crazy

sick sparrow
#

how the frick the cards do not count as flush five

zealous glen
calm crag
#

Cause they’re stone cards

frosty dock
cloud ore
sick sparrow
cloud ore
#

guys maybe it's something with my pc! deleting system32 rn

sick sparrow
#

i have to find the source code to see why is the reason not being flush

calm crag
#

In the lovely folder

zealous glen
#

not folder

#

filetype

#

also

#

not that lovely folder

#

your mod's lovely folder

calm crag
#

Oh.

cloud ore
#

i might just give up on this for now

#

genuinely no idea what i did wrong

zealous glen
cloud ore
#

other deck skins work

#

checked already

zealous glen
#

it's so you can check their source code

#

and compare

cloud ore
#

did that aswell

#

exactly the same

tall wharf
#

too op

#

i believe

zealous glen
zealous glen
minor magnet
#

can someone tell me why the enhancements are not added?

zealous glen
#

scrabblatro

frosty dock
minor magnet
#

the editions and seals work fine

tall wharf
#

ok now

#

dragging should recalculate

#

how do i do that😭

zealous glen
tall wharf
#

where do i

#

oh

#

wait

#

wh

#

i am stupiod

zealous glen
sand oasis
#

so, interesting. lmao

minor magnet
#

oh.

#

ok lemme try that

zealous glen
#

maybe poll_seal too

calm crag
#

@zealous glen Okay so how would I call the context in the main mod Lua?

zealous glen
#

also change the name

#

I put vic because it's for my Jokers

minor magnet
frosty dock
zealous glen
#

by the way how do quantum enhancements work

sick sparrow
cloud ore
#

i have gotten desperate to the point of checking if the canvas of the cards is not like 1 pixel too wide so the thing explodes

#

its not btw, i actually checked

zealous glen
#

did you try replacing the textures in another mod

cloud ore
#

oh right

#

gimmie a sec

zealous glen
#

ship of theseus it

#

edit another mod word by word

#

until it becomes yours

calm crag
#

I’m new to modding so like

#

Just trying to figure this out

minor magnet
#

what did i do wrong?

zealous glen
#

it's all tables

zealous glen
minor magnet
dreamy thunder
#

how can i get this to trigger while the game is being played like a glass card?

#

it triggers right before everything

#

and i tried changing/removing if context.before

frosty dock
#

if context.main_scoring and context.cardarea == G.play and next(context.poker_hands['Flush']) then

sick sparrow
#

bulwark from cryptid only detects stone cards, not counting if the card is truly rankless or suitless

calm crag
zealous glen
#

can you identify the part where it tests what context is being passed

dreamy thunder
#

im trying again

zealous glen
#

there

cloud ore
#

yeah no it works now apparently

#

it's something with the code

calm crag
#

So instead of joker_main I change it to what

zealous glen
#

to the new contexts you added

sick sparrow
#

except the shaders do really funny when it encounters this

zealous glen
#

and see where it breaks

sick sparrow
frosty dock
zealous glen
#

aure spreading lies on the internet

quaint lotus
#

sorry guys i know this is the worst place to talk about this but could someone tell me how when pulling from the git, how do i overwrite the already present files in the directory

wooden nexus
# tall wharf

I'm sure someone's gonna ask for the opposite. PLEASE.... for the love of everything, do NOT add a hidden hand type that's "Slur" or something

tall wharf
#

EEEEEEEE

wooden nexus
#

E

dreamy thunder
#

E

tall wharf
wooden nexus
#

Thank you

calm crag
#

Also victin does this context work when any new hand is drawn in a round?

tall wharf
#

i am a sensible human being

wooden nexus
#

10/10 mod already

sick sparrow
#

now stone cards with suit debuffs

zealous glen
#

2.71828


cloud ore
calm crag
#

Or only if there’s no discards?

dreamy thunder
calm crag
#

I mean I get what it means

zealous glen
calm crag
#

But why is that there

wooden nexus
#

I don't remember if I showed this off (I've been on a bad sleep schedule rn)

zealous glen
calm crag
#

No I mean I know there’s contexts where hands are drawn outside of rounds

tall wharf
calm crag
#

And we don’t wanna trigger it then

tall wharf
#

what if

#

if you can spell the boss blind name you win

minor magnet
tall wharf
#

luike

#

the round

#

ofc

zealous glen
tall wharf
#

😭

wintry solar
zealous glen
#

Fish

wooden nexus
# wooden nexus

Btw, for context, this is to help your saves if you have cross-mod compatibility. I'll probably be using it myself in Shinku's Card Binder if I make using Ortalab-based stuff

calm crag
#

But why did you make a separate thing instead of just using G.GAME.facing_blind

zealous glen
minor magnet
#

?

wintry solar
#

no

frosty dock
dreamy thunder
#

k

zealous glen
#

da vinki but it's da wiki

#

so I can link people to the wiki when they ask questions

wintry solar
frosty dock
#

da wiki 😭

zealous glen
#

da wiki 😭

tall wharf
#

ok

minor magnet
tall wharf
#

i will need to make it recalculate the hand

zealous glen
tall wharf
#

on reorder

#

yes

wooden nexus
#

there's ANOTHER update?

zealous glen
#

which wasn't working due to a Steamodded bug

wooden nexus
#

Guess I gotta update again

zealous glen
#

did they fix the bug

dreamy thunder
calm crag
#

So basically in my mod I’d do a thing of like. If either the first hand context or the new hand context that’s made is true, do a thing

#

In this case choosing a random card from the hand

zealous glen
#

yes

calm crag
#

By making an array of the cards in the hand and choosing one

calm crag
#

Thanks man

sick sparrow
#

straight with mix of stone and normal cards

zealous glen
#

normal cards

#

stone cards

#

I see no difference

sick sparrow
#

it's a mod's power and stone cards have suit and rank

zealous glen
#

it was a reference to a meme

calm crag
# zealous glen

Does that say d #G.deck.cards? can’t tell if the image got cut off or smth

zealous glen
calm crag
#

So like

cloud ore
#

this was way harder than it should have been

zealous glen
#

oh

calm crag
#

Yeah maybe get an image that’s a little bigger/more square

#

Usually thin line images do that

#

In my experience

zealous glen
#

except the then of course

wooden nexus
zealous glen
#

simplest cryptid gameplay:

wooden nexus
#

oh no i get the cryptid part

sick sparrow
wooden nexus
#

I don't get the rest of it with the random people on the stone cards and all that

warped mason
#

I did Epic with a cost of 18

#

Which Im afraid might be still too high but eh

wooden nexus
#

O...kay? So you removed half of what makes a stone card a stone card? What's the rest of the stuff?

#

IE, the stuff on the playing cards and this

zealous glen
#

half stone half greg

wooden nexus
#

Who's Greg???

cloud ore
#

quick question - is there a way to have 2 deck skins in one mod

wooden nexus
#

oh

#

That greg

warped mason
#

what is the average cost of a epic joker anyways?

zealous glen
wooden nexus
#

Yes you get a steven

zealous glen
#

or a nora

wooden nexus
#

what?

sick sparrow
#

you won't know what it means

cloud ore
#

they seem a little bit too small for balatro but i do not care at this point this took way too long

#

remaking the textures would make me kms

sick sparrow
#

because it looks identical

zealous glen
wooden nexus
wooden nexus
# zealous glen

tbf, I watched like half of season 1 before dropping SU, lol

minor magnet
#

i am going insane

wooden nexus
#

Welcome to balatro modding lol

#

we all go insane here

zealous glen
#

they say hacker turned into madness

sick sparrow
wooden nexus
#

that's not the question

#

I'm asking WHO they are

#

I know they're suits and cards

sick sparrow
#

that's me

minor magnet
frosty dock
wooden nexus
#

They're ALL you?

zealous glen
sick sparrow
minor magnet
zealous glen
wooden nexus
#

The fact it's not pixelated is just throwing me off lol

zealous glen
#

SAP_Fish_Pog is back on the menu

wooden nexus
zealous glen
#

it turns out that time is zero-indexed

sick sparrow
night pagoda
#

trying animating the effect, does this work?

zealous glen
sick sparrow
inner folio
#

anyway to have steammodded and lovely as the same time?

zealous glen
#

huh

#

it's the only way

frosty dock
#

steamodded reqires lovely

zealous glen
#

to hav

#

what aure said

inner folio
#

hmm, maybe confusing two diffrtent things

dreamy thunder
#

how do i make an enchancement work like a glass card? i had it working before but now it doesnt work

frosty dock
#

-# at least if you don't have a super old version that doesn't work with any mods made in the last like 8 months

inner folio
#

trying to get ankh to work lol

night pagoda
#

is jellymod still a thing

dreamy thunder
minor magnet
#

IM A LITTL EBIT STUPID

weak brook
#

anyone here familiar with making code for animated jokers?

#

this aint working

#

dunno why

#

i printed the dt value it seems like its not changing? i based this on jimball

night pagoda
zealous glen
#

not aure aura

weak brook
#

yeah thats where i found the jimball code i based this off

#

just dunno why the dt value isnt changing

#

seems like thats the issue

night pagoda
#

this was my implementation of animated joker, idk if this helps

zealous glen
weak brook
#

maybe the issue is me placing this in the Joker's update instead of doing the function patching that the jimball code does? though i dont know why that would cause the dt value to not change

tall wharf
#

this is getting insane

night pagoda
#

"cry"

zealous glen
#

m
aybe

mellow sable
#

Is dt passed into update function, Im not actually sure

mellow sable
weak brook
#

the wiki says it is

#

but maybe its bugged?

zealous glen
#

I remember seeing some behaviour in the timers that I didn't understand

#

But it could be my ignorance rather than a bug

#

like constantly restarting from 0 when going to the main menu and always printing the same value first

#

14.something

mellow sable
#

If you’re copying Jimball code I recommend using the global
update so multiple copies don’t mess with it

zealous glen
#

I was trying to use time to seed a random value but it always had the same result

weak brook
#

yeah changed that

frosty dock
mellow sable
#

I think it’s to sync up the title screen animation?

weak brook
#

yup there we go now its workin

zealous glen
# mellow sable No this is normal

my issue is that I tried different timers and all of them got the same result. Trying to manually modify the number to get another seed also had the same result

sand oasis
#

anyone know how to handle one joker using a variable initiated by another joker? I want one joker to steal the player's money, and another joker to destroy the first and give that money back to the player

sand oasis
#

would have to basically globally instantiate it or can i

#

ahhhh

zealous glen
#

see castle example inside steamodded

tall wharf
#

😭

wintry solar
#

are you turning the game into scrabble?

tall wharf
#

why not

zealous glen
#

wordlatro when

frosty dock
#

Length 31: 1 words

zealous glen
#

balordle

dreamy thunder
#

balordle is a goated name

frosty dock
#

scrabbalatro

zealous glen
#

that's a tazmanian deviled name

#

@stiff locust by the way I think aure fixed the localization bug

stiff locust
#

yeah i ended up

#

going with a separate language anyway

zealous glen
#

L

stiff locust
#

but nice to know

stiff locust
zealous glen
#

sorry I didn't mean it like that

stiff locust
#

no it's too late now my mod will overwrite english

zealous glen
#

finally the end of the english language

stiff locust
#

i will become the gunc of the nunc wunc

zealous glen
#

the what

stiff locust
#

this'll make sense later

#

goodbye

zealous glen
tall wharf
#

i love

#

now how do i make it render above

#

hmmmm

#

no plural S'es

crisp coral
#

plurals are still words

#

coward

tall wharf
#

i am not writing code for plural words

crisp coral
#

dont you have a word list

tall wharf
#

ok nvm it has S

#

i just checked 3 random words

dreamy thunder
#

im boutta lose my mind

wintry solar
#

what does your code look like?#

dreamy thunder
#

rn like nothing

#

cause i was testing stuff

#

one sec

#

when i do it like this it scores after getting destroyed

wintry solar
#

you need to use the destroying_card context to chec for destruction

dreamy thunder
#

do i really need to check if it got detroyed though?

#

i need it to work like glass cards

wintry solar
#

yes you do

dreamy thunder
#

i see

#

i'll try some more stuff then

dreamy thunder
wintry solar
#
  return true
end``` that should work
dreamy thunder
#

i'll try

tall wharf
#

for the people who knows

crisp coral
#

peak

dreamy thunder
#

now the card does nothing at all

wintry solar
#

try return { effect = true }

dreamy thunder
#

now it doesnt destroy the card

wintry solar
#

return { remove = true }

hardy furnace
stiff locust
#

how do I account for joker retriggerrs again

#

i'm getting that state events crash from not accounting for them again

#

forgot how I solved it last time

hardy viper
#

are you guys enjoying your stack traces

#

i sure do wonder what could be causing this issue

dreamy thunder
#

im a bit dumb

wintry solar
#

ss code pls

dreamy thunder
#

i tried without changing the entire thing also

#

it just becomes worse

wintry solar
#

oh you're not on latest smods

#

thats why it doesnt work

dreamy thunder
#

i should be

wintry solar
#

OH

#

why are you trying to check this inside main_scoring?

dreamy thunder
#

i dont really know

#

it was close to working like this

#

so i went with it

#

i was using if context.cardarea == G.play and not context.repetition then

#

before updating

wintry solar
#

you need 2 if blocks

#

because you're doing 2 completely different things

dreamy thunder
#

i see

wintry solar
#

not nested like you have them

weak brook
#

really trying to figure out how to get this new consumable type i'm adding to work well with localization

#

i dont wanna use the loc_txt table cause if someone wants to localize this mod they shouldnt have to go through anything other than the localization luas

#

but how do i make the code know where the localization info is for this

#

cant figure it out by referecing the code for the few mods that add a consumable type with localization

zealous glen
dreamy thunder
weak brook
wintry solar
frosty dock
zealous glen
weak brook
zealous glen
weak brook
#

i still wanna know how people add to this site

zealous glen
hardy viper
#

it contains every joker in elbes modpack

#

which is massive

#

oh wait

frosty dock
hardy viper
#

not just jokers yeah

zealous glen
wind turtle
#

horror

zealous glen
#

I also have that somewhere else

hardy viper
zealous glen
hardy viper
#

you should make it actually segfault 1/100 times imo

weak brook
frosty dock
#

can always temp-add a loc_txt and do dump_loc to get them in place

zealous glen
frosty dock
weak brook
zealous glen
#

I mean I don't know what else to say

#

it's just a lua file with the localization table

frosty dock
#

name is in misc.dictionary['k_'..key:lower()], collection is what I just said

zealous glen
#

a big table

#

you just write it

weak brook
#

I just did the collection thing, the label is there

frosty dock
#

undiscovered is in descriptions.Other['undiscovered_'..key:lower()]

weak brook
#

but badges are still unclear

#

and that

#

ah there

zealous glen
#

but I think I had to manually create mine

#

that might've been updated since

#

nah just define a new color

frosty dock
#

that info should really be in the docs, not just the loc_txt format

weak brook
#

yeah thats what i was getting at

zealous glen
#

the badge is created automatically

#

you just need to put the name in the right place

#

of the localization file

weak brook
#

thats the thing was i didnt know the place

#

why i was askin

zealous glen
#

though first I misread as you asking for the card descriptions

hardy furnace
#

Okay, so i wanna make a mod that when you hold right click you select multiple jokers, how do i do that???

long sun
#

hiya, two quick questions — first, how can i pick a random number between 0 and 2, in a way that lets seeding work? second, how can i create a specific kind of Tarot card?

weak brook
dreamy thunder
#

and they come back after re-logging

zealous glen
#

they said between

long sun
zealous glen
#

so they need to scale outside

weak brook
#

oh yeah

long sun
#

also i need ints

zealous glen
#

oh nevermind

long sun
#

so that works

weak brook
#

sorry replace that 1 with a 0

zealous glen
#

what she said then

long sun
#

👍 thanks :D

#

what about the second part?

wind turtle
#

i need to add a little message for my joker upgrading, how do I do that? i have this rn but this shows the message on every card

dreamy thunder
weak brook
long sun
#

mhm, i want my card to spawn either The Devil or The Tower

zealous glen
long sun
#

ooh i might change Tower to Chariot actually, but that's besides the question ^^

zealous glen
#

you can pass the key to the card creator

wind turtle
weak brook
# long sun mhm, i want my card to spawn either The Devil or The Tower

This is our cardsauce code for a Joker called Speen, its code that always spawns Wheel of Fortune so long as you have room for it. feel free to reference this

        G.GAME.consumeable_buffer = G.GAME.consumeable_buffer + 1
        G.E_MANAGER:add_event(Event({
            func = (function()
                G.E_MANAGER:add_event(Event({
                    func = function() 
                        local card = create_card('Tarot',G.consumeables, nil, nil, nil, nil, 'c_wheel_of_fortune', 'car')
                        card:add_to_deck()
                        G.consumeables:emplace(card)
                        G.GAME.consumeable_buffer = 0
                        return true
                    end}))   
                    card_eval_status_text(context.blueprint_card or card, 'extra', nil, nil, nil, {message = localize('k_speen'), colour = G.C.PURPLE})
                return true
            end)}))
    end```
zealous glen
wind turtle
#

well now it doesn't do anything

long sun
zealous glen
#

but also did you remove the rest of the code?

long sun
#

wait just wondering, what does 'car' mean when spawning the card?

frosty dock
#

that's a seed

dreamy thunder
#

how do i make it so the card gets removed from deck? right now its correct up to that point, it shatters after the hand is played but it becomes a ghost card and stays in deck. Comes back after re logging

frosty dock
long sun
#

ohh i see :D

zealous glen
#

steamodded card destruction utility function when

long sun
#

i'll leave that in then ^^

zealous glen
#

to not influence other RNG

long sun
#

what to?

zealous glen
#

whatever unique seed

frosty dock
wind turtle
#

the key is correct but it's still not doing anything

frosty dock
#

you can't cleanly destroy cards during scoring, that's all

long sun
zealous glen
crisp coral
long sun
#

like esquivalience?

zealous glen
crisp coral
#

or?

long sun
#

ohh icic :D

#

thanks!!

frosty dock
zealous glen
#

and the infix

frosty dock
hardy furnace
#

can somebody help me make my first mod??

zealous glen
#

steamodded calling the key infix a prefix balatrojoker

zealous glen
#

and the wiki

hardy furnace
#

already did, nothing about mouse, just keyboard

zealous glen
#

what does that mean

hardy furnace
#

i want to make a mod with a mouse keybind, not keyboard

zealous glen
frosty dock
#

I just think of the entirety of class and mod prefix as a prefix

#

referring to it as an infix is also incorrect

zealous glen
#

that seems wrong

frosty dock
#

class prefixes don't always exist

#

wtf

wind turtle
tall wharf
#

is this a correct way to hook

dreamy thunder
zealous glen
wind turtle
zealous glen
wind turtle
#

still no

#

changed to j_lbm_segfault and it still does nothing

zealous glen
#

try printing it before to see what it's evaluating

#

and when

wind turtle
#

ok so it prints out the same thing every time

#

and it is upgrading for every card

stiff locust
#

why not just use C:red

wind turtle
#

very important, needs to have background red

wind turtle
#

now it's crashing when starting the game

#

ok it's g.jokers

#

Still crashes

#

ok just had to start a new game

gilded narwhal
#

(this is a deck) Is this not a valid context? I thought steamodded was updated not too long ago to include contexts like this

wind turtle
#

what context do i use to make something trigger after the current hand has been played?

long sun
#

okay, so the joker i made mostly works! one small wrinkle though

#

if i have multiple, they all add the same tarot, and disregard the consumeable limit if i have space when selecting the blind

tall wharf
long sun
#

code:

calculate = function(self, card, context)
    if context.setting_blind and #G.consumeables.cards + G.GAME.consumeable_buffer < G.consumeables.config.card_limit then
      G.E_MANAGER:add_event(Event({
        delay = 0.3,
        blockable = false,
        func = function()
          play_sound("timpani")
          local chosen_card = 'c_devil'
          if pseudorandom('goldenfiddle', 1, 2) then
            chosen_card = 'c_chariot'
          end
          local new_card = create_card("Tarot", G.consumables, nil, nil, nil, nil, chosen_card, 'goldenfiddle')
          new_card:add_to_deck()
          G.consumeables:emplace(new_card)
          new_card:juice_up(0.3, 0.5)
          return true;
        end
      }))
      return nil, true
    end
  end```
dreamy thunder
normal crest
dreamy thunder
#

and not become ghost cards

tall wharf
#

atl east the hearts

long sun
#

can confirm that the first part does work now

#

but the second's still not working

normal crest
dreamy thunder
long sun
#

well, they only ignore the limit if the first one is able to create a card

#

so i'm assuming all five trigger at the same time

#

but i don't see why

long sun
#

hihi! whereabouts is the code in the game for the jokers?

#

(don't answer if i broke the server rules, there)

gilded narwhal
#

There's also some in game.lua

#

But most of the calculate is card

tall wharf
#

welp it works

long sun
#

thanks!!

tall wharf
gilded narwhal
#

Wait do you have it hooked up to a dictionary or something

frosty dock
#

CELSIU?

tardy vapor
#

scrabble but balatro, ScRablatro

frosty dock
#

scrabbalatro

gilded narwhal
#

Man there's so many people making so many cool mods its cray z

tall wharf
gilded narwhal
#

Huge

frosty dock
#

still looks funny

tall wharf
#

i love

gilded narwhal
#

Hey I'm curious is there a difference between like args.context == "selling_card" and args.context == 'selling_card'

tall wharf
#

give me gen alpha vocabs to add to the dictionary

#

i am so sorry

gilded narwhal
#

Yeah I've seen both used and I'm just not sure in which context you use which

frosty dock
#

there's really no difference

#

other than that you can use the respective other set of quotes unescaped

gilded narwhal
#

I see

#

And Pr 324 was the one that added a bunch of those contexts as deck contexts

sand oasis
#

How can I check to see if a Joker slot is holding a specific joker? I'm not sure I'm getting the syntax right but what i've read I'm very close to getting it

#

and if start_dissolve needs an event I'll handle that separately

frosty dock
#

the added args now have the same shape as a context table for calculate functions

gilded narwhal
#

I should probably actually check the steamodded files because I haven't yet lmao

frosty dock
#

these changes aren't properly documented yet

gilded narwhal
#

wait i could have used calculate as part of the deck this whole time

#

damn

frosty dock
gilded narwhal
#

Okay good that makes me feel a little better

#

But it just works the same way as a joker calculate function?

#

Like as a passive effect for a deck?

frosty dock
#

yeah

gilded narwhal
#

perfect ty

frosty dock
#

it doesn't support all the same contexts but should do most of them that are sent to cardareas

gilded narwhal
#

The only ones I need are like selling card skipping blind and skipping booster

frosty dock
#

context.individual was unsupported until I added it today

tall wharf
#

why is my pagefile 49GB

#

actually does anyone know how to get the sorted hand left to right

#

is there like a property of the card that i can used to sort it

frosty dock
#

table.sort(hand, function(a,b) return a.T.x < b.T.x end)

tall wharf
#

ty

sand oasis
tall wharf
sand oasis
#

Yowza

#

yeah that's bizarre

tall wharf
#

thank you it works properly now

gilded narwhal
#

Hey could I create a UI in the mod lua file and then call it in a patch or do I have to define the UI in the patch as well?

#

I'm trying to make an extra menu for run info

magic dawn
#

Game/property

#

I’d assume vocaloid because your king looks like miku

#

But idk the other girl

tall wharf
#

vocaloid

#

queen was supposed to be gumi

magic dawn
#

Ah

vagrant cedar
#

Hey guys

hushed briar
#

anyone have any idea why this patch isnt running? i have it as lovely.toml in my mod folder and its not running, tried having it in a lovely folder under a differnt name too and it still doesnt do anything

version = "1.0.0"
dump_lua = true
priority = 0

[[patches]]
[patches.pattern]
target = "card.lua"
pattern = "local edition = poll_edition('standard_edition'..G.GAME.round_resets.ante, edition_rate, true)"
position = "after"
payload = '''
sendDebugMessage("Patch is applied", "DebugInversion")
'''
match_indent = true
times = 1```
#

i dont see any mention of it in the console whatsoever

#

steammodded files run just fine, the game detects the mod but the lovely patches arent doing anything

vagrant cedar
#

does anyone know how to make a card give two different Xmult values depending on context?

#

I have the first context written in my code, but I don't know how to get the second context to work properly

wintry solar
#

when do you want it to trigger?

vagrant cedar
#

Supposed to give x3 when not in a boss blind

#

But X0.3333 in a boss blind

#

Divides by 3

#

I don't know how to define the second variable

wintry solar
#

you need a second value in your config

vagrant cedar
#

yes

#

but how do I define it

wintry solar
#

give it whatever name you like and set it as 0.33

vagrant cedar
#

is it just config = { extra = { x_mult = 3 , x_mult = 0.3333} }, ?

reef gale
#

i did a simple text edit to the us lua and now the game just crashes what did i do wrong

wintry solar
#

a different name

reef gale
#

oh

vagrant cedar
reef gale
vagrant cedar
#

i don't understand what you mean by give it a different name

wintry solar
#

you can't have two values called x_mult

vagrant cedar
#

so just name the value something else and it'll still work as x_mult?

zealous glen
#

I mean to be fair they could use the same value twice

#

Just pass it as 1/variable

vagrant cedar
sand oasis
#

trying to find a specific joker in my deck and destroy it here. this is just enough over my head that i don't understand exactly what i'm doing

vagrant cedar
#

I changed it to x_multb in all 3 locations

frosty dock
#

thunk when config.Xmult and config.extra.x_mult

wintry solar
frosty dock
#

or some variation thereof, I can't recall

glacial zinc
#

is it possible to use a custom rarity in SMODS.Joker?

frosty dock
#

yes

glacial zinc
#

how so

frosty dock
#

by using SMODS.Rarity to define the rarity and specifying the rarity's (string) key as your joker's rarity

frosty dock
#

yeah

glacial zinc
#

swagswag ty

vagrant cedar
iron narwhal
#

im trying to do something really simple, making a deck have a chance to set hands to 0 when playing a hand and im stuck on how to make something happen when playing a hand caus i dont understand a lot of the code of other mods without documentation of functions, if anyone knows any list for functions or explantions of basic parts of the code id really appreciate it :3

shell tangle
#

Question, how difficult would it be to overlay the blind backgrounds with a custom image? I'm unfamiliar with using :draw, but I feel like that's the venue I'm looking to go down with this idea.

violet void
#

How do I remove an enhancement from the pool

nocturne garnet
violet void
nocturne garnet
#

not a boolean

shell tangle
#

Copying from the SMODS wiki,


    Define custom logic for when a card is allowed to spawn. A card can spawn if in_pool returns true and all other checks are met.
    allow_duplicates allows this card to spawn when one already exists, even without Showman.
    When called from generate_card_ui, the _append key is passed as args.source.

violet void
nocturne garnet
#

its work in progress so

shell tangle
#

Especially because I think better calc is allowing you to use calculate on decks somehow, over trigger effect?

weak brook
#

does anyone know what the standard value for shop_rate should be if I wanna make a consumable type appear in shops as commonly as tarot/planet

vagrant cedar
#

Here's my two new Jokers (art obviously tbd)

violet void
shell tangle
violet void
#

oh its in center

violet void
#

time to spawn hundreds of packs

shell tangle
weak brook
#

balatro seeds being unpredictable and all

vagrant cedar
#

just use the same seed

charred haven
frosty dock
#

4 is indeed the correct standard rate for a consumable type

shell tangle
#

Completely right, I was thinking about spectral boosters.

#

Makes complete sense now.

tall wharf
#

ok

#

i figured that

#

something was wrong with the word list

#

because "raccoon" is not a valid word

#

i went to check

#

and guess what

mellow widget
#

anyone got a template for a custom deck

tall wharf
#

one of the words removed raccoon

zealous glen
#

I can see why

#

Does it have assassin?

tall wharf
#

it has ass

#

i only want to remove slur words

#

not every profanity ever

autumn coral
tall wharf
#

i think "fuck" is a reasonable word

zealous glen
#

I mean it’s the same problem

#

The Scunthorpe problem is the unintentional blocking of online content by a spam filter or search engine because their text contains a string (or substring) of letters that appear to have an obscene or otherwise unacceptable meaning. Names, abbreviations, and technical terms are most often cited as being affected by the issue.
The problem arises...

mellow widget
autumn coral
#

let's move to the actual like. jimbo server

#

lol

zealous glen
tall wharf
zealous glen
#

So it should show up in the Balatro translations