#💻・modding-dev

1 messages · Page 288 of 1

modern kindle
#

Look at the wiki, there's also an example mods repo there you can learn off of

zealous glen
#

yes but not like this

#

there's also a "my first mod" tutorial

#

in the wiki

#

IIRC

signal oak
#

yes ive looked at that

#

and its missing things i dont know

rain slate
#

nope

modern kindle
#

There's also the bepis tutorial can you link that vic if you're on pc I'm on

hushed field
#

clean install doesn't do it for me either, Wheat

strong jacinth
#

How would i create a this similar to ortolabs index cards

zealous glen
#

that's not a method of adding badges in vanilla

rain slate
#

there's just... a badge by default

signal oak
#

the video that linked i was using before

rain slate
#

because it's a sticker

#

how do I change the text of the badge

scarlet spire
#

I mean, it works completely as intended, covers all cases of removing and adding consumables, and the issue I'm having is unrelated to how i've done it
I wouldn't call it the Best solution, but it works very well and doesn't pose a problem

signal oak
#

and stopped as soon as i got up to the coding bit, because it didnt even tell me where this bit hes coding in is that already has a template and all

zealous glen
#

in the same place vanilla badge names are defined

rain slate
#

so what's the key for that, then? It's not label or badge, so what

zealous glen
#

there are two of them

hushed field
#

in the localization file, you set it as a label, yeah, but I'm not sure how that translated from doing localization in file

zealous glen
#

You need a localization file AFAIK

rain slate
#

I think I found it

#

in misc

zealous glen
hushed field
#

@scarlet spire no, I'm wrong, it does do it in a clean install. I hadn't checked it out with turtlebean. That behaviour's either smods or vanilla, but it's not you.

zealous glen
rain slate
zealous glen
#

It should fit the calculate pipeline

scarlet spire
#

so even though it does exactly what it is supposed to with no issue, and poses no performance issues, it's still wrong because it doesn't fit the conventional method

zealous glen
#

It can pose performance issues with multiple copies of this effect or multiple consumeables

signal oak
#

watching a tutorial and it goes from "youve made a sprite" to "ok now code in this" where is this??? where is this file located and why does it have a template already there??? please can sm1 help without just linking to eighty sources that do not help

zealous glen
#

and it doesn't necessarily work with other mods because it doesn't fit the conventions

zealous glen
#

the text file goes into the mod's folder

#

also that tutorial looks like it's going to be outdated

signal oak
#

when hes typing it pops up with stuff like this and mine doesnt?? like huh

zealous glen
#

text software for coding

#

with the appropriate configuration

zealous glen
#

what does that mean

hushed field
#

if you're completely new to coding, I really advice checking out some short tutorials about them just so you're more clear on what comes from the IDE, and what's part of the game modding tutorial

radiant plank
#

could someone direct me to good info/documentation/examples for CardArea?

strong jacinth
zealous glen
radiant plank
#

thanks people

scarlet spire
hushed field
#

the base game tracks certain stats in the exact same way. I think it'll only start being an issue if your players love cryptid, performance-wise

zealous glen
#

I know it does, but it's stupid that the base game does that

#

it doesn't need to

scarlet spire
#

the only performance drop I got was from the actual card renderer, because it also happens with 50 of any other joker

zealous glen
#

And again the Joker effect has no reason to not fit into the standard calculation pipeline

red flower
#

it has a reason

#

its easier

scarlet spire
#

primarily, it functions exactly as I want it to and accounts for all edge cases without having to patch anything

scarlet spire
#

should probably be reported, then?

placid star
#

anyone know how to prevent '+nil mult' on jokers when bought and when viewed in collection as such

red flower
#

set a default value when it's nil

#

(your_value or 0) for example

hushed field
placid star
red flower
#

loc_vars

placid star
#

ahh okay ty

placid star
red flower
#

you need to do return { vars = { card.ability.extra.mult_gain, card.ability.extra.mult or 0 } }

#

or whatever your values are called

runic pecan
#

How do I control an UI element's position on screen?
Like, what's the key in node config? x =?

red flower
placid star
red flower
placid star
long urchin
#

does anyone know how i could fix this?

red flower
placid star
#

omg

red flower
placid star
#

im such an idiot i forgor

radiant plank
#

kind of a simple question but im struggling to find the answer myself - how do i enhance a card? the card is being created with the Card function

red flower
# red flower

looking at the screenshot i realize people might be very confused if they use my mod as a base for creating jokers lol

runic pecan
radiant plank
#

thanks!

red flower
#

it changes the offset too so i guess like this

placid star
#

it still not working :c

zealous glen
#

you return the variable not assign it

red flower
#

me when i write how the code should be and people ignore me u.u

modern kindle
tall wharf
#

why is this here 😭

modern kindle
#

cause you put it there, aiko

red flower
tall wharf
#

do i have to initialize the cardarea as the table is being returned

red flower
tall wharf
#

theere we go

runic pecan
#

I have a feeling that offset.y is not the top position.

red flower
runic pecan
#

So is the y coordinate of the top edge self.T.y + ret.offset.y?

#

Or is it the y coords at the center of the desc box?

placid star
#

what is the context for when another/any joker is triggered?

red flower
long urchin
#

how do you remove editions from a card?

tall wharf
sleek siren
#

I'm attempting to make a text box on the middle right of my screen, but (even though the code says "cm", it glitches out otherwise) it seems to only go to top left

placid star
long urchin
#

Does anyone know how to remove editions from jokers and playing cards?

red flower
#

and major = G.ROOM maybe

red flower
lyric jasper
#

how can i make a joker that gains Emult?

#

it doesnt seem to work the normal way

tall wharf
#

expectation vs reality

red flower
lyric jasper
edgy reef
#

Emult is exponential mult right?

red flower
#

my follow up was going to be if talisman was installed

lyric jasper
#
        if context.before and context.scoring_name == "Hand of the Tin-Oak" and not context.blueprint then
            card.ability.extra.Emult = card.ability.extra.Emult + card.ability.extra.Emult_gain
            return {
                message = '+^' .. '0.05',
                card = card
            }
        end
        if context.joker_main then
            return {
                Emult_mod = card.ability.extra.Emult,
                message = localize { type = 'variable', key = 'a_powmult', vars = { card.ability.extra.Emult } },
                message = '^' .. card.ability.extra.Emult,
                colour = G.C.MULT    
            }
        end
    end```
edgy reef
#

If so you need Talisman, SMODS doesn’t support this natively.

lyric jasper
red flower
lyric jasper
#
            card.ability.extra.Emult = card.ability.extra.Emult + card.ability.extra.Emult_gain
            return {
                message = '+^' .. '0.05',
                card = card
            }
        end```
