#Stacked (V1.0.6)

1 messages · Page 1 of 1 (latest)

mint heron
#

A mod that adds extra effects on top of your Jokers. By default, a Joker can have 2 maximum extra effects. Sometimes, you will find a Joker with an extra effect, and its strength (Potency) is also determined randomly.

IF YOU KNOW HOW TO USE GITHUB, IT'S USUALLY BETTER TO DOWNLOAD STRAIGHT FROM MAIN BRANCH!

Download link: https://github.com/bepisfever/stacked

GitHub

A mod that adds extra effects to Jokers. Contribute to bepisfever/stacked development by creating an account on GitHub.

tiny fractal
#

YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA FIRST

topaz bay
#

she stacked on my joker til i

mint heron
#

sob

topaz bay
#

FUCK YOU MEAN POTENCY

#

ARE YOU ADDING COUNT TOO

mint heron
#

no 😭

tiny fractal
#

potency <3

topaz bay
#

good

#

:3

mint heron
#

i will consider adding limbus status effects one day...

hushed timber
#

my joker is impotent

trail flame
#

peak

hollow radish
#

nice

topaz bay
mint heron
#

my arm isnt mutated thanks

#

oh wait i forgot to include images, uh

tiny fractal
#

imagio

mint heron
#

extra effects in question:

timid vigil
#

Bepis shenanigans is finally here

mint heron
#

sob

#

forgot to account for the fact that the effects spawn in collection menus too, my bad

#

will be fixing in a moment

#

-# shouldnt crash or affect anything gameplay-wise though

devout fable
#

It's very good idea you can add a lot of content to it

mint heron
#

yeah its made for you to add your own content to it too :3

devout fable
#

I'm out now when I reached home I'll take a look at codes

#

Anyways wish u luck

hollow radish
#

Testing it rn

devout fable
#

How's it?

hollow radish
#

haven't found one yet 😅

mint heron
#

its 20% for one effect to spawn lol

#

cant be that bad...

devout fable
#

If it be my luck 20% is 0.001%

mint heron
#

lmao

tiny fractal
#

yeah i think ill
make a voucher type of thing

#

thac stacked crossmod coming Soon™

#

(possibly Later Today™)

hollow radish
#

Idk if I'm unlucky or what but I haven't seen one yet in 6 antes

mint heron
#

what

#

actually?

#

thats super odd

#

you can try adding a print in where the mod adds an effect to jokers to see if its actually not a bug

hollow radish
#

Yea sure

mint heron
#

i dont think anyone has been hit with that yet, so might be a mod conflict (or you are genuinely that unlucky 😭)

devout fable
#

I think you should increase chance

autumn vortex
#

if i can figure out how this works it would be cool to add grab bag crossmod like "Joker will Shatter in 5 rounds" on eligible jokers

mint heron
#

sob

hollow radish
#

Amazing run still

devout fable
#

lmao

mint heron
#

sob

hasty venture
mint heron
#

teto!

mint heron
#

you can also use apply_extra_effect to manually put effects on cards

devout fable
#

How many effects did you add

mint heron
#

the second argument is this thing

mint heron
tiny fractal
mint heron
#

only 9 rn

mint heron
tiny fractal
#

does that get the card tho

mint heron
#

yes

tiny fractal
#

o

devout fable
mint heron
tiny fractal
#

bepis do you think i can read

mint heron
#

:3

#

yes

mint heron
hollow radish
#

Ok I had 4 shop slots and rerolled a lot and no print in

tiny fractal
#

weird cuz it works for me and i have a million mods

hollow radish
#

I'll try in set_ability just to be sure

mint heron
#

seems like a mod conflict, then

#

which is weird

#

i did try my best to avoid mod conflicts as much as possible

hollow radish
#

The self.area check always give out nil

tiny fractal
#

oh the update

hollow radish
#

Yea

mint heron
#

how

tiny fractal
#

yeah cards aren't
created with an area

hollow radish
#

There's no shop area

mint heron
#

huh

#

why does it work for me and other people then.....

hollow radish
#

Other people might be in the first version

tiny fractal
#

it works for me because i literally didnt have the update

mint heron
#

wait what update

hollow radish
#

1.0.1

tiny fractal
#

THE ONLY ONE

hollow radish
#

The one that added the area check lol

mint heron
#

huh

tiny fractal
#

funny enough though i think i can trigger it

mint heron
#

h u h

tiny fractal
#

if that's the failing part

mint heron
#

how do i check for when the card is in the collection then

#

hm

#

didnt know thats specific to balala updates

tiny fractal
#

w

#

bepis

#

bepis please

mint heron
#

or is that smods

#

i dont know

hollow radish
#

Prob a dumb idea but check if G.your_collection exists?

tiny fractal
#

you literally updated the mod

mint heron
#

WAIT YOU MEANT STACKED VERSION

hollow radish
#

??

mint heron
#

I THOUGHT YOU WERE TALKING ABOUT BALATRO/SMODS VERSION

hollow radish
#

Bepis we might kill you

mint heron
#

sob

tiny fractal
#

WHY WOULD WE BE TALKINGA BOUT BUYING PANTS AT THE SOUP STORE

mint heron
#

IDK 😭

hollow radish
#

Pants are tastier if they come from the soup store

mint heron
#

spare my ass please ive been doing my english homework for 10 hours by now

#

sob

hollow radish
#

Damn

tiny fractal
#

problem: G.your_collection still exists after being closed

mint heron
#

mm so sometihng like this?

#

yeah i was actually concerned that might happen

#

:remove() doesnt set the cardarea to nil

#

so it still exists when the cardarea is removed

#

ghh

#

is there something to tell if the cardarea is removed??

boreal junco
mint heron
#

wait is that fucking wilson

#

hiiii

mint heron
#

when the cardarea is removed

#

hm

boreal junco
#

Hi

mint heron
#

worth a shot, lemme check

tiny fractal
#

fuck yeah placeholder joker can still trigger it because it just does set_ability on itself in-place lmao

hollow radish
#

Cheating

tiny fractal
#

imagine rolling placeholder joker and getting a legendary

mint heron
#

I THINK IT IS REMOVED

#

HM

tiny fractal
#

and then you realize the two legendaries it can hit both require OTHER placeholder jokers to be good

#

anyway this is stacked chat uhhhh stack my jokers

mint heron
#

its, not using index though

#

so i cant just refer to G.I.CARDAREA.your_collection

#

;3

tiny fractal
#

yes its a numerical table

mint heron
#

mmmmm

#

is the ID at least unique

hasty venture
#

Wanna see my cat?

hollow radish
#

Finally

hasty venture
mint heron
#

no its not

#

ghhhhh

tiny fractal
#
local dont = false
for k,v in ipairs(G.I.CARDAREA) do
  if v.config.collection then dont = true end
