balatro-mods/Cryptid/items/pointer.lua

2726 lines
50 KiB
Lua

local pointer = {
cry_credits = {
idea = {
"HexaCryonic",
},
art = {
"HexaCryonic",
},
code = {
"Math",
},
},
dependencies = {
items = {
"set_cry_code",
"set_cry_spectral",
},
},
object_type = "Consumable",
set = "Spectral",
name = "cry-Pointer",
key = "pointer",
pos = { x = 11, y = 3 },
hidden = true,
soul_set = "Code",
order = 20001,
atlas = "atlasnotjokers",
can_use = function(self, card)
return true
end,
use = function(self, card, area, copier)
if not card.ability.cry_multiuse or to_big(card.ability.cry_multiuse) <= to_big(1) then
G.GAME.CODE_DESTROY_CARD = copy_card(card)
G.consumeables:emplace(G.GAME.CODE_DESTROY_CARD)
else
card.ability.cry_multiuse = card.ability.cry_multiuse + 1
end
G.GAME.USING_CODE = true
G.OVERLAY_MENU_POINTER = true
G.E_MANAGER:add_event(Event({
func = function()
G.GAME.USING_POINTER = true
G.FUNCS.overlay_menu({ definition = create_UIBox_your_collection() })
return true
end,
}))
G.E_MANAGER:add_event(Event({
func = function()
check_for_unlock({ cry_used_consumable = "c_cry_pointer" })
return true
end,
}))
G.GAME.POINTER_SUBMENU = nil
end,
init = function(self)
local ccl = Card.click
function Card:click()
if G.GAME.USING_POINTER then
if not self.debuff then
if self.config.center.consumeable then
local copy = copy_card(self)
copy:add_to_deck()
G.consumeables:emplace(copy)
G.FUNCS.exit_overlay_menu_code()
ccl(self)
elseif self.config.center.set == "Booster" then
G.FUNCS.exit_overlay_menu_code()
local card = copy_card(self)
card.cost = 0
card.from_tag = true
G.FUNCS.use_card({ config = { ref_table = card } })
card:start_materialize()
created = true
ccl(self)
elseif
self.config.center.key == "c_base"
or self.config.center.set == "Enhanced"
or self.edition
or G.GAME.POINTER_SUBMENU == "Edition"
then
--submenu stuff
if G.GAME.POINTER_SUBMENU == "Rank" then
G.GAME.POINTER_PLAYING.rank = self.base.value
G.FUNCS.overlay_menu({
definition = create_UIBox_pointer_suit(),
})
elseif G.GAME.POINTER_SUBMENU == "Suit" then
G.GAME.POINTER_PLAYING.suit = self.base.suit
G.FUNCS.overlay_menu({
definition = create_UIBox_pointer_enhancement(),
})
elseif G.GAME.POINTER_SUBMENU == "Enhancement" then
G.GAME.POINTER_PLAYING.center = self.config.center.key
G.FUNCS.overlay_menu({
definition = create_UIBox_pointer_edition(),
})
elseif G.GAME.POINTER_SUBMENU == "Edition" then
if self.edition then
G.GAME.POINTER_PLAYING.edition = self.edition.key
end
G.FUNCS.overlay_menu({
definition = create_UIBox_pointer_seal(),
})
elseif G.GAME.POINTER_SUBMENU == "Seal" then
G.GAME.POINTER_PLAYING.seal = self.seal
local card = SMODS.create_card({
key = G.GAME.POINTER_PLAYING.center,
rank = G.GAME.POINTER_PLAYING.rank,
suit = G.GAME.POINTER_PLAYING.suit,
})
card:set_ability(G.P_CENTERS[G.GAME.POINTER_PLAYING.center])
if G.GAME.POINTER_PLAYING.seal then
card:set_seal(G.GAME.POINTER_PLAYING.seal)
end
if G.GAME.POINTER_PLAYING.edition then
card:set_edition(G.GAME.POINTER_PLAYING.edition)
end
if G.STATE == G.STATES.SELECTING_HAND then
G.hand:emplace(card)
else
G.deck:emplace(card)
end
table.insert(G.playing_cards, card)
G.FUNCS.exit_overlay_menu_code()
G.GAME.POINTER_PLAYING = nil
end
else
G.ENTERED_CARD = self.config.center.key
local ret = G.FUNCS.pointer_apply()
G.FUNCS.pointer_cancel()
if ret then
G.FUNCS.exit_overlay_menu_code()
ccl(self)
else
G.GAME.USING_CODE = true
G.GAME.USING_POINTER = true
end
end
end
else
ccl(self)
end
end
local emplace_ref = CardArea.emplace
function CardArea:emplace(card, ...)
if G.GAME.USING_POINTER then
if Cryptid.pointergetblist(card.config.center.key)[1] then
card.debuff = true
end
end
return emplace_ref(self, card, ...)
end
function create_UIBox_pointer(card)
G.E_MANAGER:add_event(Event({
blockable = false,
func = function()
G.REFRESH_ALERTS = true
return true
end,
}))
local t = create_UIBox_generic_options({
no_back = true,
colour = HEX("04200c"),
outline_colour = G.C.SECONDARY_SET.Code,
contents = {
{
n = G.UIT.R,
nodes = {
create_text_input({
colour = G.C.SET.Code,
hooked_colour = darken(copy_table(G.C.SET.Code), 0.3),
w = 4.5,
h = 1,
max_length = 100,
extended_corpus = true,
prompt_text = localize("cry_code_enter_card"),
ref_table = G,
ref_value = "ENTERED_CARD",
keyboard_offset = 1,
}),
},
},
{
n = G.UIT.R,
config = { align = "cm" },
nodes = {
UIBox_button({
colour = G.C.SET.Code,
button = "pointer_apply",
label = { localize("cry_code_create") },
minw = 4.5,
focus_args = { snap_to = true },
}),
},
},
{
n = G.UIT.R,
config = { align = "cm" },
nodes = {
UIBox_button({
colour = G.C.SET.Code,
button = "your_collection",
label = { localize("b_collection_cap") },
minw = 4.5,
focus_args = { snap_to = true },
}),
},
},
{
n = G.UIT.R,
config = { align = "cm" },
nodes = {
UIBox_button({
colour = G.C.RED,
button = "pointer_apply_previous",
label = { localize("cry_code_create_previous") },
minw = 4.5,
focus_args = { snap_to = true },
}),
},
},
{
n = G.UIT.R,
config = { align = "cm" },
nodes = {
UIBox_button({
colour = G.C.RED,
button = "pointer_cancel",
label = { localize("cry_code_cancel") },
minw = 4.5,
focus_args = { snap_to = true },
}),
},
},
},
})
return t
end
G.FUNCS.pointer_cancel = function()
if G.CHOOSE_CARD then
G.CHOOSE_CARD:remove()
end
G.GAME.USING_CODE = false
G.GAME.USING_POINTER = false
G.DEBUG_POINTER = false
end
G.FUNCS.pointer_apply_previous = function()
if G.PREVIOUS_ENTERED_CARD then
G.ENTERED_CARD = G.PREVIOUS_ENTERED_CARD or ""
end
G.FUNCS.pointer_apply()
end
G.FUNCS.pointer_apply = function()
local function apply_lower(strn)
if type(strn) ~= string then -- safety
strn = tostring(strn)
end
-- Remove content within {} and any remaining spaces
strn = strn:gsub("%b{}", ""):gsub("%s+", "")
--this weirdness allows you to get m and M separately
if string.len(strn) == 1 then
return strn
end
return string.lower(strn)
end
local current_card -- j_cry_dropshot
local entered_card = G.ENTERED_CARD
local valid_check = {}
G.PREVIOUS_ENTERED_CARD = G.ENTERED_CARD
current_card = Cryptid.pointergetalias(entered_card) or nil
valid_check = Cryptid.pointergetblist(current_card)
if not valid_check[3] then
current_card = nil
end
--if enhancement has a suit or rank override, override above and make nil, so it can proceed with playing card creation
if current_card ~= nil and string.sub(current_card, 1, 1) == "m" then
if
G.P_CENTERS[current_card] and G.P_CENTERS[current_card].specific_suit
or G.P_CENTERS[current_card].specific_rank
then
current_card = nil
end
end
if current_card then -- non-playing card cards
local created = false -- Joker check
if not valid_check[1] and valid_check[2] == "Joker" and valid_check[3] then
local card = create_card("Joker", G.jokers, nil, nil, nil, nil, current_card)
card:add_to_deck()
G.jokers:emplace(card)
created = true
end
if -- Consumeable check
not valid_check[1]
and valid_check[2] == "Consumeable"
and valid_check[3]
then
local card = create_card("Consumeable", G.consumeables, nil, nil, nil, nil, current_card)
if card.ability.name and card.ability.name == "cry-Chambered" then
card.ability.extra.num_copies = 1
end
card:add_to_deck()
G.consumeables:emplace(card)
created = true
end
if -- Voucher check
not valid_check[1]
and valid_check[2] == "Voucher"
and valid_check[3]
then
local area
if G.STATE == G.STATES.HAND_PLAYED then
if not G.redeemed_vouchers_during_hand then
G.redeemed_vouchers_during_hand = CardArea(
G.play.T.x,
G.play.T.y,
G.play.T.w,
G.play.T.h,
{ type = "play", card_limit = 5 }
)
end
area = G.redeemed_vouchers_during_hand
else
area = G.play
end
local card = create_card("Voucher", area, nil, nil, nil, nil, current_card)
card:start_materialize()
area:emplace(card)
card.cost = 0
card.shop_voucher = false
local current_round_voucher = G.GAME.current_round.voucher
card:redeem()
G.GAME.current_round.voucher = current_round_voucher
G.E_MANAGER:add_event(Event({
trigger = "after",
delay = 0,
func = function()
card:start_dissolve()
return true
end,
}))
created = true
end
if -- Booster check
not valid_check[1]
and valid_check[2] == "Booster"
and valid_check[3]
then
local card = create_card("Booster", G.hand, nil, nil, nil, nil, current_card)
card.cost = 0
card.from_tag = true
G.FUNCS.use_card({ config = { ref_table = card } })
card:start_materialize()
created = true
end
if created then
if G.CHOOSE_CARD then
G.CHOOSE_CARD:remove()
end
G.GAME.USING_CODE = false
G.GAME.USING_POINTER = false
G.DEBUG_POINTER = false
return true
end
end
for i, v in pairs(G.P_TAGS) do -- TAGS
local blacklist = Cryptid.pointergetblist(i)
-- gonna be real w/ you idk why pointergetblist is a table now so im just gonna check if everything in it is falsey
local can_spawn = true
for _, val in pairs(blacklist) do
can_spawn = can_spawn and not val
end
if Cryptid.pointergetalias(i) and can_spawn then
if v.name and apply_lower(entered_card) == apply_lower(v.name) then
current_card = i
break --no clue why this wasn't done before, you can't create 2 tags with one pointer
end
if apply_lower(entered_card) == apply_lower(i) then
current_card = i
break
end
if
apply_lower(entered_card) == apply_lower(localize({ type = "name_text", set = v.set, key = i }))
then
current_card = i
break
end
end
end
if
current_card
and (G.DEBUG_POINTER or (not G.P_CENTERS[current_card] and not G.GAME.banned_keys[current_card]))
then
local created = false
local t = Tag(current_card, nil, "Big")
add_tag(t)
if current_card == "tag_orbital" then
local _poker_hands = {}
for k, v in pairs(G.GAME.hands) do
if v.visible then
_poker_hands[#_poker_hands + 1] = k
end
end
t.ability.orbital_hand = pseudorandom_element(_poker_hands, pseudoseed("cry_pointer_orbital"))
end
if current_card == "tag_cry_rework" then
--tbh this is the most unbalanced part of the card
t.ability.rework_edition =
pseudorandom_element(G.P_CENTER_POOLS.Edition, pseudoseed("cry_pointer_edition")).key
t.ability.rework_key =
pseudorandom_element(G.P_CENTER_POOLS.Joker, pseudoseed("cry_pointer_joker")).key
end
G.CHOOSE_CARD:remove()
G.GAME.USING_CODE = false
G.GAME.USING_POINTER = false
G.DEBUG_POINTER = false
return
end
for i, v in pairs(G.P_BLINDS) do
if Cryptid.pointergetalias(i) and not Cryptid.pointergetblist(i) then
if v.name and apply_lower(entered_card) == apply_lower(v.name) then
current_card = i
end
if apply_lower(entered_card) == apply_lower(i) then
current_card = i
end
if
apply_lower(entered_card)
== apply_lower(localize({ type = "name_text", set = "Blind", key = i }))
then
current_card = i
end
end
end
if
current_card
and not G.P_CENTERS[current_card]
and not G.P_TAGS[current_card]
and (G.DEBUG_POINTER or not Cryptid.pointergetblist(current_card))
then
local created = false
if not G.GAME.blind or (G.GAME.blind.name == "" or not G.GAME.blind.blind_set) then
--from debugplus
local par = G.blind_select_opts.boss.parent
G.GAME.round_resets.blind_choices.Boss = current_card
G.blind_select_opts.boss:remove()
G.blind_select_opts.boss = UIBox({
T = { par.T.x, 0, 0, 0 },
definition = {
n = G.UIT.ROOT,
config = {
align = "cm",
colour = G.C.CLEAR,
},
nodes = {
UIBox_dyn_container(
{ create_UIBox_blind_choice("Boss") },
false,
get_blind_main_colour("Boss"),
mix_colours(G.C.BLACK, get_blind_main_colour("Boss"), 0.8)
),
},
},
config = {
align = "bmi",
offset = {
x = 0,
y = G.ROOM.T.y + 9,
},
major = par,
xy_bond = "Weak",
},
})
par.config.object = G.blind_select_opts.boss
par.config.object:recalculate()
G.blind_select_opts.boss.parent = par
G.blind_select_opts.boss.alignment.offset.y = 0
for i = 1, #G.GAME.tags do
if G.GAME.tags[i]:apply_to_run({
type = "new_blind_choice",
}) then
break
end
end
created = true
else
G.GAME.blind:set_blind(G.P_BLINDS[current_card])
ease_background_colour_blind(G.STATE)
created = true
end
if created then
G.CHOOSE_CARD:remove()
G.GAME.USING_CODE = false
G.GAME.USING_POINTER = false
G.DEBUG_POINTER = false
return true
end
end
if not current_card then -- if card isn't created yet, try playing cards
local words = {}
for i in string.gmatch(string.lower(entered_card), "%S+") do -- not using apply_lower because we actually want the spaces here
table.insert(words, i)
end
local rank_table = {
{ "stone" },
{ "2", "Two", "II" },
{ "3", "Three", "III" },
{ "4", "Four", "IV" },
{ "5", "Five", "V" },
{ "6", "Six", "VI" },
{ "7", "Seven", "VII" },
{ "8", "Eight", "VIII" },
{ "9", "Nine", "IX" },
{ "10", "1O", "Ten", "X", "T" },
{ "J", "Jack" },
{ "Q", "Queen" },
{ "K", "King" },
{ "A", "Ace", "One", "1", "I" },
{ "Abstract", "Abstracted", "TADC" },
} -- ty variable
local _rank = nil
for m = #words, 1, -1 do -- the legendary TRIPLE LOOP, checking from end since rank is most likely near the end
for i, v in pairs(rank_table) do
for j, k in pairs(v) do
if words[m] == string.lower(k) then
_rank = i
break
end
end
if _rank then
break
end
end
if _rank then
break
end
end
if _rank then -- a playing card is going to get created at this point, but we can find additional descriptors
local suit_table = {
["Spades"] = { "spades" },
["Hearts"] = { "hearts" },
["Clubs"] = { "clubs" },
["Diamonds"] = { "diamonds" },
}
for k, v in pairs(SMODS.Suits) do
local index = v.key
local current_name = G.localization.misc.suits_plural[index]
if not suit_table[v.key] then
suit_table[v.key] = { string.lower(current_name) }
end
end
-- i'd rather be pedantic and not forgive stuff like "spade", there's gonna be a lot of checks
-- can change that if need be
local enh_table = {
["m_lucky"] = { "lucky" },
["m_mult"] = { "mult" },
["m_bonus"] = { "bonus" },
["m_wild"] = { "wild" },
["m_steel"] = { "steel" },
["m_glass"] = { "glass" },
["m_gold"] = { "gold" },
["m_stone"] = { "stone" },
["m_cry_echo"] = { "echo" },
["m_cry_abstract"] = { "abstract" },
}
for k, v in pairs(G.P_CENTER_POOLS.Enhanced) do
local index = v.key
local current_name = G.localization.descriptions.Enhanced[index].name
current_name = current_name:gsub(" Card$", "")
if not enh_table[v.key] then
enh_table[v.key] = { string.lower(current_name) }
end
end
local ed_table = {
["e_base"] = { "base" },
["e_foil"] = { "foil" },
["e_holo"] = { "holo" },
["e_polychrome"] = { "polychrome" },
["e_negative"] = { "negative" },
["e_cry_mosaic"] = { "mosaic" },
["e_cry_oversat"] = { "oversat" },
["e_cry_glitched"] = { "glitched" },
["e_cry_astral"] = { "astral" },
["e_cry_blur"] = { "blurred" },
["e_cry_gold"] = { "golden" },
["e_cry_glass"] = { "fragile" },
["e_cry_m"] = { "jolly" },
["e_cry_noisy"] = { "noisy" },
["e_cry_double_sided"] = { "double-sided", "double_sided", "double" }, -- uhhh sure
}
for k, v in pairs(G.P_CENTER_POOLS.Edition) do
local index = v.key
local current_name = G.localization.descriptions.Edition[index].name
if not ed_table[v.key] then
ed_table[v.key] = { string.lower(current_name) }
end
end
local seal_table = {
["Red"] = { "red" },
["Blue"] = { "blue" },
["Purple"] = { "purple" },
["Gold"] = { "gold", "golden" }, -- don't worry we're handling seals differently
["cry_azure"] = { "azure" },
["cry_green"] = { "green" },
}
local sticker_table = {
["eternal"] = { "eternal" },
["perishable"] = { "perishable" },
["rental"] = { "rental" },
["pinned"] = { "pinned" },
["banana"] = { "banana" }, -- no idea why this evades prefixing
["cry_rigged"] = { "rigged" },
["cry_global_sticker"] = { "global" },
["cry_flickering"] = { "flickering" },
["cry_possessed"] = { "possessed" },
["cry_absolute"] = { "absolute" },
}
local function parsley(_table, _word)
for i, v in pairs(_table) do
for j, k in pairs(v) do
if _word == string.lower(k) then
return i
end
end
end
return ""
end
local function to_rank(rrank)
if rrank <= 10 then
return tostring(rrank)
elseif rrank == 11 then
return "Jack"
elseif rrank == 12 then
return "Queen"
elseif rrank == 13 then
return "King"
elseif rrank == 14 then
return "Ace"
end
end
-- ok with all that fluff out the way now we can figure out what on earth we're creating
local _seal_att = false
local _suit = ""
local _enh = ""
local _ed = ""
local _seal = ""
local _stickers = {}
for m = #words, 1, -1 do
-- we have a word. figure out what that word is
-- this is dodgy spaghetti but w/ever
local wword = words[m]
if _suit == "" then
_suit = parsley(suit_table, wword)
end
if _enh == "" then
_enh = parsley(enh_table, wword)
if _enh == "m_gold" and _seal_att == true then
_enh = ""
end
end
if _ed == "" then
_ed = parsley(ed_table, wword)
if _ed == "e_cry_gold" and _seal_att == true then
_ed = ""
end
end
if _seal == "" then
_seal = parsley(seal_table, wword)
if _seal == "Gold" and _seal_att == false then
_seal = ""
end
end
local _st = parsley(sticker_table, wword)
if _st then
_stickers[#_stickers + 1] = _st
end
if wword == "seal" or wword == "sealed" then
_seal_att = true
else
_seal_att = false
end -- from end so the next word should describe the seal
end
-- now to construct the playing card
-- i'm doing this by applying everything but maybe it's a bit janky?
G.CHOOSE_CARD:remove()
G.GAME.USING_CODE = false
G.GAME.USING_POINTER = false
G.DEBUG_POINTER = false
G.E_MANAGER:add_event(Event({
func = function()
G.playing_card = (G.playing_card and G.playing_card + 1) or 1
local _card = create_card("Base", G.play, nil, nil, nil, nil, nil, "pointer")
SMODS.change_base(
_card,
_suit ~= "" and _suit
or pseudorandom_element(
{ "Spades", "Hearts", "Diamonds", "Clubs" },
pseudoseed("sigil")
),
_rank > 1 and to_rank(_rank) or nil
)
if _enh ~= "" then
_card:set_ability(G.P_CENTERS[_enh])
end
if _rank == 1 then
_card:set_ability(G.P_CENTERS["m_stone"])
end
--Abstracted
if
_rank == 15
or string.lower(_suit) == "abstract"
or string.lower(_suit) == "abstracted"
then
_card:set_ability(G.P_CENTERS["m_cry_abstract"])
end
if _seal ~= "" then
_card:set_seal(_seal, true, true)
end
if _ed ~= "" then
_card:set_edition(_ed, true, true)
end
for i = 1, #_stickers do
_card.ability[_stickers[i]] = true
if _stickers[i] == "pinned" then
_card.pinned = true
end
end
_card:start_materialize()
G.play:emplace(_card)
table.insert(G.playing_cards, _card)
playing_card_joker_effects({ _card })
return true
end,
}))
G.E_MANAGER:add_event(Event({
func = function()
G.deck.config.card_limit = G.deck.config.card_limit + 1
return true
end,
}))
draw_card(G.play, G.deck, 90, "up", nil)
return true
end
end
end
end,
}
local aliases = {
---- Vanilla Cards
-- Vanilla Jokers
j_joker = {
"Joker",
"Jimbo",
},
j_greedy_joker = {
"Greedy Joker",
"Diamond Joker",
},
j_lusty_joker = {
"Lusty Joker",
"Horny Joker",
"Heart Joker",
},
j_wrathful_joker = {
"Wrathful Joker",
"Spade Joker",
},
j_gluttenous_joker = {
"Gluttonous Joker",
"Fatass Joker",
"Fat Ass Joker",
"Big Back",
"Big Back Joker",
"Club Joker",
},
j_jolly = {
"Jolly Joker",
"Joseph, J. Joker",
"Pair Mult",
},
j_zany = {
"Zany Joker",
"Zany",
},
j_mad = {
"Mad Joker",
"Mad",
},
j_crazy = {
"Crazy Joker",
"Crazy",
},
j_droll = {
"Droll Joker",
"Droll",
},
j_sly = {
"Sly Joker",
"Sly",
},
j_wily = {
"Wily Joker",
"Wily",
},
j_clever = {
"Clever Joker",
"Clever",
},
j_devious = {
"Devious Joker",
"Devious",
},
j_crafty = {
"Crafty Joker",
"Crafty",
},
j_half = {
"Half Joker",
"Semi Joker",
},
j_stencil = {
"Joker Stencil",
"Stencil",
},
j_four_fingers = {
"Four Fingers",
"4 Fingers",
"Fourfingers",
"4fingers",
},
j_mime = {
"Mime",
},
j_credit_card = {
"Credit Card",
"Debit Card",
},
j_ceremonial = {
"Ceremonial Dagger",
"Dagger",
},
j_banner = {
"Banner",
},
j_mystic_summit = {
"Mystic Summit",
},
j_marble = {
"Marble Joker",
"Lexi",
},
j_loyalty_card = {
"Loyalty Card",
},
j_8_ball = {
"8 Ball",
"8-Ball",
"Eight Ball",
"Eightball",
},
j_misprint = {
"Misprint",
},
j_dusk = {
"Dusk",
},
j_raised_fist = {
"Raised Fist",
"1984",
},
j_chaos = {
"Chaos the Clown",
},
j_fibonacci = {
"Fibonacci",
"Fibbonaci",
"Fibonnaci",
},
j_steel_joker = {
"Steel Joker",
},
j_scary_face = {
"Scary Face",
"Spooky Face",
},
j_abstract = {
"Abstract Joker",
},
j_delayed_grat = {
"Delayed Gratification",
"Delayed Grat",
},
j_hack = {
"Hack",
},
j_pareidolia = {
"Pareidolia",
"All Face Cards",
"Pariedolia",
},
j_gros_michel = {
"Gros Michel",
"Banana",
},
j_even_steven = {
"Even Steven",
"Steven",
},
j_odd_todd = {
"Odd Todd",
"Todd",
},
j_scholar = {
"Scholar",
"Dr Spectred",
"Dr. Spectred",
"drspectred",
"Balatro University",
"Balatro University Joker",
"Balatro Uni",
},
j_business = {
"Business Card",
},
j_supernova = {
"Supernova",
},
j_ride_the_bus = {
"Ride the Bus",
"Bus",
},
j_space = {
"Space Joker",
},
j_egg = {
"Egg",
"Egg Joker",
},
j_burglar = {
"Burglar",
},
j_blackboard = {
"Blackboard",
},
j_runner = {
"Runner",
},
j_ice_cream = {
"Ice Cream",
},
j_dna = {
"DNA",
},
j_splash = {
"Splash",
"Wet Joker",
},
j_blue_joker = {
"Blue Joker",
},
j_sixth_sense = {
"Sixth Sense",
"6th Sense",
},
j_constellation = {
"Constellation",
},
j_hiker = {
"Hiker",
},
j_faceless = {
"Faceless Joker",
},
j_green_joker = {
"Green Joker",
"Grimbo",
},
j_superposition = {
"Superposition",
},
j_todo_list = {
"To Do List",
"Todo List",
"To-Do List",
},
j_cavendish = {
"Cavendish",
"Glitch",
},
j_card_sharp = {
"Card Sharp",
},
j_red_card = {
"Red Card",
},
j_madness = {
"Madness",
},
j_square = {
"Square Joker",
},
j_seance = {
"Seance",
},
j_riff_raff = {
"Riff-raff",
"Riff Raff",
"RiffRaff",
},
j_vampire = {
"Vampire",
},
j_shortcut = {
"Shortcut",
},
j_hologram = {
"Hologram",
},
j_vagabond = {
"Vagabond",
},
j_baron = {
"Baron",
},
j_cloud_9 = {
"Cloud 9",
"Murphy's Favorite",
"Murphy Favorite",
"Murphys Favorite",
"Murphy Fav",
},
j_rocket = {
"Rocket",
},
j_obelisk = {
"Obelisk",
},
j_midas_mask = {
"Midas Mask",
},
j_luchador = {
"Luchador",
},
j_photograph = {
"Photograph",
"Photo",
},
j_gift = {
"Gift Card",
},
j_turtle_bean = {
"Turtle Bean",
"Bean",
},
j_erosion = {
"Erosion",
},
j_reserved_parking = {
"Reserved Parking",
},
j_mail = {
"Mail-In Rebate",
"Mail In Rebate",
"Rebate",
"Mail Rebate",
},
j_to_the_moon = {
"To the Moon",
},
j_hallucination = {
"Hallucination",
},
j_fortune_teller = {
"Fortune Teller",
},
j_juggler = {
"Juggler",
"+1 hand size",
},
j_drunkard = {
"Drunkard",
"+1 Discard",
},
j_stone = {
"Stone Joker",
},
j_golden = {
"Golden Joker",
},
j_lucky_cat = {
"Lucky Cat",
},
j_baseball = {
"Baseball Card",
"Baseball Huh?",
},
j_bull = {
"Bull",
},
j_diet_cola = {
"Diet Cola",
"Cola",
"Tag Soda",
"Tag Cola",
},
j_trading = {
"Trading Card",
},
j_flash = {
"Flash Card",
},
j_popcorn = {
"Popcorn",
},
j_trousers = {
"Spare Trousers",
},
j_ancient = {
"Ancient Joker",
"Anceint Joker",
},
j_ramen = {
"Ramen",
},
j_walkie_talkie = {
"Walkie Talkie",
},
j_selzer = {
"Seltzer",
},
j_castle = {
"Castle",
},
j_smiley = {
"Smiley Face",
"Smiley",
},
j_campfire = {
"Campfire",
},
j_ticket = {
"Golden Ticket",
"Gold Ticket",
},
j_mr_bones = {
"Mr. Bones",
"Mr Bones",
},
j_acrobat = {
"Acrobat",
},
j_sock_and_buskin = {
"Sock and Buskin",
},
j_swashbuckler = {
"Swashbuckler",
},
j_troubadour = {
"Troubadour",
},
j_certificate = {
"Certificate",
},
j_smeared = {
"Smeared Joker",
"Smeared",
},
j_throwback = {
"Throwback",
},
j_hanging_chad = {
"Hanging Chad",
},
j_rough_gem = {
"Rough Gem",
},
j_bloodstone = {
"Bloodstone",
},
j_arrowhead = {
"Arrowhead",
},
j_onyx_agate = {
"Onyx Agate",
},
j_glass = {
"Glass Joker",
},
j_ring_master = {
"Showman",
},
j_flower_pot = {
"Flower Pot",
},
j_blueprint = {
"Blueprint",
"BP",
},
j_wee = {
"Wee Joker",
"WEEEE",
"Wee",
},
j_merry_andy = {
"Merry Andy",
},
j_oops = {
"Oops! All 6s",
"OA6s",
"OA6",
"O A 6s",
"Oops 6s",
"Oops 6",
"Oop 6s",
},
j_idol = {
"The Idol",
"Idol",
},
j_seeing_double = {
"Seeing Double",
},
j_matador = {
"Matador",
},
j_hit_the_road = {
"Hit the Road",
},
j_duo = {
"The Duo",
"Duo",
},
j_trio = {
"The Trio",
"Trio",
},
j_family = {
"The Family",
"Family",
},
j_order = {
"The Order",
"Order",
},
j_tribe = {
"The Tribe",
"Tribe",
},
j_stuntman = {
"Stuntman",
},
j_invisible = {
"Invisible Joker",
"Invisible",
},
j_brainstorm = {
"Brainstorm",
},
j_satellite = {
"Satellite",
},
j_shoot_the_moon = {
"Shoot the Moon",
},
j_drivers_license = {
"Driver's License",
},
j_cartomancer = {
"Cartomancer",
},
j_astronomer = {
"Astronomer",
},
j_burnt = {
"Burnt Joker",
},
j_bootstraps = {
"Bootstraps",
},
j_caino = {
"Caino",
},
j_triboulet = {
"Triboulet",
},
j_yorick = {
"Yorick",
},
j_chicot = {
"Chicot",
},
j_perkeo = {
"Perkeo",
},
-- Vanilla Tarots
c_fool = {
"The Fool",
"Fool",
},
c_high_priestess = {
"The High Priestess",
"High Priestess",
},
c_empress = {
"The Empress",
"Empress",
"Mult Tarot",
},
c_emperor = {
"The Emperor",
"Emperor",
},
c_heirophant = {
"The Hierophant",
"Hierophant",
"The Heirophant",
"Heirophant",
"Bonus Tarot",
},
c_lovers = {
"The Lovers",
"Lovers",
"Wild Tarot",
},
c_chariot = {
"The Chariot",
"Chariot",
"Steel Tarot",
},
c_justice = {
"Justice",
"Glass Tarot",
},
c_hermit = {
"The Hermit",
"Hermit",
"Doubles Money",
},
c_wheel_of_fortune = {
"The Wheel Of Fortune",
"Wheel Of Fortune",
"tWoF",
"WoF",
"Gambling",
"Wheel",
},
c_strength = {
"Strength",
},
c_hanged_man = {
"The Hanged Man",
"Hanged Man",
"Hang Man",
"Hung Man",
},
c_death = {
"Death",
"Turn The Left Card Into The Right Card",
},
c_temperance = {
"Temperance",
"The Temperance",
"Joker Money",
},
c_devil = {
"The Devil",
"Devil",
"Gold Tarot",
},
c_tower = {
"The Tower",
"Tower",
"Stone Tarot",
},
c_star = {
"The Star",
"Star",
"Diamond Tarot",
},
c_moon = {
"The Moon",
"Moon",
"Club Tarot",
},
c_sun = {
"The Sun",
"Sun",
"Heart Tarot",
},
c_judgement = {
"Judgement",
"The Judgement",
"Judgement Day",
"Minos Prime",
},
c_world = {
"The World",
"World",
"Spade Tarot",
},
-- Vanilla Planets
c_mercury = {
"Mercury",
"Merc",
"M planet",
"Mlanet",
"Pair",
"2oak",
},
c_venus = {
"Venus",
"3 planet",
"3oak",
"Aphrodite",
"Penus",
},
c_earth = {
"Earth",
"Terra",
"3+2",
"Gaia",
"Hell",
"Here",
"erth",
"erf",
"Full House",
"1987 Sitcom by Jeff Franklin",
"Spawn",
"Spawnpoint",
},
c_mars = {
"Mars",
"4oak",
"Not 2 Pairs",
"Ares",
"Red Planet",
},
c_jupiter = {
"Jupiter",
"Flush",
"The big one",
"Zeus",
},
c_saturn = {
"Saturn",
"Straight",
"Chronos",
"Rings",
},
c_uranus = {
"Uranus",
"Uranus but in greek",
"2 pair",
"22",
"anus",
"haha get it cuz uranus is like ur-anus and anus means butt so its funny come on guys please laugh",
},
c_neptune = {
"Neptune",
"Neptunus",
"Poseidon",
"Straight Flush",
"Slush",
"Royal",
},
c_pluto = {
"Pluto",
"Hades",
"1oak",
"One",
"High Card",
"Not Planet",
"Dwarf",
},
c_planet_x = {
"Planet X",
"5oak",
"Twitter",
"Five Guys",
},
c_ceres = {
"Ceres",
"Demeter",
"Flush House",
"Reaper",
},
c_eris = {
"Eris",
"fish",
"Flush Five",
"F5",
},
-- Vanilla Spectrals
c_familiar = {
"Familiar",
"The Familiar",
},
c_grim = {
"Grim",
"The Grim",
},
c_incantation = {
"Incantation",
"The Incantation",
"Consumable Stacker",
"Incant",
"Inct",
"Inc",
},
c_talisman = {
"Talisman",
"The Talisman",
"Bignum mod",
"Omeganum mod",
"Skip Animations",
"Skip Anim",
"Talis",
"Tali",
},
c_aura = {
"Aura",
"The Aura",
"WoF 2",
},
c_wraith = {
"Wraith",
"The Wraith",
"Obelisk Spawner 2",
"Wrath",
},
c_sigil = {
"Sigil",
"The Sigil",
"Suit Equalizer",
},
c_ouija = {
"Ouija",
"The Ouija",
"Ouija Board",
"Weegee",
},
c_ectoplasm = {
"Ectoplasm",
"The Ectoplasm",
"White Glop",
"Ghost Matter",
"Ecto",
"Plasm",
"One Negative Popcorn Pretty Please",
},
c_immolate = {
"Immolate",
"Imolate",
"The Immolate",
"The Imolate",
"Immolation",
"Immolator",
"Oh Boy 20 Dollars",
},
c_ankh = {
"Ankh",
"Life",
"Egyptian Cross",
},
c_deja_vu = {
"Deja vu",
"Deja vu",
"Deja",
"vu",
"Again!",
"Deja vu",
"Deja vu",
},
c_hex = {
"Hex",
"The Hex",
"Vex",
"This Hexes Me",
},
c_trance = {
"Trance",
"The Trance",
"Transe",
"Trans",
"Trams",
},
c_medium = {
"Medium",
"The Medium",
"Ourple",
},
c_cryptid = {
"Cryptid",
"The Cryptid",
"+2",
"The Mod",
"Cry",
},
c_soul = {
"Soul",
"The Soul",
"Jazz",
"Spirit",
"Legendary",
"White Rock",
"Blank Rune",
},
c_black_hole = {
"Black Hole",
"The Black Hole",
"Bhole",
"Oprah",
},
-- Vanilla Booster Packs
p_arcana_normal_1 = {
"Arcana Pack",
"Arcana Fool",
"Arcana Pack 1",
},
p_arcana_normal_2 = {
"Arcana",
"Arcana Temperance",
"Arcana Pack 2",
},
p_arcana_normal_3 = {
"Arcana Hierophant",
"Arcana Pack 3",
},
p_arcana_normal_4 = {
"Arcana World",
"Arcana Pack 4",
},
p_arcana_jumbo_1 = {
"Jumbo Arcana",
"Jumbo Arcana Pack",
"Arcana Death",
"Jumbo Arcana 1",
"Jumbo Arcana Pack 1",
},
p_arcana_jumbo_2 = {
"Arcana Emperor",
"Jumbo Arcana 2",
"Jumbo Arcana Pack 2",
},
p_arcana_mega_1 = {
"Mega Arcana",
"Mega Arcana Pack",
"Arcana Tower",
"Mega Arcana 1",
"Mega Arcana Pack 1",
},
p_arcana_mega_2 = {
"Arcana Hermit",
"Mega Arcana 2",
"Mega Arcana Pack 2",
},
p_celestial_normal_1 = {
"Celestial Pack",
"Celestial Mercury",
"Celestial Pack 1",
},
p_celestial_normal_2 = {
"Celestial",
"Celestial Jupiter",
"Celestial Pack 2",
},
p_celestial_normal_3 = {
"Celestial Earth",
"Celestial Pack 3",
},
p_celestial_normal_4 = {
"Celestial Uranus",
"Celestial Pack 4",
},
p_celestial_jumbo_1 = {
"Jumbo Celestial",
"Jumbo Celestial Pack",
"Celestial Mars",
"Jumbo Celestial 1",
"Jumbo Celestial Pack 1",
},
p_celestial_jumbo_2 = {
"Celestial Pluto",
"Jumbo Celestial 2",
"Jumbo Celestial Pack 2",
},
p_celestial_mega_1 = {
"Mega Celestial",
"Mega Celestial Pack",
"Celestial Saturn",
"Mega Celestial 1",
"Mega Celestial Pack 1",
},
p_celestial_mega_2 = {
"Celestial Venus",
"Mega Celestial 2",
"Mega Celestial Pack 2",
},
p_standard_normal_1 = {
"Standard Pack",
"Standard Pack 1",
},
p_standard_normal_2 = {
"Standard",
"Standard Pack 2",
},
p_standard_normal_3 = {
"Standard Pack 3",
},
p_standard_normal_4 = {
"Standard Pack 4",
},
p_standard_jumbo_1 = {
"Jumbo Standard",
"Jumbo Standard Pack",
"Jumbo Standard 1",
"Jumbo Standard Pack 1",
},
p_standard_jumbo_2 = {
"Jumbo Standard 2",
"Jumbo Standard Pack 2",
},
p_standard_mega_1 = {
"Mega Standard",
"Mega Standard Pack",
"Mega Standard 1",
"Mega Standard Pack 1",
},
p_standard_mega_2 = {
"Mega Standard 2",
"Mega Standard Pack 2",
},
p_buffoon_normal_1 = {
"Buffoon Pack",
"Buffoon Hack",
"Buffoon Pack 1",
},
p_buffoon_normal_2 = {
"Jimbo Pack",
"Buffoon",
"Buffoon Juggler",
"Buffoon Pack 2",
},
p_buffoon_jumbo_1 = {
"Jumbo Jimbo",
"Jumbo Jimbo Pack",
"Buffoon Banner",
"Jumbo Buffoon",
"Jumbo Buffoon Pack",
},
p_buffoon_mega_1 = {
"Mega Jimbo",
"Mega Jimbo Pack",
"Buffoon Brainstom",
"Mega Buffoon",
"Mega Buffoon Pack",
},
p_spectral_normal_1 = {
"Spectral Pack",
"Spectral Grim",
"Spectral Pack 1",
},
p_spectral_normal_2 = {
"Spectral",
"Spectral Pack 2",
},
p_spectral_jumbo_1 = {
"Jumbo Spectral",
"Spectral Incantation",
"Jumbo Spectral Pack",
},
p_spectral_mega_1 = {
"Mega Spectral",
"Spectral Ectoplasm",
"Mega Spectral Pack",
},
-- Vanilla Tags
-- everybody forgor
tag_uncommon = {
"Uncommon Tag",
"Tag Uncommon",
},
tag_rare = {
"Rare Tag",
"Tag Rare",
},
tag_negative = {
"Negative Tag",
"Tag Negative",
},
tag_foil = {
"Foil Tag",
"Tag Foil",
},
tag_holo = {
"Holo Tag",
"Tag Holo",
"Holographic Tag",
"Tag Holographic",
},
tag_polychrome = {
"Polychrome Tag",
"Tag Polychrome",
},
tag_investment = {
"Investment Tag",
"Tag Investment",
"Invest Tag",
"Tag Invest",
"Investment",
},
tag_voucher = {
"Voucher Tag",
"Tag Voucher",
"Vouch Tag",
},
tag_boss = {
"Boss Tag",
"Tag Boss",
},
tag_standard = {
"Standard Tag",
"Tag Standard",
},
tag_charm = {
"Charm Tag",
"Tag Charm",
"Tarot Tag",
"Acrana Tag",
"Arcana Tag",
"Tag Tarot",
"Tag Arcana",
"Charm Pack Tag",
"Tarot Pack Tag",
"Arcana Pack Tag",
"Acrana Pack Tag",
},
tag_meteor = {
"Meteor Tag",
"Tag Meteor",
"Celestial Tag",
"Tag Celestial",
"Planet Tag",
"Tag Planet",
"Celestial Pack Tag",
"Planet Pack Tag",
},
tag_buffoon = {
"Buffoon Tag",
"Tag Buffoon",
"Joker Pack Tag",
"Joker Tag",
"Buffoon Pack Tag",
},
tag_handy = {
"Handy Tag",
"Tag Handy",
},
tag_garbage = {
"Garbage Tag",
"Tag Garbage",
"Discard Tag",
"Tag Discard",
},
tag_ethereal = {
"Ethereal Tag",
"Tag Ethereal",
"Spectral Tag",
"Tag Spectral",
},
tag_coupon = {
"Coupon Tag",
"Tag Coupon",
"Free Tag",
"Shop Tag Free",
"Shop Free Tag",
"Shop Tag",
},
tag_double = {
"Double Tag",
"Tag Double",
"Extra Tag",
"2 Tag",
},
tag_juggle = {
"Juggle Tag",
"Tag Juggle",
"Juggler Tag",
"Tag Juggler",
"Hand Size Tag",
"Tag Hand Size",
},
tag_d_six = {
"D Six Tag",
"Tag D Six",
"D6 Tag",
"Tag D6",
"Reroll Tag",
"Tag Reroll",
"Rerolling Tag",
"Tag Rerolling",
"DSix Tag",
"Tag DSix",
"D6",
"D 6",
"D 6 Tag",
"Tag D 6",
},
tag_top_up = {
"Top Up Tag",
"Tag Top Up",
"Top Up",
"2 common tag",
},
tag_skip = {
"Skip Tag",
"Tag Skip",
"Skipping Tag",
"Tag Skipping",
},
tag_orbital = {
"Orbital Tag",
"Tag Orbital",
"Orbital",
"Planet Tag",
},
tag_economy = {
"Economy Tag",
"Tag Economy",
"Econ tag",
"Eco tag",
"money tag",
"Tag Money",
"Tag Econ",
"Tag Eco",
},
-- Vanilla Vouchers
v_overstock_norm = {
"Overstock",
"Over Stock",
},
v_overstock_plus = {
"Overstock Plus",
"Over Stock Plus",
"Overstockplus",
"Overstock+",
"Overstock 2",
},
v_clearance_sale = {
"Clearance Sale",
"Clearancesale",
"Clearance",
},
v_liquidation = {
"Liquidation",
"Clearance Sale+",
"Clearance Sale Plus",
"Clearance Sale 2",
},
v_hone = {
"Hone",
},
v_glow_up = {
"Glow Up",
"Glow-Up",
"Glowup",
"Hone+",
"Hone Plus",
"Hone 2",
},
v_reroll_surplus = {
"Reroll Surplus",
"Rerollsurplus",
"Reroll Voucher",
},
v_reroll_glut = {
"Reroll Glut",
"Rerollglut",
"Reroll Surplus+",
"Reroll Surplus Plus",
"Reroll Surplus 2",
},
v_crystal_ball = {
"Crystal Ball",
"Crystalball",
"Consumable Slot",
"Consumable Voucher",
"Consumable Slot Voucher",
},
v_omen_globe = {
"Omen Globe",
"Omenglobe",
"Crystal Ball+",
"Crystal Ball Plus",
"Crystal Ball 2",
},
v_telescope = {
"Telescope",
"Teliscope",
},
v_observatory = {
"Observatory",
"Telescope+",
"Telescope Plus",
"Telescope 2",
"Perkeo Voucher",
},
v_grabber = {
"Grabber",
"Hand Voucher",
},
v_nacho_tong = {
"Nacho Tong",
"Nachotong",
"Grabber+",
"Grabber Plus",
"Grabber 2",
},
v_wasteful = {
"Wasteful",
"Discard Voucher",
},
v_recyclomancy = {
"Recyclomancy",
"Wasteful+",
"Wasteful Plus",
"Wasteful 2",
},
v_tarot_merchant = {
"Tarot Merchant",
"Tarotmerchant",
"Tarot Voucher",
},
v_tarot_tycoon = {
"Tarot Tycoon",
"Tarot Merchant+",
"Tarot Merchant Plus",
"Tarot Merchant 2",
},
v_planet_merchant = {
"Planet Merchant",
"Planetmerchant",
"Planet Voucher",
},
v_planet_tycoon = {
"Planet Tycoon",
"Planet Merchant+",
"Planet Merchant Plus",
"Planet Merchant 2",
},
v_seed_money = {
"Seed Money",
"Interest Voucher",
"Seedmoney",
},
v_money_tree = {
"Money Tree",
"Moneytree",
"Seed Money+",
"Seed Money Plus",
"Seed Money 2",
},
v_blank = {
"Blank",
"Blank Voucher",
"Blank?",
"Does Nothing",
},
v_antimatter = {
"Antimatter",
"Anti Matter",
"Antematter",
"Blank+",
"Blank Plus",
"Blank 2",
"Joker Slot Voucher",
},
v_magic_trick = {
"Magic Trick",
"Magictrick",
"Card Voucher",
"Hologram Voucher",
},
v_illusion = {
"Illusion",
"Magic Trick+",
"Magic Trick Plus",
"Magic Trick 2",
},
v_hieroglyph = {
"Hieroglyph",
"Heiroglyph",
"Hiroglyph",
},
v_petroglyph = {
"Petroglyph",
"Hieroglyph+",
"Hieroglyph Plus",
"Hieroglyph 2",
},
v_directors_cut = {
"Director's Cut",
"Directors Cut",
"Directorscut",
},
v_retcon = {
"Retcon",
"Boss Reroll",
"Director's Cut+",
"Director's Cut Plus",
"Director's Cut 2",
},
v_paint_brush = {
"Paint Brush",
"Paintbrush",
"Hand Size Voucher",
},
v_palette = {
"Palette",
"Pallete",
"Paint Brush+",
"Paint Brush Plus",
"Paint Brush 2",
},
---- Cryptid Cards
-- M jokers
j_cry_m = {
"m",
"lowercase m",
},
j_cry_mprime = {
"Flesh Panopticon",
"Minos Prime",
"M Prime",
},
j_cry_M = {
"M",
"Capital M",
},
j_cry_bubblem = {
"BubbleM",
"Bubble M",
},
j_cry_foodm = {
"McDonalds",
"McDonald's",
"Food M",
"Fast Food M",
},
j_cry_mstack = {
"Stack M",
"M Stack",
},
j_cry_mneon = {
"Neon M",
"mneon",
},
j_cry_notebook = {
"Notebook",
"The Notebook",
"The Motebook",
"Motebook",
"Noting this down",
"Moting this down",
},
j_cry_bonk = {
"Bonk",
},
j_cry_loopy = {
"Loopy",
"Loopy M",
},
j_cry_scrabble = {
"Scrabble",
"Scrabble Tile",
"Scrabble M",
"Letter M",
},
j_cry_sacrifice = {
"Sacrifice",
},
j_cry_reverse = {
"Uno Card",
"Uno Reverse",
"Reverse Card",
"Uno Reverse Card",
"Reverse Uno Card",
},
j_cry_longboi = {
"Monster",
"longboi",
"long boi",
},
j_cry_megg = {
"Megg",
"Jolly Egg",
},
j_cry_macabre = {
"Macabre",
"Macabre Joker",
"M Dagger",
},
j_cry_smallestm = {
"Tiny",
"Tiny M",
"very small m",
"teeny m",
},
j_cry_virgo = {
"Virgo",
"Virgin",
},
j_cry_doodlem = {
"Doodle",
"Doodle M",
"The anniversary is back on!",
},
j_cry_jollysus = {
"Jolly Joker?",
"jolly sus",
"blue sus",
"sus jolly",
},
j_cry_biggestm = {
"Huge",
"Big Boned",
"not fat",
"Massive",
"Huge M",
},
-- SpOoOky jokers
j_cry_cotton_candy = {
"Cotton Candy",
},
j_cry_wrapped = {
"Wrapped Candy",
},
j_cry_chocolate_dice = {
"Chocolate Dice",
"Chocolate Die",
"Choco Dice",
"Choco Die",
},
j_cry_trick_or_treat = {
"Trick or Treat",
"Trickortreat",
"Trick-or-Treat",
},
j_cry_candy_basket = {
"Candy Basket",
},
j_cry_candy_dagger = {
"Candy Dagger",
},
j_cry_candy_cane = {
"Candy Cane",
},
j_cry_candy_buttons = {
"Candy Buttons",
},
j_cry_jawbreaker = {
"Jawbreaker",
},
j_cry_mellowcreme = {
"Mellowcreme",
"Mellowcream",
},
j_cry_brittle = {
"Brittle Candy",
},
j_cry_candy_sticks = {
"Candy Sticks",
},
j_cry_wonka_bar = {
"Wonka Bar",
"Wonka",
},
-- Cursed Jokers
j_cry_blacklist = {
"Blacklist",
},
j_cry_monopoly_money = {
"Monopoly Money",
"Monopoly",
},
-- Code Jokers (not code cards)
j_cry_CodeJoker = {
"Code Joker",
"Codejoker",
},
j_cry_copypaste = {
"Copy Paste",
"Copy-Paste",
"Copy/Paste",
"Copypaste",
"Copypasta",
},
j_cry_cut = {
"Cut",
},
j_cry_blender = {
"Blender",
},
j_cry_python = {
"Python",
},
-- Secret Placeholder 1
-- Smaller Placeholder
-- Misc Jokers
j_cry_oil_lamp = {
"Oil Lamp",
"Oillamp",
},
j_cry_tropical_smoothie = {
"Tropical Smoothie",
"Tropical",
"Smoothie",
},
-- bigger placeholder
-- Epic Jokers
j_cry_altgoogol = {
"Nostalgic Googol Play Card",
"NGPC",
"Nostalgic Googol",
"Nostalgic Google Play Card",
},
-- epic placeholder
-- Exotic Jokers
-- exotic placeholder
-- Cryptid Tarots
-- placeholder for the like 5 there is
-- Cryptid Planets
c_cry_planetlua = {
"Planet.lua",
"Lua Planet",
},
c_cry_abelt = {
"Asteroid Belt",
"Bulwark",
},
c_cry_void = {
"Void",
"Clusterfuck",
"Cluster",
},
c_cry_marsmoons = {
"Mars Moons",
"Phobos",
"Phobos and Deimos",
"Ultimate Pair",
},
c_cry_universe = {
"Universe",
"The Universe In Its Entirety",
"The Universe In Its Fucking Entirety",
"The Entire Deck",
"The Entire Fucking Deck",
},
c_cry_nstar = {
"Neutron Star",
"Random Hand",
},
c_cry_sunplanet = {
"Sol",
"Sun Planet",
"Ascended Hands",
"Ascended Hand",
},
c_cry_Timantti = {
"Ruutu",
"Diamond Planet",
"High Card Pair Two Pair",
},
c_cry_Klubi = {
"Risti",
"Club Planet",
"Three of a Kind Straight Flush",
"3oak Straight Flush",
},
c_cry_Sydan = {
"Hertta",
"Heart Planet",
"Full House Four of a Kind Straight Flush",
"Full House 4oak Straight Flush",
},
c_cry_Lapio = {
"Pata",
"Spade Planet",
"Five of a Kind Flush House Flush Five",
"5oak Flush House Flush Five",
},
c_cry_Kaikki = {
"Kaikki",
"Wild Planet",
"Bulwark Clusterfuck Ultimate Pair",
"Bulwark Cluster Ultimate Pair",
},
-- Cryptid Spectrals
c_cry_lock = {
"Lock",
},
c_cry_vacuum = {
"Vacuum",
},
c_cry_hammerspace = {
"Hammerspace",
"CCD",
},
c_cry_trade = {
"Trade",
},
c_cry_summoning = {
"Summoning",
},
c_cry_replica = {
"Replica",
},
c_cry_analog = {
"Analog",
},
c_cry_typhoon = {
"Typhoon",
"Azure Seal",
},
c_cry_ritual = {
"Ritual",
},
c_cry_adversary = {
"Adversary",
},
c_cry_chambered = {
"Chambered",
},
c_cry_conduit = {
"Conduit",
},
c_cry_white_hole = {
"White Hole",
},
c_cry_gateway = {
"Gateway",
"Exotic",
},
c_cry_source = {
"Source",
"Green Seal",
},
c_cry_pointer = {
"Pointer",
"Pointer://",
"://Pointer",
"self",
},
-- Cryptid Unique Consumeables
-- probably not going to be used ever
-- Cryptid Code Cards
-- 01010000 01001100 01000001 01000011 01000101 01001000 01001111 01001100 01000100 01000101 01010010
-- Secret Placeholder 2
-- another smaller placeholder
-- Cryptid Booster Packs
-- placeholder in a placeholder in a placeholder in a holdplacer in a placeholder
-- Cryptid Tags
tag_cry_astral = {
"Astral Tag",
"Astral",
"Free Astral",
},
tag_cry_banana = {
"Banana Tag",
},
tag_cry_bettertop_up = {
"Better Top-Up Tag",
"Better Top-Up",
"Better Top Up Tag",
"Better Top Up",
"Uncommon Top Up",
},
tag_cry_better_voucher = {
"Tier 3 tag",
"Tier 3 voucher tag",
"Golden Voucher",
"Golden Voucher Tag",
"Better Voucher Tag",
},
tag_cry_blur = {
"Blurred Tag",
"Blurred",
"Free Blurred",
},
tag_cry_booster = {
"Booster Tag",
"Double Booster Tag",
"Double Booster",
},
tag_cry_bundle = {
"Bundle Tag",
"Bundle",
},
tag_cry_cat = {
"Cat Tag",
"meow",
"mrow",
"mrrp",
"purr",
},
tag_cry_console = {
"Console Tag",
"Console",
"Code Tag",
},
tag_cry_double_m = {
"Double M",
"Double M Tag",
"Jolly M",
},
tag_cry_empowered = {
"Empowered Tag",
"Better Spectral",
"Better Spectral Tag",
},
tag_cry_epic = {
"Epic Tag",
"Half-price Epic Joker",
"Half price Epic Joker",
"Half price Epic",
"Half-price Epic",
},
tag_cry_gambler = {
"Gambler Tag",
"Gambling Tag",
"Gambling",
"Gambler's Tag",
"LETS GO GAMBLING!",
},
tag_cry_glass = {
"Fragile Tag",
"Fragile",
"Glass Tag",
"Free Fragile",
},
tag_cry_glitched = {
"Glitched Tag",
"Glitched",
"Free Glitched",
},
tag_cry_gold = {
"Gold Tag",
"Golden Tag",
"Gold",
"Free Golden",
},
tag_cry_gourmand = {
"Gourmand",
"Gourmand Tag",
"Free Food",
},
tag_cry_loss = {
"Loss",
"Loss Tag",
"Meme Tag",
"Meme Pack Tag",
},
tag_cry_m = {
"M Tag",
"Jolly Tag",
"Jolly",
"Free Jolly",
},
tag_cry_memory = {
"Memory Tag",
"Memory",
},
tag_cry_mosaic = {
"Mosaic",
"Mosaic Tag",
"Free Mosaic",
},
tag_cry_oversat = {
"Oversat",
"Free Oversat",
"Oversaturated",
"Free Oversaturated",
"Oversaturated Tag",
},
tag_cry_quadruple = {
"Quadruple",
"Quadruple Tag",
},
tag_cry_quintuple = {
"Quintuple",
"Quintuple Tag",
},
tag_cry_rework = {
"Rework Tag",
},
tag_cry_schematic = {
"Schematic",
"Schematic Tag",
"Guaranteed Brainstorm",
},
tag_cry_scope = {
"Scope Tag",
"Scope",
},
tag_cry_triple = {
"Triple",
"Triple Tag",
},
-- Cryptid Vouchers
-- placeholder (T1 T2 T1 T2 pattern)
-- Cryptid T3 Vouchers
-- super strong placeholder
--[[
Format:
<joker key> = {
"<alias1>",
"<alias2>",
...
"<aliasN>",
},
]]
-- TARGET: Add Jokers to Alias List
}
-- How to use the functions to add cards to the list (all case insensitive)
--
-- Cryptid.pointeratlasify(cardkey, alias, remove)
-- Adds a specified alias to the pointer alias list
-- cardkey = the card's key; "j_joker", "j_cry_dropshot" (string)
-- alias = the alias you want to refer to the card; "Dropshot", "Default Joker" (string)
-- remove = a check for if you wish to remove the specified alias; true or nil (accepts anything lua treats as true)
--
-- Cryptid.pointerblistify(cardkey, remove)
-- Blacklists a certain card key from being used in pointer (ignored if debug pointer)
-- cardkey = see above
-- remove = see above
--
-- Cryptid.pointerblistifytype(valkey, value, remove)
-- Blacklists a certain card data from being used in pointer (ignored if debug pointer)
-- valkey = the value you want to compare against; "rarity", "immutable" (string)
-- value = the value you want to blacklist; "cry_exotic", true (any)
-- remove = see above
local pointeritems = {
pointer,
}
return {
name = "Pointer://",
items = pointeritems,
init = function()
function Cryptid.inject_pointer_aliases()
--print("[CRYPTID] Inserting Pointer Aliases")
local alify = Cryptid.pointeraliasify
Cryptid.pointerblistifytype("rarity", "cry_exotic", nil)
for key, aliasesTable in pairs(aliases) do
for _, alias in pairs(aliasesTable) do
alify(key, alias, nil)
end
alify(key, key, nil)
end
for _, group in pairs(G.localization.descriptions) do
if
_ ~= "Back"
and _ ~= "Content Set"
and _ ~= "Edition"
and _ ~= "Enhanced"
and _ ~= "Stake"
and _ ~= "Other"
then
for key, card in pairs(group) do
if G.P_CENTERS[key] then
alify(key, type(card.name) == "table" and card.name[1] or card.name, nil)
if G.P_CENTERS[key].name then
alify(key, G.P_CENTERS[key].name, nil)
end
if G.P_CENTERS[key].original_key then
alify(key, G.P_CENTERS[key].original_key, nil)
end
end
end
end
end
end
end,
}