Re-add Orbital Token, fix other token bug, change Moire

This commit is contained in:
Emik 2025-04-08 19:57:27 +02:00
parent 2e661e0b50
commit 5383f83425
Signed by untrusted user who does not match committer: emik
GPG key ID: 09CDFF9E5703688D
4 changed files with 88 additions and 97 deletions

View file

@ -17,5 +17,5 @@
"conflicts": [
"Jen"
],
"version": "1.1.0"
"version": "1.1.1"
}

View file

@ -153,7 +153,7 @@ SMODS.Edition({
end
end,
sound = {sound = "jane_e_jumbo", per = 1, vol = 0.5},
weight = 0.8,
weight = 3,
in_shop = true,
shader = false,
extra_cost = 5,
@ -166,52 +166,25 @@ SMODS.Edition({
loc_txt = {
name = "Moire",
label = "Moire",
text = Cryptid and {"{C:inactive}#1#{C:jane_RGB}#2#{C:chips}#3#{}#4#{C:mult}#5#"}
or {"{C:inactive}#1#{X:black,C:jane_RGB,s:1.5}#2#{C:chips}#3#{}#4#{C:mult}#5#"},
text = {"{X:chips,C:dark_edition}^#1#{C:chips} Chips{}, {X:mult,C:dark_edition}^#2#{C:mult} Mult"},
},
config = {mod = Cryptid and 10 or 1.01},
config = {e_chips = 0.8, e_mult = 1.2},
sound = {sound = "jane_e_moire", per = 1, vol = 0.7},
weight = 0.8,
extra_cost = 4,
weight = 1,
extra_cost = 6,
in_shop = true,
shader = "moire",
in_pool = allow_moire,
apply_to_float = false,
get_weight = function(self)
return G.GAME.edition_rate * self.weight * (allow_moire() and 1 or 0)
return G.GAME.edition_rate * self.weight
end,
loc_vars = function(self, _, _)
local allow = allow_moire()
return {
vars = {
allow and "" or "Does nothing",
allow and "^" .. self.config.mod or "?",
allow and " Chips " or "",
allow and "& " or "",
allow and "Mult" or "",
},
}
return {vars = {self.config.e_chips, self.config.e_mult}}
end,
calculate = function(self, _, context)
if not allow_moire() or
not (context.post_joker or context.main_scoring and context.cardarea == G.play) then
return
if context.post_joker or context.main_scoring then
return {e_chips = self.config.e_chips, e_mult = self.config.e_mult}
end
local mod = self.config.mod
local ret = Cryptid and {
e_chip = mod,
e_mult = mod,
colour = G.C.DARK_EDITION,
} or {
Echip_mod = mod,
Emult_mod = mod,
colour = G.C.jane_RGB,
sound = "talisman_eeechip",
}
ret.message = "^" .. mod .. " Chips & Mult"
return ret
end,
})

View file

@ -431,7 +431,7 @@ function Card:draw(layer)
orig_draw(self, layer)
end
local attune = Cryptid and 1.001 or 1.1
local attune = Cryptid and 1.001 or 1.25
SMODS.Joker {
key = "saint",

View file

@ -20,73 +20,91 @@ SMODS.ConsumableType {
secondary_colour = G.C.VOUCHER,
}
local function on_token_use(id)
local t = Tag(id)
if id == "tag_orbital" then
local hands = {}
for k, v in pairs(G.GAME.hands) do
if v.visible then
hands[#hands + 1] = k
end
end
t.ability.orbital_hand = pseudorandom_element(hands, pseudoseed("jane_token_orbital"))
end
add_tag(t)
end
local vowels = {A = true, E = true, I = true, O = true, U = true}
for k, v in pairs({
tag_standard = {"Standard", 0, 0, 3},
tag_charm = {"Charm", 1, 0, 5},
tag_meteor = {"Meteor", 2, 0, 5},
tag_ethereal = {"Ethereal", 3, 0, 5},
tag_buffoon = {"Buffoon", 4, 0, 8},
tag_cry_console = {"Console", 5, 0, 7},
tag_cry_loss = {"Loss", 0, 1, 12},
tag_cry_bundle = {"Bundle", 1, 1, 10},
tag_uncommon = {"Uncommon", 2, 1, 3},
tag_rare = {"Rare", 3, 1, 5},
tag_cry_epic = {"Epic", 4, 1, 8},
tag_cry_gourmond = {"Gourmond", 5, 1, 4},
tag_double = {"Double", 0, 2, 6},
tag_cry_triple = {"Triple", 1, 2, 8},
tag_cry_quadruple = {"Quadruple", 2, 2, 10},
tag_cry_quintuple = {"Quintuple", 3, 2, 13},
tag_skip = {"Speed", 4, 2, 7},
tag_economy = {"Economy", 5, 2, 10},
tag_investment = {"Investment", 0, 3, 8},
tag_foil = {"Foil", 1, 3, 3},
tag_holo = {"Holographic", 2, 3, 4},
tag_polychrome = {"Polychrome", 3, 3, 5},
tag_negative = {"Negative", 4, 3, 10},
tag_d_six = {"Dice", 0, 4, 2},
-- tag_orbital = {"Orbital", 1, 4, 6},
tag_top_up = {"Top-up", 2, 4, 2},
tag_cry_bettertop_up = {"Top-up+", 3, 4, 3},
tag_coupon = {"Coupon", 4, 4, 10},
tag_cry_memory = {"Memory", 5, 4, 8},
tag_garbage = {"Garbage", 0, 5, 6},
tag_handy = {"Handy", 1, 5, 8},
tag_juggle = {"Juggle", 2, 5, 2},
tag_cry_schematic = {"Schematic", 3, 5, 10},
tag_voucher = {"Voucher", 4, 5, 5},
tag_cry_better_voucher = {"Voucher+", 5, 5, 7},
tag_cry_gambler = {"Gamble", 0, 6, 10},
tag_cry_cat = {"Cat", 1, 6, 1},
tag_cry_mosaic = {"Mosaic", 2, 6, 6},
tag_cry_fragile = {"Fragile", 3, 6, 7},
tag_cry_astral = {"Astral", 4, 6, 8},
tag_cry_m = {"M", 5, 6, 8},
tag_cry_blur = {"Blurred", 0, 7, 11},
tag_cry_oversat = {"Oversaturated", 1, 7, 12},
tag_cry_glitched = {"Glitched", 2, 7, 13},
tag_cry_gold = {"Golden", 3, 7, 9},
tag_cry_booster = {"Booster", 4, 7, 4},
tag_cry_scope = {"Scope", 5, 7, 3},
tag_cry_banana = {"Banana", 0, 8, 4},
for _, v in pairs({
{"tag_standard", "Standard", 0, 0, 3},
{"tag_charm", "Charm", 1, 0, 5},
{"tag_meteor", "Meteor", 2, 0, 5},
{"tag_ethereal", "Ethereal", 3, 0, 5},
{"tag_buffoon", "Buffoon", 4, 0, 8},
{"tag_cry_console", "Console", 5, 0, 7},
{"tag_cry_loss", "Loss", 0, 1, 12},
{"tag_cry_bundle", "Bundle", 1, 1, 10},
{"tag_uncommon", "Uncommon", 2, 1, 3},
{"tag_rare", "Rare", 3, 1, 5},
{"tag_cry_epic", "Epic", 4, 1, 8},
{"tag_cry_gourmond", "Gourmond", 5, 1, 4},
{"tag_double", "Double", 0, 2, 6},
{"tag_cry_triple", "Triple", 1, 2, 8},
{"tag_cry_quadruple", "Quadruple", 2, 2, 10},
{"tag_cry_quintuple", "Quintuple", 3, 2, 13},
{"tag_skip", "Speed", 4, 2, 7},
{"tag_economy", "Economy", 5, 2, 10},
{"tag_investment", "Investment", 0, 3, 8},
{"tag_foil", "Foil", 1, 3, 3},
{"tag_holo", "Holographic", 2, 3, 4},
{"tag_polychrome", "Polychrome", 3, 3, 5},
{"tag_negative", "Negative", 4, 3, 10},
{"tag_d_six", "Dice", 0, 4, 2},
{"tag_orbital", "Orbital", 1, 4, 6},
{"tag_top_up", "Top-up", 2, 4, 2},
{"tag_cry_bettertop_up", "Top-up+", 3, 4, 3},
{"tag_coupon", "Coupon", 4, 4, 10},
{"tag_cry_memory", "Memory", 5, 4, 8},
{"tag_garbage", "Garbage", 0, 5, 6},
{"tag_handy", "Handy", 1, 5, 8},
{"tag_juggle", "Juggle", 2, 5, 2},
{"tag_cry_schematic", "Schematic", 3, 5, 10},
{"tag_voucher", "Voucher", 4, 5, 5},
{"tag_cry_better_voucher", "Voucher+", 5, 5, 7},
{"tag_cry_gambler", "Gamble", 0, 6, 10},
{"tag_cry_cat", "Cat", 1, 6, 1},
{"tag_cry_mosaic", "Mosaic", 2, 6, 6},
{"tag_cry_fragile", "Fragile", 3, 6, 7},
{"tag_cry_astral", "Astral", 4, 6, 8},
{"tag_cry_m", "M", 5, 6, 8},
{"tag_cry_blur", "Blurred", 0, 7, 11},
{"tag_cry_oversat", "Oversaturated", 1, 7, 12},
{"tag_cry_glitched", "Glitched", 2, 7, 13},
{"tag_cry_gold", "Golden", 3, 7, 9},
{"tag_cry_booster", "Booster", 4, 7, 4},
{"tag_cry_scope", "Scope", 5, 7, 3},
{"tag_cry_banana", "Banana", 0, 8, 4},
}) do
if Cryptid or k:sub(1, 7) ~= "tag_cry" then
if Cryptid or v[1]:sub(1, 7) ~= "tag_cry" then
SMODS.Consumable {
key = "token_" .. k,
key = "token_" .. v[1],
set = "jane_tokens",
atlas = "janetokens",
loc_txt = {
name = v[1] .. " Token",
text = {"Creates a" .. (vowels[v[1]:sub(1, 1)] and "n" or "") .. " {C:attention}" .. v[1] .. " Tag"},
name = v[2] .. " Token",
text = {"Creates a" .. (vowels[v[2]:sub(1, 1)] and "n" or "") .. " {C:attention}" .. v[2] .. " Tag"},
},
loc_vars = function(_, info_queue, _)
info_queue[#info_queue + 1] = G.P_TAGS[k]
info_queue[#info_queue + 1] = v[1] ~= "tag_cry_cat" and G.P_TAGS[v[1]] or nil
return {vars = {}}
end,
pos = {x = v[2], y = v[3]},
cost = v[4],
pos = {x = v[3], y = v[4]},
cost = v[5],
can_stack = true,
can_divide = true,
can_use = Jane.can_use,
@ -95,13 +113,13 @@ for k, v in pairs({
end,
use = function(_, _, _, _)
play_sound("jane_e_gilded", 1.25, 0.4)
add_tag(Tag(k))
on_token_use(v[1])
end,
bulk_use = function(_, _, _, _, number)
play_sound("jane_e_gilded", 1.25, 0.4)
for _ = 1, number do
add_tag(Tag(k))
on_token_use(v[1])
end
end,
}