end
if dont then DONT end```
mint heron
hasty venture
#

He’s old

mint heron
#

oh theres a flag in the cardarea

#

nice

mint heron
hasty venture
#

Hehe

tiny fractal
#

you can also probably break the loop if you find a dont

mint heron
#

mhm

#

alright it works now, i think

tiny fractal
#

i dont believe you

mint heron
#

sob

tiny fractal
#

show me (on my computer (from github))

hollow radish
#

Come to my house and show me

mint heron
#

sure one sec

#

download him and let him in your house (computer)

#

-# i forgot to update version in .json again but whatever

hollow radish
#

Time for 1.0.3 to fix that

mint heron
#

lmao

teal prairie
#

limbus vocab on my Balatro Mod?

#

at 5+, Coin Power +5

hollow radish
#

The score I get when all effects are just Spades gives +/XMult

#

Love my 2 and fake vampires

mint heron
#

sob

#

oh yeah i do have some effects i want to add

#

bleh

#

the first one is basically destruction prevention but resets the tability table too

#

so food jokers can be used again

hollow radish
#

No way Bepis solved famine

#

Infinite Perpetual Icecream

mint heron
#

how does it sound

#

:3

mint heron
#

food recycling.....

devout fable
#

finally

#

bro i just selected my partner : |

mint heron
devout fable
mint heron
#

what the fuck.....

#

how

devout fable
#

idk

mint heron
#

can you show me the code in aikoshen

devout fable
#

gimme a sec

#

strangly its ok now

mint heron
#

:3

#

can you still show me though, im curious what it is

devout fable
#

me too

mint heron
#

-# what do you mean, you have the file

devout fable
#

the line

mint heron
#

yeah no i dont think my mod should do anything with that

#

you should send that to aiko though

devout fable
#

yeah but...

#

i just got into shop and this showed

mint heron
#

god damn it

mint heron
mint heron
#

...i dont do anything with that, though

timid vigil
#

Or regular source code

#

Because from the path I assume the 2nd

devout fable
#

regular source

mint heron
#

it gotta be lovely/dump

#

because thats where the lovely patched files end up

devout fable
#

chance? nah

ocean owl
#

oh hey this mod looks cool

mint heron
#

:3

#

of course its cool, its made by me /j

coral cargo
#

actual fire mod

ocean owl
#

is there any way to change effects once they're on jokers (increase strength, replenish uses, etc)

mint heron
#

use the same contexts as jokers

#

so just do stuff with them idk

ocean owl
#

i mean like in game

mint heron
#

like, interacting with the effects with outside sources?

ocean owl
#

kind of

mint heron
#

effects are stored in card.ability.hsr_extra_effects <- this is a table

ocean owl
#

like a card that adds 20% of strength to a random effect on a joker (max of 100%)

mint heron
#

oh, yeah you can definitely do that

#

just pick a random child (what is this called in lua, in luau its called child) in card.ability.hsr_extra_effects

ocean owl
#

ill try messing with it later

mint heron
#

food jokers self destruction WORK now

#

will be pushed next update alongside new effects

pure frigate
#

what do percentages mean

mint heron
#

for instance, Joker gives +(x) Hands, x can be 1, 2 or 3

#

the higher the percentage is, the higher value you got from the pool

#

0% is the lowest, 100% is the highest (obviousl)

ocean owl
cinder drum
#

egg's on my face for even suggesting a balance change but passive hand increases should be lowered lmfao, getting +3 hands is a lot for a joker

ocean owl
#

cant exactly replenish uses if those uses can't be replenished in the first place due to not existing

mint heron
#

im reducing it to +2 next update

ocean owl
#

Anvil: adds 20% strength to a random Effect (max of 100%)

mint heron
#

im actually working on an effect pretty similar to that

#

:3

#

randomly gives an effect 1%-5% potency at end of round

#

actually, we should decide on a collective term for this

#

should it be potency or strength

#

🤔

ocean owl
#

potency invites double entendre

tiny fractal
#

also the potency doesnt even work like i thought it would its just...? a cosmetic number?

cinder drum
#

Attack

#

Attack and then Defense because the silly Yggdrasil unused skill tree stuff

ocean owl
mint heron
mint heron
#

one sec

ocean owl
#

is the effect tied to the potency, is the potency tied to the effect, or are they independent values currently?

mint heron
#

they are independent

ocean owl
#

so yeah changing a value ingame doesnt really do anything to the other value

mint heron
#

mm just realized my approach is a bit flawed, i was kinda thinking you can use the percentage to increase values of the effect by that amount but then theres some effects that dont want that to happen

#

hm

#

might change how potency works to be more connected to the effect then

ocean owl
#

does the calculate function not reference the current potency at all

mint heron
#

its ability_table.ability.perfect i think

ocean owl
#

so is the intended effect for each effect that it has a "100%" value that it then runs through a "multiply by current potency/round if needed" kind of gate and then gives the effect?

mint heron
#

this is how it would be constructed in a bit

#

. no wait, maybe it should be the other way around

tiny fractal
#

i think

#

list a min and max value and then the potency is the difference

#

just let that scale between those two points, and have <0% potency go below the min (or >100% potency above the max) at the same rate

mint heron
#

true

tiny fractal
#

you also would need a function for updating values of stuff that is on_apply

mint heron
#

mm i was able to whip up with this, but the thing is: you cant really update the value tied to the potency since:

  1. from outside sources, theres really no telling which variable is affected by potency
  2. the value cant be updated effectively without some other annoying steps
    -# also realized the formula is a bit wrong, changed the first * to +
#

so im thinking about maybe having all variables attached to the potency stored in a table inside ability?

#

like this idk, if we agree on this then i can just make a function to increase/decrease the effect's potency and change the values too

#

dunno whats more annoying, that or this

tiny fractal
#

on_value_up then just standardize effect value increase effects?

#

or update_values

autumn vortex
#

would be cool to have an effect that adds an edition after a certain number of hands/rounds

tiny fractal
mint heron
#

mhm i see

mint heron
#

now heres what i can do with update_values:

  1. put this through Game:update and have the process automated
  2. make people manually run it after changing potency
    -# but this also means effects that increase values of card.ability wont deal with this
#

mmm

#

i will experiment with the first one and see if its laggy or not

#

gotta reformat all of the effects first, bleh

#

who knew managing an api mod is this annoying :3

boreal junco
#

I have touched debugplus's api once since i added it

#

(noone uses it)

mint heron
#

really

#

-# wait debugplus is an api mod? 🤔

boreal junco
#

yes

mint heron
#

intersetingcting

tiny fractal
#

tbf eval is all you need

boreal junco
#

I use watch often

#

half the time it's to develop debugplus

tiny fractal
#

use eval to call the function(s) watch calls blueprint

mint heron
boreal junco
#

man it seem like someone should be using hsl instead of rgb

mint heron
#

shrug

#

the game uses {r,g,b,opacity(?)} so im using that :3

boreal junco
#

theres a util to convert

#

it lets you make a dynamic colour that doesn't become poop brown in the middle easier

mint heron
#

mm really?

#

sounds cool, whats the name of that :3

boreal junco
#

can't find it maybe I am imagining things

mint heron
#

oof

boreal junco
mint heron
#

"3

#

:3

#

download from main branch for the new format code and stuff

mint heron
#

new effect

ocean owl
#

how would i poll for an eligible joker in this situation

#

i mean in terms of jokers that have non-100%'d effects for Anvil

mint heron
#

this is what i did

#

thats for the uh effect part, you want a G.jokers.cards loop outside too i assume

ocean owl
#

isnt that just for the same joker that its on though

mint heron
#

mhm, but you can do the same for a random joker too, right

#
local joker_pool = {}
for i,v in ipairs(G.jokers.cards) do
  if v.ability.hsr_extra_effects then
    for _,vv in ipairs(v.ability.hsr_extra_effects) do
      if vv.ability and vv.ability.perfect and vv.ability.perfect < 100 then
        joker_pool[#joker_pool+1] = v
        break
      end
    end
  end
end

local random_joker = pseudorandom_element(joker_pool, pseudoseed("idk"))
#

that should give you a random joker that has an effect whose potency is below 100

#

then you just need to get a random eligible, <100 potency effect from the random joker :3

ocean owl
mint heron
#

mhm

ocean owl
#

i should just be able to replace the random from jb11 with random_joker, yeah?

mint heron
#

change this to random_joker

ocean owl
#

wait huh

ocean owl
mint heron
mint heron
ocean owl
#

lemme work backwards from where i am rn then

#

alr so do i change "pool" in the then to random_joker?

mint heron
#

wat

ocean owl
#

if i ~= ability_index and v.ability and v.ability.perfect then pool[#pool+1] = v end

mint heron
#

no, pool is just a table to contain the eligble effects, its not the joker

#

-# and also, remove i ~= ability_index

ocean owl
#

so do i put local pool = {} before the for statement then?

#

ill just test the code rq

mint heron
#
local joker_pool = {}
for i,v in ipairs(G.jokers.cards) do
  if v.ability.hsr_extra_effects then
    for _,vv in ipairs(v.ability.hsr_extra_effects) do
      if vv.ability and vv.ability.perfect and vv.ability.perfect < 100 then
        joker_pool[#joker_pool+1] = v
        break
      end
    end
  end
end

local random_joker = pseudorandom_element(joker_pool, pseudoseed("idk"))
if random_joker then
  local effect_pool = {}
  for _,v in ipairs(random_joker.ability.hsr_extra_effects) do
    if v.ability and v.ability.perfect and v.ability.perfect < 100 then effect_pool[#effect_pool+1] = v end
  end
  local random_effect = pseudorandom_element(effect_pool, pseudoseed("lmao"))
  if random_effect then
    random_effect.ability.perfect = math.min(random_effect.ability.perfect + 10, 100)
  end
end
#

that should be all

ocean owl
#

i forgot to set can_use

#

would this work

#

seems to work

#

ill send a video after i get the sillier part of this to work

mint heron
#

you can totally get .ability.perfect above 100 btw

#

it doesnt break anything, everything scales properly even above 100 :3

ocean owl
#

i know but thats an intended limitation of Anvil

#

if you wanna change it after i pr it you can

mint heron
#

nah i dont plan to

#

just telling u tho :3

ocean owl
#

wow how useful, during testing i got a four fingers with a certain passive ill show in a sec

#

anyway it works now so ill pr it in a bit

#

and pr'd

mint heron
#

epic

#

thanks wix :3

ocean owl
#

np

#

just glad to contribute

#

ooh i could make some crossmod effects in the future too

mint heron
#

looking forward to it :3

ocean owl
#

lets hope the pr doesnt introduce any errors

upper rivet
#

this mod is stacked ngl

tough viper
#

for some reason localizing the mod in the standard way causes an extra blank line prepended in the desc box

high moat
#

idk if you know already but i think the retrigger effect causes a crash

tiny fractal
#

balatro goes

mint heron
mint heron
#

i think i know whats wrong now

#

also new effect

#

:3

worldly night
#

wtf

mint heron
#

epic

tiny fractal
#

stacked

mint heron
#

download from main branch for extremely cool mod icon btw

tiny fractal
#

ill get home in an hourish

#

excitement

mint heron
#

next update to-do list:
- even more fun, unique effects
- custom skill background color
- vouchers (thanks flote :3)
- ?

#

oh yeah, vouchers

tiny fractal
#

whats the voucher plan

mint heron
#

6 vouchers, 3 of them are basically tier 2 vouchers, increase effect slots, increase chance to spawn effects naturally and increase max potency cap i think

#

-# basically stuff that people would probably expect stacked to have

plain bison
#

absolute balatro

ocean owl
mint heron
#

flote is doing it

ocean owl
#

alr

hollow delta
#

I don’t mind someone with more skill doing it, I can’t draw for the life of me

mint heron
#

:(

hollow delta
#

i showed you my art Bepis, i really cant draw it well

#

sorry man

mint heron
#

aw, its fine

hollow delta
#

Art is always up for grabs, in my eyes, whos ever looks the best wins

mint heron
#

can you slide em in my dms though, i will probably whip up some art based on them

hollow delta
#

sure 1s

mint heron
#

my art isnt too good either but i think id rather not trouble people with my work too much :p

hollow delta
#

@mint heron You never seemed to put the icon in the newst branch

mint heron
#

huh

#

did i, not push

hollow delta
#

theres only the anvil

mint heron
#

OH FUCK MY LIFE

#

I

hollow delta
#

thats why i did blacksmithing 😭

mint heron
#

im terribly sorry.

hollow delta
#

its alright lol, we make mistakes

mint heron
#

its pushed for real now

#

sob

hollow delta
#

pov refreshing the pagel like a madman until it updates

mint heron
#

it already did if it says "aiko the goat"

#

it says 5 hours ago because i published the changes but didnt push

hollow delta
#

why does it still say 5 hours ago then

mint heron
#

;3

hollow delta
#

ohh

#

okay, i can work with this

mint heron
#

you can see the icon now

hollow delta
#

i might be able to do the vouchers then

mint heron
#

nice, looking forward to it :3

hollow delta
#

both tiers, correct?

mint heron
#

mhm

hollow delta
#

okay just checking :3

mint heron
#

this should prepare me for adding the extra effect slots voucher tmr :3

#

we are stacking it

cinder drum
#

can't wait to stack stack stack stack stack stack

upper rivet
#

stack my stack

cinder drum
#

is there gonna be a spectral or something along those lines that allows you to merge joker passive/attack effects together to get even more potency

tough viper
#

played couple runs with it last night it's genuinely fun

tough viper
#

a reminder, the 'left' and 'right' from joker_buff14 is hardcoded. maybe make them be able to be localized

tough viper
#

the prevent from destroy effect gave the game a no log crash upon triggered by Plantain mod's plantain joker
rebooted then retried. fixed itself. classic.

mint heron
#

lmal

#

lmao

mint heron
ocean owl
#

nice

mint heron
tiny fractal
#

destruction prevention effects can apply when a card is left in a booster pack

mint heron
#

hm

#

do you happen to know what cardarea has the booster pack cards :3

tiny fractal
#

nope :3

mint heron
#

3:

cinder drum
# mint heron

actually this reminds me

What if you could get effects on vouchers

#

like the effects come with the vouchers

mint heron
#

elaborate

tiny fractal
cinder drum
#

thats what I mean

mint heron
#

the idea of Stacked is to have even the normally bad jokers be given effects that could make them worthwhile to pick up, this opens up more varieties to your run where not just the main effect of the jokers, but their extra effects matter too

#

vouchers arent the same, you can buy all of them, unlike jokers with a limited amount you can carry

#

that just seems more like a direct buff to vouchers, which is technically what stacked does to jokers too but not the exact thing im going for

hollow delta
#

Honestly can’t wait for cross mod compatibility of this mod

mint heron
#

-# its already there, wdym...

hollow delta
#

Wait really?

#

What mods if you know

upper rivet
#

my mod will have one in its next update probably

tiny fractal
hollow delta
#

i cant read

mint heron
#

Stacked (V1.0.3)

hollow delta
#

wow version names, we are truly in a new age

mint heron
#

true...

mint heron
#

reorganized the mod's files

mint heron
#

the first passive without potency

mint heron
#

Stacked (V1.0.4)

hollow delta
#

hey look ma, my name!

hasty venture
cinder drum
#

got this crash log trying to use a buffoon tag or whatever its called

mint heron
#

a

#

crap

#

fixed on main branch i think

spring field
#

Idk if this is intentional or not, but the effect that allows a Joker to copy the Joker to the right but decreases its Mult/Chips gain seems to also decrease Mult/Chips of the joker itself

hasty venture
mint heron
#

mod development continues after 2 days

plain bison
#

exciting

mint heron
hollow delta
#

horray

mint heron
#

next update

cinder drum
#

if you can, make the passives that prevent card destruction or whatever not be a decimal point like I'm not understanding wtf 7.09 cards could even constitute

#

even if it just rounds to the nearest number

mint heron
#

thats a fair one, fixing next update

plain bison
upper rivet
#

crossing this mod

#

github is not pinned 🥀

mint heron
#

🥀

#

one sec

mint heron
upper rivet
#

i dont think this exists

#

i hope it doesnt

mint heron
hollow delta
#

I feel like this one isnt too obvious, for Fast Pacing, does it retrigger once every hand for that round or what? also the higher potenicy makes the once in X rounds more rounds and im not sure if that should be the case

#

oh nvm, i just cant read

#

also found a 42.9%

hasty venture
hollow delta
#

looks at pfp, looks at ur message

hasty venture
#

I ain't judging just asking

visual pagoda
#

peak mod

mint heron
#

mod seems to have a bit of conflict with entropy rn, um

lyric mirage
#

hey i think comedy degree has the wrong sprite

#

i downloaded from main like 10 minutes ago

#

it doesn't have the tier 2 voucher tab

#

also hi it's me again

mint heron
#

marie!

mint heron
#

whats the effect

#

i forgot

lyric mirage
mint heron
#

yeah thats the correct sprite

lyric mirage
#

is it not a tier 2 voucher

mint heron
#

the right one is

lyric mirage
#

well then why does it not have the tier 2 voucher tab

mint heron
#

3: that exists??

lyric mirage
#

yes you

#

used it on the other tier 2 vouchers

#

what do you mean you didn't know about it

mint heron
#

what the

lyric mirage
mint heron
#

ohhhh you mean the voucher color

#

@hollow delta

#

:3

hollow delta
#

Oh shit oops

#

I’ll send a fix for that in a bit

hollow delta
#

Whats your opinion on Sticker Exclusive Effects?

#

like an effect that can only appear on a joker with that sticker

cinder drum
#

wanted to let you know just whenever you see this that the newest version of stacked sometimes doesn't show any effects under extra effects

#

it used to only happen if a joker was created but now it sometimes happens in booster packs

mint heron
#

im like, half sure thats a mod conflict but idk

cinder drum
#

ah maybe but just wanted to let you know for future updates

#

it primarily is a toss-up if it happens at all

#

cuz sometimes it will work as intended

mint heron
#

currently im aware that it happens with entropy

#

it might be because of conflicts in hooks/patches (basically, stuff that alters the behavior of vanilla functions so that we can get our stuff working)

#

3:

#

though what im most confused about is that entropy doesnt seem to have, anything that should affect stacked in particular so i havent been able to get to the root of this bug yet

mint heron
#

oh i just realized v1.0.5 has double the effects of v1.0.4 lmao

#

Stacked (V1.0.5)

mint heron
tiny fractal
#

stacked

lyric mirage
#

is this a yugioh

mint heron
#

oh, i should give some context

#

this is a timing extra effect

lyric mirage
#

ohhhhhhh

#

it's a type of effect

#

oh that's pretty cool

mint heron
#

it can be potentially very broken, thats why its locked behind a soul-rarity consumable :p

lyric mirage
#

question

#

how do you detect if a joker has a valid timing to generate an effect for

mint heron
#

it checks the context

lyric mirage
#

uhhh

#

what if I have a joker that resets a value during context.before and does nothing else in that context

mint heron
lyric mirage
#

would it be able to make a useless timing effect in context.before for that joker

#

if hypothetically that were the case

mint heron
#

yeah, since i dont think theres a good way to check for "useless" effects 🤔

lyric mirage
#

you could make it so a joker can opt out of specific timings

#

that would require other people to support it but it would solve the problem by manual verification

mint heron
#

mm

lyric mirage
#

(also if you haven't already you should make the consumable not work/not be spent if no valid timings are available that sounds like an issue it could have)

mint heron
#

(how do i even do that sob)

#

i dont think i can check if a joker does anything in context.joker_main, for instance

#

some jokers do stuff that dont need return

lyric mirage
#

i didn't see how broken that was

mint heron
#

yeah exactly lol

lyric mirage
#

red seal steel kings got a new supporter

#

tbf, it is a legendary that gives very strong xmult

#

which happens to support the most broken vanilla strategy

mint heron
#

theres also one that triggers context.joker_main for each card in hand, though it does have a 12 rounds duration at 100% potency

lyric mirage
#

i'm not a huge fan of the duration based effects tbh

mint heron
#

yeah fair

lyric mirage
#

it feels like it should be more like degrading potency

#

than the effect just turns off

mint heron
#

im not a fan of that too lol, but i dont think i can even have that effect without that kind of restriction

lyric mirage
#

i don't remember the exact effects but also i think the

#

turns +mult into xmult one

#

is bugged

mint heron
#

jokers with context.joker_main tend to have much higher xmult compared to jokers that give xmult per (x) card, so if they got this passive they are gonna be busted as hell

mint heron
lyric mirage
#

okay

mint heron
#

it was an issue with how i used modify_calculate

lyric mirage
#

yeah some things were just giving xmult for no reason

mint heron
#

oh thats

#

new

#

what i fixed is that sometimes the +mult -> xmult can kinda trigger more than once

#

because i directly changed the calculate's return table while also iterating it

#

which can cause it to go back to +mult and redo the check

lyric mirage
#

i don't recall exactly what happened but after i got a joker with the transformation thing some of my jokers started giving xmult for no reason

#

even if they didn't return anything previously

mint heron
#

odd

lyric mirage
#

and it was X3 mult a lot

#

if I get it again i'll let you know mid run

mint heron
#

oh, might be because i didnt add a v ~= 0 check

#

3:

#

hopefully both should be fixed in the latest main branch

#

idk

lyric mirage
#

yes hopefully

#

how could I create a timing based effect

#

if I wanted to make a new timing for a specific thing

mint heron
lyric mirage
#

is that intentional

mint heron
#

.

#

oh fuck

#

yeah thanks lmao

#

i really shouldve used Stacked.extra_effect from the beginning 3:

#

i dont like manually adding into the table

lyric mirage
mint heron
#

so im checking whenever context.before and context.main_eval is run, and return end_of_round context in there

lyric mirage
#

what if I wanted to make a timing effect that makes extra card effects trigger on every card

#

when my jokers detect cards scored by splash

mint heron
#

mmm

lyric mirage
#

they always go through the same 1 function when they make the checks

#

but the contexts are not uniform

mint heron
#

im pretty sure you can go through every jokers, check card.ability.hsr_extra_effects, grab the key and pass it into ExtraEffects[key].calculate to run the calculate and use that one SMODS function to run the return of that

but the main problem is the context though, this is kinda a force_trigger situation lol

lyric mirage
#

is there not a way I can hardcode it

mint heron
#

not really, cryptid had to manually add force_trigger effects for all of the vanilla jokers after all

lyric mirage
#

this isn't a thing that other mods do afaik

#

I would be surprised if there was another mod that made effects which activate on cards scored by splash

mint heron
lyric mirage
lyric mirage
#

is that not how this works

mint heron
lyric mirage
#

context.on_splash_scoring?

#

do I need to make a new context for this

mint heron
#

you can just have about any context in the effect's calculate, you got jokers that can detect cards scored by splash already right?

just pass {on_splash_scoring = true} in the context argument of effects' calculate and it should work

lyric mirage
#

i don't think that would work

#

the joker would return this after it has already performed the check which would render it pointless

mint heron
#

mmm

#

can i see an example of how your joker is doing the check

lyric mirage
#
calculate = function(self, card, context)
        if context.individual and context.cardarea == G.play then
            if card_is_splashed(context.other_card) == true then
                return {
                    mult = card.ability.extra.mult,
                    card = card
                }
            end
        end
    end

soaked joker

#

card_is_splashed(card) returns true if it was scored by splash and false if it wasn't

#

unless I can send a context from the... function?

mint heron
#

you can

#

one sec

lyric mirage
#

and then have the function receive another context which tells it to flag true

mint heron
#

lemme give u an example of what i meant

lyric mirage
#

wait but if the function returns a context then the function ends

#

so that doesn't work

mint heron
#
calculate = function(self, card, context)
    if context.individual and context.cardarea == G.play then
        if card_is_splashed(context.other_card) == true then
            for _,joker in ipairs(G.jokers.cards) do
                if joker.ability.hsr_extra_effects then
                    for i,v in ipairs(joker.ability.hsr_extra_effects) do
                        if v.key and ExtraEffects[v.key] and ExtraEffects[v.key].calculate and type(ExtraEffects[v.key].calculate) == "function" then
                            local ret = ExtraEffects[v.key].calculate(joker, {on_splash_scoring = true}, v, i)
                            if ret then
                                SMODS.calculate_effect(ret, joker)
                            end
                        end
                    end
                end
            end
            return {
                mult = card.ability.extra.mult,
                card = card
            }
        end
    end
end
#

this is how i would do it

lyric mirage
#

oh god

#

yeah i don't understand how or why this would work

#

the card has already decided that it is checking an extra scored card before the other code happens and that means the output won't change

mint heron
lyric mirage
#

if card_is_splashed(context.other_card) == true then
this line of code has already passed and decided that context.other_card is an extra scored card which triggers the rest of the effect

#

if you were to manually change the outcome after every single instance of this

#

it would have to be hardcoded into every single joker

#

this effect should make the outcome of card_is_splashed always return true if it is present

#

I would be able to code that into the function itself by adding an argument to card_is_splashed and making it return true if the joker has the effect

#

the thing I don't get is how I would make these jokers able to accept that effect (without having to hardcode two loops and two if statements into every joker that could use it)

mint heron
#

this is what you want to do right

lyric mirage
#

i'm so confused

mint heron
#

whats confusing tho
- the joker checks for whether the card is scored by splash (which can be affected by other effects)
- if it is, trigger effects with the new on_splash_scoring context

lyric mirage
#

that would require me to change the code of every joker that does that

#

can't I just do something like this inside the function that checks it

function card_is_splashed(card, joker)
---i know this statement wouldn't actually make the check properly but it's an example
    if joker.has_extra_card_stacked_effect then
        return true
    end
--- rest of function down here i cut it off so it's smaller
#

this would work for everything without requiring me to change anything other than adding an extra argument to card_is_splashed
the problem is how I flag these jokers as being able to obtain the effect that triggers this

mint heron
#

im also pretty sure you can just do this too

lyric mirage
#

well that would make a stacked effect that makes extra scored cards do something

#

that's not a bad idea actually

#

I want to make a timing effect that overrides the extra scored card check

#

it doesn't have to do anything in its own code I can just hardcode the functinality into my check function

#

but it needs to know somehow which jokers do that

#

that's the step that I don't get

mint heron
lyric mirage
#

this code is inside the check function

#

the joker would send itself along with the card being checked in card_is_splashed(card, context.other_card for example

#

so the function can check if the joker has the stacked effect which makes it always return true

mint heron
#

oh i see, you can just add a flag to the effect in which case

function card_is_splashed(card, joker)
---i know this statement wouldn't actually make the check properly but it's an example
    for _,j in ipairs(G.jokers.cards) do
      if j.ability.hsr_extra_effects then
        for i,v in pairs(j.ability.hsr_extra_effects) do
          if v.key and ExtraEffects[v.key] and ExtraEffects[v.key].always_splash then return true end
        end
      end
    end
--- rest of function down here i cut it off so it's smaller
#

then just add this here

#

if you only want the override to be specific to one joker, then run through only that one specific joker instead of every jokers

lyric mirage
#

I think I misunderstood how timing effects work

mint heron
#

yeah your thing isnt really what timing effects do

lyric mirage
#

i thought it would be to where like, a joker could only have a <x context> happesn on <y> if it had x context in the first place

mint heron
#

what timing effects do is essentially rerunning the joker's calculate with a new set of context on a specific timing

#

i dont think what you are doing is anything related to that, though

lyric mirage
#

yeah it doesn't seem like it

#

is there any rarity system for this

#

this is a very powerful effect in the context of my mod

#

so i wouldnt want it to be too common

hollow delta
#

Can timing spawn naturally?

mint heron
hollow delta
#

damn it

#

we should make a voucher for that

mint heron
cinder drum
#

I think with those kinda effects they should have unique text colors

#

like some rainbow lookin thing or smth cuz that effect is very powerful and should be paid special attention to

mint heron
#

thats true

cinder drum
#

are you gonna add more effects like that or just that one

lyric mirage
#

i'll add one if i can figure it out

#

i'm looking into it

#

doesn't seem so bad but i'm not quite sure yet

lyric mirage
#

who is bro running from

lyric mirage
#

2 other things during this run

#
  1. anvil crashed on use towards the end of a very good run
#
  1. the "when joker destroyed, add 2 random attack effects to other jokers" effect doesn't work
#

2.5. what the hell does the "Blueprint?" effect mean

#

it reads like
"copy ability of joker to the left, but the copied effect gives X0.4 less mult"

but is it actually
"copy ability of joker to the left, but this joker gives X0.4 less mult"

mint heron
mint heron
lyric mirage
lyric mirage
#

[SMODS stacked "code/consumables.lua"]:35: attempt to index local 'random' (a nil value)

#

i had used anvil 2 times previously in the run and it worked

#

the final time it just decided not to?

mint heron
#

..why the hell did it crash

#

seems like it crashed around those two, but like?

mint heron
ocean owl
lyric mirage
#

hey i don't think this is supposed to be a decimal?

cinder drum
#

think they said they'd fix it soon

mint heron
#

Stacked (V1.0.6)

tiny fractal
#

stacked is so stacked

long raptor
#

unsure if this is intentional but effects related to destruction consider selling as destroying

mint heron
#

its intended yeah

#

make use of that as u will :3

lyric mirage
#

this also causes jokers with "destruction doesn't happen 2 times" to not be spent when you fuse them with fusionjokers

#

although that is because they are actually destroyed and not because they are "sold"

long raptor
#

that ones funny since it basically triples sell value lol

#

its not considered for things like temperance but you get 3x the money from it

lyric mirage
#

well this is just

#

sad

magic glade
tiny fractal
#

it can be upgraded later with the anvil spectral card....

lyric mirage
#

but also I am not doing allat just for anvil to have a random chance to not hit the right joker anyway

lyric mirage
#

i thought autumn was the mod dev

#

lol oops

mint heron
#

sob

#

im not surprised that you think thats the case honestly

#

autumn might be using stacked more than me at this point 😭

plain bison
#

(yes this is random bs)

mint heron
#

it does go lowkey hard ngl

lyric mirage
#

this effect feels a little bit powerful

#

yknow just a tad strong

#

oh my god i just got another joker with that effect

mint heron
#

oh damn yeah you are right

#

thats more busted than i thought

#

maybe i should have it decrease at the end of round too lol

lyric mirage
mint heron
#

jesus christ

lyric mirage
mint heron
#

ice was right, me and making the game much easier is just peak duo

lyric mirage
#

selling jokers is a very easy condition to meet

#

i mean have you seen zombie joker in SDM_0's

#

that shit busted as hell

mint heron
#

true...

#

-# i havent lol

#

but my idea was like its related to the economy, you sell shit a lot and the price also goes up

#

stuff like that

lyric mirage
#

the only thing that could stop me is if i get that sell value bug

#

that resets the sell value

mint heron
#

it does that when Card:set_cost() is run

#

for some reason it resets card.sell_value

#

shrug

lyric mirage
#

i already got that bug once on the splash

mint heron
#

i gotta fix that in the next hot fix

#

i think i gotta add to card.ability.extra_value instead lol

lyric mirage
#

eehehee

mint heron
#

my mod has become cryptid

#

its over

#

im retiring

lyric mirage
#

i need to find D4C right now

#

so i heard you like sell effects

long raptor
#

maybe the inflation effect couldve been flat value instead of multiplicative

#

so like add (however many)% of sell value of sold jokers to this joker

empty cedar
lyric mirage
#

baron and mime showed up

#

in an abandoned deck run...

#

so i heard you like sell effects

lyric mirage
mint heron
#

help

lyric mirage
#

oh no

#

oh no

#

oh no

lyric mirage
#

you got 3 good ways to solve the problem

mint heron
#

3:

#

v1.0.6b soon

long raptor
#

cool

mint heron
#

probably later but i gotta finish my online class first

lyric mirage
#

ive got the ultimate synergy here

tiny fractal
cinder drum
#

did anyone ever figure out what was causing the extra effects hook to not show up under a card

#

like this stuff

long raptor
#

did you press shift+x

cinder drum
#

attempted to yes

cinder drum
tiny fractal
#

its some kind of mod conflict, used to happen with entropy and no longer does

cinder drum
#

does it? I literally have the most recent commit

hollow delta
#

Does Recycling reset Perishable?

long raptor
#

crash on a FuA joker (though if this was bc of the joker's effect i wouldnt be surprised

autumn vortex
#

hawk FuA! mod on that thang!

#

am i right

long raptor
#

i think it was just a joker that wouldve been buggy with being triggered (pomni joker from lucky rabbit)

coarse bluff
#

does anvil have a condition to make it useable? as in is there any reason that upon having it (or it and a joker idk) selected that it would not allow you to use it?

mint heron
coarse bluff
#

i think anvil is potentially busted then, as i can not get it to work at all even if every joker i have has an effect with potency that isnt maxxed. i tried disabling every mod other than anvil and debugplus and it still wouldnt work so idk

mint heron
#

hm

#

yeah i will check it later, thanks

austere tendon
#

also reporting anvil is still bugged

long raptor
#

follow up attacks Do Not

blissful dome
mint heron
#

lemme fix this rq

mint heron
#

oh yeah i see the issue for the follow up one

#

while im on it lemme rebalance inflation

hollow delta
#

I am flote

#

wrong chat

#

im sorry

blissful dome
mint heron
cinder drum
#

I'll admit I'm salty but there should be a config to turn of cursed abilities

cinder drum
#

also hope you can find a fix for the weird "stacked effects not showing up sometimes on jokers" bug

lyric mirage
#

@mint heron can you make it so jokers that get saved from destruction by stacked effects turn off their card.getting_sliced if they had it

#

ceremonial dagger won't trigger again on those cards after it triggers the death save once

#

among other getting_sliced related calculations being permanently disabled on that joker

lyric mirage
#

i dont mean to ping twice but

#

the wider reach timing effect seems to be bugged?

#

I might be stupid

#

is it for every joker or just the joker it's on

hollow delta
kind sinew
#

This looks very interesting I have to try it

kind sinew
#

I just try and amazing mod, but how come some Jokers have abilities and others don't

lyric mirage
#

not guaranteed to have stacked abilities

kind sinew
kind sinew
#

I recently found this easily crashes when pair with a few mods, like Gemstone or Paperback

terse oasis
#

Is there config for this mod?