Buff saint and nerf polygloss on non-cryptid

This commit is contained in:
Emik 2025-04-07 02:36:57 +02:00
parent fbe895ba22
commit 9d8a6991b1
Signed by untrusted user who does not match committer: emik
GPG key ID: 09CDFF9E5703688D
3 changed files with 67 additions and 69 deletions

View file

@ -17,5 +17,5 @@
"conflicts": [ "conflicts": [
"Jen" "Jen"
], ],
"version": "1.0.4" "version": "1.0.5"
} }

View file

@ -7,35 +7,43 @@ SMODS.Edition({
loc_txt = { loc_txt = {
name = "Polygloss", name = "Polygloss",
label = "Polygloss", label = "Polygloss",
text = { text = Cryptid and {
"{C:chips}+#1#{}, {X:chips,C:white}x#2#{} & {X:chips,C:dark_edition}^#3#{} Chips", "{C:chips}+#1#{}, {X:chips,C:white}x#2#{} & {X:chips,C:dark_edition}^#3#{} Chips",
"{C:mult}+#4#{}, {X:mult,C:white}x#5#{} & {X:mult,C:dark_edition}^#6#{} Mult", "{C:mult}+#4#{}, {X:mult,C:white}x#5#{} & {X:mult,C:dark_edition}^#6#{} Mult",
"Generates {C:money}+$#7#", "{C:money}$#7# {}when scored",
} or {
"{C:chips}+#1#{} & {X:chips,C:white}x#2#{}",
"{C:mult}+#3#{} & {X:mult,C:white}x#4#{}",
"{C:money}$#5# {}when scored",
}, },
}, },
config = {chips = 1, mult = 1, x_chips = 1.1, x_mult = 1.1, e_chips = 1.01, e_mult = 1.01, p_dollars = 1}, config = {
mult = 1,
chips = 1,
x_mult = 1.1,
x_chips = 1.1,
p_dollars = 1,
e_chips = Cryptid and 1.01 or nil,
e_mult = Cryptid and 1.01 or nil,
},
sound = { sound = {
sound = "jane_e_polygloss", sound = "jane_e_polygloss",
per = 1.2, per = 1.2,
vol = 0.4, vol = 0.4,
}, },
weight = 8, weight = 8,
extra_cost = 2, extra_cost = 4,
in_shop = true, in_shop = true,
shader = "polygloss", shader = "polygloss",
apply_to_float = false, apply_to_float = false,
loc_vars = function(self) loc_vars = function(self)
return { local vars = {self.config.chips, self.config.x_chips}
vars = { vars[#vars + 1] = self.config.e_chips
self.config.chips, vars[#vars + 1] = self.config.mult
self.config.x_chips, vars[#vars + 1] = self.config.x_mult
self.config.e_chips, vars[#vars + 1] = self.config.e_mult
self.config.mult, vars[#vars + 1] = self.config.p_dollars
self.config.x_mult, return {vars = vars}
self.config.e_mult,
self.config.p_dollars,
},
}
end, end,
calculate = function(_, card, context) calculate = function(_, card, context)
if context.pre_joker then if context.pre_joker then
@ -136,7 +144,7 @@ SMODS.Edition({
weight = 0.8, weight = 0.8,
in_shop = true, in_shop = true,
shader = false, shader = false,
extra_cost = 12, extra_cost = 5,
apply_to_float = false, apply_to_float = false,
get_weight = function(self) get_weight = function(self)
return G.GAME.edition_rate * self.weight return G.GAME.edition_rate * self.weight

View file

@ -431,42 +431,21 @@ function Card:draw(layer)
orig_draw(self, layer) orig_draw(self, layer)
end end
local function attunement() local attune = Cryptid and 1.001 or 1.1
local function polygloss(tbl)
local sum = 0
for _, v in pairs(tbl) do
if (v.edition or {}).key == "e_jane_polygloss" then
sum = sum + 1
end
end
return sum
end
if Cryptid then
return 1.001
end
local cards = polygloss(G.playing_cards) + polygloss(G.jokers.cards) + polygloss(G.consumeables.cards)
local base = 1.01
local round = 100
local expo = cards * 2
local error_correction = 1e-10
return math.floor(base ^ expo * round + error_correction) / round
end
SMODS.Joker { SMODS.Joker {
key = "saint", key = "saint",
atlas = "janesaint", atlas = "janesaint",
loc_txt = { loc_txt = {
name = "The Saint{C:jane_RGB}#1#", name = "The Saint{C:jane_RGB}#1#",
text = { text = Cryptid and {
"{C:spectral}#2# {}will {C:attention}not destroy Jokers", "{C:spectral}Ankh and Gateway {}will {C:attention}not destroy Jokers",
"{C:jane_RGB}#3#{}#4#{X:black,C:jane_RGB,s:1.5}#5#{C:spectral}#6#{C:chips}#7#{}#8#{C:mult}#9#", "{C:jane_RGB}#2#{}#3#{X:black,C:jane_RGB,s:1.5}#4#{C:spectral}#5#{C:chips}#6#{}#7#{C:mult}#8#",
"{C:inactive,s:1.25}#10#{C:attention,s:1.25}#11#{C:inactive,s:1.25}#12#{C:inactive}#13#{C:jane_RGB}#14#" .. "{C:inactive,s:1.25}#9#{C:attention,s:1.25}#10#{C:inactive,s:1.25}#11#{C:inactive}#12#",
(Cryptid and "{C:inactive}" or "{C:inactive,s:0.75}") .. } or {
"#15#", "{C:spectral}Ankh {}will {C:attention}not destroy Jokers",
"{C:jane_RGB}#2#{}#3#{C:dark_edition}#4#{}#5#",
"{C:inactive,s:1.25}#6#{C:attention,s:1.25}#7#{C:inactive,s:1.25}#8#{C:inactive}#9#",
}, },
}, },
config = {extra = {karma = 0, max_karma = Cryptid and 10 or 3}}, config = {extra = {karma = 0, max_karma = Cryptid and 10 or 3}},
@ -482,22 +461,29 @@ SMODS.Joker {
local attuned = karma >= max_karma local attuned = karma >= max_karma
return { return {
vars = { vars = Cryptid and {
attuned and " (Attuned)" or "", attuned and " (Attuned)" or "",
Cryptid and "Ankh and Gateway" or "Ankh",
attuned and "" or "Attune ", attuned and "" or "Attune ",
attuned and "" or "after using ", attuned and "" or "after using ",
attuned and (Cryptid and "^^" or "^") .. attunement() or max_karma, attuned and "^^" .. attune or max_karma,
attuned and "" or (Cryptid and " Gateways" or " Ankh or Soul Cards"), attuned and "" or " Gateways",
attuned and " Chips " or "", attuned and " Chips " or "",
attuned and "& " or "", attuned and "& " or "",
attuned and "Mult" or "", attuned and "Mult" or "",
attuned and "" or "[", attuned and "" or "[",
attuned and "" or karma, attuned and "" or karma,
attuned and "" or " / " .. max_karma .. "]", attuned and "" or " / " .. max_karma .. "]",
attuned and "(Cannot be debuffed" .. (Cryptid and "" or ", scales with ") or "", attuned and "(Cannot be debuffed)" or "",
attuned and (Cryptid and "" or "polygloss") or "", } or {
attuned and ")" or "", attuned and " (Attuned)" or "",
attuned and "" or "Attune ",
attuned and "Fires on cards with " or "after using ",
attuned and "editions" or max_karma,
attuned and "" or " Ankh or Soul Cards",
attuned and "" or "[",
attuned and "" or karma,
attuned and "" or " / " .. max_karma .. "]",
attuned and "(Cannot be debuffed)" or "",
}, },
} }
end, end,
@ -512,32 +498,36 @@ SMODS.Joker {
local max_karma = extra.max_karma local max_karma = extra.max_karma
extra.is_attuned = extra.karma >= max_karma extra.is_attuned = extra.karma >= max_karma
if extra.karma >= max_karma then if extra.is_attuned then
card.debuff = false
if card.ability then if card.ability then
card.ability.perishable = false card.ability.perishable = false
card.ability.perish_tally = 1e9 card.ability.perish_tally = 1e9
end end
card.debuff = false if ({[false] = context.cardarea ~= G.play, [true] = not context.joker_main})[not not Cryptid] then
if not context.joker_main then
return return
end end
local attune = attunement() local trigger = ({
e_holo = {mult_mod = 50},
if attune == 1 then e_foil = {chip_mod = 250},
return e_polychrome = {xmult_mod = 2.5},
end e_jane_polygloss = {
return {
card = card,
colour = G.C.jane_RGB, colour = G.C.jane_RGB,
sound = "talisman_eeechip", sound = "talisman_eeechip",
message = (Cryptid and "^^" or "^") .. attune .. " Chips & Mult",
[Cryptid and "EEchip_mod" or "Echip_mod"] = attune, [Cryptid and "EEchip_mod" or "Echip_mod"] = attune,
[Cryptid and "EEmult_mod" or "Emult_mod"] = attune, [Cryptid and "EEmult_mod" or "Emult_mod"] = attune,
}, true message = (Cryptid and "^^" or "^") .. attune .. " Chips & Mult",
},
})[Cryptid and "e_jane_polygloss" or ((context.other_card or {}).edition or {}).key]
if trigger then
trigger.card = card
end
return trigger
end end
if not (not context.blueprint and if not (not context.blueprint and