#💻・modding-dev

1 messages · Page 652 of 1

limber aspen
#

How do I create a patch file? I tried <moddir>/lovely/<name>.toml

#

Do I need to add something to main.json?

sturdy compass
#

That pathing looks correct, what are the contents of the toml?

limber aspen
wild patrol
deft ravine
wild patrol
#

I didn't program this the other guy I'm working with did

#

He's more smart when it comes to how twitch chat and this works

#

He's like an actual programmer who's made legitimate software

#

I'm focusing on more simple stuff

limber aspen
vernal path
#

is it possible to ⁨context.mod_probability⁩ during ⁨context.before⁩? (Or rather, I need to know the scoring hand, and it should happen when scoring that hand, because it resets afterwards)

granite jay
#

⁨```swift
SMODS.Blind {
key = 'wallkerip',
atlas = 'clackerblindplaceholder',
unlocked = true,
discovered = true,
pos = {x = 0, y = 20},
dollars = 5,
mult = 2,
boss = {min = 3},
boss_colour = HEX("543770"),
calculate = function(self, blind, context)
if not blind.disabled then
if context.debuff_hand then
local suits = {}
for k, scored_card in pairs(context.full_hand) do
for _, scored_suit in ipairs(SMODS.Suits) do
print(scored_suit)
if scored_card:is_suit(scored_suit) then
suits[scored_suit] = true
end
end
end

            return {debuff = (#suits >= 3)}
        end
    end
end,

}

Anyone have any clue why this is not working?
#

It's mainly the suits loop that isn't working

vernal path
#

Well, it looks like ⁨scored_suit⁩ isn't defined

granite jay
#

It's defined in the for loop

#

The game doesn't crash the blind just

vernal path
#

oh, right sorry

#

👨‍🦯

granite jay
#

doesn't debuff the hand

granite jay
daring fern
vernal path
daring fern
granite jay
#

but thanks tho

vernal path
daring fern
vernal path
#

Well, I could check for the card im looking for and just mark a variable true then

#

(Which was my plan before i read i shouldnt put it in g.game)

granite jay
#

Can you modify the display size of a card through enhancements?

faint yacht
#

iirc ⁨pixel_size⁩ and ⁨display_size⁩ also can be used in definitions of an enhancement.

granite jay
#

This was the code I had 🙃

faint yacht
#

⁨```lua
SMODS.Atlas{key = "TOGAJokersMainW", path = "togajokersw.png", px = 91, py = 95}
...
display_size = { w = 71 * 1.27, h = 95 },
pixel_size = { w = 71, h = 95 }

Here's unique stuff pertaining to this *Joker* being wide... however, for enhancements, I'm not sure if the 71x95 is *enforced* or not.
vocal helm
#

Is there any way I can increase the number of all repetitions? i.e. hanging chad retriggers 3 times instead of 2, mime retriggers everything twice, etc.
I'm using context.repetition but i don't know if you can check within that context how many repetitions are actually happening

vocal helm
#

alright, thanks!

daring fern
# vocal helm alright, thanks!

⁨```lua
local oldevalcard = eval_card
function eval_card(card, context)
if not card then return end
local g, post = oldevalcard(card, context)
if not card:can_calculate(context.ignore_debuff, context.remove_playing_cards or context.joker_type_destroyed) then return g, post end
for k, v in pairs(g) do
if type(v) == 'table' and v.repetitions and type(v.repetitions) == 'number' then
v.repetitions = v.repetitions + 1
end
end
return g, post
end

vocal helm
#

oh shit
thanks!

hardy vessel
#

Question about post_trigger, does checking for the ret of jokers not with for a blind? Or am I missing something?
⁨```
calculate = function(self, blind, context)
if context.post_trigger then
local other_ret = context.other_ret.jokers or {}
if other_ret.mult or other_ret.h_mult or other_ret.mult_mod or
other_ret.x_mult or other_ret.xmult or other_ret.Xmult_mod then
G.GAME.blind.chips = math.floor(G.GAME.blind.chips - G.GAME.blind.chips * 2)
G.GAME.blind.chip_text = number_format(G.GAME.blind.chips)
end
end
end

daring fern
hardy vessel
#

I do

limber aspen
#

How do I shuffle cards in hand to deck?

daring fern
limber aspen
#

It shuffles the whole hand, where is it defined?

wintry solar
daring fern
hardy vessel
wintry solar
#

you're adding a ⁨.jokers⁩ for no reason then, right?

#

oh wait nvm I am bad at reading today

#

it will be some jank with timings then I think

hardy vessel
#

i'm testing without the check, and the effect is working fine, so some timing issue must be at play

rigid solar
#

Does anyone know how to fix button positions? I've hooked ⁨G.UIDEF.use_and_sell_buttons⁩ to give sell and use buttons to my new type of card, copying the use and sell buttons for consumables, but they aren't aligned properly at all

normal ridge
subtle hawk
#

Simply because it doesn't need to

normal ridge
subtle hawk
#

Although the vremade wiki MIGHT have something on UI

normal ridge
subtle hawk
red flower
rigid solar
#

that's not merged yet right?

red flower
#

no you would need to copy it

rigid solar
#

erf

#

oh it's just a single lovely file hmm

sturdy compass
rigid solar
#

I've just made my own patch based on that

#

thanks!

red flower
rigid solar
#

based

sturdy compass
#

Lmfao fair

rigid solar
#

Is there some easy way to add new type of cards here?

sturdy compass
#

Is your card type a consumable?

rigid solar
#

no

red flower
rigid solar
#

i know it's done automatically for consumables

#

k

#

they have a part for sleeves i assume

red flower
#

yes, in other

rigid solar
#

UI code mr_bones

#

i'll deal with that later lol

tawdry bloom
#

how would i check if all played cards are a specific rank

lyric wadi
#

ui code my behated

bold sleet
#

Or some variation of that code. Fit it for your specific needs.

bold sleet
#

-# forgor it was a cardarea i am dumb

daring fern
tawdry bloom
#

im not gonna lie

#

i have no idea how to implement this lol

#

i understand what each part of the code does i just dont know where to put it

#

WAIT IT WORKS

#

THANKS GUYS

open aspen
#

does anyone know what ms, mr, mx, my are?

daring fern
#

The offsets don't draw correctly though.

open aspen
#

it seems like, they start getting "desynced" or off

#

from whatever center they are on

#

depending on where it is

#

eg a sticker on a card making use of ms and mx and my, it seems to vary in position relative to the card depending on where the card is on the screen

#

heres an example

#

btw to even get scale offset to play nice i hooked prepdraw

open aspen
#

i see

#

well, i did a patch my own way, do u perhaps have the patch u suggested

open aspen
#