this doesnt
red flower
#

scoring_name is probably the poker hand key instead of the name

#

for custom hands

sleek siren
red flower
sleek siren
#

huh, strange

red flower
#

you probably need a correct major

sleek siren
#

What's a major?

red flower
#

maybe G.ROOM_ATTACH

red flower
tall wharf
sleek siren
#

ohhhhhhhhh

tall wharf
#

is this not how i do it

placid star
sleek siren
strong jacinth
#

Anyone have an align guide?

#

And a size guide.

tall wharf
#

in src code there are comments

strong jacinth
#

Like for the jumbopixels

sleek siren
#

it also seems like align isn't doing anything

red flower
#

yeah it's probably not attached to anything so it can't align itself properly

#

idk what would work for the main menu

sleek siren
#

ohhhhhh, that would make sense,

How could I align it based on the total screen?

red flower
#

main menu seems to use room attach (this is for the game version text)

placid star
#

do arrays start at 0 in lua?

red flower
#

no, 1

open aspen
#

how can i create a card from a specific pool

#

eg planet pool

placid star
red flower
red flower
lyric jasper
red flower
lyric jasper
sleek siren
#

It works!!! Thank you

rapid stag
#

do you have anything that explains the arguments for Sprite()? cirThink

radiant plank
#

im using a CardArea to render some jokers in a ui. I don't want the jokers to be clickable/sellable/moveable, as it results in nil accesses leading to a crash (the ui is in the main menu). how do i accomplish this?

rapid stag
#

thanks!

sleek siren
#

how do I update the UIbox?

red flower
red flower
tall wharf
#

asd

sleek siren
#

I'm planning on having text on it that switches every few seconds

red flower
#

you can use a ref_table and ref_value for text so it's tied to a variable inside a table

sleek siren
#

Oh! Alrighty! ^^ And it will just update when I change the ref_value?

red flower
#

yes

radiant plank
sleek siren
#

Cool! ^^

Also, is there a way I can run something as soon as the run starts?

red flower
#

hook function Game:start_run

sleek siren
#

Oh! Ok! ^^ Thanks!

rugged pier
#

is there a way to get all the enhancements, editions, and seals from a playing card?

sleek siren
#

Could I have an example of how to hook a function? I forgot,

sleek siren
#

ohhhhh

thank you! ^^

red flower
keen tiger
#

Why does this trigger during the Intro?

G.E_MANAGER:add_event(Event({
    blocking = false, 
    trigger = "condition", 
    ref_value = G.STATE == G.STATES.MAIN_MENU,
    func = start_setup_run_puppet
}));
#

I thought it would trigger in main menu

rugged pier
digital niche
#

is there something wrong here?

tall wharf
rugged pier
red flower
keen tiger
#

o

red flower
keen tiger
keen tiger
radiant plank
#

how would one go about suppressing the animation and sound effect for a foil/holo/polychrome joker when it initially gets displayed?

rugged pier
#
--Function to return modifications from one card
function modifications_card(card)
    enhancements = SMODS.get_enhancements(card)
    editions = card.edition
    return editions, enhancements
end

can you return multiple thungs from a function and access them by calling it like so

enhancement, editions = modifications_card(card)

red flower
# keen tiger then what?
G.E_MANAGER:add_event(Event({
    blocking = false, 
    trigger = "condition", 
    ref_table = confition_table,
    ref_value = "condition",
    func = start_setup_run_puppet
}));

then in another part of the code you do
condition_table.condition = true

keen tiger
zealous glen
#

What messages do you think this Joker should have?

keen tiger
#

how can i get a callback if the game state is main menu and then do a thing?

zealous glen
#

I was considering nope if it finds no cards to draw, but I'm not sure that's fitting. I'm not even sure it should have a message in that case

#

But what should it say if it draws anything. Just "draw"?

heady siren
#

How would I go about adding a config menu to my mod through the mod menu?

red flower
heady siren
keen tiger
rapid stag
red flower
zealous glen
# heady siren 'Reunion!'

I was thinking something more neutral in case I reuse this kind of mechanic. I intended to have more though at the moment I removed most of them

#

Tour Guide of the Underworld was fired

heady siren
tall wharf
placid star
#

how would you make your own custom class?

red flower
tall wharf
zealous glen
tall wharf
#

solitaire

iron iron
#

colour still dont work

digital niche
zealous glen
digital niche
#

i want to know if this code is wrong

red flower
digital niche
#

because it isnt doing anything

modern kindle
#

i mean if it isnt doing anything then yea, something is wrong

red flower
#

Does nothing...?

zealous glen
#

If we knew what you were trying to do we could maybe deduce what's wrong

#

We cannot however divine it

digital niche
#

its a event to flip cards when changing the enhancement

zealous glen
#

where's the rest of the code

keen tiger
#

okay, apparently trying to repeatedly queue events just explodes the whole game so uh

#

i tried making a delayed event but its just not working either

digital niche
keen tiger
#
function start_setup_run_puppet()
    G.FUNCS.start_run(e, {stake = 1, seed = nil, challenge = nil});
end

G.E_MANAGER:add_event(Event({
    blocking = false, 
    trigger = "after",
    delay = 5,
    func = start_setup_run_puppet
}));
primal robin
sleek siren
edgy reef
zealous glen
#

?

keen tiger
tall wharf
#

uh

keen tiger
#

how

tall wharf
red flower
keen tiger
#

oh...

zealous glen
#

I think it's more fair to say that

#

The Event queue doesn't remove the Event from the queue

primal robin
zealous glen
#

Unless it returns true

#

So it tries to execute the Event again

red flower
modern kindle
keen tiger
#

its still not exiting?

#

im so confused

#
function start_setup_run_puppet()
    G.FUNCS.start_run(e, {stake = 1, seed = nil, challenge = nil});
    return true
end

G.E_MANAGER:add_event(Event({
    blocking = false, 
    trigger = "after",
    delay = 5,
    func = start_setup_run_puppet
}));
zealous glen
zealous glen
#

Depending on what you mean by animation, I think there's a variable too

lyric jasper
#

how can i make a deck with only some specific ranks?

radiant plank
#

i see inside Card:start_materialize there's a call to self:juice_up. am i looking in the right spot?

#

not sure how i would go about avoiding that if so

red flower
keen tiger
keen tiger
#

i wait 5 seconds and nothing happens

radiant plank
#

i dont know

red flower
zealous glen
keen tiger
#
----------------------------------------------
------------MOD CODE -------------------------

function start_setup_run_puppet()
    G.FUNCS.start_run(e, {stake = 1, seed = nil, challenge = nil});
    return true
end

