#MISSINGNO/D4 Joker (Based on Isaac)

1 messages · Page 1 of 1 (latest)

final token
#

This mod is not done and does not work and has not been released! I will update this post later when it's ready.

#

huh i don't see context in the original code for end of ante

#

just end of round

#

ohhh

#

maybe ```lua
if context.blind.boss and context.end_of_round then
(code)
end

split yew
#

yeah i'm pretty sure this is what vanilla jokers use for it

final token
#

yeah i saw that it was added into the normal stuff

#

G.E_MANAGER:add_event(Event({
func = function()
local card = copy_card(pseudorandom_element(G.jokers.cards, pseudoseed('perkeo2')), nil)

            card:set_edition('e_negative', true)
            card:add_to_deck()
            -- card:emplace puts a card in a cardarea, this one is G.consumeables, but G.jokers works, and custom card areas could also work.
            -- I think playing cards use "create_playing_card()" and are separate.
            G.jokers:emplace(card)
            return true
          end
        }))
#

supposedly this will work

#

but i just gotta make sure that it isn't the current joker :p[

#

card is my joker right?

#

not in this thing btw- in calculate

#

oh i could totally check invis joker code

#

oh good they totally don't include code examples for that

#

for now i'm just trying to copy a card randomly, this'll work anyway just as a point of reference

#
for i=1, #G.jokers.cards do 
                    if G.jokers.cards[i] ~= self then
                        jokers[#jokers+1] = G.jokers.cards[i]
                    end
                end
                if #jokers > 0 then 
                    if #G.jokers.cards <= G.jokers.config.card_limit then 
                        card_eval_status_text(context.blueprint_card or self, 'extra', nil, nil, nil, {message = localize('k_duplicated_ex')})
                        local chosen_joker = pseudorandom_element(jokers, pseudoseed('invisible'))
                        local card = copy_card(chosen_joker, nil, nil, nil, chosen_joker.edition and chosen_joker.edition.negative)
                        if card.ability.invis_rounds then card.ability.invis_rounds = 0 end
                        card:add_to_deck()
                        G.jokers:emplace(card)
                    else
                        card_eval_status_text(context.blueprint_card or self, 'extra', nil, nil, nil, {message = localize('k_no_room_ex')})
                    end
                else
                    card_eval_status_text(context.blueprint_card or self, 'extra', nil, nil, nil, {message = localize('k_no_other_jokers')})
                end
#

i'm just writing this in here to make my life easier

#

now just to figure out how to pull an array of all existing jokers in the game and pick one randomly

#

this should be fun

#

hopefully i can just index by id

#

oh wow ok that was a lot simpler than i thought it'd be

final token
#

ok i've ALMOST got it

#

i just need to figure out if i can set the location of the joker i am emplacing

#

and the quality with the code i'm using, right now it can only pick common or rare for some reason

#
local card = create_card('Joker', G.jokers, false, nil, nil, nil, nil, 'jud')
split yew
#

I'd replace 'jud' with some text corresponding to your joker
since otherwise it'll use the same joker queue as Judgement

final token
#

ohhhh

#

i had 0 clue how this thing works

#

hmmm

#

how can i set a queue to only run a specific amount of times then? it keeps running like 5 extra times for every joker it's supposed to replace

#
for i=1, #G.jokers.cards do
                if G.jokers.cards[i] ~= card then
                  is_soul = love.math.random(0,20) == 1
                  local c = create_card('Joker', G.jokers, is_soul, nil, nil, nil, nil, "missingno")
                  c:add_to_deck()
                  G.jokers.cards[i]:remove()
                  G.jokers.cards[i] = c
                  --c:start_materialize()
                end
              end
#

ignore the weird spacing, that's just a thing that happens when i copypaste from vs

#

i think this broke it somehow

#

😭

#

gonna start a new run tho and see if it fixes it

#

yeah iunno

#

OH

#

i think i know why

#

damn this is a LOT more ambitious than i thought it'd be

#

oh my god i've spent like 6 hours on this

#

ok now to just figure out. why it keeps running so many goddamn times

#

i have an idea actually

#

how irritating.

#

yeah no i'm stumped now it creates like 20 cards that just hover and then the 2 that i actually want

#

no clue what's up with this

final token
#

we're. very close

#

i got it

#

i just added a stupid bool value locally and it worked somehow

#

i still have 0 clue why it happened in the first place but it's seemingly mostly fixed for now

#

god optimizing this is gonna be a bitch

final token
#

I GOT IT

#

GOD

#

I'M A GOD

final token
#

HELLO!!! HI!!! THE JOKER WORKS, I HAD TO LEARN SOME COMPLICATED LUA BULLSHIT.

I WILL BE WORKING ON BALANCING THIS EVENTUALLY, BUT IT WILL ROLL ALL JOKERS THAT ARE NOT ITSELF AT THE END OF EVERY ROUND PLEASE ENJOY

#

MISSINGNO/D4 Joker (Based on Isaac)

final token
#

trying to figure out how i want to balance this

#

thinking that 1/10 chance to destroy itself and remove itself from all of the pools every round is good

fringe kiln
# final token

I've actually had a similar glitch when skipping a buffoon pack too early, don't know if its a specific mod that enables it but i think its funny (image i made using it)

final token
#

What it is is basically it adds a joker to a slot that is already taken, overwriting the joker and replacing it with something different without um. Instancing it first

#

My fix was to add the joker to the hand at the end of the hand and then insert it at the current index after deleting the original joker

#

Took a full day to figure out >~<

#

Was totally worth the effort though, itz cool as fuck

#

My goal is gonna be one new card based on isaac a day, tomorrow’s spindown dice

#

Should be a LOT easier honestly

loud rose
#

but like in vannila o-o

fringe kiln
#

(from cryptid)

split yew
#

I think it’s possible without Cryptid too lol

fringe kiln
#

yea, its just that if you try opening another pack after it then it all resets

#

i think off by one is the only way to get that many jokers not on the joker slots

final token
#

Lmk how you all enjoy the mod btw! I’m planning on balancing it today hopefully, might have something like gros michel where it disappears after 10 rounds or makes itself eternal