i might as well give it a shot before i throw in the towel (im willing to accept a small offset for now)

#

ty!!!

wild patrol
#

So we got this joker sprite

#

I'm stumped at ideas

#

For what it could do

open aspen
#

yea, it didnt help this issue specifically

#

thats fine though, its not a huge issue for me

open aspen
# wild patrol

gains 1x mult for every gros michel destroyed (totally not impossible to proc)

#

"destroys a held banana joker for x buff" or soemthing perhaps?

#

cause its a monkey and it eats the bananas to get stronger (but you might have to add more bananas cause there are only 2 in vanilla)

past spade
#

I've made a joker that changes the suit of a card in the deck and made a simple animation using events where that card is drawn, shown, and then returned to the deck
the problem is: if I change the card's suit in the events it wont have changed by the time other jokers, but if I change it outside the events I cant show it transforming in the animation.
Is there some way to delay the visual suit change but still immediately change the suit before other jokers contexts run?

north parcel
red flower
past spade
#

so I'd call it twice, first changing suit and then in events changing sprite?

red flower
#

iirc card:set_sprites(nil, card.config.card) i think

past spade
#

yup that works, thanks

azure valley
#

multiply by pi and add e. yup. that's definitely A Thing that this function does.

daring fern
#

jolly mirage
#

Hey guys, does anyone here know where to look for drawing custom stuff on a card? Aka stuff beyond the static image from the atlas. Can't find much, I dont think ⁨⁨SMODS.DrawStep⁩⁩ is what I need..? And no idea how to use ⁨⁨Joker.draw⁩⁩ or rather what methods I have to use within said function.

dapper sun
#

wdym custom stuff

jolly mirage
#

To be more specific I want to draw and update lines and text on the card

dapper sun
#

i think that'd be a drawstep

#

not 100% sure tho

red flower
#

it would be a drawstep but if youre doing text i would wait a bit because theres a feature coming up that makes drawing text on cards less janky

#

i would look into The Soul in VanillaRemade for an example of drawsteps

jolly mirage
jolly mirage
tidal hemlock
#

<@&1133519078540185692> kill

karmic creek
#

ok

tidal hemlock
#

yay

#

that same scam just appeared earlier accept it was elon musk instead of mrbeast

vale zinc
#

How, in ⁨G.GAME.<???>⁩ or similar, do I determine what deck the player is currently playing with?

red flower
#

G.GAME.selected_back

wild patrol
#

Is there away to spawn a joker face down

#

Or do you need to flip it after it spawns

#

Cause I wanna do something where all your jokers get destroyed and replaced with new jokers

#

But have them spawn face down and then revealed

rigid solar
#

FSR all "Actives" that spawn are the default one, any idea why?

#

maybe it has to do with the injection function? im using the default one from SMODS.Center

dapper sun
#

how do i get when a card is clicked on

daring fern
dapper sun
#

ty

rigid solar
#

Any idea why this patch isnt applied properly?

daring fern
# rigid solar

It should be ⁨target = '=[lovely debugplus.core "debugplus/core.lua"]'

rigid solar
#

oh

viscid talon
#

meta mod brewing is typing

frosty rampart
#

yea debugplus is different because it works without smods

frosty rampart
desert ore
#

if I had something worded "card drawn this round" would it be confusing if those cards being drawn in booster packs counting?

frosty rampart
#

shop + booster packs feels like they exist outside of "this round" entirely, so yea imo

desert ore
#

hmm alright

jolly mirage
# jolly mirage Alright, thank you guys! I'll look at that then.

I have been making good progress in understanding drawsteps so far. Currently I am trying to create a sprite to render that instead, however, it doesn't like my atlas (normal atlas like ⁨'stickers'⁩ work though)

It is throwing an ⁨called with invalid atlas key⁩, aka ⁨SMODS.get_atlas(atlas_key)⁩ is throwing nil and I dont know why >.>

rigid solar
daring fern
jolly mirage
#

oooh, that makes sense. Yeah now its working, I feel silly now ^^'
Thank you!

viscid talon
#

How do i make a joker recognise another when a specific joker is held in hand

#

for example if i had a joker which gives +4 Mult if Gros Michel is held in hand or whatever

umbral zodiac
#

held in hand?

#

like owned in joker slots or specifically in your actual playing card hand

lyric wadi
#

what's the differnce between ⁨context.scoring_hand⁩ and ⁨G.play.cards

#

are they equivalent and does one have an advantage over the other

umbral zodiac
#

g.play.cards contains every card

#

including those that don't score

lyric wadi
#

or is one just a more direct label for it

frosty rampart
#

scoring_hand only includes cards that are actually scored in the hand (so if you play a high card with 3 other nonscoring cards, context.scoring_hand is just the high card)

umbral zodiac
#

Meta...

frosty rampart
#

context.full_hand is basically the same as G.play.cards

lyric wadi
#

ah ok

frosty rampart
umbral zodiac
#

how dare you get your pr maybe merged sooner than me

#

smile

frosty rampart
#

smiles

lyric wadi
#

yuri

umbral zodiac
#

Huh

frosty rampart
lyric wadi
#

aw

umbral zodiac
#

unfortunately i am being pet in my pfp by the real victim of yuri

frosty rampart
#

as per my discord status, i am indeed involved in yuri, just not with lily

lyric wadi
#

platonic yuri

#

also known as

#

freind

umbral zodiac
#

thats called a frien

#

yeah

frosty rampart
#

friend 🙂‍↕️

umbral zodiac
lyric wadi
#

wait that's a thing???

#

oh pog

umbral zodiac
#

ye s

lyric wadi
#

my old code just loop through g.joker.cards lmao

white hull
#

how can I make a joker rental?

umbral zodiac
#

card:set_rental(true)

white hull
#

merci

quick scarab
#

bumping this since it hasn't being solved yet

#

but this soft lock basically doesn't allow to select any cards, while the consumable is still in the middle

#

probably trying to use it but still falling

spiral mural
#

how can ii make a joker joke it...

#

straight up

vocal helm
#

What's the context/etc. I should be checking if I wanted to get a playing card's retrigger from its (custom) enhancement

#

as in, a card's enhancement causes it to retrigger, and a joker reacts to that

red flower
#

there's no context for it afaik, idk personally what you need to hook to get that

#

it would also be hard to pinpoint the source of the retrigger since i dont think thats passed in

vocal helm
#

alright, that's fair

umbral zodiac
#

is there a way to make a ui popup appear on top of everything else
there is some hover ui to the right of the upgrade blind button here, but it doesnt show because its under the big blind selection

red flower
viscid talon
#

how do i make a joker NOT target a copy of itself

#

like if there was a version of madness that killed any joker except a copy of itself

red flower
#

well it depends on how you are getting the target

viscid talon
#

hmm

#

the code looks smth like thsi rn

#

⁨``` calculate = function(self, card, context)
if context.before and SMODS.pseudorandom_probability(card, 'hatch_rottenbanana', 1, card.ability.extra.odds) then
G.E_MANAGER:add_event(Event({ --Infection
func = function()
SMODS.add_card {
key = 'j_hatch_rottenbanana',
}
G.GAME.consumeable_buffer = 0
return true
end
}))
--Slicing
local destructable_jokers = {}
for i = 1, #G.jokers.cards do
if G.jokers.cards[i] ~= card and not SMODS.is_eternal(G.jokers.cards[i], card) and not G.jokers.cards[i].getting_sliced then
destructable_jokers[#destructable_jokers + 1] =
G.jokers.cards[i]
end
end
local joker_to_destroy = pseudorandom_element(destructable_jokers, 'hatch_rottenbanana')

    if joker_to_destroy then
        joker_to_destroy.getting_sliced = true
        G.E_MANAGER:add_event(Event({
            func = function()
                (context.blueprint_card or card):juice_up(0.8, 0.8)
                joker_to_destroy:start_dissolve({ G.C.RED }, nil, 1.6)
                return true
             end
        }))
        end
        return { -- Infection Message
            message = "Infected!",
            colour = G.C.PURPLE,
            delay = 0.4
        }
    end
#

rn it targets any joker, including a copy of itself, which is No Good

white hull
#

add ⁨⁨and G.jokers.cards[i].config.center.key ~= 'j_hatch_rottenbanana'⁩⁩ to the check for adding a joker to ⁨⁨destructable_jokers⁩⁩

#

also you're resetting the consumable buffer instead of the joker buffer after SMODS.add_card, incase that's an error

viscid talon
#

oke

viscid talon
#

how do i fix that

#

nvm

#

dnaks

#

the code is being kinda jank

#

it should destroy another joker (without destroying a copy of itself) and then duplicate itself

#

ill test it more tomorrow im just super confussled

white hull
#

So how do you actually make a new stake do something? It only has a modifiers function which doesn't take context
Like if I wanna make a new sticker for shop jokers, where would I put the code to actually apply it?

#

Oh the sticker object has functionality for this

#

Interessante

red flower
#

i added it :3

#

i pr'd the wiki recently to add docs for stake calculate

red flower
white hull
#

oh awesome :3

wild escarp
#

Alright, very fun little thing I encountered. Activating a boss tag while in the shop will set you back to the previous blind, with the exception of shops after a boss blind. I know you're never meant to be able to get a boss tag while in the shop, but it's possible with mods, and kinda messed mine up.

wild escarp
#

Indeed

still hedge
#

WHAT IN THE FUCK ARE YOU DOING HERE?!

wild escarp
#

I'm starting to pick up the coding for a mod again.

#

And troubleshoot, evidently.

viscid talon
red flower
red flower
viscid talon
#

ok so, "rotten banana" is supposed to...

  • destroy a random joker
  • and create a copy of itself
#

it basically spreads like a virus

#

so it converts a pre-existing joker into a copy of itself

red flower
#

and whats the problem right now?

viscid talon
#

it doesnt really do that... for starters:

  • the infected message pops up a little too quickly
  • and it shows up on the main joker, not the new joker
  • it also infects itself, for some reason 😭
wild escarp
white hull
red flower
white hull
#

as like a kinda patch

#

tho i don't think they'll trigger once you leave the shop, so you'll need to make them trigger then yourself

red flower
#

also i dont see how it could target itself

wild escarp
#

Eh, I'll play around with it.

white hull
torn remnant
#

is there a database or guide with the joker names internally for making custom decks and stuff?

red flower
white hull
viscid talon
#

anyways the previous code does work, the only real issue is that it infects + creates a copy of itself

high verge
#

Making a quick Dark Souls deck mod

viscid talon
#

anyways i fixed it

white hull
slim ferry
#

Otherwise its just transforming into itself

viscid talon
#

nvm i think i broke it

white hull
bitter flicker
#

Hey modding dev folk

#

I've been making a mod that requires making an overlay over the entire screen, while using an animation spritesheet

#

I was browsing the smods documentation for an object that used animation-atlas as an "animated sprite", but I couldn't find anything for it

#

Is there a function that lets you blit a SMODS.Atlas-type object in that way?

bitter flicker
frosty rampart
#

lolll

bitter flicker
#

:,D

#

I'm new to this modding stuff but why do we not have a google-searchable way to find mods?

frosty rampart
#

closest is probably this, but not everyone puts their stuff on the wiki
balatro modding doesn't use any mod launcher apps or whatever, so everyone tends to upload their mods directly to github (or similar services like codeberg)

white hull
#

The Balatro Mod Manager in the corner:

torn remnant
#

is there a good place to find folks i can commission to make art for my mod?

white hull
#

Why do people dislike it anyway?

frosty rampart
#

it tends to cause more problems than it solves
it's not hard to download mods from github -> unzip into mods folder, and balatro mod manager has had a history of introducing its own problems (failing to update smods correctly, that compatibility checker feature it added that isn't particularly helpful because smods already does that + it caused insane lag for a little bit, etc)

viscid talon
#

i use mod manager 😰

#

it made it hard to run stocking stuffer for a while

bitter flicker
#

Maybe I was lazy in the searching process, but it feels like github repos are the last thing to appear in Google's SEO

viscid talon
#

true...

still hedge
viscid talon
#

github#

frosty rampart
viscid talon
#

idk

white hull
#

I've had problems with it some time ago, but as of 0.4.0 it's not giving me any issues

red flower
#

i will never cut slack to anything that doesnt communicate with the community effectively

white hull
#

Oh are the devs not here?

red flower
#

they havent replied to me at least

white hull
#

Huh

frosty rampart
#

it also treats itself as if it is 1.0 (complete website that makes no mention of its current version)

red flower
#

and i think ermel dm'd them too with no answer

frosty rampart
#

i actually have gotten a response from a dev when i put in an issue on the github about the compatibility module causing lag, but that's certainly not an ideal method for general communication

white hull
#

Interesting...

red flower
#

if you ever see me hating a mod it's usually for similar reasons

#

(cryptid, mp, utdr, pwx)

frosty rampart
#

the state of my browser after a day of modding

gaunt folio
#

how can i modify starting deck size? such as starting with 26 cards instead of 52? This destroys some but A, is very janky and doesnt do it right

#

im trying to make it start with like 7 cards instead of 52

torn remnant
#

my custom booster packs say error at the bottom, not sure how to fix it? (i am using joker forge)

viscid talon
torn remnant
#

ah, i see

#

thanks!

viscid talon
#

Jokerforge doesn't use a localisation file, so you'll have to make do with creating a group key yourself

torn remnant
#

so like, if the pack is called voucher pack. the group key should be voucher_pack?

gaunt folio
#

no

#

heres what you wanna do

#

group_name

torn remnant
#

this is from the boosters lua file in the mod

gaunt folio
#

again, how can i make deck size change? Yes, I know its that card name but i want it to be 7 cards

red flower
red flower
gaunt folio
#

ah

red flower
#

i dont have access to it rn but i would check how the vanilla decks do it in deck.lua (i think we never added the code to vremade)

#

back.lua

gaunt folio
#

almost, but it stops at 26

umbral zodiac
#

have an analogy

#

well not an analogy but whatever

#

on entry 1 it sees it has 52 cards so it removes 1 and goes to the next entry

#

but now the next entry is what used to be #3

#

its skipping basically

gaunt folio
#

ah i see

#

might see what the deck creatordoes atp

#

ok nope its not stored normally

clear ocean
#

i have relapsed and not sure if this is new where there is no button

red flower
#

your mod localization is wrong

clear ocean
#

thanks

gaunt folio
#

this cuts it down to 26. not sure why it breaks but i need it to go down to seven, but this doesnt obviously. If anyone knows how to fix this please guide me I am SO lost

red flower
#

you need to loop through the cards backwards afaik

#

so instead of ipairs you would do #G.playing_cards, 1, -1

#

or 7 as the second one

gaunt folio
#

like this?

#

idk man

red flower
#
for i=#G.playing_cards, 7, -1 do
    G.playing_cards[i]:remove()
end
gaunt folio
#

ah im so dumb lmfao i gotcha

#

its 1 below but the concept works

clear ocean
#

then do 8, -1

faint yacht
#

Not sure if there's a more optimal method of implementing cards having enhancements of other enhanced cards in the full deck.
⁨```lua
if context.check_enhancement and context.other_card and context.no_blueprint then
local curenh = {}
for i, pcard in pairs(G.playing_cards or {}) do
if pcard and pcard.ability.set == 'Enhanced' and pcard.config and not curenh[pcard.config.center_key] then curenh[pcard.config.center_key] = true end
end
return curenh
end

