Rebalance new cards
This commit is contained in:
parent
5d90c1b11d
commit
e9ae99e14e
4 changed files with 148 additions and 83 deletions
|
|
@ -207,7 +207,7 @@ vec4 effect( vec4 colour, Image texture, vec2 texture_coords, vec2 screen_coords
|
||||||
vec4 tex = Texel(texture, texture_coords);
|
vec4 tex = Texel(texture, texture_coords);
|
||||||
vec2 uv = (((texture_coords)*(image_details)) - texture_details.xy*texture_details.ba)/texture_details.ba;
|
vec2 uv = (((texture_coords)*(image_details)) - texture_details.xy*texture_details.ba)/texture_details.ba;
|
||||||
|
|
||||||
// Dummy, doesn't do anything but at least it makes the shader useable
|
// Doesn't do anything it makes the shader useable
|
||||||
if (uv.x > uv.x * 2.){
|
if (uv.x > uv.x * 2.){
|
||||||
uv = polygloss;
|
uv = polygloss;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,5 +16,5 @@
|
||||||
"Bakery (>=3.0.0~*)"
|
"Bakery (>=3.0.0~*)"
|
||||||
],
|
],
|
||||||
"conflicts": [],
|
"conflicts": [],
|
||||||
"version": "1.12.2"
|
"version": "1.12.3"
|
||||||
}
|
}
|
||||||
|
|
@ -126,7 +126,7 @@ SMODS.Edition({
|
||||||
"{X:dark_edition,C:white}^#2#{} Mult",
|
"{X:dark_edition,C:white}^#2#{} Mult",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
config = {e_chips = 0.8, e_mult = 1.2},
|
config = {e_chips = 0.75, e_mult = 1.25},
|
||||||
sound = {sound = "jane_e_moire", per = 1, vol = 0.7},
|
sound = {sound = "jane_e_moire", per = 1, vol = 0.7},
|
||||||
weight = 0,
|
weight = 0,
|
||||||
extra_cost = 10,
|
extra_cost = 10,
|
||||||
|
|
|
||||||
225
src/omega.lua
225
src/omega.lua
|
|
@ -108,7 +108,7 @@ local function omega_level_up(hand, number, card)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
delay(2)
|
delay(1)
|
||||||
|
|
||||||
update_hand_text(
|
update_hand_text(
|
||||||
{sound = "button", volume = 0.7, pitch = 0.8, delay = 1},
|
{sound = "button", volume = 0.7, pitch = 0.8, delay = 1},
|
||||||
|
|
@ -233,7 +233,7 @@ SMODS.Consumable {
|
||||||
set = "jane_omegaconsumable",
|
set = "jane_omegaconsumable",
|
||||||
loc_txt = {
|
loc_txt = {
|
||||||
name = "Ankh {C:dark_edition}Omega",
|
name = "Ankh {C:dark_edition}Omega",
|
||||||
text = {"Create {C:attention}4{} copies of", "a {C:attention}selected Joker"},
|
text = {"Create {C:attention}3{} copies of", "a {C:attention}selected Joker"},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = 0},
|
pos = {x = 0, y = 0},
|
||||||
soul_pos = {x = 1, y = 0},
|
soul_pos = {x = 1, y = 0},
|
||||||
|
|
@ -242,35 +242,35 @@ SMODS.Consumable {
|
||||||
hidden = true,
|
hidden = true,
|
||||||
atlas = "janeomegaspectrals",
|
atlas = "janeomegaspectrals",
|
||||||
can_use = function()
|
can_use = function()
|
||||||
return Jane.can_use() and ((G.jokers or {}).highlighted or {})[1]
|
return Jane.can_use() and
|
||||||
|
G.jokers.highlighted[1] and
|
||||||
|
#G.jokers.cards + 3 <= G.jokers.config.card_limit
|
||||||
end,
|
end,
|
||||||
use = function(self, card, area, copier)
|
use = function(self, card, area, copier)
|
||||||
self:bulk_use(card, area, copier, 1)
|
self:bulk_use(card, area, copier, 1)
|
||||||
end,
|
end,
|
||||||
bulk_use = function(_, _, _, _, number)
|
bulk_use = function(_, _, _, _, number)
|
||||||
local joker = ((G.jokers or {}).highlighted or {})[1]
|
local joker = G.jokers.highlighted[1]
|
||||||
|
|
||||||
if not joker then
|
if not joker then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
for _ = 1, 4 * number do
|
for _ = 1, 3 * number do
|
||||||
SMODS.copy_card(joker):start_materialize()
|
SMODS.copy_card(joker):start_materialize()
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
local editions = {"jane_crystal", "jane_moire"}
|
|
||||||
|
|
||||||
SMODS.Consumable {
|
SMODS.Consumable {
|
||||||
key = "aura_omega",
|
key = "aura_omega",
|
||||||
set = "jane_omegaconsumable",
|
set = "jane_omegaconsumable",
|
||||||
loc_txt = {
|
loc_txt = {
|
||||||
name = "Aura {C:dark_edition}Omega",
|
name = "Aura {C:dark_edition}Omega",
|
||||||
text = {
|
text = {
|
||||||
"Apply {C:dark_edition}Crystal {}or {C:dark_edition}Moire",
|
"Apply {C:dark_edition}Crystal {}to all",
|
||||||
"to all {C:attention}selected Jokers",
|
"{C:attention}selected Jokers {}and",
|
||||||
"and {C:attention}playing cards",
|
"{C:attention}playing cards",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = 1},
|
pos = {x = 0, y = 1},
|
||||||
|
|
@ -281,21 +281,36 @@ SMODS.Consumable {
|
||||||
atlas = "janeomegaspectrals",
|
atlas = "janeomegaspectrals",
|
||||||
loc_vars = function(_, info_queue)
|
loc_vars = function(_, info_queue)
|
||||||
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_crystal
|
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_crystal
|
||||||
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_moire
|
|
||||||
end,
|
end,
|
||||||
can_use = function()
|
can_use = function()
|
||||||
return Jane.can_use() and (next(G.jokers.highlighted) or next(G.hand.highlighted))
|
if not Jane.can_use() then
|
||||||
end,
|
return false
|
||||||
use = function()
|
end
|
||||||
|
|
||||||
for _, v in ipairs(G.jokers.highlighted) do
|
for _, v in ipairs(G.jokers.highlighted) do
|
||||||
if not v.edition then
|
if not v.edition then
|
||||||
v:set_edition({[editions[pseudorandom("auraexrandom", 1, #editions)]] = true})
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, v in ipairs(G.hand.highlighted) do
|
for _, v in ipairs(G.hand.highlighted) do
|
||||||
if not v.edition then
|
if not v.edition then
|
||||||
v:set_edition({[editions[pseudorandom("auraexrandom", 1, #editions)]] = true})
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end,
|
||||||
|
use = function()
|
||||||
|
for _, v in ipairs(G.jokers.highlighted) do
|
||||||
|
if not v.edition then
|
||||||
|
v:set_edition({jane_crystal = true})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, v in ipairs(G.hand.highlighted) do
|
||||||
|
if not v.edition then
|
||||||
|
v:set_edition({jane_crystal = true})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
@ -346,6 +361,7 @@ for _, v in ipairs({
|
||||||
text = {
|
text = {
|
||||||
"Apply a {C:attention}" .. v.s .. " Seal{} to",
|
"Apply a {C:attention}" .. v.s .. " Seal{} to",
|
||||||
"{C:attention}all playing cards",
|
"{C:attention}all playing cards",
|
||||||
|
"{C:inactive}(Can override seals)",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = v.y},
|
pos = {x = 0, y = v.y},
|
||||||
|
|
@ -363,7 +379,7 @@ for _, v in ipairs({
|
||||||
card:set_seal(v.s, i > 50, i > 50)
|
card:set_seal(v.s, i > 50, i > 50)
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, card in pairs(G.deck.cards) do
|
for _, card in pairs(G.playing_cards) do
|
||||||
card:set_seal(v.s, true, true)
|
card:set_seal(v.s, true, true)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
@ -387,7 +403,17 @@ SMODS.Consumable {
|
||||||
info_queue[#info_queue + 1] = G.P_CENTERS.e_negative
|
info_queue[#info_queue + 1] = G.P_CENTERS.e_negative
|
||||||
end,
|
end,
|
||||||
can_use = function()
|
can_use = function()
|
||||||
return Jane.can_use() and next(G.jokers.cards)
|
if not Jane.can_use() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, v in ipairs(G.jokers.cards) do
|
||||||
|
if not v.edition then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
end,
|
end,
|
||||||
use = function()
|
use = function()
|
||||||
for k, v in ipairs(G.jokers.cards) do
|
for k, v in ipairs(G.jokers.cards) do
|
||||||
|
|
@ -467,8 +493,8 @@ SMODS.Consumable {
|
||||||
loc_txt = {
|
loc_txt = {
|
||||||
name = "Hex {C:dark_edition}Omega",
|
name = "Hex {C:dark_edition}Omega",
|
||||||
text = {
|
text = {
|
||||||
"Apply {C:dark_edition,E:1}Crystal {}or",
|
"Apply {C:dark_edition,E:1}Moire {}to",
|
||||||
"{C:dark_edition,E:1}Moire {}to all {C:attention}Jokers",
|
"all {C:attention}Jokers",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = 7},
|
pos = {x = 0, y = 7},
|
||||||
|
|
@ -478,16 +504,25 @@ SMODS.Consumable {
|
||||||
hidden = true,
|
hidden = true,
|
||||||
atlas = "janeomegaspectrals",
|
atlas = "janeomegaspectrals",
|
||||||
loc_vars = function(_, info_queue)
|
loc_vars = function(_, info_queue)
|
||||||
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_crystal
|
|
||||||
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_moire
|
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_moire
|
||||||
end,
|
end,
|
||||||
can_use = function()
|
can_use = function()
|
||||||
return Jane.can_use() and next(G.jokers.cards)
|
if not Jane.can_use() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, v in ipairs(G.jokers.cards) do
|
||||||
|
if not v.edition then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
end,
|
end,
|
||||||
use = function()
|
use = function()
|
||||||
for _, v in ipairs(G.jokers.cards) do
|
for _, v in ipairs(G.jokers.cards) do
|
||||||
if not v.edition then
|
if not v.edition then
|
||||||
v:set_edition({[editions[pseudorandom("hexexrandom", 1, #editions)]] = true})
|
v:set_edition({jane_moire = true})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
@ -499,9 +534,10 @@ SMODS.Consumable {
|
||||||
loc_txt = {
|
loc_txt = {
|
||||||
name = "Immolate {C:dark_edition}Omega",
|
name = "Immolate {C:dark_edition}Omega",
|
||||||
text = {
|
text = {
|
||||||
"{C:red}Destroys{} {C:attention}selected playing cards",
|
"{C:money}Sells{} all cards {C:attention}in hand",
|
||||||
"Each card destroyed multiplies",
|
"Each card {C:money}sold {}multiplies",
|
||||||
"{C:money}money{} by its {C:attention}rank",
|
"{C:money}money{} by its {C:attention}rank",
|
||||||
|
not Jane.cry and "{C:inactive}(Max of {C:money}$#1#{C:inactive} each)" or nil,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = 8},
|
pos = {x = 0, y = 8},
|
||||||
|
|
@ -510,15 +546,23 @@ SMODS.Consumable {
|
||||||
soul_rate = 0,
|
soul_rate = 0,
|
||||||
hidden = true,
|
hidden = true,
|
||||||
atlas = "janeomegaspectrals",
|
atlas = "janeomegaspectrals",
|
||||||
can_use = function()
|
loc_vars = function(_, info_queue)
|
||||||
return Jane.can_use() and next(G.hand.highlighted)
|
return {vars = {2000}}
|
||||||
end,
|
end,
|
||||||
use = function(self, card, area, copier)
|
can_use = function()
|
||||||
for _, v in pairs(G.hand.highlighted) do
|
return Jane.can_use() and next(G.hand.cards)
|
||||||
ease_dollars((v:norank() and 1 or v:get_id()) * G.GAME.dollars - G.GAME.dollars)
|
end,
|
||||||
end
|
use = function()
|
||||||
|
---@diagnostic disable-next-line: deprecated
|
||||||
|
local copy = {unpack(G.hand.cards)}
|
||||||
|
|
||||||
SMODS.destroy_cards(G.hand.highlighted)
|
for _, v in pairs(copy) do
|
||||||
|
Jane.q(function()
|
||||||
|
v:sell_card()
|
||||||
|
local amount = (v:norank() and 1 or v:get_id()) * G.GAME.dollars - G.GAME.dollars
|
||||||
|
ease_dollars(Jane.cry and amount or math.min(amount, 2000))
|
||||||
|
end)
|
||||||
|
end
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -567,9 +611,10 @@ SMODS.Consumable {
|
||||||
loc_txt = {
|
loc_txt = {
|
||||||
name = "Ouija {C:dark_edition}Omega",
|
name = "Ouija {C:dark_edition}Omega",
|
||||||
text = {
|
text = {
|
||||||
"{C:attention}Playing cards {}whose rank",
|
"{C:attention}Playing cards {}whose",
|
||||||
"does not match any of the",
|
"rank doesn't match any",
|
||||||
"{C:attention}selected cards {}will be {C:money}sold",
|
"of the {C:attention}selected cards",
|
||||||
|
"will be {C:red}destroyed",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = 11},
|
pos = {x = 0, y = 11},
|
||||||
|
|
@ -586,6 +631,8 @@ SMODS.Consumable {
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local destroy = {}
|
||||||
|
|
||||||
for _, c in pairs(G.playing_cards) do
|
for _, c in pairs(G.playing_cards) do
|
||||||
local safe = c.highlighted
|
local safe = c.highlighted
|
||||||
|
|
||||||
|
|
@ -600,9 +647,11 @@ SMODS.Consumable {
|
||||||
end
|
end
|
||||||
|
|
||||||
if not safe then
|
if not safe then
|
||||||
c:sell_card()
|
destroy[#destroy + 1] = c
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
SMODS.destroy_cards(destroy)
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -612,9 +661,10 @@ SMODS.Consumable {
|
||||||
loc_txt = {
|
loc_txt = {
|
||||||
name = "Sigil {C:dark_edition}Omega",
|
name = "Sigil {C:dark_edition}Omega",
|
||||||
text = {
|
text = {
|
||||||
"{C:attention}Playing cards {}whose suit",
|
"{C:attention}Playing cards {}whose",
|
||||||
"does not match any of the",
|
"suit doesn't match any",
|
||||||
"{C:attention}selected {C:attention}cards {}will be {C:money}sold",
|
"of the {C:attention}selected cards",
|
||||||
|
"will be {C:red}destroyed",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = 12},
|
pos = {x = 0, y = 12},
|
||||||
|
|
@ -626,6 +676,8 @@ SMODS.Consumable {
|
||||||
return Jane.can_use() and next(G.hand.highlighted)
|
return Jane.can_use() and next(G.hand.highlighted)
|
||||||
end,
|
end,
|
||||||
use = function()
|
use = function()
|
||||||
|
local destroy = {}
|
||||||
|
|
||||||
if not next(G.hand.highlighted) then
|
if not next(G.hand.highlighted) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
@ -645,9 +697,11 @@ SMODS.Consumable {
|
||||||
end
|
end
|
||||||
|
|
||||||
if not safe then
|
if not safe then
|
||||||
c:sell_card()
|
destroy[#destroy + 1] = c
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
SMODS.destroy_cards(destroy)
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -677,7 +731,7 @@ SMODS.Consumable {
|
||||||
end,
|
end,
|
||||||
use = function(self)
|
use = function(self)
|
||||||
for _, v in ipairs(self.jokers()) do
|
for _, v in ipairs(self.jokers()) do
|
||||||
SMODS.add_card {key = v.key, set = "Joker"}
|
SMODS.add_card({key = v.key, set = "Joker"})
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
jokers = function()
|
jokers = function()
|
||||||
|
|
@ -704,7 +758,7 @@ SMODS.Consumable {
|
||||||
name = "The Fool {C:dark_edition}Omega",
|
name = "The Fool {C:dark_edition}Omega",
|
||||||
text = {
|
text = {
|
||||||
"Create {C:attention}2{} random",
|
"Create {C:attention}2{} random",
|
||||||
"{C:red,E:1}Omega{} cards",
|
"{C:jane_RGB,E:1}Omega{} cards",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = 0},
|
pos = {x = 0, y = 0},
|
||||||
|
|
@ -715,25 +769,17 @@ SMODS.Consumable {
|
||||||
atlas = "janeomegatarots",
|
atlas = "janeomegatarots",
|
||||||
can_use = Jane.can_use,
|
can_use = Jane.can_use,
|
||||||
use = function()
|
use = function()
|
||||||
local omega_consumables = {
|
|
||||||
"pluto", "mercury", "uranus", "venus", "saturn", "jupiter", "earth", "mars", "neptune", "planet_x", "ceres",
|
|
||||||
"eris", "black_hole", "ankh", "aura", "cryptid", "deja_vu", "medium", "talisman", "trance", "ectoplasm",
|
|
||||||
"familiar", "grim", "hex", "immolate", "incantation", "ouija", "sigil", "wraith", "fool", "magician",
|
|
||||||
"empress", "hierophant", "lovers", "chariot", "justice", "devil", "tower", "high_priestess", "emperor",
|
|
||||||
"hermit", "wheel_of_fortune", "star", "moon", "sun", "world", "soul",
|
|
||||||
}
|
|
||||||
|
|
||||||
for _ = 1, 2 do
|
for _ = 1, 2 do
|
||||||
if G.consumeables.config.card_limit > #G.consumeables.cards then
|
if G.consumeables.config.card_limit > #G.consumeables.cards then
|
||||||
local key = "c_jane_" .. pseudorandom_element(omega_consumables, pseudoseed("fool_omega")) .. "_omega"
|
local orig = G.GAME.banned_keys.c_jane_soul_omega
|
||||||
SMODS.add_card({key = key, set = "jane_omegaconsumable"})
|
G.GAME.banned_keys.c_jane_soul_omega = true
|
||||||
|
SMODS.add_card({set = "jane_omegaconsumable"})
|
||||||
|
G.GAME.banned_keys.c_jane_soul_omega = orig
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
local omega_copyamount = 10
|
|
||||||
|
|
||||||
for _, v in ipairs({
|
for _, v in ipairs({
|
||||||
{
|
{
|
||||||
b = "magician",
|
b = "magician",
|
||||||
|
|
@ -816,8 +862,7 @@ for _, v in ipairs({
|
||||||
text = {
|
text = {
|
||||||
"Enhance {C:attention}selected playing",
|
"Enhance {C:attention}selected playing",
|
||||||
"{C:attention}cards {}to {C:attention}" .. v.c .. "{} cards,",
|
"{C:attention}cards {}to {C:attention}" .. v.c .. "{} cards,",
|
||||||
"{C:red}Destroy{} all other cards",
|
"{C:attention}Duplicate {}each card {C:attention}10 times",
|
||||||
"{C:attention}Duplicate {}each card {C:attention}" .. omega_copyamount .. " times",
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = v.omega},
|
pos = {x = 0, y = v.omega},
|
||||||
|
|
@ -871,17 +916,17 @@ for _, v in ipairs({
|
||||||
end, 0.15, nil, "after")
|
end, 0.15, nil, "after")
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, c in ipairs(G.playing_cards) do
|
-- Removing all other cards is too strong.
|
||||||
if not c.highlighted then
|
-- for _, c in ipairs(G.playing_cards) do
|
||||||
SMODS.destroy_cards({c})
|
-- if not c.highlighted then
|
||||||
end
|
-- SMODS.destroy_cards({c})
|
||||||
end
|
-- end
|
||||||
|
-- end
|
||||||
delay(1)
|
delay(1)
|
||||||
|
|
||||||
Jane.q(function()
|
Jane.q(function()
|
||||||
for _, h in ipairs(to_copy) do
|
for _, h in ipairs(to_copy) do
|
||||||
for _ = 1, omega_copyamount do
|
for _ = 1, 10 do
|
||||||
SMODS.copy_card(h):start_materialize()
|
SMODS.copy_card(h):start_materialize()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -973,8 +1018,9 @@ SMODS.Consumable {
|
||||||
loc_txt = {
|
loc_txt = {
|
||||||
name = "The Hermit {C:dark_edition}Omega",
|
name = "The Hermit {C:dark_edition}Omega",
|
||||||
text = {
|
text = {
|
||||||
"Gain {X:money,C:dark_edition,s:1.25}+$^2",
|
"Gain {X:money,C:dark_edition}+$^2",
|
||||||
"{C:inactive,s:0.75}(+$#1#)",
|
"{C:inactive}(Currently {C:money}+$#1#{C:inactive})",
|
||||||
|
not Jane.cry and "{C:inactive}(Max of {C:money}$#2#{C:inactive})" or nil,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = 9},
|
pos = {x = 0, y = 9},
|
||||||
|
|
@ -984,11 +1030,15 @@ SMODS.Consumable {
|
||||||
hidden = true,
|
hidden = true,
|
||||||
atlas = "janeomegatarots",
|
atlas = "janeomegatarots",
|
||||||
can_use = Jane.can_use,
|
can_use = Jane.can_use,
|
||||||
loc_vars = function()
|
loc_vars = function(self)
|
||||||
return {vars = {((G.GAME or {}).dollars or 0) ^ 2}}
|
return {vars = {self.money(), 20000}}
|
||||||
end,
|
end,
|
||||||
use = function()
|
use = function(self)
|
||||||
ease_dollars(G.GAME.dollars ^ 2)
|
ease_dollars(self.money())
|
||||||
|
end,
|
||||||
|
money = function()
|
||||||
|
return not (G.GAME or {}).dollars and 0 or
|
||||||
|
(Jane.cry and G.GAME.dollars ^ 2 or math.min(G.GAME.dollars ^ 2, 20000))
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1000,7 +1050,7 @@ SMODS.Consumable {
|
||||||
text = {
|
text = {
|
||||||
"Create {C:dark_edition,E:1}50 {C:attention}consumables",
|
"Create {C:dark_edition,E:1}50 {C:attention}consumables",
|
||||||
"{C:inactive}(Adds a temporary Showman)",
|
"{C:inactive}(Adds a temporary Showman)",
|
||||||
"{C:inactive}(Does not require room)",
|
"{C:inactive}(Doesn't require room)",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = 10},
|
pos = {x = 0, y = 10},
|
||||||
|
|
@ -1031,7 +1081,8 @@ for _, vv in pairs({
|
||||||
name = "The " .. string.upper(string.sub(vv.b, 1, 1)) .. string.sub(vv.b, 2, string.len(vv.b)) .. " {C:dark_edition}Omega",
|
name = "The " .. string.upper(string.sub(vv.b, 1, 1)) .. string.sub(vv.b, 2, string.len(vv.b)) .. " {C:dark_edition}Omega",
|
||||||
text = {
|
text = {
|
||||||
"Convert {C:attention}all {C:" .. string.lower(vv.s) .. "}" .. vv.s,
|
"Convert {C:attention}all {C:" .. string.lower(vv.s) .. "}" .. vv.s,
|
||||||
"to {C:dark_edition,E:1}Crystal {}or {C:dark_edition,E:1}Moire",
|
"to {C:dark_edition,E:1}Crystal{}, {C:dark_edition,E:1}Moire{},",
|
||||||
|
"or {C:dark_edition,E:1}Polygloss",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pos = {x = 0, y = vv.o},
|
pos = {x = 0, y = vv.o},
|
||||||
|
|
@ -1043,13 +1094,28 @@ for _, vv in pairs({
|
||||||
loc_vars = function(_, info_queue)
|
loc_vars = function(_, info_queue)
|
||||||
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_crystal
|
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_crystal
|
||||||
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_moire
|
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_moire
|
||||||
|
info_queue[#info_queue + 1] = G.P_CENTERS.e_jane_polygloss
|
||||||
|
end,
|
||||||
|
can_use = function()
|
||||||
|
if not Jane.can_use() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, v in ipairs(G.playing_cards) do
|
||||||
|
if v:is_suit(vv.s) and not v.edition and not v:nosuit() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
end,
|
end,
|
||||||
can_use = Jane.can_use,
|
|
||||||
use = function()
|
use = function()
|
||||||
|
local editions = {"jane_crystal", "jane_moire", "jane_polygloss"}
|
||||||
|
|
||||||
play_sound("jane_pop")
|
play_sound("jane_pop")
|
||||||
|
|
||||||
for _, v in ipairs(G.playing_cards) do
|
for _, v in ipairs(G.playing_cards) do
|
||||||
if v:is_suit(vv.s) and not v:nosuit() then
|
if v:is_suit(vv.s) and not v.edition and not v:nosuit() then
|
||||||
if v.area == G.hand then
|
if v.area == G.hand then
|
||||||
Jane.q(function()
|
Jane.q(function()
|
||||||
v:set_edition({[editions[pseudorandom("auraexrandom", 1, #editions)]] = true})
|
v:set_edition({[editions[pseudorandom("auraexrandom", 1, #editions)]] = true})
|
||||||
|
|
@ -1066,7 +1132,7 @@ for _, vv in pairs({
|
||||||
end
|
end
|
||||||
|
|
||||||
local function obfuscated_text(length)
|
local function obfuscated_text(length)
|
||||||
local chars = "ABCDEFGHIJKLMNOPQRSTU,VWXYZ abcdefghijklmnopq,rstuvwxyz0123456789+-?!,$%[]()"
|
local chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-?!,$%[]()"
|
||||||
local ret = ""
|
local ret = ""
|
||||||
|
|
||||||
for _ = 0, length do
|
for _ = 0, length do
|
||||||
|
|
@ -1115,19 +1181,20 @@ SMODS.Consumable {
|
||||||
end
|
end
|
||||||
|
|
||||||
Jane.q(function()
|
Jane.q(function()
|
||||||
SMODS.destroy_cards(G.jokers.cards, {bypass_eternal = true})
|
|
||||||
G.jokers:change_size(1 - G.jokers.config.card_limit)
|
|
||||||
G.GAME.banned_keys.j_Bakery_Lua = nil
|
G.GAME.banned_keys.j_Bakery_Lua = nil
|
||||||
|
SMODS.destroy_cards(G.jokers.cards, {bypass_eternal = true})
|
||||||
|
G.jokers:change_size(1 - G.jokers.config.card_limits.base)
|
||||||
|
|
||||||
SMODS.add_card {
|
SMODS.add_card {
|
||||||
set = "Joker",
|
set = "Joker",
|
||||||
|
no_edition = true,
|
||||||
key = "j_Bakery_Lua",
|
key = "j_Bakery_Lua",
|
||||||
force_stickers = {"eternal", "rental"},
|
force_stickers = {"eternal", "rental"},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
play_sound("jane_enchant", 0.75, 1)
|
||||||
G.GAME.banned_keys.j_Bakery_Lua = true
|
G.GAME.banned_keys.j_Bakery_Lua = true
|
||||||
G.GAME.banned_keys.c_jane_soul_omega = true
|
G.GAME.banned_keys.c_jane_soul_omega = true
|
||||||
play_sound("jane_enchant", 0.75, 1)
|
|
||||||
end, 0.75, "REAL", "after")
|
end, 0.75, "REAL", "after")
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
@ -1150,9 +1217,7 @@ end
|
||||||
function create_card(...)
|
function create_card(...)
|
||||||
local card = orig_create_card(...)
|
local card = orig_create_card(...)
|
||||||
|
|
||||||
if not card.gc or
|
if G.STATE ~= G.STATES.SMODS_BOOSTER_OPENED or not card.gc then
|
||||||
G.STATE == G.STATES.MENU or
|
|
||||||
G.STATE ~= G.STATES.SHOP and card:gc().set ~= "Spectral" then
|
|
||||||
return card
|
return card
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue