#💻・modding-dev

1 messages · Page 694 of 1

viscid talon
#

would this work

red flower
#

no

#

doesnt make sense

viscid talon
#

gulps

#

I DONT KNOW WHAT IM DOINGGGGG 😭

#

in my brain im thinking

#

discard straight -> joker juices up + says "active!" -> gives xmult
discard any other poker hand -> nothing happens

red flower
#

local _, _, poker_hands = G.FUNCS.get_poker_hand_info(context.full_hand) gives you the poker hands and then you can do next(poker_hands[card.ability.extra.type])

fading rivet
#

replace card.ability.extra.type, "poker_hands" with localize(card.ability.extra.type, "poker_hands")

viscid talon
#

oh right the localize part

red flower
#

also local variables reset every time a function is called

viscid talon
#

so i should go for a proper variable instead?

red flower
#

passed will always be false in joker main

red flower
fading rivet
#

or cai

fading rivet
red flower
fading rivet
#

those are my snippets for card.ability.extra and card.ability.immutable

fading rivet
red flower
#

cryptid 🤢

fading rivet
#

I have it for fixed probabilities, rank/suit storage, and state storage

red flower
#

i dont like when other mods dictate how basic code is written

fading rivet
#

fair

#

cryptid was the first mod I look through for code (fortunately I didnt learn like anything so no bad lua specific coding practices where learned)

viscid talon
#
    calculate = function(self, card, context)
        if card.ability.extra.passed == true then
            local eval = function() return context.end_of_round and not G.RESET_JIGGLES end     -- Evaluates when Juice ends
            juice_card_until(card, eval, true)                                                  -- Juice begins
            return {
                localize('k_active_ex')                                                         -- Returns "Active!"
            }
        end
        if context.pre_discard then
            local _, _, poker_hands = G.FUNCS.get_poker_hand_info(context.full_hand) -- Checks Poker Hands
            if next(poker_hands[card.ability.extra.type]) then                       -- Checks if it matches the Type
                card.ability.extra.passed = true                                     -- Passed becomes True
            end
        end
        if card.ability.extra.passed == true and context.joker_main then -- Joker Main will not trigger unless Passed is also true
            return {
                xmult = card.ability.extra.xmult
            }
        end
    end
}
#

joker works, it just doesnt juice up or return a message properly

#

discord wont let me send screenshots omfg

frosty rampart
#

discord's being janky rn, it's not a you issue

viscid talon
#

oh i see

#

but yeah, i keep getting [Util] Found effect table with no assigned repetitions during repetition check

#

no idea what that means

fading rivet
viscid talon
#

yeah but what does that mean

fading rivet
#

the first if statement doesn't have a context check

frosty rampart
#

anyway yea that usually just means you have too loose context checks (or in your case, no context check at all). the if card.ability.extra.passed == true part is running in a bunch of contexts, including during repetition contexts

viscid talon
#

oh i see 🤔

#

ill add context.discard

frosty rampart
#

smods only expects you to return { repetitions = something } or nothing at all during repetition contexts, and will print that warning if you return anything else

fading rivet
viscid talon
#

ohh

#

mari is using passed a lot more recently ,,,, 🥺

#

okay so i fixed the issue but it still doesnt juice up

fading rivet
#

put the juice up in the if statement where you make it true

viscid talon
#
-- Fireworks
SMODS.Joker {
    key = "fireworks",
    config = { extra = { xmult = 3, type = 'Straight', passed = false } },
    pos = { x = 5, y = 2 },
    cost = 9,
    rarity = 3,
    blueprint_compat = true,
    eternal_compat = true,
    perishable_compat = true,
    unlocked = true,
    discovered = false,
    atlas = 'HatchetJokers',

    loc_vars = function(self, info_queue, card)
        return { vars = { card.ability.extra.xmult, localize(card.ability.extra.type, 'poker_hands') } }
    end,

    calculate = function(self, card, context)
        if context.pre_discard and card.ability.extra.passed == true then
            local eval = function() return context.end_of_round and not G.RESET_JIGGLES end     -- Evaluates when Juice ends
            juice_card_until(card, eval, true)                                                  -- Juice begins
            return {
                localize('k_active_ex')                                                         -- Returns "Active!"
            }
        end
        if context.pre_discard then
            local _, _, poker_hands = G.FUNCS.get_poker_hand_info(context.full_hand) -- Checks Poker Hands
            if next(poker_hands[card.ability.extra.type]) then                       -- Checks if it matches the Type
                card.ability.extra.passed = true                                     -- Passed becomes True
            end
        end
        if card.ability.extra.passed == true and context.joker_main then -- Joker Main will not trigger unless Passed is also true
            return {
                xmult = card.ability.extra.xmult
            }
        end
    end
}```
#

?

fading rivet
#

lines 21 - 25 should be moved to after -- Passed becomes True

viscid talon
#
-- Fireworks
SMODS.Joker {
    key = "fireworks",
    config = { extra = { xmult = 3, type = 'Straight', passed = false } },
    pos = { x = 5, y = 2 },
    cost = 9,
    rarity = 3,
    blueprint_compat = true,
    eternal_compat = true,
    perishable_compat = true,
    unlocked = true,
    discovered = false,
    atlas = 'HatchetJokers',

    loc_vars = function(self, info_queue, card)
        return { vars = { card.ability.extra.xmult, localize(card.ability.extra.type, 'poker_hands') } }
    end,

    calculate = function(self, card, context)
        if context.pre_discard then
            local _, _, poker_hands = G.FUNCS.get_poker_hand_info(context.full_hand) -- Checks Poker Hands
            if next(poker_hands[card.ability.extra.type]) then                       -- Checks if it matches the Type
                card.ability.extra.passed = true                                     -- Passed becomes True
            end
        if context.pre_discard and card.ability.extra.passed == true then
            local eval = function() return context.end_of_round and not G.RESET_JIGGLES end     -- Evaluates when Juice ends
            juice_card_until(card, eval, true)                                                  -- Juice begins
            return {
                localize('k_active_ex')                                                         -- Returns "Active!"
            }
        end
        end
        if card.ability.extra.passed == true and context.joker_main then -- Joker Main will not trigger unless Passed is also true
            return {
                xmult = card.ability.extra.xmult
            }
        end
    end
}```
Like this?
viscid talon
#

o

#

anyways it still does nothing