-# ...'cause this does bring Balatro to the knees when more items are calculated...
gaunt folio
#

i figured

#

but yeah it works now. I'll randomize suits eventually but still

clear ocean
white hull
gaunt folio
#

im so sorry guys

#

im doing it for the vine

granite jay
#

⁨⁨swift SMODS.Blind { key = 'snaggler', atlas = 'clackerblindplaceholder', unlocked = true, discovered = true, pos = {x = 0, y = 28}, dollars = 5, mult = 2, boss = {min = 5}, boss_colour = HEX("70673d"), in_pool = function() return false end, calculate = function(self, blind, context) if not blind.disabled then if context.drawing_cards and (G.GAME.current_round.hands_played ~= 0 or G.GAME.current_round.discards_used ~= 0) then print(context.amount) if (context.amount >= 4) then return { cards_to_draw = 4 } end end end end, }⁩⁩
I copypasted the serpent code from vanillaremade, anyone able to figure out why it's drawing ghost cards?

bitter flicker
#

The new theme is subway surfers brainrot lmao

rancid kindle
#

how would I code a boss blind that debuffs everything but a random card number that you have in your deck

red flower
granite jay
#

Just the Blind tho apparently if you set the cards_to_draw value to a value that results in the amount of cards you get being less than the hand size

#

Then it draws extra cards which refer to cards that already exist in your hand

#

The ghost cards are duplicates that are face down if you do anything

#

oh and they go away if you reload

red flower
#

weird the serpent works fine for me

granite jay
#

I'm using the Vanilla remade version

red flower
#

yes

#

that one

granite jay
#

Oh and I have post trigger set to true but I doubt that will work

#

I mean affect it

red flower
#

oh ok i see

#

yeah it broke it seems

red flower
granite jay
red flower
#

ah do you have this

#

its a new thing

granite jay
#

I don't

#

trying now

red flower
#

its on vremade serpent but i dont remember what it is for

granite jay
#

Am I on an outdated version?

red flower
#

yes

granite jay
#

Damn

faint yacht
#

⁨```lua
if G.STATE == G.STATES.DRAW_TO_HAND and not SMODS.blind_modifies_draw(G.GAME.blind.config.blind.key) and not SMODS.draw_queued then
...

#

⁨```lua
-- Function used to determine whether the current blind modifies the number of cards drawn
function SMODS.blind_modifies_draw(key)
if SMODS.Blinds.modifies_draw[key] then return true end
end

granite jay
#

thank you

red flower
#

👍

fallen topaz
#

i have found an error in the UT/DR balatro mod and don't know how to fix it can someone help? whenever I hover over a certain joker ( page 20 top left ) in the colection ( from the main menue ) the game crashes with the error in the .txt i dont wana break the mod trying to fix it myself so i came here!

dreamy thunder
#

-# in the main menu

fallen topaz
#

so how do i stop it from crashing?

dreamy thunder
#

add a nil check

#

