Reorder jokers

This commit is contained in:
Emik 2025-03-26 13:32:20 +01:00
parent 5da0350f0a
commit e72d2777d9
Signed by untrusted user who does not match committer: emik
GPG key ID: 09CDFF9E5703688D
2 changed files with 123 additions and 123 deletions

View file

@ -8,7 +8,7 @@ for _, v in pairs({"7granddad", "betmma", "oxy", "peppino"}) do
end end
for i = 1, 6 do for i = 1, 6 do
SMODS.Sound({key = 'grand' .. i, path = 'grand_dad' .. i .. '.ogg'}) SMODS.Sound({key = "grand" .. i, path = "grand_dad" .. i .. ".ogg"})
end end
local exotic = Cryptid and "cry_exotic" or 4 local exotic = Cryptid and "cry_exotic" or 4

View file

@ -33,98 +33,6 @@ SMODS.Rarity {
badge_colour = G.C.JOKER_GREY, badge_colour = G.C.JOKER_GREY,
} }
local orig_open = Card.open
---@diagnostic disable-next-line: duplicate-set-field
function Card:open()
local orig = self.ability.extra or 1
local spearmasters = SMODS.find_card("j_jane_spearmaster")
if next(spearmasters) then
for _, v in pairs(spearmasters) do
orig = orig + v.ability.extra.extrachoices
end
self.config.choose = math.floor(orig)
self.ability.extra = math.floor(orig)
end
orig_open(self)
G.E_MANAGER:add_event(Event({
delay = 0.5,
timer = "REAL",
func = function()
if next(spearmasters) then
G.GAME.pack_choices = math.floor(self.ability.extra)
end
return true
end
}))
end
SMODS.Joker {
key = "survivor",
atlas = "janesurvivor",
loc_txt = {
name = "The Survivor",
text = {
"All cards held in hand",
"{C:attention}contribute to scoring {}and",
"are all considered as",
"the {C:attention}first played card",
}
},
pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0},
cost = 20,
rarity = 4,
}
SMODS.Joker {
key = "gourmand",
atlas = "janegourmand",
loc_txt = {
name = "The Gourmand",
text = {
"Values on {C:attention}consumables",
"are {C:attention}multiplied{} by {C:attention}#1#",
"when they are created",
"{C:inactive}(If possible)",
}
},
loc_vars = function(_, _, center)
return {vars = {center.ability.modifier}}
end,
config = {modifier = 2},
pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0},
cost = 50,
rarity = 3,
}
SMODS.Joker {
key = "spearmaster",
atlas = "janespearmaster",
loc_txt = {
name = "The Spearmaster",
text = {
"You can choose {C:attention}any number of cards",
"after opening {C:attention}any Booster Pack",
"{C:attention}Booster Packs{} have {C:green}+#1#{} additional cards",
}
},
loc_vars = function(_, _, center)
return {vars = {center.ability.extra.extrachoices}}
end,
config = {extra = {extrachoices = 1}},
pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0},
cost = 12,
rarity = Cryptid and epic or 4,
}
SMODS.Joker { SMODS.Joker {
key = "monk", key = "monk",
atlas = "janemonk", atlas = "janemonk",
@ -158,6 +66,24 @@ SMODS.Joker {
end end
} }
SMODS.Joker {
key = "survivor",
atlas = "janesurvivor",
loc_txt = {
name = "The Survivor",
text = {
"All cards held in hand",
"{C:attention}contribute to scoring {}and",
"are all considered as",
"the {C:attention}first played card",
}
},
pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0},
cost = 20,
rarity = 4,
}
local hunter = { 7, 5, 3, 2, 1 } local hunter = { 7, 5, 3, 2, 1 }
SMODS.Joker { SMODS.Joker {
@ -315,6 +241,28 @@ SMODS.Joker {
end end
} }
SMODS.Joker {
key = "gourmand",
atlas = "janegourmand",
loc_txt = {
name = "The Gourmand",
text = {
"Values on {C:attention}consumables",
"are {C:attention}multiplied{} by {C:attention}#1#",
"when they are created",
"{C:inactive}(If possible)",
}
},
loc_vars = function(_, _, center)
return {vars = {center.ability.modifier}}
end,
config = {modifier = 2},
pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0},
cost = 50,
rarity = 3,
}
local orig_set_ability = Card.set_ability local orig_set_ability = Card.set_ability
---@diagnostic disable-next-line: duplicate-set-field ---@diagnostic disable-next-line: duplicate-set-field
@ -335,6 +283,88 @@ function Card:set_ability(center, initial, delay_sprites)
end end
end end
SMODS.Joker {
key = "artificer",
atlas = "janeartificer",
loc_txt = {
name = "The Artificer",
text = {
"Grants the {C:green}ability{} to {C:red}destroy",
"selected {C:attention}playing cards",
}
},
misc = {
text = {"Impervious", "Cannot be debuffed"},
col = G.C.JOKER_GREY,
tcol = G.C.FILTER
},
pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0},
cost = 50,
rarity = exotic,
Bakery_use_button_text = function(_, _) return "DESTROY" end,
Bakery_can_use = function(_, _)
return Jane.canuse() and next(G.hand.highlighted)
end,
Bakery_use_joker = function(_, _)
for _, v in pairs(G.hand.highlighted) do
v:start_dissolve()
end
end,
}
SMODS.Joker {
key = "spearmaster",
atlas = "janespearmaster",
loc_txt = {
name = "The Spearmaster",
text = {
"You can choose {C:attention}any number of cards",
"after opening {C:attention}any Booster Pack",
"{C:attention}Booster Packs{} have {C:green}+#1#{} additional cards",
}
},
loc_vars = function(_, _, center)
return {vars = {center.ability.extra.extrachoices}}
end,
config = {extra = {extrachoices = 1}},
pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0},
cost = 12,
rarity = Cryptid and epic or 4,
}
local orig_open = Card.open
---@diagnostic disable-next-line: duplicate-set-field
function Card:open()
local orig = self.ability.extra or 1
local spearmasters = SMODS.find_card("j_jane_spearmaster")
if next(spearmasters) then
for _, v in pairs(spearmasters) do
orig = orig + v.ability.extra.extrachoices
end
self.config.choose = math.floor(orig)
self.ability.extra = math.floor(orig)
end
orig_open(self)
G.E_MANAGER:add_event(Event({
delay = 0.5,
timer = "REAL",
func = function()
if next(spearmasters) then
G.GAME.pack_choices = math.floor(self.ability.extra)
end
return true
end
}))
end
SMODS.Joker { SMODS.Joker {
key = "rivulet", key = "rivulet",
atlas = "janerivulet", atlas = "janerivulet",
@ -534,36 +564,6 @@ SMODS.Joker {
end end
} }
SMODS.Joker {
key = "artificer",
atlas = "janeartificer",
loc_txt = {
name = "The Artificer",
text = {
"Grants the {C:green}ability{} to {C:red}destroy",
"selected {C:attention}playing cards",
}
},
misc = {
text = {"Impervious", "Cannot be debuffed"},
col = G.C.JOKER_GREY,
tcol = G.C.FILTER
},
pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0},
cost = 50,
rarity = exotic,
Bakery_use_button_text = function(_, _) return "DESTROY" end,
Bakery_can_use = function(_, _)
return Jane.canuse() and next(G.hand.highlighted)
end,
Bakery_use_joker = function(_, _)
for _, v in pairs(G.hand.highlighted) do
v:start_dissolve()
end
end,
}
SMODS.Joker { SMODS.Joker {
key = "rot", key = "rot",
atlas = "janerot", atlas = "janerot",