#
-- Fireworks
SMODS.Joker {
    key = "fireworks",
    config = { extra = { xmult = 3, type = 'Straight', passed = false } },
    pos = { x = 5, y = 2 },
    cost = 9,
    rarity = 3,
    blueprint_compat = true,
    eternal_compat = true,
    perishable_compat = true,
    unlocked = true,
    discovered = false,
    atlas = 'HatchetJokers',

    loc_vars = function(self, info_queue, card)
        return { vars = { card.ability.extra.xmult, localize(card.ability.extra.type, 'poker_hands') } }
    end,

    calculate = function(self, card, context)
        if context.pre_discard then
            local _, _, poker_hands = G.FUNCS.get_poker_hand_info(context.full_hand) -- Checks Poker Hands
            if next(poker_hands[card.ability.extra.type]) then                       -- Checks if it matches the Type
                card.ability.extra.passed = true                                     -- Passed becomes True
        end
        if context.pre_discard and card.ability.extra.passed == true then
            local eval = function() return context.end_of_round and not G.RESET_JIGGLES end     -- Evaluates when Juice ends
            juice_card_until(card, eval, true)                                                  -- Juice begins
            return {
                localize('k_active_ex')                                                         -- Returns "Active!"
            }
        end
        if card.ability.extra.passed == true and context.joker_main then -- Joker Main will not trigger unless Passed is also true
            return {
                xmult = card.ability.extra.xmult
            }
        end
    end
end
}```
#

current state of fireworks

fading rivet
#

omg

#

you have 1 pre discard check

#

can someone else help I really don't wanna type code on mobile ;-;

narrow prawn
#

i had an idea for a mechanic where each joker could be marked with a grade, and the grade would multiply any values on the joker by an amount, what would i need to do to achieve something like that

knotty wren
#

I moved the code from my main lua file into separate files (IE. jokers.lua) and everything is fine, but my spectral card that adds my custom seal stopped working idk why

#

does the prefix stop working or smth?

knotty wren
#

wait I know why

#

balatro isn't picking up the json file like before, why could that happen?

wanton jolt
#

did you assert those separate files in your main.lua

knotty wren
#

yes

#

Oh i figured it out, there was a typo on the version: part of the json, and so the prefix changed from the one I set to the default one

#

because it wasn't picking up the json

analog slate
#

how dio i make my tag show up

#

like in my run

#

like the tag that i made

clever lily
#

what string do i put here for each suit

slim ferry
#

just the capitalized name of the suit for all vanilla suits

clever lily
#

aight thx

viscid talon
#
-- Wheelbarrow
SMODS.Joker {
    key = "wheelbarrow",
    config = { extra = { odds = 7, xmult = 1, xmult_gain = 0.2 } },
    pos = { x = 6, y = 3 },
    cost = 7,
    rarity = 2,
    blueprint_compat = false,
    eternal_compat = true,
    perishable_compat = true,
    unlocked = true,
    discovered = false,
    atlas = 'HatchetJokers',

    loc_vars = function(self, info_queue, card)
        local numerator, denominator = SMODS.get_probability_vars(card, 1, card.ability.extra.odds, 'j_hatch_wheelbarrow')
        return { vars = { numerator, denominator, card.ability.extra.xmult, card.ability.extra.xmult_gain } }
    end,

    calculate = function(self, card, context)
        if context.stay_flipped and context.to_area == G.hand and SMODS.pseudorandom_probability(card, 'j_hatch_wheelbarrow', 1, card.ability.extra.odds) then
            return {
                stay_flipped = true
            }
        end
        if context.individual and context.cardarea == G.play
        and context.other_card.facing == 'back' then
            card.ability.extra.xmult = card.ability.extra.xmult + card.ability.extra.xmult_gain
            return {
                message = "Upgrade!",
                colour = G.C.MULT
            }
        end
        if context.joker_main then
            return {
                Xmult = card.ability.extra.xmult
            }
        end
    end
}
#

how do i make this joker work

#

the idea is that its supposed to upgrade its xmult per flipped card

#

wait ```lua
if context.individual and context.cardarea == G.play
and context.other_card.facing == 'back' then

#

nvm that did nothing

viscid talon
#

ill leave it here for todae

clever lily
#

is there a context for when a separate joker triggers

#

trying to make a joker that gives you money if 4 or more other jokers triggered

knotty wren
#

maybe make a count go up when if context.other_joker

#

I think it's context.post_trigger

frosty rampart
analog slate
#

uhmm how can i make it so when u skip a blind it plays a video that fills your whole screen?

glass scaffold
analog slate
glass scaffold
analog slate
#

oh yea good point

glass scaffold
#

Anyone know how to check if the game is past a certain ante?

analog slate
#

whats the filename for tarots anyway?

#

nvm i think its consumables.lua

#

tf is a g.showfish

frosty rampart
glass scaffold
analog slate
#

whats the variable for chips

#

and mult

frosty rampart
#

if you want to view the current value of chips and mult during the middle of scoring (so at the moment when the calculate code is running), it's just the globals hand_chips and mult

analog slate
#

oh.. no more like adding. istg i used to know it now i dont

frosty rampart
analog slate
#

sorry its like at the end of round.. i want to add +100 chips and remove 50 mult

#

its like saying chips isnt a thing and weve already had that thing about variables so im questioning if i wrote it wrong

frosty rampart
#

end of round meaning you want to modify a joker's values, or do you actually mean end of a played hand?

analog slate
#

like uhhhh yk how blue joker adds chips? kinda like that

frosty rampart
#

yea
return chips in context.joker_main
i highly recommend reading the link i sent
and/or checking how blue joker works in vanillaremade

analog slate
#

alright..

#

it does say chips is valid but it crashes.. maybe the game doesnt want me removing value

frosty rampart
#

could you like
post your code

analog slate
frosty rampart
#

returning mult and chips is a modifier, not something that completely replaces the value. it should just be chips = 100 and mult = -50

analog slate
#

ohhhhhh

frosty rampart
#

(also you said you wanted +100 chips and -50 mult, but you're doing the opposite here)

analog slate
#

oh either you read it wrong or i wrote it wrong its supposed to be that way

frosty rampart
#

alrighty

analog slate
#

can i disable the message that shows up and just have smack?

#

if thats too hard thats fine

#

but anyways how would i make it so that thing happens when uhhhhh you have a certain card

#

like joker card

frosty rampart
analog slate
#

OHHHHHHHH FUCK

frosty rampart
analog slate
#

yea like this joker cards ability st8s that for every copy of this card.. add 1.5 mult for example

#

i dont need the 1.5 mult its just an example

frosty rampart
#

what is the exact effect you want for this
the answer changes whether it's "check if you own a specific joker" or "check how many copies of this joker you own"

analog slate
#

a think a mix of both?

frosty rampart
#

could you just list the actual ability

analog slate
#

as of now i can change things but for know i wrote this

frosty rampart
#

SMODS.find_card("j_modprefix_key") will return a table of every copy of the joker j_modprefix_key that you own (replace modprefix with the relevant mod prefix, and key with the key of the joker)
#SMODS.find_card("j_modprefix_key") (note the # at the start) will return the total number of that specific joker that you own. so you can just return { mult = #SMODS.find_card("j_modprefix_banhammer") * 25 }

analog slate
#

OH YEA

#

but what if theres two... yk what well work on that when i make the other card

analog slate
frosty rampart
#

it's a function

analog slate
#

alright.. how do i use it in a form

torpid flicker
analog slate
#

i did smth like this and it worked but now it doesnt

glass scaffold
#

I'm trying to have this randomly force-select the amount of cards a player can select, but it picks too few.

I've already toyed around with the i = 1 part to see if that helps, got nowhere.

frosty rampart
daring fern
frosty rampart
glass scaffold
#

...how do I check if it is?

frosty rampart
#

yes, by making a separate table of all the cards in your hand then you can remove them once they're selected so you can't reselect them

analog slate
#

now how can i write SMODS.find_card("j_epicerMod_hammer1") in a way that wokrs

frosty rampart
#

confirm that "epicerMod" is actually the prefix of your mod (you defined it in your mod's json file)

analog slate
#

yea

#

it is

#

one sec

frosty rampart
#

alr
and show the full joker definition for hammer1?

analog slate
#

hammer1 is banhammer

#

the one with mult and chips

frosty rampart
#

ok so it should be SMODS.find_card("j_epicerMod_nonplushiehammer"), because that's what you put as the key for it

analog slate
#

ohhhh

#

fuck

#

hammer1s its ATLAS WHAT THE HELL

#

thx tho <3

glass scaffold
#

Well, it's working a lot better now. Only issue is that won't select 5 cards every hand.

analog slate
#

wheres the icons for the decks hiding in the files

glass scaffold
analog slate
#

gotta be one of my favorite card

glass scaffold
analog slate
glass scaffold
#

Ok, but how do I actually fix the gap?

analog slate
#

i wouldnt know id have to think like you in a sense and then learn how what went wrong

daring fern
glass scaffold
#

Is it the fact that SMODS is pulling cards that just don't exist into the table?

#

What can I run in DebugPlus to see what cards are in my hand? I may have an idea.

rough furnace
#

Looks like a ghost card

#

Not sure what in this would cause one

daring fern
glass scaffold
#

For context, I ABSOLUTELY just stole the code from Cerulean Bell and I'm trying to hack a solution together.

glass scaffold
glass scaffold
#

And the code would need to be changed to remove the highlighted card from the table.

analog slate
#

how to add seals

glass scaffold
analog slate
#

to card

daring fern
analog slate
daring fern
analog slate
#

ohhhh.

glass scaffold
#

Yeah, it's kind of nice when it comes to that.

daring fern
# glass scaffold Yep, that's certainly NOT how to do it.
local cards = SMODS.shallow_copy(G.hand.cards)
for i=1, G.hand.config.highlighted_limit-#G.hand.highlighted do
    local forced_card, index = pseudorandom_element(cards, self.key)
    forced_card.ability.forced_selection = true
    if not forced_card.highlighted then
        G.hand:add_to_highlighted(forced_card)
    end
    table.remove(cards, index)
end
glass scaffold
analog slate
#

is context.other_card:set_ability("m_steel", nil, true) correct?

dusk stream
#

is there any way to display emojis or something similar for card descriptions?
i put this but for probably many reasons it didnt show up at all

glass scaffold
glass scaffold
analog slate
#

yea so i might have done this..... (dw i dontthink i need help)

daring fern
dusk stream
glass scaffold
#

None of the m(number_here)x(number_here) fonts support it.

dusk stream
analog slate
#

I make a seper8 image for each joker

#

🃏

dusk stream
#

i was just going off of the smods wiki for making my mod

analog slate
#

Oh..

dusk stream
#

and it did say to use an atlas so i am

keen totem
#

is delay() affected by gamespeed?

#

also, what is the game's base delay between cards when iterating thru cards (for things like scoring)

keen totem
#

and i assume that delay isn't affected by gamespeed

slate turtle
fading ginkgo
fading rivet
fading rivet
sturdy compass
#

Specifically in Laminated.lua

slate turtle
#

i just made it depend on 3xcredits

fading rivet
#

it looks like you aren't provding correct data to dynatext

#

please send code

#

or else we can't help

slate turtle
#

for instance

#
    credit = {
        concept = "EnderPlaysVR"
    },```
slate turtle
#

do i have to fill out all fields

fading rivet
#

idk, i've never used that mod before

#

is it up tod ate?

#

it may not work with current smods

#

theres was several dynatext changes in zeebee

dapper sun
shrewd cobalt
#

😋

glass scaffold
#

So it debuffs a random card and all that I need it to, but it won't buff it back after the blind is won.

red flower
#

if the card is debuffed with SMODS.debuff_card it needs to be rebuffed manually

#

you can do it in blind.disable and blind.defeat

glass scaffold
#

I tried having it rebuff when defeated with the defeat function, but it crashes.

#

Unless there's a convenient context I can use

#

It's not a bug, it's a ✨ feature ✨

glass scaffold
#

But since the blind gives 20 bucks, I'm not changing it atp.

red flower
#

ok

glass scaffold
#

Sorry for wasting time ¯_(ツ)_/¯

whole lava
#

how can i hide vanilla jokers?

red flower
#

i think they want to hide them with their mod

#

you can no_collection all of them with take_ownership probably

white zinc
#
            local ranks, bust = {}, false
            for k, v in pairs(G.hand.cards) do -- go through all cards held in hand
                if ranks[v:get_id()] then -- does this rank have an entry in the dictionary?
                    bust = true -- if so, it's a repeat rank. BUST!
                end
                ranks[v:get_id()] = true -- now we add it to the dictionary
            end
            card.ability.extra.mult = #ranks
            if context.other_card and bust == false then
                return {
                    mult = card.ability.extra.mult
                }
            end
        end```

so here's my code for a joker i'm reworking. however, instead of cards giving mult, the joker just shakes violently and no mult is given from cards
red flower
#

#ranks is always 0

#

Because it's a dictionary

white zinc
#

ah i see

frosty rampart
#

given that it only gives mult if every card held in hand has a unique rank, you can just use #G.hand.cards instead, since the number of cards in hand equals the number of ranks in hand

white zinc
#

yeah i fixed it

#

thanks

knotty wren
#

where do I copy this specifically?

daring fern
knotty wren
#

so like this?

primal robin
#

what a crazy way to do it

knotty wren
#

I'm trying to wrap my head around what's the actual issue, it gives g= nil

daring fern
knotty wren
#

oh yeah that did it! ; 0 ;

#

oh that's weird

#

how can I make it,,,, not, be there

#

just change it back to ObjectType?

daring fern
knotty wren
#

right because it already injects it no?

daring fern
knotty wren
#

also blueprint first shop wow

primal robin
#

casual testing shop

knotty wren
#

I have one questiomn, why no text?

red flower
red flower
#

can you read the comments in your loc_vars i wrote specifically because of this issue..

knotty wren
#

ah! sorry

#

I misinterpreted it, I thought I needed it

red flower
#

in general if you return key in loc_vars you need a localization file and not loc_txt

knotty wren
#

yeah I haven't gotten around to that part yeah

shell timber
fading rivet
rigid solar
#

i've read that they should work

daring fern
knotty wren
#

what does the weight variable do on boosters?

gilded blaze
#

how often it appears

#

lower weight = less likely

red flower
#

attributes do work with consumables

#

they just don't have any by default yet

brittle yacht
#

mb for taking too long but it crashes my game before creating any jokers

#

do i need to define a pool?

red flower
brittle yacht
red flower
brittle yacht
#

ight thanks

knotty wren
#

how do I target both cards in play and in hand?

red flower
knotty wren
brittle yacht
#

this gives me an error whats wrong
return { vars = { card.ability.extra.Xmult_gain, card.ability.extra.Xmult }, colours = { {1, 0, 0, 1}, } }

analog slate
red flower
red flower
#

ah colours should be inside vars

red flower
analog slate
#

oh.. silly me

#

what do i do if the pitch of an audio is really low when its played

red flower
#

change the pitch in the smods sound

analog slate
#

oh... how can i do that

red flower
#

did you read the docs

analog slate
#

like pitch = __?

red flower
#

yes

analog slate
#

i dont read smods its hard to find it

#

default pitch is 1 right?

red flower
#

the docs answer that :3

knotty wren
red flower
#

go read them we write them for a reason

analog slate
#

ok so i fixed that but one question
if my joker is square like.. how do i make it look like its in the middle like square joker in the sense that its all square and theres no extra space at the bottom

analog slate
#

like this in the sense.. you cant see my mouse but you can see my mouse at the bottom of the joker

#

:0 it work

brittle yacht
#

nvm i see it

#

thanks

analog slate
#

im trying to play with the pitch but it doesnt work

red flower
#

can i see the code

analog slate
red flower
#

0.7 is the default

analog slate
#

alr but its still like really low pitched compared to what its supposed to sound like

red flower
#

what number did you put it

analog slate
red flower
#

0.7 is the default 😭

#

so it's the one it is without pitch = ...

#

you want something higher like 1

analog slate
#

i put one and nothing changed tho but i can try again

red flower
#

hmm it might only work with music

#

i have only tried it with music at least

#

you might need to edit the sound

analog slate
#

alr.. is this right tho?

clever lily
analog slate
#

i stole code from dr whatsapp to help make paper dolls

gilded blaze
#

bruh

red flower
#

== true

analog slate
#

thats not what im asking

#

im asking the last part

clever lily
gilded blaze
#

I don't think yamimod is a good starting point
there are complicated and peculiar effects that might spook you

analog slate
#

it works fine im just asking if i can even write and card.ability.extra.roundspawned > round

brittle yacht
#

am i able to make the cost of a joker a decimal without it rounding up

analog slate
analog slate
#

but also can i make it so on spawn a variable changes

#

for the joker

red flower
#

on spawn as in when you get it or when it appears anywhere

analog slate
#

like when its in your deck essentially

gilded blaze
#

then use add_to_deck

analog slate
#

?

gilded blaze
#
add_to_deck = function(self, card, from_debuff)
    if not from_debuff then
        -- initial effects on adding card to deck
    end
    -- otherwise effects added on removing debuff on this card
end
analog slate
#

ohhhhhhh okie

gilded blaze
#

it may pair with remove_from_deck

brittle yacht
#

how to check number of total joker slots someone has

gilded blaze
#
remove_from_deck = function(self, card, from_debuff)
    if not from_debuff then
        -- undo effects on destroying this card
    end
    -- otherwise effects removed by debuffing this card
end
brittle yacht
red flower
brittle yacht
analog slate
gilded blaze
#

missing comma after end of add_to_deck field

analog slate
#

but where would i need it

#

oh fuck damn it

gilded blaze
analog slate
#

it works :0

red flower
#

he means the lua extension

#

it doesn't seem like you have it

analog slate
#

nvm sometimes if it works it means the other half just wont die so i need to find out

#

ok i fixed it :D

keen totem
#

if im using an event that has delays, do i need to multiply the delay by the gamespeed in some way to make gamespeed affect the delay time

red flower
#

the game speed affects the delay by default afaik

keen totem
#

if im having something that iterates through the cards, what delay would i use

#

i was told 0.9375 by someone else

#

cause thats what the game uses

#
for i,v in ipairs(viableHand) do
            if i <= diseaseCards then
                v:set_ability("m_CGN_Disease", nil, true)
                G.E_MANAGER:add_event(Event({
                    func = function()
                        v:juice_up()
                        return true
                    end
                }))
                SMODS.calculate_effect({message="Infected!",colour = G.C.GREEN}, v)
                delay(0.9375)
            end
        end
    end

this is what i have currently

#

actually nvm

clever lily
#

why does this work in yahimod but not in anywhere else

#

i have the getJokerID function

red flower
#

do you have retriggers enabled

#

also context.other_card ~= self will always be true

#

and card = card is not necessary

#

and returning nil, true there is wrong since it indicates you are doing an effect but you are actually not

clever lily
red flower
silk latch
#

isn't properly copying the changes from this Joker when copying the card after this activates on the same hand.

#

As in, fraudfirst gives the card an edition, but, despite copying it after the edition is applied, fraudsecond doesn't copy it with the new edition. (It copies cards that start with an edition fine, and also works perfectly fine with Midas Mask.

clever lily
#

now i have made the bbno$ joker that larps a joker to its left

pastel kernel
#

how do you generate a random tag

#

wait

faint yacht
#

I just use add_tag({ key = get_next_tag_key() }).

gilded blaze
#

I don't think that should be recommended

gilded blaze
#

it breaks blind-skipping tag generation

#

by forcing the next tags early

pastel kernel
#

I just used Pity Prize’s code.

gilded blaze
#

it uses a different seed right?

pastel kernel
#

For the tag generation

pastel kernel
brittle yacht
#

how to change the rank of a card

red flower
brittle yacht
#

thank you!

brittle yacht
red flower
#

i think my links are not working 😭

#

or github is bad

brittle yacht
#

am i js an idiot 😭

red flower
#

i linked to the one above that

red flower
brittle yacht
#

ohhhh

#

lol

#

ight thanks N'

brittle yacht
brittle yacht
#

oh u right

#

im so smart

red flower
#

sticker failed

brittle yacht
#

D:

red flower
#

you need to either copy in an event or remove the event

brittle yacht
#
            for _, scored_card in ipairs(context.scoring_hand) do
                assert(SMODS.change_base(scored_card, nil, 'Ace'))
                G.E_MANAGER:add_event(Event({
                    func = function()
                        scored_card:set_sprites(nil, scored_card.config.card)
                        return {
                            message = localize('Ace!'),
                            colour = G.C.BLUE,
                            scored_card:juice_up(),
                            card:juice_up()
                        }
                    end,
                }))
            end
        end```

where am i supposed to put the return 😭 am i intellegent
#

it should juice up and message after play hand button is clicked

past spade
#

the right joker has a very small sprite size which is scaled up using display_size, but that seems to heavily mess with the tilt. Is there some easy fix for this?

brittle yacht
#

bot

verbal agate
#

`config = {extra = {numerator = 1, denominator = 2, x_chips = 2, trigger = nil}},

loc_vars = function(self, info_queue, card)
    local num, denom = SMODS.get_probability_vars(card, card.ability.extra.numerator, card.ability.extra.denominator)
    return {vars = {num, denom, card.ability.extra.x_chips}}
end,`

Im getting a crash on the local num, denom line and i fr cant seem to fix it, its when i hover over a card with the edition

this is the crash
attempt to index field 'extra' (a nil value)

#

can anyone point me in some sort of direction to try and fix this im just so lost lol

rare torrent
#

for some reason this is crashing when im trying to change a card to hearts, my best guess is that in "SMODS.change_base(card, 'Hearts')" "card" needs to be something else, but i don't know what

        if context.individual and context.cardarea == G.play and
        SMODS.pseudorandom_probability(card, 'omega_toilet', 1, card.ability.extra.odds) then
            assert(SMODS.change_base(card, 'Hearts'))
                    G.E_MANAGER:add_event(Event({
                        func = function()
                            card:juice_up()
                            return true
                        end
                    }))
        end
    end```
slim ferry
#

it should be context.other_card

#

card is the joker/whatever itself

rare torrent
#

like this? cuz it's still crashing calculate = function(self, card, context) if context.individual and context.cardarea == G.play and SMODS.pseudorandom_probability(card, 'omega_toilet', 1, card.ability.extra.odds) then assert(SMODS.change_base(context.other_card, 'Hearts')) G.E_MANAGER:add_event(Event({ func = function() context.other_card:juice_up() return true end })) end end

red flower
#

also the juice_ups shouldnt go there

brittle yacht
#

m

brittle yacht
#

*mb

red flower
rare torrent
#

just one thing, can i make it so it only changes into hearts when it's scoring? because it's turning them into hearts all before scoring

red flower
knotty wren
#

can one like myself add planet cards (so that they appear on the planet card section and not add another consumable section in the collection) but that doesn't appear where normal planets would (ie doesn't appear in celestial packs, shop, blue seal)

knotty wren
#

oh wow

#

I peered through this whole page I didn't see that part

#

everything in it is so interesting

#

the in_pool function, I just add it to the SMODS.Consumable?

rigid solar
#

ye

#

that's a joker but it works the same for a consumable

knotty wren
#

so it would be

   return not args or args.source ~= "Celestial"
end```
#

woops

#

to remove it from celestial packs?

daring fern
knotty wren
#

I see, key_append = "vremade_pl1"

#

I was looking for where the hell the pool was in there

noble rapids
#

hi, does anyone know how i would go about getting specifically the cards held in hand that trigger a held in hand ability?

silent sail
#

how would i go about modifying the badge for a planet card, e.g if i add a moon, changing it to say "moon"

daring fern
silent sail
#

thanking you

knotty wren
#

for the planet cards, how can I make it level up two hands at once, or one hand two times

knotty solstice
#

how do I get the texture width and height in shaders?

verbal agate
#

Like every test

red flower
red flower
#

just calling SMODS.upgrade_poker_hands in use should work

verbal agate
#

I think it’s cuz it’s on an edition fr

red flower
#

yeah editions are in card.edition? i think

verbal agate
#

Oh wait did I not mention that it was on an edition?

#

That is entirely myb

red flower
#

no it does say it there

#

lol

verbal agate
#

Imma try it when I get home from work lol

red flower
#

check vanillaremade editions if you haven't

knotty wren
#

wai hold on

verbal agate
red flower
#

you need a can_use i think

fading rivet
#

can_use needs to be defined iirc

knotty wren
#

oh I was looking for that

fading rivet
#

where it go ;-;

knotty wren
#

I thought it was force_use

red flower
#

force_usw sounds like a cryptid thing

knotty wren
#

caught in the act

#

oh it was way simpler than I thought I didn't need a custom function

    key = "caribbean",
    set = "Planet",
    pos = {x = 1, y = 0},
    cost = 6,
    in_pool = function(self, args)
        return not args or args.source ~= "pl1"
    end,
    can_use = function(self, card)
        return true
    end,
    use = function(self, card, area)
        SMODS.upgrade_poker_hands({hands = {"Pair", "Two Pair" }, level_up = 1, from = card})
    end
}
knotty wren
#

what makes the secret hand planets appear during the run?

#

config = softlock handles it automatically?

red flower
#

for something more complicated you can use in_pool

flint fern
dawn knoll
#

How would I be able to get a card to give you an extra hand when it is drawn in the first hand?

daring fern
knotty wren
#

does weight work for consumables

daring fern
knotty wren
#

does that affect the other consumables o_°

daring fern
knotty wren
#

I'm reading the doc but I don't understand how I enable it?

daring fern
knotty wren
#

thank uu

dawn knoll
daring fern
pastel kernel
#

is there already pre-existing japanese unicode for balatro/smods ?

#

how do i use it for localization

glass scaffold
glass scaffold
gilded blaze
#

the Japanese language option in Balatro does not use m6x11plus

glass scaffold
#

@pastel kernel #⚙・modding-general message

You'll wanna look at DNA for dupe code.
As for the discard, there's a context for discarding that may work.

#

How do I check for when literally ANY action is taken (sell Joker, click a card, deselect, etc.)?

daring fern
glass scaffold
daring fern
glass scaffold
#

I don't wanna do any more hooking functions.

daring fern
glass scaffold
daring fern
glass scaffold
glass scaffold
#

I'm gonna try changing the blind's key

#

Nope, changing it did not work.

#

Mind you, there are 3 other hooked functions that have the exact same added code, but SMODS doesn't complain about those lines.

#

ONLY happens with Controller:key_press_update

frosty dock
glass scaffold
frosty dock
#

I wouldn't call a long if-else chain lazy

#

as for the error

#

if G.GAME.blind and ...

glass scaffold
#

If you know of a way to randomly select a .WAV file from 10 random ones, I'd actually kinda like to know how.

frosty dock
#

pseudorandom_element({ "key1", "key2", ... }, "seed") ?????

glass scaffold
frosty dock
#

ikr

glass scaffold
#

I couldn't even force summon the blind without meeting its requirements.

#

How do I summon things from the DebugPlus command line?

#

Don't know what you mean, SMODS, those files exist right in the folder they belong

faint yacht
#

...then probably not registered with SMODS.Sound.

glass scaffold
#

I renamed the .wav to .ogg, and that's probably why, isn't it

faint yacht
#

Game couldn't properly read those files as the OGGs it expects.

glass scaffold
# glass scaffold

Can I modify this code somehow to ignore the sounds if certain keys are pressed?

#

I need it to ignore if T or 1, 2, or 3 is pressed.

daring fern
glass scaffold
#

Here's what I'm hoping will do the trick:

if G.GAME.blind and G.GAME.blind.config.blind.key and not (love.keypressed('tab') or love.keypressed('1') or love.keypressed('2') or love.keypressed('3') or love.keypressed('t')) == "bl_WCCO_arya_only_audio_assault" then```
daring fern
glass scaffold
daring fern
glass scaffold
glass scaffold
daring fern
glass scaffold
daring fern
glass scaffold
# daring fern `oldcontrollerkeypressupdate`

So let me see if I have this right:

I have to have the local oldcontrollerkeypressupdate = Controller.key_press_update outside ALL hooks and somehow return... its return (which I have no clue how that works.)

#

Because I hooked like 3 or 4 like you previously said to.

daring fern
glass scaffold
daring fern
# glass scaffold ...Yeah, got no clue what you exactly mean. I'm trying to figure out where I'd n...
local oldcontrollerlcursorpress = Controller.L_cursor_press
function Controller:L_cursor_press(x, y)
    local g = oldcontrollerlcursorpress(x, y)
    -- Code
    return g
end

local oldcontrollerqueuercursorpress = Controller.queue_R_cursor_press
function Controller:queue_R_cursor_press(x, y)
    local g = oldcontrollerqueuercursorpress(x, y)
    -- Code
    return g
end

local oldcontrollerkeypressupdate = Controller.key_press_update
function Controller:key_press_update(key, dt)
    local g = oldcontrollerkeypressupdate(key, dt)
    -- Code
    return g
end
glass scaffold
rare torrent
red flower
rare torrent
red flower
rare torrent
#

i need a different context (i think)

red flower
#

or did i misunderstand

red flower
rare torrent
#

ohhhh i think i understand

#

yeahhh now it works, thanks!

#

wait nvm, because im saving which card to change into hearts before the event, only the last card is turning into hearts, how do i fix this because i can't just put the "context.other_card" inside the event calculate = function(self, card, context) if context.individual and context.cardarea == G.play and SMODS.pseudorandom_probability(card, 'omega_toilet', 1, card.ability.extra.odds) then le_card = context.other_card G.E_MANAGER:add_event(Event({ func = function() le_card:juice_up() play_sound('tarot2', 1, 0.4) assert(SMODS.change_base(le_card, 'Hearts')) return true end })) end end

slim ferry
#

this is why you use local variables

rare torrent
#

OHHH yeah that fixed it, thank you!

red flower
rare torrent
#

yes yes that's intended

red flower
#

i think it's a bit unintuitive if the animation happens during

#

since the player will expect for it to count for other jokers

rare torrent
#

hmm maybe, but imagine you play a flush and it cancels out the flush since a card changed suits

red flower
#

that's not how it works

rigid solar
#

it wont

#

it's still a flush

rare torrent
rigid solar
#

no i mean it wont cancel the flush

red flower
#

the poker hand is decided before scoring begins

rigid solar
#

it's the same as vampire removing wild

#

it's still a flush

rare torrent
#

yeah, so it doesn't matter if all cards change into hearts before or during scoring animations

#

atleast for me it looks better this way

red flower
#

if it happens before other jokers will count it, if it happens after they won't

#

the problem is that the change is happening visually before other jokers score which might be confusing

#

if you don't care that's fine just letting you know

rare torrent
#

ok ok

brittle yacht
#

how come when i use #1# #2# #3# etc. in my descriptions, sometimes for jokers it says nil, but sometimes it says the real number?

fading rivet
brittle yacht
slim ferry
#

#1# = first value in returned vars

slim ferry
#

from loc_vars

#

etc etc

brittle yacht
#

mb mb 😭

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

SMODS.Joker {
    key = 'smiler',
    loc_txt = {
        name = "{V:1}S{}M{V:1}I{}L{V:1}E{}!",
        text = {
            "Played {C:attention}face{} cards score {X:mult,C:white}X1.5{} Mult,",
            "but have a {C:green}1 in 2{} chance to {C:attention}destroy{} themselves"
        }
    },
    atlas = 'smiler',
    pos = { x = 0, y = 0 },
    rarity = 2,
    cost = 5,
    blueprint_compat = true,
    eternal_compat = true,
    perishable_compat = true,
    unlocked = true,
    discovered = true,
    config = { extra = { Xmult = 1.5, odds = 2 } },
    loc_vars = function(self, info_queue, card)
        local new_numerator, new_denominator = SMODS.get_probability_vars(card, 1, card.ability.extra.odds, 'j_sink_smiler') 
        return { vars = { card.ability.extra.Xmult, new_numerator, new_denominator, colours = { HEX('FFFF00') } }, }
    end,
    calculate = function(self, card, context)
        if context.individual and context.cardarea == G.play and context.other_card:is_face() then
            do return {
                Xmult = card.ability.extra.Xmult
            } end
            if SMODS.pseudorandom_probability(card, 'sink_smiler', 1, card.ability.extra.odds) then
                return {
                remove = true,
                }
            end
        end
    end
}```
this code wont trigger the odds to destroy a [played] face card?
slim ferry
#

because you are always returning before the probability happens

#

also its just not in the correct context to begin with

brittle yacht
#

im so smart

slim ferry
#

you need to do it in context.destroy_card with the same other checks

slate turtle
#

fuck

#
--first played card is retriggered for every hand destroyed this ante
SMODS.Joker {
    -- How the code refers to the joker.
    key = 'sailboat',
    atlas = 'JokersGrabBag',
    pos = { x = 1, y = 0 },
    rarity = "gb_boss",
    config = { extra = { repetitions = 1}},
    loc_txt = {
        ['name'] = 'Compass',
        ['text'] = {
            [1] = 'Played number cards have a',
            [2] = '{C: green}1 in 5{} chance to be retriggered.',
        },
        ['unlock'] = {
            [1] = 'Unlocked by default.'
        }
    },
    cost = 7,
    blueprint_compat = false,
    perishable_compat = true,
    eternal_compat = true,
    demicoloncompat = true,
    discovered = true,
    unlocked = true,
    loc_vars = function(self, info_queue, card)
        return { vars = { card.ability.extra.odds} }
    end,
    if context.repetition and context.cardarea == G.play then
        if context.other_card == context.scoring_hand[1] then
            return {
                repetitions = card.ability.extra.repetitions,
                 message = localize('k_again_ex')
            }
        end
    end,
in_pool = function(self, args)
    return gb_is_blind_defeated("bl_wheeloffortune_compass")
end
set_badges = function (self, card, badges)
    SMODS.create_mod_badges({ mod = SMODS.find_mod("GrabBag")[1] }, badges)
end
}```
glass scaffold
#

So tried hooking some functions in controller.lua, and now I have this.

There are apparently no other instances of this error in the server.

brittle yacht
#

return { vars = {colours = { HEX('#3E436F'), HEX('#FF0000') } }, { extra = { card.ability.extra.Xchips, }, } }
colours crashes my game, what did i format wrong

glass scaffold
#

Also, mind providing crash log?

brittle yacht
#

yes

#

uh hold on

#

is it from something else?

glass scaffold
#

Can you screenshot your code? I wanna see something to mark it out of possibilities real quick.

brittle yacht
#

the function isnt done yet, im js trying to format the text first

glass scaffold
# brittle yacht

Why are you trying to do extra = {card.ability.extra.XChips} in the loc_vars?

brittle yacht
#

i just realized that

#

as i was reding it

glass scaffold
#

That MIGHT be causing it.

brittle yacht
#

ill check rq

#

ah nope

#

sma ecrash log

#

*same crash log

#

nvm i fixed irt

#

*it

#

thanks

glass scaffold
glass scaffold
glass scaffold
dawn knoll
#

the code retriggers the effects 7 more times

#

and it also stays highlighted even after discarding

#

nevermid

#

it CONTINUOUSLY retriggers and add glitched, nonexistant cards when it triggers

glass scaffold
#

I think SomethingCom gave me a way to stop that from happening a while ago.

gusty compass
#

what am i possibly doing wrong here to get this result

frosty dock
gusty compass
#

i checked the 2x file and it apparently is 2x

dawn knoll
knotty wren
glass scaffold
knotty wren
frosty dock
knotty wren
#

yeah because of what the other person said, in vanilla it's 1.0

frosty dock
#

that is for anything that isn't already weighted in vanilla

knotty wren
#

I just wanted to make sure

gusty compass
glass scaffold
frosty dock
#

for boosters, the weights are built around 1 as default, but it'd still be 10 if you were to not specify one

#

ultimately you can scale your weights however you like, what matters is what other objects exist to interact with it

outer meteor
#

My mod is murdering me in San Fransisco rn.

glass scaffold
outer meteor
#

I'm trying to follow Astra's modding guide but it's killing me anyway

#

Uuuhhhh

#

I really do not know

#

It was working fine at first

glass scaffold
outer meteor
#

But I started working on the first Joker and it crashes on launch now

outer meteor
#

I got a little help in Support, supposedly I had a typo, but when I fixed it I'm still getting the crash

#

I fixed the NSFS typo to NFS

glass scaffold
outer meteor
#

Wait now it's saying NFS is a typo as well

fading rivet
#

hmm

#

can you send the code

glass scaffold
#

NFS deals with the file system if I'm not mistaken

fading rivet
#

correct

outer meteor
fading rivet
#

please send the code

outer meteor
#

Here

glass scaffold
outer meteor
#

It was working fine tho

fading rivet
#

iirc its just NFS

#

not SMODS.NFS

frosty dock
#

this is an issue of your smods being old

outer meteor
#

I've been playing with mods on this version and it's been fine

frosty dock
#

SMODS.NFS is newer than the smods you have

outer meteor
#

OOOHHHHHHHH.

frosty dock
#

the guide is made with current smods in mind

outer meteor
#

OMG.

frosty dock
#

which means you'll run into issues using something older

outer meteor
#

Is there a process I need to go through to replace the version?

glass scaffold
#

Yeah, it's best to try and keep up with the newest (non-dev!) version when possible, even if it requires refactoring code.

fading rivet
#

update the location for the lsp but thats about it

outer meteor
#

Or can I just take the current version out and plop the new one in.

glass scaffold
fading rivet
glass scaffold
fading rivet
#

no, but it can make updating harder

outer meteor
#

Fingers crossed

glass scaffold
outer meteor
#

You're all evil /j

#

You're sneaky fiends.

glass scaffold
outer meteor
#

Ope!

fading rivet
#

so uh

#

there is no lovely 1.0.0

outer meteor
#

That didn't work DX

glass scaffold
wanton jolt
#

i made lovely 1.0.0

fading rivet
#

0.9.0 is the most recent version

wanton jolt
fading rivet
slim ferry
wanton jolt
outer meteor
#

Sniff sniff

#

Hey guyyyss

glass scaffold
outer meteor
#

I downloaded the newest version and that didn't work either :(

fading rivet
#

why not

slim ferry
#

what does it say now

fading rivet
#

whats the crash

glass scaffold
wanton jolt
#

like if you dont know what you're doing i think my tool is very "i dont know what i'm doing" friendly

outer meteor
#

Oh I just forgot to remove the old version am stoopid

fading rivet
#

cuase you actaully noticed the issue

outer meteor
#

WHY WON'T YOU ACCEPT MEEEEEEE

#

IT'S NOT WORKING DX

slim ferry
#

what does it say now

outer meteor
#

The same thing as before :(

glass scaffold
slim ferry
#

the lovely thing?

fading rivet
#

did you delete the wrong verison.dll?

outer meteor
#

WAIT IT'S BACK

slim ferry
#

oh

#

what

outer meteor
#

I removed the old version and it CAME BACK

#

WHAT

slim ferry
#

do you mean the lovely folder

outer meteor
#

Like a haunted doll I threw out DX

slim ferry
#

because thats. thats not lovely

fading rivet
slim ferry
#

it just contains logs and stuff

outer meteor
#

YES

#

I fully deleted it

#

But it's BACK

fading rivet
#

yeah thats just an info folder

fading rivet
#

go into your steam folder

#

and do what eris said

glass scaffold
#

Yeah, that's fine if it reappears.

#

Sometimes you'll need the LOVELY folder as it'll log crashes.

fading rivet
#

or just use feli's thingy

wanton jolt
#

can u use my thing

outer meteor
#

Okay I did it AGAIN

wanton jolt
fading rivet
wanton jolt
#

yeah that too

#

can u use my thinking cap

outer meteor
#

WHAT THE FUCK IS GOING ON

fading rivet
#

🤔

slim ferry
outer meteor
#

IT'S BACK AGAIN

#

WHAT THE HELL

slim ferry
#

yeah you shouldnt delete the lovely folder

fading rivet
glass scaffold
#

Please stop deleting the LOVELY folder

wanton jolt
#

me when i delete the lovely folder

slim ferry
#

are you even reading

glass scaffold
#

It's fine, it won't be an issue

slim ferry
#

;sob:

outer meteor
#

I didn't delete it this time DX

slim ferry
#

yeah but

outer meteor
#

I just moved it OUT

slim ferry
#

its meant to come back

glass scaffold
outer meteor
#

Whyyyyyy...........

slim ferry
#

as i said it contains logs and stuff

outer meteor
#

I want the new one :(

wanton jolt
#

charabud

#

are you on windows

outer meteor
#

Yea :3

slim ferry
#

you should follow the install guide on the lovely github

wanton jolt
slim ferry
#

mu

wanton jolt
#

try this if you cant read

slim ferry
#

µ

wanton jolt
#

french keyboard moment

#

i just have a mu key

outer meteor
#

😭

glass scaffold
outer meteor
#

Stop bullying meeeee

#

I'm too duuuumbb

wanton jolt
#

i'm not bullying you

slim ferry
#

read the messages 😭

wanton jolt
#

i'm directing you to an easy installer

outer meteor
#

I'm REEEAAADIIIING

slim ferry
#

lovely github install guide

knotty wren
#

I did the atlas on these cards the same I did for all the others but they don't appear in game?

glass scaffold
wanton jolt
#

its so easy

slim ferry
#

did you actually make this a gif

#

thats crazy

wanton jolt
#

yes

slim ferry
#

the shilling knows no bounds

glass scaffold
wanton jolt
#

its so i can display how easy it is on the ezInstaller thread

outer meteor
#

I'm sorry I'm so dumb chat

wanton jolt
#

because i've seen 500 people struggle with installing this

wanton jolt
glass scaffold
outer meteor
#

Is this info on replacing it DX

outer meteor
#

This doesn't look like info on replacing it DX

fading rivet
wanton jolt
#

what is a dx

fading rivet
#

put the new version.dll there

glass scaffold
#

Just remove the old version.dll and slap in the new one.

fading rivet
wanton jolt
#

o kurwa

slim ferry
glass scaffold
slim ferry
#

and getting rid of the old one but it should prompt you to do that anyway

wanton jolt
knotty wren
#

I didn't notice

outer meteor
#

Okay

#

It SHOULD

#

Work this time

wanton jolt
#

if not use the installer

slim ferry
#

stop shilling

wanton jolt
#

:(

outer meteor
#

NOOOOO

#

STUPID STUPID STUPID GAHH

#

FOOOLISH HANDS

#

RUUIIIIIIN EVERRYTHIIIING /j

#

I'm gonna use the thingy....

#

BROOOOOOO

#

WHY IS IT TRYING TO OPEN IN MY THING

#

WHY

#

ARE YOU DOING THIS

glass scaffold
#

whar

outer meteor
#

I'm SO frustrated DX

wanton jolt
outer meteor
#

WHY ARE YOU DOING THAT DX

wanton jolt
#

what did you download

#

the py file?

outer meteor
#

The ezinstaller :(

#

It's trying to open in my code DX

wanton jolt
#

did you follow instructions and click the link

outer meteor
#

😁

#

It's working now

glass scaffold
#

insert FNAF cheer sound

outer meteor
#

I am going to CRY.

outer meteor
#

Like a BABY

#

WHYYYYY

#

WHY ARE YOU CRASHING NOOOW!!>????

wanton jolt
#

ezInstaller W

glass scaffold
#

oh god

wanton jolt
outer meteor
wanton jolt
#

use amulet instead of talisman

outer meteor
#

Is that a requirement...?

wanton jolt
#

its just better coded

glass scaffold
slim ferry
#

this is unrelated in this case though

outer meteor
#

sighs

#

Fuck my baka chud life

glass scaffold
#

Amulet is Talisman but without the jank.

outer meteor
#

Where do I download it :0

slim ferry
#

but whatevr

outer meteor
#

Found it :3

slim ferry
#

oh okay

outer meteor
#

This time

#

This time for sure

#

Please please please

glass scaffold
#

-# dear god, please let this work.

slim ferry
#

fusion jokers is also a lil outdated i think

#

i recall it having issues lately

outer meteor
#

I'm so tired

#

I'm so tired of this

glass scaffold
outer meteor
#

Same thing...

slim ferry
#

its going to be the same yeah

#

because as i said talisman is entirely unrelated to the issue at hand

outer meteor
#

I don't UNDERSTAND

#

What does it WANT

#

Money???

slim ferry
#

i would check if it works without any mods

#

and then add them back one by one

outer meteor
#

I'll check

glass scaffold
# outer meteor

The weirder part is that this error is so rare that there's no other time this has been seen in the wild and submitted in the server.

slim ferry
#

i mean

outer meteor
#

WHAT

slim ferry
#

i wouldn't call it "rare"

outer meteor
#

My mind is an enigma

slim ferry
#

moreso just. likely an issue with some mod

#

which people dont tend to play a lot

#

or a combination of mods after a specific version of steamodded

outer meteor
#

My head hurts

glass scaffold
slim ferry
#

not necessarily

#

any mod could have any issue caused by any other mod in theory

outer meteor
#

YEEEEEEEEESSSSSSSSS

#

IT WORKED

slim ferry
#

or by itself

outer meteor
#

IT'S HERE

#

IT'S HERE

#

GET TO THE GUn

#

LIGHT HIM UP

#

LIIIGHT HIM UP

#

CAREFUL, DON'T LET THE GUN OVERHEAT

#

HE'S NOT TAKING ENOUGH DAMAGE, GET SOME HEADSHOTS!

#

Anyway

glass scaffold
outer meteor
#

I'm going to VERY delicately put my mods BACK into the folder

#

And it will WORK

#

Correct?

slim ferry
glass scaffold
slim ferry
#

though hooks almost never cause incompatibilities

outer meteor
#

It's my mod

#

Of course it's my mod :(

#

Literally the first mod I put in

frosty dock
#

show code

glass scaffold
outer meteor
#

I HAD TO CLOSE MY CODE TO TAKE MY MOD OUT ONE SECOND DX

#

What COULD be the issue???

frosty dock
#

show code first

glass scaffold
outer meteor
#

What part of it DX

#

Main?

glass scaffold
#

Well, what all does your mod add currently?

glass scaffold
outer meteor
#

A single Joker

glass scaffold
#

So either the main file or jokers.lua if you're doing it in a modular-like way.

outer meteor
#

Here's the code

#

Pretty yellow lights

frosty dock
#

this ain't right

slim ferry
#

why is SMODS just randomly there

fading rivet
slim ferry
#

in the middle of the joker

frosty dock
#

but main file please

glass scaffold
outer meteor
#

I DON'T KNOW

#

I WAS COPYING THE VIDEO

fading rivet
slim ferry
#

bro put SMODS instead of a comma

frosty dock
#

probably autocomplete being dum

fading rivet
#

#define SMODS ,

outer meteor
#

STOP BULLYING MEEEEEE

slim ferry
#

fair

#

:3

wanton jolt
frosty dock
outer meteor
#

This is who you're bullying btw

frosty dock
#

tfym bullying

wanton jolt
#

maybe u should stop coding on a hpone

outer meteor
#

XD

#

I'M KIDDING

gusty compass
#

how would i go around getting the list of cards played in an ante, i need a list

#

😭

slim ferry
#

#define , SMODS

frosty dock
wanton jolt
tawny mica
#

HelloWorld!("print")

wanton jolt
#

in vanillaremade

#

here