Add another new joker
This commit is contained in:
parent
02906c9500
commit
da8a22fa82
4 changed files with 92 additions and 9 deletions
BIN
assets/1x/default/j_jane_honey.png
Normal file
BIN
assets/1x/default/j_jane_honey.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
BIN
assets/2x/default/j_jane_honey.png
Normal file
BIN
assets/2x/default/j_jane_honey.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
|
|
@ -1,4 +1,4 @@
|
|||
for _, v in pairs({"7granddad", "betmma", "oxy", "maxie", "peppino"}) do
|
||||
for _, v in pairs({"7granddad", "betmma", "honey", "oxy", "maxie", "peppino"}) do
|
||||
SMODS.Atlas {
|
||||
px = 71,
|
||||
py = 95,
|
||||
|
|
@ -110,12 +110,12 @@ local maxie_quotes = {
|
|||
"Need a paw?",
|
||||
"Together as a team!",
|
||||
"Mmm... Milk sounds good right about now.",
|
||||
"Unlike most other bunnies; I don\'t like carrots.",
|
||||
"Unlike most other bunnies; I don't like carrots.",
|
||||
"Mmm... Mac and Cheese...",
|
||||
"I am just sitting here.",
|
||||
},
|
||||
scared = {
|
||||
"A-ah! S-stop it, please!! You\'re scaring me...!",
|
||||
"A-ah! S-stop it, please!! You're scaring me...!",
|
||||
"E-eek! B-be careful!!",
|
||||
},
|
||||
}
|
||||
|
|
@ -125,7 +125,10 @@ SMODS.Joker {
|
|||
atlas = "janemaxie",
|
||||
loc_txt = {
|
||||
name = "Maxie",
|
||||
text = {"{C:attention}+#1# {}booster pack slot#2#"}
|
||||
text = {
|
||||
"{C:attention}+#1# {}booster pack slot#2#",
|
||||
"{C:inactive,s:0.75,E:1}#3#{C:red,s:1.5,E:1}#4#",
|
||||
}
|
||||
},
|
||||
config = {extra = {choices = Cryptid and 2 or 1}},
|
||||
pos = {x = 0, y = 0},
|
||||
|
|
@ -134,7 +137,12 @@ SMODS.Joker {
|
|||
cost = 10,
|
||||
rarity = 2,
|
||||
loc_vars = function(_, _, card)
|
||||
return {vars = {card.ability.extra.choices, card.ability.extra.choices == 1 and "" or "s"}}
|
||||
return {vars = {
|
||||
card.ability.extra.choices,
|
||||
card.ability.extra.choices == 1 and "" or "s",
|
||||
Jane.sinister and "" or pseudorandom_element(maxie_quotes.normal, pseudoseed("MaxieQuotes")),
|
||||
Jane.sinister and pseudorandom_element(maxie_quotes.scared, pseudoseed("MaxieQuotes")) or "",
|
||||
}}
|
||||
end,
|
||||
calculate = function(_, card, context)
|
||||
if context.starting_shop then
|
||||
|
|
@ -145,6 +153,69 @@ SMODS.Joker {
|
|||
end
|
||||
}
|
||||
|
||||
SMODS.Joker {
|
||||
key = "honey",
|
||||
atlas = "janehoney",
|
||||
loc_txt = {
|
||||
name = "Honey{C:dark_edition}#1#",
|
||||
text = {
|
||||
"{C:attention}Common#2#{}#3#",
|
||||
"#4#cannot appear",
|
||||
"#5#{C:attention}#6#",
|
||||
"{C:dark_edition}#7#{}#8#{C:inactive,s:0.75,E:1}#9#",
|
||||
"{C:inactive,s:0.75,E:1}#10#{C:red,s:1.5,E:1}#11#",
|
||||
}
|
||||
},
|
||||
config = {extra = {is_corrupted = false}},
|
||||
pos = {x = 0, y = 0},
|
||||
sinis = {x = 2, y = 0},
|
||||
soul_pos = {x = 1, y = 0},
|
||||
cost = 8,
|
||||
rarity = 3,
|
||||
update = function(_, card, _)
|
||||
if card.added_to_deck and card.children.center and card.children.floating_sprite then
|
||||
local extra = card.ability.extra or {}
|
||||
local y = extra.is_corrupted and 1 or 0
|
||||
card.children.center:set_sprite_pos({x = 0, y = y})
|
||||
card.children.floating_sprite:set_sprite_pos({x = Jane.sinister and 2 or 1, y = y})
|
||||
end
|
||||
end,
|
||||
loc_vars = function(_, _, card)
|
||||
local is_corrupted = card.ability.extra.is_corrupted
|
||||
|
||||
return {vars = {
|
||||
is_corrupted and " (Corrupted)" or "",
|
||||
is_corrupted and " and Uncommon" or "",
|
||||
is_corrupted and "" or " jokers",
|
||||
is_corrupted and "jokers " or "",
|
||||
is_corrupted and "" or "Getting another ",
|
||||
is_corrupted and "" or "Honey",
|
||||
is_corrupted and "" or "corrupts ",
|
||||
is_corrupted and "" or "this Joker",
|
||||
Jane.sinister and "" or (is_corrupted and "*Her eyes are looking around," or ""),
|
||||
Jane.sinister and "" or (is_corrupted and "as if she wants to say something...*" or "Buzzzzz! I'll do my best!"),
|
||||
Jane.sinister and (is_corrupted and "..." or "S-STOP THAT!! YOU'RE FREAKING ME OOOUT!!!") or "",
|
||||
}}
|
||||
end,
|
||||
}
|
||||
|
||||
if Cryptid then
|
||||
Cryptid.aliases["honey"] = "j_jane_honey"
|
||||
end
|
||||
|
||||
local orig_rarity = SMODS.poll_rarity
|
||||
|
||||
function SMODS.poll_rarity(_pool_key, _rand_key)
|
||||
local is_corrupted
|
||||
|
||||
for _, v in pairs(SMODS.find_card("j_jane_honey")) do
|
||||
is_corrupted = is_corrupted or v.ability.extra.is_corrupted
|
||||
end
|
||||
|
||||
local rarity = orig_rarity(_pool_key, _rand_key)
|
||||
return (is_corrupted and (rarity == 1 or rarity == 2)) and 3 or ((is_corrupted ~= nil and rarity == 1) and 1 or rarity)
|
||||
end
|
||||
|
||||
local oxy_quotes = {
|
||||
normal = {
|
||||
"YOU WILL LOSE",
|
||||
|
|
@ -173,7 +244,7 @@ SMODS.Joker {
|
|||
"{C:inactive,s:0.75,E:1}#11#{C:red,s:1.5,E:1}#12#",
|
||||
}
|
||||
},
|
||||
config = {extra = {corrupted_steel = 2.25, is_corrupted = false, milestone = 5, progress = 0, steel = 1.5}},
|
||||
config = {extra = {corrupted_steel = 2.5, is_corrupted = false, milestone = 3, progress = 0, steel = 1.5}},
|
||||
pos = {x = 0, y = 0},
|
||||
sinis = {x = 2, y = 0},
|
||||
soul_pos = {x = 1, y = 0},
|
||||
|
|
@ -197,7 +268,7 @@ SMODS.Joker {
|
|||
is_corrupted and "" or "Destroying ",
|
||||
effective .. (is_corrupted and " round" or " steel card") .. plural,
|
||||
is_corrupted and "" or "corrupts ",
|
||||
is_corrupted and "Destroying steel cards" or "this joker",
|
||||
is_corrupted and "Destroying steel cards" or "this Joker",
|
||||
is_corrupted and "prolongs the " or "",
|
||||
is_corrupted and "corruption" or "",
|
||||
Jane.sinister and "" or (is_corrupted and pseudorandom_element(oxy_quotes.normal, pseudoseed("OxyQuotes")) or "We all cut close..."),
|
||||
|
|
@ -207,8 +278,9 @@ SMODS.Joker {
|
|||
update = function(_, card, _)
|
||||
if card.added_to_deck and card.children.center and card.children.floating_sprite then
|
||||
local extra = card.ability.extra or {}
|
||||
card.children.center:set_sprite_pos({x = 0, y = extra.is_corrupted and 1 or 0})
|
||||
card.children.floating_sprite:set_sprite_pos({x = Jane.sinister and 2 or 1, y = extra.is_corrupted and 1 or 0})
|
||||
local y = extra.is_corrupted and 1 or 0
|
||||
card.children.center:set_sprite_pos({x = 0, y = y})
|
||||
card.children.floating_sprite:set_sprite_pos({x = Jane.sinister and 2 or 1, y = y})
|
||||
end
|
||||
end,
|
||||
calculate = function(_, card, context)
|
||||
|
|
|
|||
11
src/main.lua
11
src/main.lua
|
|
@ -322,6 +322,17 @@ function Game:update(dt)
|
|||
G.P_BLINDS["bl_jane_wee"].mult = 22 / blind
|
||||
G.P_BLINDS["bl_jane_descending"].mult = math.floor(8 * math.sqrt(blind)) / blind
|
||||
|
||||
local honey = SMODS.find_card("j_jane_honey")
|
||||
|
||||
for _, v in ipairs(honey) do
|
||||
if not v.ability.extra.is_corrupted and v ~= honey[#honey] then
|
||||
v.sell_cost = v.sell_cost + honey[#honey].sell_cost
|
||||
v.ability.extra.is_corrupted = true
|
||||
honey[#honey]:start_dissolve()
|
||||
honey[#honey] = nil
|
||||
end
|
||||
end
|
||||
|
||||
if not Jane.bans_done then
|
||||
delete_hardbans()
|
||||
Jane.bans_done = true
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue