#⚙・modding-general

1 messages · Page 140 of 1

limber moss
#

can anyone help me get mods working for a Mac? Can’t seem to get it to work at all despite following posted steps

exotic shadow
#

Did you get lovely working?

wise bone
#

Hi all. Trying to install cryptid from a vanilla game and would love some help

wise bone
#

just watched it. im having issues with downloading lovely with widows defender

#

it doesnt want to let me allow it

exotic shadow
rugged dune
#

if i was aure i think i wouldve gone insane by now tbh

exotic shadow
#

I mean to be in aure's position pretty much just makes you clinically insane

rugged dune
#

honestly

#

this ones a bit wordy lol

woven mulch
#

Does someone have experience modding on Mac? Is it possible to get cryptid running?

exotic shadow
#

Yes

#

Follow the instructions on lovelys githuv repo for Mac to install it and then you can install steamodded, talisman and cryptic the same way as on windows, (but the path is diffedent)

rugged dune
muted osprey
#

Hi, I'm back. I tried to tackle Aura and Wraith, but there are two problems that I noticed:

  • I set spectral_level to 7, which should give me a guaranteed polychrome on every card with Aura. However, Aura's edition distribution hasn't changed, even though I supposedly modified the poll_edition in common_events.lua.
  • When I tried to verify the value of spectral_level, I tried using an Ankh on a negative joker. This should have duplicated it and kept the negative, but it didn't.
  • Also, Judgement's floating joker disappear after exiting the game and re-entering for some reason (the invisible one is no longer present, I've fixed that)
rugged dune
#

try change the patch to before instead of at

#

[[patches]]
[patches.pattern]
target = "card.lua"
pattern = "card:set_edition(nil, true)"
position = "at" # before, after, or at
payload = "if spectral_level <= 3 then card:set_edition(nil, true) end"
match_indent = true

#

also this patch

#

put overwrite = true under it

muted osprey
rugged dune
#

change it to false

#

function copy_card(other, new_card, card_scale, playing_card, strip_edition)

#

chose_joker.edition and chose_joker.edition.negative basically means

#

itll check if the joker has an edition

#

if it does then it checks the second part of the and

#

so itll return true if its negative or false if not

#

so that way it only strips negative

muted osprey
#

okay it works now. Ankh problem resolved.

There is still the problem with Aura's edition distribution. I tried to change poll_edition in common_events.lua, but I didn't notice a distribution change, even at spectral_level = 7, where it supposedly should be guaranteed to be polychrome.

rugged dune
#

open up your lovely dump and see wha tthe poll edition function looks like

muted osprey
# rugged dune open up your lovely dump and see wha tthe poll edition function looks like
    _mod = _mod or 1
    local edition_poll = pseudorandom(pseudoseed(_key or 'edition_generic'))
    if _key == 'aura' then
            if edition_poll > 0.85 - (0.15*spectral_level) then
                return {polychrome = true}
            elseif edition_poll > 0.5 - (0.1*spectral_level) then
                return {holo = true}
            else
                return {foil = true}
            end
    elseif _key == 'wheel_of_fortune' then
            if edition_poll > 0.85 - (0.15*tarot_level) then
                return {polychrome = true}
            elseif edition_poll > 0.5 - (0.1*tarot_level) then
                return {holo = true}
            else
                return {foil = true}
            end
    elseif _guaranteed then
            if edition_poll > 1 - 0.003*25 and not _no_neg then
            return {negative = true}
        elseif edition_poll > 1 - 0.006*25 then
            return {polychrome = true}
        elseif edition_poll > 1 - 0.02*25 then
            return {holo = true}
        elseif edition_poll > 1 - 0.04*25 then
            return {foil = true}
        end
    else
        if edition_poll > 1 - 0.003*_mod and not _no_neg then
            return {negative = true}
        elseif edition_poll > 1 - 0.006*G.GAME.edition_rate*_mod then
            return {polychrome = true}
        elseif edition_poll > 1 - 0.02*G.GAME.edition_rate*_mod then
            return {holo = true}
        elseif edition_poll > 1 - 0.04*G.GAME.edition_rate*_mod then
            return {foil = true}
        end
    end
    return nil
end```
#

By the way, I don't actually know what _key or 'edition_generic' means, since _key isn't a boolean

#

The ands and ors are really confusing me

rugged dune
#

in lua you can use and and ors however lol

#

yeah its strange

#

but useful

#

and will always return the 2nd thing if its true

#

or always returns 2nd if its false

#

so you can do some neat things

#

in this case the pseudoseed will be _key, or if _key is nil then itll be 'edition_generic'

rigid jewel
#

poll_edition is overridden by SMODS so lovely patching the function will not do anything.

rugged dune
#

thank you

#

i had no idea why it wouldnt work tbh

muted osprey
#

Okay! I fixed it now. I did that by defining a new function poll_edition2 (independent from the existing poll_edition) in card.lua which has the modified edition rates

#

One problem left to go — the Judgement floating joker issue

rugged dune
#

oh are you using the joker buffer?

muted osprey
rugged dune
#

have a look at riff raff

#

it calcs how many jokers to make

#

increases the joker buffer by that amount

#

creates the jokers

#

then resets the buffer to 0

muted osprey
# rugged dune have a look at riff raff

this is what riff-raff says

                local jokers_to_create = math.min(2, G.jokers.config.card_limit - (#G.jokers.cards + G.GAME.joker_buffer))
                G.GAME.joker_buffer = G.GAME.joker_buffer + jokers_to_create
                G.E_MANAGER:add_event(Event({
                    func = function() 
                        for i = 1, jokers_to_create do
                            local card = create_card('Joker', G.jokers, nil, 0, nil, nil, nil, 'rif')
                            card:add_to_deck()
                            G.jokers:emplace(card)
                            card:start_materialize()
                            G.GAME.joker_buffer = 0
                        end
                        return true
                    end}))   
                    card_eval_status_text(context.blueprint_card or self, 'extra', nil, nil, nil, {message = localize('k_plus_joker'), colour = G.C.BLUE}) 
            end
rugged dune
#

yeah you can probably rip like all that code

#

just remove the math.min

#
local jokers_to_create = mG.jokers.config.card_limit - (#G.jokers.cards + G.GAME.joker_buffer))
if joker_to_create > 0 then
                G.GAME.joker_buffer = G.GAME.joker_buffer + jokers_to_create
                G.E_MANAGER:add_event(Event({
                    func = function() 
                        for i = 1, jokers_to_create do
                            local card = create_card('Joker', G.jokers, nil, 0, nil, nil, nil, 'rif')
                            card:add_to_deck()
                            G.jokers:emplace(card)
                            card:start_materialize()
                            G.GAME.joker_buffer = 0
                        end
                        return true
                    end}))   
end```
#

smth like that

#

indentation is weird sorry

muted osprey
#

Here is what my Judgement patch currently looks like

[[patches]]
[patches.pattern]
target = "card.lua"
pattern = "local card = create_card('Joker', G.jokers, self.ability.name == 'The Soul', nil, nil, nil, nil, self.ability.name == 'Judgement' and 'jud' or 'sou')"
position = "after" # before, after, or at
payload = """
if self.ability.name == 'Judgement' then
  for i = 1, tarot_level, 1 do
    if #G.jokers.cards < G.jokers.config.card_limit then
      G.GAME.joker_buffer = G.GAME.joker_buffer or 0 + tarot_level
      card = create_card('Joker', G.jokers, self.ability.name == 'The Soul', nil, nil, nil, nil, self.ability.name == 'Judgement' and 'jud' or 'sou')
"""
match_indent = true

[[patches]]
[patches.pattern]
target = "card.lua"
pattern = "if self.ability.name == 'The Soul' then check_for_unlock{type = 'spawn_legendary'} end"
position = "before" # before, after, or at
payload = """G.GAME.joker_buffer = 0
end
end
end"""
match_indent = true```
#

but something is causing the floating joker

rugged dune
#
[patches.pattern]
target = "card.lua"
pattern = "local card = create_card('Joker', G.jokers, self.ability.name == 'The Soul', nil, nil, nil, nil, self.ability.name == 'Judgement' and 'jud' or 'sou')"
position = "after" # before, after, or at
payload = """
if self.ability.name == 'Judgement' then
  for i = 1, tarot_level, 1 do
    if #G.jokers.cards < G.jokers.config.card_limit then
      G.GAME.joker_buffer = G.GAME.joker_buffer or 0 + 1
      card = create_card('Joker', G.jokers, nil, nil, nil, nil, nil, 'jud')
      G.GAME.joker_buffer = 0
"""
match_indent = true```
#

try that

#

im not if these even causes the issue tbh but it might

grand geode
#

am i cooking

rugged dune
#

for sure

#

even tho half the effect isnt done yet

rugged dune
grand geode
grand geode
rugged dune
#

aw

#

it should just so it can say phase :3 instead

#

oo i should make the different cards have messages when their effect goes off actually

muted osprey
rugged dune
#

im not really sure what to suggest then sorry

#

i dont know what causes the bug

muted osprey
# rugged dune im not really sure what to suggest then sorry

Oh my gosh this works

[[patches]]
[patches.pattern]
target = "card.lua"
pattern = "local card = create_card('Joker', G.jokers, self.ability.name == 'The Soul', nil, nil, nil, nil, self.ability.name == 'Judgement' and 'jud' or 'sou')"
position = "at" # before, after, or at
payload = """
if self.ability.name == 'Judgement' then
  for i = 1, tarot_level, 1 do
    if #G.jokers.cards < G.jokers.config.card_limit then
      local card = create_card('Joker', G.jokers, self.ability.name == 'The Soul', nil, nil, nil, nil, self.ability.name == 'Judgement' and 'jud' or 'sou')
"""
match_indent = true

[[patches]]
[patches.pattern]
target = "card.lua"
pattern = "if self.ability.name == 'The Soul' then check_for_unlock{type = 'spawn_legendary'} end"
position = "before" # before, after, or at
payload = """end
end
end"""
match_indent = true```
I was expecting an `attempt to index global card (a nil value)` but this actually works. The floating card has been suppressed.
#

(Of course, by doing this, I broken The Soul card, so I'll need another conditional for that)

rugged dune
#

oh right it wasnt overwriting

#

good job

muted osprey
# rugged dune oh right it wasnt overwriting

I also realized, the overwrite = true isn't even necessary; I just had to change the after to at and add local before card.
Usually, this would lead to a attempt to index global card (a nil value) error, but card isn't used outside that if statement

rugged dune
#

you know if you use pos = at it doesnt overwrite i think

grand geode
#

no effects done

lean dune
#

the overwrite field never actually did anything

rugged dune
#

oh ignore me then 💀

lean dune
#

it's just a remnant of the way it was maybe supposed to later work at one point

rugged dune
#

i have no clue

#

as you can tell

grand geode
#

Blueprint should count as a diamond suited card

#

funny shape

rugged dune
#

i would like to have them count as unique cards, like brainstorm card be a 10 of smth cos of the art

#

but i wouldnt really know how to

#

because atm they just act as stone cards kinda

#

i wouldnt want you to be able to change the rank or suit

unkempt dew
#

We need archipelago randomiser support for baltro, that sounds so baller

muted osprey
unkempt dew
#

IT ALREADY EXIST

#

LETS GOO

grand geode
#

yea

#

although you need to go to the after dark server to talk about it

unkempt dew
#

hmm?

grand geode
#

it's marked as 18+ (which is really fucking stupid), so it has to be moved to ap after dark

unkempt dew
rugged dune
#

also this line is confusing me a bit ((#G.jokers.cards >= G.jokers.config.card_limit) and (spectral_level <= 3)) or ((#G.jokers.cards >= G.jokers.config.card_limit) and (spectral_level >= 4) and (not G.jokers.cards[1].edition.negative))

#

why not just if (#G.jokers.cards <= G.jokers.card_limit and spectral_level <= 3) or spectral_level > 3 then

muted osprey
#

Here is where this line is used:

    if self.ability.name == 'Ankh' then 
        if ((#G.jokers.cards >= G.jokers.config.card_limit) and (spectral_level <= 3)) or ((#G.jokers.cards >= G.jokers.config.card_limit) and (spectral_level >= 4) and (not G.jokers.cards[1].edition.negative)) then
            alert_no_space(self, G.jokers)
            return true
        end
    end
end```
rugged dune
#

i see yeah its not like the other can use consumable function

#

my bad

#

