Add new joker
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 1 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
BIN
assets/sounds/nilly.ogg
Normal file
|
|
@ -229,6 +229,14 @@ return {
|
||||||
name = "Ms. Joker",
|
name = "Ms. Joker",
|
||||||
text = {"{C:chips}+#1#{} Chips"},
|
text = {"{C:chips}+#1#{} Chips"},
|
||||||
},
|
},
|
||||||
|
j_Roland_nilly = {
|
||||||
|
name = "Nilly",
|
||||||
|
text = {
|
||||||
|
"Toggleable {X:mult,C:white}X0{} Mult",
|
||||||
|
"{C:inactive}(Currently {C:attention}#1#{C:inactive})",
|
||||||
|
"{C:inactive,s:0.75,E:1}Wait... what?",
|
||||||
|
},
|
||||||
|
},
|
||||||
j_Roland_oops = {
|
j_Roland_oops = {
|
||||||
name = "Oops! All 7s",
|
name = "Oops! All 7s",
|
||||||
text = {
|
text = {
|
||||||
|
|
@ -389,6 +397,8 @@ return {
|
||||||
},
|
},
|
||||||
v_dictionary = {
|
v_dictionary = {
|
||||||
b_Roland_bye = "Bye!",
|
b_Roland_bye = "Bye!",
|
||||||
|
b_Roland_disabled = "Disabled",
|
||||||
|
b_Roland_enabled = "Enabled",
|
||||||
b_Roland_comma = ", ",
|
b_Roland_comma = ", ",
|
||||||
b_Roland_debuffed = "DEBUFFED",
|
b_Roland_debuffed = "DEBUFFED",
|
||||||
b_Roland_entering_shop = "Entering shop!",
|
b_Roland_entering_shop = "Entering shop!",
|
||||||
|
|
@ -404,6 +414,7 @@ return {
|
||||||
b_Roland_no_wild_debuff = "No wild card debuffs",
|
b_Roland_no_wild_debuff = "No wild card debuffs",
|
||||||
b_Roland_na = "N/A",
|
b_Roland_na = "N/A",
|
||||||
b_Roland_of = " of ",
|
b_Roland_of = " of ",
|
||||||
|
b_Roland_toggle = "TOGGLE",
|
||||||
},
|
},
|
||||||
labels = {
|
labels = {
|
||||||
Roland_frozen = "Frozen",
|
Roland_frozen = "Frozen",
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
"author": [
|
"author": [
|
||||||
"Emik"
|
"Emik"
|
||||||
],
|
],
|
||||||
"version": "2.2.6",
|
"version": "2.2.7",
|
||||||
"badge_colour": "8BE9FD",
|
"badge_colour": "8BE9FD",
|
||||||
"main_file": "src/main.lua",
|
"main_file": "src/main.lua",
|
||||||
"badge_text_colour": "44475A",
|
"badge_text_colour": "44475A",
|
||||||
|
|
@ -17,6 +17,6 @@
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"Steamodded (>=1.*)",
|
"Steamodded (>=1.*)",
|
||||||
"Lovely (>=0.6)",
|
"Lovely (>=0.6)",
|
||||||
"Bakery (>=1.3.2~*)"
|
"Bakery (>=0.1.26~*)"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -19,6 +19,12 @@ local joker = (function()
|
||||||
tbl.artist = tbl.artist and "Roland_" .. tbl.artist or nil
|
tbl.artist = tbl.artist and "Roland_" .. tbl.artist or nil
|
||||||
tbl.soul_pos = tbl.soul_pos and inc() or nil
|
tbl.soul_pos = tbl.soul_pos and inc() or nil
|
||||||
tbl.sinis = tbl.sinis and inc() or nil
|
tbl.sinis = tbl.sinis and inc() or nil
|
||||||
|
|
||||||
|
if ((tbl.config or {}).extra or {}).flipped ~= nil then
|
||||||
|
tbl.config.extra.front_pos = tbl.pos
|
||||||
|
tbl.config.extra.back_pos = inc()
|
||||||
|
end
|
||||||
|
|
||||||
local joker = SMODS.Joker(tbl)
|
local joker = SMODS.Joker(tbl)
|
||||||
|
|
||||||
q(function()
|
q(function()
|
||||||
|
|
@ -89,6 +95,11 @@ SMODS.Atlas {
|
||||||
py = 95,
|
py = 95,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SMODS.Sound {
|
||||||
|
key = "nilly",
|
||||||
|
path = "nilly.ogg",
|
||||||
|
}
|
||||||
|
|
||||||
joker {
|
joker {
|
||||||
key = "escapey",
|
key = "escapey",
|
||||||
pronouns = "they_them",
|
pronouns = "they_them",
|
||||||
|
|
@ -123,6 +134,9 @@ joker {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
|
calculate = function(self, card, context)
|
||||||
|
return context.forcetrigger and self.proc(card) or nil
|
||||||
|
end,
|
||||||
Bakery_can_use = function(self, card)
|
Bakery_can_use = function(self, card)
|
||||||
return not card.debuff and u() and (self.exchangable() or self.fusable(card))
|
return not card.debuff and u() and (self.exchangable() or self.fusable(card))
|
||||||
end,
|
end,
|
||||||
|
|
@ -134,9 +148,6 @@ joker {
|
||||||
"b_Roland_fuse" or "b_Roland_escape"),
|
"b_Roland_fuse" or "b_Roland_escape"),
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
calculate = function(self, card, context)
|
|
||||||
return context.forcetrigger and self.proc(card) or nil
|
|
||||||
end,
|
|
||||||
Bakery_use_joker = function(self, card)
|
Bakery_use_joker = function(self, card)
|
||||||
if card.debuff then
|
if card.debuff then
|
||||||
return
|
return
|
||||||
|
|
@ -392,7 +403,7 @@ joker {
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
for _ = 1, extra.times do
|
f(extra.times):each(function()
|
||||||
G.playing_card = (G.playing_card or 0) + 1
|
G.playing_card = (G.playing_card or 0) + 1
|
||||||
G.deck.config.card_limit = G.deck.config.card_limit + 1
|
G.deck.config.card_limit = G.deck.config.card_limit + 1
|
||||||
local chosen = pseudorandom_element(scored_cards, pseudoseed "Roland_trimino")
|
local chosen = pseudorandom_element(scored_cards, pseudoseed "Roland_trimino")
|
||||||
|
|
@ -402,7 +413,7 @@ joker {
|
||||||
copy:start_materialize()
|
copy:start_materialize()
|
||||||
table.insert(copied, copy)
|
table.insert(copied, copy)
|
||||||
table.insert(G.playing_cards, copy)
|
table.insert(G.playing_cards, copy)
|
||||||
end
|
end)
|
||||||
|
|
||||||
SMODS.calculate_effect({{message = localize "k_copied_ex", message_card = card}}, card)
|
SMODS.calculate_effect({{message = localize "k_copied_ex", message_card = card}}, card)
|
||||||
playing_card_joker_effects(copied)
|
playing_card_joker_effects(copied)
|
||||||
|
|
@ -806,6 +817,50 @@ joker {
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
joker {
|
||||||
|
key = "nilly",
|
||||||
|
pronouns = "any_all",
|
||||||
|
config = {extra = {flipped = false}},
|
||||||
|
cost = 0,
|
||||||
|
rarity = 3,
|
||||||
|
eternal_compat = true,
|
||||||
|
blueprint_compat = true,
|
||||||
|
perishable_compat = true,
|
||||||
|
loc_vars = function(_, _, card)
|
||||||
|
return {
|
||||||
|
vars = {localize {
|
||||||
|
type = "variable",
|
||||||
|
key = card.ability.extra.flipped and "b_Roland_enabled" or "b_Roland_disabled",
|
||||||
|
}},
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
inject = function(...)
|
||||||
|
SMODS.Joker.inject(...)
|
||||||
|
Bakery_API.double_sided_jokers.j_Roland_nilly = true
|
||||||
|
end,
|
||||||
|
calculate = function(_, card, context)
|
||||||
|
if (not context.joker_main or not card.ability.extra.flipped) and not context.forcetrigger then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
mult = mod_mult(0)
|
||||||
|
update_hand_text({delay = 0}, {chips = hand_chips, mult = mult})
|
||||||
|
return {sound = "Roland_nilly", message = "0X " .. localize "k_mult", colour = G.C.MULT, card = card}
|
||||||
|
end,
|
||||||
|
Bakery_can_use = function(_, card)
|
||||||
|
return not card.debuff
|
||||||
|
end,
|
||||||
|
Bakery_use_button_text = function(_, card)
|
||||||
|
return localize {
|
||||||
|
type = "variable",
|
||||||
|
key = card.debuff and "b_Roland_debuffed" or "b_Roland_toggle",
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
Bakery_use_joker = function(_, card)
|
||||||
|
local _ = card.debuff or Bakery_API.flip_double_sided(card)
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
joker {
|
joker {
|
||||||
key = "arctic",
|
key = "arctic",
|
||||||
pronouns = "it_its",
|
pronouns = "it_its",
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@ spectral {
|
||||||
f(cards):take(card.ability.extra.amount):each(function(v)
|
f(cards):take(card.ability.extra.amount):each(function(v)
|
||||||
local seal
|
local seal
|
||||||
|
|
||||||
for _ = 1, 31 do
|
for _ = 1, 64 do
|
||||||
seal = SMODS.poll_seal {guaranteed = true}
|
seal = SMODS.poll_seal {guaranteed = true}
|
||||||
|
|
||||||
if seal ~= "Roland_glass" then
|
if seal ~= "Roland_glass" then
|
||||||
|
|
@ -177,12 +177,12 @@ local void = spectral {
|
||||||
f(cards):each(destroy)
|
f(cards):each(destroy)
|
||||||
f(G.jokers.cards):each(calculate_joker)
|
f(G.jokers.cards):each(calculate_joker)
|
||||||
|
|
||||||
for _ = 1, card.ability.extra.amount do
|
f(card.ability.extra.amount):each(function()
|
||||||
local cryptid = create_card(nil, G.consumeables, nil, nil, nil, nil, "c_cryptid", "void")
|
local cryptid = create_card(nil, G.consumeables, nil, nil, nil, nil, "c_cryptid", "void")
|
||||||
cryptid:set_edition({negative = true}, true)
|
cryptid:set_edition({negative = true}, true)
|
||||||
cryptid:add_to_deck()
|
cryptid:add_to_deck()
|
||||||
G.consumeables:emplace(cryptid)
|
G.consumeables:emplace(cryptid)
|
||||||
end
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
play_sound("Roland_void", 1, 0.7)
|
play_sound("Roland_void", 1, 0.7)
|
||||||
|
|
|
||||||