What do i need to do?
#💻・modding-dev
1 messages · Page 219 of 1
they exist because the vanilla function sucks
thats just what big smods want you to do
is there a reliable way to add specific types of cards to display in poker hand example?
ie, gold cards, stone, steel
I don't understand
great
Now where do I get to learn how to use the new bs?
the path for j_alter_bull is wrong, your code suggests there's two nested AJokers folders
the docs
SMODS.Aure:take_ownership
ownership of me is already taken by this cat
for now mine just applies eternal
🙏
I fixed it and nothing changed
!
is it in your mod list?
Yea
how can I access values stored inside an enhancement from a joker
oh it was disabled
duh
tried printing out a playing card to figure out the path and it didn't help
where do i find the contexts
might not be up to date with better calc
but that just means it is missing main_eval and main_scoring
and some other stuff
This exists too https://github.com/Steamodded/smods/wiki/calculate_functions
I will always wonder where the fuck do the values I return go...
yeah this is outdated
they go to SMODS.calculate_effect
uh...
your folder names are wrong
Thanks, I guess? (I mean, it did answer my question but uh...)
they're supposed to be 1x and 2x, not x1 and x2
i know that's a terribly unhelpful answer
oh... thx
it basically goes through keys in the returned table in a specified order and applies the defined effect for each
I see my joker in the collection now
I need... to copy the calculate function from the vanilla bull jokers...
anyone know where in the base game the "label" ui gets handled?
SMODS.calculate_individual_effect is where the actual effects happen
wahoo
found uh...
^ clueless dumbass right here
*probaly shouldn't be doing this at midnight
i mean it goes on, that's just handling the effect for chips
hey in this tutorial, what does card = card, do?
https://youtu.be/Zp-4U5TlbxY?si=u0hWSmiNZgC2O0I-&t=521
STEAMODDED 1.0.0
A tutorial on how to make a modded Joker.
https://github.com/art-muncher/Example-Mod -- EXAMPLE MOD
https://github.com/Steamopollys/Steamodded -- STEAMODDED
https://github.com/WilsontheWolf/DebugPlus -- DEBUGPLUS
-----------------------------------------------------...
in the function
it defines the card that the thing applies to
uh... sets card, as a variable, as card, as a function parameter.
it's indicating which card is returning it i think?
it's not necessary though
nothing
card, the variable, as card, the object
That shit is so unhelpful oh god
so then like
does G.GAME store the current played hand?
if im making something that triggers at the end of the round do i include it
you dont need to
it's needed in vanilla scoring calculation in some places
with smods you don't ever need to include it
ok so im not calculating score
Im trying to create a random playing card with equal chance for all seals, editions, enhancements and lack thereof but instead of the card being added to the deck it gets created on the screen and it kinda just stays there?
alright
stuff
card = card just isn't needed with smods
sounds funny, tho
ok so additionally
yeah but it does nothing
card = card "no shit!"
uhh
that is not a context
thats an smods function
fuck
it's a separate function, add_to_deck
Here.
hey chat
It works for me.
note: this has an unintended effect
hiya
@frosty dock What do I need to copy a calculation function?
huh?
Elaborate further.
how to code blueprint
-# fuck no idea on that one
setting sell_cost directly does not do what you think it does
i want to make Redprint real
it will be reset as soon as set_cost is called on the card
print()
and also preferably Green Needle
then what do I put?
you should set card.ability.extra_value to modify sell cost
It has to be a fixed value, always.
the other effect is that it resets when the card gets undebuffed
then subtract the sell cost from the value you want
whats the default sell cost
this matters because sell cost is changeable by other effects
half of buy cost rounded down
uh...
not accounting for editions
fg_common?
this is not true
Custom rarity.
no i just meant that i have not account for editions yet
common but common, huh.
so assuming im gonna set the buy cost to 1, if i want the sell cost to be 5 i should do card.ability.extra_value = 4?
No, common?, which is different from common, since you need a joker to allow common? jokers to spawn.
is this paralell universe content
then the sell cost will be 5 assuming no edition on the card
This is all I found in the source code.
yeah
For some reason my Debug Menu doesnt pull up when i hold Tab? I have version 1.3.1, but does anyone know if it's a version issue?
bump
so whats the command to add money
do you have anything else messing with debug mode status?
ease_dollars
How can I check?
lets goooo (ignore the blind chip i haven't made art yet)
How can I move this to the joker made through SMODS?
ease_dollars 100, would add 100 dollars correct?
search your mods folder for _RELEASE_MODE
ease_dollars(100)
how do i blueprint
SMODS.blueprint_effect (i love undocumented functions
undocumented :dismay: how do i use it
whatd i fuck up help
is there an example i can look
please, i dont know how lua and smods work
local ret = SMODS.blueprint_effect(card, blueprint_card, context)
if ret then
-- SMODS.calculate_effect(ret, card) -- use this if you need to do other things afterwards
return ret -- use this if you're copying a single joker
end
i know G.GAME.last_hand_played gets the last hand played, but does it work for the current hand? and if not is there na equivalent
missing comma after your loc_vars function
excuse me what now
ok so that's blueprint function that defaults to right card like blueprint right
ah it was added 6 days ago makes sense
the blueprint_card argument is the card being copied
I want to move this to my joker and then change it a little bit
No LSP definitions added, smh
oki
please help
why are they shaped weird
so im assuming
what is up with that hand
not using windows search 😭 that does not look for file contents
i first grab a list of jokers held
i mean vscode search
i check where blueprint is
and then i offset its index to get the card i want to copy
or something
what if there's two blueprint
its not a hand, the cards get created without being added to deck and exist in a limbo of being on screen
calculate = function(self, card, context)
if context.joker_main then
local dollars = G.GAME.dollars + (G.GAME.dollar_buffer or 0)
if dollars > 0 then return { chips = card.ability.extra*dollars } end
end
end,
Thx so much
so i spawned it in using debugplus and it didnt change my money
is that normal with cards that use add_to_deck
blue deck gaming
check out https://github.com/Steamodded/smods/wiki/calculate_functions and https://github.com/Steamodded/examples/tree/master/Mods/ExampleJokersMod as well
I saw it but it's still hard for me to understand
oh wait no it just
doesnt work
the sell value is $1 it should be $-100
add_to_deck = function(self,card,from_debuff)
card.ability.extra_value = -101,
ease_dollars(100)
end
end```
why doesnt this give me 100 dollars and set the sell to -100 dollars
after setting the extra_value try calling card:set_cost()
why are we doing functions inside functions
what you are doing is this
cuz
lmao
you're creating a global function called add_to_deck when calculate is called
the tutorial do it
tutorial did it tho?
how is that the same
that's because it isn't
i was just told to replace if context.joker.main with add_to_deck = function(self,card,from_debuff)
calculate = function(self, card, context)
-- ...
end,
add_to_deck = function(self, card, from_debuff)
-- ...
end,
https://github.com/Steamodded/smods/wiki/Your-First-Mod
this should give you some instructions
https://www.youtube.com/watch?v=Zp-4U5TlbxY&t=7s
the video is a bit oudated, but generally does well at telling you what to do
-# (note: there are some parts in the video where they called cards "center". don't do that, it's a bad practice, they are cards)
https://github.com/Steamodded/examples/blob/master/Mods/EditionExamples/EditionExamples.lua
its a good practice to check out the example mods, as well as other mods too for reference
https://github.com/Steamodded/smods/wiki/calculate_functions
on top of that, remember to read the documentation
GitHub
A Balatro Modding Framework. Contribute to Steamodded/smods development by creating an account on GitHub.
STEAMODDED 1.0.0
A tutorial on how to make a modded Joker.
https://github.com/art-muncher/Example-Mod -- EXAMPLE MOD
https://github.com/Steamopollys/Steamodded -- STEAMODDED
https://github.com/WilsontheWolf/DebugPlus -- DEBUGPLUS
-----------------------------------------------------...
GitHub
Steamodded example mods. Contribute to Steamodded/examples development by creating an account on GitHub.
:3
there it is
anyone know if its possible to give wee joker a different texture than what jimbo uses?
i jsut saw the comment about center i gotta change allat
well, unless you take_ownership of wee joker
sends a link to the documentation
on top of that, remember to read the documentation
in which case you could override its atlas
dont forget to mention the documentation
anyone know why a modded seal's label would show up as ERROR
wondering if its worth the effort to do that or just leave wee joker as is (<- making a texuture pack)
cant forget the documentation
ive made 2 seals so far and one of them has this problem and the other does not
there's an error
and yet they both use almost identical code and localization
i literally copy pasted it and only changed the strings so im very confused by this
you got this?
how do this? explain like i have a hole in my brain pls :]
i use a separate localization file
i do have the label section
it simply does not work for the 2nd seal, only for the 1st
so basically what you need to do is--oh wait, you have a hole in your brain, you should get that checked out
does it use the correct key?
no its fine i was born like that
the line after you do the extra_cost thing write card:set_cost()
and its info queue shows up properly on the corresponding spectral card
ah ok
can i see
wiggles don't work for modded blinds for some reason >_<
does debugplus have a way to restart the game so i can reload my lua when i make a change?
hold M
ty
but I think its a smods thing
not the exact code (i dont wanna show it) but it's literally this with the key and strings swapped out and both seals do this, it is in the Other set as expected
["pref_placeholder_seal"] = {
["label"] = "Seal Name",
["name"] = "Seal Name",
["text"] = {
"Seal {C:attention}Effect",
"{C:inactive}(must have room)",
},
},
not just debug.plus
use G.GAME.blind:wiggle() not self:wiggle()
okay
ohh my god
I
yeah
I forgot about that
the other one is in misc.labels but this one isn't
also is there an easy way to apply the gold seal shader to a modded seal
it didtn work its still $1 dollar sell :(
how can i remove an edition from a joker/playing card?
can i see how the the code looks now
card.ability.extra_value = -101,
card:set_cost(-100)
ease_dollars(100)
end,```
i tried it with just card:set_cost) aswell without the -100
it's weird that the comma didn't throw a syntax error
would a card without an edition return nil if card:get_edition() was called?
oh my problem was that you had an extra comma, not that you were missing one lol
SORRY i wasn’t home 😭
vscode search right
is there a specific file?
wait whar
global search on your mods folder
the -101 isnt supposed to have a comma?????
no
why?????????
lua
haven’t done that before, how would i start that up?
luas rules do not make sense
that is parsed as card.ability.extra_value = -101, card:set_cost(-100), which just discards the superfluous value
IT WORKS
yeah i imagined
YIPPEEEEE
yippeeeee
hooooooooray
@dreamy thunder yo check it
i got the sell to work
you can make it sellable now :)
nvm figured it out
OK still nothing
for some reason this is triggered by every single hand i play, not just flushes and straight flushes
what have i done wrong here?
correct me if im wrong but shouldnt it be ['Flush','Straight Flush']
not or?
context.poker_hands["Flush"] or context.poker_hands["Straight Flush"]
oh
shouldnt it be that
nvm iunno lua like that lol
im dumb tho so maybe they r the same :3
you have to call them separately iirc- yeah like what bepis said
ok
Now (or tommorow) i need replace $ to bonus probabilities and chips to multiply 
so i have a question about this code:
if i were to find an edition of this card would it throw off the sell value or is it still 100?
card.ability.extra_value = -101
card:set_cost(-100)
ease_dollars(100)
end,```
development resumes tomorrow, some may say...
it will be higher
nope, still being triggered by absolutely any hand
fuck
oh yeah
shouldnt there be next before the context.poker_hands stuff?
i saw it being used for this before
yeah poker_hands start as an empty table iirc
bump
oh shit how did i forget that
thanks that fixed it
next(context.poker_hands["Flush"]) or next(context.poker_hands["Straight Flush"])
probably that
oh, nice
ok how do i account for that is there a variable for the current sell value that i can do a calc with, like something like this (hypothetically)
card.ability.extra_value = -100 - card.sell
card:set_cost(-100 - card.sell)
ease_dollars(100)
end,```
now the thing is pretty much done except tfor the art
(card.sell isnt real probably)
everything inside set_cost does nothing
oh
card.sell_cost, not card.sell
you can change card.sell_cost directly but that might get ruined if set_cost is called again
personally I hook set_cost for this
i know i was just making up nonsense to illustrate the question
but i did get close lol
in this case, not really. every straight flush already contains a flush
this is what extra_value is for though
ahhh i see
next(context.poker_hands['Flush'])
It's easier that having to account for editions and stuff and also giving different cost and sell_cost
yeah the issue has been fixed earlier but thank you
fair enough
does this not work
just wanted to point out that checking for straight flush is not needed
yes
unlocked, discovered and no_collection should be outside of config
and extra should not be inside of another table inside config
why are they in the config section on the wiki though?
is this because i am switching the edition with debugplus or does my code not work :V
... they are not-?
these are all separate parameters
im assuming its the debugplus since it happened not when i added it to my deck but after, but how do i add an edition version without doing that?
you can tell by how they're not inside of config
(also there's a reference link in case you're confused-)
(yeah that's where i just went i shouldve looked there 😭 )
(mb)
how do i spawn an edition of a joker in debugplus without having to change it AFTER i get the card
you can use an eval command in the console
eval SMODS.add_card { key = 'j_modprefix_key', edition = 'e_polychrome' }
and obv modprefix is your mod's prefix, and key is your joker's key
and j stands for joker
fuck
then it's not the right key
is the prefix for your whole mod bank
thats the prefix in the json, right?
(i dont know why the eyebleeding text is their either)
nvm nvm im blind
why did i look at the id
show the joker code
key = 'Banker',
path = 'Banker.png',
px = 71,
py = 95
}
SMODS.Joker{
key = 'bank',
loc_txt = {
name = 'Banker Joker',
text = {
'Gives a {C:attention}loan{} of {C:money}$100{}.',
'Lose {C:money}$5{} at end of round',
'until {C:attention}loan{} is paid back.',
'{C:inactive}(currently {}{C:money}$#1#{}{C:inactive} owed){}'
}
},
atlas = 'Banker',
pos = {x = 0, y = 0},
config = { extra = {
money = 100
}
},
loc_vars = function(self,info_queue,card)
return {vars = {card.ability.extra.money}}
end,
add_to_deck = function(self,card,from_debuff)
card.ability.extra_value = -100 - card.sell_cost
card:set_cost()
ease_dollars(100)
end,
calculate = function(self,card,context)
end
}```
oh
that is the atlas key
i oughtta change that
same code as this but i changed it to
key = 'banker',```
i feel stupid
? 💀
is it j_banker_bank and not the other way around
no
oh
did you change then reload or reload then change
change then reload
and did you save the file?
but ill reload again
yes, dad
ive created 2 mods in the last month now im out here looking for ideas for a third one i think im a bit hyperfixated
bump again
WHAT
Try the docs! It has your answer (but I did give you the answer too)
https://github.com/Steamodded/smods/wiki/SMODS.Edition#edition-methods
💀
make jokers or consumables for all of the pantone colors. with like clown horn honking noises
And yoshi's weird noise from Super Mario World 2
ok so i deleted the header and now it just doesnt exist.....
like the card isnt in the collection
check your json
you copied from the explanation
comments aren't allowed
there are also no trailing commas in json
and also it should have the same name as the mod's root folder
i'm seeing a main.json up there lul
not really, the name ain't matter
really
wait really
good to know
it can be anything
thought it did
nope
i don't understand. how are all of you adding tooltips so easily and yet when i try, all i get is errors
thats definitely never been done before
fixed?
le comma trailed
if you're gonna set a steamodded dependency, use the version you developed on
ok NOW fixed
actually you did the exaxt opposite of what was necessary
put commas after every line
what
except the last one
commas after every item except the last one
wait
trailing commas means commas at the end of the object
oh...
not between stuff
i may be stupid......
oops
please help me. i am at my wits end with these ridiculous tooltips
this isn't a table
i swear, if that's it i'm gonna scream, how did i not see that. thank you
trailing comma
rip
ok its still not fixed
"id": "banker",
"author": ["maxx"],
"description": "check this shit out",
"prefix": "bank",
"main_file": "main.lua",
"priority": 0,
"badge_colour": "666665",
"badge_text_colour": "FFFFFF",
"display_name": "Banker Joker",
"version": "1.0.0"
}```
does it still not show up
nope
is the mod enabled
text must always be a table
yerp
if that doesn't work, i don't think your localization file is being loaded
youre like a godsend john youre so good at debugging all of this 😭
where would i start with a dynamic description?
like the joker’s text is different depending on either it’s in the shop or something versus you have it in your jokers….area….thing….
how did you learn all of this so well
does anyone know why this isn't giving Xmult? x_mult and x_mult_mod both aren't working here for some reason
the message works fine though
make multiple localization entries and select them using a key return in loc_vars
hes one of the lead smods devs rn :L
isnt it supposed to be xmult and not x_mult?
I don't think so
wait yeah
the tutorial i watched does think so :V
- what's the config table of your joker looking like?
- what's your smods version?
it's Xmult
and it worked in the tut
the tutorial is outdated
oh is it
like a second text = { in the localization file? or no
i mean yeah Xmult_mod isn't in use anymore
this was correct, thank you 
I was going to say because I checked both baseball card and the SMODs version of observatory to double check
a second some_other_key = { name = '', text = {} }
smods does not care if you use xmult, x_mult, Xmult or even x_mult_mod
ohh
what the fuck
weird
i know nothing
heres the config, I rewrote it a couple times so I don't think it's that, and I don't know the exact version but it's a few commits behind at least
check version.lua in your steamodded folder
uoh
how's this?
is gray a valid color actually
yeah that's why I'm confused
do you mean inactive or something else
im trying to get that OTHER gray that's not inactive
ok
that's not a thing
maybe it was modded then
have you confirmed this if statement is being entered?
of course there's other gray colors in the game
but {C:gray} isn't a thing
ohhhhhh
you can always define it yourself though
just replace 'Gamer' with the name of the color and the hex code with the color you want
I made my first joker
idk what's wrong then
that would be annoying yeah
theres nothing saying it isnt, like an ignore file in the folder
would something else disable it?
This gain xmult per each bonus probabilities
Where does this go in a localization file?
weird, well thanks anyway
I think it's just for initializing the color thing
don't change it
it doesn't actually do anything
can be anything. it's just that the color args don't exist until there's been a call to loc_colour
i mean, its a long shot but you could always try just changing the variable from x_mult to xmult
maybe the code is being mean
got it thanks you two
like i said smods doesn't care and definitely recognizes x_mult
tried it, didn't work
alr
then is it a problem with the return function that message is bypassing?
does color changing work on the NAME of a Joker?
... that's cursed
the message was only added to try and debug this
it was already not working before I added it
sanity check, does Xmult_mod work?
what do i put for the path and atlas?
yeah try calling it somewhere else maybe
nope
wuh oh
is baseball card functional?
do you still have a message
have you tried a salt circle
I’ve noticed that the “random” number my joker triggers is the same for every hand and only changes per seed
and on the message, the mult does not change
is there a similar method for the description's mod badge? like an off/on situation
can it be made truly random? so it changes every turn?
correct
honestly not a bad option at this point
okay something isn't adding up
is baseball card actually changing mult?
or does it just say that it does
I can check rq but I think it was
because there is literally no difference
is there a problem with calling the function? since baseball card is built into the game but this is a separate file maybe
what
I kept continuing the same run
YOU WERENT RESETTING?????
and since card variables persist between runs it didn't update the card's xmult
good night john
i can't take any more of this
get good rest 😭
I'm so sorry aure, get some rest
i still dont know why my mod isnt showing up :(
in the mod menu?
yea
it was a pity 😭
skill issue?
do you have a json file? if so post it
"id": "banker",
"author": ["maxx"],
"description": "check this shit out",
"prefix": "bank",
"main_file": "main.lua",
"priority": 0,
"badge_colour": "666665",
"badge_text_colour": "FFFFFF",
"display_name": "Banker Joker",
"version": "1.0.0"
}```
who's having skill issues
i'm just asking
oh i was saying it being 2am was a skill issue
i thought you were turning it around on me
problems
whats the problem :3
hi having problems
-# i was, this is just an excuse to get out of it
so
🤫
oh lol
im trying to add some new jokers to the game
and i made a custom challenge to test them
but when i go to play it
the game crashes because "center is a nil value"
before i get myself into more tech support, i shall vanish
i suspect that the issue lies in my joker's code
why not just use debugplus?
long shot but it doesn't have a "name" section
Oh
test with DebugPlus, not a challenge
that's probably required
that's a thing
this is a chat????
based asf
just add like
"name": "The mod",
and see if it works
get out of here already damn ‼️
"id": "banker",
"author": ["maxx"],
"description": "check this shit out",
"prefix": "bank",
"main_file": "main.lua",
"priority": 0,
"badge_colour": "666665",
"badge_text_colour": "FFFFFF",
"display_name": "Banker Joker",
"version": "1.0.0",
"name":"funny 2"
}``` so this
yeah
yeah i was gonna say you’re missing name
bye aure, sorry for causing you distress with my stupidity lmao
its showing up and is called funny 2 i may just be stupid and forgot the name part
thats awesome
happens to the best of us
I would be a very power person if I had a dollar for everytime I forgot a "then", "end", or "do" in my lua code
same ong
i did this after being told to not have hanging commas
brb
i did the opposite
did you mean powerful
where do people put the atlas usually?
me forgetting stuff also extends to my regular speech too
I think I just type too fast for my own good
so good news is my joker doesnt crash the game
bad news is it also doesnt do... much of anything
love this
this is a very cool but niche card
unless your mod also adds more cards that change probabilities
I just made my first joker
This is the code for my joker. I'm trying to make it so that it grants +22 Mult if all played cards are suitless. Did I do somehting wrong here?
if context.final_scoring_step and context.cardarea == G.play then
for _, v in ipairs(G.play) do --For each card in played hand...
if not SMODS.has_no_suit(v) then
return --Returns nothing if card has a suit
else
--Continues if card is suitless
end
return {
mult_mod = card.ability.extra.mult,
message = localize { type = 'variable', key = 'a_mult', vars = { card.ability.extra.mult } }
}
end
end
end
}```
why are you using final_scoring_step?
I'm not supposed to?
only for certain situations
Fair
like plasma deck balacing your hand
Should I use joker_main instead then?
yeah
not sure if that's the issue but it's just a good thing to do
actually it might be
idk
final_scoring_step is weird
Still nothing.
oh
Is G.play the right thing to reference?
context.cardarea won't G.play
yeah
just do context.joker_main
you don't need context.cardarea here
ah okay
What if i do x1 for each bonux probabilities?
Still nothing.
Too unbalanced?
maybe
hey question goobers
I think the main issue is that probabilities can only be affected by one joker
im trying to put my joker descriptions in localization but this says its a null value
if you want to do something that gives mult for it, you would probably need to add more stuff to raise them
Maybe ill make more jokers later
hold on let me put it in vscode
it's easier to examine with syntax highlighting
yeah
I'm not really familiar with pairs and ipairs
what you would want to do in this situation
is loop through the entire hand
with for i=1, #G.play.cards do
actually first you would want a local variable called hasnosuits
and you set it to true
how do you do per discarded card?
it's easier to exit if you find a card with a suit
and then put the actual return after
yeah
that's what I'm saying
you put the actual returning in the loop itself which isn't correct
I want to make all vanilla Jokers with shifted value types like here
For example: money -> probabilities, chips -> xmult
if context.joker_main then
local hasnosuit = true
for i=1, #G.play.cards do --For each card in played hand...
if not SMODS.has_no_suit(G.play.cards[i]) then
hasnosuit = false
break
end
end
if hasnosuit then
return {
mult_mod = card.ability.extra.mult,
message = localize { type = 'variable', key = 'a_mult', vars = { card.ability.extra.mult } }
}
end
end
end```
something like this would work
no problem
it that case it could probably work
as long as there are more jokers that give you more opportunities to increase your probabilities it's a good card
though I would say they should probably be conditional
IT WORKS!!!
if i set x1 mult for each probability then u need only 7 oops jokers for x128 mult
With vanilla jokers
yea
chat i need help... trying to make a challenge deck using custom suits and getting this.
works just fine with nothing set under deck.cards (therefore all cards are enabled, including modded ones), or only vanilla cards set under deck.cards, but the moment I add a custom card that I have already defined through SMODS.Atlas, SMODS.Suit, and SMODS.Rank it breaks
does anyone know what C: tag i need to use to get green text
just green
thank you
does anyone know if there a mod that does like reverse foils reverse holographics etc. for jokers? cause it would be kinda cool if you could have the border like be holographic and not the artwork
Is there a way to boot the game (change config file maybe?) into windowed mode instead of it going from full screen to windowed? I saw this answered on reddit, but I don't have a conf.lua file to alter
could it be G.C.GREEN
does anyone know if there is a mod that helps me spawn in jokers, ive been trying to test my mod but cant find the joker im testing
im back
quick question
welcome back c:
why is it nil?
did you set up the value table
i'm making a joker that has double sell value by default
and always has x2 sell value
how would i go about doing that
rip
i may be wrong
where exactly would i put this
card.ability.extra_value = card.sell_cost * 2
card:set_cost()
end,``` put this in the smods.joker area
well okay
thats the call to activate at the time its added to your jokers
okay but i want it to activate
all the time
so it has synergy with jokers that increase sell value
i dont exactly know how to do that
@vale lake hey youre smarter than me
do you know
infinite wishes
cherry wants a card to permanently have x2 sell value
like not just when its made, but all the time so it has synergy with like gift card n stuff
i only know how to change it initially not how to keep it x2
that sounds like a massive headache but technically possible IF it's an edition or ehancement or something
local set_cost_ref = Card.set_cost
function Card:set_cost()
set_cost_ref(self)
if self.config.center.key == "j_modprefix_key" then
self.sell_cost = self.sell_cost * 2
end
end
that's basically what i would do
(edited to check for key)
i'll try it
oh but you need to check for your jokers key
I think that breaks with some stuff
like what
like giftcard I think
trying to set up a dynamic description. where do i go from here?
that doesn't happen to me
make a table
the giftcard thing might be
they told me this ages ago when I was making Jocker for balatrostuck so it's possible it's changed
how do i check if a card is a glass card?
money = 100
}
},``` an example of what i mean by make a table
this is the table in mine
i dont think i made my table mine
was this for me
instead of card.ability.extra.mult_mod??
you'd have to do some calculations to make it sell value x2 and then the extra cost from cards like giftcard
nvm
so if you plug that in, itll display 100 in your description
does G.play only store scored cards or does it store every card, even if they aren't scored? cause i need to know what cards are scored and what cards are not scored for a blind
well i know that much
im trying to get it to change depending on whether or not you have the joker
OH
like in your area
where would i paste this exactly
i thought you meant how to use the # thing
no i got that dw
uhm there should be a way to check if its in your hand, you could just do an if else with that
lemme see
anywhere in your code but not inside your joker or anything else
okay thank you
why did you even say anywhere lmao
if context.joker_main then?
well that's for calculation
anywhere not inside something is a set of places
could you not use that in any case, not just calcs?
i dont
believe so?
i mean considering they are literally calculation contexts they're likely gona break but
sure i'll give it a whirl
how do i permanently give a joker more mult based on a condition?
i mean is there a way to change the local txt in add_to_deck = function(self,card,from_debuff)
you add it to a field inside card.ability.extra
(for example card.ability.extra.mult = card.ability.extra.mult + 1)
that was like 30 global variables lmfao yeah no calculate functions are in calculate for a reason
lmao
what about this?
thank you
what are you trying to change?
the description of a joker when it goes in your hand
i'll label it
Ok, if I understood correctly you should be able to check card.area == G.jokers in loc_vars
hey stupid question but im able to update the money variable outside of the config extra table right
like this is okay
yes but it's card.ability.extra.money
ahh
also don't use calculate without a context
ok so i want it to be the red one when the joker is anywhere that isn’t in the joker area
and then i want it to change into the blue one whenever the joker IS in the joker area
You can change between the two descriptions but it's a hassle, I recommend using {V:1}, etc to change the colors instead
i know how to get a joker to recognise a number card being played, is it more or less the same thing to know if it;s glass?
hi bepis
hi peak :D
well i mean it’s gonna be two different descriptions
They look similar enough to me to change them with loc_vars
yes but that’s the part i don’t know how to do 😭
the rats are not harvesting the guts
ye gimme a sec to write it im slow
is there a way to make an atlas that loads assets from another mod?
oh ok ok sorry
this sounds so weird out of context 😭
am i stupid chat
you dont uh, run functions in return like that
NILLL ITS NILL
and the return part is definitely wrong too
show me your config, loc_vars, and the joker's description
your description should be
"{C:mult}+#1#{} Mult{C:iGray}#2#{}"
and I think you can just return this in loc vars
return { vars = { mult, card.area == G.jokers and "...?" or "" } }
...its supposed to give 1 more hand, not set it to 1 hand 😭
;-;
fixing
yeah you need to calculate the amount yourself i think
if context.after then
ease_dollars(-5)
card.ability.extra.money = card.ability.extra.money - 5
card:set_cost()
end
end```
hey so this didnt update the cost
or not
use ease_hands_played?
it changed the value cuz the description is different but the sell value is the same
its uhh temporary hands
like, it doesnt increase round_resets.hands
but hands_remaining or something
SMODS.Atlas {
key = 'TheRats.png',
path = 'TheRats.png',
px = 71,
py = 95
}
SMODS.Joker {
key = 'TheRats',
loc_txt = {
name = 'The Rats',
text = {
"This joker gains {C:chips}+#1#{} Chips",
"and {C:mult}+#1#{} Mult",
"per discared {V:1}#2#{} card",
"{C:inactive}(Currently {C:chips}+#3#{C:inactive} Chips)",
"{C:inactive}(Currently {C:mult}+#4#{C:inactive} Mult)",
"Gut Harvesting go BRRR"
}
},
atlas = 'TheRats.png',
pos = { x = 0, y = 0},
config = {extra =
{ chips = 0,
mult = 0,
chips_mod = 3,
mult_mod = 4}},
loc_vars = function(self, info_que,card)
return {
vars = {
card.ability.extra.chip_mod,
card.ability.extra.mult_mod,
card.ability.extra.chips,
card.ability.extra.mult
}
}
end,
calculate = function(self, card, context)
if
context.discard and
not context.other_card.debuff
then
card.ability.extra.chips = card.ability.extra.chips + card.ability.extra.chip_mod
return {
message = localize('k_Guts_ex'),
colour = G.C.CHIPS,
card = card
}
end
end,
calculate = function(self, card, context)
if
context.discard and
not context.other_card.debuff
then
card.ability.extra.mult = card.ability.extra.mult + card.ability.extra_mod
return {
message =localize ('k_harvested_ex'),
colour = G.M.Mult,
card = card
}
end
end
yeah
i see
put ``` on the beginning and end of this pls
makes it readable
ur good
what are you trying to do? set_cost won't do anything here
info_queue, not info_que btw 😭
you need to change extra_value like before
info_Q
wait just mult? not card.yabbadabbadii or whatever?
and balatro crashed
it's card.whereeveryouputmultin
ok phew
i love unnecessarily long var names :3
also you might need to check if card.area exists
bepis can i send u a link to my mods discord to test the verification thingy
i hate winforms so much but i finally got one part working holy moly
all good?
yoo
wait that's sick
oh damn thats neat
-# use my automaticColoring :3
before card.area I would put card.area and card.area == G.jokers blah blah
to check for nio
nil
is there even a way to check if a hand contains glass card(s)?
its doing it at the end of every hand not the end of the round
what is the atlas name for the default balatro tarot card atlas, im using it for a placeholder
i really cant figure it out
what context are you using
if context.after then
i saw it on the wiki and thought it meant at the end of the round :(
https://github.com/Steamodded/smods/wiki/Guide-‐-Joker-Calculation
there's one called end_of_round
looks good
how so?
where are 1x sprites used
I want something like this to work, but it doesn't... do I dare make a lovely patch on the part of smods that loads the path? 
where are you checking
in the bit where the joker affects are applied
