#💻・modding-dev

1 messages · Page 481 of 1

red flower
#

those new parentheses are wrong

molten relic
#

owh

#

i saw that in the code for 8 ball so i copied it but okay

#

lets see

red flower
#

that makes it so you're doing (number < number) / number which is boolean / number and that doesn't make sense

molten relic
#

owh

#

well it still doesnt work :(

red flower
#

post the crash or whatever it's doing

molten relic
#

im completely clueless

#

ist not crashing it just doesnt work

red flower
#

if you change the 5 for a 1 does it work?

molten relic
#

lets see

#

no

#

it doesnt

red flower
#

weird, looks fine to me

molten relic
#

okay idk if this matters

#

but ill test it

#

i changed G.GAME.probabilities.normal / 5

#

to G.GAME.probabilities.normal / card.ability.extra.repetitions

#

.odds i mean

#

nope

#

ugh

#

im stumped

karmic nest
#

is there a way to change the card text? (like a changed the card image earlier)

molten relic
#

yes

#

easily

#

uhm

#

do you have 7zip?

karmic nest
#

i dont think i do (im on a mac)

molten relic
#

oh yeah thats a pretty crucial part for changing strings

#

download it and set it up (very easy dw)

karmic nest
#

so you know how i changed the image everytime the hand ended, i want to also change the text so the joker is different every turn

red flower
#

oh, you need to return a key in loc_vars

molten relic
karmic nest
#

ah its fine, now i have 7zip

red flower
#

and then you would have j_modprefix_key_alt1 in your localization file

molten relic
#

oh my FUCKING GOD

#

THE ONLY REASON WHY IT WASNT WORKING

red flower
#

did you not save

molten relic
#

WAS BECAUSE I HAD AN EXTRA { SOMEWHEREW

#

IUYATFSGIDUGAOWPD

red flower
#

lol

molten relic
#

i had loc_vars = {

#

accidentally probably

rare phoenix
#

pwease help me

red flower
red flower
#

no, in loc_vars

#

not in calculate

#

also choice is a placeholder, you need to replace it for card.ability.extra.chosen

karmic nest
#

got it

harsh bobcat
#

I need my joker to apply mult every hand but add .5 mult at the end of a blind.
This is what I did so far:
It could work but I'm assuming it doesn't since the discription of the card has Xnil and stuff on it.

karmic nest
red flower
#

i would add an or nil at the end

karmic nest
#

then it keeps yelling at me about closing my } but i dont see it

#

somewhere inbetween the loc_txt and the return

#

wait i see the issue lol

tepid crow
#

is there a reason we aren't using string concatenation for this

#

(like "j_pdub_key_alt" .. card.ability.extra.chosen)

molten relic
#

is there a different variable for mult added to a joker and for mult given to score?

#

is it mult_mod?

karmic nest
molten relic
#

no i mean like normal joker gives mult, and ceremonial dagger gains mult. is there a different variable for those?

karmic nest
#

card.ability.extra.mult = card.ability.extra.mult + card.ability.extra.add ?

molten relic
#

makes sense

karmic nest
#

then you can return mult = card.ability.extra.mult later

brittle yacht
karmic nest
#

breaking again

red flower
#

oh it should be center not self

karmic nest
#

then what do i put in the loc_txt to pull it

molten relic
#
        return { vars = { card.ability.extra.mult, card.ability.extra.mult_mod, card.ability.extra.suit } }```
#

is this correct?

harsh bobcat
red flower
molten relic
#

just listing the variables from extra = {

karmic nest
karmic nest
molten relic
#

yeah i know that

#

i actually did something first try

#

damn

karmic nest
red flower
#

also i think all of them need a name too

karmic nest
#

like where i usually have my description

red flower
#

no

karmic nest
#

because im still having that error

red flower
#

can i see the code again and where the file is

karmic nest
#

loc_vars = function(self, info_queue, center)
return {
key = center.ability.extra.chosen and ((center.ability.extra.chosen == 0 and "j_pdub_key_alt0") or
(center.ability.extra.chosen == 1 and "j_pdub_key_alt1") or
(center.ability.extra.chosen == 2 and "j_pdub_key_alt2") or
(center.ability.extra.chosen == 3 and "j_pdub_key_alt3") or
(center.ability.extra.chosen == 4 and "j_pdub_key_alt4") or
(center.ability.extra.chosen == 5 and "j_pdub_key_alt5") or
(center.ability.extra.chosen == 6 and "j_pdub_key_alt6")) or nil,
}
end,

#

how do i make it look nice lol

obtuse canopy
#

im kinda new to modding, anything i can do here to fix?

red flower
red flower
karmic nest
#

ope lol

wicked leaf
#

how can you make a joker check for a rankless card? (not just stone cards)

red flower
#

Joker uppercase

red flower
obtuse canopy
#

there are png for each 1x and 2x

wicked leaf
#

huh

#

that was easier than I thought

red flower
obtuse canopy
#

is it my main file perhaps?

red flower
#

that looks fine

obtuse canopy
#

odd

red flower
#

make sure the pngs don't have a double extension accidentally maybe

karmic nest
obtuse canopy
karmic nest
#

like when i had it in loc_txt on accident

obtuse canopy
#

they gotta be png right

red flower
karmic nest
#

still broken

red flower
#

may i see the localization, just send a screenshot

karmic nest
red flower
#

and how's the localization folder structured

karmic nest
#

it was in libs lol

molten relic
#

whats wrong with my code?

#
        if context.individual and not context.blueprint and not context.other_card.debuff and
        card.other_card:is_suit(card.ability.extra.suit) then
        card.ability.extra.mult = card.ability.extra.mult + card.ability.extra.mult_mod
            return {
                message = localize('k_upgrade_ex'),
                colour = G.C.MULT
            }
        end
        if context.joker_main then
            return {
                mult = card.ability.extra.mult
            }
        end
    end
}```
#

oh i see slef

#

lemme change that

#

i wonder if that will fix it

red flower
red flower
wicked leaf
karmic nest
#

ahh

#

ok lol

molten relic
#

did i copy that wrong?

#

oh lol i did

red flower
karmic nest
wicked leaf
#

im doing some changes to some code, I THINK I need to replace the (card) with (v.config.center.key)??

red flower
#

no, v is the card

maiden phoenix
molten relic
#

wow i just made a new joker (mostly) by myself

wicked leaf
manic rune
#

what is the function to open a mod's config menu

red flower
#

i dont think there's one

manic rune
#

wha

red flower
#

you would need to call the function to open the mod UI and then change all the SMODS globals to point specifically to your mod and to have the config tab selected

manic rune
#

how do i get pages in the config tab to work then 🤔 my idea was to just force the menu to be reopened

red flower
#

that's what i do for my card collection page but that's easier because there is a specific separate function for thats screen

frosty dock
#

you should be able to have the contents you're swapping in an object node and just mess with it that way, though it can be pretty finicky to do the boxes right

#

-# yes i still exist

manic rune
#

aure the myth

#

hii

frosty dock
#

hi bepis

#

hru

manic rune
#

i was actually surprised to see you typing lol

red flower
#

hi aure how's everything

manic rune
#

ive been good thanks, hbu

frosty dock
#

quite busy these days still, thanks

manic rune
#

-# asides from constant mental torture i have to endure from ui

frosty dock
#

-# relatable

karmic nest
#

this does not work 'attempt to compare number with table' , i literlly do the same thing in a different joker

red flower
#

talisman issue

frosty dock
#

classic

karmic nest
#

ahh, i did just put my mod on there

#

ill try without it

#

or whats the exponental variable

frosty dock
#

emult but it's talisman-exclusive

karmic nest
#

i do have talisman

frosty dock
#

you'll have to add it as a dependency if you do use it

karmic nest
#

i have already

#

thanks!

frosty dock
#

yeah you should use that then

lament agate
#

which lua

#

that contains main menu stuff

#

or title screen

red flower
#

game.lua

#

Game:main_menu

lament agate
#

thanks

manic rune
#

...surely i dont run initSteamodded() to open my mod's ui, this is the only place i find that uses create_UIBox_mods which seems to be the function that creates the mod's menu

(i considered aure's approach but i dont think i want to mess around with ui anymore 🥀 )

red flower
#

you would run what's inside it

manic rune
#

.

#

wait

#

do i run G.FUNCS["openModUI_"...]?

red flower
#

this is what i have to open the collection page

red flower
manic rune
#

i overlooked that because i forgot functions can be defined in a function 😭

#

thanks, i think i got this now

red flower
#

i think SMODS.LAST_SELECTED_MOD_TAB is what selects the starting tab as well

manic rune
#

mhm i see, tks

tight hull
#

hi, is there a way to check how many times player has been saved by mr bones?

pastel kernel
#

I thought my peacock joker finally works, It should gain 1 extra xchips and XMult per played polychrome but it’s not working, What am I doing wrong?

#

Is this how you're supposed to write it?

        if context.individual and context.cardarea == G.play and not context.blueprint then
            if context.other_card.edition and context.other_card.edition.key == "e_polychrome" then
                card.ability.extra.SA2XChips = card.ability.extra.SA2XChips + card.ability.extra.SA2Mod
                card.ability.extra.SA2XMult = card.ability.extra.SA2XMult + card.ability.extra.SA2Mod
                card_eval_status_text(card, 'extra', nil, nil, nil, {message = localize("k_upgrade_ex"), colour = G.C.PURPLE})
            else
                local chance = pseudorandom('peacock_polychrome')
                if chance < G.GAME.probabilities.normal / card.ability.extra.odds then
                    context.other_card:set_edition({polychrome = true}, true)
                end
            end
        end
faint yacht
molten relic
#

anotha one

scarlet imp
molten relic
#

bretherin bob

scarlet imp
#

Kindred Robert

molten relic
#

sibling jerome

#

anyway

#

i have no idea what bobby should do

#

like

#

i thought something with clubs and chips

#

cause blue

pastel kernel
manic rune
#

hm

scarlet imp
#

not a particularly interesting card, but I'm gonna make Familiars a whole thing as you can see

manic rune
#

gimme a sec, could be because of you setting up the if statements incorrectly (i barely worked with editions though, so i gotta check ingame)

molten relic
#

i dont think ill do familiars

#

maybe

scarlet imp
#

I want to add pretty much everything in Isaac, which means I'm gonna have to keep track of familiars for the sake of Conjoined anyway

molten relic
#

i get that

hushed field
#

oh, conversation's moved and discord didn't update

molten relic
#

lol

scarlet imp
#

yeah, I already have this implemented

pastel kernel
hushed field
#

just try some print statements to see where you're getting, and what information is stored where. just a print(context.other_card.edition.key) will show you that

native zinc
#

does context.individual and context.other_card do anything

molten relic
#

i think ill do

#

something with copying club cards or something

#

when selecting blind, create 1 random club card

#

ill look at certificate

#

hehe

manic rune
scarlet imp
#

certificate has some odd behavior, so be careful
I had to borrow some code from it too

molten relic
#

maybe dna or marble joker if certificate is too confusing

scarlet imp
#

by "odd" I mean that if you select a Blind, which triggers Certificate, and then exit, the card will not be saved unless you discard or play a hand first. However, if the card is not saved, Certificate's effect is not proc'ed again upon coming back

#

it's not, just kinda weird as I described

#

pretty sure it's more of an "oversight" than a bug, but yeah

molten relic
#

oh

#

that can be exploited heavily for deck fixing

#

i think

scarlet imp
#

yeah. If it gives a card you don't want, you can just exit and come back and it won't save anything

pastel kernel
#

what now?

molten relic
#

broski bobbleton is implemented

scarlet imp
#

you gonna add every Isaac item or just the ones you have ideas for?

molten relic
#

im doing them 1 by 1 starting at item id 1

#

i temporarily skip actives cuz i wanna make a new mechanic for em

#

i now have sad onion to bobskiboo

scarlet imp
#

I wanted to do that too, but got really stuck with Lunch, Dinner, Dessert, Breakfast, and Rotten Meat all in a row

molten relic
#

id just give them all a simple effect like +1 hand/discard/hand size

scarlet imp
#

I decided to skip ahead and implement Binge Eater so that I could at least give them different effects

#

well look who it is

manic rune
# pastel kernel

can you give me another ss of your code with the print functions (sorry i was busy)

vast bough
#

can i just remove playing cards in context.discard and its fine?

manic rune
#

i think so, yeah

vast bough
#

that is wonderful but why is that not the same for other contexts

#

sad

manic rune
#

🤔 it should work with all contexts if you got events

pastel kernel
vast bough
#

bruh

pastel kernel
#

this is what i got now

manic rune
#

-# either that or i have had incredible luck with that :3

manic rune
red flower
manic rune
#

same, but i bet people will do that with joker forge though

red flower
#

there's no reason not to do it in destroy_card

#

discard context is special because that also has destroy_card

vast bough
manic rune
tight hull
pastel kernel
#

i swear to fucking god if this is a cryptid override situation again

manic rune
#

you have cryptid???

#

wait, so

scarlet imp
#

is it supposed to be played cards or card held in hand?

red flower
# vast bough why wouldnt you recommend it
  1. you have a possibility of side effects from not doing it properly
  2. you need to do more things than just returning remove = true which can lead to more errors (for example, calling the remove_playing_card context)
  3. you won't have any of the fixes or improvements smods might do to the destroy_card context
  4. even if jokerforge is automatic people look at the code and it might lead them to follow bad practices
manic rune
#

can you try running eval G.hand.cards[1].edition in the debugplus' console with the leftmost card in hand being polychrome?

#

i want to see whats going on there

red flower
vast bough
#

currently it already does make its own context and everything, just making special casing for destroying on discards and i was wondering why it wasnt working but then i looked at trading card

red flower
#

context.discard works like context.destroy_card so that's a special case

vast bough
#

eventually (in a few weeks to a month) i wanna make it so the code is much cleaner than it is, a lot of unecessary stuff and i dont want to instill bad practices

vast bough
manic rune
#

i want to ping firsttry to make sure they saw my message but i will probably seem annoying to them 😭

#

ghh

red flower
#

@pastel kernel

pastel kernel
manic rune
#

a

manic rune
pastel kernel
#

wdym

faint yacht
manic rune
#

how is this still false then, i

faint yacht
pastel kernel
#

i'm not sure myself, i'm just an amateur

manic rune
#

i might be dumb? can you put a print(context.other_card.edition) before that and score a polychrome card

tight hull
pastel kernel
manic rune
#

oh, before the local is_polychrome = ...

#

i want to see what the hell the code is reading

pastel kernel
#

like this?

             print("Peacock: Polychrome check - edition: " .. (context.other_card.edition and "present" or "nil") .. ", is_polychrome: " .. (is_polychrome and "true" or "false"))
            local is_polychrome = context.other_card.edition and context.other_card.edition.polychrome```
manic rune
#

that works, yeah

#

score any polychrome card and see what it says, if its still nil and false then you should probably try turning off a few mods 😭

pastel kernel
#

wtf

#

rainbowdash works though

manic rune
#

whats rainbowdash

#

im so confused right now

pastel kernel
#

joker i made, retriggers played polychrome cards

manic rune
#

😭

pastel kernel
#

also applies them herself

manic rune
#

wait are you using rainbowdash with peacock rn

#

out of curiosity

pastel kernel
#

no

manic rune
#

sdasin

pastel kernel
#

peacock solo

#

also using rigged

manic rune
#

ima be honest i think i might need N' to work on this one

#

it looks simple but not at the same time??

#

😭

tight hull
#

is there a list of commands that can be used in debug+?

manic rune
#

you primarily just need to know eval (anything in here) which will run the code similarly to minecraft commands

red flower
manic rune
#

orrr that yeah

manic rune
#

can you check their code and see why its not detecting the scored card as having polychrome

manic rune
red flower
#

let me test it myself

manic rune
#

thanks :3

red flower
#

works for me

manic rune
#

likely a mod fucking up polychrome then

#

-# which seems to affect during scoring specifically?

manic rune
# pastel kernel

can you try disabling all of the other mods except yours and try again

nova juniper
#

Hi everyone I'm playing on android mobile, is there any way to play on a retroid 5 handheld pretty please?

pastel kernel
manic rune
#

against the rules, sorry

manic rune
#

what version is your smods, im so baffled rn 😭

nova juniper
#

@red flower I'm so sorry, I didn't realise

red flower
#

how are you making the cards polychrome

tight hull
# faint yacht

I have it hooked (at least I think) but how do I change a value with this

manic rune
#

i guess this?

normal crest
red flower
red flower
manic rune
#

fair

pastel kernel
#

return "1.0.0~BETA-0706c-STEAMODDED"

normal crest
red flower
faint yacht
pastel kernel
static ember
#

How do I give myself a specific joker? is it through the debug console?

red flower
red flower
static ember
#

k thx

pastel kernel
red flower
red flower
#

In two different hands?

#

Sorry if I seem to asking obvious questions

normal crest
#

I will never forgive you for this N

red flower
#

i would forgive you for anything

pastel kernel
#

wtf

#

it works

#

but on existing polychromes?

red flower
#

lol of course

manic rune
#

😭

#

i was pretty sure i told you to play polychrome cards...

red flower
#

i knew that's what it was, the card checks if it has polychrome currently and if it doesn't it applies it

#

so it was working fine

pastel kernel
#

rip

tight hull
#

can I check the value of a variable using debug+?

pastel kernel
#

it should work even after applying

normal crest
#

whatever being the variable you want to check

tight hull
#

if it says nil smth is not right yes?

red flower
#

if it says nil then the value was nil

normal crest
#

not necessarily, if it says nil it means the variable is nil, which might be correct depending on what you're checking

red flower
tight hull
#

and I defined it as 0

normal crest
#

what's the context, is the variable inside a joker? what did you eval exactly

normal crest
red flower
tight hull
modern kindle
#

Hello friends and besties

normal crest
#

hi dilly

red flower
#

am i friend or bestie

modern kindle
#

You are bestie N

red flower
#

yay

modern kindle
#

Hi srock

pastel kernel
tight hull
normal crest
tight hull
#

should it be in config.lua or smth? (asking for later)

normal crest
#

I'm still not clear on where the snippets of code you've sent are being placed

tight hull
faint yacht
#

Just do G.GAME.deaths = G.GAME.deaths and G.GAME.deaths + 1 or 0.

normal crest
#

can you send your main mod file if it's not too long

tight hull
# normal crest can you send your main mod file if it's not too long

if key == 'saved' then
    SMODS.saved = amount
    deaths = deaths + 1
end

SMODS.Atlas {
    -- Key for code to find it with
    key = "RBDMod",
    -- The name of the file, for the code to pull the atlas from
    path = "ModdedVanilla.png",
    -- Width of each sprite in 1x size
    px = 71,
    -- Height of each sprite in 1x size
    py = 95
}```
normal crest
#

okay well, that explains why it isn't doing anything

#

if you do eval deaths you should see 0 tho

#

but it will never increase

pastel kernel
tight hull
normal crest
#

no, you'd either have to hook or patch the SMODS.calculate_individual_effect function

chrome widget
#

I'm still stuck on my UI bullshit but I will survive

tight hull
normal crest
normal crest
#

Oops I didn't mean to ping

faint yacht
#

🍞

normal crest
#

tho you don't want to set it to 0 the first time

#

(G.GAME.deaths or 0) + 1 would be more correct

tight hull
#

it says that game is an nil value (error)

modern kindle
normal crest
tight hull
#
G.GAME.deaths = G.GAME.deaths and (G.GAME.deaths + 0) or 1

local cie_ref = SMODS.calculate_individual_effect
SMODS.calculate_individual_effect = function(effect, scored_card, key, amount, from_edition)
  if key == 'saved' then
    deaths = deaths + 1
  end
  return cie_ref(effect, scored_card, key, amount, from_edition)
end
#

the rest is the atlas

normal crest
#

replace deaths = deaths +1 with G.GAME.deaths = (G.GAME.deaths or 0) + 1 and remove the first line

tight hull
#

okok

tight hull
normal crest
#

you can but it isn't really worth the effort, just whenever you access G.GAME.deaths do (G.GAME.deaths or 0)

tight hull
#

ok

#

thnx

scarlet imp
#
local new_card = SMODS.add_card({set = card_type, area = area, key_append = "reroll"..reroll_type}, add_to_deck)
if area == G.shop_jokers then create_shop_card_ui(new_card) end
if odds ~= nil and SMODS.pseudorandom_probability(new_card, reroll_type, 1, odds) then
    SMODS.debuff_card(new_card, true)
    new_card:juice_up(0.15, 0.15) 
end

is there any reason new_card would be nil on the SMODS.debuff_card() line? I'm getting a crash here that says table index is nil

#

to be more specific, the table itself is getting passed correctly, but it has no index apparently

normal crest
#

when it says table index is nil it means somewhere in the code it tried to do table[nil] = smt and that crashes

stiff locust
#

how do i access a joker's name (not key)

scarlet imp
normal crest
#

to get the localizaed name

stiff locust
#

oh god

#

this mod is gonna be a pain to localize

#

i'll figure it out (someone else will do it if they want it localized)

normal crest
scarlet imp
normal crest
#

so you still want to do the localize call

scarlet imp
#

ok cool

normal crest
#

a unique string basically

scarlet imp
#

yeah I gotchu

brittle yacht
#

anybody know how to do chance in a card? im trying to make a joker that has a 1 in 3 chance to upgrade all poker hands

scarlet imp
#

are you using the most recent version of SMODS?

brittle yacht
normal crest
#

Latest release or dev version

brittle yacht
#

idk bro hold on

scarlet imp
#

SMODS.pseudorandom_probability(trigger_obj, seed, base_numerator, base_denominator

brittle yacht
#

return "1.0.0~BETA-0706c-STEAMODDED"

brittle yacht
#

i got into coding like yesterday

scarlet imp
#

yeah true, make sure the version you're on has this function. If it doesn't just do
if G.GAME.probabilities_normal / odds < pseudorandom("seed")

stiff locust
#

i don't want it to change on the center cause then it changes for every instance of the joker

red flower
#

but it will have no mod support basically

stiff locust
#

well this isn't something a lot of mods will use unless they

#

go out of their way to explicitly add it

modern kindle
#

Going out of my way

scarlet imp
# brittle yacht so how does this work exactly

without getting to into the weeds, trigger_obj for you would be the card that is the cause of the function call. seed is a string that will be used as the seed for the RNG. base_numerator and base_denominator are used for the math, and should be set to 1 and odds respectively.
All the documentation for SMODS is available online btw

red flower
stiff locust
#

i'm trying not to spoil my million dollar idea here i've got a table inside the joker's info (like in the same area as the key is in) which can be changed by some other consumables and jokers

scarlet imp
#

but again, make sure you're on the branch of SMODS that has this probability function. If you aren't, you should use if G.GAME.probabilities_normal / odds < pseudorandom("seed")

stiff locust
#

i want it to change for only that 1 joker

#

and not every instance of said joker

stiff locust
#

I can't put it in the ability table because the table contains a number and it could be randomized or altered by any jokers that change ability table values

stiff locust
#

which then breaks literally every joker in this entire mod

#

so i have to put it somewhere else because not all of them have a thing like cryptid's immutable argument to blacklist values

red flower
#

i think if a mod breaks mine by trying to change values then it's their fault

stiff locust
#

even if it is their fault i want to avoid it if I can

modern kindle
#

I am going to break N

#

Not the mod but N himself

scarlet imp
#

stay away from him

#

he's our goat

modern kindle
#

Nuh uh

MY goat

stiff locust
#

wait i might be really smart actually

#

how do I get a string value as an integer

#

can i just convert between string and int freely if it's always a number

normal crest
#

tonumber("10")

stiff locust
#

right so

#

jokers that change ability values on other jokers

#

skip strings because otherwise they would crash the game for doing math on strings

stiff locust
#

so I can store the number as a string and convert it to an integer whenever i use it as one

red flower
#

what about putting it in a table

stiff locust
#

and then no mod can break it

red flower
#

that makes more sense

stiff locust
normal crest
#

there's just no way you can avoid all scenarios

red flower
#

idk ive never seen any mod modifying like card.ability.extra.whatever.mult

broken rivet
#

how would i prevent a layer shadow being drawn inside of SMODS.DrawStep

stiff locust
scarlet imp
stiff locust
#

no sane person looks at a string and tries to randomize it

normal crest
#

true, but that's just an exaggerated example

stiff locust
red flower
scarlet imp
#

I have a Joker that does that in my mod. It modifies every other Joker that gives Mult or Xmult

normal crest
#

I will say it, cryptid and talisman have caused the most cursed code in mods trying to be cross compatible with them, and it pains me to see it happen again

stiff locust
#

it's not that bad cmonn

scarlet imp
#

Cryptid cross-compatibility is a pipe dream for me atp

modern kindle
#

my life would have been easy if i was not told i should immediately attempt to make my mod compat with talisman
so i immediately ran into making it work both with AND without

red flower
#

anyway, i think saving values as strings is going too far for no reason

#

but you do you

stiff locust
#

i'm gonna do it cause it won't take too much longer than the regular way and it might be helpful

red flower
#

ok i changed my opinion because i hate emojis

modern kindle
#

lmfao

normal crest
#

this is great

tight hull
#

the joker gains +1xmult everytime a base event happends and I have no idea why

scarlet imp
#

Somethingcom ruined them

modern kindle
#

i have so many trues

red flower
modern kindle
#

these are all my trues i couldve given you

normal crest
#

why did you stop with the trues tho

modern kindle
#

youre true........

scarlet imp
#

:true:

red flower
#

also i think that should crash

molten relic
#

how do i make this contains instead of is

#

if G.GAME.last_hand_played == card.ability.extra.poker_hand and context.end_of_round and not context.game_over and context.cardarea == G.jokers then

red flower
tight hull
molten relic
red flower
red flower
# molten relic wdym?

G.GAME.last_played_hand only saves the name, the game doesn't save the contained hands so you need to do it yourself

tight hull
red flower
#

you don't need to increment the xmult

#

just return { xmult = 1 + (G.GAME.deaths or 0) }

molten relic
red flower
#

yes that's what i meant

molten relic
#

owh

red flower
#

the game doesn't save that

molten relic
#

so how do i do zat

normal crest
molten relic
#

or is that really complicated

scarlet imp
tight hull
scarlet imp
#

or you could go cheap and check if the hand is Three of a Kind, Four of a Kind, Five of a Kind, Flush Five, Full House, or Flush House (not recommended lol)

tight hull
molten relic
red flower
# molten relic so how do i do zat

i think you need to save context.poker_hands (or if you only care about three of a kind you can check if next(context.poker_hands["Three of a Kind"]) and save that in like card.ability.extra.was_toak or something

red flower
#

and loc_vars

modern kindle
normal crest
molten relic
red flower
harsh bobcat
#

I need my joker to apply mult every hand but add .5 mult at the end of a blind.
This is what I did so far:
It could work but I'm assuming it doesn't since the discription of the card has Xnil and stuff on it.
-# ping me!

modern kindle
#

wheres the knot knot

#

or the not a knot

scarlet imp
#

similarly, change the second set of hashtags to #2# and make it the corresponding value in loc_vars

normal crest
molten relic
scarlet imp
#
loc_vars = function(self, info_queue, card)
  return {
    vars = {
      card.ability.extra.mult_per_potato,
      card.ability.extra.current_mult
    }
  }
end
#

something like that

#

loc_vars is the function that controls what shows up in a card's description

red flower
molten relic
#

ill just do if it is a full house then

#

:(

#

ill learn it one day

#

wait

normal crest
molten relic
#

ill look at The Trio

#

the trio does if it contains a toak right

#

yeah

scarlet imp
#

yes

red flower
broken rivet
#

been trying to remove a drawstep shadow from a sprite entirely, but there's still a very subtle one here. any tips on removing it?
if anyone's wondering why i'm doing this, i intend for the joker to have a sprite with a bunch of possible variations

tight hull
broken rivet
red flower
harsh bobcat
#

as a dictionary?

scarlet imp
tight hull
scarlet imp
#

I just typed mult_per_potato for the sake of clarity

red flower
#

it's probably extra.mult

harsh bobcat
tight hull
brittle yacht
#

quick question, im trying to make the color of text in a description of a consumable a differenet color, is there a chart or something with every color code to use?

red flower
normal crest
tight hull
brittle yacht
tight hull
tight hull
normal crest
#

already have

molten relic
#

if context.joker_main and next(context.poker_hands[card.ability.extra.type]) then
the game doesnt like this line

red flower
molten relic
#

something wrong??

red flower
broken rivet
# broken rivet been trying to remove a drawstep shadow from a sprite entirely, but there's stil...

drawstep code if it helps

-- alexi draw steps

-- gets scale and rotate mod, directly taken from SMODS' floating_sprite draw step code
local function floatingSprite()
    local scale_mod = 0.07 + 0.02*math.sin(1.8*G.TIMERS.REAL) + 0.00*math.sin((G.TIMERS.REAL - math.floor(G.TIMERS.REAL))*math.pi*14)*(1 - (G.TIMERS.REAL - math.floor(G.TIMERS.REAL)))^3
    local rotate_mod = 0.05*math.sin(1.219*G.TIMERS.REAL) + 0.00*math.sin((G.TIMERS.REAL)*math.pi*5)*(1 - (G.TIMERS.REAL - math.floor(G.TIMERS.REAL)))^2
    
    return scale_mod, rotate_mod
end

SMODS.DrawStep({
    key = "alexi_face",
    order = 61,
    func = function(card, layer)
        if card.config.center.face_pos and (card.config.center.discovered or card.bypass_discovery_center) then
            local scale_mod, rotate_mod = floatingSprite()

            -- local pos = (card.ability.immutable and card.ability.immutable.face) or card.config.center.face_pos

            if card.children.face_sprite then
                --card.children.face_sprite:draw_shader('dissolve', nil, nil, nil, card.children.center, scale_mod, rotate_mod, nil, 0.1 + 0.03*math.sin(1.8*G.TIMERS.REAL), nil)
                card.children.face_sprite:draw_shader('dissolve', nil, nil, nil, card.children.center, scale_mod, rotate_mod)
            end
            
            if card.edition then 
                local edition = G.P_CENTERS[card.edition.key]
                if edition.apply_to_float and card.children.face_sprite then
                    card.children.face_sprite:draw_shader(edition.shader, nil, nil, nil, card.children.center, scale_mod, rotate_mod)                    
                end
            end
        end
    end,
    conditions = { vortex = false, facing = 'front' },
})

SMODS.DrawStep({
    key = "alexi_eyes",
    order = 62,
    func = function(card, layer)
        if card.config.center.eye_pos and (card.config.center.discovered or card.bypass_discovery_center) then
            local scale_mod, rotate_mod = floatingSprite()

            -- local pos = (card.ability.immutable and card.ability.immutable.eye) or card.config.center.eye_pos

            if card.children.eye_sprite then
                --card.children.eye_sprite:draw_shader('dissolve', nil, nil, nil, card.children.center, scale_mod, rotate_mod, nil, 0.1 + 0.03*math.sin(1.8*G.TIMERS.REAL), nil)
                card.children.eye_sprite:draw_shader('dissolve', nil, nil, nil, card.children.center, scale_mod, rotate_mod)
            end
            
            if card.edition then 
                local edition = G.P_CENTERS[card.edition.key]
                if edition.apply_to_float and card.children.eye_sprite then
                    card.children.eye_sprite:draw_shader(edition.shader, nil, nil, nil, card.children.center, scale_mod, rotate_mod)                    
                end
            end
        end
    end,
    conditions = { vortex = false, facing = 'front' },
})
normal crest
#

code jumpscare

harsh bobcat
#

is it here i type the name of the variable instead

molten relic
normal crest
#

what is the crash

scarlet imp
molten relic
scarlet imp
#

also, unless you defined C:current_xmult yourself, that's not a color that exists

normal crest
molten relic
#

"Three Of A Kind"

normal crest
scarlet imp
molten relic
#

is it the caps

#

is it really the caps

normal crest
#

Yep

molten relic
#

if this works

#

im gonna explode

harsh bobcat
normal crest
#

o7

scarlet imp
#

are you referring to X: or X#1#?

harsh bobcat
#

X:

molten relic
#

it didnt work

#

same crash and all

scarlet imp
#

X: is like a background. So Vanilla cards that give Xmult all have a red background with white text inside, which looks like this: {X:red,C:white}

harsh bobcat
#

ok

#

is gray a color (nevermind I was looking for inactive)

molten relic
#

whats with line 427??

normal crest
molten relic
#

oh that might be it yeah

normal crest
#

It will explain all about text styling

#

and variables

molten relic
#

me rn

scarlet imp
# harsh bobcat ok
j_p_potato = {
  name = "Potato",
  text = {
    "This Joker grows one potato each round.",
    "Each potato is an additional {X:red,C:white}+#1#{} Mult.",
    "{C:inactive}(Currently {C:red}+#2#{}{C:inactive} Mult}"
  }
}

so I would recommend this. Also, I noticed that the top of the description implies that it gives times mult, but the bottom suggests it gives plus mult

molten relic
#

i exploded

harsh bobcat
#

It should be a plus

brittle yacht
#

is there anything wrong with this code? im getting errors for some unknown reason

#

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

SMODS.Consumable{
key = 'sillymod2',
set = 'Tarot'
loc_txt = {
name = 'Sugar Apple Seed',
text = {
'Spawns a {C:green}Sugar Apple'
}
},
atlas = 'sugarseed',
pos = {x = 0, y = 0},
rarity = 3,
cost = 5,
}

molten relic
red flower
#

when !postcrash command

brittle yacht
molten relic
#

and under py = 95 i think

molten relic
brittle yacht
#

ohhhhhhhhh

#

ok thanks

#

i was thinking of qoute like an idiot

molten relic
#

does it work?

#

i hope

brittle yacht
#

lemme check

harsh bobcat
molten relic
#

then i will feel smart

brittle yacht
#

nah theres still an error

#

but it might not just be that theres probably something else wrong

molten relic
normal crest
scarlet imp
brittle yacht
harsh bobcat
brittle yacht
#

mb i started yesterday

harsh bobcat
#

that makes sence

molten relic
#

type ctrl + c on the crash screen and ctrl + v here

brittle yacht
#

dont mind the other mods

scarlet imp
molten relic
brittle yacht
#

SMODS.Joker{
key = 'sillymod1',
loc_txt = {
name = 'Sugar Apple',
text = {
'{X:mult,C:white}X#1#{} Mult'
}
},
atlas = 'sugar',
pos = {x = 0, y = 0},
rarity = 4,
cost = 10,
config = { extra = {Xmult = 30}},
}
},
loc_vars = function(self,info_queue,center)
return {vars = {center.ability.extra.Xmult}}
end,
calculate = function(self,card,context)
if context.joker_main then
return {
card = card,
Xmult_mod = card.ability.extra.Xmult,
message = 'X' .. card.ability.extra.Xmult,
colour = G.C.MULT

red flower
#

you have an extra } there

molten relic
#

yeah was bout to say

normal crest
#

put your code between ``` so it formats nicely here

brittle yacht
#

what

brittle yacht
sonic cedar
#

do blind checks not trigger in endless mode versions of the blinds?
asking cause none of my blind specific effects triggered on my joker while it was endless mode

normal crest
brittle yacht
normal crest
#

To send the code formatted properly in discord

#

Just replace code with your code

brittle yacht
#
    key = 'sillymod1',
    loc_txt = {
        name = 'Sugar Apple',
        text = {
            '{X:mult,C:white}X#1#{} Mult'
        }
    },
    atlas = 'sugar',
    pos = {x = 0, y = 0},
    rarity = 4,
    cost = 10,
    config = { extra = {Xmult = 30}},
        }
    },
    loc_vars = function(self,info_queue,center)
        return {vars = {center.ability.extra.Xmult}}
    end,
    calculate = function(self,card,context)
        if context.joker_main then
            return {
                card = card,
                Xmult_mod = card.ability.extra.Xmult,
                message = 'X' .. card.ability.extra.Xmult,
                colour = G.C.MULT
red flower
#

every } closes a {

brittle yacht
#

think i fixed it

harsh bobcat
scarlet imp
#
config = {
  extra = {
    current_mult = 1,
    mult_per_potato = 0.5,
    rounds = 0
  }
}

the config is formatted wrong. Unless you want to keep it that way, in which case remove the extra. from the variables inside loc_vars

red flower
brittle yacht
#

bless your soul

scarlet imp
lunar silo
#

i need some help

sonic cedar
normal crest
#

hi toma

sonic cedar
#

hi srock

brittle yacht
#

thanks you

lunar silo
#

regarding my joker

sonic cedar
red flower
lunar silo
#

ok

broken rivet
lunar silo
scarlet imp
#

what exactly is wrong? it would help us pinpoint the problem

red flower
#

there's no context.post_discard

sonic cedar
normal crest
lunar silo
#

this is not working

#

like it doesn't do anything

foggy ginkgo
#

Is there a way for blinds to disable enchancement

molten relic
lunar silo
molten relic
#

oh thats always annoying

sonic cedar
#

at least this one was simple

lunar silo
#

it works BUT i have to discard an extra time for it to work

brittle yacht
#

so how do i use context with a tarot card?

sonic cedar
#

ok there

red flower
brittle yacht
lunar silo
brittle yacht
red flower
lunar silo
#

but how do i make it reminiscent of faceless joker's effect?

scarlet imp
brittle yacht
#

thx though

tight hull
#

sorry to bother once again but I have no idea what im doing, Im trying to make a joker that gains 1xmult everytime mr bones is used (the mr bones part is alredy done, it adds +1 to G.GAME.deaths) but I dont know what to put into the joker code (this is what I was able to copy from other jokers but it doesnt work)

SMODS.Joker {
    key = 'rbd',
    loc_txt = {
        name = 'Return By Death',
        text = {
            "{X:mult,C:white} X#1# {} Mult",
        }
    },
    blueprint_compat = true,
    rarity = 4,
    cost = 20,
    pos = { x = 0, y = 1 },
    config = { extra = { xmult = 1, xmult_gain = 1 } },
    loc_vars = function(self, info_queue, card)
        return { vars = { card.ability.extra.xmult_gain, card.ability.extra.xmult } }
    end,
    calculate = function(self, card, context)
        if (G.GAME.deaths or 0) > 0 then
            card.ability.extra.xmult = card.ability.extra.xmult + G.GAME.deaths * card.ability.extra.xmult_gain
            return { message = localize { type = 'variable', key = 'a_xmult', vars = { card.ability.extra.xmult } } }
        end
        if context.joker_main then 
            return { xmult = 1 + (G.GAME.deaths or 0) }
        end
    end,
}```
modern kindle
#

more like vanilla peakmade

brittle yacht
tight hull
brittle yacht
red flower
#

it's for the area the tarot is used (the consumable slots or a pack for example)

scarlet imp
#

area refers to the Cardarea that a card is being used from if I'm correct, so for a Tarot it would be G.consumables

sonic cedar
brittle yacht
red flower
scarlet imp
harsh bobcat
#

wat dis mean?

red flower
#

it means ipairs got a string instead of a table

tight hull
red flower
#

and the full crash

brittle yacht
red flower
brittle yacht
red flower
#

you would change it for SMODS.add_card{ key = "j_modprefix_key" }

scarlet imp
#

if you want to force it to become a - DAMMIT N`

modern kindle
#

gotta type faster than that

#

idr if it was n or not but mfs also beat me at times on mobile too

brittle yacht
#

lol

modern kindle
#

ill be on pc and theyll be faster than me on their freaking phones

brittle yacht
#

yall are actually frickin goats bro

red flower
#

probably not me im bad at typing

modern kindle
#

no youre awesome

#

i would buy you a snowcone

#

ive never actually had a snowcone

brittle yacht
#

tats so specific

scarlet imp
#

yeah but you're so knowledgable that it doesn't matter lol

modern kindle
scarlet imp
#

N should drop his MonkeyType average

brittle yacht
#

my mod prefix is "silly" and the joker im trying to spawn's key is "sillymod1"

scarlet imp
#

you need to have the first part be key

brittle yacht
scarlet imp
#

SMODS.add_card{ key = "j_silly_sillymod1" } to be more specific

brittle yacht
#

yup thats what i got now

modern kindle
red flower
modern kindle
#

im satisfied with 76 because for awhile i was stuck at 60 or less

#

but ol boy is recovering his abilities

brittle yacht
scarlet imp
red flower
modern kindle
#

i think at my peak i was at like 118 or so i dont truly recall
but then my blasted injuries done set me back

red flower
#

like i said, not a good typer

modern kindle
#

i got my arms obliterated a bit in the military so it set me to like high 40s for awhile in wpm

#

but ive been recovering the last few years that ability

normal crest
#

i am monkey

modern kindle
#

im pretty happy with the 70s so far

brittle yacht
modern kindle
scarlet imp
molten relic
brittle yacht
molten relic
brittle yacht
#

i had to do a grow a garden reference

normal crest
molten relic
#

i cant stand gag honestly

normal crest
#

maybe in 100 years

modern kindle
#

i believe in you

brittle yacht
brittle yacht
modern kindle
#

i have no idea what gag is

molten relic
brittle yacht
modern kindle
#

ah ic

brittle yacht
#

grow a garden

scarlet imp
red flower
#

i played princess maker 2

#

what are we talking about

brittle yacht
molten relic
brittle yacht
modern kindle
#

i was never much of a roblox fella

tight hull
#

how to create a certain joker when a boss blind is selected? (as an ability of other joker)

brittle yacht
#

lol

modern kindle
#

no i played a real game growing up

main minnow
#

what's the best approach for making jokers that affect how card ranks and suits are interpreted? (e.g. "[rank] and [rank] count as the same rank")

brittle yacht
tight hull
brittle yacht
#

uve got great taste

uncut blaze
#

how to install steammodded?

scarlet imp
#

censor your name please

red flower
brittle yacht
modern kindle
scarlet imp
tight hull
modern kindle
scarlet imp
#

casual 🥱

modern kindle
#

youre true...

brittle yacht
molten relic
normal crest
tight hull
scarlet imp
#

how do you even get that much time out of that game.... wait

brittle yacht
#

ALR GUYS

modern kindle
brittle yacht
#

TIME FOR A STICKER

modern kindle
#

ive spent over 10k USD on steam 🙃

molten relic
#

im lost on this card

molten relic
#

i cant think of an effect

normal crest
tight hull
modern kindle
brittle yacht
#

whats the usual sticker size

scarlet imp
brittle yacht
scarlet imp
molten relic
#

i dont steal though

scarlet imp
#

you can steal it lol

brittle yacht
#

GANG

molten relic
#

okay

#

but ONLY THIS ONE.

brittle yacht
#

whats the usual sticker sprite size

molten relic
#

all other effect will be original

scarlet imp
#

from one Isaac enjoyer to another

tight hull
brittle yacht
tight hull
#

give me a sec I will check

normal crest
brittle yacht
#

ok

modern kindle
#

if isaac is so good why isnt he named fred

modern kindle
normal crest
#

163 usd

modern kindle
#

insane

normal crest
#

Ofc not 163k lol

modern kindle
#

lmfao

red flower
modern kindle
#

yea ive spent alot

red flower
normal crest
modern kindle
#

N when are we gonna be friends on steam

normal crest
#

So I think I have good spending habits

tight hull
red flower
brittle yacht
normal crest
red flower
#

yes

modern kindle
normal crest
#

makes sense

lunar silo
#

wait i forgot but

red flower
#

thankfully you dont buy honkai jades on steam

normal crest
#

How much have you spent on hsr...

modern kindle
red flower
#

i wonder if theres a way to check

scarlet imp
red flower
modern kindle
#

i was gonna get bepis something from the summer sale but he didnt tell me what to get him, sad days

normal crest
red flower
#

haha

modern kindle
#

imagine keeping track

#

i dont worry about where my money goes, i just make sure i take care of what i need to

red flower
#

i keep track on how close i am to 0 on my bank account

modern kindle
#

i cover my bills, otherwise my money goes to my friends

#

i think my monthly spending is around 3700 usd

normal crest
red flower
#

a week ago

primal robin
modern kindle
#

i need you guys to pump up your steam numbers

#

all of us should be 10k

normal crest
#

not all of us have the privilege :(

modern kindle
#

i will fix you all

#

make you wealthy

scarlet imp
#

where do you see this btw? in steam?

modern kindle
#

yea

red flower
modern kindle
#

srock faster

primal robin
#

cringe

normal crest
primal robin
modern kindle
#

N

#

you have such a large wishlist

scarlet imp
red flower
sonic cedar
modern kindle
red flower
sonic cedar
#

also hi dilly

modern kindle
#

hiii

modern kindle
#

i will do such things

red flower
#

same honestly

chrome widget
#

UI colors my beloathed UI colors my beloathed

modern kindle
#

my friends detest my lack of wishlists most times

#

i have to get winter on steam at some point

chrome widget
#

I don't have a wishlist either lol

modern kindle
#

cause winter is ym bestie

sonic cedar
#

You will download steeeaaaam 🌀

modern kindle
#

all of you can add me if you desire my steam is linked to disc smeele

chrome widget
#

Regardless I don't really play online multiplayer much so Id say not expect a lot

scarlet imp
#

I feel like I only ever see winter when she's hating on UI

sonic cedar
#

thanks for reminding

red flower
#

hating on UI is a state of being

normal crest
scarlet imp
#

real

lunar silo
sonic cedar
#

are you even a real developer if you like modding UI

normal crest
#

i'll add you if you can find my steam profile

scarlet imp
tight hull
primal robin
#

So you want to say that I'm not a developer?

modern kindle
modern kindle
sonic cedar
scarlet imp
#
local _rank = math.random(2, 14)
SMODS.change_base(card, nil, _rank)

why no work change rank

primal robin
#

Ah, that's different

#

I see

normal crest
daring fern
tight hull
sonic cedar
daring fern
#

Like "Ace" instead of 14

sonic cedar
#

hi somecommmm

modern kindle
#

so i did in fact get banned for it

normal crest
sonic cedar
sonic cedar
modern kindle
#

no i played it yesterday

#

and the day before

sonic cedar
#

oh lmao

scarlet imp
#

could I do "".._rank and have that work?

tight hull
daring fern
scarlet imp
#

dang, ok thanks

modern kindle
daring fern
daring fern
# tight hull bump
if context.setting_blind and context.blind.boss then
    SMODS.add_card({key = "j_modprefix_key"})
end
tight hull
#

thnx