G.E_MANAGER:add_event(Event({
    blocking = false, 
    trigger = "after",
    delay = 5,
    func = start_setup_run_puppet
}));

----------------------------------------------
------------MOD CODE END----------------------
radiant plank
#

i think i see, im pretty sure i just pass false as the last argument to card:set_edition and it will suppress it

red flower
radiant plank
#

im using the base game's set_edition

rugged pier
#
--Select 2 cards. Destroy the left, give its modifications to the right.
SMODS.Consumables {
    set = 'Tarot',
    key = 'spike',
    --atlas = 'scadrial',
    pos = { x = 5, y = 2 },
    config = {
        min_highlighted = 2,
        max_highlighted = 2,
    },
    discovered = true,
    unlocked = true,
    can_use = function(self, card)
        if #G.hand.highlighted ~= self.config.max_highlighted then
            return false
        end
        return true
    end,
    use = function(self, card)
        local rightmost = G.hand.highlighted[1]
        for i=1, #G.hand.highlighted do if G.hand.highlighted[i].T.x > rightmost.T.x then rightmost = G.hand.highlighted[i] end end
        for i=1, #G.hand.highlighted do
            G.E_MANAGER:add_event(Event({trigger = 'after',delay = 0.1,func = function()
                if G.hand.highlighted[i] ~= rightmost then
                    modify_card(G.hand.highlighted[i], rightmost)
                end
                return true end }))
            G.E_MANAGER:add_event(Event({trigger = 'after',delay = 0.1,func = function()
                card:start_dissolve()
                return true end }))
        end
    end,
}

assuming my "modify_card" function is right, is this the right way to destroy a card?

#

used the code from hanged man

keen tiger
tall wharf
#

is this not correct 😭

primal robin
#

Looks ok

red flower
keen tiger
#

hmm ok

radiant plank
# red flower

thanks, just managed to locate it myself but i appreciate you showing me

tall wharf
#

do i need a role

keen tiger
#

you know what imma just move on to the next step

primal robin
#

If you want to move all this stuff then yes, of not - probably okay without

tall wharf
primal robin
#

Oh role not bond

tall wharf
#

ok here was the old function i was using

keen tiger
#

okay, so my mod needs to do two-way communication with some server. i could do http polling but tbh i kinda want to use websockets since its more immediate. this is insane but would it be feasible for me to just include a websocket lib with my mod and then do calls on it

red flower
sleek siren
#

?

keen tiger
red flower
keen tiger
#

again insane but i dont want to shoehorn a polling system thats so laden with footguns

iron iron
#

im just trying to set it to the suit colour

red flower
narrow iron
#

Any idea why my elseif statement here is never running? It doesnt need to run when valid_hand is true so idc about that situation

red flower
#

context.cardarea instead of G.cardarea

narrow iron
#

Ahh okay

sleek siren
# red flower

I fixed that, but it doesn't change when I change the value

red flower
narrow iron
sleek siren
red flower
sleek siren
#

ohhhhhhhh whoops

#

Thanks!

narrow iron
sleek siren
#

It works!! ^^

red flower
digital niche
radiant plank
#

i'm creating an ace of spades for a UI using this call Card(cax + caw/2, cay, cw, ch, G.P_CARDS.S_A) but the card gets rendered with the "base" joker text on top of it. how do i make this call properly?

sleek siren
#

I'm confused, it seems like this should be putting each text item vertically, but it puts them right next to eachother

digital niche
red flower
sleek siren
#

ahhhh, thank you ^^

narrow iron
red flower
narrow iron
#

Then whats the point of context.after ?

red flower
#

the things you return in context.after are shown after the hand is scored, but everything you do in calculate before the return is done before like the rest of the scoring

sleek siren
#

How could I make a UIBox to appear above everything?

zealous glen
iron haven
#

`local icon_lc = SMODS.Atlas {
key = "icon_lc",
path = "icon_lc.png",
px = 18,
py = 18,
}

local icon_hc = SMODS.Atlas {
key = "icon_hc",
path = "icon_hc.png",
px = 18,
py = 18,
}` can I delete these and the pictures?

zealous glen
#

What do you think?

Charon
When you destroy a card, this Joker gains $2 of sell value
This Joker gives Chips equal to its sell value

iron iron
tall wharf
red flower
#

vlat

tall wharf
#

so close

red flower
#

the vertical cardarea is cool

digital niche
zealous glen
#

Galdur did it first smh my head

red flower
#

galdur is boomer stuff now we're all about balatro solitaire

iron haven
#

I don't want these.

zealous glen
#

the worms

iron haven
#

?

rugged pier
#
use = function(self, card)
        local leftmost = G.hand.highlighted[0]
        local rightmost = G.hand.highlighted[1]
        for i=1, #G.hand.highlighted do if G.hand.highlighted[i].T.x > rightmost.T.x then rightmost = G.hand.highlighted[i] end end
        for i=1, #G.hand.highlighted do
            G.E_MANAGER:add_event(Event({trigger = 'after',delay = 0.1,func = function()
                if G.hand.highlighted[i] ~= rightmost then
                    modify_card(G.hand.highlighted[i], rightmost)
                end
                return true end }))
            G.E_MANAGER:add_event(Event({trigger = 'after',delay = 0.1,func = function()
                leftmost:start_dissolve()
                return true end }))
        end
    end,

line 30 is leftmost:start_dissolve()

what am i doing wrong here?

heavy hare
#

is there a reason a UIBox returned from get_UIE_by_ID would not be able to be removed? i'm getting attempt to index field 'object' (a nil value) but the actual UIBox that i get is able to be read out as a table so i know it's there

#
sprite_node = {n=G.UIT.C, config={minw=2,align = "cm",},nodes={{n=G.UIT.O, config={id='tracker_Small',maxh=0.5,object = sprite}}}}
local remove = G.HUD_blind_tracker:get_UIE_by_ID('tracker_Small')
remove:remove()
#

i can read remove but it errors when i try to remove:remove()

#

(cut out some of the setup there obv, but it does appear to be readable, just not removable. is that how i use remove()? is the ID in the right place)?

rugged pier
narrow iron
tall wharf
sturdy compass
#

aiko you are actually insane

glad osprey
#

is something like this possible

marble flint
old bane
glad osprey
old bane
marble flint
# glad osprey just tell me what to do

there's not a pre-built system for this right now (at least, not that I know of) and I'm not about to build one for you to tell you how to do it yourself

glad osprey
#

how dare you not do my job for me 😢

tall wharf
#

😭

zealous glen
#

maybe you could hack it by adding an object that can be hovered over at those positions

tepid crow
old bane
tall wharf
#

ui develiopment

zealous glen
old bane
#