⁨⁨```lua
if G.deck then
-- do this
end

for example
clear ocean
lethal stratus
#

this line isnt working like i want it to 😭

#

this card*

#

idk how to make it decrease the chips amount while also properly displaying

#

the display is WRONG I TELL YOU

#

i also dont remember how to make a food joker consuming if statement

frosty rampart
#

vanillaremade will help with both issues (particularly looking at Ice Cream)
in particular, not everything should go in the return statement. adjust the values outside of it and then just return a message

lethal stratus
#

do you have a link on hand?

frosty rampart
lethal stratus
#

i was finnagling with it and now i need the like chips colored message text

#

does ice cream do that idr

frosty rampart
#

yes, it's this part

lethal stratus
#

OH

vale zinc
lethal stratus
#

hm!

#

the idea isnt mine but thats interesting

vale zinc
#

Had to add a function that ensures it doesn't lose chips when first bought.

umbral zodiac
#

does anyone know what colour in G.C this is

#

circled for clarity

daring fern
#

normal crest
umbral zodiac
#

strange

#

thank you though

granite jay
#

How do you make it so a Blind has a custom reward message?

#

Like how small blind has the "No reward" thing?

wintry solar
granite jay
#

Is there a better way to force the blind reroll to be a specfic boss blind other than G.FORCE_BOSS?

still hedge
#

<@&1133519078540185692>

granite jay
#

How do you get the boss blind regardless of where it is?

limber aspen
granite jay
limber aspen
#

Where are vanilla edition rates defined?

granite jay
#

How do you check if a Booster Pack is bought from the shop?

true jasper
pastel kernel
#

how do you check for jokers in a specific pool⁨? (all my jokers belong in a pool called "bustjokers")⁨```lua
for _, v in ipairs(G.P_CENTER_POOLS.Joker) do
-- Only shows discovered common, uncommon or rare and non-owned jokers
if v.discovered and not next(SMODS.find_card(v.key))
and (v.rarity == 1 or v.rarity == 2 or v.rarity == 3) then
selectable_jokers[#selectable_jokers + 1] = v
end
end

urban wasp
#

just a question, what does the "card" before the table in ⁨SMODS.scale_card⁩ do/reference?
⁨```lua
SMODS.scale_card(card, { -- referring to the "card" here
ref_table = card.ability.extra,
ref_value = "chips",
scalar_value = "chips_mod"
})

shell timber
#

the card that is being scaled

urban wasp
#

wouldn't that just be in ⁨ref_table⁩?

#

i may be stupid maybe would help if there were an example of a use of scale_card that doesn't use ⁨card

shell timber
#

its for the context

#

so you can do like "common jokers scale twice as fast"

pastel kernel
#

Wait a minute

urban wasp
#

thanks

pastel kernel
#

Value manipulation?

#

In vanilla smods?

shell timber
#

well its not a context

#

its not valuemanip

#

this is how stuff like runner and spare trousers should work

pastel kernel
#

Oh wait

#

I mean to say

#

Scale manipulation?

shell timber
#

yeah its been a thing for a while

pastel kernel
#

I had no idea

#

Wait does Scalae use this?

shell timber
#

idk

urban wasp
#

also one other question

#

how would i do something like this using ⁨SMODS.scale_card⁩?
⁨```lua
...
card.ability.extra.xmult = card.ability.extra.xmult - (count * card.ability.extra.xmult_mod)
...

specifically the ⁨`count`⁩ is making it difficult for me to think of how exactly to accomplish this
shell timber
#

run it ⁨count⁩ times :clueless

#

i mean what's the effect? this might be correct

urban wasp
urban wasp
shell timber
#

yeah this is probably correct lol

urban wasp
#

so it would work

pastel kernel
#

For i = 1, count?

urban wasp
#

yeah

daring fern
urban wasp
#

i assumed it didn't since it's existed long before it was a thing and secondly i consider 5 months old to be recent in these terms

#

july still feels like it was two months ago 😭

granite jay
#

And I don’t want that

daring fern
faint yacht
pastel kernel
#

How do you force a lose?

urban wasp
#

what is ⁨G.deck.config.card_limit⁩?

daring fern
urban wasp
#

ah i see

wild berry
#

how can i add an # to a textbox without it being removed

#

because the game recognizes it as text styling

red flower
#

add it as a loc_var

wild berry
#

oh thanks

#

doesnt work

#

no wait nvm

wild berry
#

why does this not make the voucher free

jolly mirage
#

Hey guys, small question:
I want to position a sprite on the card as it currently only always renders on top left. However I can only move the texture within the sprite..? There probably is a different method but I dont know which one. Where do I find them in general?

Also I am not sure what X,Y, W, H in create_sprite exactly do, they seemingly have no effect..? Or perhaps I am creating and using the sprite wrong in general?

⁨```lua
if not Mod.label then
Mod.label = SMODS.create_sprite(64, 0, 0, 0, 'crashpack_Font', { x = 1, y = 0 }) -- Letter B on atlas
end
Mod.label.role.draw_major = card
Mod.label:set_sprite_pos({ x = 0, y = 0 }) -- ???
Mod.label:draw_shader('dissolve', nil, nil, nil, card.children.center, 0, 0)

red flower
wild berry
#

ohh

#

ill directly set the cost to 0 then

#

thx

red flower
#

theres no docs on this stuff other than just reading the vanilla code yourself for the most part

jolly mirage
#

Oh okay, I guess I'll extract the lua files from there then. Thanks ^^

red flower
#

its better to read the files in lovely/dump since those are after smods patches

jolly mirage
#

Oh, good to know then

jolly mirage
#

Nice. The only thing missing now is ensuring it properly rotates, I feel like the pivot point is not correctly set

red flower
jolly mirage
#

yeah that probably makes sense. Up until that I'll keep trying to understand the code more and more though ^^

honest light
#

the top 2nd line? @gilded blaze

#

bro

#

@gilded blaze

gilded blaze
#

sr, can’t help much rn

honest light
#

ok

brazen kite
#

is there a context for the very start of the run

red flower
brazen kite
#

OK works for me

lethal stratus
#

how much should this joker cost(in vanilla esque cost scaling)

#

and is the scaling too slow?

lyric wadi
#

i mean i'd say this is a rare

#

this is basically buffed erosion

#

and for rares it's usually in the $8-10 range yea

lethal stratus
#

ah shit i actually dont know how to calc when a card is destroyed

lyric wadi
#

this is an infinite scaling xmult joker

white hull
dapper sun
#

how do i make a card on the title show its description box when hovered over?

lethal stratus
lyric wadi
#

with no reset condition

#

and really no downside

#

so yeah 8 or 9 feels right

lethal stratus
#

how much is campfire

lyric wadi
#

so if you destroy something, you can just buy a standard pack and you're back up to normal

lethal stratus
#

ah

dapper sun
#

dna + trading card

lyric wadi
#

so it is a true infinite scaling

lethal stratus
#

are playing cards the only thing that can be "destroyed" or should i count food jokers being eaten as destroyed too

dapper sun
#

immolate

lyric wadi
#

depends on you

lethal stratus
#

or any other weird joker effects like knife

#

i just know thats annoying to code x3

dapper sun
#

i think there's a context for jokers being destroyed

dapper sun
#

ty

wintry solar
#

I’d also recommend waiting like a week for the menu cards smods changes

dapper sun
#

i already did the menu card stuff days ago

lyric wadi
dapper sun
lyric wadi
#

although a few caveat

wintry solar
#

Then you’ll likely have to change it in like a week or so 😂

dapper sun
#

i expect to dw

lyric wadi
#

hologram is uncommon because adding cards is harder than destroying cards generally

#

but hologram does scale by .25 instead of yours .1

#

maybe if you dont mind it, you could just base it on hologram, which is a $7 uncommon

wintry solar
#

Destroying cards is also better than adding cards

lyric wadi
#

that's true

#

so yeah all in all, $8 rare feels right

#

maybe higher end $8 uncommon

lethal stratus
#

i have two other x mult jokers that also cost 8

lyric wadi
#

mhm

#

also real qucik vs mention i love my yuri visual novel with a free rhythm game

#

anyway

lethal stratus
#

oh i got cheryls permission for this

#

:)

lyric wadi
#

peak

lethal stratus
#

kenban is kinda a troll card

#

i should make it cost more or have a reset condition probably

lyric wadi
#

isnt kenban just synonymous with "scale if hand beat blind"

lethal stratus
#

scale if hand beat blind by itself

#

aka fire

lyric wadi
#

like i get what you mean but yeah maybe the wording need to be adjusted

#

also technically not fire

lethal stratus
#

isnt fire if the hand itself beats the entire blind req

lyric wadi
#

maybe but i thought it has some toher nuances to it

#

but yeah i guess generally fire

lethal stratus
#

how would i word this then 😭

dapper sun
dapper sun
lyric wadi
#

burnice joker that scales on fire

dapper sun
#

why the 😳 react? 🤨

lethal stratus
#

also ignore my terrible text coloring

lyric wadi
#

ice joker that nerfs itself if score is on fire

#

and eventually melts

#

technically a food joker

lethal stratus
#

difference is it doesnt destroy itself

#

ill fix the coloring in a second

#

ok the plus is wrong

lyric wadi
#

also Mult should be capitalised

lethal stratus
#

ty

lyric wadi
#

to be consistent with vanilla

lethal stratus
#

how do i make this wording consistent with vanilla

#

abweh

lyric wadi
#

yeah i think that's fine

lethal stratus
#

sorry i have 16 jokers now

#

only one has art

lyric wadi
#

maybe put "Rerolls" in C:attention

#

generally keywords that doesnt have its own specific colour like suits or mult should be in C:attention

#

although even this is not consistent in vanilla

#

since Chaos puts "reroll" in green

#

of all colours

lethal stratus
#

thanks chaos

lyric wadi
#

but flash card puts reroll in attention

lethal stratus
#

which one should i do then

#

chaos is weird

lyric wadi
#

yeah i'd say attention

#

it's just generally the "this is a keyword" colour

lethal stratus
#

gotcha

lyric wadi
#

also 16 jokers already?? that's fast

#

when did you astart modding again

lethal stratus
#

um

#

november of... 2024

#

😭

#

i took a 9 month hiatus

lyric wadi
#

oh mood

lethal stratus
lyric wadi
#

i'd put "per" on line 1 just so the line length are closer

#

but these are just stylistic nitpicks

#

yeah neat jokers

lethal stratus
#

hey so

#

setsuki doesnt work at all

#

😭

lyric wadi
#

very vanilla coded

#

these could've fit right in they're not too crazy

lethal stratus
#

that was the goal

#

:)

#

im assuming the if is wrong

lyric wadi
#

yeah that was initially the goal but eventually i just let myself be a little silly :3

lethal stratus
#

AND INSTEAD OF OR

#

SONOFA

lyric wadi
#

not too silly though i am still actively trying to vanilla balance

lethal stratus
#

ok it works now

#

gg

#

do you wanna test it for me though, some of the jokers are... strange

#

cough cough eri

lyric wadi
#

honey this is like chocolate chip at best

lethal stratus
lyric wadi
#

you're as close to vanilla as you can be

#

you're not even blueberry swirl yet

lethal stratus
#

for vanilla coded stuff im worried this is too weak for

#

a legendary

orchid bloom
#

is it blueprint copyable

lyric wadi
#

i dont know that is uhhh

#

a lot

lethal stratus
#

no because its constant

#

this isnt a burglar situation

orchid bloom
#

burglar can mogi t lowkey

lyric wadi
#

like there's no reason to not use discards

slim ferry
#

So i think its fine

lyric wadi
#

and generally you'd have like 4 discards, maybe 3

#

so it's about +1 hand per ante

orchid bloom
#

i mean theres not much use out of extra hands usually

lethal stratus
#

yeah that was my concern

slim ferry
#

And you get more throwaway hands as utility

lyric wadi
#

true

orchid bloom
#

like money i guess

slim ferry
#

For purples, rebate

lyric wadi
#

for now though

slim ferry
#

More scaling jokers from playing hands

lyric wadi
#

yeah

slim ferry
#

Maybe just reduce the discard requirement

#

To like 5-6 or smth

lethal stratus
#

iirc the discard req was a reference but im not sure

lyric wadi
#

you added something that you worry won't have any uses? add its synergies yourself

lethal stratus
#

oh true 🔥

orchid bloom
#

serpent joker that makes it so you always draw 1 extra card every hand played

slim ferry
#

Green deck synergy

lethal stratus
#

chat i might have forgotten about this

#

its not much but there is synergy

lyric wadi
#

you have a card that has an effect that can add 16 3 of clubs to your deck? have a 3 synergy joker

orchid bloom
#

its banner without aura

lyric wadi
#

what

lethal stratus
#

guess what

lyric wadi
#

:3c

#

peak

orchid bloom
lyric wadi
#

but also that is

#

stronk

lethal stratus
#

its a legendary

orchid bloom
#

its like a bit stronger than trib

#

no plant death

lyric wadi
#

5oak of 3s that's 3^5

lethal stratus
#

i was also gonna commission kyotsugyon for a :3c remix but that fell through

white hull
lyric wadi
#

themed mods are so cool

#

nice space to breed creativity

lethal stratus
#

yeah

lyric wadi
#

imagine not going im just adding this because i find it funny

lethal stratus
#

help me help

#

my weirdest joker concept

lyric wadi
#

eh

orchid bloom
#

i mean

#

its like

lyric wadi
#

kinda not legendary ngl

orchid bloom
#

epic ya feel me

lethal stratus
#

EPIC DOESNT EXIST

lyric wadi
#

cuz you're gonna run out of voucher fast

orchid bloom
#

no but it gets across what i mean

lethal stratus
#

i was gonna add a stipulation that if you ran out it becomes random

lyric wadi
#

unless you're planning to add like 8 more pairs

lyric wadi
#

what

#

it

slim ferry
#

Repeat vouchers?

lyric wadi
#

it physically cant do that

slim ferry
#

kid named patching

orchid bloom
#

wait thatd be cool

lethal stratus
#

what do you mean it cant do that

orchid bloom
#

another telescope each planet is 2.25x

slim ferry
#

You can patch voucher pool generation to allow duplicate vouchers

lethal stratus
#

true but some dupes just dont do anything

slim ferry
#

Would be wierd since a lot of vouchers dont stack though

lethal stratus
#

magic trick:

slim ferry
#

Yeah

orchid bloom
#

dont let those happen

lyric wadi
#

telescope 2
played card gives x1.5 mult for each held suit tarot that matches

slim ferry
#

Tarot/planet merchants, hone/glow up and interest vouchers all set values

lyric wadi
#

so if you have a Sun hears gives x1.5 mult

slim ferry
#

Instead of increasing

lethal stratus
#

hmm

orchid bloom
lethal stratus
#

what would make this a legendary without completely rewriting the voucher code

#

. w .

orchid bloom
#

it wouldnt

lyric wadi
#

you're seeing beyond the planets

orchid bloom
lyric wadi
#

electron telescope

orchid bloom
#

OH

#

SUN

#

STAR

#

MOON

lethal stratus
#

i cant adjust the rarity of the card to fit the effect, i have to do the other way around because of the mod

slim ferry
#

After yoy get every voucher

orchid bloom
#

whats the spades one again i forgot

lethal stratus
#

oh shit actually fire

slim ferry
orchid bloom
#

ok thats les

#

less like

lyric wadi
#

telescope pointing downward

orchid bloom
#

thematic

#

yeah but you dont see the whole world

lyric wadi
#

telescope on the iss

orchid bloom
#

does that see the whole world?

#

how far is the iss

lethal stratus
#

"when redeeming a blank voucher, choose between, hands, discard, interest, hand size, joker limit, consumable limit"

orchid bloom
#

choose?

lethal stratus
#

choose as in random ignore that

orchid bloom
#

oh like it chooses

lethal stratus
#

ye

orchid bloom
#

yeah seems good

lethal stratus
#

i could do boss reroll cost too

orchid bloom
#

nah

#

thats not like a stat like those ones

lethal stratus
#

fair

orchid bloom
#

like its similar to why you arent doing reroll cost either

lethal stratus
#

true

slim ferry
#

Interest is also kinda jank to increase

orchid bloom
#

i assume it just goes up 50

slim ferry
#

Since seed money and money tree directly set interest caps

orchid bloom
#

oh wait

#

it could be to the moon

lethal stratus
#

can you not just increase the cap of money tree

orchid bloom
#

thatd be fun

lethal stratus
#

"interest cap equals current interest cap plus 2/3"

slim ferry
#

seed money just does G.GAME.interest_cap = 50

#

And money tree does 100

lethal stratus
#

do you mean 10 and 20

slim ferry
#

No

lyric wadi
#

interest cap

#

not interst threshold

#

different value

slim ferry
#

The interest cap value is actually the maximum amount of money that contributes to interest

lethal stratus
#

😶‍🌫️

#

id need to change both

lyric wadi
#

also i just checked

#

i currently have

#

20 jokers

#

with some asterisks

#

one of them technically behaves like 12 jokers in a trenchcoat

slim ferry
lyric wadi
#

one of them is technically one joker with 26 variants

slim ferry
#

Since that is actually built for stacking it

lethal stratus
#

ah

#

that might work

lyric wadi
#

and i think it's fair to say one of them just actually acts like an infinite joker machine

#

so yeah

slim ferry
#

Joker slots is probably a bit strong true

lethal stratus
#

how do you make one of the like

#

custom text boxes

lyric wadi
#

20 jokers, functionally infinite jokers + 11 + 26

slim ferry
lethal stratus
#

its gonna be a like

lyric wadi
#

info_queue?

lethal stratus
#

scaling percentage kinda thing

orchid bloom
lethal stratus
#

well 2/8

#

remember the joker makes a voucher tag

orchid bloom
#

oh it still do that

lethal stratus
#

1/8 * 1/8

#

idr

orchid bloom
#

no wait

#

1/64

lethal stratus
#

thats to miss it twice

#

im trying to think of the chance of hitting it 1/2 times

slim ferry
#

You could do like shop slots or something

lethal stratus
#

7/32

slim ferry
#

maybe

lethal stratus
#

true

#

choose between, hands, discard, interest, hand size, joker limit, consumable limit, shop slots

slim ferry
#

Thats like all the stats that vanilla vouchers increase

#

Basically

orchid bloom
#

do you guys have an idea of why its doing this

lyric wadi
#

yeah i think those are a good set

lethal stratus
#

i have no idea how rare i need to make some of these

#

joker limit and hand size being the two i wanna like

#

make rare

orchid bloom
#

oh yeah btw when people add new legendaries to their mod is it like a good idea to make another way of getting legendaries

slim ferry
#

I do like new ways to obtain legendaries

#

But its also hard to balance

lethal stratus
#

wanted to do something where its like

#

only v/s jokers

orchid bloom
#

maybe a deck where you have to work for it

lethal stratus
#

including legendaries because of how many of them there are

lyric wadi
#

i'd weight hem like this
4 hands
4 interest
3 hand size
3 shop slots
2 discard
2 consumable slot
1 joker slot

#

where lower numbers are rarer

lethal stratus
#

gotcha

#

thank you :)

orchid bloom
#

why are hands over discards

lyric wadi
#

it's a 1 in 19 to get an extra joker slot

#

no higher number is more likely

lethal stratus
#

i think hands and discards should be swapped but i could be crazy

lyric wadi
#

well once you've got an engine having more hands matter less

lethal stratus
#

hands = money still

lyric wadi
#

discards are always going to matter to dig for the necessary cards for your engine

lethal stratus
#

hm

lyric wadi
#

yeah but again

lethal stratus
#

fair

lyric wadi
#

once you have your engine, you're not buying jokers often anymore

#

maybe one or two rerolls to see if you get a planet you like

#

or death

lethal stratus
#

true

orchid bloom
lyric wadi
#

there are more builds that have restriction on using hands than using discards

#

again im ordering them based on when they'd be useful on average

lethal stratus
#

how do i check if ive redeemed a blank voucher specifically twice

#

the first time, with this joker, i dont want it to do anything

lyric wadi
#

i think you just check what the key of the redeemed voucher is

#

and set a bool flag

#

probably easiest way to do that

#

it's probably stored in a G.Game somewhere

lethal stratus
#

i dont remember where to go digging for this im just gonna see if someones asked this before x3

lyric wadi
#

is this good now

#

it was 1 in 6 before which felt too strong

orchid bloom
#

with spaceman

#

thumbs up emoji

#

but its propably a lil slow

lethal stratus
#

can someone post the fabled smods link again

lyric wadi
#

we should have a bot where we can do like !smods

#

but also i find myself looking at the smods wiki less and less

#

and just going off vanillaremade mostly tbh

#

it doesnt always have what i wanted to do but it certainly has more than smods

lethal stratus
#

vanillaremade seems also good

#

currently suffering trying to find a single example of a text box

lethal stratus
#

similar to the edition or the sticker descriptions

#

i wanna explain what every "stat" is

red flower
#

like, how to add them to the side of the description?

lethal stratus
#

yeah

red flower
#

for stickers it would be like this

lethal stratus
#

mmh

daring fern
#

white hull
#

How do I make a stake that goes after gold stake and applies gold stake? This code isn't doing the thing
⁨```lua
SMODS.Stake {
key = "emerald",
applied_stakes = { "stake_gold" },
above_stake = "stake_gold",
...
}

red flower
white hull
#

I did add stake_ though

red flower
#

you need to remove your mod prefix that smods adds

#

thats what prefix_config is for

white hull
#

I also tried adding ⁨prefix_config = { applied_stakes = false, above_stake = false },⁩ and that didn't do it

white hull
red flower
#

try prefix_config = { applied_stakes = { mod = false } },

red flower
white hull
#

It assumes that the stakes I'm listing are all from my mod?

red flower
#

it's kinda how you don't need to add your prefix to atlases

white hull
white hull
white hull
#

Btw the stickers on vremade seem to be missing the ⁨rate⁩ parameter

#

So it looks like they apply to every joker

#

Oh unless 0.3 is the default for all of them?

white hull
white hull
#

Neato

#

@red flower I think vremade doesn't have these sticker descriptions in its localization file

white hull
#

merci :)