why not just if (#G.jokers.cards >= G.jokers.card_limit and spectral_level <= 3)

#

wait why does it return true

#

am i stupid or smthj

muted osprey
rugged dune
#

right i see what the in game function does now

#

seems like a confusing way to lay it out

#

(not G.jokers.cards[1].edition.type == 'negative' might work

#

actually

#

do

#

not (G.jokers.cards[1].edition and G.jokers.cards[1].edition.negative)

rugged dune
#

👍

muted osprey
#

I'll work on Ouija and Sigil next

rugged dune
#

good luck

formal wedge
#

im trying to figure out how i should balance this joker

rugged dune
#

it sounds pretty balance already tbh

#

might need to be made a bit better i reckon

#

maybe uncommon?

#

if you compare it to smth like bloodstone

#

ofc bloodstone isnt guaranteed

#

but its uncommon

#

doesnt lose any money

formal wedge
#

true true

rugged dune
#

and easier to play 5 hearts than 5 tens

formal wedge
#

i was looking at Baron but then i forgot Baron is held in hand not played

rugged dune
#

also baron can be retriggered my mime

#

10s have no vanilla way to be retriggered apart from red seals

#

i think

#

well ig paradoielia and sock and buskin

#

but that doesnt really count

#

i dont think im one to talk about balancing jokers tbf tho

grand geode
rugged dune
#

ah the phases make sense now

#

so do you keep replenishing the hands in game too, or is that just for testing?

#

makes it seem like a proper boss fight

grand geode
#

yes

rugged dune
#

thats pretty cool

#

music is freaking me out tho ngl

grand geode
#

good

rugged dune
#

what is lob corp even about bruh 😭

formal wedge
#

uncommon BEAM (spoiler for like, slightly suggestive art?)

rugged dune
#

that art is incredible

formal wedge
#

tyty :)

muted osprey
# rugged dune good luck

I tried to make level 2+ sigil change the suit of all cards in hand to the selected card:

[patches.pattern]
target = "card.lua"
pattern = "and #G.hand.cards > 1 then"
position = "after" # before, after, or at
payload = """if (self.ability.name == 'Sigil' and spectral_level >= 2 and (G.hand and (#G.hand.highlighted >= 2))) then
  return false
elseif (self.ability.name == 'Ouija' and spectral_level >= 3 and (G.hand and (#G.hand.highlighted >= 2))) then
  return false
elseif (self.ability.name == 'Immolate' and spectral_level >= 2 and (G.hand and (#G.hand.highlighted == 0))) then
  return false
end
"""

[[patches]]
[patches.pattern]
target = "card.lua"
pattern = "local suit_prefix = _suit..'_'"
position = "after" # before, after, or at
payload = """if spectral_level >= 2 and (G.hand and #G.hand.highlighted == 1 and G.hand.highlighted[1]) then
  local suit_prefix = G.hand.highlighted[1].suit..'_'
end"""
match_indent = true```

But I got this error:
`(SMODS _ "core/game_object.lua"):1780: assertion failed!`
rugged dune
#

@lean dune

digital belfry
#

where can i look for joker templates

rugged dune
#

example mod in steamodded has a few

digital belfry
#

thanks

rugged dune
#

np

grand geode
rugged dune
#

oh because its not suit

grand geode
#

about normal people

rugged dune
#

as a normal person myself im surprised i dont know more about it

rugged dune
#

so try .suit[1] maybe?

#

actually idk if you can index strings in lua like that

#
[patches.pattern]
target = "card.lua"
pattern = "local suit_prefix = _suit..'_'"
position = "after" # before, after, or at
payload = """if spectral_level >= 2 and (G.hand and #G.hand.highlighted == 1 and G.hand.highlighted[1]) then
  local suit_prefix = string.sub(G.hand.highlighted[1].suit, 1, 1):upper() ..'_'
end"""
match_indent = true```
#

try that maybe?

#

oh actually

#

you might need to do .hand.highlighted[1].base.suit

muted osprey
#

also, I just realized that the local is for that if only, so I probably need to remove the local

rugged dune
#

you dont need the local

#

like at all dw

rugged dune
#

and then

#

if that doesnt work

#
[patches.pattern]
target = "card.lua"
pattern = "local suit_prefix = _suit..'_'"
position = "after" # before, after, or at
payload = """if spectral_level >= 2 and (G.hand and #G.hand.highlighted == 1 and G.hand.highlighted[1]) then
  local suit_prefix = string.sub(G.hand.highlighted[1].base.suit, 1, 1):upper() ..'_'
end"""
match_indent = true```
grand geode
rugged dune
#

try that

#

wow

#

when you say its a game do you mean like a standalone game or are you the sole creator of its entirety?

rugged dune
#
[[patches]]
[patches.pattern]
target = "card.lua"
pattern = "local suit_prefix = _suit..'_'"
position = "after" # before, after, or at
payload = """if spectral_level >= 2 and (G.hand and #G.hand.highlighted == 1 and G.hand.highlighted[1]) then
  local suit_prefix = G.hand.highlighted[1].base.suit..'_'
end"""
match_indent = true```
#

try that

rugged dune
#

no way this is literally on my wishlist 💀

#

i swear im stupid

#

its like how i didnt connect that flash card the joker is based on flash cards for revising

grand geode
#

lmao

rugged dune
#

no need for me to buy it tho if i can play it in balatro

digital belfry
#

probably somebody did this already, if not wow (WIP)

#

now to think some important jester place or something

rugged dune
#

am i slow?

grand geode
#

give jihoon your money

rugged dune
rugged dune
#

my money is not up rn

muted osprey
rugged dune
#

i think im out of suggestions then sorry

#

doesnt help that i dont actually know what assertion failed means either

grand geode
rugged dune
#

no way they got jokers from balatro

muted osprey
# rugged dune i think im out of suggestions then sorry

However, what I find weird is that this error is happening even when I don't select a card to begin with, even though there is an if statement that means that this suit_prefix = string.sub(G.hand.highlighted[1].base.suit, 1, 1):upper() ..'_' should only occur if I select a card

rugged dune
#

try throw a print in the patch and see if it is getting that far

rugged dune
#

i think ive spent more time on balatro than outside this year

grand geode
#

mood

muted osprey
steel halo
#

can i get some mod reccomendations

rugged dune
#

idek know what asserting is tbh

muted osprey
rugged dune
#

its not released yet

#

but the guy making it is hot and sexy

#

and hes gonna release it real soon i hear

steel halo
#

alr cool

#

any that r out now

rugged dune
#

this is my mods folder so ive actually got no clue

#

lob corp seems really cool

#

cryptid is a classic

steel halo
#

alr cause rn i fuck around with cryptid but i want somthing new

rugged dune
#

maybe have a look through this thread

steel halo
rugged dune
#

i think you can download them all at once

steel halo
#

alr

rugged dune
#

i think theres settings for it too

steel halo
#

okay cool

rugged dune
#

i saw someone say smth about a fine tuned option

#

which i assume is the mod pack creator putting together not all 70 mods, but some of them that fit well and work together

#

so it might have some degree of customisation

steel halo
#

okay ill have a look

rugged dune
#

and if you play w a bunch and find some you like ofc you can always just download them seperately

#

sorry i didnt mean to keep rambling lol

#

nw

#

s

rugged dune
muted osprey
# rugged dune lemme have a look

It turns out, the assertion failed is happening even when both of the patches related to Sigil are removed, which is very strange

rugged dune
#

oh

steel halo
digital belfry
#

eeehh...

rugged dune
#

if you look at the is suit function in card.lua

#

self.base.suit

rugged dune
muted osprey
# rugged dune oh

(SMODS _ "core/game_object.lua"):1780: assertion failed!

Here is what line 1780 in SMODS (SMODS _ "core/game_object.lua") looks like:

        use = function(self, card, area, copier)
            local used_tarot = copier or card
            juice_flip(used_tarot)
            local _suit = pseudorandom_element(SMODS.Suits, pseudoseed('sigil'))
            for i = 1, #G.hand.cards do
                G.E_MANAGER:add_event(Event({
                    func = function()
                        local _card = G.hand.cards[i]
                        assert(SMODS.change_base(_card, _suit)) -- this is line 1780
                        return true
                    end
                }))
            end
            for i = 1, #G.hand.cards do
                local percent = 0.85 + (i - 0.999) / (#G.hand.cards - 0.998) * 0.3
                G.E_MANAGER:add_event(Event({
                    trigger = 'after',
                    delay = 0.15,
                    func = function()
                        G.hand.cards[i]:flip(); play_sound('tarot2', percent, 0.6); G.hand.cards[i]:juice_up(0.3, 0.3); return true
                    end
                }))
            end
            delay(0.5)
        end,
    })```
The other error `WARN :: Util :: Tried to call SMODS.change_base with invalid arguments: suit="table: 0x18906b80", rank="nil"` suggests that I tried to turn the suit into a table.
rugged dune
#

its because its not geting a rank id assume

#
local rank_suffix = card.base.id < 10 and tostring(card.base.id) or
                                        card.base.id == 10 and 'T' or card.base.id == 11 and 'J' or
                                        card.base.id == 12 and 'Q' or card.base.id == 13 and 'K' or
                                        card.base.id == 14 and 'A'
                    card:set_base(G.P_CARDS[suit_prefix..rank_suffix])``` make sure this bits still in your code
