Compare commits

...

3 commits
1.5.33 ... main

Author SHA1 Message Date
11a583e31b
Keep Omega Deck consistent with Karma Deck 2026-04-24 09:37:39 +02:00
f01fdf150a
Buff Hunter and non-Cryptid Saint 2026-04-15 23:58:58 +02:00
a298596988
Tone down Oxy, Peppino, and Rot 2026-04-09 20:05:23 +02:00
6 changed files with 74 additions and 30 deletions

43
.gitignore vendored Normal file
View file

@ -0,0 +1,43 @@
# Compiled Lua sources
luac.out
# luarocks build files
*.src.rock
*.zip
*.tar.gz
# Object files
*.o
*.os
*.ko
*.obj
*.elf
# Precompiled Headers
*.gch
*.pch
# Libraries
*.lib
*.a
*.la
*.lo
*.def
*.exp
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
# Syncthing
.stfolder

View file

@ -17,5 +17,5 @@
"conflicts": [ "conflicts": [
"Jen" "Jen"
], ],
"version": "1.5.33" "version": "1.5.36"
} }

View file

@ -692,8 +692,6 @@ back {
G.GAME.mysterious = nil G.GAME.mysterious = nil
if Jane.is_end_of_ante(context) then if Jane.is_end_of_ante(context) then
add_rain_world_joker()
Jane.q(function() Jane.q(function()
Jane.empowered() Jane.empowered()
end) end)

View file

@ -50,7 +50,7 @@ SMODS.Edition({
}, },
sound = {sound = "jane_e_polygloss", per = 1.2, vol = 0.4}, sound = {sound = "jane_e_polygloss", per = 1.2, vol = 0.4},
weight = 10, weight = 10,
extra_cost = 4, extra_cost = 2,
in_shop = true, in_shop = true,
shader = "polygloss", shader = "polygloss",
apply_to_float = false, apply_to_float = false,
@ -177,7 +177,7 @@ SMODS.Edition({
config = {e_chips = Cryptid and 0.8 or 0.9, e_mult = Cryptid and 1.2 or 1.1}, config = {e_chips = Cryptid and 0.8 or 0.9, e_mult = Cryptid 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 = 2,
extra_cost = 6, extra_cost = 10,
in_shop = true, in_shop = true,
shader = "moire", shader = "moire",
in_pool = allow_moire, in_pool = allow_moire,

View file

@ -39,7 +39,6 @@ local food = {
"j_cry_jawbreaker", "j_cry_jawbreaker",
"j_cry_mellowcreme", "j_cry_mellowcreme",
"j_cry_brittle", "j_cry_brittle",
"j_jane_peppino",
} }
local granddad_palette = { local granddad_palette = {
@ -50,15 +49,21 @@ local granddad_palette = {
} }
local function food_jokers_count() local function food_jokers_count()
if not G.jokers then if not G.jokers or not next(G.jokers.cards) then
return 0 return 0
end end
local amount = 0 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 for _, v in pairs(food) do
amount = amount + #SMODS.find_card(v) amount = amount + #SMODS.find_card(v)
end end
end
return amount return amount
end end
@ -378,13 +383,13 @@ SMODS.Joker {
"{C:inactive,s:0.75,E:1}#11#{C:red,s:1.5,E:1}#12#", "{C:inactive,s:0.75,E:1}#11#{C:red,s:1.5,E:1}#12#",
}, },
}, },
config = {extra = {corrupted_steel = 6, is_corrupted = false, milestone = 3, progress = 0}}, config = {extra = {corrupted_steel = Cryptid and 20 or 5, is_corrupted = false, milestone = 3, progress = 0}},
pos = {x = 0, y = 0}, pos = {x = 0, y = 0},
sinis = {x = 2, y = 0}, sinis = {x = 2, y = 0},
soul_pos = {x = 1, y = 0}, soul_pos = {x = 1, y = 0},
blueprint_compat = true, blueprint_compat = true,
cost = Cryptid and 8 or 20, cost = 8,
rarity = Cryptid and 3 or 4, rarity = 3,
loc_vars = function(_, info_queue, card) loc_vars = function(_, info_queue, card)
info_queue[#info_queue + 1] = G.P_CENTERS.m_steel info_queue[#info_queue + 1] = G.P_CENTERS.m_steel
local ability = card.ability.extra or {} local ability = card.ability.extra or {}
@ -402,7 +407,7 @@ SMODS.Joker {
is_corrupted and "Purifies " or "", is_corrupted and "Purifies " or "",
is_corrupted and "in " or "", is_corrupted and "in " or "",
is_corrupted and "" or "Destroying ", is_corrupted and "" or "Destroying ",
effective .. (is_corrupted and " round" or " steel card") .. plural, effective .. (is_corrupted and " ante" or " steel card") .. plural,
is_corrupted and "" or "corrupts ", 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 "prolongs the " or "",
@ -427,7 +432,7 @@ SMODS.Joker {
local extra = card.ability.extra or {} local extra = card.ability.extra or {}
Jane.oxy(card, context.removed) Jane.oxy(card, context.removed)
if context.end_of_round and if context.ante_end and context.ante_change and
extra.progress > 0 and not extra.progress > 0 and not
context.individual and not context.individual and not
context.repetition and not context.repetition and not
@ -607,18 +612,16 @@ SMODS.Joker {
loc_txt = { loc_txt = {
name = "Peppino Spaghetti", name = "Peppino Spaghetti",
text = { text = {
operator_prefix .. operator .. "2^x{C:red} Mult{} for every", operator_prefix .. operator .. "2{C:mult} Mult{} per {C:attention}Food Joker",
"{C:attention}food or Peppino Joker", "{C:inactive}(Currently " .. operator_prefix .. operator .. "#1#{C:mult} Mult{C:inactive})",
"in your possession",
"{C:inactive}(Currently " .. operator_prefix .. operator .. "#1#{C:red} Mult{C:inactive})",
}, },
}, },
pos = {x = 0, y = 0}, pos = {x = 0, y = 0},
soul_pos = {x = 1, y = 0}, soul_pos = {x = 1, y = 0},
config = {extra = {base = 2}}, config = {extra = {base = 2}},
rarity = Cryptid and exotic or 3, rarity = 3,
cost = 8,
blueprint_compat = true, blueprint_compat = true,
cost = Cryptid and 50 or 20,
loc_vars = function(_, _, card) loc_vars = function(_, _, card)
return {vars = {card.ability.extra.base ^ food_jokers_count()}} return {vars = {card.ability.extra.base ^ food_jokers_count()}}
end, end,

View file

@ -165,7 +165,7 @@ SMODS.Joker {
info_queue[#info_queue + 1] = Cryptid and G.P_CENTERS.c_cry_empowered or G.P_CENTERS.c_soul info_queue[#info_queue + 1] = Cryptid and G.P_CENTERS.c_cry_empowered or G.P_CENTERS.c_soul
local rounds_left = card.ability.extra.rounds_left local rounds_left = card.ability.extra.rounds_left
local sold = rounds_left - hunter[3] local sold = rounds_left - hunter[5]
return { return {
vars = { vars = {
@ -221,7 +221,7 @@ SMODS.Joker {
return return
end end
if context.selling_self and card.ability.extra.rounds_left <= hunter[3] then if context.selling_self and card.ability.extra.rounds_left <= hunter[5] then
spawn_rot() spawn_rot()
elseif not context.individual and not context.repetition and not context.retrigger_joker then elseif not context.individual and not context.repetition and not context.retrigger_joker then
if G.GAME.round_resets.hands <= 0 then if G.GAME.round_resets.hands <= 0 then
@ -469,7 +469,7 @@ function Card:set_debuff(should_debuff)
end end
local function attunement() local function attunement()
return (G.GAME or {}).weeckweeck and 2 or (Cryptid and 1.002 or 1.2) return (G.GAME or {}).weeckweeck and 2 or (Cryptid and 1.002 or 1.25)
end end
SMODS.Joker { SMODS.Joker {
@ -615,9 +615,9 @@ SMODS.Joker {
e_jane_moire = { e_jane_moire = {
colour = G.C.jane_RGB, colour = G.C.jane_RGB,
sound = "talisman_eeechip", sound = "talisman_eeechip",
[Cryptid and "EEchip_mod" or "Echip_mod"] = attune, EEchip_mod = Cryptid and attune or nil,
[Cryptid and "EEmult_mod" or "Emult_mod"] = attune, [Cryptid and "EEmult_mod" or "Emult_mod"] = attune,
message = (Cryptid and "^^" or "^") .. attune .. " Chips & Mult", message = (Cryptid and "^^" or "^") .. attune .. (Cryptid and " Chips & Mult" or ""),
}, },
})[Cryptid and "e_jane_moire" or ((context.other_card or context.other_joker or {}).edition or {}).key] })[Cryptid and "e_jane_moire" or ((context.other_card or context.other_joker or {}).edition or {}).key]
@ -703,9 +703,9 @@ SMODS.Joker {
loc_txt = { loc_txt = {
name = "The Rot", name = "The Rot",
text = { text = {
"Clogs up your Joker slots", not Cryptid and "{C:inactive,E:1}Does nothing" or nil,
"{C:attention}Duplicates itself{} at the", Cryptid and "{C:attention}Duplicates itself{} at the" or nil,
"end of {C:attention}every ante", Cryptid and "end of {C:attention}every ante" or nil,
}, },
}, },
pos = {x = 0, y = 0}, pos = {x = 0, y = 0},
@ -721,7 +721,7 @@ SMODS.Joker {
return not not next(SMODS.find_card("j_jane_rot")) return not not next(SMODS.find_card("j_jane_rot"))
end, end,
calculate = function(_, card, context) calculate = Cryptid and function(_, card, context)
local function has_room() local function has_room()
return G.jokers.config.card_count < G.jokers.config.card_limit return G.jokers.config.card_count < G.jokers.config.card_limit
end end
@ -743,5 +743,5 @@ SMODS.Joker {
else else
card.cloned = false card.cloned = false
end end
end, end or nil,
} }