other than that i cant really give much more guidance because UI isnt my forte lmao

tepid crow
old bane
zealous glen
tall wharf
zealous glen
#

Balatro is already solitaire though ;P

tepid crow
zealous glen
#

What do y'all think by the way

tall wharf
#

sorry I meant Klondike

old bane
#

literally making a new system rn for seals or “badges” in balatro and i kinda wanna make it like an api so other ppl can do it (but its legit just SMODS.Seal so idk unless i can somehow just make it way easier for people to make seals specifically for jokers)

tepid crow
old bane
# zealous glen

honestly i like the dual purpose of this one, gives you extra scoring early game and gives you a boost in money later on

old bane
zealous glen
tepid crow
#

yeah I know

zealous glen
#

I agree it would read better but it would be less accurate

old bane
#

and also making these seals exclusive to jokers and a floating sprite somehow >_>

tepid crow
#

and I still think the card reads so bad it would be better to change it in the way I described

zealous glen
#

Oh are you suggesting a mechanical change?

tepid crow
#

only slightly yeah

#

only gets impacted by gift card in vanilla

zealous glen
#

and Stickers

tepid crow
#

huh, true 🤔

zealous glen
tepid crow
#

idk I don't like the "if A this card gains B; gives C based on B"

#

feels like you're making me do math for no reason haha

tall wharf
#

finally

zealous glen
#

Also the card does the math for you

#

The original version was simpler since it was 1-to-1

tepid crow
#

yeah that's a lot easier already

tepid crow
glad osprey
#

how does ui work

zealous glen
tepid crow
#

prolly not haha

zealous glen
#

@tepid crow

zealous glen
tepid crow
zealous glen
#

You do need to do a lot of math for it

tepid crow
#

hmm

#

maybe it's just because it feels like your card goes directly against thunk's design principles?

zealous glen
#

That is intentional though

#

I want to try out effects that scale with a card's own sell value

#

But without external sell value manipulation they don't make sense

#

and I don't want a lot of that

#

hence internal sell value manipulation

modern kindle
#

That's just alot of mods in general that go 'against thunks design'
Else he would've had all of these in the game

zealous glen
#

I mean I want to be vanilla-ish

#

This is closer to "-ish"

tepid crow
#

My first thought when I read the card was "why is this so unnecessarily complicated". Rereading it and thinking about it more explains why it's that way, but doesn't take away the original feeling that it could be reworked into something simpler

hushed field
#

It's the type of card that's both set-up and pay-off, which kind of feels like it's a combo contained in one card

zealous glen
#

I could have just the sell value gain, and give another Joker both sell value gain and Chips bonus

gleaming zealot
#

add my homie blobcatcozy to balatro

zealous glen
paper zealot
# placid star how would you make your own custom class?

Do you mean how to use a colour besides the predefined ones in LOC_COLOURS?
Instead of {C:<colour-key>} you can use {V:<index>}, where index is the array index of a colour that you provide in loc_vars.colours
If you're using Steamodded, check here for how to define loc_vars -- in that example, {V:2} would be the colour HEX(card.ability.extra.colour_string)

hushed field
# zealous glen I feel like the set-up here is destroying playing cards though

nah the set up is gaining sell-value, the pay-off is chips based off of sell-value. The card destruction is more so the trigger. But if you separated the two effects into two different cards, you wouldn't make the set-up card the one that only destroys cards, you'd make it one that gains sell value. But I think the problem isn't the design, per se, it's that it's a design for an archetype of joker that the vanilla game doesn't have enough support for for this design to make sense without being its own enabled, I'd say

paper zealot
glad osprey
#

yes

spiral crown
#

anyone know why SMODS.Consumeable would throw a nil value?

modern kindle
hushed field
#

If I'd come at it from card game design, I'd say that the sell value in that design also becomes an additional upside, rather than the core of the effect. Especially with it being a joker named Charon, I'd say the effect is probably meant to connect to the sell value the most, flavourwise, but in this case it's the middle-man (though I guess that might just be more on-flavour for this card). But the mechanical core is kind of just a side product for the eventual effect, which is that you gain chips for each card destroyed

zealous glen
# hushed field nah the set up is gaining sell-value, the pay-off is chips based off of sell-val...

Yes, that's is partly why I made it grant itself sell value. Partly because I was inspired by Bazaar items that both gain sell value and scale off that sell value gain.

For Balatro, I don't want to make "granting sell value" a big archetype because otherwise I'd need to rework the entire economy of the game, and that would make it both further from vanilla and possibly inconsistent with other mods.

tall wharf
#

so close

zealous glen
hushed field
# modern kindle Aside of the fact the pay off is also the fact it has a larger sell value How c...

I guess the word choice isn't perfect there, but in magic the gathering design, you can see a shift towards cards more and more often being their own enabled. This means that they have a scaling or triggered effect, and then also an effect that specifically creates the conditions to scale or trigger. In older sets, those are typically separated as 'archetype set-up' and 'archetype pay-off' cards

zealous glen
#

If each Hanged Man costs 4, you aren't making a profit out of this

zealous glen
#

Like monored Food tokens for example

#

or if you want a real example, black-red Food tokens

tepid crow
tall wharf
#

good enough i guess

hushed field
#

In this case, I think the main design issue is just that your sell value aspect isn't positioned as the pay-off, but as a conversion, which feels less flavourful and can read a bit arbitrary. ("Why do I need to do math for this effect?"). I'm not opposed to anti-thunkian jokers that have two separate effects in mods, though, so I think there's space there. I think to me, it's flavour is already more apparent if instead of increasing its own sell value by 2, it increases all sell values by 1, even if it still scales chips. Just because that way it doesn't feel like the sell value is a conversion step with an upside, but like a separate effect that synergizes with its own other effect

quartz ravine
#

Hi folks, I can manually set editions in the collection view using debug plug. Does anyone know what this container is called? I would like to apply my edition to all cards to see how it looks while I'm tuning shader logic

zealous glen
glad osprey
quartz ravine
#

Thanks! I am trying to do it procedurally!

glad osprey
#

OH ALL CARDS

hushed field
# zealous glen Here's a simple example

also, just for the sake of pedantry, I think reversing the description of the effect, compared to your joker, also gives a better focus on which part of the ability matters, flavourwise

zealous glen
quartz ravine
#

Perfect, that's exactly what I needed. I will share the snippet when I have it done

zealous glen
#

Also following the order of when they would apply causally

hushed field
tepid crow
#

I'm in agreement with Ice on possibly swapping the effects. I noticed it while scrolling through the bazaar wiki that all items have their effect written as "Does X equal to this item's value. When Y, this gains value"

zealous glen
hushed field
#

