#đ»ă»modding-dev
1 messages · Page 20 of 1
actually that encourages gambling
no gambling in my silly poker game
it is unlikely i could draw any such thing
Mini slot machine :))
X60 mult, this card is destroyed at end of round
or
Shop cost is tripled
use cost could even be changed be the effect
this sounds like so much work to implement ong đ
nvm
it'd be something that definitely suffers from loc_txt annoyances
you'd need to set the loc_txt up as like #1#,#2#,#3#
and cant use any variables or colors
then do localize calls on loc_def to populate
I think that would allow cars at least, but no colors
oh yeah you could just put the variables in yourself
since you're already handling every line as a variable anyway
there's definitely potential to this idea i just do not want to be the one to do it lol
i wanna focus on getting the number of oddities up first
with a bunch of small, simpler things
Alternatively you could have some way to change the loc_txt being used dynamically
like, set up a bunch of different ones in advance and pass that as a key to localize
tbh I could support that
When Steamodded 1.0 is out of alpha I'll continue my oddity mod too đ
there's already vars, main_end and main_start
should hiker-style xmult bonuses stack multiplicatively or additively with Glass and Steel card effects
it's a separate effect, so should be multiplicative imo
why my cards are getting 2 of hearted ? (it happened since i added a new enhancement)
oh no
(well i added two but only when i add the second one it does that)
not the 2 of hearts bug
i heard that it was an enhanceapi bug
yeah
when i added the first enhancement every thing was okay but when i added the second one
well hearts everywhere
well I can't help with that I'm afraid, though I'll need to look at that mod's code sometime if I wanna port it
Holy card?
ah so the goblin tinkerer
cool egg
Gives 250$ of sell value every round
i want to make a tarot card that have a 3/4 chance to enhance a card or a 1/4 chance to apply another enhancement
but i don't know how to make that
Just do a check if the 3/4 occurs and if not does something else
Unless the 1/4 event is independant
If (3/4 chance)
stuff
else
other stuff
how i do the 3/4 ?
Check for jokers that has random events occurring
okay thx
Also how easy would you guys say it is to make a blueprint-esque joker
the problem is that jokers use 1/blank chance
base number is always 1 and it changed with oops all 6 and other things
Can't you increase the first number?
yeah but won't it be screwed by oops all six then?
Only way to find out is testing
I mean it will be screwed
because the value will be increased by 2 in this case, instead of 3/4 it'll be 4/4
If it's a problem he can always do 1 / 1,33 tho it won't be a true 3/4
And the math can be screwed too at moments
how's this for its effect? "Gains $2 in sell value and +50 chips every round"
Couldn't you do something like pseudorandom('space') < G.GAME.probabilities.normal * 3/self.ability.extra.odds then
A 1/1.33 will just work fine with iips all sixes
yep 1/1.33 seems good
3*probabilites.normal isn't an issue
Also isn't there someone adding extra stakes
The way the game does probabilities is by sampling from an uniform distribution on [0,1], so that if you want a binary event with a certain probability p of happening you can just check if you sampled a number between 0 and p (or 1 and 1 - p)
The logic behind 1-of-n events is similar but you have to remember to account for dependency among events if you want the probability of a specific event to be a specific number
But an easy way to do it is with independent checks and a running sum, for example the first event has a probability p_1 and the second p_2, first you check if the sampled number is less than p_1 and if not you check if itâs less than p_1 + p_2
or you subtract the checked value from the polled number until it's in range
Thatâs equivalent
yeah, but it's a bit easier to implement
You can think of this as dividing the interval [0,1] into pieces
w/e
I was trying to explain in a way thatâs easy to visualize
As dividing the unit interval into chunks
all good
You have the first [0, p_1] chunk, then the [p_1, p_1 + p_2] chunk, and you can verify the first has size p_1 and the second p_2
It doesnât matter because the extra point has probability 0
yeah
You do have correct representations of 0 and 1 in binary tho
Although more closer to 0
it doesn't matter in theory but technically matters in practice
actually wait you just generate 23 random mantissa bits or whatever
well it barely matters in practice, just because precision isn't infinite
having some issues getting my mod to even get recognized by the game itself
Hey I want to make modded jokers need to be unlocked instead of discovered, how do I do that?
You didn't forget the header?
im modifying the blank joker template, (which that template and mod IS actually getting recognized in the mod and collection section when added to mods), but i cant even get it to show up anywhere unless i mess up some syntax somewhere
no the header is there
i made an error earlier in it and it gave me a crash screen over it
but i fix one typo and suddenly the game ignores the mod outright otherwise
Does your joker slug match the one you're registering?
It's usually what's done
no change
i think its less to do with the joker itself, since the mod isnt even coming up on the modlist
im thinking i trimmed some code someplace that maybe was necessary for the mod being "activated" in the game's eye
Sure
function SMODS.INIT.Cejai Mods()
This line causes an error
So your mod never gets init'd
its not the space in the name, is it?
Yes it is
add a "_" instead of a space
I'm not sure if MOD_ID can have space in them too but I might be saying something wrong
i removed the space to make it "CejaiMods" which is what caused the game to crash before
If it doesn't work try renaming MOD_ID to "CejaiMods" too
SMODS.findModByID("CejaiMods").path MOD_ID: Cejai Mods sus
okay its registering now and im getting errors in that SMODS.INIT section
i gtg tho so ill comb through later
ty
a
Yea prob the findModByID that's breaking, also you should remove the "_REO" in Sprite:new
I hate 0.9.8
Do you deem the alpha stable enough so that I can start porting my mod toward 1.0.0?
the latest commit has a very, uhh... prominent crash, but that's a one-off
I can wait it's fine
im worried for when i have to port
the APIs are generally pretty stable at this point, so it's not a bad idea to start porting
Alright
consumables are still getting some features, I was just working on non-consumables (don't get destroyed on use) earlier
then I realized there's no way to display state in consumable descriptions, so I'm trying to add that
As long as the jokers, challenges and decks are stable enough I shouldn't have any problems
yeah they should be
Btw Aure, did you change how localization is added?
challenges are dead simple, they don't require any extra code apparently
yeah, I needed to change the timing because of the language API, and to ensure changes apply when languages are changed
steamodded has always just been ignoring that part of the game before
that's almost correct
you need it to be redone on every injection, so shove it in an SMODS.current_mod.process_loc_text() function and you should be good
what
is this method SMODS.current_mod.process_loc_text() something i need to implement?
function SMODS.current_mod.process_loc_text()
-- the code in your screenshot goes right here
end
Alternatively you can put it in the process_loc_text of any other game object (this is what you had to do before I added this), which is kinda dumb if the text doesn't inherently belong to a single object
np
porting to 1.0 is quite fun actually
(as long as i don't have to take care of booster packs XD)
I- uhhhh
yeah I'll try to add these
I don't think I'll be adding states though, there's too much to break there
makes total sense
you can use the method that Codex used
wait add it to 1.0?
yeah
well there's really only two kinds of packs right? the ones that draw playing cards and the ones that don't
yeah
i was exploring the card.lua file trying to find a way to make a card gain a xmult when a specific hand is played
and the only result i got was the mult message popping up
Check Cavendish
uh
bad practice detected
what's supposed to be better about using individual files for each object?
I was more referring to that joker file in fusion jokers
ik, just wanted to point that out
i mean, a joker like hologram, idk
Tbh I do this too but for 1.0.0 I'll switch to a spritesheet to avoid becoming the next hanged man art on the tarot card
but when i play the hand it gets buffed
Campfire?
same but for 0.9.8 I'm staying separate files
using individual files for each pixel
shhhhhhhhhhhhh
at least i won't have to recode my website for 1.0.0
yeah i switched to atlases
(im lazy to use spritesheets shh
its working a little bit
i just need a way to make the upgrade happen after the flush is played before activating the mult
the word chips should not be highlighted
that's not how that was supposed to go...
btw, i tried to use the card mult text and its saying error lol
its saying error in the joker description
do you have a loc_def function?
i don't know about loc_def
what fucking abomination of a boss have I made
sorry if the music is loud btw đ
it's too unique
https://github.com/Steamopollys/Steamodded/wiki it should be explained here
"Chicot cannot help" đš
i think i found it
hm
imagine no cheese
please read the wiki
he can't help
alright
chicot is dead
i just can't quite figure out why it refuses to let me add a card like this to the consumables area from a pack
kinda defeats the point of nonconsumables
What mechanics does it even have?
every single boss
in one
and it's 8x
the scaling is different because it's another stake
smod 1.0.0 alpha, "requires" seems to have been changed? second voucher no longer spawns if i use requires like this
that should work, what table is that in?
smods 1.0 does some magic with the keys to ensure there's no collisions
it prepends 'v_' automatically and also your mod's prefix
which is the first 4 letters of your mod ID in lower case if you don't specify otherwise
so the actual key of gondola might look something like v_abcd_v_gondola
christ almighty
alright i'll try a couple variations of that and see what gets it to work
thanks a ton
got the different loc text entries to work as well
maybe there's a better way, I usually don't like if a mod's prefix has to be referenced in code at all
but I don't see how that works out here, since vouchers you require might be from any mod
I plan to remake my mod for 1.0 soon, are there any directions on what to do/what exactly changed?
I saw something about init not existing, what's instead of it now?
the basics are you just put everything that might have been in init before in the mod file directly
all constructors take a single table as an argument, including all functions you would want to define on that object
tables instead of that list? huge
it was supposed to kill 2 jokers
I'm still not used to lua for loops
new commit is up and unscuffed
is there any work on an edition api?
not from my side
What do I need to do with blind to make it trigger Matador? I assumed Matador checked triggered = true, but he doesn't?
I change self.triggered to true in Blind:press_play() and nothing really happens with Matador
It only works with debuffed card it seems
damn
i'm trying to make a tarot card and idk why but i have this error
how are you creating the Tarot?
They might be passing it all as a table in 0.9.8
wdym ?
name should never be a table
yo guys do you guys know how to force a save at any point in the game?
do i just save_progress()?
also it seems like game is not saved properly if i save any card in G.GAME.anything
I use G.GAME.anything to save stuff and it's working fine for me
functions aren't serializable im guessing
is there something i'm doing wrong here? not quite sure whats up here
hm, it shouldn't be trying to serialize functions though
mod prefix gets auto-prepended
So this is actually odd_odd_modicon rn
pretty sure I didn't somehow leave it as mod_icon?
looks like you didnt
it shouldn't
odd, literally
I don't think it matters, but try without calling register
actually that can't matter, I don't think
weird if it did, but possible
oh damn I guess I'm doing the key stuff in register unchecked
if someone finds the way to properly save a card, let me know
alpha or 0.9.8?
looks like discovered state of take_ownership'd vanilla jokers is still kept between profile switches
(it's fixed for proper modded jokers & other cards)
is this supposed to be being set somewhere? it's currently not, as far as i can tell
oh, nvm, i see
hm, looks like it's keeping the discovery state at first injection, but these are not the defaults
init_item_prototypes sets these values immediately, so this might require a lovely patch to capture the default values in _d and _u
0.9.8, but I donât think that was touched in 1.0right
well the way things are stored has moved around a bit, so it might be a non-issue on 1.0
I'll test it though
having this issue trying to use SMODS.ConsumableType.inject_card
take ownership discovery looks fixed
uhm
are you still doing that negative number rarity thing
What do you mean?
yeah
i should failsafe it to not crash if the rarity pool doesn't exist, but that's what's happening
i see
like the actual rarity is -1, but the pool expects 1?
ohhhhhh i'm calling it before i adjust the rarity
i see
(i have it set up so Oddities can be registered with positive or negative numbers, it just adjusts positive numbers to the negative ones)
I think card information are not saved properly when I try to save card as a random variable in G.GAME
ok that solves it
You mean an entry of G.GAME thatâs a card by itself?
i'd like for the negative number thing to not be a thing at all but if i have to change them from being 1,2,3,4 it'll be unintuitive anyway
Maybe try storing a card inside an object, since the game already saves your Jokers, the shop, the deck, etc. I can test what my Joker that saves a pointer to a specific card does
Why are they negative?
alright new commit, discovery should be all good now, rarity pools are failsafed and i also fixed another random crash
looks good (jimbo is supposed to be auto-discovered, right?)
yeah
then sick
the issue is that baseball card explicitly says "Jokers"
Canât it be lovely patched to fix it?
yeah but then modded cards built on the same principles (unaware if any exist atm) will still have the same jank
Alternatively, the synergy is how it should work and the text is wrong
The mod should check if itâs looking at an uncommon Joker
Misspoke because in my mod I specifically check if you create common Jokers
I check both rarity and set
the context in question is context.other_joker
so it's not unreasonable that people might assume it only happens on jokers
I mean if the base game looks at other objects despite the variable being named âother_jokerâ thatâs thunkâs fault
ÂŻ_(ă)_/ÂŻ
Mods can have arbitrary behaviour, if a mod doesnât double check what itâs doing itâs kind of on the mod that doesnât check
Compare and contrast with other mods that assume rarity keys in different objects follow the same logic as vanilla
and my mod is having the arbitrary behavior of setting rarity to negative numbers
You either make it an issue for players or for programmers
If the code expects a positive number and you pass a negative (or vice-versa) it also breaks
Except the result is a crash instead of a confused but happy player
then people should read the code they're using
Except they arenât reading your code, the interaction happens when an user installs two mods
i'd rather be able to have someone crash and say "go tell [other mod author]" than have a million people pestering me about "hey baseball card is triggering on oddities fix it"
And again canât it be patched with a lovely patch?
If other mods break then they should complain to those mods
Not oddities
Proven where
by the fact that it has happened
If it happened once doesnât mean it will happen again
I think if negative rarities lead to crashes people will complain to you anyways
why do you think negative rarities will lead to crashes
And that seems more likely to be an issue (philosophically, not statistically) than uncommon oddities trigger Baseball IMO
Iâm just saying it could lead to unintended behavior
Lua seems flexible enough it wouldnât crash
Unless maybe it returned nil
if it's not a Joker, people shouldn't assume the rarities work like Jokers
But itâs probably a fallback
I think people should assume rarities are positive
Or at most a string
I know a rarity can be any key, but Iâm saying I think they should be positive numbers or strings
I think as good code practice they should be unless you donât want people to use your code in any way
In that case youâre intentionally making it inaccessible
For example, by using a mod name as a key
So itâs specific to your mod
anyway what's the likelihood of odd-sized cards (like photograph or half joker) being in SMODS? if it's something that'll be supported on your end i can probably just skip implementing it in OAPI rewrite
I'll have to check if I missed any functions that need hooking for that
set_sprites and load i guess?
based on my previous implementation, it's Card:set_ability(...), Card:load(...), and Card:set_sprites(...)
set_ability is already a thing
so yeah I'll add the two of those and it should be fine
though this implementation had the issue of cards resizing themselves to full size on run reload
Card:load() should take care of that?
for some reason it doesnt
i never quite cracked why
i'm also not sure how wee joker works differently from photograph/half joker in this regard
since wee joker scales down the sprite
Do you think you can add customization features?
I remember Balatrotale tweaking the offset so a tall card would align from the top rather than the bottom
Or maybe they tweaked something else, but Iâm giving an example of what I think could be useful
either way I'd just provide hooks to these functions
I had some ideas for centers(?) with different sizes but I suppose it could be done by upscaling with transparent pixels and an appropriate offset
Need opinions on this, should it be won at Ante 10 or 11?
I had a sketch for reference
This would be a (downside) enhancement(-like effect), but I think it might look better if I used a soul_sprite
In this particular case, it could either be a small offset sprite or a large sprite with some extra invisible space
Cool Egg is Doneđ
oh thats sick actually
trying to implement tags now, i think SMODS.insert_pool might just be scuffed?
oh, nvm, it's just that SMODS.Tag doesn't have a default set
Tags also don't get mod tracking badges, bit of an odd inconsistency
but we are ingame now
Epic
Autumn's mods are the coolest
huh, that's right i guess
tags are in the odd spot of not being centers
how do i fix this? i tried alot and i still did not found a way
idk if its my code structure
is there something i'm doing wrong here? i'm not quite sure, but it looks like this apply isn't being called at all
doesn't look wrong to me?
yeah it's not called at all, not getting the print output
yeah, lovely dump is reflecting the patch
it's inside this check, that why
so should i make a github page for blackjack hands or just send the .zip? in #1209506514763522108
lets gooo
Jimbos for free???
either works, but github is usually more maintable
functional tags đ
nice!!!
hmm
need help scanning for code in the base game
is there any jokers that proc effects if a card is played, but not necessarily scored?
Square Joker iirc?
hmm
the code is this, i tried to use loc_def and still, i did not understand some of the explanation
#context.fullhand == 4
is used, so maybe i can futz that
and i still, have the error message in the description
Wee joker does
maybe a
#context.hand ==
to read just whats in the hand specifically?
on wait nvm
scoring_hand should be only the scoring cards, full_hand is all the cards in played hand iirc
i noticed card save does not work even in somejoker.ability.extra
i suspect deck is handled somewhat differently
use context.scoring_name == 'Flush'
ah sorry
im trying to check for specific ranks of cards in a played hand, regardless of scoring or not
I just tried with a Joker that saves a card in extra so it can find it later. While the card seems to still exist, one of its variable doesnât seem to, which is strange because itâs just a property of Moveables AFAIK
Maybe it doesnât recursively save attributes because itâs not a table, but also the game does store deck information somehow
In my case Iâd just need a pointer to the correct card, but otherwise I wonder how cards in CardAreas are saved
IIRC there was a specific save function for it
I know that the game doesn't like objects being saved, but this specifically is odd.
I'd assume you'd be flashed a error screen for attempting to index a string
My crash just told me the value in the card was nil
But the card itself wasnât
Its fields were nil tho
...im guessing this is a syntax error, but i never futzed with any {}'s on edit
Maybe a manager CardArea to store cards could help, but idk it doesnât address the underlying issue
nvm it was a leftover end function
card still wont proc at all, and now my mults arent registering on my card's description
okay before i really start fine toothing potential variables
am i missing anything here in terms of calling variables for the fucntion?
I don't think I need
if self.ability.name ==
@frosty dock looks like the get_current_pool() hook may be malfunctioning when i attempt to supply a rarity to create_card() with the negative numbers; seemingly this will also cause issues with non-numerical rarities, making this change in center.toml fixes it as far as i can tell
(the if not _rarity check)
# get_current_pool()
[[patches]]
[patches.pattern]
target = 'functions/common_events.lua'
pattern = "else _starting_pool, _pool_key = G.P_CENTER_POOLS[_type], _type..(_append or '')"
match_indent = true
overwrite = false
position = 'before'
payload = '''
elseif SMODS.ConsumableTypes[_type] and SMODS.ConsumableTypes[_type].rarities then
local rarities = SMODS.ConsumableTypes[_type].rarities
local rarity
if not _rarity then
rarity = pseudorandom('rarity_'.._type..G.GAME.round_resets.ante..(_append or ''))
for _, v in ipairs(rarities) do
if rarity <= v.rate then
rarity = v.key
break
else
rarity = rarity - v.rate
end
end
else
rarity = _rarity
end
_starting_pool, _pool_key = SMODS.ConsumableTypes[_type].rarity_pools[rarity], _type..rarity..(_append or '')
'''```
copiable form
oh wait i think im just misinterpreting the functino
What is that first if supposed to accomplish?
ok so there's no way to set a rarity pool as "legendary" i think?
you mean before context.fullhand?
Isnât it 4?
not for consumabletypes
Thereâs nothing before that
Thereâs the if that contains context.full_hand
Oh you meant before as in. Reading order immediately before
Yes
i dont have any numbers that would make sense to do that to
Maybe some delay somewhere
the first if/then is there to encapsulate the prerequisite conditions before the card can even proc
that part is, admittedly in need of work
Which is supposed to be what?
Well, then you know where your issue lies
mm
i was asking before about that, and im scouring
unfortunately i havent found a context type that counts cards in hand that arent scored
context.full_hand does iirc
You can look at cards in the full hand that arenât in the scoring hand
okay
so im guessing the == (all that) is the wrong notation to use for "if this context has these things specifically"
No you loop through it
more likely i just set up a "if full hand is only those two
Yes
== is asking if both ends are equal
So you wrote âif âfull_handâ is equal to âbooleanâ thenâ
At least I think the and evaluates to a boolean instead of working as a ternary operator
Either way full_hand is an array so it wonât ever be equal to either a boolean or an id
Actually you never pass an id since you have inner equalities
So youâre comparing apples (arrays) to oranges (booleans), which means the first if is always false
okay
actually hold on
full_hand == only calls for really the hand number in the base game code
but there is a bit of code on it for sixth sense
No hand number, itâs the array with the cards in play
context.full_hand[1]:get_id() == 6
so maybe a
context.full_hand[2]:get_id() == (11 and 13)
Not quite
If you just want it to proc from the second card played, scored or not, thatâs what youâre doing
But
It would never proc
I think
oh
Because I think 11 and 13 evaluated to true
so the number in the () is the number in the hand
prob for photograph and acrobat stuff
Itâs not what you want anyways
mm
Thereâs no parentheses (except in the function call)
Note that Sixth Sense uses #
As do other Jokers
sorry, mistyped for the []
Which youâll want to use
well i gave up on the issue of figuring out lua arrays for the moment
swapped out the function for something easier to just make working
just gonna focus on making a card work for now, cause something obviously broke the last time i meddled with it
đ heirloom tag works (create a legendary oddity)
đ relic and collector's tags work (shop has a free rare oddity; create oddities until your consumable slots are full)
however im running into weird CTD's now so
as far as i can tell it's not something relating to my tags at least since i'm able to view and use them with no issues
setting a default oddity based on the first registered works! :)
(this is 3 of the common oddity, 1 uncommon, 1 rare)
gooooooooooooooooooooooood morning
yes
what are you guys doing?
what have you been working on?
Is there a simple way to make a custom Joker go extinct? I see that 'Gros Michel' sets a custom flag for that card specifically.
Or I guess not extinct specifically, but just not let it show up again
cool egg
not much else, got exams this week. but i already released cool egg
XD taking a rest is good
oh good luck!
I think you can set yes_pool_flag = "some_flag", it's how the game prevents Cavendish from showing up in the shop
Thanks, I'll look into that
wtf is this
Oddity Pack stuff <3
i see
these look amazing
i am guessing the locked stuff is not really locked?
yea
setting a shitload of colors for pack particles...
i dont think there's a good way to do this that doesn't screw up other mods tho
unless i do regex i guess
but idk how to regex
you can check if you are in an oddity pack right?
it's an at position patch
oh i see
i could do a less elegant solution entirely
rainbow particles are so pretty tho
alternatively i could just leave them as the standard pack ones
pretty colors 
I like.
now, to the player at least, it's indistinguishable from a proper whole new pack
before it had the same bg/particles as standard packs
technically the implementation is still a hacky interjection of standard packs, but to the user it appears normal
i thought that said eating a shitload of colors for a second
i thought that said shitting an eatload of colors for a second
tooltip :3
gonna open up 5 narwhal horns
hell yeah
@frosty dock loc_def on tags doesn't work, this elseif is injected at the wrong point for it (if i'm counting my logical structures correctly, this elseif closes the elseif _c.set == 'Tag' then, meaning it never happens if the subject is a Tag; not sure if this is intended or not but it leads to needing to inject for tooltips such as the Oddity Tag above)
Hello, does anyone know if it is possible to have a joker's text description text change? I can't use the #1# notation since I want to change text / text color, for example, if self.ability.extra.dollars == 1 I want the text in green, if it's == 2 I would need it in red, etc...
If I can't choose colors using variables, I guess just changing the text would work too maybe? Like if it's == 1 show a text, if it's 2 show a different text, etc...
was it not possible to embed the colour style into your output? like if you did {C:green}something{} it wont come out as green text?
yeah but what I need is more like
if self.ability.extra.dollars == 1 then
{C:green}something{}
else if self.ability.extra.dollars == 2 then
{C:red}something{}
end
ok thanks I'll check that out!
you can't have {C:...} or similar constructs in text that's placed in via loc variables
what you can do is have {C:green}#1#{}{C:red}#2#{}
then have 1 empty when you display red text
and vice versa
there's also some form of variable color that you can set but idk if anyone's messed with it?
ok, not ideal but definetely usable, thanks a lot! <3
i do something similar in https://discord.com/channels/1116389027176787968/1230703637223833661
oh yea i forgot
we do have the colour var
yeah i just do not know how it works to try to help anyone with it haha
basically you put a colours dictionary into your loc_vars/defs then put {V:n} in the text, where n is which index of colour you wanna use
then you can change what colour is passed in the loc_vars/defs based on conditions
seems perfect then!
youre wandering into unknown territory with that one, good luck đ«Ą
I started modding balatro a few days ago and I've never done Lua before so everything is unknown territory :(
youll be fine, its nothing gamebreaking
for reference the colours loc vars is how planets change the level colour
yea im pretty sure its only planets
there's a way better way lmaooo
watch this riight
you are like little baby watch this
loc_txt = {
['name'] = 'Chungus Gaming',
['text'] = {'big big chungus {V:1}#1#{}'}
},
loc_def = function(card, info_queue)
return {
big_chungus,
colours = {big_chungus==1 and G.C.BIG or G.C.CHUNGUS}
}
end
squint
you can set up dynamic/non-standard coloring using V:x parameter
the x refers to nth element of the colours table
so in this case V:1 calls the first color in colours
the last thing before i close my eyes is this code block
today is going to be a good day, this is a good fortune, thank you for blessing my slumber akai
youre welcome lyman
oh that's what i was talking about actually
i just didn't know what the variable was called
good night lyman
gn lyman đ«Ą
may the code blocks haunt you in your sleep
does it color the text or the back
depends on my spoons
the text
coolio
i come back and see amazing things y'all are cooking up and keeps the juices flowing just a bit when i normally get burn out for these types of fixations
so 𫥠to all of y'all
keep being outstanding
lyman i can help you port
autumn has been giving me some tips but i do not mind the whole village coming to help
can i be instanding instead
i can use that for the keywords in the eventual graveyard jokers pack ig
wait lyman have you seen the graveyard
Another Banger đ
Been working on this one for a couple of months on and off. Didn't spend too much time on visuals because it is a pretty long video. Hope you enjoy it.
#ytpmv #homestuck
WHY IS IT ALWAYS WEEZER
LMAO
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
i made the weezer joker
I HAVE MY DEFAULT JOKER SPRITE BE WEEZER
the art for it
buddy chungus
we mtg now
im going to slumber until i awaken in the factory
i cant wait to play necromancer balatro
oh no
ruina posting
đ«
itay remind me at some point this week to draw roland joker
yessss
anyone versed in SMODS 1.0 know if there's a replacement for what used to be SMODS.Card.SUIT_LIST?
its just SMODS.Suits
lmaodab
(a numerically indexed array of suits)
đ
yeah but that's not numerically indexed is it
Autumn could you remind myst to remind me to remind lyman to make a roland joker?
it literally is
its an ipairs table
akai could you remind autumn to remind me to remind feder to remind lyman some point this week to make a roland joker
What is this chain of command
im old enough to remember the paddles
Myst are you on 1.0 yet
ancient artifacts of a civilization bygone
I should hope so
they had to ban yaoi paddles from all conventions
because people would hit cosplayers with them
nonconsensually
i have been deving graveyard on 1.0
any state expert here
also bye chat first day of finals now
Barbaric
have you touched blinds for 1.0
half of todays youth wouldnt surivive one second in the asylum i was raised in
are variables in descriptions still scuffed
blinds had smods api
does anyone know what happens after i press play button in terms of states?
it didnt stop loc vars from being scuffed
hell knows i'll check later
I love source modding
lewd
LMAO RIP VOUCHERS
why do you have 2 vouchers
feder what did you do
for testing purposes
hi hell
i disabled all of the other vouchers
yes but my lovely patch for it works now
i wrote a tiny script to patch the source game with
DebugPlus is lovely tho
debugplus doesn't need porting
it is a pretty lovely mod
I was asking because if i do nothing in play_cards_from_highlighted then the play button is broken
na
ok im stupid
i wonder if i should go through some states properly
oh based i dont need to steal Myst's code anymore for blind modify_hand
ya mystblinds is ported but atlas is a fuck
based
im not at home now please wait 4.5 hours
Started to port vouchers
you will probably single handly save my code in porting to 1.0.0
you say that as feder is like late to the party lmao
i havn't start porting yet just dreading about it for a few weeks
I practically just follow them now
im working on Thac now
once you get the ball rolling, it's super fun
i love the new systems
^
We must all make the leap to build a better community foundation
trueeeeeeeeee
Myself included
and to leave jellymod in the dust

im trying to squeeze as much work as i can rn, since im leaving in like 15 mins to something
yea best not to roll the ball during exam week, especially if I can stop it
Gl mate
when does it ever stop being exam week i swear yall been taking exams for the past month
May is just hell
me signing up to an academy in october, while also being at work
I just kind of assume this regardless of anyone I talk to
T_T my birthday is in two days, and so is an exam
Happy early birthday!!
happy bday and good luck on the exam!
oh god i have so many overridden functions in Thac that i could definitely convert to lovely patches
i went to a uni and realized i was being scammed so i dropped out đ€·ââïž
wait what is an X-Playing Card?
is that a new enhancement?
its a deck
ohhhhhhhhhhhhhhh
then it's the deck's ability
?
each card in that deck
can be transformed into a joker
if its played as a high card
it's something in parallel of all of those
oh that's sick
its a really cool concept
btw itay would you be interested in helping out with a thing? i need to add contexts to playing cards
wdym by that
well, i need to hook into evaluate_play to set up both Aspects and Zodiacs
and uhh thats easier said than done
especially because I have no idea where to start
you wanna go over each playing card?
p much
in hand or in deck?
i think you can go over G.play pretty easily, there are some contexts that do that
yeah but problem is
its not on the base of a joker
or the base of a consumable
its on the base of the card itself
that's the main issue, is that the card is evaluated on its own
lovely doesn't seem to like this particular patch (i don't either but i at least wanna see it run)
gives an "expected newline" error
you need to make sure that the string doesn't get interrupted by the quotes in the pattern
use triple apostrophe for best luck
you can potentially hook it up with eval_card I think
I thought of doing that, but my mod ended up not wrapping it at all
this is because that function has never wanted a rarity directly, but the chance roll for one
yeah sorry about that
what would be the best way to start, injecting a method with lovely?
a related issue, though: there's no way to set a "Legendary" rarity via get_current_pool()/create_card()
i did this patch to set up legendaries for Oddities, but it's not inherently expandable
oops, forgot to add that party good catch
well i just do the caveman way, something like this
autumn youre the lovely expert how do i add a thing
i dont need regex
alright will take care of that
look at how smods tomls work
oh BTW i don't think voucher requirements work
they just block the voucher from appearing completely
you supply the basegame line you're matching against with pattern, specify a position of "before" "at" or "after", then put the code to inject in payload
autumn this doesnt tell me anything at all
feder are you accounting for mod prefixes
can you run through this withg me
yes
that's the target of the patch
wait youre right
the issue with those is that they need the mod prefix
actually lemme dm you
I can't just stick it on automatically in that case
otherwise you can't require vanilla vouchers or vouchers from other mods
good Cauldron also works now
:))))
@frosty dock another odd thing: there's no safeguard against undiscovered cards trying to run set_badges and typically failing since undiscovered cards will lack badges
Getting There
uh oh :( process_loc_text is exploding on poker hands....
oh it's loc_txt.description not loc_txt.text
wew
@golden lake bites you
SMODS.Suits isn't numerically indexed
wdym
its indexed by the names
it's never been
there's a suit list that is, it just doesn't have a direct name
yeah but now there's no SMODS.Card.SUIT_LIST
SMODS.Suit.obj_buffer
o
im also not sure how to actually score cards in my poker hands
like if i play that skeet it doesn't score anything
there's atomic_part and composite, at least I think that's what I named them
granted this is converted from feder's hand code
yeah i changed my can_play function from feder's version to atomic_part
i understand composite has to do with like.... reusing code more intelligently?
That's a badass name
yeah, it gives you access to the parts that have been calculated so you can reuse them, say for spectrum five
was this tested with hands that aren't ore of a kind
I tested with spectrum and it seemed to work fine
{hand}
i seeeeeee
ok
is there an example of composite in action that i might be able to observe
I'll try and drop you one later, but should be fairly similar to like straight flushes
see the problem with that is that it's not set up as a SMODS object so i do not in any way know how to do that lol
yeah I'll make an example, I have to anyways
huh
ref_value = "nil_thac_jimbo_seal"
also im pretty sure vanilla code dies if seals have more than one underscore in their name
name/key/label whatever it's called
mult pow...
oh that's annoying
yeah :(
yep
uhhhh anything special about deck atlases?
oh the thing that's special is that they're no longer special
got it
nothing special unless you want to use the vanilla one
used to be config.atlas now it's just atlas
𫥠unity
this is still unimplemented lol
In that case you need to set raw_atlas_key = true
just not setting one seemed to pull the vanilla one
not sure if it tries to do thac_centers and just Falls back because that doesn't exist
what's up with the font
:)
also it's :lower()'ing the mod prefix
ok seems mostly functional, not sure why the 1 isn't showing up
ok nvm trying to enter the blind breaks the universe
oops
chat is this too much detail
oh im being sarcastic
... what
tbf my code is a mess
oh im hella dumb
nvm
well maybe the crash is still happening but the visual stuff
yippeee
okey maybe there's some cleanup to do there
on my end or yours lmao because i know my code is a MESS
I mean with the stuff I've been changing around for atlases, I sort of forgot about playing cards
sick
based on this
pogress
pog ress
butt
ok
ignore that it's a touhou reference and that i'm cringe it's definitely funny because butt
me when no camel case
:)))))
oh this deck is actually kinda hard lolll
but that's probably more to do with Oddities not having a lot going for them yet lol
1$ bill is game changer what do you mean???
not having tarot cards SUCKS
What does the deck do?
+2 consumable slots but all consumables are oddities
Oh XD
not having Tarot cards SUCKS
Catalyst win
Determination
oh good this is still happening



