From 5383f83425380f17b2f419e3341d1073782d1f2e Mon Sep 17 00:00:00 2001 From: Emik Date: Tue, 8 Apr 2025 19:57:27 +0200 Subject: [PATCH] Re-add Orbital Token, fix other token bug, change Moire --- manifest.json | 2 +- src/edition.lua | 47 ++++------------- src/slugcat.lua | 2 +- src/token.lua | 134 +++++++++++++++++++++++++++--------------------- 4 files changed, 88 insertions(+), 97 deletions(-) diff --git a/manifest.json b/manifest.json index b0409a7..25fb1af 100644 --- a/manifest.json +++ b/manifest.json @@ -17,5 +17,5 @@ "conflicts": [ "Jen" ], - "version": "1.1.0" + "version": "1.1.1" } \ No newline at end of file diff --git a/src/edition.lua b/src/edition.lua index 109f2ba..8fb9e6c 100644 --- a/src/edition.lua +++ b/src/edition.lua @@ -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, }) diff --git a/src/slugcat.lua b/src/slugcat.lua index 8cebcd8..3841b9e 100644 --- a/src/slugcat.lua +++ b/src/slugcat.lua @@ -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", diff --git a/src/token.lua b/src/token.lua index 831ce03..379038e 100644 --- a/src/token.lua +++ b/src/token.lua @@ -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, }