Completely Rework Saint, Buff Moire, Fix Artificer
This commit is contained in:
parent
f76e4fe160
commit
b23ab743e3
3 changed files with 52 additions and 102 deletions
|
|
@ -18,5 +18,5 @@
|
||||||
"conflicts": [
|
"conflicts": [
|
||||||
"Jen"
|
"Jen"
|
||||||
],
|
],
|
||||||
"version": "1.8.9"
|
"version": "1.9.0"
|
||||||
}
|
}
|
||||||
|
|
@ -184,14 +184,13 @@ SMODS.Edition({
|
||||||
},
|
},
|
||||||
config = {e_chips = Jane.cry and 0.8 or 0.9, e_mult = Jane.cry and 1.2 or 1.1},
|
config = {e_chips = Jane.cry and 0.8 or 0.9, e_mult = Jane.cry and 1.2 or 1.1},
|
||||||
sound = {sound = "jane_e_moire", per = 1, vol = 0.7},
|
sound = {sound = "jane_e_moire", per = 1, vol = 0.7},
|
||||||
weight = 2,
|
weight = 1,
|
||||||
extra_cost = 10,
|
extra_cost = 10,
|
||||||
in_shop = true,
|
in_shop = true,
|
||||||
shader = "moire",
|
shader = "moire",
|
||||||
in_pool = allow_moire,
|
|
||||||
apply_to_float = false,
|
apply_to_float = false,
|
||||||
get_weight = function(self)
|
get_weight = function(self)
|
||||||
return G.GAME.edition_rate * self.weight * (allow_moire() and 1 or 0)
|
return G.GAME.edition_rate * self.weight * (allow_moire() and 20 or 2)
|
||||||
end,
|
end,
|
||||||
loc_vars = function(self, _, _)
|
loc_vars = function(self, _, _)
|
||||||
return {vars = {self.config.e_chips, self.config.e_mult}}
|
return {vars = {self.config.e_chips, self.config.e_mult}}
|
||||||
|
|
|
||||||
137
src/slugcat.lua
137
src/slugcat.lua
|
|
@ -383,6 +383,7 @@ SMODS.Joker {
|
||||||
pos = {x = 0, y = 0},
|
pos = {x = 0, y = 0},
|
||||||
soul_pos = {x = 1, y = 0},
|
soul_pos = {x = 1, y = 0},
|
||||||
config = {extra = {uses = 2}},
|
config = {extra = {uses = 2}},
|
||||||
|
eternal_compat = false,
|
||||||
blueprint_compat = false,
|
blueprint_compat = false,
|
||||||
cost = Jane.cry and 50 or 7,
|
cost = Jane.cry and 50 or 7,
|
||||||
rarity = Jane.cry and exotic or 3,
|
rarity = Jane.cry and exotic or 3,
|
||||||
|
|
@ -575,25 +576,18 @@ function Card:set_debuff(should_debuff)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function attunement()
|
|
||||||
return (G.GAME or {}).weeckweeck and 2 or (Jane.cry and 1.002 or 1.25)
|
|
||||||
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 = {"{}", "#1#{C:jane_RGB,s:0.8}#2#", "{C:jane_RGB,s:1.6}#3#"},
|
||||||
text = Jane.cry and {
|
text = {
|
||||||
"{C:attention}Use {}to toggle {X:legendary,C:white}Eternal{} stickers to the left",
|
"{C:attention}Use {}to toggle itself or",
|
||||||
"{C:spectral}Analog{}, {C:spectral}Ankh{}, {C:spectral}Gateway{}, and",
|
"other Jokers to its",
|
||||||
"{C:spectral,s:0.95}Summoning {s:0.95}will {C:attention,s:0.95}not destroy Jokers",
|
"left's {X:legendary,C:white}Eternal{} sticker",
|
||||||
"{C:jane_RGB}#2#{}#3#{X:black,C:jane_RGB,s:1.5}#4#{C:spectral}#5#{C:mult}#6#",
|
"{C:attention}#4#{}#5#{X:black,C:jane_RGB}#6#{C:spectral}#7#",
|
||||||
"{C:inactive,s:1.25}#7#{C:attention,s:1.25}#8#{C:inactive,s:1.25}#9#{C:inactive}#10#",
|
"{C:inactive}#8#{C:attention}#9#{C:inactive}#10#",
|
||||||
} or {
|
Jane.cry and "{C:inactive}(Gateway has no downside)" or nil,
|
||||||
"{C:attention}Use {}to toggle {X:legendary,C:white}Eternal{} stickers to the left",
|
|
||||||
"{C:jane_RGB}#2#{}#3#{C:dark_edition}#4#{C:spectral}#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 = Jane.cry and 10 or 2}},
|
config = {extra = {karma = 0, max_karma = Jane.cry and 10 or 2}},
|
||||||
|
|
@ -603,16 +597,7 @@ SMODS.Joker {
|
||||||
rarity = 4,
|
rarity = 4,
|
||||||
blueprint_compat = true,
|
blueprint_compat = true,
|
||||||
loc_vars = function(_, info_queue, card)
|
loc_vars = function(_, info_queue, card)
|
||||||
if Jane.cry then
|
info_queue[#info_queue + 1] = Jane.cry and G.P_CENTERS.c_cry_gateway or G.P_CENTERS.c_ankh
|
||||||
info_queue[#info_queue + 1] = G.P_CENTERS.c_cry_analog
|
|
||||||
end
|
|
||||||
|
|
||||||
info_queue[#info_queue + 1] = Jane.cry and G.P_CENTERS.c_ankh or nil
|
|
||||||
info_queue[#info_queue + 1] = Jane.cry and G.P_CENTERS.c_cry_gateway or G.P_CENTERS.c_soul
|
|
||||||
|
|
||||||
if Jane.cry then
|
|
||||||
info_queue[#info_queue + 1] = G.P_CENTERS.c_cry_summoning
|
|
||||||
end
|
|
||||||
|
|
||||||
local extra = card.ability.extra
|
local extra = card.ability.extra
|
||||||
local karma = extra.karma
|
local karma = extra.karma
|
||||||
|
|
@ -620,35 +605,25 @@ SMODS.Joker {
|
||||||
local attuned = karma >= max_karma
|
local attuned = karma >= max_karma
|
||||||
|
|
||||||
return {
|
return {
|
||||||
vars = Jane.cry and {
|
vars = {
|
||||||
attuned and " (Attuned)" or "",
|
attuned and "" or "The Saint",
|
||||||
|
attuned and "The" or "",
|
||||||
|
attuned and "Attuned" or "",
|
||||||
attuned and "" or "Attune ",
|
attuned and "" or "Attune ",
|
||||||
attuned and "" or "after using ",
|
attuned and "alongside its " or "after ",
|
||||||
attuned and "^^" .. attunement() or max_karma,
|
attuned and "Edition" or max_karma,
|
||||||
attuned and "" or " Gateways",
|
attuned and "" or (Jane.cry and " Gateways" or " Ankhs"),
|
||||||
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 "(Cannot be debuffed)" or " / " .. max_karma .. "]",
|
||||||
attuned and "(Cannot be debuffed)" or "",
|
|
||||||
} or {
|
|
||||||
attuned and " (Attuned)" or "",
|
|
||||||
attuned and "" or "Attune ",
|
|
||||||
attuned and "Boosts 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,
|
||||||
update = function(_, card, _)
|
update = function(_, card, _)
|
||||||
card.debuff_immune = card.ability.extra.is_attuned
|
|
||||||
|
|
||||||
if card.added_to_deck and card.children.center and card.children.floating_sprite then
|
|
||||||
local extra = card.ability.extra
|
local extra = card.ability.extra
|
||||||
|
card.debuff_immune = extra.is_attuned
|
||||||
|
|
||||||
|
if card.children.floating_sprite then
|
||||||
card.children.floating_sprite:set_sprite_pos({x = extra.is_attuned and 2 or 1, y = 0})
|
card.children.floating_sprite:set_sprite_pos({x = extra.is_attuned and 2 or 1, y = 0})
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
@ -698,41 +673,6 @@ SMODS.Joker {
|
||||||
card.ability.perishable = false
|
card.ability.perishable = false
|
||||||
card.ability.perish_tally = 1e9
|
card.ability.perish_tally = 1e9
|
||||||
end
|
end
|
||||||
|
|
||||||
if Jane.cry and not context.joker_main then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
if not Jane.cry and not context.other_joker and (not context.individual or context.cardarea ~= G.play) then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local attune = attunement()
|
|
||||||
|
|
||||||
local trigger = ({
|
|
||||||
e_holo = {mult = 50},
|
|
||||||
e_foil = {chips = 250},
|
|
||||||
e_polychrome = {x_mult = 2.5},
|
|
||||||
e_jane_polygloss = {
|
|
||||||
mult = 10,
|
|
||||||
x_mult = 2,
|
|
||||||
chips = 100,
|
|
||||||
p_dollars = 10,
|
|
||||||
},
|
|
||||||
e_jane_moire = {
|
|
||||||
colour = G.C.jane_RGB,
|
|
||||||
sound = "talisman_eeechip",
|
|
||||||
EEchip_mod = Jane.cry and attune or nil,
|
|
||||||
[Jane.cry and "EEmult_mod" or "Emult_mod"] = attune,
|
|
||||||
message = (Jane.cry and "^^" or "^") .. attune .. (Jane.cry and " Chips & Mult" or ""),
|
|
||||||
},
|
|
||||||
})[Jane.cry and "e_jane_moire" or ((context.other_card or context.other_joker or {}).edition or {}).key]
|
|
||||||
|
|
||||||
if trigger then
|
|
||||||
trigger.card = card
|
|
||||||
end
|
|
||||||
|
|
||||||
return trigger
|
|
||||||
elseif extra.karma >= max_karma then
|
elseif extra.karma >= max_karma then
|
||||||
ascend()
|
ascend()
|
||||||
end
|
end
|
||||||
|
|
@ -746,7 +686,7 @@ SMODS.Joker {
|
||||||
|
|
||||||
local key = context.consumeable:gc().key
|
local key = context.consumeable:gc().key
|
||||||
|
|
||||||
if Jane.cry and key ~= "c_cry_gateway" or not Jane.cry and (key ~= "c_ankh" and key ~= "c_soul") then
|
if Jane.cry and key ~= "c_cry_gateway" or not Jane.cry and key ~= "c_ankh" then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -777,25 +717,36 @@ SMODS.Joker {
|
||||||
|
|
||||||
ascend()
|
ascend()
|
||||||
end,
|
end,
|
||||||
Bakery_can_use = function(_, card)
|
Bakery_can_use = Jane.can_use,
|
||||||
return not card.debuff and Jane.can_use()
|
Bakery_use_joker = function(_, card)
|
||||||
end,
|
for joker_index = 1, math.max(card.rank - 1, 1) do
|
||||||
Bakery_use_joker = function(self, card)
|
local joker = G.jokers.cards[joker_index]
|
||||||
if not self:Bakery_can_use(card) then
|
|
||||||
return
|
if card.ability.extra.is_attuned and joker.Roland_frozen then
|
||||||
|
goto edition_only
|
||||||
end
|
end
|
||||||
|
|
||||||
for k, v in ipairs(G.jokers.cards) do
|
|
||||||
if card == v then
|
|
||||||
for i = 1, math.max(k - 1, 1) do
|
|
||||||
local joker = G.jokers.cards[i]
|
|
||||||
joker:set_eternal(not joker.ability.eternal)
|
joker:set_eternal(not joker.ability.eternal)
|
||||||
|
|
||||||
|
if not card.ability.extra.is_attuned or joker.ability.eternal then
|
||||||
joker:juice_up()
|
joker:juice_up()
|
||||||
|
goto no_edition
|
||||||
end
|
end
|
||||||
|
|
||||||
return
|
::edition_only::
|
||||||
|
local edition = 1
|
||||||
|
|
||||||
|
for ii, vv in ipairs(joker.edition and G.P_CENTER_POOLS.Edition or {}) do
|
||||||
|
if vv.key == joker.edition.key then
|
||||||
|
edition = ii
|
||||||
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local next = edition < #G.P_CENTER_POOLS.Edition and edition + 1 or 1
|
||||||
|
joker:set_edition(G.P_CENTER_POOLS.Edition[next].key)
|
||||||
|
::no_edition::
|
||||||
|
end
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue