Buff Polygloss, remove Peppino, rework 7 GRAND DAD

This commit is contained in:
Emik 2026-07-26 22:24:05 +02:00
parent b84e7bb366
commit 1113b8b7a3
Signed by: emik
GPG key ID: 6B0CD72A5E503BDF
6 changed files with 58 additions and 146 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -18,5 +18,5 @@
"conflicts": [ "conflicts": [
"Jen" "Jen"
], ],
"version": "1.11.12" "version": "1.11.13"
} }

View file

@ -15,7 +15,7 @@ SMODS.Edition({
label = "Polygloss", label = "Polygloss",
text = Jane.cry and { text = Jane.cry and {
"{C:chips}+#1#{} Chips", "{C:chips}+#1#{} Chips",
"{C:mult}+#2#{}, {X:mult,C:white}X#3#{}, & {X:mult,C:dark_edition}^#4#{} Mult", "{C:mult}+#2#{}, {X:mult,C:white}X#3#{}, & {X:dark_edition,C:white}^#4#{} Mult",
"{C:money}$#5# {}when scored", "{C:money}$#5# {}when scored",
} or { } or {
"{C:chips}+#1#{} Chips", "{C:chips}+#1#{} Chips",
@ -25,7 +25,7 @@ SMODS.Edition({
}, },
config = { config = {
mult = 2, mult = 2,
chips = 12, chips = 22,
x_mult = 1.2, x_mult = 1.2,
p_dollars = 1, p_dollars = 1,
e_mult = Jane.cry and 1.02 or nil, e_mult = Jane.cry and 1.02 or nil,
@ -200,8 +200,8 @@ SMODS.Edition({
name = "Moire", name = "Moire",
label = "Moire", label = "Moire",
text = { text = {
"{X:chips,C:dark_edition}^#1#{C:chips} Chips", "{X:dark_edition,C:white}^#1#{} Chips",
"{X:mult,C:dark_edition}^#2#{C:mult} Mult", "{X:dark_edition,C:white}^#2#{} Mult",
}, },
}, },
config = {e_chips = 0.8, e_mult = 1.2}, config = {e_chips = 0.8, e_mult = 1.2},

View file

@ -1,4 +1,4 @@
for _, v in pairs({"7granddad", "betmma", "escapey", "honey", "oxy", "maxie", Jane.cry and "peppino" or nil}) do for _, v in pairs({"7granddad", "betmma", "escapey", "honey", "oxy", "maxie"}) do
SMODS.Atlas { SMODS.Atlas {
px = 71, px = 71,
py = 95, py = 95,
@ -15,63 +15,12 @@ SMODS.Sound({key = "corrupt_milestone", path = "corrupt_milestone.ogg"})
SMODS.Sound({key = "corrupt_untick", path = "corrupt_untick.ogg"}) SMODS.Sound({key = "corrupt_untick", path = "corrupt_untick.ogg"})
SMODS.Sound({key = "corrupt_tick", path = "corrupt_tick.ogg"}) SMODS.Sound({key = "corrupt_tick", path = "corrupt_tick.ogg"})
local exotic = Jane.cry and "cry_exotic" or 4 local granddad_palette = {HEX("155fd9"), HEX("ff8170"), HEX("ffffff"), HEX("6c0700")}
local food = {
"j_gros_michel",
"j_egg",
"j_ice_cream",
"j_cavendish",
"j_turtle_bean",
"j_diet_cola",
"j_popcorn",
"j_ramen",
"j_selzer",
"j_cry_pickle",
"j_cry_chili_pepper",
"j_cry_oldcandy",
"j_cry_caramel",
"j_cry_foodm",
"j_cry_cotton_candy",
"j_cry_wrapped",
"j_cry_candy_cane",
"j_cry_candy_buttons",
"j_cry_jawbreaker",
"j_cry_mellowcreme",
"j_cry_brittle",
}
local granddad_palette = {
HEX("155fd9"),
HEX("ff8170"),
HEX("ffffff"),
HEX("6c0700"),
}
local function destructible(card) local function destructible(card)
return card.ability.consumeable and not card.highlighted and not (card.ability or {}).eternal return card.ability.consumeable and not card.highlighted and not (card.ability or {}).eternal
end end
local function food_jokers_count()
if not G.jokers or not next(G.jokers.cards) then
return 0
end
local amount = 0
if G.jokers.cards[1] and G.jokers.cards[1].has_attribute then
for _, v in pairs(G.jokers.cards) do
amount = amount + (v:has_attribute "food" and 1 or 0)
end
else
for _, v in pairs(food) do
amount = amount + #SMODS.find_card(v)
end
end
return amount
end
local function grand_dad(card) local function grand_dad(card)
if ((Talisman or {}).config_file or {}).disable_anims then if ((Talisman or {}).config_file or {}).disable_anims then
return return
@ -535,7 +484,7 @@ SMODS.Joker {
name = "Oxy{C:dark_edition}#1#", name = "Oxy{C:dark_edition}#1#",
text = { text = {
"{C:attention}Scored steel {}cards", "{C:attention}Scored steel {}cards",
"give {X:mult,C:white}X#2#{} {C:mult}Mult", "give {X:mult,C:white}X#2#{} {}Mult",
"{C:dark_edition,E:1}#3#{}#4#{C:red}#5#{C:attention}#6#", "{C:dark_edition,E:1}#3#{}#4#{C:red}#5#{C:attention}#6#",
"{C:dark_edition,E:1}#7#{}#8#", "{C:dark_edition,E:1}#7#{}#8#",
"#9#{C:dark_edition,E:1}#10#", "#9#{C:dark_edition,E:1}#10#",
@ -646,7 +595,7 @@ if Cryptid and Cryptid.aliases then
end end
local operator = Jane.cry and "^" or "X" local operator = Jane.cry and "^" or "X"
local operator_prefix = Jane.cry and "{X:dark_edition,C:mult}" or "{X:mult,C:white}" local operator_prefix = Jane.cry and "{X:dark_edition,C:white}" or "{X:mult,C:white}"
SMODS.Joker { SMODS.Joker {
key = "betmma", key = "betmma",
@ -654,7 +603,7 @@ SMODS.Joker {
loc_txt = { loc_txt = {
name = "Betmma", name = "Betmma",
text = { text = {
operator_prefix .. "+" .. operator .. "#1#{C:mult} Mult{} for every", operator_prefix .. "+" .. operator .. "#1#{} Mult for every",
"{C:attention}" .. (Jane.cry and "Unique " or "") .. "Voucher{} redeemed", "{C:attention}" .. (Jane.cry and "Unique " or "") .. "Voucher{} redeemed",
"{C:inactive}(Currently " .. operator_prefix .. operator .. "#2#{C:inactive})", "{C:inactive}(Currently " .. operator_prefix .. operator .. "#2#{C:inactive})",
}, },
@ -681,17 +630,12 @@ SMODS.Joker {
return { return {
card = card, card = card,
colour = Jane.cry and G.C.jane_RGB or nil, colour = Jane.cry and G.C.jane_RGB or nil,
message = Jane.cry and (operator .. number_format(num)) or nil, [Jane.cry and "emult" or "xmult"] = num,
[Jane.cry and "e_mult" or "x_mult"] = num,
}, true }, true
end end
end, end,
} }
if not Jane.cry then
return
end
SMODS.Joker { SMODS.Joker {
key = "7granddad", key = "7granddad",
loc_txt = { loc_txt = {
@ -701,16 +645,13 @@ SMODS.Joker {
"{C:jane_RGB,E:1}reaction {}to scored {C:attention}7{}s", "{C:jane_RGB,E:1}reaction {}to scored {C:attention}7{}s",
}, },
}, },
config = {}, config = {extra = {}},
pos = {x = 0, y = 0}, pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0}, soul_pos = {x = 1, y = 0},
atlas = "jane7granddad", atlas = "jane7granddad",
blueprint_compat = true, blueprint_compat = true,
cost = Jane.cry and 49 or 7, cost = 7,
rarity = Jane.cry and exotic or 3, rarity = 3,
loc_vars = function(_, _, center)
return {vars = {center.ability.shopslots}}
end,
add_to_deck = function(_, card, _) add_to_deck = function(_, card, _)
grand_dad(card) grand_dad(card)
end, end,
@ -718,81 +659,52 @@ SMODS.Joker {
grand_dad(card) grand_dad(card)
end, end,
calculate = function(_, card, context) calculate = function(_, card, context)
if context.cardarea == G.play then if context.cardarea ~= G.play or
local function scj(c) not context.individual or
return c.cardarea and c.cardarea == G.play and not c.before and not c.after and not c.repetition not context.other_card or
end context.other_card:get_id() ~= 7 then
return
if context.other_card and context.other_card:get_id() == 7 and scj(context) then
grand_dad(card)
local palette = granddad_palette[math.random(#granddad_palette)]
local rnd = pseudorandom(pseudoseed("granddad"), 1, Jane.cry and 5 or 4)
if rnd == 1 then
return {
message = Jane.cry and "+777" or "+77",
chips = Jane.cry and 777 or 77,
colour = palette,
card = card,
}, true
elseif rnd == 2 then
return {
message = Jane.cry and "+777 Mult" or "+77 Mult",
mult = Jane.cry and 777 or 77,
colour = palette,
card = card,
}, true
elseif rnd == 3 then
return {
message = "+$7",
dollars = 7,
colour = palette,
card = card,
}, true
elseif rnd == 4 then
return {
message = Jane.cry and "X7 Mult" or "X1.77 Mult",
x_mult = Jane.cry and 7 or 1.77,
colour = palette,
card = card,
}, true
else
return {
message = "^1.77 Mult",
e_mult = 1.77,
colour = palette,
card = card,
}, true
end
end
end end
end,
}
SMODS.Joker { local palette = granddad_palette[math.random(#granddad_palette)]
key = "peppino", local cycle = ((card.ability.extra.cycle or -1) + 1) % 5
atlas = "janepeppino", cycle = cycle == 2 and not Jane.cry and 3 or cycle
loc_txt = { card.ability.extra.cycle = cycle
name = "Peppino Spaghetti",
text = {
operator_prefix .. operator .. "2{C:mult} Mult{} per {C:attention}Food Joker",
"{C:inactive}(Currently " .. operator_prefix .. operator .. "#1#{C:mult} Mult{C:inactive})",
},
},
pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0},
config = {extra = {base = 2}},
cost = Jane.cry and 20 or 8,
rarity = Jane.cry and 4 or 3,
blueprint_compat = true,
loc_vars = function(_, _, card)
return {vars = {card.ability.extra.base ^ food_jokers_count()}}
end,
calculate = function(_, card, context)
local count = food_jokers_count()
if context.joker_main and count > 0 then if cycle == (Jane.cry and 2 or 3) then
return {[Jane.cry and "e_mult" or "x_mult"] = card.ability.extra.base ^ count} grand_dad(card)
end
if cycle == 0 then
return {
chips = 177,
colour = palette,
card = card,
}, true
elseif cycle == 1 then
return {
dollars = 7,
colour = palette,
card = card,
}, true
elseif cycle == 2 then
return {
emult = 1.17,
colour = palette,
card = card,
}, true
elseif cycle == 3 then
return {
xmult = 1.77,
colour = palette,
card = card,
}, true
elseif cycle == 4 then
return {
mult = 77,
colour = palette,
card = card,
}, true
end end
end, end,
} }

View file

@ -7,7 +7,7 @@ Jane = {
}, },
} }
Jane.rarity_ids = Jane.cry and {1, 2, 3, "cry_epic", 4, "cry_exotic", "jane_junk"} or {1, 2, 3, 4, "jane_junk"} Jane.rarity_ids = Jane.cry and {1, 2, 3, "cry_epic", 4, "cry_exotic", "jane_junk"} or {1, 2, 3, "jane_junk"}
Jane.rarity_names = Jane.cry and {"Common", "Uncommon", "Rare", "Epic", "Legendary", "Exotic", "Junk"} or Jane.rarity_names = Jane.cry and {"Common", "Uncommon", "Rare", "Epic", "Legendary", "Exotic", "Junk"} or
{"Common", "Uncommon", "Rare", "Legendary", "Junk"} {"Common", "Uncommon", "Rare", "Legendary", "Junk"}