Chips scaling of the sell value is the core ability, though, so in order of feel, you'd put that first. And the text order wouldn't create confusion either

#

Man, this is the first time I feel like I'm actually at work while on discord, haha. This is like half of my conversations with clients 😋

zealous glen
modern kindle
#

Personally I read the core value as the money
+5 chips per dollar feels like an added side piece instead of the sell value

zealous glen
tepid crow
zealous glen
#

I might keep the Chips here for now but (re)move them to another design later

hushed field
#

Then I'd just remove that part of the ability, tbf. It's also just a very negligible amount of chips, after all, if you're at the point of having a consistent destruction effect

zealous glen
#

I do think this Joker is too weak without them, and I don't want to give it large sell value gain

modern kindle
#

Yea +5 chips isn't much at all and if those +5 chips are making that much of a diff you aren't making it much further
If you have enough money for the chips to matter you can just get a better joker entirely

tall wharf
red flower
#

lets goooo

zealous glen
tepid crow
#

isn't it basically always 2?

#

or does he regularly get cyclopses

zealous glen
#

I thought it was 1, but people were buried with 2, and Charon might do double river duty

tall wharf
#

gn guys

#

it's 5am

tall wharf
#

with thicker deck

tepid crow
#

oh wait I'm confusing coins on the eyes with charon I think

zealous glen
#

The coins on the eyes were for Charon IIRC

tepid crow
#

if they are connected, he'd get 2 yeah

zealous glen
#

Charon's obol is an allusive term for the coin placed in or on the mouth[1] of a dead person before burial.
maybe it was in the mouth actually

#

Although archaeology shows that the myth reflects an actual custom, the placement of coins with the dead was neither pervasive nor confined to a single coin in the deceased's mouth.[3]

hushed field
#

Charon is coin in the mouth mostly, coins on the eyes is a western European christian tradition that stems from it

#

Folk religion type christian tradition, but from a lot later at least

tepid crow
#

Charon's obol is an allusive term for the coin placed in or on the mouth of a dead person before burial. Greek and Latin literary sources specify the coin as an obol, and explain it as a payment or bribe for Charon, the ferryman who conveyed souls across the river that divided the world of the living from the world of the dead.

Contrary to popular etiology there is little evidence to connect the myth of Charon to the custom of placing a pair of coins on the eyes of the deceased, though the larger gold-foil coverings discussed above might include pieces shaped for the eyes. Pairs of coins are sometimes found in burials, including cremation urns; among the collections of the British Museum is an urn from Athens, ca. 300 BC, that contained cremated remains, two obols, and a terracotta figure of a mourning siren. Ancient Greek and Latin literary sources, however, mention a pair of coins only when a return trip is anticipated, as in the case of Psyche's catabasis, and never in regard to sealing the eyes.

tired skiff
#

would somone be nice enough to tell me why my code dosnt work :3

tepid crow
#

so yeah I got them confused

zealous glen
tired skiff
hushed field
#

Placing coins on the eyes I think also came from the practical use of it keeping eyes shut

tired skiff
#

ill send a ss of the problem in a sec

#

well its hard to send a ss but basicly the joker works but it vibrates when cards are scored

quartz ravine
# zealous glen The CardAreas are in `G.your_collection`, `[1]`, `[2]`, and `[3]`

Thank you Victin!

If anyone else needs to do this,

function forceEditionCollectionView(s)

    for _, jokerCard in ipairs(G.your_collection[1].cards) do
      jokerCard:set_edition(s, true)
    end
    
    for _, jokerCard in ipairs(G.your_collection[2].cards) do
      jokerCard:set_edition(s, true)
    end
    
    for _, jokerCard in ipairs(G.your_collection[3].cards) do
      jokerCard:set_edition(s, true)
    end
    
end

Then you can use it in the collection, just run eval forceEditionCollectionView('holo')

zealous glen
#

Something I think I've seen mods do is give a relevant Tarot when a card is bought

tepid crow
#

though you should probably have the joker creation be in an event (of which the end of the event needs to return true)

zealous glen
#

Which I think is cute but I don't like the design

tired skiff
spiral crown
#

attempting to make my first consumeable, little lost here if someone wouldn't mind giving me some advice

zealous glen
tired skiff
tepid crow
tepid crow
modern kindle
#

Lars faster than me
Curse my slow mobile fingers

zealous glen
#

anyways thanks @tepid crow @hushed field @modern kindle for the feedback. I'll keep it in mind at some indeterminate point in the future when I come back to this

spiral crown
zealous glen
#

gluttenous

tepid crow
#

oops

#

wrong reply

modern kindle
#

Now we can all sit at the table and eat some cake

zealous glen
#

glutteous

tired skiff
#

what nil do change to change the random jokers rarity?

old bane
tired skiff
#

im confused

#

so waht do i need to add for it to be a specific rarity

old bane
#

