#Resurgence (WIP) - Primordial Arts
1 messages · Page 6 of 1
you are just making a pointer to the table
so instead of writing the full name you just write anv
yes
for once i get it first try
ahh, ok, so technically, I could just write the full thing each time instead, but to save time and make things more visible-
exactly
yeah
lua works like gdscript in this, so when setting a var to be equal to a table you actually just redirect to that table
in some other languages it would make a copy of the table
In that case you couldn't use this method
do you mind if I ask some questions that are possibly incredibly obvious and unessessary? so I can try to understand balatro code/lua better? lol
what do the "self", "card", and "context" mean and do in this part of the code? I see it constantly, and I'm curious what each part means and if it matters what order they're in and such
self is the actual joker object
you should not worry about it 90% of the time
at least in jokers
card is the table that contains all the joker's values
so you before used card.ability to access the abilities of the joker
context is the most important part for joker effects
it determins what's actually happening and where
in the code you copied you check for context.joker_main
which mens that you are checking if this is the main scoring phase of the joker
essentially the calculate function is called all the time, and you use context to know what's actually going on
this should be it
Inside the function there they are just input values, they should always be there in that order
they are inputed when the game tries to calculate the joker
i hope this was clear
this is a bit of a wall of text lol
the worst possible time
as i am writing an essay
lol
it was, very much so, thank you
I did know a bit about context, but I learned a lot about what self and card mean here and a lot of other stuff to
read it later
great
and which actually exist
there's probably a list somewhere
which i did not find
if you know when each one is called the you should be fine figuring out what to use
lemme get back to typing this stuff is timed
indeed that was my thought process
I like the way balatro handles context
i will probably copy it for some of my future projects
and it's also surprisingly performance efficient
I think, I understand what I need to do to get frisk done, just don't know enough to know how to get the functions done
I need to, in the joker_main context, check all existing jokers and read the first instance of each rarity in a joker, then use that to increase the chips
that sound right?
yeah
you need to use a loop to check all jokers
and just multiply the chips by the number of rarities found
you will need to get familiar with tables, they are basically 90% of the code
everything is a damn table
(insert "it's all ohio meme" here)
yeah, okey
I'll need to figure out how to do the whole "loop check" thing there as well
in order to get frisk working
for this you will, shockingly, need a table
yay, tables :3
how do I make this table? and find the jokers within it?
you prolly don't need to make one, but you must use the already existing table with all the jokers
is that talisman
how would I find the table?
it should be G.jokers.cards
you want to do something like abstract joker
but you also need to check for the rarity
this is a bit more complex than needed, with smods you can save a bit of effort
hmmm, let me see what I can do here, maybe for now I'll see if I can make it works as "+20 Chips for each joker"(for now) using this
oh?
the return part
you just need to return mult, insted of mult_mod and no need for the message
smods does that automatically
well, chips in this case
okey, I'll see what I can do here 🫡
also you should use card instead of self
but you are using anv so that should not be an issue
in the meantime i will try to code augments
ok i got some time to code
so, I understand most of this, but I'm a tad lost on what the meanings of the bit in the middle means
#G.jokers.cards[i].ability.set == 'Joker'
I know that i means integer here and is the same integer as before, as I've done some work with "each" stuff in godot before
and I know == means that it's searching for something too, but that's the limit really
I mean, I get WHAT it's doing, like, that it's upping the friends value by 1 for each joker
but to me it almost reads as "For each joker that is a joker" or something, lmao
this is essentially the last thing you typed
this is looking at all the cards inside the joker area, and for each one that's part of the set "joker" it increses the friends value
not sure if checking the set is needed
since i'd assume everything inside the joker's area is a joker
but to be sure it's better to check
important to note that G.jokers.cards is all the cards inside the joker space
so if somehow a consumable ends there it would still be counted
ahh okey, so I'm assuming G is an area that cards can be contained in, jokers is the joker slots area, and cards are, well, cards?
G is the whole fucking game in it's entirety
OH
everything is inside G
what about ability.set?
ability contains all the values of the joker
set is the type of card
in this case we only care about jokers
so we check that
so, I think, for example, if I were to want "+20 chips per common joker", that'd be #G.jokers.cards[i].ability.set == 'Joker' and #G.jokers.cards[i].ability.rarity == 1 ?
rarity should be at G.jokers.cards[i].config.center.rarity
also noticed an issue with this
okay done with writing
gotta go in 15 mins
i'll get back to reviewing the comments @dusty river made
after for you write for i = i you need to specify the maximum value for the loop
which in this case is #G.jokers.cards
after that you write do to start the loop
🤦♀️ I mixed the 2 lines lol
yeah
also # should not be there
that specifically converts a table into the number of objects inside of it
so you must add it to the loop to see the number of times to run it
but not later since you need the actual content of the table
like in abstract
hows this?
knowing this, I have a very messed up way of doing the effect I think lol
just switch them
the first time you add #, the second time you don't
for this you could also use pairs() but for now lets not complicate things
I've swapped the #s
are you multiplying the chips times friends?
if yes it should work already
let me do that and I'll test
I did this and now it's saying the row 5 of main.lua is nil?
spaces... it's the spaces isn't it?
nope
hmm
you are not ending the for loop
this work?
add an end after that too
double end?
for the for and if statements
okey, thanku, game launched now
time to test frisk
works!
now I just gotta swap from triggering from any joker to only going up from unique rarities
I'm not sure if this is a good way to do it btw, I may've found A way to do it, but it aint a good way lol
My idea for what I'd do with the knowledge I had was to check for each rarity I knew individually and set a unique local var for each
typing this out I realize it was even worse than I thought it was at the time lol
no need for all that
you just need a table, as always
for each joker, add their rarity to the table and only increase the var if the rarity is not already in the table
ok, so, I'm one step farther, I've managed to make it trigger for each Common joker instead of any rarity
how would I do this? I don't think I know how to build a table yet
local rarities = {} before the for loop
ok, I'll see if I can do anything with this
how do I write "if is not contained in table"?
== is for if a value is equal, not contains, right?
my brain aint working right rn lmao
yes
hey chat
new idea
considering we have vampire survivors stuff in already i'd make the new tarots we add be darkana
hmm, ok, so, this would mean, if it was already in the table, right?
if so, how do I swap that to not contained, what is the not equal to sign for lua?
ahh, wait, fuck, how do I add the rarity into the pool if it isn't already in there
oh, probably just Add right
like, G.jokers.cards[i].config.center.rarity + rarities
well, this isn't right, cuz it crashed lol
ok, understood
to add a value to a table do table[key] = value
so in this case i'd do it like this rarities[G.jokers.cards[i].config.center.rarity] = true
then to check if the value is inside the table if rarities[G.jokers.cards[i].config.center.rarity] then
also you can't use and to separate statements, use a newline instead
or if you must have it all in one line use a semicolon
https://youtu.be/OI--6-kR3xc gulag i give you musical inspiration
Hi! It's a full version of the remix from previous videos.
I hope you like it.
Thanks for 6k subs!
Morshuwave on SoundCloud ► https://soundcloud.com/memnicus/morshuwave
lofi version - https://youtu.be/1ovAH4gifyE
Credits:
Morshu RTX ON - https://youtu.be/Z7Rj9mHj79E
Morshu Beatbox - https://youtu.be/wPh-MK_5k_k
Thanos Beatbox - ht...
and is only used for conditions
what the hell is this?
This mashup of the DK Rap and (Rufus Wainwright's cover of) Leonard Cohen's Hallelujah inspired by Sackie Bum (https://www.youtube.com/watch?v=9bSxOhoM9pE)
tyhsi song makes me cry every time 😔
true
lmaosamfnijne
i answered your question up there
i need to go again though
okey, I'm trying to put it together rn
IT WORKS !! 🎉
thanku <3 hehe
this is the first joker I've made where I actually think I understand how it worked lol
lets go!
should I do a commit now?
first of many
yes
commit has been made
commit acquired
very cool indeed
maybe you merged some changes i did
did you update the folder in your mods
how are we calling the augments?
using the same name as the consumable would be confusing
my orginal thought was Augmentation but that may still be confusing, hmm
@static finch and your prime language skills are needed
kinda
she is literally american how doesn't she know
her lexicon should be swollen
by now
what as nationality to do with creativity?
i meant
being born in an english-speaking country i'd expect her to have better lingistic skills than me in her same language
i know what you meant
IS THAT THE KING OF NOTHING
AH, I GOT IT, how's "Component"?
..sounds out of place imo
why ask the wrong question again then
they're all so varied in function and theming
why not call them tweaks
additions, patches, extensions
i like tweaks
mhhh, these are all nice, tweaks is a good one
ikr
i told you you were good at this
i must undervalue myself :3
you still busy or you can code now?
i gotta dine shortly
i assumed as such
after that?
you need to get the grip on this
i wont be helping for everything
nor will revo, i assume
right
im here if i want
and gone if i dont want
idk man
exactly what i meant
i'd like detailed descriptions on conditions for wanting to be here and not wanting to be here
thank you
i'll help if you struggle or something but i wont be doing everything as well
for example my other 2 projects
same
same x2
those are not conditions that's a factor
in your decision
yk what, nevermind those said conditions are useless to know anyway
they're subject to change any second
i get it
well i'll do stuff after dinner
i've got time
i suppose
well i also dont need to explain myself with every single detail
how will tweaks look like?
jst sayin
a texture i assume
I think so yeah, levers would have an actual lever placed on the card for example
cool
obvious stuff shouldn't be specified, yeah
for now i'm not worrying about that since we have no art
if you already did on something else i can always look at it i suppose
when i'm done i think i'll try to make this
i'll do a few vampires ig
i guess i will be the one doing all the shaders and sound effects
since i'm apparently the only one that kinda knows how to do that
badly, but still better than nothing
i'd argue they don't look bad at all
the code is ass though
oh in that case
just leave me pugnala
wanted to try and make her specifically
stupid ass name
if its hand held just copy + paste blackboard
played
ic
i like it
ok
yes?
4488
and does nothing on diamonds
yeah
it says consecutively
so i thought it'd reset
so it will reset?
why though -.-
doubling was too strong to have
on only one
else it'd go like 4 8 16 32 64
that'd be a bit much
for an uncommon
ic
Tweaks are done
Which one are we coding first?
coding this may cause problems if the ranks are not stored as strings
if they are numbers it would be a mess
sorry, was distracted, my dad is NOT doing well rn lol
Rubber sounds like the easiest
would this be any easier codewise if it swapped suits in effects instead?
that hurt
probably
in general we should avoid swapping specific values
depending on what they represent
as long as we manipulate numbers that's fine
ahh, right, didn't think of that
was gonna swap it but the other effect I thought of is probably meaningless lmao
@night prism so is there a list of contexts or
in general the smods wiki will help a lot
they sure did a great move making a cat the banner
now people are loured in by the cuteness whenever smods is linked
yea
i was thinking of making a counter for diamonds and clubs
i will add a new context too
then checking it against the max selection size
but i don't know how to get that
since there is no context for destroying jokers
huh
so do you know anything for that or
wdym?
like seeing double does it
in the code
makes a counter for every suit to see if clubs and another suit scored
but i'd need to remove the other suit checks and just keep wild cards, diamonds and clubs
i have that in darkside
yeah but do you have something for hand selection size
cause stuff like sticky hand could screw it up if i set it at 5
a function that returns all suits in hand
what exctly do you want to check?
lemme see
the max selected cards
even if i end up not using it
it could still be useful
for what i wanted to do with alucard
no he does not exist yet
yet
#G.hand.highlighted returns the number of cards selected in hand
#G.play.cards the number of played cards
yeah
omg
thunk put the lists for suits in a different order for the calculation here
almost screwed it up
does he deserve the mcmillen treatment
wdym?
why does the order matter?
and what are you doing? because i'm not sure i get it
actually i'm pretty sure i don't
ok, added context.anva_destroyed for when a joker is destroyed
wait wait tell me one thing
can i put the equals or more than symbol in some way
=
easy as that
do i need to put the # in g.play.cards
different than is ~=, i add to make a whole new keyboard layout to write this
fucking italian keyboard
# means the number of items inside a table
so just G.play.cards gives you the table of all played cards
not the number
so the short answer is yes
a few things
yes?
first of all i have no idea where that anv.extra() is coming from
remove it
then, right now you are checking if the clubs and spades is more than the played cards
never mind
i read it wrong
this should work but it's not ideal
WHAT
FUUUUCK
wait no nvm
where's the spades
i misread
you should not need the first if statement checking if the card is a wild card
why not?
to be fair i kept it in just cause i'm not sure if wild cards work like the rest
is_suit already does that
or just have all 4 suits
huh
why's it there in the vanilla code then
but anyway, there's an even better way
i dunno seems like it's harmless
could've told me beforehand tho
pull down the new commit
i added a function called ANVA.get_suits()
pull down your pants
you can remove everything before if suit["Diamonds"] + ecc
is suit diamonds?
i don't get what i should remove tbh
also i gotta commit to get it
is it fine if i do?
everything except the last 2 lines
inside of calculate
yes
this clear enough?
a new context i added
this is knda screwy now
put it at the end
ok ok fixed
after context.joker_main then, add a new line
yes?
and type local suits = ANVA.get_suits(G.play.cards)
yes
isnt that too complicated
also make the g uppercase in the nest line
did that
how
i would've just switched blackboard's code to check for played cards
it's just a line
no like
it would be so easy
this is a general function for it
so you can reuse it
and it's litterally just 3 lines
how can you make it easier
explain how this function works
?
i mean it would've takean so much less time to complete and understand
id does the same thing
if you hover the function it gives a short explanation
it gives a table with all the values in hand
i made it earlier today for darkside
and so i'm reusing it
i meant suits
is this suppsed to be like this
idk i never used functions properly
it saves a lot of time
you need to code them only once
expert coder my ass
i never said i was an expert tf
i aint one
you have twice my experience
i was jokiiiiing
prove that
omg rev, u realize what this means??
you can make a function that does printer stuff!
that makes your job so much easier!
probably cuts down the code in your mod by half!
lmao /j
lol
this fuckin died
i'd say 3 thirds
damn
@dusty river kindly make a loc for pugnala
i can't distinguish it
from other stuff
what line is line 333?
you changed the code
here
eait you said to
add it back
or am i stupid
wow
omfg
i said to remove it at the end
mf i need 3 rs
for how dumb i am rn
okay
this time it should not explode
i hope
it uh
it did nothing
show me the code again please
yeah
i am getting super confuzzled
without loc it's a bit hard
k looks like it's working
you should at least add the names to loc yourself
i'll add that
but what should i add precisely
isn't it set in stone
for now just add the name of the joker
so that you can know what it is
also you need to take a lesson on formatting god
i'm struggling to read your code
what the hell
how are you struggling to read it it's so short
but it's so confusing
makes no sense
the code is right
actually i think there is an issue with the code
where
...
if i did it like i wanted to it would've worked after all
for now it counts wild cards twice
how good is it to be right?
huh
to be fair it doesn't matter does it
it does
did it myself, half assed just to know what it is
3 wild cards and 2 hearts will trigger this
because they count as 3 of each suit
6 in total
so
instead we check if there are no onther suits
so we need a small loop that looks at all the contents of the suits table we made
and returns false if any of them is not club or diamond
how easy
it is
still better than seing double
so
for now remove the last if statement
and create another local after local suits
and return too
keep it for now
create a var called local other_suits = false
?
this will be true if we find other suits
k
that just says if not other_suits then
so this gets returned if no other suits are in hand
okay
show me the code so far, to be sure
i'm tring to explain my reasoning so you can learn a bit
aww dang it
so
after declaring the other suits var
we need to actually check if other suits are there
so we need a for loop
after if other suits
this for loop looks at all the things inside of suits
this pairs thing still is unclear to me though
yes
essentially a table is just a list of pairs of values
in our case
suits paired with their amount
i got the wrong term
so spades = 5 means there are 5 spades in hand
k stands for key, its the name of the variable
v stands for value, so the value of the variable
so in this case k = spades and v = 5
clear?
yeah
for does this for all the pairs
i'll be making a documentation outta you
so if there are 5 suits it does this 5 times
so it checks everything until it's values to check are over
yes
we need to make so that if the key is not one of the desired suits and the value is more than one the thing does not trigger
yeah?
type if k ~= "Clubs" and k ~= "Diamonds" and v > 0 then
why ^?
so if the key is not clubs nor diamonds and the value is more than 0
what?
no problem
so, after this type other_suit = true end
so this means ther's another suit other than these two
wuh
it will cut it short
and not trigger
i presume
then you just need to close the for loop with end
.
i know
you miss one end
no?
the one after return
should be before return
otherwise you will be returnig for every suit in hand
becuse it's inside the loop
afk 1 sec
like this?
bacc, funny hyena girl was just having a mini mental breakdown, no biggie lmao
anyway, back to idea concepting lmao
where did the second if go?
go back to this
and move the end after return up two lines
after other_suits = true end
damn 3:
?
show the whole thing
like move it
yes
3:
try to run this
you made me redo this 5 times
sorry
i mean
you're not wrong
but how do you expect me to make it good
if it keeps shifting
't works
I hope this thing was informative @static finch
it was but
Anyway, I'll finish coding the tweaks
i still gotta understand those loops better
But after you get them they become super helpful
Generally, anytime you need to do something on a set of things, like the content of a table
Rather than one time
The loop triggers for each value, and k anv v are always equal to the current value that's being checked
mhm
btw I really like expaining stuff, dunno if I'm good though
I just like yapping I guess
GUESS WHO ELSE-
i'd argue you are
at least you're clear
Thank you
if not explaining it meticulously
I like leaving no doubt
Even If that means overexplaining stuff
Better than not explaining enough
This remembers me of mu hs math teacher
I meant if you are not over explaining things you do simplify them to be clear
Which was very good but alway expected us to understand stuff with minimal explanation
never cared for regular show, though I guess my 8yo self just thought it wasn't that cool
ouch
I managed to survive since I was good at math
But some of my classmates did not
Even if they were not dumb at all
imagine if I was in one of those high schools where even if your average is 4 you still pass by some miracle
no idea how but still
my classmates are fuckin nut jobs
They all passed in the end luckily
The teacher had a good heart
Indeed
But my class was a very good one, way above average
It was pretty much selected to have all good students
strange
This is pretty normal I think
I only got almosy only maranza if you know what I mean
And they tend to put all the dumbasses togather
meanwhile we remained in B
That's why you are gay then
they got scared by the overwhelming majority of idiots
mate. they are all ugly as FUCK
my bff's not Italian also
like bruh
Can they choose?
can't date one of these simpletons
Fair
they opted out of here and got put in the only other class
doing applied science here
God
not normal science
well I didn't need girls anyway
You truly were bad
cause I LOVED IT
I'm already at the PC all day anyway
and I like being home
and the sun hurts me
I meant Why would there be dad again
and I can cheat easily
some new random strain or something I dunno
I get why you'd like it
I don't care really
damn I should make a self-insert as a vampire joker
I'm a practically a vampire anyway
I skipped my 3rd year middle school exams soo
vampire cat? that sounds really cool
I loved it 2
I am NOT a cat
god that would've been so cool
damn
meh
like, 22?
approximately
and you say you're talking to a child
way to pump it up mr retirement age
you are a 32 yo bisexual woman with autism and adhd
I'm fortelling it, I'm a fortune teller
BASED BASED BASED
REAL
common railgun W
destiny chose a based transbian to lead this glorious vessel of code
I guess I have no choice here, right?
yes, you don't, take estrogen 
GIMME SOME
hey. what if I made that stupid ass devil concept as an oc.
that would be funny wouldn't it
(yes yes egg I know)
Jen's curse I's upon you
No normal jokers either
one or 2 wouldn't hurt would they
for now
tree
hehehe
and fish
I guess
straight kate was litteraly made to be as normal as possible lol
jen's added literally all the rain world scugs
Btw @static finch have you committed?
ewww cishet
how boring
if I remember correctly yes
she's straight, whoever said she was cis
show me last commit note pwease
you're a bi 32yo trans woman shut up
take your meds gramma
Why you had to age me lol
Was not being trans enough?
because older women = hotter, as a person 5 fan
obviously not just cool anime fights with grooming sim on the side
older women are hotter as a [REDACTED] fan
Isn't that just pedophilia simulator?
With pedophilia as an extra i guess
and transphobia, don't forget persona's transphobia
it's cool if Ren does it ok
I don't know of this one
where?
oh god wait
no
no
not naoto
please
no
persona 3
wait what
persona 3, I've heard it 99 times and a half
But it makes sense, all transphobes are pedos too after all
I didn't play that one yet
KAWAKAMI IS JUST BASED, SILENCE
trump administration
there's an encounter with a woman that hits on the main characters on the beach, and they're all excited until they learn that the adult woman that is hitting on these teenagers is... well, I don't think I need to continue that
but all Nazis
we ALL know where they went with that
Essentially everyone I dislike is a pedo
imagine if there was an entire 3 scenes with drag queens n stuff
It's that easy
and a bar which serves as a location to meet a s link
for poe idk wtf im doing
bruh
I must see her
it'll be a would
I'm sure
Fitting
fair enough
oh
my life would've been so much easier
so like