#đŸ’»ăƒ»modding-dev

1 messages · Page 457 of 1

gilded blaze
#

for _, playing_card in ipairs(G.deck.cards) do

maiden phoenix
#

You can add a shop_rate value to SMODS.ConsumableType objects iirc

stiff quiver
#

oh, was just me doing that wrong

snow vale
#

maybe that works yeah

hidden sable
#

works but does it for every card, i only want it to select 1 card, either a booster or a joker

stiff quiver
#

wait did G.deck.cards check all cards or only the ones currently in deck?

gilded blaze
#

uh, oops

stiff quiver
#

@snow vale do G.playing_cards instead i thnk if it doesnt work properly

hidden sable
#

wait

#

maybe

#

idk maybe im stupid

gilded blaze
hidden sable
gilded blaze
#

💀 I forgor

hidden sable
#

i forgor how to randomly get something out of table

gilded blaze
#

pseudorandom_element(table, pseudoseed('seed'))

snow vale
#

IT WORKS

#

TYSM

spark owl
#

what am i doin' wrong

ivory coral
#

is there a way to reference a consumeables cardarea after it is used? from what i can tell used consumeables dont have a cardarea but im looking for a way to check where it was used from

snow vale
#

i must do it so it only happens after each hand

gilded blaze
spark owl
gilded blaze
#

either missing end or spare one

spark owl
#

o

snow vale
red flower
spark owl
ivory coral
#

so i cant use it in its use function

red flower
#

i dont think it should be nil

#

at least not before it's destroyed

ivory coral
#

well its not G.consumeables

red flower
#

where are you checking exactly

stiff quiver
hidden sable
#

whats the code that makes cards with editions shake and make a noise

snow vale
ivory coral
# red flower where are you checking exactly

first i tried in the use function but now im trying to hook Card.remove
within which self.area is not G.consumeables when the card is used
but it is if the card is sold instead

hidden sable
#

i want that but with the reroll noise instead

#

i dont feel like digging in source rn i wanna ask aorund first

ivory coral
tawdry oriole
red flower
hidden sable
#

im making an item free

tawdry oriole
#

ohh

#

you can surely just "play_sound" it right

hidden sable
#

i want it to do the same thing as an edition sound but with the reroll noise

hidden sable
#

tried with a delay, still doesnt work

#

unless i need to make it in an event delay

ivory coral
red flower
#

yes

#

i just tried it and that area works

tawdry oriole
#

is there any alternative to overlay_menu? i don't want the ui to take the entire screen

red flower
ivory coral
red flower
ivory coral
#

oh true actually

#

i forgot

lament agate
#

help

#
return {
                vars = { card.ability.extra.mult }
            }
        end,
    calculate = function(self, card, context)
            if context.individual and context.cardarea == G.play and not context.blueprint then
                if SMODS.has_enhancement(context.other_card, "m_stone") then
                    context.other_card.ability.perma_bonus = (context.other_card.ability.perma_bonus or 0) +
                        card.ability.extra.mult
                    return {
                        message = localize('k_upgrade_ex'),
                        colour = G.C.EDITION.BLUE
                    }
                end
            end
    
#

trying to give stone cards a permanent +2 Mult

#

but it gives chips instead

ivory coral
lament agate
#

but alright

#

thanks

ivory coral
#

its because of bonus cards i think

hidden sable
#

found it i think

G.E_MANAGER:add_event(Event({
            trigger = 'after',
            delay = not immediate and 0.2 or 0,
            blockable = not immediate,
            func = function()
                self:juice_up(1, 0.5)
                if self.edition.foil then play_sound('foil1', 1.2, 0.4) end
                if self.edition.holo then play_sound('holo1', 1.2*1.58, 0.4) end
                if self.edition.polychrome then play_sound('polychrome1', 1.2, 0.7) end
                if self.edition.negative then play_sound('negative', 1.5, 0.4) end
               return true
            end
          }))
wind steppe
#

how would i get this hook not to ignore consumable slots but still ignore price?

spark owl
#

@gilded blaze (do note im using Finn's Code for this i have no idea how to code myself so...)

red flower
#

you need next()

wind steppe
#

oh that fixed it for whatever reason

#

now to figure out where the voucher and booster pack checks are

gilded blaze
primal robin
#

Because I need some UI which appears only when you highlight card to find proper function to execute

tawdry oriole
#

there's add_card and create_card but is there something to destroy a card?

hidden sable
#

its a method

#

:start_dissolve()

tawdry oriole
#

ohhh okay

#

thanks a lot

spark owl
red flower
#

it's a new function

tawdry oriole
red flower
#

no, it takes a single card or an array of cards

tawdry oriole
#

ohh alright

#

thanks

lament agate
#

ERROR said that expecting { in 1260

#

but i already closed it

#

oh wait

#

ffs

#

I(U*(WYGDUHBJXNS:L

#

fixed

red flower
#

pls stop using card = card

lament agate
#

whys that

red flower
#

at best it doesnt do anything

lament agate
#

filler episode

#

@red flower question

#

if its inside of the return

#

its "sound ="

#

but if its in add_to_deck

#

its "play_sound ="?

red flower
lament agate
#

what did i do wrong

#

@red flower

red flower
#

whats the sound definition

lament agate
#

definition?

red flower
#

like the code for SMODS.Sound

lament agate
#

there

red flower
#

hmm no idea

lament agate
#

that is stupid

red flower
#

where is the file

lament agate
#

oh wait

drowsy heath
#

N' i have an issue with one of my jokers, its basically 6th sense but u play 4s to get the coffee consumable, yet the consumable which multiplies coffee jokers crashes the game when i try use it but this shouldnt even be effected

lament agate
#

its add_to_deck = function()

#

not those

#

damn thats weird

drowsy heath
#
    key = "joker28",
    blueprint_compat = false,
    rarity = 2,
    cost = 6,
    calculate = function(self, card, context)
        if context.destroy_card and not context.blueprint then
            if #context.full_hand == 1 and context.destroy_card == context.full_hand[1] and context.full_hand[1]:get_id() == 4 and G.GAME.current_round.hands_played == 0 then
                if #G.consumeables.cards + G.GAME.consumeable_buffer < G.consumeables.config.card_limit then
                    G.GAME.consumeable_buffer = G.GAME.consumeable_buffer + 1
                    G.E_MANAGER:add_event(Event({
                        func = (function()
                            SMODS.add_card {
                                set = 'coffee_jar',
                                key_append = 'joker28' -- Optional, useful for manipulating the random seed and checking the source of the creation in `in_pool`.
                            }
                            G.GAME.consumeable_buffer = 0
                            return true
                        end)
                    }))
                    return {
                        message = localize('k_plus_coffee_jar'),
                        colour = G.C.SECONDARY_SET.coffee_jar,
                        remove = true
                    }
                end
                return {
                    remove = true
                }
            end
        end
    end
}
``` the code has too long a line to take a ss
#

but why is is detected by my consumable

#

the consumable

red flower
#

whats the crash

sleek onyx
#

Hey, i'm new to making mods on balatro, does anybody knows how can i make simple mod (or knows mods that actually do that) to modify the phrases Jimbo says when you lose a game? Thx!

drowsy heath
#

extra a nil value on line 20 of the consumable

red flower
#

not every joker has an extra

#

(v.ability.extra or {}).coffee

#

also i think coffee might be too generic

drowsy heath
#

wym

red flower
#

if any other mod has a coffee field then it will get detected too

drowsy heath
#

for now it should be fine

sleek onyx
spark owl
scenic elm
#

How do i go about checking if the player owns a specific joker and that that joker isn't debuffed? I'm trying to make a joker that prevents glass cards from shattering, and my initial thought was to take ownership of the glass enhancement and change the calculate function to only destroy if the player doesn't own the specific joker

drowsy heath
#

ok all fixed i might change the word coffee to coffee and a few numbers

red flower
drowsy heath
#

bruh

spark owl
red flower
spark owl
#

has that been there the ENTIRE TIME?

stiff quiver
#

im having a problem. i have an enhancement that breaks itself at end of round```lua
calculate = function(self, card, context)
if context.end_of_round then
SMODS.destroy_cards(card)
end
end}

And a seal that creates two copies of the card with it ```lua
if context.remove_playing_cards then
      for i = 1, #context.removed do
        local _suit = context.removed[i].base.suit
        local _rank = tostring(context.removed[i]:get_id())
        if context.removed[i].seal == "shoomiminion_seal" and context.removed[i] == card then
          for l = 1, 2 do
            local copy_card = copy_card(context.removed[i], nil, nil, G.playing_card)
            copy_card:add_to_deck()
            G.deck.config.card_limit = G.deck.config.card_limit + 1
            table.insert(G.playing_cards, copy_card)
            G.hand:emplace(copy_card)
            copy_card.states.visible = nil
            G.E_MANAGER:add_event(Event({
                func = function()
                    copy_card:start_materialize()
                    return true
                end
            }))
          end
        end
      end
    end

When a card with the enhancement and the seal is destroyed the game freezes and crashes without giving error message. Whats wrong and how could i fix it?

spark owl
#

it fixed it

#

thank you my brother

next timber
#

why does negative mult make the mult box go empty and is there a way to fix it

#

im looking through the code and i just cant figure it out

drowsy heath
red flower
scenic elm
red flower
#

you need to add , true if you dont want it to

scenic elm
#

sick. thank you JinxHeart

stiff quiver
#

oh yeah thats probably it, thanks, i think i know how to fix it, if not i'll probably ask here again lol

gilded lichen
#

Hi, is there a possibility to know where to find information similar to how to check which rank has the most cards in full deck?

spark owl
#

well...

#

dont think the names work...

hidden sable
#

how can i check when the player beats a boss blind

#

or whenever the ante increases

lament agate
hidden sable
lament agate
hidden sable
#

ai autofill just did this entire description for me

#

thanks vscode

sonic cedar
#

you mean intellisense

modern kindle
#

good afternoon caht

#

chat

lament agate
lament agate
hidden sable
sonic cedar
#

hi dilly

modern kindle
sonic cedar
modern kindle
#

you freaking despise me

sonic cedar
#

only on Wednesdays

#

Or I haven’t eaten

modern kindle
#

yea well today is january

hidden sable
sonic cedar
lament agate
hidden sable
sonic cedar
hidden sable
#

no

sonic cedar
#

can you send the full code

modern kindle
sonic cedar
#

because it’s working

snow vale
#

how can i debuff a card?

hidden sable
modern kindle
sonic cedar
sonic cedar
snow vale
#

i want a blind that debuffs cards held in hand

modern kindle
# sonic cedar quesadilla

i dont think ive ever in my life made one myself aside of those that are pre made, but i could give it a go

sonic cedar
#

awesome

sonic cedar
modern kindle
#

smods.debuff_card exists right

#

so can just do that

hidden sable
sonic cedar
hidden sable
#

mb

sonic cedar
#

all good

snow vale
#

there's no blind that does so

sonic cedar
#

oh uhhh

hidden sable
#

context.other_card.debuff = true

red flower
modern kindle
#

N my goat

red flower
#

there are plenty of blinds that debuff specific cards

snow vale
#

vanilla

red flower
#

yes

snow vale
#

i mean

red flower
#

in vanillaremade

snow vale
#

through calculate

red flower
#

yes

snow vale
#

which

sonic cedar
#

better question

#

how specific

red flower
sonic cedar
#

because what if they mean a SPECIFIC card

snow vale
#

it does this

sonic cedar
#

yes

#

thats for face cards

snow vale
#

ik

modern kindle
#

i thought they wanted it for all held in hand cards

snow vale
#

ok got it to work

#

and tbh it sucks

red flower
sonic cedar
modern kindle
#

a sandwich would slap rn

snow vale
modern kindle
#

im still waking up

snow vale
#

yeah ik i have discards but

chrome widget
#

Hi Dilly!!! good morning

snow vale
#

i mean

modern kindle
chrome widget
#

CattoBlush bashing my head against a wall on a weird quirk of this joker scaling feature

sonic cedar
#

it’s almost 2 pm for m—omg my glorious queen winter hiii I am forever in your debt đŸ§Žâ€â™€ïž

modern kindle
#

i feel you i often bash my head as well
i believe youll figure it out cause youre such a smarty
like the candy

chrome widget
modern kindle
chrome widget
modern kindle
#

its cause ur so awesome and perfect

sonic cedar
#

i forgot to yesterday

modern kindle
#

i think i complioment winter every time i see her

#

shes epic

sonic cedar
modern kindle
#

would u still eat it even if it doesnt turn out good

sonic cedar
#

was it made with love

modern kindle
#

i would presume so i always cook with love

sonic cedar
#

then consider it eaten

modern kindle
#

hell yea

sonic cedar
modern kindle
#

is isaac binding awesome

#

ive never played it

sonic cedar
#

beyond awesome

modern kindle
#

is it ur favorite game

sonic cedar
#

second favorite

modern kindle
#

whats your fave

sonic cedar
#

I can’t decide

#

truly no idea

snow vale
#

how can disable consumeables?

sonic cedar
#


elaborate

snow vale
#

like

#

a blind that

#

locks it?

#

idk

sonic cedar
#

ohhh youre just doing blinds ok

#

uhhhh i think you’d have to hook into the consumable’s use function?

#

and check that the blind isn’t this one

snow vale
#

what's the function?

sonic cedar
#

use

red flower
#

Card:can_use_consumeable iirc

sonic cedar
#

oh theres a function for that already I see

#

never mind then

snow vale
#

and what parameters does it have?

red flower
#

idk read the code?

#

you should never hook blindly

snow vale
#

where?

red flower
#

card.lua probably

hidden sable
sonic cedar
red flower
sonic cedar
#

I was about to ask that

chrome widget
#

I..... what

#

It's not calling Card:load at all?????

#

??????

sonic cedar
#

What how

chrome widget
#

Bizarre. Weird. Unheard of

modern kindle
#

i want it to be normal, and often heard of

sonic cedar
hidden sable
red flower
modern kindle
chrome widget
sonic cedar
modern kindle
#

im a frayed knot

sonic cedar
#

after all Im amazing yet it took me weeks to finish this single joker justraq

modern kindle
#

it took me ages to get ym secret service working its okay

snow vale
#

not working, what's wrong?

red flower
#

G.GAME.blind is a table

snow vale
#

e

sonic cedar
snow vale
#

then how can i check the blind?

red flower
#

G.GAME.blind.config.blind.key i think

snow vale
#

okk

tawdry oriole
#

can you use context.before and context.cardarea == G.play for jokers? i'm trying to make it work but it doesn't do anything

modern kindle
#

N how are you today

tawdry oriole
red flower
sonic cedar
modern kindle
#

:D

stiff quiver
#

N did you do tags in vanilla remade?

red flower
red flower
sonic cedar
red flower
#

i dont think i will do them

tawdry oriole
red flower
#

if anyone else wants to they can pr it

sonic cedar
snow vale
#

CRAZY!!!

#

WORKS

#

tysm

#

ive done my 4 bosses

tawdry oriole
#

which isn't really what i'm looking for

sonic cedar
#

what are you trying to do?

tawdry oriole
#

i'm trying to get three different contexts for before it scores, when it scores and after it scores

#

which SHOULD be what i've done as per the calculate documentation

sonic cedar
#

so before, joker_main, and after?

tawdry oriole
#

yeah like that

#

but when putting all three they all have effect immediately

sonic cedar
#

just use events then?

tawdry oriole
#

right

sonic cedar
#

add delay ykwim

tawdry oriole
#

yeah i get it

sonic cedar
#

are you sure it’s the same time and not like incredibly fast ?

tawdry oriole
#

i mean it's probably like one tick of delay between each context

#

let me check

#

yeah no it's at the same time

hidden sable
#

not home so i can't get you an exact image

red flower
#

did you reload the run before testing

sonic cedar
#

surely they did

#

I mean I didn’t ask because I assumed so but surely

hidden sable
sonic cedar
#

see it’s weird cause the code looks fine

#

try changing h_increase to 2

hidden sable
#

wait i just realized it

#

it was a typo

#

mb gang 💔

sonic cedar
#

where was it

#

how did I miss a typo

hidden sable
#

i defined something outside of the code i showed

sonic cedar
hidden sable
#

balatrojoker i'm so silly

sonic cedar
#

it was in fact your bad
my soul is clean

#

I can ascend in peace

drowsy heath
#

what is going wrong here

#

i cant figure it out

#

wait wtf am i doing

#

thats all wrong

#

im stupid ignore me

wind steppe
#
SMODS.Blind { -- The Singular
    key = "singular",
    dollars = 5,
    mult = 2,
    pos = { x = 0, y = 23 },
    boss = { min = 9 },
    boss_colour = HEX("6a3847"),
    calculate = function(self, blind, context)
        if not blind.disabled then
            if context.debuff_card and context.debuff_card.area == G.jokers then
                if context.debuff_card.config.center.key == "j_blueprint" or context.debuff_card.config.center.key == "j_brainstorm" then
                    context.debuff_card.ability.para_singular = true
                    return {
                        debuff = true
                    }
                end
                local jimbos = SMODS.find_card(context.debuff_card.config.center.key, true)
                if #jimbos > 1 and context.debuff_card.config.center.key ~= "j_chicot" then
                    context.debuff_card.ability.para_singular = true
                    return {
                        debuff = true
                    }
                end
            elseif context.press_play then
                for k, v in pairs(G.jokers.cards) do
                    if v.ability and v.ability.para_singular then
                        blind.triggered = true
                    end
                end
            end
        end
    end,
    disable = function(self)
        for _, joker in ipairs(G.jokers.cards) do
            joker.ability.para_singular = nil
        end
    end,
    defeat = function(self)
        for _, joker in ipairs(G.jokers.cards) do
            joker.ability.para_singular = nil
        end
    end
}
``` why no trigger matador \:(
hidden sable
hidden sable
wheat jewel
#

How can i make a joker draw three extra cards from the deck when scoring a specific hand?

sonic cedar
hidden sable
#

what if my declaration was the correct spelling

#

and all the references are typos

red flower
sonic cedar
#

??

scenic elm
#

Is there a config key for making an entire deck have a specific enhancement on SMODS.Back?

I'm looking for something sorta like how there's the config.jokers key where you can define a table of jokers you start with on the deck

hidden sable
#

you see the typos

modern kindle
sonic cedar
faint yacht
sonic cedar
hidden sable
#

if the declaration is the correct way, everything below is a typo, therefore the typo is what you see

wheat jewel
sonic cedar
#

it should be?

#

I’d need to actually look to figure it out though

wheat jewel
sonic cedar
faint yacht
# wheat jewel bumping this
if context.before and next(context.poker_hands['Flush']) then
  for i = 1, 3 do
    draw_card(G.deck,G.hand, i*100/hand_space,'up', true)
  end
end

?

wheat jewel
#

i would look at crytid but i don't remember any joker doing something like this

sonic cedar
#

yeah Im pretty sure cards_to_draw is for blinds

wheat jewel
sonic cedar
#

Try toga’s thing they know stuff

wheat jewel
#

just placed it there as a placeholder

#

and went to ask questions here

sonic cedar
#

ahhh

faint yacht
#

Or replace the draw_card with SMODS.draw_cards(3), actually.

sonic cedar
#

Literally just saw the function when you said this I was about to come in

drowsy heath
#

why is such a simple task hurting my head

gleaming yew
#

can someone send the joker (normal and maybe legendary) and tarot image templates?

drowsy heath
#

i want every card played of the basic suits to grant +3 mult when played coz im adding another suit later but i cant get it to load

wheat jewel
drowsy heath
#

its just doing nothing

#

i am in pain

sonic cedar
#

@gleaming yew

modern kindle
drowsy heath
#

why isnt this working

hidden sable
sonic cedar
modern kindle
#

idk whats being talked about so im deciding you are both wrong and i wont tell you why

drowsy heath
#

pluz

sonic cedar
#

repeatedly

modern kindle
drowsy heath
#

nothing happening

split panther
modern kindle
#

are you just getting +3 mult per suit or something?
whats the idea of the joker

hidden sable
modern kindle
sonic cedar
hidden sable
manic rune
modern kindle
#

that is true

sonic cedar
manic rune
#

so what you are doing is context.other_card:is_suit({"Spades", "Hearts", "Clubs", "Diamonds"})

drowsy heath
manic rune
#

...what

sonic cedar
#

what

modern kindle
#

what

drowsy heath
#

i feel stupid

split panther
manic rune
#

oh, i think i understand what you mean now

drowsy heath
#

my brain is fried

manic rune
#

sorry, it should only be a string, not a table

#

it should be something like context.other_card:is_suit("Spades")

sonic cedar
#

ohhh that's what they meant?

manic rune
#

yeah, maybe

drowsy heath
#

i want it to recognise all vanilla suits

hidden sable
drowsy heath
#

so when i add my own later it wont effect it

sonic cedar
#

why not just check for it being not a modded suit

manic rune
formal parrot
#

Hello people who dev

manic rune
#

or what toma said
-# which i actually dont know how to rn ngl

#

hi heaven

sonic cedar
#

hi heaven

drowsy heath
modern kindle
#

everyone else said hi so bye heaven

sonic cedar
formal parrot
#

Hello :3

#

How do i change ranks again

drowsy heath
drowsy heath
sonic cedar
#

your turn

manic rune
#
if context.individual and context.cardarea == G.play then
  for _,suit in ipairs(card.ability.extra.suit) do
    if context.other_card:is_suit(suit) then
      return{
        mult = card.ability.extra.s_mult
      }
    end
  end    
end
sonic cedar
#

nice

drowsy heath
#

danke

modern kindle
formal parrot
#

Sure i’ll try that

sonic cedar
manic rune
#

are you sure

sonic cedar
formal parrot
#

Wrong order 😭

manic rune
#

lol

#

anyways im going to sleep, its 2 am

#

and you should too heaven

#

gn

modern kindle
#

dude i thought i first got hit with the are you sure and i was immediately second guessing myself

sturdy compass
modern kindle
#

i went to bed at like 6

formal parrot
sonic cedar
manic rune
#

dilly im sorry but i literally cant bring myself to follow your path

modern kindle
#

you hate me

sturdy compass
modern kindle
#

crying int he club rn

manic rune
#

kinda a shame since yall are awesome to talk to

modern kindle
#

i am CST

formal parrot
modern kindle
#

so ye 12 hours

manic rune
#

rip

sonic cedar
modern kindle
#

bepis is one of my favorites here

#

so time zones suck

sonic cedar
#

TRUTH NUKE

sturdy compass
sonic cedar
manic rune
#

curse yall and your nitro privileges!

#

what the fuck

drowsy heath
manic rune
#

...s-mult??

manic rune
#

toma what the fuck 😭

drowsy heath
#

it was what was down

#

not my fault

#

i copied it

hidden sable
manic rune
#

oh shit

sonic cedar
#

so its your fault troll_4k

manic rune
#

i got it wrong, sorry

sonic cedar
manic rune
#

in my defense i typed it on discord

drowsy heath
#

we all make mistakes

sonic cedar
#

unless youre metherul

drowsy heath
modern kindle
#

alright i think i did all my trues

#

on bepis

hidden sable
#

jumping_joker anyone notice how he is wearing the spare trousers

manic rune
sonic cedar
manic rune
#

CAN YOU ALL STOP

modern kindle
#

lmfao

sonic cedar
#

nvm it's maxed

modern kindle
#

we did it chat we won

manic rune
#

😭

#

NOT THAT MESSAGE TOO

#

fucking

diamond true

sonic cedar
#

the excess had to go someI FORGOT ABOUT SUPER REACTS

faint yacht
modern kindle
sonic cedar
modern kindle
#

looks like you got a win button there pal

formal parrot
sonic cedar
faint yacht
#

You'd need to make every card Steel and have the Hyperlink Seal to trigger held in hand abilities when not in hand.

formal parrot
#

This is definitely what local thunk wanted

manic rune
faint yacht
#

G.discard

manic rune
#

oh

sonic cedar
#

do you tihnk localthunk will update the game to fix the consumable spelling

#

therefore breaking everything

manic rune
#

wait is it going through G.playing_cards?

formal parrot
#

Nope

formal parrot
modern kindle
#

i think instead of modding i will procrastinate and play the hit video game dead by daylight

manic rune
#

ive been playing numerous incremental and idle games

#

isntead of working on yggdrasil like i should

#

:3

drowsy heath
#

okay so after i added the code and all that i tried changing the table and then i got a crash, and the game still isnt granting mult per card

sonic cedar
faint yacht
manic rune
#

oh

modern kindle
# sonic cedar get back to work

sorry ive got myers grinding to do!

one day i want to add minesweeper and snake but i tried for about 32 seconds before giving up for now

dusk compass
#

Yoo who can help me
I want to know
Can I for example
Remove certain aspects of certain decks
So the text doesn't show
And the effect doesn't apply
Can I do that in the code logs

drowsy heath
#

this is the only way i didnt get a crash

#

and its args a nil value

#

thats the crash

sonic cedar
#

wait what am i doing the ijiraq works now i can mod for fun again (/hj)

modern kindle
#

modding is not meant for fun

sonic cedar
drowsy heath
faint yacht
dusk compass
#

I do it to feed my kids

manic rune
modern kindle
#

modding is meant to make you mad at everyone and then make them mad at you

drowsy heath
#

do i change suits_pural to suit

manic rune
sonic cedar
#

hi somecom

manic rune
#

idk, never worked with that localize specifically

#

oh shit hi smtcom

sonic cedar
#

im curious

manic rune
#

somethingcom

sonic cedar
#

i meant the shorthand

manic rune
#

s m t com

#

:3

#

im crazy i know

sonic cedar
#

i see i see (i said smittcom)

manic rune
#

fair

sonic cedar
modern kindle
#

hi smt

manic rune
#

i dont know how to feel hearing that

sonic cedar
manic rune
#

:bepis:

sonic cedar
#

wait i have one of those

modern kindle
#

:bepis:

manic rune
#

I SHOULD GO TO SLEEP HOLY FUCK ITS 2 AM

#

AAAAAAAAAAAAAAAAAAAAAAA

modern kindle
#

i have a dilly emote

manic rune
#

oh you do?

drowsy heath
#

wait so why is my joker not working

modern kindle
#

it is literally my face

manic rune
#

😭

sonic cedar
modern kindle
#

hang on ill dm it to you

drowsy heath
#

dihlatro my goat

sonic cedar
manic rune
#

is this new

#

or

#

did you create that before i talked about it

sonic cedar
#

i forgot i had it

manic rune
#

SINCE WHEN

#

😭

sonic cedar
#

since the pfp

modern kindle
manic rune
#

im concerned about why you created that

sonic cedar
manic rune
#

in what circumstance do you even use that.

pure salmon
#

is that a fucking bepis

modern kindle
#

i should make an emote of everyone here

manic rune
#

"damn i want a can of bepis rn"
:

pure salmon
#

can of wd40 emote

modern kindle
#

bepis when are you makign the modder yearbook so we all can sign it

sonic cedar
manic rune
#

😭

sonic cedar
#

wait were you doing that that sounds awesome

manic rune
#

yeah i think thatd be nice

modern kindle
sonic cedar
#

are you gonna do most likelies

modern kindle
#

i sugfgested it to bepis =]

sonic cedar
modern kindle
#

bepis go to SLEEP

manic rune
#

o7 o|

sonic cedar
#

wait bepis can you feed my cat

manic rune
#

i can give it some bepis

modern kindle
#

wait bepis can you feed our @sonic cedar

sonic cedar
#

YOU were supposed to feed me

manic rune
#

why am i doing your chores now

#

sob

sonic cedar
modern kindle
sonic cedar
#

😭

sonic cedar
modern kindle
sonic cedar
#

this is an unedited image

modern kindle
#

correct

#

im playing rn

sonic cedar
#

awesome

#

no sauce i ate it

modern kindle
#

what the actual flip and freak man

sonic cedar
#

profanity is crazy
moderators explode dilly

drowsy heath
#

i fixed the joker

drowsy heath
placid star
#

does anyone know what the card area for the deck view is? and when you click on one does it become G.cardarea.highlighted[1]?

humble matrix
#

how would one add the blueprint compat indicator to a joker?

faint yacht
red flower
modern kindle
placid star
red flower
#

idk if crazy hooking

#

just hooking card:click probably

abstract ingot
#

a few issues I've run into with my code, any helps appreciated
When I destroy multiple clubs/spades, it only adds .1 rather than .2 (for destroying 2 of them)
Then when scoring it doesn't trigger on heart/diamond cards

Canio is there for the example of destroying 2 cards adding +2x rather than just +1x

red flower
#

speaking of that does anyone know what function is called when a card is released from dragging?

abstract ingot
#

maybe the context I got is wrong?

red flower
#

at least not in hand

placid star
red flower
#

is clicking the same as releasing the click?

placid star
#

well no but would it not check for if not click?

red flower
#

click doesnt return a boolean if it's being clicked on

#

it gets called when you click

placid star
#

ohhhh

red flower
#

but idk maybe its also called on release ill check

humble matrix
red flower
keen atlas
#

Card.stop_drag?

red flower
#

Node:stop_drag but close enough

tawdry oriole
#

is there a way to add an edition for a joker in this joker's calculate function?

sonic cedar
#

does set_edition work here

tawdry oriole
#

i believe so

#

i'll try

#

it does work

#

thanks

sonic cedar
#

np!

gaunt coral
#

i might be blind, dense, or both, but how do i get the current amount of chips when the context is final_scoring_step? i've been staring at the docs for smods for 20 minutes at this point and still cant find anything

keen atlas
#

args.chips and args.mult

stiff quiver
#

how can i check the current deck being used?

daring fern
stiff quiver
#

thanks!

gaunt coral
# daring fern `hand_chips`

is it in context, card, self or something else? ("in" meaning e.g. joker_main is in context (context.joker_main))

#

sorry if im asking dumb questions im tired

normal crest
#

it's a global variable

gaunt coral
#

thanks

hard mica
#

i tried doing this inside the joker but doesnt seem that it works

red flower
#

selected is the card

#

not card

hard mica
hard mica
scenic elm
#

Is it possible to dynamically change the texture of an enhancement or joker?

scenic elm
#

Thanks. How would i go about doing so?

daring fern
wind steppe
#
SMODS.Blind { -- The Singular
    key = "singular",
    dollars = 5,
    mult = 2,
    pos = { x = 0, y = 23 },
    boss = { min = 9 },
    boss_colour = HEX("6a3847"),
    calculate = function(self, blind, context)
        if not blind.disabled then
            if context.debuff_card and context.debuff_card.area == G.jokers then
                if context.debuff_card.config.center.key == "j_blueprint" or context.debuff_card.config.center.key == "j_brainstorm" then
                    context.debuff_card.ability.para_singular = true
                    return {
                        debuff = true
                    }
                end
                local jimbos = SMODS.find_card(context.debuff_card.config.center.key, true)
                if #jimbos > 1 and context.debuff_card.config.center.key ~= "j_chicot" then
                    context.debuff_card.ability.para_singular = true
                    return {
                        debuff = true
                    }
                end
            elseif context.press_play then
                for k, v in pairs(G.jokers.cards) do
                    if v.ability and v.ability.para_singular then
                        G.GAME.blind.triggered = true
                    end
                end
            end
        end
    end,
    disable = function(self)
        for _, joker in ipairs(G.jokers.cards) do
            joker.ability.para_singular = nil
        end
    end,
    defeat = function(self)
        for _, joker in ipairs(G.jokers.cards) do
            joker.ability.para_singular = nil
        end
    end
}
``` Why does Matador not trigger despite having jokers debuffed by the boss blind?
snow vale
#

what could be the cause of this error?

wind steppe
snow vale
#

then??

wind steppe
#

send full crash report

formal parrot
snow vale
#

i didnt have the error btw

daring fern
snow vale
#

what could it be...

daring fern
snow vale
#

lemme check

#

they said it happened on launch

midnight coyote
#

is xdollars a valid return value

#

im gonna assume its not but if it is ill just change my code

tepid crow
midnight coyote
#

okay dokay

tepid crow
daring fern
midnight coyote
#

alright thanks

#

favorited

snow vale
#

it says it's the line 1775

midnight coyote
#

is card.base.suit in plural

#

ex. Spades

snow vale
#

yeah

midnight coyote
#

or is it in singular

#

ex. Spade

daring fern
snow vale
daring fern
snow vale
daring fern
# snow vale

I can guarantee that that is not the right line.

snow vale
#

then what is the right line??

daring fern
midnight coyote
snow vale
#

wdym?

daring fern
sonic cedar
midnight coyote
#

okay thanks

daring fern
sonic cedar
#

didnt get it until i saw your example lmao

snow vale
#

lemme use ctrl f

#

found it

#

it's some lines below

#

also i think the error is in this joker somehow?

tight notch
#

does anyone know why this edition doesnt do anything?

hidden sable
#

does anyone know how to get your holojobo to stop doing this, i think he really likes phaunus

formal parrot
#

Wtf is x_chips

tight notch
#

i didnt except x_chips to work but the mult doesnt work either

hidden sable
formal parrot
#

Oh

#

I don’t think thats how you code editions

#

I might be stupid

sonic cedar
tight notch
daring fern
tight notch
#

Lil yachty computer gif

sonic cedar
#

not drake

tight notch
snow vale
#

sad

daring fern
#

In context.joker_main

snow vale
tight notch
#

idk why the last edition i made didnt need that

formal parrot
#
            return {
                x_mult = card.edition.x_mult
            }
        end```
tight notch
#

like this?

formal parrot
#

:D why am i getting the ⁉

daring fern
snow vale
vast bough
#

a bit of a meta-ish question, but if you was writing the 'best' code for a joker, would you prefer it if if there was only 1 thing in the config extra section of a joker, it uses the extra as a value instead of adding one value into the extra table?

for example, lets say you have a joker with only 1 thing in config extra 'odds = 4'. would the ideal way to write it be this:

config = { extra = { odds = 4 } }, then you reference it with card.ability.extra.odds

or

config = { extra = 4 }, then you just reference it with card.ability.extra

what is the general consensus on this

tight notch
formal parrot
#

:P

tight notch
#

from source or vanilla remade

tight notch
#

wait nvm

#

forgot vanilla remade doesnt have editions

#

source code differs from smods\

formal parrot
#

Card.ability.extra.odds

tight notch
#

nvm

hidden sable
vast bough
#

thank you guys for your input

formal parrot
tight notch
#

it was something else i was thinking of

hidden sable
#

enhancements?

formal parrot
#

There’s also enhancements

hidden sable
#

nvm uhhh

snow vale
red flower
#

vanillaremade doesnt have planets

#

washed

hidden sable
snow vale
formal parrot
#

LMFAOOOOO😭😭😭

#

Greatest meme of 2025

hidden sable
#

i gotta make one for every reaction he does

snow vale
#

greatest meme of modding dev 2025

hidden sable
#

âŹ†ïž ❓ and đŸ€·

snow vale
#

đŸ€”

#

what abt đŸ€”

hidden sable
#

oh yeah that one

#

thats a rare one

formal parrot
#

Do the ✅ for me

tight notch
#

absolute cinema

zenith hedge
tight notch
hidden sable
#

my mod

zenith hedge
#

oh

hidden sable
#

pibby fourteen

zenith hedge
#

i can wait for it to come out

hidden sable
#

i think he really likes phaunus

snow vale
formal parrot
hidden sable
tepid crow
hidden sable
formal parrot
snow vale
sonic cedar
#

i could very well be wrong though, im not the most knowledgable on matador plus it's coded really jankily

violet oasis
#

Can I use a back from another mod in my logic by using G.GAME.selected_back.key == b_OtherModPrefix_OtherModDeck? One of my mods adds a deck and the other checks which is the current deck and changes the music and background color accordingly, but I can't seem to make the music mod recognize the deck mod.

snow vale
hidden sable
snow vale
#

LMFAOo

sonic cedar
#

he's thinking

snow vale
#

wait a second

#

it's my crash

#

😭

hidden sable
#

yeah

#

lol

snow vale
#

anyways time to steal again

sonic cedar
tepid crow
#

jokers you have 2+ of and bp/bs

sonic cedar
#

how specific

#

oh wait

#

the singular

#

i get it now

#

wait then why WOULD matador trigger?

#

isnt matador with played hands

tepid crow
#

I mean matador probably shouldn't

#

nothing's actually happening to the played hand

sonic cedar
#

yeah

#

so if anything the blind works 😭

tepid crow
#

I mean, based on the code matador should still be triggering

sonic cedar
#

really
huh

#

why does matador have to be so janky man

hidden sable
hidden sable
sonic cedar
#

and how will you use it

tight notch
tepid crow
hidden sable
tight notch
hidden sable
#

NEW REACTION UNLOCKED 🔓

tight notch
#

super f

hidden sable
tight notch
#

alr mr crocker

hidden sable
#

i made it a sticker in my priv server

snow vale
#

ok stop

hidden sable
wheat jewel
#

How can i make a joker destory all cards in hand without triggering a variable multiple times

hidden sable
#

no more fact check

#

the world is falling apart 💔

wheat jewel
#

for context, the joker is supposed to destroy a hand after 3 rounds, and destroys itself after doing so 2 times

#

when i used context.destorying_card, it caused the variable to increment down by 1 for every card destoryed, which is something I don't want

daring fern
hidden sable
#

are âŹ†ïž reactions banned now?

wheat jewel
hidden sable
#

we gotta get creative

#

i cant get creative

sonic cedar
#

modding-dev is becoming modding-chat 2
we cannot have this

hidden sable
tepid crow
#

I mean it shouldn't even be that bad in modding-chat imo

hidden sable
#

modding-dev is like modding-chat but with smarter people

sonic cedar
tepid crow
#

does it?

#

I've gotten pushback before when I said "this doesn't really belong in modding-chat"

sonic cedar
#

no way

hidden sable
#

im sorry mr poly bridge!!!

snow vale
#

how to set the position of an animated sprite?

daring fern
snow vale
sonic cedar
snow vale
#

also where do i place that

sonic cedar
#

also you forgot the--there you go

snow vale
#

where do i place that?

daring fern
snow vale
#

i mean, it's for a blind

#

so

#

it's constantly changing

sonic cedar
#

does that work for blinds actually?

#

i mean i think it should?

hidden sable
#

is there a set size command

snow vale
#

ok, got it to work

sonic cedar
wheat jewel
violet oasis
daring fern
sonic cedar
#

lars are you typing an essay again

daring fern
tepid crow
#

Regardless, I do have a modding dev question:
I have to give SMODS an object (in SMODS.get_card_areas), which SMODS then calls with object:calculate(context). Problem is, object's calculate function actually looks like calculate(self, obj_inst, context) meaning the call doesn't line up with the signature. There's a couple solutions I can think of which all involve passing a fake object with a calculate function that pass the context on, e.g.

local fake_obj = create_fake_obj(center)  -- could lose some properties or act unexpectedly
-- similarly, `local fake_obj = {}` also works, and is basically a worse version
fake_obj.calculate = function(self, context)
    return center:calculate(center, context)
end
return {
    object = fake_sleeve,
}

but that has some possible slightly unforeseen consequences with SMODS.calculate_context({post_trigger = true, other_card = object, other_context = context, other_ret = ret}) since object is now a fake instance.
Is there a better way to change the calculate function that I can't think of right now?

sonic cedar
#

oh it was formatting

violet oasis
daring fern
sonic cedar
#

which basically sets your hand size to 0, then adds the number you want your hand size to be

tepid crow
#

quick maths

sonic cedar
#

2+2 is 4 - 1 that's 3

sonic cedar
#

like in general in modding-dev

tepid crow
sonic cedar
#

i was literally about to say "maybe patch into the smods object"

tepid crow
#

also loses lovely backwards compat

sonic cedar
#

aw what

#

lame

violet oasis
violet oasis
#

cool, thanks!

sonic cedar
wheat jewel
#

tysm

tepid crow
#

(I'm stupid)

sonic cedar
tepid crow
#

sure sure

sonic cedar
# tepid crow sure sure
local fake_obj = create_fake_obj(center)  -- could lose some properties or act unexpectedly
local notobject = object
fake_obj.calculate = function(self, context)
    return center:calculate(center, context)
end
return {
    notobject = fake_sleeve,
}

would something in this direction work maybe?

glass scaffold
tepid crow
#

there's no other_card in context.main_scoring is there?

sonic cedar
#

there is not

hard mica
#

does anyone know why this doeasnt work at all? im trying to make it so when im hovering over my joker and press z , it rerolls the objective and reward

tepid crow
sonic cedar
#

i didnt even think about hooking

#

would that preserve compat?

glass scaffold
tepid crow
sonic cedar
glass scaffold
sonic cedar
#

so it's pain and suffering either way?

sonic cedar
hidden sable
#

if i make a image sprite bigger than a joker and make it a joker will it stretch to fit?

glass scaffold
tepid crow
hidden sable
tepid crow
#

just up the size of the atlas

sonic cedar
#

just change the atlas si-yeah

tepid crow
#

(the px and py specifically)

hard mica
#

does anyone know how i can postpone the buffoon pack appearing in the shop till i complete a objective? since i got some objectives that you can complete during a blind and some in the shop

hidden sable
tepid crow
hidden sable
#

thats what i meant by bigger than a joker

#

changing its px and py

fluid burrow
#

Does anyone know how to exclude jokers from having a sticker?

tepid crow