#💻・modding-dev

1 messages · Page 41 of 1

brisk pond
#

@wintry solar what you think?

wintry solar
#

I haven't looked at your calculation stuff at all, work's been crazy busy, but I'm not sure how you even get your effect in to EzSc_Effects looking at this code

#

I'd also make sure that you XChips calculation comes after the + chips block

sonic mortar
#

probably really unnecessary, but it's funny and i like it pikapick
(still got a few more things to fix)

brisk pond
#

i'm just trying to have a global variable that goes through different files

#

I want the aChips() function to set that variable, and the game to read its value

#

that would solve my problem

wintry solar
#

oh of course I didn't look at the other images properly

brisk pond
#

that's only an explanation of the context

wintry solar
#

yeah I get it now

hallow forge
#

i am doing an unbelievable amount of nonsense to put a custom booster into 1.0.0

brisk pond
#

I want to have

calculate = function()
  if context.joker_main then
    aChips(20,card,context)
  end
end

instead of the tedious return{} stuff

wintry solar
#

and you've already implemented +chips/mult and XMult?

brisk pond
#

once you do one, you do everything else easily

wintry solar
#

yeah

#

I don't see why that wouldn't work for xChips then

brisk pond
wintry solar
#

other than xChips 😡

brisk pond
brisk pond
# wintry solar other than xChips 😡

I used to have a disclaimer that said:
"cerloCasa assumes no responsibility or liability for physical or psychological damages of any kind arising out of, or in connectoin with, the use of this mod"

#

just so people couldn't do "xChips 😠 "

brisk pond
#

how to do lovely injections?

solid salmon
#

how do i make something give all the jokers in the deck a certain edition?

languid mirage
#

you need to see the balatro source code

#

injection allows you to add your own code before or after a specific string, or in place of it

brisk pond
#

I did this, hoping to get this result

brisk pond
languid mirage
#

yeah

#

but I believe the only way to do that is with regex

#

you need to use pattern.regex

#

and specify pattern as regex

brisk pond
#

example?

#

if any

languid mirage
#

do you know regex?

brisk pond
#

look at my profile picture

#

that's me rn

languid mirage
#

This is an example of what I did for my mod

[patches.regex]
target = "cardarea.lua"
pattern = '''
(?<indent>[\t ]*)local deck_height \= \(self\.config\.deck_height or 0\.15\)\/52
[\t ]*for k, card in ipairs\(self\.cards\) do
[\t ]*    if card\.facing \=\= 'front' then card\:flip\(\) end
[\t ]*
[\t ]*    if not card\.states\.drag\.is then
[\t ]*        card\.T\.x \= self\.T\.x \+ 0\.5\*\(self\.T\.w \- card\.T\.w\) \+ self\.shadow_parrallax\.x\*deck_height\*\(\#self\.cards\/\(self \=\= G\.deck and 1 or 2\) \- k\) \+ 0\.9\*self\.shuffle_amt\*\(1 \- k\*0\.01\)\*\(k%2 \=\= 1 and 1 or \-0\)
[\t ]*        card\.T\.y \= self\.T\.y \+ 0\.5\*\(self\.T\.h \- card\.T\.h\) \+ self\.shadow_parrallax\.y\*deck_height\*\(\#self\.cards\/\(self \=\= G\.deck and 1 or 2\) \- k\)
[\t ]*        card\.T\.r \= 0 \+ 0\.3\*self\.shuffle_amt\*\(1 \+ k\*0\.05\)\*\(k%2 \=\= 1 and 1 or \-0\)
[\t ]*        card\.T\.x \= card\.T\.x \+ card\.shadow_parrallax\.x\/30
[\t ]*    end
[\t ]*end'''
position = "at"
payload = '''
a'''
overwrite = true
line_prepend = '$indent'```
#

(?<indent>[\t ]*) is used to specify indent (for the followup code)

#

it's used in here line_prepend = '$indent'

#

eh that's probably too much to explain

brisk pond
#

greeat

#

just tell me this

solid salmon
#

hey how do i make a consumable to changes the edition of jokers?

brisk pond
languid mirage
#

I think it replaces all matches

#

I actually dont know tho

brisk pond
#

less great

#

still great

languid mirage
#

that's why I always try to make matches unique

brisk pond
#

i don't know if I did something incorrectly

#

it says 'missing field: manifest' @languid mirage

languid mirage
#
version = "1.0.0"
dump_lua = true
priority = 0
wintry solar
#

You need the header part

languid mirage
#

at the top of the toml

brisk pond
#

got it

#

This is the file now ```toml
[manifest]
version = "1.0.0"
dump_lua = true
priority = 0

[[patches]] # EZSC A
[patches.regex]
target = "functions/state_events.lua"
pattern = "}\n for k=1, #G.jokers.cards do"
position = "after"
payload = '''
-- EZSC START: A
EzSc_Effects = nil
print("EzSc_Effects is nil")
-- EZSC END: A
'''
match_indent = true

#

it seems like it didn't work

languid mirage
#

how does it look like in the game source

#

the line of code you're trying to change

#

also

#

you can just

#

payload='''
line 1
line 2'''

brisk pond
languid mirage
#

you should probably copy both lines

#

instead of trying to grab } at the end of the line

wintry solar
#

I believe you have to match entire lines

languid mirage
#

ye thats what I was trying to do as well

languid mirage
brisk pond
#

corrected to this

[manifest]
version = "1.0.0"
dump_lua = true
priority = 0

[[patches]] #   EZSC A
[patches.regex]
target = "functions/state_events.lua"
pattern = '''
(?<indent>[\t])*\-\-calculate the hand effects
[\t]*local effects \= \{eval_card\(scoring_hand\[i\], \{cardarea \= G\.play, full_hand \= G\.play\.cards, scoring_hand \= scoring_hand, poker_hand \= text\}\)\}
[\t]*for k\=1, \#G\.jokers\.cards do
'''
position = "after"
payload = '''
-- EZSC START: A
EzSc_Effects = nil
print("EzSc_Effects is nil")
-- EZSC END: A  
'''
match_indent = true
line_prepend = '$indent'
#

still, doesn't do the print

#

game starts tho

#

i'll try a different approach

#
[manifest]
version = "1.0.0"
dump_lua = true
priority = 0