if you want it to be a specific vanilla rarity, you put a number between 1-3 (there's a parameter in the function specifically for making legendaries), and if you want it to be a modded rarity, you just put the key for that modded rarity

#

so if you wanted it to only be commons it would just be 1, if you wanted a modded rarity that had the key mod_epic you just put "mod_epic"

tired skiff
#

like this

old bane
#

yes iirc

tired skiff
#

k lemme test

quartz ravine
#

I love this!

old bane
#

but also I would reccommend that you try using SMODS.add_card(t) or SMODS.create_card(t), as those make it much more clear on how to make a joker

quartz ravine
#

Those emojis! Lol!

tired skiff
quartz ravine
#

It is a yugioh reference. I am trying to give the cards also a sharp rectangular golden border, like the Maximum gold cards from the game

modern kindle
#

I gotta say that looks great visually @quartz ravine

#

I also just really like gold and black together

tired skiff
#

it works

old bane
#

lets goooo

quartz ravine
old bane
tired skiff
#

hey zombo

#

do u know how to set money to 0

modern kindle
old bane
old bane
#

the ox boss blind

tired skiff
#

ahh ok

old bane
#

i think it's much more "safe" to use ease_dollars than to modify money directly, so using this solution is much better

tired skiff
#

yeah

old bane
#

technically you could modify the money variable directly but if there's a function to change money i would use it lmao

sterile crater
#

how can i retexture a joke with a sprite that has a higher resolution than the normal res? are there any guides anywhere on how to do this?

tired skiff
#

hmmm

quartz ravine
#

Does anyone understand how / why shaders don't apply to foreground objects in legendaries?

#

for some reason, my shaders do overwrite the foreground.

This must be something in send_vars for legendaries, I bet I don't handle it

tired skiff
# tired skiff it only makes legendarys

my problem has been solved but it was buggy and then i fixed it with return true and now it shakes again with each played card but if i dont return true it breaks

rapid stag
heady siren
#

How do I check if the player is currently in a specific booster pack outside of contexts?

#

I've tried G.STATE == G.STATES.[cardtype]_PACK and it isn't working

tepid crow
#

that was gonna be my suggestion

#

but it depends on the pack

#

which pack specifically?

heady siren
#

Any of them, I'm making custom music, and I made a track for every base game pack rather than just default and celestial

#

So G.booster_pack_sparkles isn't really an option

tepid crow
#

yeah just the G.STATE == G.STATES.<>

#

what doesn't work about it?

heady siren
#

It isn't playing the music

tepid crow
#

I mean there could be a hundred reasons for that

#

does the if check work as intended?

heady siren
#

This is my current sound hierarchy

#

Everything plays properly except for the specific booster pack tracks

#

The default booster pack does work properly

tepid crow
#

have you tried printing out G.STATE?

heady siren
#

I'll try that real quick

#

Every booster pack prints the same number, 999

crisp coral
#

ah that's SMODS' state for boosters

heady siren
#

How can I get the proper state?

tepid crow
#

I think you can check SMODS.OPENED_BOOSTER to see the pack-type?

#

some sort of .config.center.key

heady siren
#

I used this method and it worked, hell yeah

quartz ravine
#

I love how the sounds play faster and faster! I have one Joker that's an easter egg Akuma reference, and he says 'METSU', well when he retriggers over and over and over, it becomes hilarious

heady siren
#

How do I save a value between restarts? I don't want people to have to turn on my music every time they start the game

old bane
#

config files are your friend in that case

#

most mods with customizable configs can show you how they work

tepid crow
#

should be automatically saved/loaded if you use the default smods config method

quartz ravine
#

hi doods, can I use take_ownership to modify a default joker? I made a goldish card and I want Gold Joker to also apply to them

iron haven
#

the text of these are like umm

tepid crow
iron haven
#

Hearts, Clubs, and Diamonds' text are weird

heady siren
#

What method are you using to change their colors?

iron haven
#

um...

#

I don't know where.

heady siren
#

Are you using somebody else's mod to change the suits?

iron haven
#

yeah. but it is just the cards in the deck.

heady siren
#

I'm confused, are you coming here to try and fix the text colors on somebody else's mod?

iron haven
#

they should be the color of the suits on the cards, right?

thin anchor
#

what one do you guys prefer

heady siren
heady siren
thin anchor
#

sounds good

iron haven
heady siren
#

This is mostly a channel for people developing mods themselves

iron haven
#

Steamo did? I think? I don't know.

heady siren
#

Whoever it is, report the bug in their mod post

unkempt thicket
#

After blind defeat how can i change the next sceen to a different one

iron haven
#

examples-master?

heady siren
iron haven
#

Is this it?

#

what should be in there?

heady siren
#

You just downloaded all of the example mods?

#

All at once?

#

Those are meant to be references for mod developers

iron haven
#

my deck was in there then I deleted it because it is in the mods folder

heady siren
#

I don't know where you're getting these skins from

iron haven
heady siren
#

Okay so you are developing a mod

iron haven
#

yeah.

heady siren
#

Why did you say it was somebody else's mod and you didn't know who made it then?

iron haven
heady siren
#

And you don't know where the colors of the suits are set?

iron haven
#

colour = HEX("9734f0"), Is it this?

heady siren
#

Look up 'Spades' in your mod file

iron haven
#

the lua?

#

or?

heady siren
#

Yes, that is your mod file

#

Have you looked at the SMODS documentation at all?

iron haven
#

First name jumpscare.

knotty skiff
#

How can i make my joker texture work?

I'm trying to get it onto the second joker i made but nothings working and its a blank image

heady siren
#

Okay, look at the other suits in that file

iron haven
#

they are all the same hex code.

heady siren
marble flint
knotty skiff
#

everything i did was blank

heady siren
knotty skiff
#

I made a custom one

heady siren
#

Did you make an atlas?

knotty skiff
#

like this one?

SMODS.Atlas{
key = 'Jokers',
path = 'Jokers.png',
px = 71,
py = 95
}

iron haven
heady siren
#

And for x and y it's just the position in your atlas grid

iron haven
#

Are the spades ok?

#

are they the same colorcolor?

heady siren
knotty skiff
#

Ohhhhhhhh

#

Ill try that out

heady siren
#

For example this is my joker texture, if I wanted to get that 4 color one, I'd put in x = 2, y = 1

knotty skiff
#

It works!

#

Tysm!

rugged pier
#

my prefix is csmr

iron haven
heady siren
#

Oh, nevermind

#

I just put the prefix for my mod also in the atlas name

#

You don't need the mod prefix, just name your atlas with a unique identifier

iron haven
#

does it or not guys?

heady siren
last sentinel
#

If i wanted to have a joker manipulate the weights of consumable cards, what would be the best way to go about that?

#

Or at least a good place to start/any known examples of mods doing this

thin anchor
#

compare

heady siren
#

And the second one triggers my OCD

#

@last sentinel Because it's not pixelated compared to Balatro's cards

gilded goblet
#

You mean it's less pixelated? I can still see pixels clearly on the first one

gilded narwhal
#

gang how do I get this to show up as +1 hand size and not +1 joker slot

tepid crow
#

I think those are 2 different tooltip keys

gilded narwhal
#

lemme check steamodded

tepid crow
#

yeah e_negative_playing_card

gilded narwhal
#

noice noice

spiral crown
#

trying my hand at making a new seal, thus needed a consumeable to have it useable (also first consumeable) game crashes upon using the spectral card and I'm not sure why

rugged pier
#

is there a way for me to change the base chips granted by a card?
I guess two parts to this question, how do i access the base chips of a card, and then how do i modify it

rugged pier
# spiral crown could try looking at hiker
context.other_card.ability.perma_bonus = context.other_card.ability.perma_bonus or 0
                        context.other_card.ability.perma_bonus = context.other_card.ability.perma_bonus + self.ability.extra
#

this is what hiker does

tepid crow
rugged pier
#

what i want to do is x4 the base mult, im not sure how the code would change here

#

instead of + self.ability.extra it would be * card.ability.extra.bonus ? (assuming bonus is where i have the x4 factor)

spark pumice
#

How do I define Blueprint behavior?

tepid crow
# spiral crown is 'wseal' not the full key?

No, it's hidden and a bit confusing. You give your smods objects a key. To avoid key collisions, smods prepends the type and your mod prefix to it, and saves that as the real key (and a copy of your original key is stored at original_key).

The full key basically boils down to [type]_[mod-prefix]_[original-key], e.g. j_lars_jimbo for a joker (j) from a mod with prefix lars and original key of jimbo. See #💻・modding-dev message for some more examples.

spiral crown
tepid crow
#

I'm actually not sure what the prefix for SMODS.Seal is, let me check that

spiral crown
tepid crow
#

good question

spiral crown
#

well I shall science in the meantime then

rapid stag
# red flower

can i not make animated sprites by creating an ANIMATION_ATLAS and making that the sprite? cirLost

tepid crow
edgy reef
#

Just the mod prefix, no class prefix

tepid crow
#

but yeah SMODS.Seal does not have a defined class_prefix so... what flowwey said

spiral crown
#

modprefix_wseal then, okay fingers crossed that works

tepid crow
#

yeah that sounds about right

spiral crown
#

holy hell everything works

#

I was fully expecting to have to work through the rest of the code if that fixed teh crashing lol

spiral crown
tepid crow
daring fern
rugged pier
daring fern
# rugged pier wdym

The nominal is how many base chips it gives, its located at card.base.nominal

rugged pier
#

thank you

rugged pier
#

it didnt seem to work

#

this is what i want to do

#

i want the card to give x4 its base chips

#

so for example is the enhancement is on 5

#

then i want to give 20 chips (but not the original 5)

daring fern
rugged pier
rugged pier
#

do i need a different context?

heady siren
spiral crown
#

anyone know why this would give me 2 spectrals when I have 3 "oops all sixes" in my joker line?

#

trying to only get 1 lol

heady siren
#

It's not a problem of chances, that function is running twice for some other reason

daring fern
heady siren
#

That too

spiral crown
daring fern
spiral crown
normal crest
#

for the joker to create 1 spectral card at end of round?

#

Or for each card held in hand to be able to create one

#

Oh wait, it's a seal

spiral crown
#

blue seal but for spectrals and chance based to make it hoipefully a little more balanced

rapid stag
#

oh i'm a dumbass

#

wow

#

how did i not see that

#

and now it works

lilac tapir
#

Not super familar with scripting
this seem like a simple enough design to try to do?

normal crest
#

if that doesn't work try adding and context.playing_card_end_of_round and removing the not repetition check

#

I love undocumented stuff

lilac tapir
#

coolio

spiral crown
normal crest
#

no

#

two different things

#

Tho

#

I just tried it and this is all I needed

daring fern
#

How does one draw a shader onto a deck?

spiral crown
normal crest
#

I think it was running that function on every card held in hand

spiral crown
normal crest
#

did it change anything?

spiral crown
#

nope still filled my consumeables

normal crest
#

I guess it's possible it was still running multiple times on your card

#

but i'm not too sure

daring fern
normal crest
#

that wouldn't have fixed it, that would've just made the consumables take longer to spawn

spiral crown
#

possible the spectral card put the seal on multiple times?

rapid stag
#

if i return false from an event function, how can i create a (controllable) delay between that function execution and the next one? since doing trigger = 'after', delay = seems to only apply to the first execution

#

delay() in the function also doesn't seem to work

#

screw it, i'll just make it even more scuffed

daring fern
#

How could one draw a second seal on a card?

reef belfry
#

Is this a stupid idea or

tired skiff
reef belfry
#

But is it funny

tired skiff
#

agree

reef belfry
#

Then im doing it

tired skiff
#

fair

#

Q. is the ideal reason for using a fuction for if its like creating a tag or somthing like that

rugged pier
tired skiff
tired skiff
#

gimme a sec i need to read this

#

i think the problem is that on line 21 u have context.thingy

#

u might just needto do value 1 = valie 2 x value 3

#

with out context cause context is for somthing to happen but not for a value

#

i have to go for dinner now

daring fern
tired skiff
#

im new to coding so i still dont exactly know what im talking about but im trying

#

any gtg brb yell at me later

rugged pier
daring fern
rugged pier
#

okay one sec

rugged pier
#

or just

#

self.whatever

daring fern
rugged pier
daring fern
rugged pier
#

whoops didnt send line numbers again

#

here

#

it basically just cant find the base thing

#

not sure why

tired skiff
#

send a larger screen shot of the code

daring fern
rugged pier
daring fern
rugged pier
#

interesting

#

so it does change it

#

but it does not score

#

so its changed for future use?

daring fern
rugged pier
#

it does score on next time

#

how do i make it score on the current hand

daring fern
rugged pier
rugged pier
# daring fern Just make the enhancement give the same amount of chips it should give.
function Card:get_nominal(mod)
    local mult = 1
    if mod == 'suit' then mult = 1000 end
    if self.ability.effect == 'Stone Card' then mult = -1000 end
    return self.base.nominal + self.base.suit_nominal*mult + (self.base.suit_nominal_original or 0)*0.0001*mult + self.base.face_nominal + 0.000001*self.unique_val
end
``` this is the code for getting the value
#

i suppose i could hook the function

narrow iron
#

i want to add a new cardarea, like the areas for jokers and consumables. i want to make a custom one of those. does anyone know of an example i could use for adding this? like another mod that has accomplished what im looking to do

narrow iron
#

yea that sounds about right, i was using that one i just wanted to check if there was another one someone would suggest. but given how immediate that response was im going to assume baladrone is what im using here

daring fern
#

Are there any mods that draw a seal like object on a card?

heady siren
#

Is it possible to remove pixels from the sprite of a card using a shader?

#

I wanna make a sticker that makes it look like the card is torn and degraded, but still allow enhancements and editions to appear

tired skiff
#

does anyone have any material for me to learn about info queue

nova temple
#

Well that looks pretty nice, finally figured out the implementing all the textures. Now to actually make some sprites.

#

Any thoughts or suggestions

#

Or what other mods and additional suits

heady siren
#

I think the larger star sprite is a bit too big on the bottom

#

For the non-aces

nova temple
#

The "SixSuits" textures are just like that so far just recoloured the suits and put some of the vanilla collabs as options in some of the modded ones
I haven't actually gotten around to doing the sprite work yet

heady siren
#

So the star is from a different mod?

nova temple
#

Yes

heady siren
#

Ah, alrighty

#

Color wise, I think the yellow should be slightly darkened

#

Fully saturated yellow on white doesn't tend to read well

nova temple
#

Stars and moons are from "SixSuits"
Fleurons and Halberds are from "Bunco"

nova temple
#

So far more of a proof of concept to add some textures to a couple modded suits

#

I haven't seen any so I thought I might try to make some

heady siren
#

Also the gradient for the crescents looks too dark at the bottom, I think making the bottom of the gradient the current color of the top of the gradient and making the top lighter would fix that

#

Notice that the black is darker than any shade of black in the base game

nova temple
#

Good point

heady siren
nova temple
#

I'm more looking for suggestions for things to actually put on the cards(character and crossover kind). The current textures are more placeholder than anything else.

rugged pier
#

and it did exactly what i wanted

#

lol

#

no reason to hook

sturdy compass
#

hello chat glagglegreeting

tall wharf
#

@sturdy compass hi

daring fern
long acorn
#

i set these as all the ranks correctly right

sturdy compass
#

Another Yu-Gi-Oh Jonkler has hit Maximus

last sentinel
#

When working on a Deck, how can I access current chips/mult to change them? Seems like the way that core-game Plasma accomplishes it doesnt port to SMODS well, or mayhaps im the fool

tall wharf
#

maximus

#

help

#

how do i ui

sturdy compass
sturdy compass
tall wharf
last sentinel
sturdy compass
#

nope

sturdy compass
reef belfry
#

looks a bit chonky but that might just be me

tall wharf
#

how do i check if card is on certain card area when being dragged

sturdy compass
tall wharf
#

as in

#

i want to make it so that the card goes to a different area when you drag it to a different area

sturdy compass
#

aiko you are doing some advanced bs so I don't know if anyone would have a clue LOL

tall wharf
#

😭

rose dragon
#

i think they should add mult to balatro

tall wharf
#

no stream tonight i have to work

sturdy compass
#

development tomorrow? joeinnocent

tall wharf
#

yep

rose dragon
tall wharf
#

there was development last night btw

#

i have proof

#

i streamed

rose dragon
tall wharf
#

and got off track

#

then i just started playing osu

#

while having vs code open

sturdy compass
#

😭

reef belfry
#

aight.. man..

crisp coral
last sentinel
sturdy compass
last sentinel
#

hmm alright

sturdy compass
#

You can use literally any other context with Decks. They calculate all the same

last sentinel
#

thats what i had figured, I have a print statement right after that if and its never getting ran

sturdy compass
#

What functionality are you after?

long acorn
reef belfry
#

me when loc_vars

sturdy compass
#

^

#

Show your loc_vars function

last sentinel
long acorn
#

nevermind lol

long acorn
#

how do i do that random rank thing mail in rebate does

i have a rng variable to generate a rank now i just dont know where to go througgh with it

last sentinel
#

not sending the rest of the calculate cause rn its just plasma's animation and not gonna post core game code. But yeah neither of those prints ever get called, played through a few antes on the deck and its there visually but not doing the calc

#

No i dont know why i have name both inside and outside of loc_txt lmao

daring fern
long acorn
#

im currently going through card.lua to find mail in rebate

daring fern
sturdy compass
last sentinel
#

nah but ill go figure that out, would def save me a lot of time lmao. would that prevent calc from even running tho? I'd think syntax would prevent the deck from even be playable but it shows in game fine. happy to be wrong tho

long acorn
#

like, installed?

sturdy compass
sturdy compass
long acorn
#

what

sturdy compass
long acorn
#

oh

sturdy compass
#

That's what you want

last sentinel
#

yeah still never getting those print statements called

gentle rain
long acorn
sturdy compass
long acorn
#

oh

sturdy compass
#

This is the only important bit for what you are trying to do

sturdy compass
last sentinel
#

Hm thats how it was on one of the other mods i was looking at. Just tested and no difference with or without it

sturdy compass
#

That's a weird one, never seen that before. Interesting to know it works all the same

last sentinel
#

Loosey Goosey even

sturdy compass
#

ayyy lol

#

What version is your smods?

last sentinel
#

oh shiz

sturdy compass
#

Oh?

last sentinel
#

beta-0323b

#

lemme try something a bit fresher

sturdy compass
#

Hmm, that's pretty recent. Not fully up to date but not to a point where it shouldn't be an issue I don't think

#

worth a shot to update tho

last sentinel
#

yeah still no dice

sturdy compass
#

Thought so :/

tall wharf
#

hhi

last sentinel
#

I had this code working successfully in a challenge instead of a deck. I was running it with Back:trigger_effect in the challenge and it worked great (other than the fact that it nuked Plasma Deck 😬 ). But ideally i have it working in a deck

sturdy compass
#

Ok I just had a closer look at the SMODS.Back docs, your if check should be if context.context == 'final_scoring_step' apparently

#

Or does it?

#

Ok I'm insanely confused

last sentinel
#

Yeah.... I had that initially and it wasnt working. Made a few other changes since then so worth another try

sturdy compass
#

You did say calculate just straight up isn't being called right?

last sentinel
#

Unless i REALLY dont know what im doing then yeah. Neither of those print statements in my code are running. But, the deck exists and is playable in game(other than the fact that it does nothing interesting)

#

apply is only for changing the deck pre-game, and trigger_effect is depreciated yeah?

sturdy compass
#

Yeah that is definitely right

tall wharf
#

omh hiii

sturdy compass
#

hi aiko

tall wharf
#

am i insane

sturdy compass
#

I'm desperately looking at the function definition itself to see if something's up but I truly cannot see anything wrong

sturdy compass
last sentinel
#

I spelled calculate right and everything

reef belfry
manic rune
#

added all the relics, the process wasnt hard but insanely boring 💔

sturdy compass
last sentinel
#

I appreciate the solidarity

sturdy compass
#

It's old depricated stuff apparently, dw about it

long acorn
#

ok i just need to find where G.GAME.current_round.mail_card.rank is

cause the crash im getting now is saying is its nil for my joker

manic rune
#

ah ic

last sentinel
#

and like.. the deck shows up in game with the name and loc_txt correctly... maybe ill put in a dummy apply function and see if that works

sturdy compass
#

Whole block gotta go

last sentinel
#

cause even this doesnt run

#

lmfao

sturdy compass
#

that is bizarre

long acorn
#

oh that goes in main righht

sturdy compass
#

Something tells me you are not doing things right I cannot lie

gentle rain
long acorn
#

maybe

sturdy compass
gentle rain
#

oh

last sentinel
#

hey, ill try anything

manic rune
#

without the XMult part this doesnt even look like smt from balatro ngl 😭

reef belfry
#

theres some readable text on there i think you should change that

sturdy compass
# long acorn maybe

I'm just confused as to why you're trying to do stuff with the mail_card variable

long acorn
#

im trying to reference rebate but thunk wanted to cosplay the easter bunny apparently so now im scouring fucking narnia for the relevant code

sturdy compass
#

But why is my question

#

Why are you trying to reference rebate?

long acorn
#

because im mmakingg a joker with a similar function to rebate

zealous glen
long acorn
#

i am

zealous glen
#

That reimplements Castle

sturdy compass
#

I always forget the example mods exist

#

that would be helpful