muted osprey
rugged dune
#

mine works

#

maybe your steamodded is outdated?

steel halo
grand geode
#

compiled python

steel halo
#

alr

#

how do i use it

rugged dune
#

i havent actually used it myself so im not sure sorry

grand geode
#

me neither

steel halo
#

alr allg

rugged dune
#

oh yeah

grand geode
#

death

swift matrix
#

persuing those cards have the same "rank"

#

a spectrum regardless

rugged dune
#

they have no suit actually

swift matrix
#

oh I see

#

maybe

#

still... colorblind should still trigger, if they act like playing cards at all

#

right?

#

if I understand it at all

#

lol

#

idk i stupid

muted osprey
# rugged dune maybe your steamodded is outdated?

okay, I updated my steamodded, and this bug is patched now. But there's still a problem — even after selecting a card, Sigil is still not changing the cards to the suit of the selected card, and is still picking a random one.

[patches.pattern]
target = "card.lua"
pattern = "local _suit = pseudorandom_element({'S','H','D','C'}, pseudoseed('sigil'))"
position = "after" # before, after, or at
payload = """if spectral_level >= 2 and (G.hand and G.hand.highlighted[1]) then
  _suit = string.sub(G.hand.highlighted[1].base.suit, 1, 1)
end"""
match_indent = true```
swift matrix
#

(I'm sleepy dw, just being silly)

rugged dune
#

uh colourblind on playing cards will trigger even if theres no suit yeah

#

although it should also be on that sinful joker so im not sure why my code broke :(

swift matrix
#

I don't think I actually remember what colorblind jokers do

rugged dune
#

it just swaps mult and chips

#

so that one gives +3 chips for spade cards 💀

swift matrix
#

oh yeah I remember now

digital belfry
# digital belfry eeehh...

been thinking of mixing boardgames into balatro. i have no idea how.
skip everyone (uno)
sell this joker = +1 ante, reroll boss blind
tower (jenga)
+(chips/mult), +1 odds (+1 to 1 in x chance on itself) at the end of the blind, 1 in 10* chance to destroy itself
10 (sorry!)
x1 mult, gain x1.1 for every scoring hand that has at least a 10 and an ace
[in sorry, a 10 card lets you move 10 spaces forward or 1 space backwards, if someone has a better idea, please go ahead]

swift matrix
#

so yeah that's... not good

rugged dune
#

so much going on in chat im overstimmed

rugged dune
#

but it is good on other jokers

#

so risk reward or something probably

#

on another note which art do you prefer

#

this one^^

#

or

#

this one ^^

swift matrix
# rugged dune no its not 💀

so yeah I got confused for a second and thought that 'colorblind' would mean suit based jokers would trigger on any suit, kinda like an inverse wild card. I remember now what it actually does, though that would be a cool edition

rugged dune
#

that would be cool but only work on a small amount of jokers tho

swift matrix
#

well... not in the modded scene

#

tons of suit jokers out there with things like flounder's mod

#

and just the ortalab ones

rugged dune
#

again i dont play with many mods myself so i didnt even consider that

swift matrix
#

not to mention all the other ones mods add that have need a specific suit or suits to trigger

rugged dune
#

slowly whittling down the to do list for a ceres release

muted osprey
# rugged dune get it to print _suit rq

nothing comes out
besides, even after replacing the pseudorandom line with the selected suit line, it still gives pseudorandom, despite that line not even existing anymore

rugged dune
#

print(tostring(_suit))

#

it might be nil then

#

which isnt good

muted osprey
rugged dune
#

maybe

#

i havent really messed around w stuff like this so im def not the best person to ask

#

thoughts?

west hill
#

Looks like a potential stack overflow

muted osprey
# rugged dune maybe

Okay, I found some more info. My "Level 2 Sigil" is basically the same as the Sigil DX from the DX consumables mod
(This isn't really much of a problem, since for most consumables, there will be one level that matches stats with a DX card from the DX consumables mod)

rugged dune
#

surprisingly it can only retrigger oncee

#

tested it with 5 oops and it retriggered once, and when it did it gave the x chips again

#

not sure why or how but it works really nicely

rugged dune
#

i mean

#

borrow?

muted osprey
rugged dune
#

oh

#

youre gonna need someone with a bigger brain than me ngl

#

got lazy

muted osprey
rugged dune
#

if youre hooking to a function dont put it inside another function

#

i think

#

also what version of steamodded are you using?

muted osprey
rugged dune
#

i didnt think SMODS.INIT was necessary anymore

#

you mean 1. smth right?

muted osprey
muted osprey
#

I also didn't want to append this function to it, since then it would trigger the vanilla Sigil/Ouija first

rugged dune
#
  local card_use_consumeable_ref = Card.use_consumeable
  function Card.use_consumeable(self, area, copier)
    local used_tarot = copier or self
    if self.ability.name == 'Sigil' or self.ability.name == 'Ouija' then
        G.E_MANAGER:add_event(Event({trigger = 'after', delay = 0.4, func = function()
            play_sound('tarot1')
            used_tarot:juice_up(0.3, 0.5)
            return true end }))
        for i=1, #G.hand.cards do
            local percent = 1.15 - (i-0.999)/(#G.hand.cards-0.998)*0.3
            G.E_MANAGER:add_event(Event({trigger = 'after',delay = 0.15,func = function() G.hand.cards[i]:flip();play_sound('card1', percent);G.hand.cards[i]:juice_up(0.3, 0.3);return true end }))
        end
        delay(0.2)
        if self.ability.name == 'Sigil' and spectral_level >= 2 then
            local _suit = string.sub(G.hand.highlighted[1].base.suit, 1, 1)
            for i=1, #G.hand.cards do
                G.E_MANAGER:add_event(Event({func = function()
                    local card = G.hand.cards[i]
                    local suit_prefix = _suit..'_'
                    local rank_suffix = card.base.id < 10 and tostring(card.base.id) or
                                        card.base.id == 10 and 'T' or card.base.id == 11 and 'J' or
                                        card.base.id == 12 and 'Q' or card.base.id == 13 and 'K' or
                                        card.base.id == 14 and 'A'
                    card:set_base(G.P_CARDS[suit_prefix..rank_suffix])
                return true end }))
            end  
        end
        if self.ability.name == 'Ouija' and spectral_level >= 3 then
            local _rank = string.sub(G.hand.highlighted[1].base.rank, 1, 1)
            for i=1, #G.hand.cards do
                G.E_MANAGER:add_event(Event({func = function()
                    local card = G.hand.cards[i]
                    local suit_prefix = string.sub(card.base.suit, 1, 1)..'_'
                    local rank_suffix =_rank
                    card:set_base(G.P_CARDS[suit_prefix..rank_suffix])
                return true end }))
            end  
        end
        for i=1, #G.hand.cards do
            local percent = 0.85 + (i-0.999)/(#G.hand.cards-0.998)*0.3
            G.E_MANAGER:add_event(Event({trigger = 'after',delay = 0.15,func = function() G.hand.cards[i]:flip();play_sound('tarot2', percent, 0.6);G.hand.cards[i]:juice_up(0.3, 0.3);return true end }))
        end
        delay(0.5)
    end
  else
    card_use_consumable_ref(self, area, copier)
  end
end```
#

just do that

#

do you know how hooking works?

muted osprey
rugged dune
#

basically

#

you have the ref

#

you redefine the function

#

so whenever the function gets called

#

it calls your new one

#

so you can put code in it

#

and the you call the ref

#

so its like

#

you basically can put in your own code that gets run before the original function does

rugged dune
#

whenever use consumable is called

#

it calls your new function

#

if its sigil or ouija itll run your code

#

but if its not

#

then it runs the original function

#

youd forgotten to call the ref function

#

so what was happening was

#

whenever use consumable was called

#

it was running your code

#

which works for sigil and ouija

#

but it didnt call the original function if it wasnt sigil or ouija

#

hence why all other consumables broke

#

ill draw a diagram

#

because i like those

muted osprey
#

So it calls the NEW function, and if it's not in NEW, it then calls OLD, right?

rugged dune
#

kinda

#

usually what you do is this

#

ill find an example rq

#
local r_click_ref = Controller.queue_R_cursor_press
function Controller:queue_R_cursor_press(x, y)
    if self.hovering.target.ability and self.hovering.target.ability.set == 'Joker' then
        self.hovering.target:counter_lock()
    end
    r_click_ref(self, x, y)
end```
#

like this for example

#

whenever you right click

#

it calls my new function here

#

which does lua if self.hovering.target.ability and self.hovering.target.ability.set == 'Joker' then self.hovering.target:counter_lock() end

#

this

#

and then it calls the original anyway lua r_click_ref(self, x, y)

#

so whenever you press right click

#

it does whatever it normally does

#

but my little bit of code gets run before

#

in your case

#

what you can do

#

is if check if its sigil or ouija then do your own code

#

and if its not then do the old function

rugged dune
#

this is what your code does

#

or it does now

#
else
    card_use_consumable_ref(self, area, copier)
  end```
#

with this bit

#

without that what it was doing was

#

without calling the ref function

#

it does this

#

so all other consumables broke

#

i feel like i got a bit sidetracked there

rugged dune
#

another example of actual code

muted osprey
rugged dune
#
local calculate_joker_ref = Card.calculate_joker
function Card:calculate_joker(context)
    self:should_init()
    local ref_return = calculate_joker_ref(self, context)
    self:calculate_counters(context)
    return ref_return
end```
rugged dune
#

i missed an end by accident

#

but edited the message to add

#

it

#

sorry about that

rugged dune
#

it calculates counters

#

so hooking is good for getting code to run whenever a specific game function is called

#

at least as far as i understand

muted osprey
#

Also, I just realized it's base.id, not base.rank

rugged dune
#

ah yeah youll wanna change that too

sturdy canyon
#

card.ability.extra.smult

rugged dune
#

ah

#

thank you

#

and also thats annoying

#

why cant it just be consistent 😭

sturdy canyon
#

s_mult*

rugged dune
#

my code for that edition is already messy enough

sturdy canyon
#

ikr

rugged dune
sturdy canyon
#

this is LITERALLY FOR 4 JOKERS

#

WHY??

grand geode
#

not the worst i've seen

#

like if an effect is reused might as well just do it once

steel halo
#

what did i do

rugged dune
#

the way i do it is change the return

#

so it returns mult

#

which i have a swap for

steel halo
#

wait i got it

grand geode
#

betmma abilities bug that hasn't been fixed

steel halo
#

alr

#

does anyone have any mods that increase the amount of stakes similiar to cryptid

rugged dune
steel halo
#

alr allg

muted osprey
rugged dune
#

yeah youll need to add the base game stuff back in

#

1 sec

#

youll need this

if self.ability.name == 'Sigil' then
            local _suit = pseudorandom_element({'S','H','D','C'}, pseudoseed('sigil'))```
#

this bit

#

just check the level

#

oh wait

#

actually youll have to amend the can_use function

muted osprey
steel halo
#

what did i do this time

muted osprey
# rugged dune actually youll have to amend the can_use function

I already did that in lovely.toml

[patches.pattern]
target = "card.lua"
pattern = "and #G.hand.cards > 1 then"
position = "after" # before, after, or at
payload = """if (self.ability.name == 'Sigil' and spectral_level >= 2 and (G.hand and (not #G.hand.highlighted == 1))) then
  return false
elseif (self.ability.name == 'Ouija' and spectral_level >= 3 and (G.hand and (not #G.hand.highlighted == 1))) then
  return false
elseif (self.ability.name == 'Immolate' and spectral_level >= 2 and (G.hand and (#G.hand.highlighted == 0))) then
  return false
end
"""
match_indent = true```
and Immolate works, just not Sigil or Ouija
rugged dune
#

so when you click on the sigil or ouija card

#

does it let you press use even with no cards selected?

rugged dune
muted osprey
rugged dune
#

send a ss of your mod folder if you could please

rugged dune
rugged dune
muted osprey
rugged dune
#

have to just installed trance?

#

it could def be that if so

steel halo
#

all of them worked fine then i added these ones

candid sable
#

Trance

rugged dune
#

i know trance uses file reading so thatll probably need the -main removed

#

yeah

steel halo
#

alr

steel halo
#

bru i have no idea what im doing

rugged dune
#

that error im not so sure about

#

might be better to ask on the modpack thread

steel halo
#

alr

rugged dune
#

just to see if its smth to do w the if statement

#

it doesnt look incorrect but im not sure what else it would be

steel halo
#

theres something wrong with this mod

rugged dune
#

i remember using it forever ago and i could never get it to work

steel halo
#

hm idk

rugged dune
#

i thought that mightve been me tho

#

its only a visual thing i think, so you might just wanna remove it

steel halo
#

alr i will

muted osprey
rugged dune
#

mustve been smth to do with the ifs then

#

no idea what

#

good that its fixed tho

muted osprey
#

But level 1 Sigil and Ouija seems to be broken

#

They aren't changing the ranks or suits at all, they just flip all the cards and flip them back without modifying anything

rugged dune
muted osprey
rugged dune
#

1 min

#

oh its because its spelt wrong

#

well its spelt right

#

but the game spells it wrong

#

put an e in the bottom one

steel halo
#

help all i did was play a card

rugged dune
#

if youre using talisman it might be smth to do w the big num thing it uses

steel halo
#

im not

rugged dune
#

ah

#

then

steel halo
#

oh wait i am

#

thanks

rugged dune
#

nws 👍

steel halo
#

i got 4 pages of mods

rugged dune
#

thats a lot wtf

#

ive literally just installed cryptid and talisman too for compat testing

steel halo
#

ik

#

dam

steel halo
rugged dune
#

it looks like it lol

steel halo
#

dam well ive 282 jokers

muted osprey
formal wedge
rugged dune
#

another banger art piece

#

and the effect is super cool too

swift matrix
#

tbh, if you can still buy the free packs even once it debt, which you would be able to normally, and probably should be, it probably should be a higher rarity

#

Uncommon I'd say

#

it's a good effect

swift matrix
# formal wedge 🫣

I think this is the first "ZZZ" post I'm seein, curious what all there is/will be for it

rugged dune
#

eye candy

swift matrix
#

as in not a real mod?

#

or just saying it's good art

#

because it is

formal wedge
#

tyty

#

it is a real mod in fact

rugged dune
#

art is crazy

#

also

swift matrix
rugged dune
#

think i might be ready to actually release some stuff

formal wedge
#

👀

rugged dune
#

still loads i want to do

#

but i do wanna get something out before i go

cerulean flare
steel halo
#

how do i fix it

#

alos can i have help with the evolution mod

steel halo
cerulean flare
cerulean flare
steel halo
#

alr

#

ill probably just get all of urs

swift matrix
#

though I know it's still configurable

#

so a moot point

cerulean flare
#

i wont

steel halo
swift matrix
cerulean flare
#

how does it crash

steel halo
steel halo
cerulean flare
#

you can install all from my repo

steel halo
#

alr so just download them and put them in my folder and ill be good?

cerulean flare
#

hmm like this

steel halo
#

yeah

#

alr

#

that worked thanks

cerulean flare
steel halo
#

110 vouchers wtf

steel halo
#

it just crashed randomly

cerulean flare
#

i haven't used evolution mod before 🤔 i'll try it

steel halo
#

alr its pretty fun

cerulean flare
#

maybe update smod

steel halo
tired roost
#

new joker idea

#

"Tranquility"
Equalizes the Ships and Multi (like plasma)

steel halo
#

@cerulean flare this is new what did i do

tired roost
#

another idea

#

"3 Cup Game"
whenever a hand is played there is a 1/3 chance to swap chips effects to mult effects and vice versa

#

wait, no... cause chipXmult is the same as multXchip

#

a better is:

When a card scores, there is a 1/3 chance to swap chips and mult

#

this way it swaps chaoticaly and can give situations that give plenty of point

cerulean flare
tired roost
#

or no, i have a better way for cup game

#

move 1/3rd of the bigger score (between chips and mult) to the other one

#

so
30x5 -> 20x15

#

or no, just
move 1/3 of ships to mult

#

theere is little situations where mult is bigger than chips, and whn there are, this would be too op

rugged dune
tired roost
#

f cryptid.
half of them are broken OP, and other half being unfunny forced jokes, and there is very few good ideas, and even when they are the good idea, they have bad art that in no way fits with the Balatro esthetic

warm niche
#

can installing mods fuck up your game save?

rugged dune
tired roost
#

"here you say that" XD

rugged dune
#

bro i havent slept in a day leave me be

tired roost
rugged dune
#

yea

tired roost
#

HEY MATH!! IF YOU SEE THIS. YOUR IDEAS SUCK ASS AND YOUR ART DOESNT FIT BALATRO

#

gtg

grand geode
#

you're being unnecessary rude

tired roost
#

gotta get my pacnakes

rugged dune
#

how to get banned 101

grand geode
#

considering it's a collaborative effort

cerulean flare
rugged dune
#

myst was it you who made house rules?

#

ah yea

#

i couldnt find it for some reason

grand geode
#

yea

rugged dune
#

redownloading a bunch of mods i used to have

#

because it feels like ages since i actually played balatro instead of just making stuff for it

tired roost
#

what?
i genuently dislike this mod, and everyone is praising it like it sthe best hting to happen to balato

tired roost
#

like saying the flooding of the orphanage is so great

brisk seal
#

Most people don’t give feedback like that

fallow bramble
#

There're better and proper way to express that instead of saying "L CREATOR UR MOD SUCKZ!!!"

tired roost
#

most people dont voice the negative opinion, and that goes for everything

#

so i compensate for the quiet ones

fallow bramble
#

Also its has an alright config if there are jokers you dislike

brisk seal
#

There no issue with disliking it

tired roost
#

i dont HATE it, i dont mind people playing it. I'm just balancing the quiet with the loud

brisk seal
#

That’s not necessary and doesn’t actually work. The joker art is getting updated pretty often btw

#

To fit balatro style a bit more

tired roost
#

good

#

I'd be glad to do some for ya if you want

#

i prefer to act than just complain

brisk seal
#

As for the ideas boing “bad”, could you elaborate on that?

fallow bramble
brisk seal
tired roost
# brisk seal As for the ideas boing “bad”, could you elaborate on that?

from what i seen, it's seams like the idea of the mod is to make the most overpowered and broken jokers possible. It doesn't seem like there is much balancing in there.
and i dislike mods (that goes for all games) that break the core of the game, and are either overpowered, or are completely not fitting to the game at all

#

like the original Pokemon mod for minecraft

#

thats trash

brisk seal
#

Okay well Cryptid, just isn’t for you

#

Cryptid is literally branded as an unbalanced mod

#

It’s pretty much the point

tired roost
humble saffron
#

cryptid is a sandbox for unbalanced ideas that would usually never work in a normal balatro mod

#

if cryptid never existed, something else would

tired roost
#

i guess this can work as a sort of resume of what my jokers are about

humble saffron
#

so i don't feel like it's fair to attack its existence

tired roost
#

im not attacking it. i just dislike the idea

#

it's like making a Minecraft mod that gives you full enchant netherite as soon as you load the game

#

i get some people like it

#

not my groove

brisk seal
#

Okay

tired roost
#

JOKER IDEA!

#

"Skipping Stone"
All stone cards score between 2-5 times (random)

tired roost
brisk seal
#

You should make a forum for it in the modding forum

tired roost
#

i already have a guy who said they gonne make my art come true, and there isnt yet a build of the mod so i dont see a reason as of yet

#

definitly later

west hill
#

“I don’t like unbalanced cards”
retrigger edition loop lul

tired roost
#
  1. the edition itself doesnt retrigger unless there are multiple editions in played hand (very rare)
  2. the joker is rare, you aint gonna get it too often
#

also, it originates from my collection "Asylium Pack, The pack of insane jokers"

formal wedge
#

reworked this one's effect

tired roost
calm glacier
#

I think doubling the number of blueprints in the rare pool is unnecessary, but some of these ideas I really like

#

Lucky 7s is really neat cuz it resets the slot chance on activation

tired roost
tired roost
rugged dune
#

death 13 is pretty cool

calm glacier
#

idk if you can modify relative rarity in the "Rare" group

rugged dune
#

and the art is great

#

lali ho

tired roost
#

unfinished

calm glacier
#

Big Earner being uncommon? does it double interest or only gold from cards?

tired roost
#

and some definitly need polish

tired roost
#

like if you had 2 of them

calm glacier
calm glacier
tired roost
#

Caretaker is a genuently changing experiance

#

6h of music, that makes you feel the effects of dementia

brisk seal
tired roost
#

what?

#

i think there is some kind of message slip

#

i think we might be talking about different places

#

i thourght thats what you meant

brisk seal
#

Modding has multiple forums in it

#

I found a forum within modding which I believe co-responds to your mod

tired roost
#

JOKER IDEA!

#

"Class Clown"
same as the Ace joker but for 2s

#

tbh, Black stake is the last one that make the game more fun, instead of just more hard

#

when i beat all decks in gold

#

i will only play in black

rugged dune
#

can i get a refund?

latent crescent
#

Only restarting a day can help

tired roost
#

hmm.... as someone who MAKES games, i dont like the glithced effect visual

#

nothing ever glithces to look like that

#

if it does, it's you screen not the game

#

a better one would be something similar to missprint.
shifted texture, shwoing textures nerby on the sheet, and maybe a displacement of the card itself

#

thats how glitches look 99% of the time

#

no fuzzing of textures

#

hueshiting and texture misplacment is the most that happenes

#

even in corruptions at most it gets clown vomit.... JOKER IDEA!

#

"Clown Vomit"
random Joker and random Card in played hand re-activates itself random amount of times every hand played

#

a reference to the dark ages of RTC

cursive yew
cursive yew
tired roost
# cursive yew where i can get the mod?

@swift matrix still ain't gotten to coding it. so you gotta wait. I'd code it myself if i wasn't already coding a game in a different coding language, and i cant afford to trash my brain with another language

tired roost
#

the coding misshaps would skyrocket, and thats bad for progress for the prophecy that HIM told me

fiery kayak
#

The funny numbers?

tired roost
#

no, the point is he sucks in class

fiery kayak
#

Not like splash though right

tired roost
#

i guess more like stones

#

like an invertred hiker?

#

"Lazy Joker"

#

call that Joker "Workout"

#

possible, absolutely, but it's possibel you are the first trying to do it

#

it's 100% possible.
just like recreating the entire Mario World in balatro

rancid ivy
#

How to get OpenCL to work for Balatro?

umbral pilot
tired roost
#

So you read one message and nothing that follows in the conversation?

umbral pilot
#

if that message isn't representative of the conversion that follows then you should delete it

tired roost
#

there is a reason there is such thing as message history

#

if every message was to be deleted after it's conversation was ninished, the same conflicts would arise again and again

candid sable
#

That's just rude, not constructive criticism

umbral pilot
#

I argue that conflict can be avoided by doing a better job at communicating what we do and do not like.

#

so my ask is to do better

tired roost
#

i had a whole damn conversation with math, he's cool with it, and i fully explained that i was just making up for the people that stay quiet with their dislike to it

tired roost
tired roost
lean dune
#

...

#

what did i just walk in to

tired roost
#

your behavior stinks of redditors

candid sable
#

A bar

umbral pilot
#

considering you're likely not representing their opinion fairly in the first place

tired roost
tired roost
umbral pilot
#

It's moreso that subsequent conversation does not amend what you said in the first place, nor does it absolve you of responsibility to do better

#

and my ask is that you do better

tired roost
#

you always have to be 100% serious?

#

come on

candid sable
#

Please just cease the debate of any kind. It's not productive at all

tired roost
#

thats even more redditor stink

tired roost
candid sable
#

Especially this kind of prejudiced and stereotypical remarks

tired roost
#

stereotypes exist for a reason

#

i seen such redditing first hand

umbral pilot
#

I think there's some irony to coming into a space built upon collaboration and respect for fellow creators with that attitude - it's not productive either.

lean dune
#

ah yes "redditor stink" what a great insult

tired roost
#

not 👏 everything👏 needs👏 to👏 be👏 productive

tired roost
#

same with calling someone a wet wipe

lean dune
#

imho stereotypes never result in anything constructive

tired roost
#

thats kinda the point of insults

umbral pilot
#

I also think that you're shooting yourself in the foot with this argument

tired roost
#

which argument?

#

there is few that i made here

lean dune
grand geode
#

this is the most dumpster fire i've seen this chat be in

robust zinc
#

The hell did I walk into

candid sable
#

I'm sure he is not doing great job standing his ground

lean dune
tired roost
umbral pilot
tired roost
lean dune
#

what does a "victory" even mean here...

grand geode
#

what

tired roost
grand geode
#

now you're saying that's a joke

umbral pilot
#

didn't seem like a joke thonking

tired roost
#

yes, there is setup, and punchline, let me write it down

lean dune
#

you're digging your hole even deeper rn, first you double down on it then you say it's a joke

tired roost
candid sable
#

What a logic

grand geode
#

ah yes, openly insulting someone and saying it's a joke

lean dune
umbral pilot
#

say something rude, get called out, say it was a joke jokergehalt

#

either way I think you should be better in how you communicate

#

communication is key, especially in development

tired roost
grand geode
#

...don't ping me.

tired roost
#

and like, why you people are being offended on Maths behalf?

#

he siad he's cool with it

candid sable
#

How even old are you my good sir

lean dune
#

i think you're mixing up names

candid sable
#

That is another math

umbral pilot
#

I don't make balatro mods per say lol

tired roost
tired roost
#

i have a job

robust zinc
candid sable
#

m

umbral pilot
lean dune
#

you just keep digging deeper huh

#

m

grand geode
#

m

tired roost
#

m(odlich)

robust zinc
#

Also mathisfun
What’s the meaning of your pfp

white scarab
#

Odd -> 3x+1
Even -> x/2+1

candid sable
robust zinc
umbral pilot
#

ohhh that makes sense

candid sable
#

Looks like somebody's not learning even slightly

#

Insulting is never the key to anything fruitful

tired roost
candid sable
#

When did your said target say ok

tired roost
#

hold on, lemmie scroll a bit

umbral pilot
#

fyi mathguy != mathisfun

tired roost
candid sable
#

Hmm

lean dune
#

yeah no

grand geode
#

holy shit lmao

umbral pilot
#

lol

lean dune
#

that's two different people

umbral pilot
#

you can tell by looking at the author of the cryptid repo on gh

brisk seal
#

I do not endorse this Persons behavior

lean dune
#

see

umbral pilot
#

so like I said, apologize and do better.

tired roost
#

for all i knew, i was convinced thats the person of the mod, as i assumed so via our conversation

umbral pilot
#

also I think you've unfortunately lost a lot of trust and respect here

brisk seal
#

I literally referred to math in Third person

lean dune
#

that's where you're wrong, there is no "person of the mod" technically speaking since it's a collaborative effort

umbral pilot
#

yeah, you've sideswiped 20-something people

#

doesn't seem very fair

tired roost
umbral pilot
#

well... if you want to make mods and get help making them

#

heavy emphasis on the "help" part

lean dune
#

clearly you care enough to still be discussing it

candid sable
#

I won't ask his apologies, I don't think he has that in his dictionary

humble saffron
#

damn what is going on here

robust zinc
white scarab
#

@tired roost dude just chill, if you don’t like Cryptid the least you can do is be polite about it

tired roost
white scarab
#

I will let the moderators know if you continue acting like this

grand geode
#

like personally i dislike the unbalanced shit but i'm not aggressive about it

tired roost
umbral pilot
#

then you should've said that

white scarab
tired roost
#

whats impoline about "this idea sucks"?

brisk seal
tired roost
#

isnt it synonymous with "this idea is bad"?

grand geode
#

hey meth, two "at" patches targetting the same line should not duplicate the payload right

tired roost
#

how is calling something bad a bad thing to do?

#

thats a logical paradox

brisk seal
#

Because that’s not criticism

umbral pilot
white scarab
#

Like saying “hey your mod objectively sucks” in exclamation points is different than saying “I don’t like the idea of your mod because it’s too unbalanced, and the art style isn’t good”

robust zinc
#

Yeah

umbral pilot
#

since each patch runs in more or less a vacuum

#

also sorry for reply

#

<3

grand geode
#

(/j)

tired roost
umbral pilot
#

mod, do you want to make games for a living?

#

like professionally

brisk seal
#

Those two statements are fundamentally different

tired roost
white scarab
#

yeah but you were just saying it the wrong way
just own up to it and move on, don’t double down on your mistakes

lean dune
#

even if I didn't enjoy the idea of a terribly unbalanced mod, it still got the modding community a lot more activity and new faces from streamers

tired roost
#

and i can take someone syaing they dont like my game

lean dune
#

for me that would be enough of a reason not to shit on it

grand geode
#

they are like quintupling down at this point holy hell

white scarab
robust zinc
#

As well as being able to casually crack naneinf

white scarab
#

You’re definitely not even the fifth person who I’ve seen being like “this mod isn’t for me”, but your reaction is a bit inappropriate

umbral pilot
#

I think it comes back to that, yeah. Mod you gotta work on your communication - you can't speak for others in that way, nor can you effectively explain why you don't like what you like when you open with that sorta statement

#

Just do better

tired roost
#

/j, for those who cant tell a fucking joke

candid sable
#

...

lean dune
#

that's not even a good joke

brisk seal
#

I don’t know how to communicate with this person

candid sable
#

Please just fridge off

white scarab
#

Honestly I only have one thing to say

#

m

grand geode
#

m

robust zinc
#

m

lean dune
#

m

brisk seal
#

M

umbral pilot
#

I get the feeling that we're about to get hit with the "hur durr I've been having fun here trolling you guys"

#

m

tired roost
#

what does that even mean? this joke makes no sense

umbral pilot
#

em

brisk seal
#

M

lean dune
#

erm

robust zinc
#

M

grand geode
#

mm

lean dune
#

that's how inside jokes tend to work

lean dune
#

m

robust zinc
#

m

tired roost
#

look at me making a funny joke: letter of the alphabet

#

like wtf

white scarab
#

also I love how you criticized “my” art when I made a grand total of one joker art

humble saffron
white scarab
#

yeah

#

I used a maze generator balatrojoker

robust zinc
#

m

candid sable
#

0 it is /j

tired roost
humble saffron
#

incredible

umbral pilot
#

for context @tired roost, math has been here since the beginning. he's pretty fundamental when it comes to balatro mods, especially lovely.

grand geode
#

don't let them see art for my mod which is just ripped game art that's scaled down to hell

brisk seal
candid sable
#

Math you are being too kind

white scarab
#

I remember for the poker hand example mod, which predates the games release btw, I used a downscaled Google image plopped onto the planet template

tired roost
#

the H-man people made plenty of inventions used to this day

white scarab
grand geode
#

bestie what the fuck are you talking about

tired roost
robust zinc
#

M

white scarab
brisk seal
#

The only thing people have an issue with is HOW you said what you said

tired roost
brisk seal
#

Nobody cares of you don’t like cryptid

white scarab
#

I know what you mean, but the way you speak makes it come across like you think it is factual

tired roost
lean dune
#

"shitted" 💀

umbral pilot
#

that's never happened to me

humble saffron
# grand geode

this "myst blind" sucks
every goddamn time when i do a reply ping build...

candid sable
#

Duh, not to mention some stray guy just singlehandedly flamed this whole community

tired roost
umbral pilot
#

needs a mod

grand geode
#

worthy of a blindomancer

brisk seal
tired roost
lean dune
#

...

umbral pilot
#

you can mix water with water

tired roost
white scarab
#

why are they naming mods after spectrals, are they stupid?
Might as well call their mod Big Blind

grand geode
#

why are they naming mods after popular games, are they stupid?

candid sable
#

Thanks for reminding me drink water btw

lean dune
#

rr omw to make Joker the mod

tired roost
brisk seal
#

You might be on to something

umbral pilot
white scarab
#

Big Blind for a boss mod might actually be good ngl

umbral pilot
#

you can't really pick it up unless it's frozen

humble saffron
#

alright who wants to work on 'lusty joker'

umbral pilot
#

but then you can't really mix frozen water with water

grand geode
zenith island
grand geode
#

i'm still thinking of the dating sim idea

lean dune
#

should make a paywalled mod

#

Vagabond

tired roost
# umbral pilot water?

i can tell you what i meant by my mix metaphor, but i'd have to have the whole server sign a petition they wont report me for being mean

umbral pilot
#

is that a racist joke? tf

tired roost
#

no

#

im not like my brother

robust zinc
grand geode
#

we have advanced ui technology now, it is possible

lean dune
#

getting shitted on by a pigeon sucks
that's never happened to me
hard to mix water with water

umbral pilot
#

L Corp. Myst (no reply pings)
i'm still thinking of the dating sim idea
take my money

lean dune
#

ik

umbral pilot
#

is the part the joke?

zenith island
#

Btw, could someone send the code for invisible joker, I’m on Mac and unzipping Mac’s version of exe files sucks

grand geode
lean dune
#

there

umbral pilot
#

as long as it's just me then we're good

tired roost
umbral pilot
#

water mixes with water

latent nimbus
umbral pilot
#

loot boxes! gacha mechanics! everything we could ever want

lean dune
#

still a pretty low tier joke ngl

tired roost
grand geode
#

90 pulls for a 50/50 chance to get the rare slightly revealing jimbow skin

umbral pilot
#

is there an "all of the above" option?

tired roost
candid sable
#

Why are we still in this oxpoop

latent nimbus
tired roost
umbral pilot
#

those chances are too high for a summer skin

tired roost
#

noticed how i havent said stuff unprovoked?

umbral pilot
tired roost
#

i too can spam links

candid sable
#

And you still owe me and math apologies

tired roost
#
  • it wasnt unprovoked
  • it wasnt a part of this convo
latent nimbus
#

@gilded tulip I think we need to bring an end to this

umbral pilot