[[patches]] #   EZSC A
[patches.regex]
target = "functions/state_events.lua"
pattern = '''
(?<indent>[\t])*\-\-calculate the hand effects
[\t]*local effects \= \{eval_card\(scoring_hand\[i\], \{cardarea \= G\.play, full_hand \= G\.play\.cards, scoring_hand \= scoring_hand, poker_hand \= text\}\)\}
[\t]*for k\=1, \#G\.jokers\.cards do
'''
position = "at"
payload = '''
--calculate the hand effects
local effects = {eval_card(scoring_hand[i], {cardarea = G.play, full_hand = G.play.cards, scoring_hand = scoring_hand, poker_hand = text})}
for k=1, #G.jokers.cards do

    -- EZSC START: A
    EzSc_Effects = nil
    print("EzSc_Effects is nil")
    -- EZSC END: A  
'''
overwrite = true
line_prepend = '$indent'

Now it's this

#

basically I try to rewrite the whole block adding the EZSC block under it

#

still, doesn't work

#

@wintry solar @languid mirage i'm losing more braincells than i can afford

rough furnace
#

Is your patch actually applying?

brisk pond
#

i don't think, i don't know how to verify

languid mirage
#

check lovely console

brisk pond
#

the print function that I implemented didn't work

languid mirage
#

it should say if it does not

brisk pond
rough furnace
#

Check the dumps

brisk pond
#

said that it didn't find matches

brisk pond
languid mirage
#

this should probably be here

rough furnace
#

Also the first line may need to be on the same line as the '''

#

Can't recall

languid mirage
#

you forgot to add space

#

its \t

#

\t AND space

rough furnace
#

Actuslly shouldn't \s also match tab?

languid mirage
tepid crow
languid mirage
#

alright

#

actually

#

its worse?

tepid crow
#

it's broader, but shouldn't be worse?

languid mirage
#

its grabbing the lines before current

rough furnace
#

\s might also match \n

brisk pond
tepid crow
brisk pond
#

now it's this

[[patches]] #   EZSC A
[patches.regex]
target = "functions/state_events.lua"
pattern = '''
(?<indent>[\t ])*\-\-calculate the hand effects
[\t ]*local effects \= \{eval_card\(scoring_hand\[i\], \{cardarea \= G\.play, full_hand \= G\.play\.cards, scoring_hand \= scoring_hand, poker_hand \= text\}\)\}
[\t ]*for k\=1, \#G\.jokers\.cards do'''
position = "at"
payload = '''
--calculate the hand effects
local effects = {eval_card(scoring_hand[i], {cardarea = G.play, full_hand = G.play.cards, scoring_hand = scoring_hand, poker_hand = text})}
for k=1, #G.jokers.cards do

    -- EZSC START: A
    EzSc_Effects = nil
    print("EzSc_Effects is nil")
    -- EZSC END: A  
'''
overwrite = true
line_prepend = '$indent'

still no print

rough furnace
#

Does it match?

brisk pond
#

WARN - [♥] Unknown key patches.0.?.overwrite found in patch file at "C:\Users\cerlo\AppData\Roaming\Balatro\Mods\Easier-Scoring\lovely.toml", ignoring it

#

why is ignored?

rough furnace
#

Overwrite doesn't do anything

#

Check the dumps folder and see if it succesfully patched it

brisk pond
#

where is it?

languid mirage
#

mods/lovely

brisk pond
#

maybe the indentation is required?

rough furnace
#

Nah this isn't python

brisk pond
#

I finally found the solution

#

i am not telling you because you are gonna unalive me

#

or worse, kick me from the server

rough furnace
#

I have no stake in this game or mod perms

brisk pond
#

ok then

#

I injected it in the for k=i, #joker_cards do and I was testing it without any jokers in the jokers slot

brisk pond
#

thanks to you all ❤️

solid salmon
#

how do i make something change a jokers edition

#

nvm

mellow sable
#

be scared...

#

still waiting..

#

Waited like 10 mins before exiting the game, no luck balatrojoker

solemn coral
#

How do I force a card's tooltip to update?

#

