#⚙・modding-general
1 messages · Page 70 of 1
by the same logic, a 3oak can be extended to a 5oak with the right cards, but that doesn't mean every 3oak is also a 5oak
I think it could be fun as a stand-alone Joker, since it works in the Base Game
I think that example is a strong argument the containment shouldn’t be on a definition basis but on a hand-by-hand basis
Like you could have other effects that make hands stop containing other hands
like I said, it's possible to just go off a specific hand that is designed to not be special and just run the function that checks hand types over that
Three Arms
You can make 4OAK with three cards.
OH NO
is my 5oak now a 6oak?
No
the way I see code is basically:
Is it a flush 5? If not then
etc etc
if it's not a pair, then it has to be high card
do my full houses become fuller houses?
it checks for each hand, and stores a value saying if it "contains this hand" or not
They could
If you define that hand type
not quite, it checks for every hand type regardless
it checks them all once, the actual hand type is then determined by the highest hand type that's been flagged
Also I completly forogot what I wanted to test
basically, except for Xoak in which case the game has extra code to infer the contained hands
and also full house containing two pair for some reason
Castle
A 4OAK and a Pair
Pair of 3OAK
Two 3OAKs
Parallel
A Straight and a Pair
Wasn't there a mod that has a joker that lets you play 6 cards?
Parallel is possible in the base game
It’s just not a hand
Maybe Straight and Pair should be perpendicular since that’s more unique than parallel lines
Balamod sad
jellymod is bad
hand of six also has a steamodded ver
By the way, do you know why Thunk changed their mind about Flush Five?
During the December test they didn’t want to add Flush Five
Gonna give you all a heads up, I won't be able to do anything modding coming soon for a week+
I'm finally gonna be able to relax
I'll still pop in and check on how everyone's doing and all that
Most of this week will still be normal
Thinking of just making a Generic Consumable type for people to either use as a template to make a new consumable or for people to add random consumables that don't fit the Planets, Spectrals, and Tarots
but not rn
so oddities
Sure
just realized you mean an api and not just a random word
🗿
moar voucher
Hype
These 4 are the ones I definitely will need help with. I want to try and avoid changing major code so that other mods work as intended is all
I'll have to find where the one old versions of the boss blind rerolls are
Because that one changes it from $10 to free
sup, my game crashes once i buy the joker that i coded in. can anyone help?
I'd love that
Found out someone's working on an API
Crash logs?
What one is it?
do u want me to send the log?
But does it show up in the shop?
And the collection?
oddities API
yeah
Hmm. I couldn't find it in #1209506514763522108
Check the name of both image files to see if they're correct
Crash logs are a good way to understand the problem, send away
it's not out and the person who was working on it left
Don't know if it's out yet
what's the line with poker_hands
Line 36 of your mod?
can you use steamodded and balamod at the same time?
if next(context.poker_hands["Straight"]) then
Apparently not, and the person who was working on it left earlier today
Apparently poker hands does not exist in the scope of your context, you need to check if it exists
oh
I think the error comes before, but you could always do something like
if context.poker_hands and next(context._poker_hands["Straight"] then
yeah it doesnt exist
how would i add it
alr ill try that
Okay so I don't know where the directors_cut/retcon code is
I don't know enough Lua but I think that should work. But in any case, I'd check the code for Runner or something like that to see if it has another check before
Gm Lyman 👋
hi lyman
gm king
I think somewhere in button_callbacks, common_events, or UI_definitions
Morning/afternoon/evening Lyman depending on time
morning lyman
Definitely think I'm gonna have to get someone to assist me in coding the last 4 if i want to get this out before I leave for my vacation
- Omniscience - Tarot and Spectral cards may appear in any pack
- Exoplanets - At the start of the round, create a Negative Planet Card of the most played hand
- Gaff Deck - Playing Cards appear 2x more frequently in the shop. Playing cards now cost $0.
- Reboot - Boss Blind Rerolls cost $5.
it is 10:54 am
oh so you have the same timezone as me
G.FUNCS.reroll_boss_button (button_callbacks) and create_UIBox_blind_select() (UI_definitions)
it's 8:55 am. your experiences and timezones are wrong
it works, but the game now crashes when the card gets triggered
the function to take away money is the former one
but the "$10" text is hardcoded in the latter
so have fun!!!
i don't know if you can update the label for the uibox_button
You can hardcode the third voucher in an extra line to show $5
even after doing nodes[1] purgatory
Since it checks specifically for the first two Vouchers
oh true actually
here's the calculate funcion, might be useful idk
local function calculateOmni6(self, context)
if context.poker_hands and next(context._poker_hands["Straight"]) then
local has_a_six = false -- we declare a variable, starting as false
for k, v in ipairs(context.full_hand) do -- for every card in your full hand
if v:get_id() == 6 then -- check if the current card we're looking at is a 6
has_a_six = true -- if it is, we set the variable to true!
end
end
if not has_a_six then -- if its not true...
return nil -- then we return nothing, this ends our function and ignores the rest of the code
end
ease_dollars(5) --other wise we give 5 dollars
return { --and we return a message showing we got money
message = localize('$')..self.ability.extra.penalty,
colour = G.C.MONEY,
delay = 0.45,
card = self
}
end
end
this will trigger for every context that has poker_hands
No way you're back
oh!!!
chat is there a good way to do this just so i can load specific jonkers?
welcome back autumn
I saw they were in the server earlier. I just didn't say anything
check for the existence of the mod's init function
the modsbyId of steamodded?
Welcome back, friend!
try
if context.cardarea == G.jokers and context.before and context.poker_hands and next(context._poker_hands["Straight"]) then
can anyone give me the base version of the en_us.lua file in the localization directory of balatro
this technically works i just need to figure out how to make oddities go to consumables from here
rn they just get used
where you that go?
I don't know you but nice to see you back
installed that one mod that changed each straight to gay but i didn't realize it wasn't updated for the latest update
If you see the latter part of the if, it's the same one you already have
does context.poker_hands["Straight"] return a table of the cards?
But I wrote it this way because I think the order might be important
if so i can replace my get_straight with that i think
(They were here earlier then left)
oh
AUTUMN!!!!!!
No i meant i saw they were in the server like 10 minutes ago
Good morning Lyman!
still crashes
By the way, @strange frigate, I got this by looking up Runner in the code and reading the sequence of ifs before its ability was calculated
itay i have a question
Ask away
why not override use_and_sell_buttons for alch?
or w/e that func is called i stepped away for a sec
For alch?
What do you mean?
G.blind_prompt_box.nodes[3] is the UIBox_button
I copied the UI boss blind select from the UI function thing
that way you avoid having the alchemical card start to dematerialize
and can directly put it in G.consumeables
I never considered that
Oooooo
are you ok?
I think you could try to rewrite the original, but override the ouput in your specific case
That or do injection
lost the booster role due to leaving the server temporarily
i could set it back ig
I may just release as a beta the ones I got done for now
I think the main reason that I didn’t use it was because I didn’t actually know that feature would be possible when making the packs XD
i mainly know about this from Usable Joker shenanigans
i dont think so
if only we coule be crimson instead
Usable Jokers?
What?
wdym? The color or me?
since calling use_consumeable with a non-consumeable card has.... side effects
Thank you so very much for telling me about it!
yes
i can send you Usable Jokers if it'd be helpful to see what i mean
or i could send you oddityapi once i get it set up in there
me and my penchant for not releasing apis until they're feature complete ^^"
I'm interested in the Oddity API
the card will stay at the center of the screen, softlocking the game
im trying to finish it shhhh
"worst that she can say is no"
her:
the fact that oddity api is like 40% itay's code.... 
btw anyone know how the debugplus booster spawning works? allegedly it supports it but it doesnt seem to work
oh nvm it spawns it into shop
consumeables
Aaaaaa this is so cool
oddity api,,
its getting there
I concur: that's so cool
You know what, I may rework some of them
What if instead of rerolls costing money... what if i just disabled the boss blind
I mean you CAN pay the $10 to reroll it still... but why?
gun: defeat the current boss blind
Maybe pay $10 to disable it?
also that pack looks so cool
I'm trying to make this easy on me to code
lyman's art is so cool 
I mean, I was thinking changing the code from "reroll" to "disable" would be easy
just do if thefunction
if SMODS.INIT.OddityAPI
I couldn't even figure out how to change it from $10 to $5, how am i gonna change reroll to disable?
its just that shrimple????
yeah
if it's nil that'll be false, if there's anything in the variable it's true
functions are just variables
I mean, the UI is separate from the effect. If the effect can work the UI can come later
You first posted just the UI
So i could check if mods are installed using that?
yeah
so i can just declare a variable as like
i used to be a sad SMODS.findModByIDer
you just need to know what the init func is called and hope the moddev never changes it
foobar = if SMODS.INIT.dickandballs
now i'm a proud SMODS.INIT.FusionJokerser
yeah!
that'll get a ref to the function i think
oh wait
oh shoot. I legit could just make secrets if you have other mods downloaded
forgot to put the if
you can do foobar = not not SMODS.INIT.randommod
yaheehy
thats so delightfully jank
i cannot figure out why the game crashes when the joker is triggered. pls help
i think you can do foobar == not (SMODS.INIT.Seahorse == nil) too
yeah but not not is funnier
not not is funnier
well i just want to have like a shorthand variable list at the top of code
heck
...odd
how do i un-set the oddity pack takeover...
I think if you want to change the price, the price is hardcoded in the function reroll_boss
ironically disabling the blind is easier than changing it from 10 to 5
paint can art btw
actually i liedish
so 2010’s internet core
Okay so I think I'm getting this working
don't quote me
I'm doing the playing card one
Since Gaff decks are 2x more common now, I copied the factory abilities but for playing cards
That and I'm replicating the function for astronomer but on playing cards and if you have the Gaff Deck Voucher
is there a find_voucher like with find_joker?
if G.GAME.used_vouchers.v_{voucher key} maybe
@sleek granite did you want an improved seal API?
YES
I’ll work on one rn
Oh I’ll make it geared
hi!
do i have your blessing to work with mystjokers when including it into jestobiology
please do
(could you make it so i can specify the type of cards the seal is compatible with)
Will try to!
(so i dont have to do weird jank stuff)
you will be added to the modcheck list
So something like this
although not the specific combo of Options + Credits
no lol
oh
What's that?
Fusion Jokers Mod Compatability Submod
Ooooh
G.GAME.used_vouchers.v_gaff_deck then
Damn crossover fusions, thats sick
if you would like to be included i will gladly put you in the modcheck list
yeah
lyman include me in the mod check list
Sure thing
also this is probably implied from me asking for the pipe one but include morefluff
The rest of it's fine though, right?
:0
yo, what's up Aure?
with WHAT jokers (i will)
just G.GAME.used_vouchers.v_gaff_deck, no need for > 0
@cunning silo i can't determine how you avoid this happening with alchemy packs, any insight?
the steamodded seal API is extremely basic at this point tbf
About what?
the name being wrong
Yup! And I’m going to expand it
actually i think set is also wrong, no playing card
Oh I just did a lot of node traversal to find it
So if (self.ability.set == "Playing Card") and (G.GAME.used_vouchers.v_gaff_deck) then... blah blah code, right?
this is after opening an Oddity Pack and then opening a Standard Pack
which i think means i need to un-set G.ARGS.is_oddity_pack somewhere
but i'm not quite sure where to do that
Huh, interesting
Playing Card is not a set i believe
yeah you'd check for self.ability.set == 'Default' or self.ability.set == 'Enhanced'
thanks autumn
me on my way to make a myst+morefluff joker that gives autumncircus stamps
Then what is the set?
^
oh default or enhanced got it
i'm scared of what the other word this could've been
if (self.ability.set == 'Default' or self.ability.set == 'Enhanced') and (G.GAME.used_vouchers.v_gaff_deck) then
self.cost = 0
end
Card_set_cost_ref(self)
end```
i managed to avoid The Thing I Dont Like About Alchemical Packs
looks good i think?
yknow what i didnt want it anyway
(i have NO idea why that happens but hopefully fixing the oddity pack state fixes that)
still confused how alchemical packs don't seem to need to worry about this....
WAIT IM DUMB NVM
i forgor to change one of the vars to is_oddity_booster instead of is_alchemical_booster 
okay whew all good now 
oddities are now able to appear in the video game
so this and non-consumable oddities are the only things left on the docket
oh and actually getting the full gamut of oddity packs :)
here's all the jonklers' shorthand btw, for keys add j_myst_ in front of them
local joker_list = {
"miracle_milk",
"lucky_seven",
"polydactyly",
"yield_flesh",
"pebbler",
"autism_creature",
"jimpostor", -- Suspicious Joker
"options",
"credits",
"pap",
"r_key",
"exploding_fruitcake",
"bobm",
"rdcards", -- Collectible Card
"prowess",
}
Do I need to specify a key_append if I'm creating a custom Joker? ```lua
function create_card(_type, area, legendary, _rarity, skip_materialize, soulable, forced_key, key_append)
wait
bobm fusion time
WHAT THE FUCK IS JOKER_YURI
toxic joker yuri....
Because I can't find where the keys are defined
merry andy and who....
chat i already lost track of where i define booster packs
I mean, I can see that Emperor and 8 Ball and etc. pass them to create_card, but I can't find where it keeps a list of keys
key_append is just used as part of the pseudoseed
Ah I see now they might be used for Jokers but not for Consumeables
Yes it's me, is_SDM
lyman when's my shittily giftwrapped chair oddity pack
(slash jay)
microwave
god this run was fun
guh oddityapi is almost 900 lines
jokers btw
none of those jokers are in the bible
that brainstorm goes crazy
after i draw magnet
oh god
joker yuri
you're fr about that
god now i need to listen to magnet THANKS
(/pos)
clown fish
Will check later. Got company
heck it these are good enough for testing
ooo
didnt someone on tumblr draw that already
didn't someone on tumblr draw you having a life
people on tumblr have drawn like anything
uncalled for
this feels like a reference of some sort...
nah you are (i don't have a life)
well that was notably unpainful
maybe i should let the oddity's creator specify whether it can be instantly used in a pack....
i mean what's the difference
needing a consumable slot
The Cow was pretty easy
for example, this doesn't really need to enter your consumable slots logically
But really I'd like it to make Milk
itd be funny if you kept the placeholder sprite
Maybe I can leave it as an option once I release it
is this real?
Beta Art toggle 
fourtune pack....
pog they work right too
mmmm visuals are a little janky but it's Fine
also cuz i havent properly shared Mr. Bones' Stamp banter:
what's andy now?
+1 cons. slot
alr
are there any differences between fortune, bonus, and suit packs
the pool, i'd assume
shoutouts to itay for both mr bones stamp and the idea for the new andy effect
the pool
ok i get the idea
mr bones :3
where's the glock that defeats the current blind
The Pool (odd numbered cards are drawn face down)
the pool is avaliable to read in full in the read me
a gun with one bullet....
thats the frost!!!
gdi did you already do that
i was gonna do that as Babby's First Blind
(is fine tho)
yeah
awesome!
the way i fixed it is by changing SMODS.Booster to ModName.Booster
at least i think that'd fix your issue
damn
maybe the best balatro mod
true!
finally it works
newt do you want this code
subatomic also breaks alchemical a little...
this is happening in alchemical packs, is what i mean
but to be fair, it's not finished.
yeah but thats the easy part 😭
not for this, no, i think i prefer the cards being used inside the pack insetad of doing this
fair!
mr bones certified diet cola
god the Mr. Bones' Stamp badge is so long lmao
I think you can just include Bones' Stamp
No way
itayyyyyy idk how i broke your packs
what have you done/
hahah
your code is biased
the recording software actually includes a secret function where it live patches balatro to make oddities work
biased? more like based
swag
i gotta make the other oddity packs
separately this is funny
THE MUSIC?
music goes hard
lmao
alchemy music
what's the song
alchemy music
LYMAN MENTIONED MAGNET
oh
MAGNET GOES ON
so i think
i think the game thinks it's in both an oddity pack and an alchemy pack
because it's giving the select button
"fun"
means i need to unset the oddity pack thing when i... close out of the pack, which im not sure where that happens
http://www.nicovideo.jp/watch/sm6909505
music: minato
pic: Yunomi
butterfly pic: Shinobu Uenomiya
mp3
http://nicosound.anyap.info/sound/sm6909505
off vocal
http://nicosound.anyap.info/sound/sm6926502
thanx to Neibaku for proofreading
[Japanese lyrics]
kabosoi hi ga kokorono hashi ni tomoru
itsuno ma nika moe hirogaru...
chat if you got codex arcanum installed alchemical cards will spawn in fortune and bonus packs
isnt this so pog
very pog
what does the eucalyptus planet do
increase gold cards held in hand money by 1
uh oh
BanneD
I mean like is it allowed to exist
discussion is illegal regardless
can't control it outside the server, but it is disallowed here
uh oh
debugplus my beloved
I'd rather be safe and not discuss here
thats what i'm sayin!
very uh oh indeed
Quick question here, Does anyone use JellyMod and none of the sprites for the cards show up
rule 1: jelly mod is broken
:l this is going to be an annoying bug to quash isnt it
pain
rule 2: oddity api coming winter 2027
i say as if im not working on it literally right now
I mean I do wanna do some heavy revision to pretty much most of steamodded at this point
Okay now that i’m here proper
Real Extra Consumable API would be pretty based
I'm just waiting to actually have time for it, can't do it in the middle of finals reasonably
What are some crazy mod combos
turn your finals into steammodded
should i upload the rewritten version of mystjokers to my github without making a proper release
which means I probably will, there's just also the thing that I screwed myself over breaking my keyboard and I'm building a new one first because yes
it's literally missing the sprites of two cards but uh i cba to draw them rn
pls help my game crashes once my joker is triggered and i cannot for the life of me understand whats going on
if I'm gonna do what I'm gonna do, that also means we don't need steamodded 0.10 but can go straight to 1.0 within reason
Can someone help me? I'm trying to make it so Cows create Negative Consumeables if you have multiple Cows. That works, except they don't spawn if you don't have room. I'm not sure why:
if self.ability.name == "Cow" then
local n_cows = 0
for i = 1, #G.jokers.cards do
if G.jokers.cards[i].ability.name == "Cow" then n_cows = n_cows + 1 end
end
local available_slots = G.consumeables.config.card_limit - #G.consumeables.cards
if n_cows >= 1 then available_slots = self.ability.extra.milk end
for i = 1, math.min(self.ability.extra.milk, available_slots) do
local consumeable_type = pseudorandom_element({'Tarot', 'Planet'}, pseudoseed('cow'))
G.E_MANAGER:add_event(Event({trigger = 'after', delay = 0.4, func = function()
if G.consumeables.config.card_limit > #G.consumeables.cards then
local card = create_card(consumeable_type, G.consumeables, nil, nil, nil, nil, nil, (consumeable_type == 'Tarot' and 'cow_tar') or (consumeable_type == 'Planet' and 'cow_pla'))
if n_cows >= 1 then card:set_edition({negative = true}, true) end
card:add_to_deck()
G.consumeables:emplace(card)
end
return true end }))
end
end```
Yes so I can read the code
No need to check for available slots if you're sure they'll be negative
okay

likely 0.9.9 first for Balatro 1.0.1 compat tho (what's currently the dev branch)
cant wait for every single thing to be broken in my mods
It's only Negative if you have two or more Cows
Oh
any help in dms or even here would be incredibly appreciated i have no idea whats going on
did dev fix vanilla seals breaking the descriptions
0.9.8 has had no issues as far as i can tell in 1.0.1c
then have it skip the available slots check if you have 2+ cows
(no new issues, anyway)
Does it check for slots?
perishable and rental make all tooltips vanish, basically
Oh I'm illiterate
that's fixed in dev, I dunno about seals
my joker stamps break tooltips too
Maybe check how many cows there are first and then if you got multiple don't check for available slots
but these are connected to one another, so dev might fix that as well
i can try to check with dev build? is there a known "safe" version of dev build
latest commit on that branch should be "safe"
aight i'll give it a shot
chatroom, the latest version of balatro beta branch is still 1.0.1c right
yep
also good morning
I fixed it thanks to @stone brook by adding an or
lol
o7
Anyways, do you know how to make a specific Joker always available to show up?
that's gonna be tricky
In what sense of always?
oh i know how
poggers
Just in the sense that buying it doesn't remove it from the pool
you modify find_joker
make find_joker return true if its asking to find showman
and also if it meets your condition
(this same Foil Mr. Bones with Mr. Bones' Stamp would only show the tooltip for Mr. Bones' Stamp in release 0.9.8 steamodded)
here i just want duplicates to always spawn so i just only check if name == "Showman"
but you can just put an "and condition2" after that
yeah that looks like the same issue
pogly
But what condition
I want a specific Joker to always be available
is there a debug option to put on seals?
not until you make one ;D
oh wait i got that mixed up in my head
i thought you meant if you have a joker then it spawns duplicates oops
debugplus has seals
my dumb ass
"i should go ask the creators of codex for their blessing on jestobiology"
make it so your joker removes itself from G.GAME.used_jokers after being bought
I was thinking something like that
yeha that should do, that's actually what happens to jokers you hack in with debug
shouldn't the name be jestology?
they never get added to used_jokers
That explains why I can find multiples
and the eternal + perishable
that's because debug
Okay but what does this mean lua elseif not (G.GAME.used_jokers[v.key] and not next(find_joker("Showman"))) and v.unlocked ~= false or v.rarity == 4) then
If G.GAME.used_jokers[v.key] is false then that's true. If you don't have Showman then it's true too
1984
how did you debuff him tho
perishable
Literally 1984
v is going to be every single card in _pool, which is going to be all jokers if its getting the joker pool
I've just uploaded the rewritten version of MystJokers to GitHub
https://github.com/Mysthaps/BalatroMods/tree/main/Steamodded/MystJokers_Rewritten
it's technically playable, but art is not finished
so not releasing rn
it checks if you own that joker, if you do, check if you have showman. if either of those pass, then it checks if its unlocked and if its legendary
legendaries, locked jokers, jokers you own while not owning showman are not added to the pool
What I'm trying to understand is if I should set G.GAME.used_jokers[v.MYJOKER] to true or to false
Notably, I split the main code so that all jokers are in their own .lua file in MystJokers_Rewritten\indiv_jokers
yeah it's not overriding the description
mood
seals are very cringe
Okay, the game crashed because I guess I tried to set the value in the wrong spot. Where should I set it?
cross mod content makes my heart grow 😁
jestobiology coming soon
astrojestology
after the game uses set_ability on your card i think
jestology
Oh wait, I think that wasn't the issue. I have an undefined variable
yea i was thinking that shouldnt crash
should Oddity Packs be a part of Oddity API or should i leave that as an exercise to the reader
(i.e. put them in autumncircus)
i somehow made seals just not work in the new version of codex XD
Thx to my ADHD I had to read it through like 3 times
id include it tbh
What is the key I should use? The slug or the name?
feder wtf are you doing
amazing
yeah it's slug
but i like calling them shorthands
i just call 'em ids/keys
man i should check if fusion jokers is loaded first huh
XD
hey feder do we have our blessing to use fusion jokers

i do not support mod compat /j
the secret future project was jellymod 2 all along....
XD
I am jelly in disguise
ok so like
who was it that messed with dragging cards around
i need some insight on what the flip is happening here
i just basically have to append FusionJokers.fusions:add_fusion("j_female_todd", nil, false, "j_female_steven", nil, false, "j_f_joker_yuri", 12) near the end of my init code?
lmfao
yeah
also wtf
joker yuri....
lyman what are you doing
Yaoi Jokers mod real
joker magnet.....
jestobiology
the based mod
lyman is cooking
do i have to do anything special with the rarity when declaring the joker
of all time
rarity 5
or am i just basically just coding a regular joker
that's it
roger
Nevermind, I was testing while I asked and it seems to have worked. But I accidentally rerolled past the second copy lol
regular joker
👍
thus ends my intensive questions
thats called fusion jokers, that one lyman showed is yuri jokers 👍
listen i gotta give feder some relief on the coding side
we gotta make ends meet or else they're closing our alchemy shop
okay rewrote philosopher's stone
now we wont starve
hey i love coding
itay when are we adding an EMC system to codex
how the hell would that even work
destroy cards, get emc to ranks, pick cards based on emc
wtf is emc?
emc from equivalent exchange the minecraft mod
spend $25 jollars for 5 SR pulls
riff raff... the soul....
the soul? more like: the based

yessssssssssssssssssssss
ssssssssssssssssss
ssssssssssss
(listen the only thing i think i still have to do is figure out how to put oddities in the shop)
it's not fun
(nonconsumable oddities can be later)
and it requires a really stupid hook that is not compatible with stuff
cause it's stupid
and dumb
Btw Lyman how will you decide which modded Jokers will be fused?
Yea
he is going to draw so much fanart of jokers kissing
maybe he already has
so what you're saying is i need to learn how to use lovely
i havent really determined it yet but mostly just what comes to mind, good suggestions, and consulting the mod devs themselves to make sure im not stepping on anything they might have planned
LYMAN
WHAT THE FUCK
hi
HUH
the yuri is real
will any of my suggestions be in there? 👀
im still thinkin about how you said their should be old man + self insert
that lives rent free in my head
lmao
drawing myself as an old ass man
fusionjokers is no longer supported by mystjokers
if you have it installed mystjokers will erase your save file
feder could i not simply hook create_card_for_shop
here's my hook for it
it's not fun
strange that this doesnt work for the autumn circus but worked for codex arcanum
the programming experience
its with a thorn i think
you could probably try checking for my global table
0.2.2 removed all thorns
oh cool
i got 0.2.2
My Cow works. Maybe I'll add Milk to the game once there's a Consumeable API I can steal from use
you could try checking if TheAutumnCircus ~= nil
unless for some reason the universe is in the used_jokers table for whatever reason
uhm it shouldn't be
lemme test this
that being my global table i use to make a mess of everything
Wait, was there an API hook for when a card was added?
Since I had already expanded add_to_deck I just added mine to it, but in hindsight I think there was already a hook IIRC
dangm
i also manually placed the universe in the pools, and it showed up just fine
i do
thats wack
starting the first fusion
and i think im off to the worst thing ive ever drawn already
it be like that sometimes
what a great start
see i'd almost say you need to check if the tarot actually exists since my mod has Extensive Config Options
but im not sure why its not working At All
if it didnt exist then i wouldve crashed when i manually put it in the pool
true
but i mean you can disable the universe tarot specifically and then it wont exist for your mod to use
you are doing this in your INIT function right?
otherwise it'll be down to load order
whoopsies
sillymaxxinh
yay!
right
a lot of this will just be fixed by using lovely instead of an override function, that way there's no cases to be missed
I do however need multiline regex support first
is there a way to (conditionally) increase the odds of a specific Joker showing up?
i still want to voice concerns about config options but idk how you might be able to access my config since i have to load it in INIT and then it is once again up to load order
ig you could set your mod to positive load priority? maybe a wack solution but whatever works
I think if I want multiple Cows to ever be a thing then I'd need to make them more likely to show up if you control one already
AAAAAAA a 3rd tab is complete!
glass looks uhm
quite peculiar
NO
magnet looks uhm
looks really similar to brimstone from tboi
nice save
cause the alchemical symbol of brimstone also looks like that XD
it looks like the fake glasses+nose+mustache disguise!
you're so right
look i am trying so hard not to laugh and wake up my entire family
how do you even modify load priority?
me when i disable just joker:
sob
it should be the only one you can't disable
how hard would it be to add a menu in the mods section that lets you toggle these ingame (requiring a restart to work)?
yes
maybe i can steal all of houserules' code at some point
it should be doable i just have no idea how to do it
does houserules even have anything in the "mods" button from main menu?
deck creator does
oh yeah deckcreator is probably more apt
i think im just gonna go fusion jokers route and add a button to combine pets
wooooo
instead of messing with hovering and dragging and stop hovering and stop dragging and
more fuckin buttons!!!!!!
buttonapi
need Sell + Use + Fuse + ???? all on the same joker....
so , how do i actually add effect to jokers?
lmao
this is beautiful
jimbo failed to score enough points for verdant leaf making him tonights big loser
is this jimbo + impractical joker?
to-do-list + impractical joker
(im lazy and i wanted to test out something relatively simple
)
based
me when mods
Seals!
⁉️
Seals!
third column when
🦭 ❗
SEALS!
rookie numbers
neither of you have my jokers
me when i image editor
and neither do i
btw if anyone has ideas https://discord.com/channels/1116389027176787968/1230965932504121374
You get the tier 3 vouchers to add to that 80?
can someone explain how effect on jokers work?
me when no one realizes i just took snows image and edited a 4
things that do things similar to what you want your joker to do
and figure out how they do things
that's a good idea
does anybody know about someon who made a joker that adds seals?
we're so barack...
mate i literally said
me when i image editor
i know you did
wdym add seals?
like it applies seals to cards?
add seals to cards
yes
try looking in the base game's code for j_certificate
since that essentially does that
thanks
like, take certificate's seal applying to new cards, and then look for something that modifies existing cards and combine 'em
yknow
NOOOO
now pay the $500 fine
please disintegrate elsewhere.
How do you find that GIF
when
when they are played
I think I’d look at how Spectrals add seals, then look for a Joker like Midas Mask and write a hybrid
point is i can't find neither of them in hte source code
why? you want planets in tarot packs?
i have skill points in gifomancy
What are you using to write
vscode
VSC should have the means to search through all the files of a project
Unzip the source code, open as a project, then search through everything
yeah ik but i can't find the effects
Just search the name of the things
For example, “Deja Vu” has 5 matches, 2 of which are in the localization files
joker effects are in card.lua
In card.lua, the mention of “Deja Vu” is close to a call of conv_card:set_seal, so I’d look at what that is
T3 Voucher I'm making has Tarots and Spectrals appear in packs originally
But i'm thinking making it similar to ghost deck where Spectrals appear in the shop and appear 2x as likely
Do you know what function does the Shop uses to choose what it offers?
create_card_for_shop?
I want to make a specific Joker more likely to show up
something like that, it has create_card in it
i always see it when searching for it
well it crashes if you put the voucher initially in the thing so lemme try something
DebugPlus lets you spawn vouchers while in the shop
I think i just typo'd somewhere is all
Ok no crash atm
now to get to a shop with cards
Why do you cost money
You're supposed to be free
I actually think I want to capture create_card. This might break the tutorial but oh well
I suggest you look at how stuff like coupon tag make things free
Coupon what?
items in next shop are free
I think the minimum price for anything is $1. I set my custom Jokers prices to $0 while testing but they still cost $1
oh right
2.5 cards finished for my mod yippeee
G.GAME.shop_free = true
self:yep('+', G.C.GREEN,function()
if G.shop_jokers and G.shop_booster then
for k, v in pairs(G.shop_jokers.cards) do
v.ability.couponed = true
v:set_cost()
end
for k, v in pairs(G.shop_booster.cards) do
v.ability.couponed = true
v:set_cost()
end
end
return true
end)
self.triggered = true
return true
end
shouldnt be too hard
How do I convert that to this?
Screw it, I'm grabbing the beta code and turning the old voucher into a Tier 3
I'm nto gonna waste my time making Tarot and Spectral cards appear in any pack, but instead just give it at the start of round or something
its so funny when that happens
Oh no
the cow is all powerful
this feels rather lazy
but you do you
It's not laziness
Oh no they're still here
the classic double create_card call
It's me TRYING NOT TO RIP MY HAIR OUT
just hook onto the create card function and check if youre in a pack and then return a new card
reference thing
^
local Card_set_cost_ref = Card.set_cost
function Card:set_cost()
Card_set_cost_ref(self)
This thing in code?
yes
yea thats a hook
oh that's what it's called?
Have you dealt with this before?
Okay, this one was on top of Uranus, and there was nothing on top of the cow
So let's see... in the code I see this for colors but there's "state == G.STATES.TAROT_PACK"
im assuming youre hooking into create_card, if you call the old create_card, then create a new card again, the old create_card becomes that 'floating' card
So if I can't get $0 for playing cards, what should I do?
can't you set ability.couponed then call set_cost again when a playing card spawns in the shop?
that's what I asked you to look at coupon tag for lmao
I did and have no clue how it works!
I assume set_cost checks for ability.couponed and sets cost to 0 if that's checked?
welp
What do you take? (Used mod to put Canio in first shop, used coupon tag to get it for free by skipping small blind). I think I am just running high card tbh.
goal is just ante 8
where the mod
why didnt they get set to 0
because none of them are playing cards and idk why for the playing card
might have to dig into set_cost itself then
don't have it in front of me rn tho
You have to call set_cost_ref first
You also don't need to card to be couponed, you can just set self.cost to 0
oh
function Card:set_cost()
Card_set_cost_ref(self)
if (self.ability.set == 'Default' or self.ability.set == 'Enhanced') and (G.GAME.used_vouchers.v_gaff_deck) then
set_cost = 0
end
end```
Like that?
Yeah
self.cost =
YOU...
You are a life saver
You make me so happy lol
Now to find an enhanced card
👍