white hull
#

Why does this code make the sticker apply to literally every single card including consumables?
⁨```lua
SMODS.Sticker {
key = "baneful",
badge_colour = HEX('068b54'),
atlas = "stickers",
pos = { x = 0, y = 0 },
config = { extra = { hsize = -1 } },
loc_vars = function(self, info_queue, card)
return { vars = { self.config.extra.hsize } }
end,
should_apply = function(self, card, center, area, bypass_reroll)
return G.GAME.modifiers.nancy_enable_banefuls_in_shop and not card.ability.rental
end,
calculate = function(self, card, context)

end

}

#

Specifying ⁨rate = 0.3⁩ and ⁨sets = { Joker = true }⁩ doesn't change anything either

frosty rampart
#

setting a custom ⁨should_apply⁩ function ends up ignoring the rate, so you have to include the rate check in that should_apply function

white hull
#

vremade lied to me 💔

#

But also it seems to apply to rental cards too, and I don't want that

white hull
frosty rampart
white hull
#

wehhh

frosty rampart
white hull
#

I see

white hull
frosty rampart
#

you should probably patch into the sticker apply code so that rental can only apply if it's not your custom sticker
or take ownership of rental and give it a should_apply function of its own

white hull
#

Lowkey would be easier to just write a patch lol

#

But let's see if this works

red flower
#

but i will make a note on vremade

white hull
frosty rampart
#

yea

white hull
#

oop sorry for ping

red flower
white hull
#

And I guess you also need to check for the card to be a Joker

white hull
#

Man lol

#

I think the smods wiki should have a note that should_apply overwrites all these other attributes

#

This is unintuitive

red flower
#

i think its because they have the condition to not have the other sticker

white hull
#

Ah yeah fair

red flower
#

but it doesnt work anyway

white hull
#

Btw ⁨card.rental⁩ isn't a thing, it should be ⁨card.ability.rental

#

Same for the other stickers

red flower
#

idk i didnt add those

#

i will probably just remove the should apply and make a note that they cant be recreated exactly

white hull
#

Fair enough lol

lethal stratus
#

can someone help me out here

#

whats the voucher key for blank i cant find it

white hull
#

v_blank

#

:3

#

Right well this seems to have done the trick lol
⁨```lua
SMODS.Sticker {
key = "baneful",
badge_colour = HEX('068b54'),
atlas = "stickers",
pos = { x = 0, y = 0 },
config = { extra = { hsize = -1 } },
loc_vars = function(self, info_queue, card)
return { vars = { self.config.extra.hsize } }
end,
should_apply = function(self, card, center, area, bypass_reroll)
return G.GAME.modifiers.nancy_enable_banefuls_in_shop and card.ability.set == "Joker"
and not card.ability.rental and pseudorandom('nancy_banefulsticker') > 0.7
end
}

SMODS.Sticker:take_ownership('rental',
{
should_apply = function(self, card, center, area, bypass_reroll)
return G.GAME.modifiers.enable_rentals_in_shop and card.ability.set == "Joker"
and not card.ability.nancy_baneful and pseudorandom('nancy_rentalsticker') > 0.7
end,
},
true
)

#

Kinda obnoxious

#

But I guess better than a patch?

#

Or maybe just writing a lovely patch would be better lol

white hull
lethal stratus
#

ok well v_blank by itself isnt working and im trying to check for blank being purchased

red flower
#

what do you have rn

lethal stratus
#

was trying to do a check here

red flower
#

context.card.config.center.key == "v_blank"
?

lethal stratus
#

oh i might be stupid

red flower
#

also you would need to remove buying_self

lethal stratus
#

how do i make a counting variable set somewhere without accidentally resetting it later >w<

#

coding sucks!

lethal stratus
#

i need to put this somewhere before reading it in the if statement, but setting it inside the if statement is confusing

#

unless i set it to 1 by default, but then it'd reset itself to 1 repeatedly

#

oh im stupid

#

i forgot about config

red flower
#

yeah

white hull
#

I'll just write a lovely patch...

lethal stratus
#

my damn joker randomly went back to jimbo land

red flower
#