This card gives x1.7 Mult now (I'm doing a Hiker-type effect on it) but apparently just changing the value of card.ability.h_x_mult doesn't also change the value of the localized text

surreal marsh
#

the tooltip is based on value in card.config.center

royal ether
#

iirc autumn made something a while back that does that but dunno where they're at now

surreal marsh
# solemn coral

I copy card.config.center (so other cards and the default value aren't changed) and then modify its value. Remember to update value in center when loading a game since it will be the default one in G.P_CENTERS.

solemn coral
#

Does card.config.center store a complete copy of an element in G.P_CENTERS, or just a reference to it?

surreal marsh
#

reference

solemn coral
#

Can I get it to point to another table that persists between game loads, like if I made something in G.GAME?

surreal marsh
#

i think it's fine

solemn coral
#

All right, thanks! I'll give that a try.

#

Well that's not quite right.

#

Here's the code I was using. Theoretically this should work, so I'm starting to think the problem might be that the tooltip function only looks G.P_CENTERS to what to write?

#
local Card_get_h_x_mult = Card.get_chip_h_x_mult
function Card.get_chip_h_x_mult(self)
    local retVal = Card_get_h_x_mult(self)
    if retVal and retVal > 0 then
        self.ability.h_x_mult = self.ability.h_x_mult + 0.1
        if self.config.center == G.P_CENTERS.m_steel then
            G.GAME.twewy_lapinSpecialCenters = G.GAME.twewy_lapinSpecialCenters or {}
            local newCenter = {max = 500, order = 6, name = "Steel Card", set = "Enhanced", pos = {x=2,y=1}, effect = "Steel Card", label = "Steel Card", config = {h_x_mult = 1.5}}
            self.config.center = newCenter
            table.insert(G.GAME.twewy_lapinSpecialCenters, newCenter)
        end
        self.config.center.config.h_x_mult = self.ability.h_x_mult
    end
    return retVal
end
#

If someone could point me to where it actually draws that tooltip I'd love to take a closer look at it.

sly forge
#

I think you can actually take ownership of m_steel and use card.ability.h_x_mult in loc_vars

solemn coral
#

That's probably easier than creating these fake centers, yeah

#

...or maybe not

#

generate_card_ui only gets passed the card's center, not the card itself, so I can't actually look at what what the card values are

sly forge
#

actually it gets passed the card (it's smuggled in by SMODS)

#

see the post-lovely code

solemn coral
#

Oh so it does! Wonderful!

#

If this works it'll be the easiest Lovely patch I've ever made

#

Well, it didn't work.

#

Oh that's literally just because I was trying to patch the wrong file

#

Okay, now it's definetely not working

sly forge
#

oh, it didn't work? oh no

solemn coral
#

🎉

#

It was crashing, but that was because it couldn't find a card when hovering over the Chariot tarot.

#

I just added an if statement to use the regular localization if it can't find the card

#
pattern = '''elseif _c.effect == 'Steel Card' then loc_vars = {_c.config.h_x_mult}'''
position = "at"
payload = '''
elseif _c.effect == 'Steel Card' then 
    if card then
        loc_vars = {card.ability.h_x_mult}
    else
        loc_vars = {_c.config.h_x_mult}
    end
'''
match_indent = false```
#

Still a really easy Lovely patch, all things considered

#

Thanks for the help!

crisp coral
#

oo i need that for amplified

zealous glen
#

What do you think?

maiden phoenix
#

Iron deficiency

zealous glen
#

Very deficient since it's gold

maiden phoenix
#

Wow

zealous glen
#

Actually the reason the gold is black is iron oxide

#

so I guess it's not deficient?

maiden phoenix
#

What's this boss effect?

zealous glen
#

Currently Base Chips can't be greater than 50% money, but it might be too weak

brisk pond
#

what's the difference between chips and chip_mod, mult and mult_mod, dollars and p_dollars?

zealous glen
#

I could change it to Chips

brisk pond
#

the values that jokers return

#

search for If mult added, do mult add event and add the mult to the total and you find the chunk i'm talking about

zealous glen
#

I think _mod is granted by the Joker while the other is by the card

#

Likewise p_ is by the card

crisp coral
zealous glen
#

Myst what do you think of the Blind icon above?

crisp coral
#

looks wrong

#

idk what is wrong but it looks wrong

zealous glen
#

I could just remove it completely like Violet Vessel

rough furnace
#

The bar's perspective feels off

#

Like maybe the right side is too steep compared to the left

#

Also gm chat

zealous glen
#

The right side?

night pagoda
#

I feel like I'm doing something stupid; Is it possible to inject with lovely into steamodded's changes? I feel like I could do it before but can't get it to work now

#

(as in: injecting into steamodded's injection)

languid mirage
night pagoda
#

oh, nope! forgot about that

#

is bigger priority = later or it's the other way around?

languid mirage
#

No idea tbh

#

Never had to use it

night pagoda
#

okay, will try anyways, ty!

fallen tendon
#

how would one add a rank?

#

ik its smods.rank but looking at the steamodded files i cant really decipher how you would actually do that

night pagoda
languid mirage
#

U means unsigned

#

I assume

night pagoda
#

I have no idea what to do

languid mirage
#

Yeah

shell timber
#

rust jumpscare

languid mirage
#

Maybe try changing folder name to be before / after steamodded. I don't know if that will do anything but it might affect the order of the patch

shell timber
#

yeah usize could maybe be changed to isize?

languid mirage
#

I assume comment that says does nothing means both dump lua and priortiy do nothing

#

But might be wrong Ig

night pagoda
#

Changed folder name, nothing

languid mirage
#

Kinda weird that it gets usize somewhere, but I never worked with rust so

night pagoda
#

okay because nothing works I'll ignore this thing for now,
Is there a thing in steamodded that lets to change joker sizes (like photo, square and half joker do)?

frosty dock
#

API functions you need to modify for it are provided, but there's no built-in way to do it (yet)

night pagoda
#

oh okay, thanks!

nocturne garnet
#

how would i use decks in steamodded 1.0.0

#

like how would i make something trigger when defeating a blind as a specific deck

solid salmon
#

I think i should make mod something like jestobiology

frosty dock
nocturne garnet
#

i do not fully understand how these things work

#

and i still dont know how i got this far without knowing

royal ether
#

the vanilla function is an example, id imagine

nocturne garnet
#

somewhat

#

kind of

#

maybe

nocturne garnet
#

its the exact same as anaglyph deck

#

without it it works (but with every context)

sonic mortar
#

anaglyph deck doesn't actually work, from my experience

nocturne garnet
#

it WHAT

sonic mortar
#

seriously, give it a try.

nocturne garnet
#

wait seriously??

sonic mortar
#

yes, seriously, give it a try. i swear, it doesn't work, it's never created a double tag for me

nocturne garnet
#

if args.context = 'eval' doesnt work then what does

sonic mortar
#

i don't know

hallow forge
#

config = {type = 'immediate'}

solid salmon
hallow forge
#

do those files return anything?

nocturne garnet
hallow forge
#

put it in your SMODS.Tag

#

ot for whatever type you are trying to use

#

so 'eval'

solid salmon
nocturne garnet
hallow forge
#

it makes it work, at least when i did it

brisk pond
#

do I need to but if not self.debuff then in my joker's calculate?

crisp coral
#

no

nocturne garnet
hallow forge
#

did you try the thing i suggested?

nocturne garnet
#

i did

#

what does it even do

hallow forge
#

idk soemone told me to do and it fixed my tag

nocturne garnet
#

im making a deck

hallow forge
#

oh

nocturne garnet
#

for some reason args is just a blank table

#

{}

#

nothing inside of it

#

i tried checking length of args

#

0

languid mirage
fallen tendon
#

ive tried adding new eval_card and calculate_joker instances with different contexts

#

but every time i try to add them, they seem to not work

#

ive been trying to add this calculate_joker call for when a debuffed card scores

#

(rest of the contexts)

#

it just doesnt trigger, ever

#

is there something im missing about patching in custom eval_card triggers?

night pagoda
#

How do I do custom info_queue?

#

(putting my own text to it)

frosty dock
#

make a loc description for it in Other

#

then pass {set='Other',key='whatever',vars = {'if you need them'}} into info_queue

willow quiver
#
if context.end_of_round then
...
            for i, planet in ipairs(success_planets) do
                -- need this bc OG doesn't accomodate for transforming planets
                planet.config.card = {}
                play_sound('card1')
                planet:flip()
                planet:set_ability(G.P_CENTERS.c_black_hole)
                planet:flip()

trying to make some ability that transforms held planets to black holes. This works, but all planets flip simultaneously. How do I get them to flip sequentially? I've tried playing around with events and looking at Sigil, but I clearly have no idea what I'm doing because my experimental flailing around just causes infinite events and other problems

solid salmon
mellow sable
#

The file path in your code isn’t the same as the location of the actual files

#

This also happens if you have syntax errors in the files you’re loading, so Jokers might have a syntax error

solid salmon
hallow forge
#

pretty sure those files have to return something, correct me if im wrong

solid salmon
#

Im trying to change the mod name

languid mirage
#

love getting stuck at a problem just to realise I was updating code in the game's source and not my lovely patch

#

anyways I guess I just need to figure out how to sort this balatrojoker

solid salmon
#

i fixed it

night pagoda
#

I'm trying to pass vars to the deck, but it says that the vars are nil, am I doing something wrong?

#

(the numbers are temporary; I will replace them with config values later)

frosty dock
#

loc_vars somehow went unsupported for decks

night pagoda
#

ohh

edgy reef
#

I know that there’s a few places that loc_vars were unused.

#

Mostly game objects in collections iirc

#

Probably should look through them

frosty dock
#

I'll have a look and see where else loc_vars support is missing

gilded narwhal
#

Hey guys is coding a consumable easier or harder than coding a joker

frosty dock
#

all other centers should be implemented as cards at least, so that part is standardized

frosty dock
night pagoda
frosty dock
#

seems like seals are also missing

night pagoda
#

at first I tried to put just a table like I did in the info_queue (it looks like anaglyph deck does that kind of thing), but it crashed. now I'm doing this with localize{} but it gives ERROR

frosty dock
#

vars go in a vars table inside of what you return from loc_vars, for consistency

night pagoda
#

this is what I am doing

#

oh, figured it out! But how do I make it hoverable?

frosty dock
#

oh, that thing

#

you need to actually do that in the description text

edgy reef
#

I don’t think we’ve looked into that for Steamodded, it’s possible it’s missing stuff.

frosty dock
#

{T:key} is how vanilla decks are doing it

night pagoda
#

ah

#

how do I check which key to use?

#

I mean, should the key exist only in certain part of dictionary?

frosty dock
#

I'd have to check the implementation, but I think a center with that key must exist

night pagoda
#

I believe I put my localization into descriptions->other, but it doesn't seem to want to get descriptions from that place

#

even vanilla ones

frosty dock
#

actually it has to draw from G.P_CENTERS, otherwise it wouldn't know which category to look in

night pagoda
#

so I can't just make my own description here?

#

(without relation to some object)

frosty dock
#

that does seem to be the case

night pagoda
#

oof

#

I don't even know if I want to hijack other dictionary place just for that

solid salmon
#

hey how do i make the 1 in blah blah blah green?

#

is it just c:green

fallen tendon
#

{c:green}1 in #{}

frosty dock
#

more like {C:green}#1# in #2#{}

solid salmon
#

it's 1 in 7

#

im making jonklers

#

(hint 99% quit before they hit big)

royal ether
#

you have no context check

#

if its that error in state events, thats almost always the case

solid salmon
#

oh

mellow sable
#

You should also give it a chance to create a jolly joker

solid salmon
#

why?

mellow sable
#

Cryptid reference

solid salmon
#

...

mellow sable
#

also why hardcode the probability :(

royal ether
solid salmon
crisp elbow
#

Would that not work with oops all 6's then

mellow sable
#

Yeah but you can just put the 7 in the config as a variable

mellow sable
crisp elbow
#

True...

solid salmon
#

then how would i make it create a jolly joker?

#

also i thought only the one had to be softcoded

mellow sable
#

Good practice for the 7 as well

mellow sable
solid salmon
#

im not looking at something that crashes my game

mellow sable
#

Why does it crash your game?

crisp elbow
#

💀

solid salmon
hallow forge
#

user error

mellow sable
#

local card = create_card('Joker', G.jokers, nil, nil, nil, nil, 'j_jolly')
card:add_to_deck()
G.jokers:emplace(card)
return {completed=true}

#

Ok here’s code from Cryptid that does the thing

solid salmon
#

thx

sonic mortar
solid salmon
mellow sable
#

If you want the joker to do both things if you hit the 1/7 then yes (before your return statement, and remove the return statement in the code I gave you)

languid mirage
solid salmon
languid mirage
#

Also I though it would be a good addition to Incantation (that's why I left a message there as well)

#

Tho tbf I have no clue how suit mods work and I have a feeling that my implementation might break/clash with some

#

Since I have to replace a lot of code in deck view

frosty dock
#

view deck is fully replaced by steamodded

#

you should be good if you base your implementation on that one

solid salmon
#

{completed=true} is apperantly a nil value

sonic mortar
languid mirage
solid salmon
#

oh oh

frosty dock
#

at this point the function in steamodded is fully incompatible with the original

languid mirage
#

it's also a huge optimisation mod, as deck view is instant with 500+ cards

sonic mortar
languid mirage
#

I had fps randomly die on me when I was testing card stacker

#

But it got fixed after game restart

#

It's pretty weird

sonic mortar
#

i was right

languid mirage
#

Ye I didn't really try to optimize the game, just limit amount of stuff being rendered and I didn't like gigantic card pile

sonic mortar
#

neither did i, and i praise that

languid mirage
#

Not sure what goes behind the scenes to cause that much lag

sonic mortar
#

i don't know, there's probably update() code that's being run on the entire deck or something

#

though i feel like if that were the case, the game would run a lot more slower than the current ~36FPS i'm getting right now

#

so, beats me

languid mirage
#

sometimes it feels like there's a memory leak or something - when I was going for naneinf in vanilla, after getting high scores, the game would become super choppy with only like 200+ cards in deck. then after game restart on next day it's back to normal

pretty weird behaviour

gilded narwhal
#

Hey so is it a good idea to directly base the mod I'm gonna make on codex arcanum

#

Just like reuse the code

wild gyro
#

no because codex is 0.9.8 at the moment

gilded narwhal
#

Alright I'll just do more concepting for now

gilded narwhal
#

Hey what's more "cookie"

solid salmon
#

the first one

#

how do i make the jolly joker have an edition and how do i make this end?

frosty dock
#

card:set_edition(edition)

solid salmon
#

and how do i make it so that i don't accidently get more than one?

solid salmon
lusty epoch
gilded narwhal
#

Hey guys what's the balatro font

#

The one used on tarots and planets and stuff

#

Actuall I can just look at it nvm

gilded narwhal
#

Thank you

#

Thoughts on cookie card template?

solid salmon
#

Nice

gilded narwhal
#

I hope those colors are good

solid salmon
#

yep

languid mirage
solid salmon
#

did i art

languid mirage
#

so I am trying to apply this patch to this loop

#

but I get this crash

#

I'm kinda confused because it should create the suits_sorted

#

nvm, it does not apply for some reason? checked in the dump folder, forgot it existed

#

both regex patches failed

#

but non regex applied

#

I'm so confused

#

because both regexps are valid

#

on the main.lua from dump

#

patches are in the same file

#

are the patches not applying in the same order they're specified? the only thing I'd understand is if all regex patches are applied before copy patch from steamodded

solid salmon
#

how do i make it so it only creates one jolly joker?

mellow sable
#

Put the jolly joker stuff inside if pseudorandom

#

And check for context.joker_main

solid salmon
languid mirage
#

so I have 0 ideas why it won't work 😭

mellow sable
#

Forgot to move the text box but it should go where that top arrow is pointing at

solid salmon
#

so i add context.joker_main

#

to that area?

mellow sable
#

Put it before

#

So the entire line should be if context.joker_main and context.cardarea == …

solid salmon
#

ok

mellow sable
#

also iirc you have to do card:set_edition({holo = true}) to make a joker Holographic

solid salmon
#

aijfifoidsij

crisp coral
#

any reason why specifically Cryptid jokers are immune to my shader

mellow sable
#

idk

#

It’s an issue with Cryptid’s glitched shader too

#

Most of them are resistant to it

mellow sable
crisp coral
#

i've noticed that only jimball gets affected

#

huh. strange

mellow sable
#

Yeah only like 1 or 2 of them worked for some reason, Jimball included

#

And of Cryptid’s editions it only affected Glitched

#

Is there something different about… Jimball?

crisp coral
#

jimball too peak

mellow sable
#

Only thing pretty unique about it is that its extra value is a number and not a table

#

And also the special resizing thing and animation/music

edgy reef
#

Maybe animated sprites don’t respond well to shaders?

mellow sable
#

It’s the one that did

#

I feel like it’s some Steamodded issue but idk what about Cryptid jokers causes shader API to freak out a bit

#

And only for certain aspects of shaders

solid salmon
#

now how do i stop it from going over the card limit

mellow sable
#

Check if the #G.jokers.cards equals G.jokers.config.card_limit

solid salmon
mellow sable
#

If statement around these lines

solid salmon
#

what if i just put it below emplace?

mellow sable
#

That would just make it not give you the mult

solid salmon
#

so i put above local card

mellow sable
#

It’ll be an if statement so all of the highlighted code should go inside the if statement

solid salmon
mellow sable
#

jokers.cards not jokers_cards

solid salmon
#

oh

fallen tendon
#

Oh looks like the daily episode of make ai gen gokus mod for him

solid salmon
#

...

#

mathisfun wanted me to make the joker make jolly jokers

#

i originally wanted it to give 25 mult and that's it

#

besides I can do some stuff independently

mellow sable
#

Oh you need a # in front

#

#G.jokers.cards

gilded narwhal
#

Thoughts?

hallow forge
#

it's off-center

gilded narwhal
#

Nope

hallow forge
#

what do you mean "Nope"

gilded narwhal
#

I put the wrong file lmao

vivid eagle
#

now it is centered
maybe you can try nudging it up a bit?

gilded narwhal
#

Is the shading alright?

hallow forge
#

i'd say so

vivid eagle
#

yeah i think its fine

sonic mortar
gilded narwhal
#

Yes it is

sonic mortar
#

a delicious cuisine

languid mirage
#

but for some reason...

languid mirage
#

so I am losing my mind over this

sly forge
#

it's probably because your regex is applied first. unfortunately, lovely doesn't currently support priority

#

I'm not sure what to say about patching something that Steamodded has already patched. it's just not really possible now. maybe try renaming your mod to something else as a stopgap

languid mirage
#

see the issue is

#

it's not applied first

#

because pattern patches work from this exact same file

#

that's why there's an error in the first place

languid mirage
#

found a silly bug with lovely

zealous glen
#

@gaunt thistle

languid mirage
#

dw I created an issue

sly forge
#

Regex patches are supposed to insert the payload directly at the exact point you specify (so, right before the indent)

#

The "correct" result would actually be ```
-- Pattern patch test
-- Regex patch test _n, _a, ......

#

regex patches are also weird with newlines

#

not enough people and time to fix lovely, unfortunately

languid mirage
#

with simple logging

#

something really weird is happening there, and I have no clue why 😭

#

okay so applying regex patch over a regex patch seems to work?

wintry solar
frosty dock
#

I'm genuinely confused

#

taking ownership of specifically blinds makes them auto-discovered

languid mirage
sly forge
#

hey, sorry I was under the misconception you were using beta6

#

really sorry for the extended miscommunication here.

#

if you built the newest branch directly then it's my code which breaks somehow

languid mirage
#

newest branch of steamodded?

#

or lovely

sly forge
#

lovely

languid mirage
#

yea it's latest branch of lovely

#

I just fetched main and built it

sly forge
#

I just assumed because I haven't seen anyone in this thread go and build lovely themselves

languid mirage
#

well I only built it to test with logs

#

before that I was trying with lovely from whatever version was on releases page

sly forge
#

there are behavioral changes to patch order in beta7. your original patches still break, right?

languid mirage
#

yep

sly forge
#

in regex testing, did you use rust-flavored regex?

#

I see escaped commas in your regex

languid mirage
#

you can see both regex patches there

sly forge
#

I'm at my wit's end here too. can you still try unescaping your commas?

#

gotta cover all bases

languid mirage
#

still crashes

#

from the lovely logs

sly forge
#

ok, thought of another method: bisection. start deleting half the regex at a time and see if it still results in no matches

languid mirage
#

good idea

#

ok game crashed before it even got to splash screen

#

soo

#

it does apply

#

I removed this part \n[\t ]*table\.insert\(SUITS\[v\.base\.suit\], v\)

#

maybe new line is the problem

#

like the new line from another file

#

is not \n

#

but like \n\r

#

or something

#

omg yes

#

\r\n

#

instead of \n

#

fixes it

#

well so we either convert \r\n in all steamodded files to \n

#

or I have to use \r\n everywhere I patch steamodded files

#

and do one big inline regex

#

😵‍💫

#

ok this would also work

#

my brain is melting but at least it works

sly forge
languid mirage
#

I would assume it is

sly forge
#

I'd thought the line endings were fixed, there's a git file for it

languid mirage
#

file is overrides.lua

sly forge
#

in fact, the problem might be when it's checked out on Windows- git by default uses the line endings of the platform you're on when checking out, I think

#

check the line endings in VSCode?

nocturne garnet
#

because i tried using trigger_effect

#

args is a blank array with nothing in it for some reason so i cant use it

languid mirage
nocturne garnet
#

i just want to make something happen when a blind is defeated

sly forge
#

pushed a new .gitattributes file

#

see if this helps?

languid mirage
#

yea give me a sec

crisp coral
#

if i had a nickel for every time steamodded had an issue with CLRF, i would have two nickels

languid mirage
#

yay it's LF now

#

and it works without \r?

#

cool

nocturne garnet
#

why the hell does this work

crisp coral
#

that's basically G.GAME.chips > G.GAME.blind.chips

#

am i missing some context

languid mirage
#

It indeed is

languid mirage
#

Maybe they managed to find a solution, I wasn't paying too much attention

nocturne garnet
languid mirage
#

Ah

nocturne garnet
#

problem:

#

i am using talisman

languid mirage
#

Lol

nocturne garnet
#

which means G.GAME.chips is a table

#

or smth idk

crisp coral
#

to_big

nocturne garnet
#

doesnt matter now!!

#

it works!!

crisp coral
#

if it works it works

solid salmon
wintry solar
#

if #G.jokers.cards …

#

Also eww using tables in set edition 🤮

solemn coral
#

That's more or less how the base game does set edition no?

solid salmon
#

now it's not making any jokers

night pagoda
#

is there any documentation/examples on how to do the new card textures/reskins thing?

solid salmon
#

imma stay with the original concept

#

it works

wintry solar
wintry solar
night pagoda
#

ah okay, thanks!

solid salmon
#

is there a chip and money version of mult_mod

lyric blade
#

chip_mod

solid salmon
#

and what about the key a_

lyric blade
#

To change amount of money you can use ease_dollars(*here amount of money you wanna add)

solid salmon
#

ok

lyric blade
solid salmon
#

no for the money

lyric blade
#

As I can see there is no a_dollars or something similar I guess

solid salmon
#

a_extra?

frosty dock
#

if you want a money message, Matador uses this

#

but you still have to call ease_dollars yourself

solid salmon
#

ok

wintry solar
#

you can also return p_dollars right?

#

or just dollars

#

or that might be on playing cards, I don't remember

frosty dock
#

that exists, I'm not exactly sure how/when it works though

lyric blade
#

Guys I have a small problem.
I want to open a random booster pack at the end of the shop. The opening of the booster pack works, but the timing is wrong.

Here the code

#

Any way to open the pack after the blinds pop up? Or just delay the code a bit?

frosty dock
#

I think the game just doesn't like that timing a whole lot

#

maybe look at how tags that open a pack work

#

also you shouldn't use math.random directly, results will be inconsistent on the same seed

#

use pseudorandom_element instead

lyric blade
#

alright, thanks :D

solid salmon
#

how do i make a card create a spectral

crisp coral
night pagoda
#

Does check_for_unlock even work now? Getting zero reaction from the game

#

nvm, I think I know why I'm getting zero reaction

frosty dock
#

💀 what

night pagoda
#

oh no, no I don't

#

I'm testing this by going into any challenge and then pressing the "Win this run" button

#

yet I don't have any messages

nocturne garnet
#

is there a way to make a joker that does not appear regularly

night pagoda
night pagoda
lyric blade
languid mirage
#

does anyone if there's a way to remove space between 2 text nodes in UIBox?

#

kinda just want to test how it looks but the only way to do it I can find requires a lot of effort (with localize)

zealous glen
#

Maybe a column node?

#

Alternative I think there are some padding options

#

But maybe those are for row and column nodes

languid mirage
#

I have no idea how

#

is there an example I could look at

#

cuz searching for rownode or row_node returns nothing

wintry solar
#

rows are G.UIT.R

zealous glen
#

You can look at tooltips

#

Each line of a tooltip is a row

#

I think the boxes are rows too… maybe columns

#

Text backgrounds (XMult) are columns I think

languid mirage
#

aha I see

#

n is for node and .R is for row

night pagoda
#

Okay I tried to see what the hell happens with check_for_unlock, and it doesn't seem to ever work in challanges (while working just fine in normal decks)

#

Just put this message - never got any messages while playing a challenge deck, but got a lot of them while playing a regular one

frosty dock
#

oh

#

unlocks are disabled in challenges

#

iirc

languid mirage
#

ye

night pagoda
#

but there's a 'win_challenge' argument???

nocturne garnet
#

i wonder if its possible to create a joker with another joker

night pagoda
nocturne garnet
#

i assume you couldnt but it would be cool

languid mirage
#

like riff raff?

#

pretty sure that's possible 🤔

nocturne garnet
#

create a new joker

languid mirage
#

ah I see

night pagoda
#

super confused

languid mirage
#

you can simply search win_challenge in source code to see where it's being called from

#

so it shouldn't be completely obsolete it seems like

night pagoda
#

yep I mean I see it, but why would it exist if check_for_unlock is disabled during that???

#

I got this arg type from this in the first place

languid mirage
#

win_challenge is the only arg type that is allowed in challenges

night pagoda
#

yeah, yet it doesn't seem to work

#

in the smods joker at least

languid mirage
#

I'm sure SMods code is after that check

#

you can confirm in lovely/dump/functions/common_events.lua

frosty dock
#

yeah it is

night pagoda
#

ohhh yea I see that now

#

thanks!

#

now I need to think of how I can bypass that

languid mirage
#

lovely patches balatrojoker

night pagoda
#

of course

#

yet still I need to figure out what exactly do I need

#

removing that challenge check doesn't seem like a good idea

night pagoda
#

finally, talisman jokers

#

can't wait for morespeeds joker

nocturne garnet
#

hold on does the joker even work

#

HE DOES INFACT WORK

#

apparently jokers of the same key dont count as different jokers maybe??

#

also i cant place sprites on them i think

frosty dock
nocturne garnet
crisp coral
#

why are they all soul sprites

nocturne garnet
#

idfk

#

ignore the video in the background oops

crisp coral
#

is your atlas even correct

#

it needs the prefix

night pagoda
#

What do I need to do in order to unlock card?

#

unlock_card() doesn't seem to work

nocturne garnet
#

what the

crisp coral
#

please don't ping, thanks

nocturne garnet
#

soz

frosty dock
night pagoda
#

tried both, but no luck

frosty dock
#

💀

night pagoda
#

I made an injection

frosty dock
#

yeah i realized

night pagoda
#

so it works specifically for this

frosty dock
#

not sure what's not working then

night pagoda
#

the message is printed yet both unlock and return do not work

#

I'll try just returning true

#

without condition

#

it crashed but after restart it seems to be unlocked

night pagoda
#

I heard unlock sound while it was loading, and after that it crashed*

#

yeah I get a crash everytime it is unlocked

#

(tried resetting profile)

solid salmon
#

why the heck does this look like a creature

brisk quartz
#

it looks like knuckles

crisp coral
#

you don't need to send like 3 images of you changing your art slightly in a row

solid salmon
#

sorry

zealous glen
#

I thought it was funny

nocturne garnet
zealous glen
#

But do avoid doing it

#

Is it loc_txt?

nocturne garnet
#

yes

#

steamodded 1.0.0 btw

zealous glen
zealous glen
nocturne garnet
zealous glen
#

I know what you put

#

I’m asking what it should be

nocturne garnet
#

wym

zealous glen
#

Check the wiki

nocturne garnet
#

it should be loc_txt?

nocturne garnet
zealous glen
#

I don’t think so but as I said I currently use a dedicated localization file

#

Okay the wiki does use loc_txt

zealous glen
#

That would be my guess

nocturne garnet
#

wait you may be right

solid salmon
#

when I'm making joker art do i have to use the same joker thing or can i create my own format?

nocturne garnet
zealous glen
solid salmon
#

...

night pagoda
# night pagoda

okay I keep getting this crash at seemingly random times (I can guarantee it happens when I unlock first ever vanilla jokers by resetting profile and winning the run on the red deck, but other jokers unlock just fine), how can I fix it or maybe it's steamodded's thing?

#

Tried without mods, also happens without any mods

#

(also why the crash log shows disabled mods?)

gilded narwhal
#

Balanced?

vivid eagle
#

sounds like arsenic from codex arcanum

#

but yeah, that is pretty balanced

gilded narwhal
#

Yeah cookies are basically just alchemical cards

vivid eagle
#

alchemy cards but edible
i dig it

shell timber
#

i mean

#

you could eat arsenic

#

balatro pro tip

gilded narwhal
#

Cookies are done

#

(milk is a sellable joker that upgrades as you score higher hands)

#

Also here's golden cookie effects

maiden phoenix
#

If I had a nickel for every mod I know that adds Milk in it I'd have 3

#

Cool theme tho

hallow forge
#

Shimmer and getting Black Hole is like Soul and getting Chicot.

#

except you don't get $10

gilded narwhal
#

Just don't open a planet pack duh

gilded narwhal
hallow forge
#

spectral pack i mean

maiden phoenix
hallow forge
#

also what are the exceptions of Eternal Taste?

gilded narwhal
#

Walnut, Dark-Chocolate, milk

#

Also idk how jimbos garden works yet but here's something that's also in cookie clicker

hallow forge
#

has coding for this begun yet?

gilded narwhal
#

Nuh uh

#

Art has tho

nocturne garnet
gilded narwhal
#

Mhm

maiden phoenix
maiden phoenix
#

Yes

zealous glen
#

Speaking of which I should finish updating it to 1.0 then finally release it for beta @_@

river panther
#

I realised that I have been coding and testing my mod on steammodded 0.9.8. Is the standard now steammodded 1.0 and if so will it be a seamless transition or will i need to change things

maiden phoenix
#

Theres a 0.9.8 compat thing for 1.0.0 but its not perfect, it depends how big your mod is

river panther
#

Not that big it adds 8 jokers right now. Around 400 lines

maiden phoenix
#

Then it should be fine, tho if you only got 8 jokers you could transition rn to make it easier sooner.

river panther
#

Ah okay

fallen tendon
#

1.0.0 api is like 10 times easier and simpler

#

Every game object is just a big table

gilded narwhal
gilded narwhal
#

The cookie should have the soul effect right

#

Because it has that same rarity

night pagoda
#

locked decks in the steamodded are kinda awesome

solemn coral
#

Having difficulty finding something in the base game code - does anyone know where the after hand played step is located?

#

Trying to hook some code in there to make this deck work

wintry solar
#

it'll be down near the bottom of evaluate_play if I understand what you're looking for

fallen tendon
solemn coral
#

Aha, that looks like the place. Thank you!

river panther
#

Is there a context for playing card removed?

#

Trying to make a joker with a trigger whenever a playing card is destroyed

maiden phoenix
zealous glen
hallow forge
#

y

solemn coral
#

👍

gilded narwhal
#

Okay so I'm just gonna yoink the code for alchemical cards and then use it for my own purpose

#

Is that fine

maiden phoenix
#

Depends what you're gonna make with it

gilded narwhal
#

Just a different mod

#

Like I'm gonna change a bunch of stuff but like the basic structure of the UI and api is gonna be the same

wintry solar
#

which smods version are you using?

gilded narwhal
#

1.0.0

#

I have a version of codex that works on 1.0.0 tho

wintry solar
#

but why would you replicate a 0.9.8 version that had to write a load of stuff itself instead of using the 1.0 api?

gilded narwhal
#

Good question

#

Nvm then

gilded narwhal
wild gyro
#

omg cookie clicker mod

hallow forge
#

extremely reflective cookie

gilded narwhal
hallow forge
#

that last cookie seems weirdly flavored

gilded narwhal
#

Correct

austere schooner
#

isn't it Wrath ingame and not Wraith

gilded narwhal
#

:(

#

Oh well

hallow forge
#

u should fix that

gilded narwhal
tepid crow
#

using steamodded 1.0.0 pre-release/alpha/etc, are atlas for decks/backs bugged or am I not doing something correctly?

tepid crow
#

holy shit I'm stupid nevermind
probably should've done more research on the optional pos argument

remote coral
nocturne garnet
zealous glen
nocturne garnet
frosty dock
#

you also need to call process_loc_text on each one as well as init_localization at the end

nocturne garnet
#

ohh

#

didnt realize you had to do both

#

i am dumb

wintry solar
#

Does anyone have any ideas for how I can control the sprite of a card without affecting other copies of it?

tepid crow
#

doesn't every node have a unique ID? maybe you can try something with that?

frosty dock
#

modify card.children.sprite or whatever Sprite object directly

maiden phoenix
#

Prob a dumb question im not on pc rn but is it possible to emplace a newly created Joker card at a specific index position?

crisp coral
#

cardarea emplace only has very front or very back

river panther
#

Having trouble porting my 0.9.8 mod over to 1.0.0. The mods I were using as a reference were in 0.9.8... Is this the direction the community is going?

#

Awesome balatro does not have many mods for 1.0.0

crisp coral
#

speaking of, should there be a more formal mod list that is not that repository's readme

maiden phoenix
wintry solar
#

we can probably change that, the location being front just sets it to insert at 1, it could easily be passed a number to insert at

crisp coral
brisk pond
#

to get current mult and hand_chips in my calculation, do I use G.GAME.mult and G.GAME.hand_chips? or are they just not global variables?

wintry solar
#

pretty sure they're local to the evaluate_play function

brisk pond
#

I'm modifying calculate_joker() and I'd like to use them

frosty dock
#

they're globals

brisk pond
#

thanks both

wintry solar
#

I stand corrected

zealous glen
#

Do you know if it's possible to include Blind tooltips in a Joker's info_queue?

frosty dock
#

I'm not sure anyone has tried

#

doesn't work out of the box at best

zealous glen
#

🤔

maiden phoenix
# zealous glen How so?

Also not sure how it will look anim wise, tho iirc theres a Joker out here that swaps position, think it was Bunco

night pagoda
crisp elbow
#

Cassette tape one right?

night pagoda
#

joker knight

#

Cassette just switches its sprite, it doesn't move

maiden phoenix
#

I mean it's close enough no?

night pagoda
#

I mean you can probably look into base balatro's shuffle function that amber acorn uses

maiden phoenix
#

That's what I'm doing 👍

zealous glen
#

IIRC it moves everything to the leftmost position

crisp elbow
#

Oh Joker knight yeah

maiden phoenix
#

Sometimes breaking stuff is funny

hushed cradle
#

hi

#

ive got a joker that retriggers aces

#

when it says "again!"

#

its somewhere in the top left of the screen

#

instead of underneath the joker

#

does anyone know how i can fix that?

#

ill try get a ss

lusty epoch
hushed cradle
#

okay ty

#

yep that worked

#

thank you

royal ether
#

bald jimbo...

zealous glen
#

bimbo…

brisk pond
#

gentlepeople, I yet again need your help

brisk quartz
#

she could be trans 🤔

hushed cradle
#

thoughts?

#

lol

brisk pond
#

This is inside the calculate_joker() function

if context.cardarea == G.play then
  -- EZSC START 26
  if self.EzSc then
    if self.EzSc.aChips then
      self:juice_up(0.5,0.5)
      hand_chips = mod_chips(hand_chips + self.EzSc.aChips)
      update_hand_text({delay = 0}, {chips = hand_chips})
      EzSc_card_eval_status_text(context.other_card,'aChips',self.EzSc.aChips)
    end
    if self.EzSc.xChips then
      self:juice_up(0.5,0.5)
      hand_chips = mod_chips(hand_chips * self.EzSc.xChips)
      update_hand_text({delay = 0}, {chips = hand_chips})
      EzSc_card_eval_status_text(context.other_card,'xChips',self.EzSc.xChips)
    end
    if self.EzSc.aMult then
      self:juice_up(0.5,0.5)
      mult = mod_mult(mult + self.EzSc.aMult)
      update_hand_text({delay = 0}, {mult = mult})
      EzSc_card_eval_status_text(context.other_card,'aMult',self.EzSc.aMult)
    end
    if self.EzSc.xMult then
      self:juice_up(0.5,0.5)
      mult = mod_mult(mult * self.EzSc.xMult)
      update_hand_text({delay = 0}, {mult = mult})
      EzSc_card_eval_status_text(context.other_card,'xMult',self.EzSc.xMult)
    end
    if self.EzSc.dollars then
      local JUICE = self
      local MONEY = self.EzSc.dollars
      G.E_MANAGER:add_event(Event({
        func = function()
          JUICE:juice_up(0.5,0.5)
          ease_dollars(MONEY)
          EzSc_card_eval_status_text(context.other_card, 'dollars', MONEY,nil,nil,{delay = 0.45})
          return true
        end}))
    end
  end
  -- EZSC END 26
  if self.ability.name == 'Hiker' then
    ...
#

I tried different times on how to make the Joker juice up, but I always get the timing wrong

#

for all the other contexts it was easier

#

This is the Joker

calculate = function(self,card,context)
        if context.individual and context.cardarea == G.play then
            aChips(30,card,context)
            xChips(2,card,context)
            aMult(8,card,context)
            xMult(1.5,card,context)
            addMoney(10,card,context)
        end
    end,
royal ether
#

pretty vanillalike

brisk pond
zealous glen
brisk pond
royal ether
#

himbo

hushed cradle
royal ether
#

oh

hushed cradle
#

it matches the base games colours

royal ether
#

looks good then 👍

hushed cradle
#

thanks

#

im tryna make a bunch of stuff for the game thats still pretty vanilla

royal ether
#

lil jimbo is cute

hushed cradle
#

when i first resized him he was terrifying

brisk pond
royal ether
#

sry pinged

zealous glen
royal ether
#

im on mobile and i miss the button sometimes xdd

zealous glen
#

I had added some of them myself in 0.9.8

#

I need to port it to 1.0 and I was going to push to 1.0

brisk pond
#

I'll show you what I did

zealous glen
#

as well as more Hiker-like modifiers for cards

brisk pond
zealous glen
wintry solar
#

I think the answer is no

royal ether
#

pretty sure its no

royal ether
#

theyre making functions that make modifying chips/mult easier

zealous glen
#

I see

brisk pond
#

the mod creates a table in card.Ezsc which is filled with parameters you give using the functions like aChips() for adding chips

#
  1. You put if context.joker_main then aMult(3,card,context) end in you calculate function
  2. The aMult function creates card.Ezsc = {} and adds card.EzSc.card = card, card.EzSc.Mult = 3
  3. The calculate_joker function reads from self.EzSc and performs the operations
royal ether
#

thoughts on a mod based around playing 0 card hands

zealous glen
#

You just throw a brick instead of playing a card

brisk pond
#

which is usually easy because card_eval_status_text juices up the calling Joker

#

but when context.individual it is more difficult because card_eval... juices up the played card, so I don't know how to juice up the Joker

royal ether
#

why not put a juice_up in that function that juices up the joker

#

in context individual

brisk pond
#

you say to create a EzSc_card_eval_status_text(card,callingJoker) which juices up the callingJoker too?

#

and use that instead?

royal ether
#

you can just do juice_up(callingJoker) right before card_eval_status_text(), i think?

zealous glen
#

By the way have you seen SMODS.eval_this?

royal ether
#

might need to put it in an event

brisk pond
#

because the juicing doesn't time with the played card's juicing

#

because card_eval_status_text adds an Event for juicing

royal ether
#

try making the juice_up event trigger immediate and nonblocking

brisk pond
#

and pass self as callingJoker

maiden phoenix
#

Weird, I have a "card_eval_status_text" func spawning the text a bit lower than usual

river panther
#

Is the an updated list of mods for steammodded?

royal ether
#

dimserenes, probably

royal ether
royal ether
#

also thats a modding-chat question

#

so ask there next time 👍