#đ»ă»modding-dev
1 messages · Page 532 of 1
what is ease_ante
It's a function that increases the ante with the animation.
ok and where do I place it
Instead of increasing the ante manually you would do ease_ante(1)
Example: Here I used a Foil Mult card when playing a High Card, which increased its base values to 65 x 5. Upon using Pluto, it reduces the values back down to the default for level 2 rather than simply adding onto the existing values.
Is your profile a seal
Are you updating all the values when messing with poker hand values?
Yes! She's a fursona my friend made for me. Seals are my favorite animals!
@lusty glade better vids
if you dont have the blind score or more you lose the run
What should I do there? I set the chips and mult for the hand with this bit:
G.E_MANAGER:add_event(Event({
func = function()
G.GAME.hands[text].chips = G.GAME.hands[text].chips + chips
G.GAME.hands[text].chips = G.GAME.hands[text].chips + edition_chips
if x_chips > 0 then
G.GAME.hands[text].chips = G.GAME.hands[text].chips * x_chips
end
if edition_x_chips > 0 then
G.GAME.hands[text].chips = G.GAME.hands[text].chips * edition_x_chips
end
if e_chips > 0 then
G.GAME.hands[text].chips = G.GAME.hands[text].chips ^ e_chips
end
if edition_e_chips > 0 then
G.GAME.hands[text].chips = G.GAME.hands[text].chips ^ edition_e_chips
end
G.GAME.hands[text].mult = G.GAME.hands[text].mult + mult
G.GAME.hands[text].mult = G.GAME.hands[text].mult + edition_mult
if x_mult > 0 then
G.GAME.hands[text].mult = G.GAME.hands[text].mult * x_mult
end
if edition_x_mult > 0 then
G.GAME.hands[text].mult = G.GAME.hands[text].mult * edition_x_mult
return true
end
}))
Next boss blind would be DAMN DANIEL, back at again with the WHITE VANS
This is super cool!
like this
thanks!
i intend on adding some more things, i want to do a bullethell at some point
but so far this has been cool to do
.s_chips and .s_mult are base Chips and Mult of a hand.
.l_chips and .l_mult are Chips and Mult added per level.
.chips and .mult are total Chips and Mult.
No, remove G.GAME.round_resets.ante =
make it like that one game, whats it called hopper
where you have to cross the street
oh simple like that
Me when I gotta do 70 000 points in flappy bird:
it scales with ante, ante 1 is 50 points and then it gives more per ante so ante 8 is like 3k and something
per obstacle
yea it would be unlikely to be poss to complete a 1.2 million blind with that
so i had to figure some form of scaling
Frogger and someone should tell Yahi to do that
yahi is what i originally took this dino from, but i improved it significantly as you can see
theirs only has cacti and normal jump
ive got duck, birds, soon to be smaller cacti, and chip gain
Kinda dig Yahimod for some of its meta effects sets it apart
Also Dr. WhatsApp CLEARS
I wish they did update it to include the dubstep remix like they joked about in the video
insane
It even added a poker hand called âgroup chatâ if all your hands had the WhatsApp seal I mean đ
You have to give a warning when you post fire this hot I nearly died
I donât have much art outside of this they were drawn by a friend and mutual
I change it the animation work but I get this crash when I have a Joker
As a gift too like I didnât ask for okay for the mutual it was like a voice chat and they were taking suggestions but the friendâs was unprompted
omg is that smt i saw
Idk
What kind of button
you can probably just do love keypress and then do the whole smods.add_card id assume
I should get some sleep goodnight gang
gn
Fuck it, I'm turning the bug into a feature. âïž
still haven't gotten the sound to work but oh well
no sfx is fine
could someone please direct me to the startingparams documentation?
trying to make a deck that starts with no cards/only one card
is it possible to change the $ sign in game visually
what does that mean
smt gave you a better resource, read his linked doc
Yes.
Change Localization > misc > dictionary > ["$"]
thanks
Yes.
thanks
Another update to this: Inexplicably it works the way I want it to when Cryptid is enabled. There's probably something about Cryptid that patches the game to make planets work differently. Now I just need to find what that is. -_-
Do stickers have almost the exact same formatting as editions, seals, and enhancements?
bump
I'm hooking Card:remove, but I'm looking for specifically if it was removed from G.consumeables. Is there an easy way to check what area thr card is in?
Its activating if you use a card from the shop doing buy and use, but since that doesnt call emplace it breaks my code.
if card.area == G.consumeables
where are all stickers keys stored? if they are even stored at all
SMODS.Sticker.obj_buffer
i swear I tried that and it screwed up stuff. I'll try again
You need to check it before you run the original function.
(or it didnt work. I had it originally but it wasn't working)
thanks!
yes, Im aware. I meant it screwed with my own code around it. I'll give it another shot.
Actual godsend, thank you.
what does onUpdate for config menu do?
i figured out why i switched off from it: it didn't activate when a consumable was used, which is important. strangely, self.added_to_deck did activate, but obviously it activated too often
I tried hooking Card.use_consumeable but it led to much stranger results
Yes, because it moves to G.play
oh, i suppose that makes sense. But that probably also counts for used consumables from the shop, right?
Yes.
hmmmmm, is there any way to do this then? Or would I have to hook something else entirely in order to make it work?
Where is sticker code located in cryptid
hi
can anyone provide me example code for summoning joker
like
if you press j
it spawns joker
that i made
Is this just for testing?
yes
download and install Debug plus, then go to the collection and press 3 on the joker you added.
God I really need templates.
then make a template for yourself- you can look in vanillaremade for inspiration
ok
it worked
are you gonna change its rarity cause thats too good to be a common imo
gruh
help them
ok
will you help me
yep, just thinking of what would be good for this one
so what exactly are you going for with this joker?
alright
because it's +0.5 mult per hand
right now its a jimbo mixed with a more lenient but worse payoff green joker
maybe you could flip it to where it gains mult every time you discard?
suer wait
What are the keywords used when writing sets?
also question, how to make multiple jokers?
do you just put all of them in the main file
or can you make multiple files
kinda confused
For example with SMODS.add_card, you typically have to look for which card you wanna make, is it a consumable? Joker? Playing card?
you can put them all in one file
i can show a screenshot of how i do it
If you put key = j_(joker key) its gonna recognize its a joker
you can put jokers, or atlases, or stickers or whatever objects you like in any number of files, as long as the files are loaded. If you want to load more files, you can use SMODS.load_file(/path/to/file.lua)()
Restart run everytime you make new changed
Iâm making a sticker
Iâm looking for compat_exceptions
Joker and playing card are the only things I wanna add in the exceptions
this is how my mod does multiple jokers in 1 file
You would do stickers = {âperishableâ} if im not mistaken
Yeah cause ur coder sucks
Doesnt matter but i would recommend only 1 file
this same bit?
SMODS.Sticker {
key = "repeat",
loc_txt ={
name = "Repeat",
text = {"Retriggers card."}
},
atlas = 's_stickers', pos = { x = 0, y = 0 },
badge_colour = HEX 'ff005d',
default_compat = false,
compat_exceptions =
{
Joker = true,
},
rate = 0.3, -- Chance of the sticker applying on an eligible card
-- If set to true, this sticker requires G.GAME.modifiers['enable_'..self.key] to be true before it can be applied.
calculate = function(self, card, context)
}```
I am "making stickers"
how to detect if a joker is the only one owned?
if #G.jokers.cards == 1
So how would it work in game if i may ask?
If itâs applied, it retriggers the card itâs on whenever it is normally triggered.
do you mean if it's alone, or if its the only one of it's kind?
alone
Soooo⊠red seal kinda?
Red seal if it was a sticker yes
then you'll want #G.jokers.cards == 1
something's would be if you're are checking if it doesn't have any copies (i.e. it hasnt been anked)
Prob put a context in calculate and put repetition like you would normally? That would be my guess first (im not good at coding)
How about if a certain joker is owned
Or looking for jokers of a certain rarity. (For example, 3 rare jokers = X3 Mult)
you'll want some version of this, (it will always return a table, so use next(SMODS....)) to see if there is a card in it
and for the cards with rarity, look at baseball card from vanilla remade
If #SMODS.find_card(j_mp_key) == G.jokers I believe?
huh??? thats comparing a number to a table
If you want to see if you have a certain joker, use
if next(SMODS.find_card(j_mp_key))
Oh
which is why i said the things that i said

Ok what about Retriggers?
what do you mean by that?
I wanna make a sticker meant for retriggering jokers and playing cards
Red seal but as a sticker
you will need to have the optional feature enabled
âoptional schmoptionalâ - dilly
Where are these optional features even located in the wiki
and then just uhhhh actually im not sure, but im sure you can find it somewhere. Neato Jokers has blue yourself, might contain useful information
Nâ the goat for that
give me ideas for joker pls
Oh wait it just retriggers jokers
I had to check notes
I wrote notes for ideas of what my other mod would have.
reread đ
The sticker in question only retriggers jokers
Not playing cards
The sticker is called footprint
The next sticker is teeth, which when applied, adds a joker slot and also gives x1.5 chips and mult.
-- Footprint Sticker - retriggers jokers
SMODS.Atlas {
key = "stickers",
path = "s_stickers.png",
px = 34,
py = 34
}
SMODS.Sticker {
key = "fprint",
loc_txt ={
name = "Footprint",
text = {"Retriggers the joker whenever it is possible."}
},
atlas = 'stickers',
pos = { x = 0, y = 0 },
badge_colour = HEX 'ff005d',
default_compat = false,
compat_exceptions =
{
Joker = true,
},
rate = 0.3, -- Chance of the sticker applying on an eligible card
-- If set to true, this sticker requires G.GAME.modifiers['enable_'..self.key] to be true before it can be applied.
calculate = function(self, card, context)
if context.retrigger.joker_check then
return { repetitions = 1 }
end
end
}```
like this?
Wdym?
This is a sticker, not a joker
Yes.
Also the atlas
Is it 34x34 or 71x95?
Iâm assuming 71x95 because itâs on a card
Yes.
Heya I'm making a mod tring to replace some names of tarots and curious what I'm doing wrong (3rd image is in localistion folder
because that's how its spelt
Thatâs not a valid key
Key must be j_(modprefix)_(jokerkey)
edition = âe_negativeâ i believe
does context.selling_self nullify the eternal sticker or something???/
SMODS.add_card{ key = "j_MODPREFIX_JOKERKEY", edition = { "negative" } } may work
What's the tooltip code for enhancements?
like how {C:spectral,T:v_magic_trick}Magic Trick{} is for the voucher
that works!
does anyone know how to make a deck? The smods documentation is outdated
Ive made some decks but im not THAT good in it
all I want is a deck that makes you start with a certain joker
--Stained Deck
SMODS.Atlas{
key = 'DStained',
path = 'StainedDeck.png',
px = 71,
py = 95,
}
SMODS.Back({
key = "DStained",
loc_txt = {
name = "Stained Deck",
text={
"Start with an",
"Eternal {C:attention,T:j_btct_Mosaic}Mosaic{}"
},
},
config = { hands = 0, discards = 0},
pos = { x = 0, y = 0 },
order = 1,
atlas = "DStained",
unlocked = true,
apply = function(self)
G.E_MANAGER:add_event(Event({
func = function()
if G.consumeables then
SMODS.add_card { key = "j_btct_Mosaic", stickers = { "eternal" } }
end
return true
end
}))
end,
})
Heres a reference to one of my decks, all it does is give an eternal joker, so you can just remove the stickers part if you want
i'll try this thanks!
Np
it's the object that's triggering the probability i.e. the card
Hello everybody my name is Markiplier
woah chat is chatting
there's no update method for blinds right?
i've decided to play around with more coding
instead of always asking lol
like, maybe i should try things around instead of asking for help all the time. you guys already gave me the basics :3
I havent slept đ its 5am
point stands, good morning
U right, good morning, and good night cause im sleeping in an hour
i also havent slept and it is also 5 am
question: does this say all the functions available?
https://github.com/Steamodded/smods/wiki/Calculate-Functions
Me and dilly twinning
not yet sadly
gm N
hii
Hi Nâ
i slept to asmr, woke up to roffle doing a naninf run
Like he always does
it was a perkeo observatory run
Lol
baseball card style or abstract joker style?
abstract
use #G.jokers.cards to get the current amount of jokers
and then
just
you should define a config extra variable with the base chips each joker would add and return chip_mod = #G.jokers.cards * card.ability.extra.chip_mod p.e.
chips does the message automatically and chip_mod is old i think
can you give me an example
whatever thats enough for now, reworked my edition to not rely on hooking calculate joker
i need to iron out some joker specific bugs but im pretty satisfied overall
https://github.com/nh6574/VanillaRemade/blob/main/VanillaRemade.lua you should use vanillaremade for references
local count = #G.jokers.cards
return {
message = localize { type = 'variable', key = 'a_chips', vars = { card.ability.extra.chip_mod * count } },
colour = G.C.CHIPS,
chips = card.ability.extra.chip_mod * count,
}
something like this
maybe the message and colour is not needed right now with the chips return
idk
yeah they arent needed
is there an equivalent for mult_mod?
that doesn't require message and colour anymore?
mult
is it possible to use a for loop to go through the highlighted cards?
yes
Im in bed now
Finally, comfy
for with ipairs maybe
i would not have guessed that 
maybe
is the question if it's possible or how to do it
ive been in and out of bed multiple times đ
both?
Blinds doesn't have update function right??
I just wanted to get that cringe ah ah edition better
I was unhappy with it being a big ass block in calc joker and running all the time
G.hand.highlighted is the table
or change the area if you want another
this is what im looking for, thanks
that's only for highlighting in hand right?
you should use G.area.highlighted
that's what i said
Yes.
sorry
cause the consumable randomizes 2 selected cards soooo...
local total_mult_bonus = num_jokers * card.ability.extra.mult
local total_chips_bonus = num_jokers * card.ability.extra.chips
return {```
N do u wike my edition
if you've defined that extra variables and return mult and chips that should work yeah
i didn't see it
What the scallop
i did
yeah it worked
gave 500 chips and 100 mult
loc_vars = function(self, info_queue, card)
return { vars = { card.edition.extra.repetitions } }
end,
it just... crashes?
because it doesnt have an edition i think
edition is nil if the card doesn't have one
but... it itself IS the edition?
if it's for the collection you might need to use self instead
then it doesnt have a card.edition field if its the edition itself i think
card.self....?
ah ok thanks
(card.edition and card.edition.extra.repetitions or self.config.extra.repetitions)
ok thanks
can i add a play sound inside a return? or is it only used for messages?
Return {sound=}
also whats the different between ipairs and pairs and in which cases would i use either?
yes, i know :3
thank you
I have no idea đ«¶đ»
it can access the base game sounds, yes? i'm assuming i don't need to make a folder for it
ipairs only loops through table items with integer keys starting from 1, pairs loops through everything but doesnt have any particular order
Yes ofc
đ„
ok thanks
it does a "pop" yaaay
guys
so i haveth a laser pointere
:D
i gotta uhm--- fix that description
jimbo:
<@&1133519078540185692>
beat you to it
damn it didnt appear in the role list for me
Don't mind if I do
Is this ethan
i do @mods and press send
I was to slow đ
can i ping the mods just to say good morning to them
No
D:
N' can i have joker ideas
no
N can you sing me a lullaby
i can try
if context.individual and context.cardarea == G.play then
if context.other_card:get_id() == 13 then
assert(SMODS.change_base(context.other_card, nil, "Queen"))
return {
wait = 1,
sound = play_sound('tarot1'),
wait = 1,
message = "Estrogen taken!"
}
end
end
is it wait or delay đ or am i just doing this wrong
delay
N' is so wise for đ«
or wait maybe im wrong
Why do you have a delay
let me check
it works tho D,:
how to check if there are face cards in hand
and if they are not give 10 mult for each scored non face card
Arenât you the crab cat who made lovely
it is delay
yes#
Cool
it crashes with a custom message if whatever is in there is not truthy
Wowy
throw an error, not crash 
return {
delay = 1,
sound = play_sound('tarot1'),
delay = 1,
message = "Estrogen taken!"
}
it should go like
wait a sec
pop
wait a sec
text
yes?
no
oh
ah, i see
so i need to make individual tables?
two returns, with a delay inbetween them
You can only have 1 return
fuck
Returning a value ends the calculate function
You could have an extra table inside your return to do what you're saying but I don't think you can do sounds with a calculate return without a message
you would need to use play_sound directly
and then the return
oh
i didn't notice that
that's wrong
in a return
sound takes a string
so, this is what should be used?
how do i infoqueue eternal and glass? (for 2 different stuff so dont question why those two)
yes but in your case you want something like this
G.E_MANAGER:add_event(Event({
func = function()
play_sound('tarot1')
return true
end
}))
return {
delay = 1,
message = "msg"
}
oh that formatting is weird
ah, i see
i was reading the whole g.e_manager stuff and it was frying my brains
figured out glass i think, i still dk eternal tho
thank you N, it's working well
This is why N' is the goat
imma try adding a flip animation to it, i'll send the code if i have any problems (probably will lol)
Please help me understand what the hell is going on here.
Trying to launch mods via Linux (Pop_OS)
who pinged me
time for testing 
I'm trying to code a joker that does the following effect: allows Straight Flushes to be made with three cards (at the cost of -2 hand size). I have tried looking at the vremade code to get some reference (four fingers) but I don't really understand how to code that
only straight flushes?
only straight flushes
that would be difficult I believe
copy code
change number 4 to 3
profit

on the jestrogen
can you open your /home/wildcard-arya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/compatdata/2379780/pfx/drive_c/users/steamuser/AppData/Roaming/Balatro/Mods/Nopeus/lovely.toml
exactly
somehow, i mispelled testosterone
testosterno
only straight flushes is hard, because the game does the following;
- Check whether there is a Flush
- Check whether there is a Straight
- If there is both -> Straight Flush
jestosterone
the thing is since I'm referencing a card game called Machiavelli in which you can make straights as long as they are the same suit I don't want players to be able to do stuff like 9D, 8D, 7H, and 6D
yeah there's a pr to add the hand type to the four fingers function but only for straight or flush
I don't want that to count as a straight flush
and give mult on every scored non face card
oooo nah
easiest way would probably be to inject smods game_object.lua:~2717 and creating your own PokerHandPart for straight_flushes
please help
this way you can have your own function determine whether there is a straight_flush
What's the variable for the current ante?
oh
i forgot I was replying to that
please help
im really sorry
go reinstall the nopeus mod
please don't spam
This here determines whether a straight_flush is present. You gotta change this probably
G.GAME.round_resets.ante
but i still need help
thanks
sorry for the ping lol
wasn't intentionally
I have yet to learn about injection đ
perhaps I could work around this and make the game check if the hand is a straight, and then check if the scoring cards are all of the same suit?
Cwab
wait a bit then, people are not going to help you faster if you bump every minute
May I direct you to:
https://github.com/nh6574/VanillaRemade/blob/main/src/
?
You can see all Vanilla Jokers remade to work with SMODS
N i think this is metheral trolling
this is spectrals
i wouldn't be surprised
The name
Reinstalled it, but I'm not getting any mods showing up.
not even smods?
Nope
Try changing the pc
Hang on, lemme try forcing it on Proton 9.
H U H
Ok, we're making some progress. I forced it to use Proton 9.0-4 and had WINEDLLOVERRIDES="version=n,b" %command%
The ONLY mods I had were Steamodded 0711a and the lovely folder
yep I have no idea what I'm doing
maybe i should stick to simpler jokers for now but I really wanted to add this concept since I'd already done the art
Aight, this is my mock-up of what I'd try, dunno if this is what you intend though
ontop of adding this, your joker should make SMODS.four_fingers() return 3
where would I put this code, though?
SMODS.config is somehow nil
1 = Common, 2 = Uncommon, 3 = Rare, 4 = Legendary
is this true
yes
jump who?
if you put like 5
In SMODS/src/game_object.lua at line ~2759
Aaaaand LibreWriter says corrupted. Welp, time for a full reinstall.
-# aaaaauuuuugggghhhhhh
say it again
it crashes
because it's not an existing rarity
give it like common
right, i should've expected that something else would be corrupted lol
no with how the pool system works
Well, lemme fully reinstall and then get back.
wait so I have to modify smods? if that's the case then how would it save if someone were to download the mod
(sorry if I don't understand this is something I didn't know was possible)
you would want to use a hook right
I'm not a đŻ % sure but I think you can lovely inject smods right? N' ?!
yes
WE ARE SO BACK
nice
But also, yeah, maybe try some simpler Jokers first! This is definitely rather advanced and my code above is incomplete anyway (the cards that actually score would still include additional cards in some edge cases I believe)
Yippe :)
Thanks for helping me get back up
that's fair. I'm still very new to the modding scene and I've been mostly feeding my mod with vremade code sooo
Relatable đŠ vremade is my sanctuary, my sacred garden đ„đ
yeaahhh
I'm slowly learning to make my own stuff tho
I was able to mostly figure out how to make a "First played 7 of diamonds gives X3 mult when scored" by merging existing lines of code
Nice!
you should make thing that injects code into the game at runtime
debugplusplus
no
something like joker
make a joker that installs lovely (Virus)
what did i do wrong ? the joker should reverse the play buttons position everytime a blind is selected and give 100$ when bought in the shop (or less i'll see dw about it)
end end end end
+333 chips if played hand is 3 3's
ok sure
? my ends looks fine to me ?
oh
because i see so many ends
sorry btw if i cut a convo here
no you didn't
Is the $ working? If not, the Joker probably doesn't receive the context.buying_card because it occurs before the Joker gets added. You'd want to define a add_to_deck() function I guess
the dollars works sorry i didn't precise what did not work
the putton pos thingy doesn't work
ah aight, no idea, UI is scary
and now in the shop i only get Jimbos ... for x reason ?
- the joker im working on cus a i have a TEST rairty
with 10 basic weight
Who can help?
This function might help?
i might be able to help but we need your code
at where it should crash
did you prefix your joker key with your mod key?
it should help but where do i put it ? in a calculate ?
instead of the return statement here maybe? try and see I suppose!
Code?
I just try to play heart deck with with heart Sleeve, with fusion jokers
Triple Threat
dos it bother to copy paste it ? (i can copy it by hand but yk it too much takes time for my dumb ass)
oohhhhh i didn't see
oh this is the #đ»ă»modding-dev channel, you might wanna go to #âă»modding-general if you aren't making a mod
fusion jokers often crashes liek this
Quadruple Attack
-_-
You are speak russian?
Yeap
Suka
get rid of fusion jokers it is what makes the game crash, i've had it n a while couldn't stop crashing because of it
Cooked chat rn
Nice đ
#âă»modding-general please x)
no swearings here 
I can say fuck nxkoo but not in my native language
This
G.FUNCS.change_play_discard_position({to_key = G.SETTINGS.play_button_pos == 1 and 0 or 1})
instead of
return { func = function() ...}
That's fine ofc
if you just play a single 3 or just a pair of 3s then it's way too strong
nxkoo case is different
Owwwwwhhh
not really
Silly me
thx :)
It's "cards in hand" so should be a bit harder
I love how this shit is uncommon
honestly it's very impractical that way
..or did you mean "cards in played hand"
in played hand
CARDS IN HAND?
np, hope it works
@distant umbra use joker forge
Oh okay
it kinda is for early game, you should make it threekind of 3's
Don't listen to them
why
I see đą
Itâs woke
not that bad
like this ? i suppose
How does it work then..?
Yes
Is it permanent chips or is it just 333 chips played 3
actually wait I did a dum you can remove the if statements too
anyways
Whats wrong now?!
Stuntman gives 250 in exchange for 2 hand size
it's like stuntman
Oh okay
just
if context.setting_blind then
(the function call)
Why does it say gain then
Is it like five 3s or you can play a single one
you can play any
put it to rare
Remember stuntman is rare and removes handsize
@latent perch it does work now x) three days of pain just for 2 lines x)
Real
yay! average coding experience :')
Maybe send the crash to the minty silly little mod thread because I see something that looks like the crash comes from that mod
Idk
x')
WHY THE FUCK IS IT ALWAYS JIMBO
Because he's superior
yh but no
Greate question!

+
have you change the test rarities weight? because I have a theory
might be that the pools property of the rarity is trying to inject the rarity itself into the joker pool, leading to an invalid joker which gets replaced with Jimbo
maybe
you should use formatting for xmult
10 is indeed too much for the game x)
thought so!
i put it back to weight 1 to see
i can't read i play balala
fair enough 
also this is complete and utter IDIOCY and shall NOT be read as serious scripture
how to check hand type
have you considered checking
https://github.com/nh6574/VanillaRemade/blob/main/src/jokers.lua
That's more for adding new hand types though
f#ck i have a mind gap how to i play a sound ON he already existing music via a joker
I made a joker that swaps chips and mult, how can I add a little UI that says "Swap!" much like resetting scaling jokers say "Reset!"?
oh wait forgot to draw the red circle
if you're returning swap = true you can just also return message = "text"!
I think!
I hope!
I pray!
What are you trying to do?
the whole weight problem is solved :) no worries 'bout this
Aight :3
basically i have a test rarity for the shop, and 10 default_weight made the game put only Jimbos with my "test" jokers rarity
if you only have one joker with that rarity then it will do that if you get the joker yeah
it will do it if you have a lower weight too
ooh that's why
just less frequently
damn so no test rarity ? :'(
i mean if you need it
i'll get rid of it anyway when i'll release my poorly made mod
so i don't know why i bother
Can't you just use debug plus
yeah but this joker had effect when bought
Yeah, Pressing 3 in collection works
if i spawned within the collection won't prove anything
context
Wasn't context calculated when spawned too? I'm not sure
no or atleast not this one
yeah i have a custom command to add a joker to the shop for debugplus for similar reasons
key = "swappie",
atlas = "ch_jokers",
blueprint_compat = false,
rarity = 2,
cost = 7,
pos = { x = 1, y = 0 },
config = { },
loc_vars = function(self, info_queue)
end,
calculate = function(self, context)
if context.joker_main then
return {
swap = true
}
end
end
}```
I don't really understand what I'm doing wrong. The joker simply doesn't work
probably it's a dumb issue
Does it like crash or do nothing?
does nothing
you're missing an argument
function(self, card, context)
hold on
It does work, though for some reason it shakes when the cards are played
even though it only triggers once
yeah
it shakes when the cards are played, but doesn't when it actually triggers
weird
Also loc_vars is function(self, info_queue, card)
I knew I shouldn't have touched those
still
it still shakes at the wrong time
key = "swappie",
atlas = "ch_jokers",
blueprint_compat = false,
rarity = 2,
cost = 7,
pos = { x = 1, y = 0 },
config = { },
loc_vars = function(self, info_queue, card)
end,
calculate = function(self, card, context)
if context.joker_main then
return {
swap = true,
message = "Swap!",
}
end
end
}``` here's the new code
oh
i will test once i get on my pc
localize the message
graagh
You donât need to add config and loc vars
If you donât use them
What the fuck is a swap
swaps current chips and mult
I found it on the wiki
still shakes
Yes, swap seems to call scored_card:juice_up() outside of any events.
Maybe it has cold
first person to ever use swap lol
misc dictionary
noooo, i missed the corn message :(
also, mod works fine, i'm trying to add a flip animation
but, i don't think it's needed
can i see the joker code?
when do you want it to give mult
how do i check the current deck in use?
when cards score
tried using context.before
you want context.individual
do context.individual and context.cardarea == G.play
https://github.com/Steamodded/smods/wiki/Calculate-Functions
this lists nearly every context in the game
if you want to check card properties, reference context.other_card
also use vanillaremade for reference if you dont know how to do something still
what about context.score
context.other_card.base.value is the rank (e.g. 2, 3, Jack, Ace), .base.suit is the suit (e.g. Hearts, Spades), .config.center_key is the enhancement (e.g. m_steel, m_wild)
i guessed
why are you guessing đ
Chatgpt
then give mult
total
Sigh
context.joker_main and next(context.poker_hands['Three of a Kind'])
ok
yea i just realized
i need to Not balatro mod so early
do you know how to check which deck is currently being used?
i cannot find it
I think itâs a global
Variable
You need to check when starting a run tho because itâs nil before that
aha selected_back
i love debugplus
yeah well it works very well most of the time
and its SO useful
oh
thanks it worked
thats bug (singular) smh!!!
đš
good day
quick dumb question, this should play a sound on top of the balatro music when the joker is in the deck ? (when the sound will have is register and all)
One way to find out
yh
it won't bc you need to append your mod prefix
True
how do i patch using .regex
yh i know i just put placeholder as a placeholder :)
3:
i want to change all G.GAME.interest_cap/5 to (G.GAME.interest_cap/5 + (G.GAME.add_interest_cap or 0))
give it a regex value
for example this one:
[[patches]]
[patches.regex]
target = 'functions/common_events.lua'
pattern = '\{cfg\.max_highlighted,'
position = 'at'
payload = '{cfg.max_highlighted + G.GAME.select_more,'
that one wont do you what you want
im terribly sorry but i dont know anything about regex đ
a regular expression
they are Pain
A tool to generate simple regular expressions from sample text. Enable less experienced developers to create regex smoothly.
Use this
It's handy
ooh thanks
say that again
Nah
nice, lemme try
i absolutely hate how G.GAME.interest_cap works
so im adding another global variable to increase the cap more easily
a lot of the game is "whyyyyyyyyyyyyy"
yeah đ
- G.GAME.interest_cap is like, 5 * the actual cap
- vouchers hard set G.GAME.interest_cap to a value, like, i know it says
Setin the description but cmon đ„
it didnt work, damn
hm
guys
hi
is Joker.Add a thing
ya
it is
]i want to make Ultimate perkeo
what does that mean
how about just keep copying it
the sound effects will Not be kind on your speakers
why would you do that
set = 'Joker'
key = 'j_madness'
edition = 'e_negative'
set = 'Joker'
key = 'j_madness'
edition = 'e_negative'
set = 'Joker'
key = 'j_madness'
edition = 'e_negative'
that's more complicated
it doesn't work like that
easier method
it's bad
you really should learn how to code
?
the hell have i been doing the past three years then
i know how to code
Why the HELL would you think copying a function 50 times is better than a loop
<@&1133519078540185692>
<@&1133519078540185692>
funny
for whoever looks at the code
how does this work?
should_apply(self, card, center, area, bypass_roll) -> bool
how do I spawn the soul with add_card? I set the id to c_soul and the set to Spectral but it just spawns a random spectral
"Shut up my dad works for roblox" ahh
c_spectral_soul?
what does it look like
Nah
well i'm gonna have to wait again
hell naw
I mean both works
i need help with this
SMODS.Sticker {
key = "teef",
loc_txt = {
name = "Teeth",
text = {"+#1# Joker Slot, {X:chips,C:white}X#2# Chips{} and {X:mult,C:white}X#3#{} Mult."}
},
atlas = 'stickers',
pos = { x = 1, y = 0 },
badge_colour = HEX 'C1DAFF',
default_compat = false,
compat_exceptions =
{
Joker = true,
},
rate = 0.3,
calculate = function(self, card, context)
end
}
create card works but you do so much extra stuff for no reason
^
add card just wraps create card anyway
What about it
how does should_apply work?
and also writing the appropriate context
good for stuff like perishable compat
i think
should_apply(self, card, center, area, bypass_roll) -> bool
- Returns true if the sticker can be applied to the card.
yes
wow that took a while
top right
my dad works at the circus
Aura farming
why are the most helpful people in #âă»modding-general
i could really use their help
Then go ask
how does ```lua
apply(self, card, val)
it just says "Handles applying and removing the sticker"
but idk how it does
long stretch
"when applied, the joker adds an extra joker slot"
and i think that's the apply function if you don't do anything extra
like setting perishable rounds
that's so poorly edited together
ok now i believe this guy 100%
say i wanna make it so that the sticker gives an extra joker slot when it is present
the message button is slighty stretched out too
when removed it removes the extra slot too
you ain't fooling ANYBODY
Please ban me
what do i write
I need to be free
i want to be break free
is there a calculate for add/remove from deck
this isn't #âă»modding-general đ„
if you are really his friend, why not you record yourself refreshing discord and everything
i'd go for that?
ts pmo đ„
API methods
calculate(self, card, context) (reference)
loc_vars (reference)
Due to some constraints, the functionality of loc_vars on stickers is limited. Out of all possible return values, only vars, key and set are supported.
should_apply(self, card, center, area, bypass_roll) -> bool
Returns true if the sticker can be applied to the card.
bypass_roll skips the RNG check and only looks for compatibility
apply(self, card, val)
Handles applying and removing the sticker
Sets card.ability[self.key] to val by default.
draw(self, card, layer)
Draws the sprite and shader of the sticker.
sorry i misspoke