wtf is statstable 😭

#

also it should be "v_blank"

red flower
vast rover
#

i did some looking and couldn't find anything, is there any channel/thread/post with a tutorial on how to make a texture pack? (i wanna make one to change the playing cards)

lethal stratus
#

i may need a bit more elaborating on that N

vast rover
#

much thanks!

red flower
#

in general don't use math.random

lethal stratus
#

like inside the stattable?

red flower
#

no, by itself

lethal stratus
#

oh hold on

#

accidentally copy and pasted backwards

#

(i copy and paste between my github copy and my in game copy)

#

now nothing is happening

#

OK THE MESSAGE WORKS

#

now... i just have to increment each stat when triggered by the table

#

😭

#

ok how do i do the interest

#

i need to increase both the cap and the threshold

red flower
#

cap is G.GAME.interest_cap

#

threshold is hardcoded i think

lethal stratus
#

is cap the 25 or the 5

#

(the dollar amount or the interest gained)

red flower
lethal stratus
#

where do i check g.game as a hypothetical

red flower
#

function Game:init_game_object() in game.lua

lethal stratus
#

where is game.lua

white hull
#

See the lovely folder in your Mods folder

#

It contains a dump of the game's code after being patched by smods and other mods you have

coral notch
#

im coming up with ideas for a mod (not too sure if it's gonna be made) and obviously im adding astro, what does he do in other mods? (I have zero ideas and i need inspiration)

lethal stratus
#

for editing stuff like this, do i need to remove the starting_params

red flower
#

no in that case it would be ⁨G.consumeables:change_size(number)