Fix The Rot cloning indefinitely, reformat
This commit is contained in:
parent
bafb18d0c9
commit
e069cd8f68
14 changed files with 610 additions and 350 deletions
171
.editorconfig
Normal file
171
.editorconfig
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
|
||||
# see https://github.com/CppCXY/EmmyLuaCodeStyle
|
||||
[*.lua]
|
||||
# [basic]
|
||||
|
||||
# optional space/tab
|
||||
indent_style = space
|
||||
# if indent_style is space, this is valid
|
||||
indent_size = 4
|
||||
# if indent_style is tab, this is valid
|
||||
tab_width = 4
|
||||
# none/single/double
|
||||
quote_style = double
|
||||
|
||||
continuation_indent = 4
|
||||
## extend option
|
||||
# continuation_indent.before_block = 4
|
||||
# continuation_indent.in_expr = 4
|
||||
# continuation_indent.in_table = 4
|
||||
|
||||
# this mean utf8 length , if this is 'unset' then the line width is no longer checked
|
||||
# this option decides when to chopdown the code
|
||||
max_line_length = lf
|
||||
|
||||
# optional crlf/lf/cr/auto, if it is 'auto', in windows it is crlf other platforms are lf
|
||||
# in neovim the value 'auto' is not a valid option, please use 'unset'
|
||||
end_of_line = auto
|
||||
|
||||
# none/ comma / semicolon / only_kv_colon
|
||||
table_separator_style = none
|
||||
|
||||
#optional keep/never/always/smart
|
||||
trailing_table_separator = smart
|
||||
|
||||
# keep/remove/remove_table_only/remove_string_only
|
||||
call_arg_parentheses = keep
|
||||
|
||||
detect_end_of_line = false
|
||||
|
||||
# this will check text end with new line
|
||||
insert_final_newline = true
|
||||
|
||||
# [space]
|
||||
space_around_table_field_list = false
|
||||
|
||||
space_before_attribute = false
|
||||
|
||||
space_before_function_open_parenthesis = false
|
||||
|
||||
space_before_function_call_open_parenthesis = false
|
||||
|
||||
space_before_closure_open_parenthesis = false
|
||||
|
||||
# optional always/only_string/only_table/none
|
||||
# or true/false
|
||||
space_before_function_call_single_arg = always
|
||||
## extend option
|
||||
## always/keep/none
|
||||
# space_before_function_call_single_arg.table = always
|
||||
## always/keep/none
|
||||
# space_before_function_call_single_arg.string = always
|
||||
|
||||
space_before_open_square_bracket = false
|
||||
|
||||
space_inside_function_call_parentheses = false
|
||||
|
||||
space_inside_function_param_list_parentheses = false
|
||||
|
||||
space_inside_square_brackets = false
|
||||
|
||||
# like t[#t+1] = 1
|
||||
space_around_table_append_operator = false
|
||||
|
||||
ignore_spaces_inside_function_call = false
|
||||
|
||||
# detail number or 'keep'
|
||||
space_before_inline_comment = 1
|
||||
|
||||
# convert '---' to '--- ' or '--' to '-- '
|
||||
space_after_comment_dash = false
|
||||
|
||||
# [operator space]
|
||||
space_around_math_operator = true
|
||||
# space_around_math_operator.exponent = false
|
||||
|
||||
space_after_comma = true
|
||||
|
||||
space_after_comma_in_for_statement = true
|
||||
|
||||
# true/false or none/always/no_space_asym
|
||||
space_around_concat_operator = true
|
||||
|
||||
space_around_logical_operator = true
|
||||
|
||||
# true/false or none/always/no_space_asym
|
||||
space_around_assign_operator = true
|
||||
|
||||
# [align]
|
||||
|
||||
align_call_args = false
|
||||
|
||||
align_function_params = true
|
||||
|
||||
# true/false or always
|
||||
align_continuous_assign_statement = true
|
||||
|
||||
align_continuous_rect_table_field = true
|
||||
|
||||
align_continuous_line_space = 2
|
||||
|
||||
align_if_branch = false
|
||||
|
||||
# option none / always / contain_curly/
|
||||
align_array_table = true
|
||||
|
||||
align_continuous_similar_call_args = false
|
||||
|
||||
align_continuous_inline_comment = true
|
||||
# option none / always / only_call_stmt
|
||||
align_chain_expr = none
|
||||
|
||||
# [indent]
|
||||
|
||||
never_indent_before_if_condition = false
|
||||
|
||||
never_indent_comment_on_if_branch = false
|
||||
|
||||
keep_indents_on_empty_lines = false
|
||||
|
||||
allow_non_indented_comments = false
|
||||
# [line space]
|
||||
|
||||
# The following configuration supports four expressions
|
||||
# keep
|
||||
# fixed(n)
|
||||
# min(n)
|
||||
# max(n)
|
||||
# for eg. min(2)
|
||||
|
||||
line_space_after_if_statement = fixed(2)
|
||||
|
||||
line_space_after_do_statement = fixed(2)
|
||||
|
||||
line_space_after_while_statement = fixed(2)
|
||||
|
||||
line_space_after_repeat_statement = fixed(2)
|
||||
|
||||
line_space_after_for_statement = fixed(2)
|
||||
|
||||
line_space_after_local_or_assign_statement = max(2)
|
||||
|
||||
line_space_after_function_statement = fixed(2)
|
||||
|
||||
line_space_after_expression_statement = max(2)
|
||||
|
||||
line_space_after_comment = fixed(1)
|
||||
|
||||
line_space_around_block = fixed(1)
|
||||
# [line break]
|
||||
break_all_list_when_line_exceed = false
|
||||
|
||||
auto_collapse_lines = false
|
||||
|
||||
break_before_braces = false
|
||||
|
||||
# [preference]
|
||||
ignore_space_after_colon = false
|
||||
|
||||
remove_call_expression_list_finish_comma = true
|
||||
# keep / always / same_line / replace_with_newline / never
|
||||
end_statement_with_semicolon = replace_with_newline
|
||||
|
|
@ -1,7 +1,10 @@
|
|||
{
|
||||
"id": "jane",
|
||||
"name": "Almighty",
|
||||
"author": ["jenwalter666", "Emik"],
|
||||
"author": [
|
||||
"jenwalter666",
|
||||
"Emik"
|
||||
],
|
||||
"description": "Fork of Jen's almanac that rebalances the mod by heavily toning down on the power creep and cutting out anything deemed not essential. Made out of genuine love for the original mod.",
|
||||
"prefix": "jane",
|
||||
"main_file": "src/main.lua",
|
||||
|
|
@ -11,6 +14,8 @@
|
|||
"Steamodded (>=1.0.0~ALPHA-1304a)",
|
||||
"Bakery (>=0.1.26~*)"
|
||||
],
|
||||
"conflicts": ["Jen"],
|
||||
"version": "1.0.0"
|
||||
"conflicts": [
|
||||
"Jen"
|
||||
],
|
||||
"version": "1.0.1"
|
||||
}
|
||||
57
src/back.lua
57
src/back.lua
|
|
@ -2,7 +2,7 @@ SMODS.Atlas {
|
|||
px = 71,
|
||||
py = 95,
|
||||
key = "janedecks",
|
||||
path = Jane.config.texture_pack .. "/b_jane_decks.png"
|
||||
path = Jane.config.texture_pack .. "/b_jane_decks.png",
|
||||
}
|
||||
|
||||
local eternal_text = Cryptid and "Absolute" or "Eternal"
|
||||
|
|
@ -19,7 +19,7 @@ SMODS.Back {
|
|||
Cryptid and "set {C:attention}ante {}to the {C:attention}next" or "",
|
||||
Cryptid and "{C:attention}triangle number {}and create" or "",
|
||||
Cryptid and "an {C:spectral,E:1}Empowered Tag" or "create a {C:dark_edition}Negative {C:spectral,E:1}Soul",
|
||||
}
|
||||
},
|
||||
},
|
||||
apply = function(_)
|
||||
G.GAME.win_ante = Cryptid and G.GAME.win_ante * (G.GAME.win_ante + 1) / 2 or G.GAME.win_ante * 2 - 1
|
||||
|
|
@ -32,7 +32,7 @@ SMODS.Back {
|
|||
return true
|
||||
end)
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
local function add_rain_world_joker()
|
||||
|
|
@ -77,8 +77,8 @@ SMODS.Back {
|
|||
text = {
|
||||
"Start with a {C:legendary}Rain World Joker",
|
||||
"Create another when",
|
||||
"{C:attention}Boss Blind {}is defeated"
|
||||
}
|
||||
"{C:attention}Boss Blind {}is defeated",
|
||||
},
|
||||
},
|
||||
apply = function(_)
|
||||
G.E_MANAGER:add_event(Event({func = add_rain_world_joker}))
|
||||
|
|
@ -101,7 +101,7 @@ SMODS.Back {
|
|||
"playing cards are {C:green,E:1}randomized",
|
||||
"when they are added",
|
||||
"to your possession",
|
||||
}
|
||||
},
|
||||
},
|
||||
apply = function(_)
|
||||
G.GAME.mysterious = true
|
||||
|
|
@ -110,7 +110,7 @@ SMODS.Back {
|
|||
save_run()
|
||||
return true
|
||||
end)
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
SMODS.Back {
|
||||
|
|
@ -122,11 +122,11 @@ SMODS.Back {
|
|||
text = {
|
||||
"{C:attention}Hidden{} cards {C:inactive}(ex. {C:spectral}The Soul{C:inactive})",
|
||||
"can {C:attention}appear normally{}",
|
||||
}
|
||||
},
|
||||
},
|
||||
apply = function(_)
|
||||
G.GAME.obsidian = true
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
local function apply_orrery()
|
||||
|
|
@ -154,11 +154,11 @@ SMODS.Back {
|
|||
text = {
|
||||
"{C:attention}Hand stats {}are",
|
||||
"always " .. (Cryptid and "{C:cry_ascendant}" or "{C:attention}") .. "equalized",
|
||||
}
|
||||
},
|
||||
},
|
||||
apply = function(_)
|
||||
apply_orrery()
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
SMODS.Back {
|
||||
|
|
@ -170,11 +170,11 @@ SMODS.Back {
|
|||
text = {
|
||||
"{C:attention}Ante increases",
|
||||
"{C:attention}half{} as strong",
|
||||
}
|
||||
},
|
||||
},
|
||||
apply = function(_)
|
||||
G.GAME.tortoise = true
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
local function apply_weeck()
|
||||
|
|
@ -222,11 +222,11 @@ SMODS.Back {
|
|||
"{C:attention}Wee Joker {}and a deck",
|
||||
"containing {C:attention}2 {C:purple,E:1}" .. eternal_text,
|
||||
"{C:attention}2's {}of {C:attention}each suit",
|
||||
}
|
||||
},
|
||||
},
|
||||
apply = function(_)
|
||||
apply_weeck()
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
SMODS.Back {
|
||||
|
|
@ -238,12 +238,13 @@ SMODS.Back {
|
|||
text = {
|
||||
"Applies the {C:legendary,E:1}upsides",
|
||||
"of {C:attention}every Jane deck",
|
||||
}
|
||||
},
|
||||
},
|
||||
apply = function(_)
|
||||
apply_orrery()
|
||||
|
||||
G.E_MANAGER:add_event(Event({func = function()
|
||||
G.E_MANAGER:add_event(Event({
|
||||
func = function()
|
||||
local wee = create_card("Joker", G.jokers, nil, nil, nil, nil, "j_wee", "weeck")
|
||||
G.jokers:emplace(wee)
|
||||
add_rain_world_joker()
|
||||
|
|
@ -252,7 +253,8 @@ SMODS.Back {
|
|||
G.GAME.obsidian = true
|
||||
save_run()
|
||||
return true
|
||||
end}))
|
||||
end,
|
||||
}))
|
||||
end,
|
||||
trigger_effect = function(_, args)
|
||||
G.GAME.mysterious = nil
|
||||
|
|
@ -307,7 +309,7 @@ function CardArea:emplace(card, location, stay_flipped)
|
|||
local c = targets[i]
|
||||
c:set_base(pseudorandom_element(G.P_CARDS))
|
||||
|
||||
if pseudorandom(pseudoseed("chancetime")) > 1 / (#G.P_CENTER_POOLS["Enhanced"]+1) then
|
||||
if pseudorandom(pseudoseed("chancetime")) > 1 / (#G.P_CENTER_POOLS["Enhanced"] + 1) then
|
||||
c:set_ability(pseudorandom_element(G.P_CENTER_POOLS["Enhanced"], pseudoseed("spectral_chance")))
|
||||
else
|
||||
c:set_ability(G.P_CENTERS["c_base"])
|
||||
|
|
@ -360,7 +362,7 @@ function CardArea:emplace(card, location, stay_flipped)
|
|||
play_sound("card1", 1.15 - (i - 0.999) / (#G.hand.cards - 0.998) * 0.3)
|
||||
targets[i]:juice_up(0.3, 0.3)
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
end
|
||||
|
||||
|
|
@ -370,7 +372,7 @@ function CardArea:emplace(card, location, stay_flipped)
|
|||
G.E_MANAGER:add_event(Event({
|
||||
trigger = "after",
|
||||
delay = 0.1,
|
||||
func = go(i)
|
||||
func = go(i),
|
||||
}))
|
||||
end
|
||||
end
|
||||
|
|
@ -396,7 +398,9 @@ function CardArea:emplace(card, location, stay_flipped)
|
|||
passes = 0
|
||||
pooling = false
|
||||
tries = tries - 1
|
||||
selection = G.P_CENTERS[pseudorandom_element(pool or G.P_CENTER_POOLS.Consumeables, pseudoseed(seed or "jane_rnd_mysterious")).key]
|
||||
|
||||
selection = G.P_CENTERS
|
||||
[pseudorandom_element(pool or G.P_CENTER_POOLS.Consumeables, pseudoseed(seed or "jane_rnd_mysterious")).key]
|
||||
|
||||
if ignore_pooling then
|
||||
pooling = true
|
||||
|
|
@ -438,10 +442,12 @@ function CardArea:emplace(card, location, stay_flipped)
|
|||
card:remove_from_deck()
|
||||
card.added_to_deck = nil
|
||||
end
|
||||
|
||||
card:flip()
|
||||
card:juice_up(0.3, 0.3)
|
||||
play_sound("card1", 1, 0.6)
|
||||
end
|
||||
|
||||
return true
|
||||
end, 0.75)
|
||||
|
||||
|
|
@ -458,6 +464,7 @@ function CardArea:emplace(card, location, stay_flipped)
|
|||
card:add_to_deck()
|
||||
end
|
||||
end
|
||||
|
||||
return true
|
||||
end, 0.75)
|
||||
elseif self == G.consumeables then
|
||||
|
|
@ -472,6 +479,7 @@ function CardArea:emplace(card, location, stay_flipped)
|
|||
card:juice_up(0.3, 0.3)
|
||||
play_sound("card1", 1, 0.6)
|
||||
end
|
||||
|
||||
return true
|
||||
end, 0.75)
|
||||
|
||||
|
|
@ -482,7 +490,10 @@ function CardArea:emplace(card, location, stay_flipped)
|
|||
card:flip()
|
||||
card:juice_up(0.3, 0.3)
|
||||
play_sound("card3", 1, 0.6)
|
||||
card:set_ability(rnd("mysterious_deck_consumable", cen.hidden and {} or {"hidden"}, G.P_CENTER_POOLS[cen.set]))
|
||||
|
||||
card:set_ability(
|
||||
rnd("mysterious_deck_consumable", cen.hidden and {} or {"hidden"}, G.P_CENTER_POOLS[cen.set])
|
||||
)
|
||||
|
||||
if not card.added_to_deck then
|
||||
card:add_to_deck()
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ SMODS.Atlas {
|
|||
frames = 21,
|
||||
key = "janeblinds",
|
||||
atlas_table = "ANIMATION_ATLAS",
|
||||
path = Jane.config.texture_pack .. "/bl_jane_blinds.png"
|
||||
path = Jane.config.texture_pack .. "/bl_jane_blinds.png",
|
||||
}
|
||||
|
||||
local final_operations = {
|
||||
|
|
@ -65,7 +65,7 @@ end
|
|||
SMODS.Blind {
|
||||
loc_txt = {
|
||||
name = "The Descending",
|
||||
text = {"Decrease Chip-Mult", "operator by 1 level"}
|
||||
text = {"Decrease Chip-Mult", "operator by 1 level"},
|
||||
},
|
||||
key = "descending",
|
||||
config = {},
|
||||
|
|
@ -103,7 +103,7 @@ SMODS.Blind {
|
|||
SMODS.Blind {
|
||||
loc_txt = {
|
||||
name = "The Insignia",
|
||||
text = {"Hand must contain", "only one suit"}
|
||||
text = {"Hand must contain", "only one suit"},
|
||||
},
|
||||
key = "insignia",
|
||||
config = {},
|
||||
|
|
@ -134,7 +134,7 @@ SMODS.Blind {
|
|||
SMODS.Blind {
|
||||
loc_txt = {
|
||||
name = "The Wee",
|
||||
text = {"Only 2s can be played"}
|
||||
text = {"Only 2s can be played"},
|
||||
},
|
||||
key = "wee",
|
||||
config = {},
|
||||
|
|
|
|||
128
src/booster.lua
128
src/booster.lua
|
|
@ -2,7 +2,7 @@ SMODS.Atlas {
|
|||
px = 71,
|
||||
py = 95,
|
||||
key = "janebooster",
|
||||
path = Jane.config.texture_pack .. "/p_jane_boosters.png"
|
||||
path = Jane.config.texture_pack .. "/p_jane_boosters.png",
|
||||
}
|
||||
|
||||
for i = 1, 2 do
|
||||
|
|
@ -14,7 +14,7 @@ for i = 1, 2 do
|
|||
"Choose {C:attention}#1#{} of up to",
|
||||
"{C:attention}#2# playing cards{} to",
|
||||
"add to your deck",
|
||||
}
|
||||
},
|
||||
},
|
||||
atlas = "janebooster",
|
||||
pos = {x = 6, y = i - 1},
|
||||
|
|
@ -35,7 +35,7 @@ for i = 1, 2 do
|
|||
area = G.pack_cards,
|
||||
skip_materialize = true,
|
||||
soulable = true,
|
||||
key_append = "sta"
|
||||
key_append = "sta",
|
||||
}
|
||||
end,
|
||||
create_UIBox = function(_)
|
||||
|
|
@ -45,7 +45,7 @@ for i = 1, 2 do
|
|||
ease_background_colour_blind(G.STATES.STANDARD_PACK)
|
||||
end,
|
||||
particles = function(_)
|
||||
G.booster_pack_sparkles = Particles(1, 1, 0,0, {
|
||||
G.booster_pack_sparkles = Particles(1, 1, 0, 0, {
|
||||
timer = 0.015,
|
||||
scale = 0.3,
|
||||
initialize = true,
|
||||
|
|
@ -54,7 +54,7 @@ for i = 1, 2 do
|
|||
padding = -1,
|
||||
attach = G.ROOM_ATTACH,
|
||||
colours = {G.C.BLACK, G.C.RED},
|
||||
fill = true
|
||||
fill = true,
|
||||
})
|
||||
|
||||
G.booster_pack_sparkles.fade_alpha = 1
|
||||
|
|
@ -72,7 +72,7 @@ for i = 1, 2 do
|
|||
"Choose {C:attention}#1#{} of up to",
|
||||
"{C:attention}#2# {C:tarot}Tarot{} cards to",
|
||||
"be used immediately",
|
||||
}
|
||||
},
|
||||
},
|
||||
atlas = "janebooster",
|
||||
pos = {x = 3 + i, y = 1},
|
||||
|
|
@ -109,7 +109,7 @@ for i = 1, 2 do
|
|||
ease_background_colour_blind(G.STATES.TAROT_PACK)
|
||||
end,
|
||||
particles = function(_)
|
||||
G.booster_pack_sparkles = Particles(1, 1, 0,0, {
|
||||
G.booster_pack_sparkles = Particles(1, 1, 0, 0, {
|
||||
timer = 0.015,
|
||||
scale = 0.2,
|
||||
initialize = true,
|
||||
|
|
@ -118,7 +118,7 @@ for i = 1, 2 do
|
|||
padding = -1,
|
||||
attach = G.ROOM_ATTACH,
|
||||
colours = {G.C.WHITE, lighten(G.C.PURPLE, 0.4), lighten(G.C.PURPLE, 0.2), lighten(G.C.GOLD, 0.2)},
|
||||
fill = true
|
||||
fill = true,
|
||||
})
|
||||
|
||||
G.booster_pack_sparkles.fade_alpha = 1
|
||||
|
|
@ -137,7 +137,7 @@ for i = 1, 2 do
|
|||
"Choose {C:attention}#1#{} of up to",
|
||||
"{C:attention}#2# {C:planet}Planet{} cards to",
|
||||
"be used immediately",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {extra = 2, choose = 1},
|
||||
pos = {x = 3 + i, y = 0},
|
||||
|
|
@ -153,7 +153,7 @@ for i = 1, 2 do
|
|||
area = G.pack_cards,
|
||||
skip_materialize = true,
|
||||
soulable = true,
|
||||
key_append = "pl1"
|
||||
key_append = "pl1",
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -190,7 +190,7 @@ for i = 1, 2 do
|
|||
ease_background_colour_blind(G.STATES.PLANET_PACK)
|
||||
end,
|
||||
particles = function(_)
|
||||
G.booster_pack_stars = Particles(1, 1, 0,0, {
|
||||
G.booster_pack_stars = Particles(1, 1, 0, 0, {
|
||||
fill = true,
|
||||
scale = 0.1,
|
||||
speed = 0.1,
|
||||
|
|
@ -202,7 +202,7 @@ for i = 1, 2 do
|
|||
colours = {G.C.WHITE, HEX("a7d6e0"), HEX("fddca0")},
|
||||
})
|
||||
|
||||
G.booster_pack_meteors = Particles(1, 1, 0,0, {
|
||||
G.booster_pack_meteors = Particles(1, 1, 0, 0, {
|
||||
speed = 4,
|
||||
timer = 2,
|
||||
fill = true,
|
||||
|
|
@ -212,7 +212,7 @@ for i = 1, 2 do
|
|||
colours = {G.C.WHITE},
|
||||
})
|
||||
end,
|
||||
set_ability = function (_, card, _, _)
|
||||
set_ability = function(_, card, _, _)
|
||||
card.ability = card.ability or {}
|
||||
card.ability.set = "Booster"
|
||||
card.ability.name = "Mini Celestial Pack"
|
||||
|
|
@ -230,7 +230,7 @@ for i = 1, 2 do
|
|||
"Choose {C:attention}#1#{} of up to",
|
||||
"{C:attention}#2# {C:spectral}Spectral{} cards to",
|
||||
"be used immediately",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {extra = 1, choose = 1},
|
||||
pos = {x = 3 + i, y = 2},
|
||||
|
|
@ -256,7 +256,7 @@ for i = 1, 2 do
|
|||
ease_background_colour_blind(G.STATES.SPECTRAL_PACK)
|
||||
end,
|
||||
particles = function(_)
|
||||
G.booster_pack_sparkles = Particles(1, 1, 0,0, {
|
||||
G.booster_pack_sparkles = Particles(1, 1, 0, 0, {
|
||||
scale = 0.1,
|
||||
fill = true,
|
||||
speed = 0.2,
|
||||
|
|
@ -284,7 +284,7 @@ if Cryptid then
|
|||
"Choose {C:attention}#1#{} of up to",
|
||||
"{C:attention}#2# {C:green}Code{} cards to",
|
||||
"be used immediately",
|
||||
}
|
||||
},
|
||||
},
|
||||
pos = {x = 6, y = 2},
|
||||
config = {extra = 2, choose = 1},
|
||||
|
|
@ -319,7 +319,7 @@ if Cryptid then
|
|||
end
|
||||
|
||||
for i = 1, 2 do
|
||||
SMODS.Booster{
|
||||
SMODS.Booster {
|
||||
key = "minitoken" .. i,
|
||||
atlas = "janebooster",
|
||||
loc_txt = {
|
||||
|
|
@ -328,7 +328,7 @@ for i = 1, 2 do
|
|||
"Choose {C:attention}#1#{} of up to",
|
||||
"{C:attention}#2# Token {}cards to",
|
||||
"be used immediately",
|
||||
}
|
||||
},
|
||||
},
|
||||
pos = {x = i - 1, y = 5},
|
||||
config = {extra = 2, choose = 1},
|
||||
|
|
@ -350,35 +350,83 @@ for i = 1, 2 do
|
|||
{card_limit = size, highlight_limit = 1, type = "consumeable"}
|
||||
)
|
||||
|
||||
local t = {n = G.UIT.ROOT, config = {align = "tm", r = 0.15, colour = G.C.CLEAR, padding = 0.15}, nodes = {
|
||||
{n = G.UIT.R, config = {align = "cl", colour = G.C.CLEAR, r = 0.15, padding = 0.1, minh = 2, shadow = true}, nodes = {
|
||||
{n = G.UIT.R, config = {align = "cm"}, nodes = {
|
||||
{n = G.UIT.C, config = {align = "cm", padding = 0.1}, nodes = {
|
||||
{n = G.UIT.C, config = {align = "cm", r = 0.2, colour = G.C.CLEAR, shadow = true}, nodes = {
|
||||
{n = G.UIT.O, config = {object = G.pack_cards}}}}}}}},
|
||||
local t = {
|
||||
n = G.UIT.ROOT,
|
||||
config = {align = "tm", r = 0.15, colour = G.C.CLEAR, padding = 0.15},
|
||||
nodes = {
|
||||
{
|
||||
n = G.UIT.R,
|
||||
config = {align = "cl", colour = G.C.CLEAR, r = 0.15, padding = 0.1, minh = 2, shadow = true},
|
||||
nodes = {
|
||||
{
|
||||
n = G.UIT.R,
|
||||
config = {align = "cm"},
|
||||
nodes = {
|
||||
{
|
||||
n = G.UIT.C,
|
||||
config = {align = "cm", padding = 0.1},
|
||||
nodes = {
|
||||
{
|
||||
n = G.UIT.C,
|
||||
config = {align = "cm", r = 0.2, colour = G.C.CLEAR, shadow = true},
|
||||
nodes = {
|
||||
{n = G.UIT.O, config = {object = G.pack_cards}}},
|
||||
}},
|
||||
}},
|
||||
},
|
||||
{n = G.UIT.R, config = {align = "cm"}, nodes = {}},
|
||||
{n = G.UIT.R, config = {align = "tm"}, nodes = {
|
||||
{n = G.UIT.C,config = {align = "tm", padding = 0.05, minw = 2.4}, nodes = {}},
|
||||
{n = G.UIT.C,config = {align = "tm", padding = 0.05}, nodes = {
|
||||
{
|
||||
n = G.UIT.R,
|
||||
config = {align = "tm"},
|
||||
nodes = {
|
||||
{n = G.UIT.C, config = {align = "tm", padding = 0.05, minw = 2.4}, nodes = {}},
|
||||
{
|
||||
n = G.UIT.C,
|
||||
config = {align = "tm", padding = 0.05},
|
||||
nodes = {
|
||||
UIBox_dyn_container({
|
||||
{n = G.UIT.C, config = {align = "cm", padding = 0.05, minw = 4}, nodes = {
|
||||
{n = G.UIT.R,config = {align = "bm", padding = 0.05}, nodes = {
|
||||
{n = G.UIT.O, config = {object = DynaText({string = {"Token Pack"}, colours = {G.C.WHITE},shadow = true, rotate = true, bump = true, spacing = 2, scale = 0.7, maxw = 4, pop_in = 0.5})}}}},
|
||||
{n = G.UIT.R,config = {align = "bm", padding = 0.05}, nodes = {
|
||||
{n = G.UIT.O, config = {object = DynaText({string = {localize("k_choose") .. " "}, colours = {G.C.WHITE},shadow = true, rotate = true, bump = true, spacing = 2, scale = 0.5, pop_in = 0.7})}},
|
||||
{n = G.UIT.O, config = {object = DynaText({string = {{ref_table = G.GAME, ref_value = "pack_choices"}}, colours = {G.C.WHITE},shadow = true, rotate = true, bump = true, spacing = 2, scale = 0.5, pop_in = 0.7})}}}}}}
|
||||
})}},
|
||||
{n = G.UIT.C,config = {align = "tm", padding = 0.05, minw = 2.4}, nodes = {
|
||||
{n = G.UIT.R,config = {minh = 0.2}, nodes = {}},
|
||||
{n = G.UIT.R,config = {align = "tm",padding = 0.2, minh = 1.2, minw = 1.8, r = 0.15,colour = G.C.GREY, one_press = true, button = "skip_booster", hover = true,shadow = true, func = "can_skip_booster"}, nodes = {
|
||||
{n = G.UIT.T, config = {text = localize("b_skip"), scale = 0.5, colour = G.C.WHITE, shadow = true, focus_args = {button = "y", orientation = "bm"}, func = "set_button_pip"}}}}}}}}}}}}
|
||||
{
|
||||
n = G.UIT.C,
|
||||
config = {align = "cm", padding = 0.05, minw = 4},
|
||||
nodes = {
|
||||
{
|
||||
n = G.UIT.R,
|
||||
config = {align = "bm", padding = 0.05},
|
||||
nodes = {
|
||||
{n = G.UIT.O, config = {object = DynaText({string = {"Token Pack"}, colours = {G.C.WHITE}, shadow = true, rotate = true, bump = true, spacing = 2, scale = 0.7, maxw = 4, pop_in = 0.5})}}},
|
||||
},
|
||||
{
|
||||
n = G.UIT.R,
|
||||
config = {align = "bm", padding = 0.05},
|
||||
nodes = {
|
||||
{n = G.UIT.O, config = {object = DynaText({string = {localize("k_choose") .. " "}, colours = {G.C.WHITE}, shadow = true, rotate = true, bump = true, spacing = 2, scale = 0.5, pop_in = 0.7})}},
|
||||
{n = G.UIT.O, config = {object = DynaText({string = {{ref_table = G.GAME, ref_value = "pack_choices"}}, colours = {G.C.WHITE}, shadow = true, rotate = true, bump = true, spacing = 2, scale = 0.5, pop_in = 0.7})}}},
|
||||
}},
|
||||
},
|
||||
})},
|
||||
},
|
||||
{
|
||||
n = G.UIT.C,
|
||||
config = {align = "tm", padding = 0.05, minw = 2.4},
|
||||
nodes = {
|
||||
{n = G.UIT.R, config = {minh = 0.2}, nodes = {}},
|
||||
{
|
||||
n = G.UIT.R,
|
||||
config = {align = "tm", padding = 0.2, minh = 1.2, minw = 1.8, r = 0.15, colour = G.C.GREY, one_press = true, button = "skip_booster", hover = true, shadow = true, func = "can_skip_booster"},
|
||||
nodes = {
|
||||
{n = G.UIT.T, config = {text = localize("b_skip"), scale = 0.5, colour = G.C.WHITE, shadow = true, focus_args = {button = "y", orientation = "bm"}, func = "set_button_pip"}}},
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
}
|
||||
|
||||
return t
|
||||
end,
|
||||
ease_background_colour = function(_)
|
||||
ease_background_colour{new_colour = HEX(i == 1 and "F0C197" or "FD5F55"), special_colour = HEX("000000"), contrast = 5}
|
||||
ease_background_colour {new_colour = HEX(i == 1 and "F0C197" or "FD5F55"), special_colour = HEX("000000"), contrast = 5}
|
||||
end,
|
||||
in_pool = function (_, _)
|
||||
in_pool = function(_, _)
|
||||
return G.GAME.used_vouchers.v_jane_token_voucher
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@ SMODS.Edition({
|
|||
"{C:chips}+#1#{}, {X:chips,C:white}x#2#{} & {X:chips,C:dark_edition}^#3#{} Chips",
|
||||
"{C:mult}+#4#{}, {X:mult,C:white}x#5#{} & {X:mult,C:dark_edition}^#6#{} Mult",
|
||||
"Generates {C:money}+$#7#",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {chips = 1, mult = 1, x_chips = 1.1, x_mult = 1.1, e_chips = 1.01, e_mult = 1.01, p_dollars = 1},
|
||||
sound = {
|
||||
sound = "jane_e_polygloss",
|
||||
per = 1.2,
|
||||
vol = 0.4
|
||||
vol = 0.4,
|
||||
},
|
||||
weight = 8,
|
||||
extra_cost = 2,
|
||||
|
|
@ -25,15 +25,17 @@ SMODS.Edition({
|
|||
shader = "polygloss",
|
||||
apply_to_float = false,
|
||||
loc_vars = function(self)
|
||||
return {vars = {
|
||||
return {
|
||||
vars = {
|
||||
self.config.chips,
|
||||
self.config.x_chips,
|
||||
self.config.e_chips,
|
||||
self.config.mult,
|
||||
self.config.x_mult,
|
||||
self.config.e_mult,
|
||||
self.config.p_dollars
|
||||
}}
|
||||
self.config.p_dollars,
|
||||
},
|
||||
}
|
||||
end,
|
||||
calculate = function(_, card, context)
|
||||
if context.pre_joker then
|
||||
|
|
@ -74,8 +76,8 @@ SMODS.Edition({
|
|||
"All card values are",
|
||||
"{C:attention}multiplied{} by {C:attention}up to " .. jumbo_modifier,
|
||||
"{C:inactive}(If possible)",
|
||||
"{C:inactive,E:1,s:0.7}Whoa, it's huge!!{}"
|
||||
}
|
||||
"{C:inactive,E:1,s:0.7}Whoa, it's huge!!{}",
|
||||
},
|
||||
},
|
||||
on_apply = function(card)
|
||||
G.E_MANAGER:add_event(Event({
|
||||
|
|
@ -84,7 +86,7 @@ SMODS.Edition({
|
|||
func = function()
|
||||
Jane.resize(card, Jane.config.wee_sizemod)
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
|
||||
local obj = card:gc()
|
||||
|
|
@ -110,7 +112,7 @@ SMODS.Edition({
|
|||
func = function()
|
||||
Jane.resize(card, 1 / Jane.config.wee_sizemod)
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
|
||||
local was_added = card.added_to_deck
|
||||
|
|
@ -129,7 +131,7 @@ SMODS.Edition({
|
|||
sound = {
|
||||
sound = "jane_e_jumbo",
|
||||
per = 1,
|
||||
vol = 0.5
|
||||
vol = 0.5,
|
||||
},
|
||||
weight = 0.8,
|
||||
in_shop = true,
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ local granddad_palette = {
|
|||
HEX("155fd9"),
|
||||
HEX("ff8170"),
|
||||
HEX("ffffff"),
|
||||
HEX("6c0700")
|
||||
HEX("6c0700"),
|
||||
}
|
||||
|
||||
local function food_jokers_count()
|
||||
|
|
@ -136,7 +136,7 @@ SMODS.Joker {
|
|||
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},
|
||||
|
|
@ -145,12 +145,14 @@ SMODS.Joker {
|
|||
cost = 6,
|
||||
rarity = 2,
|
||||
loc_vars = function(_, _, card)
|
||||
return {vars = {
|
||||
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
|
||||
|
|
@ -158,7 +160,7 @@ SMODS.Joker {
|
|||
SMODS.add_booster_to_shop()
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
function Jane.update_honey()
|
||||
|
|
@ -223,7 +225,7 @@ SMODS.Joker {
|
|||
"#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 = {level = "1"}}, -- Strings do not get mutated by other mods
|
||||
pos = {x = 0, y = 0},
|
||||
|
|
@ -257,7 +259,8 @@ SMODS.Joker {
|
|||
end
|
||||
end
|
||||
|
||||
return {vars = {
|
||||
return {
|
||||
vars = {
|
||||
is_corrupted and " (" .. level_name(level - 2) .. ")" or "",
|
||||
(exclusions or ""):sub(#separator),
|
||||
is_corrupted and "" or " jokers",
|
||||
|
|
@ -267,9 +270,11 @@ SMODS.Joker {
|
|||
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 "" 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,
|
||||
update = function(_, card, _)
|
||||
if card.added_to_deck and card.children.center and card.children.floating_sprite then
|
||||
|
|
@ -322,7 +327,7 @@ local oxy_quotes = {
|
|||
"...H-how are you doing t-that...?",
|
||||
"This is... unsettling...",
|
||||
"S-... So much power...",
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
function Jane.oxy(card, removed)
|
||||
|
|
@ -347,7 +352,7 @@ function Jane.oxy(card, removed)
|
|||
nil,
|
||||
{
|
||||
message = (extra.is_corrupted and "+" or "-") .. destroyed_steel,
|
||||
colour = extra.is_corrupted and G.C.PURPLE or G.C.GREY
|
||||
colour = extra.is_corrupted and G.C.PURPLE or G.C.GREY,
|
||||
}
|
||||
)
|
||||
end
|
||||
|
|
@ -367,7 +372,7 @@ SMODS.Joker {
|
|||
"{C:dark_edition,E:1}#7#{}#8#",
|
||||
"#9#{C:dark_edition,E:1}#10#",
|
||||
"{C:inactive,s:0.75,E:1}#11#{C:red,s:1.5,E:1}#12#",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {extra = {corrupted_steel = 2.5, is_corrupted = false, milestone = 3, progress = 0}},
|
||||
pos = {x = 0, y = 0},
|
||||
|
|
@ -385,7 +390,8 @@ SMODS.Joker {
|
|||
local effective = is_corrupted and progress or milestone - progress
|
||||
local plural = effective == 1 and "" or "s"
|
||||
|
||||
return {vars = {
|
||||
return {
|
||||
vars = {
|
||||
is_corrupted and " (Corrupted)" or "",
|
||||
amount,
|
||||
is_corrupted and "Purifies " or "",
|
||||
|
|
@ -396,9 +402,13 @@ SMODS.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..."),
|
||||
Jane.sinister and (is_corrupted and pseudorandom_element(oxy_quotes.scared, pseudoseed("OxyQuotes")) or "WHAT ARE YOU DOING DOWN THERE?!?") or "",
|
||||
}}
|
||||
Jane.sinister and "" or
|
||||
(is_corrupted and pseudorandom_element(oxy_quotes.normal, pseudoseed("OxyQuotes")) or "We all cut close..."),
|
||||
Jane.sinister and
|
||||
(is_corrupted and pseudorandom_element(oxy_quotes.scared, pseudoseed("OxyQuotes")) or "WHAT ARE YOU DOING DOWN THERE?!?") or
|
||||
"",
|
||||
},
|
||||
}
|
||||
end,
|
||||
update = function(_, card, _)
|
||||
if card.added_to_deck and card.children.center and card.children.floating_sprite then
|
||||
|
|
@ -428,7 +438,7 @@ SMODS.Joker {
|
|||
nil,
|
||||
{
|
||||
message = extra.is_corrupted and "-1" or "+1",
|
||||
colour = extra.is_corrupted and G.C.PURPLE or G.C.GREY
|
||||
colour = extra.is_corrupted and G.C.PURPLE or G.C.GREY,
|
||||
}
|
||||
)
|
||||
end
|
||||
|
|
@ -444,7 +454,7 @@ SMODS.Joker {
|
|||
card:flip()
|
||||
play_sound("card1")
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
|
||||
G.E_MANAGER:add_event(Event({
|
||||
|
|
@ -457,7 +467,7 @@ SMODS.Joker {
|
|||
extra.is_corrupted = not extra.is_corrupted
|
||||
extra.is_corrupting = nil
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
end
|
||||
|
||||
|
|
@ -467,7 +477,7 @@ SMODS.Joker {
|
|||
local amount = extra.is_corrupted and extra.corrupted_steel or extra.steel
|
||||
return {x_chips = amount, x_mult = amount, colour = G.C.PURPLE, card = card}, true
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
if Cryptid then
|
||||
|
|
@ -485,7 +495,7 @@ SMODS.Joker {
|
|||
"{X:dark_edition,C:chips}+" .. operator .. "#1#{C:chips} Chips{} for every",
|
||||
"{C:attention}unique Voucher redeemed",
|
||||
"{C:inactive}(Currently {X:dark_edition,C:chips}" .. operator .. "#2#{C:inactive})",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {big_num_scaler = true, extra = {tet = Cryptid and 0.1 or 0.5}},
|
||||
pos = {x = 0, y = 0},
|
||||
|
|
@ -513,7 +523,7 @@ SMODS.Joker {
|
|||
[Cryptid and "e_chips" or "x_chips"] = num,
|
||||
}, true
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
SMODS.Joker {
|
||||
|
|
@ -523,7 +533,7 @@ SMODS.Joker {
|
|||
text = {
|
||||
"This Joker has a {C:jane_RGB,E:1}strange",
|
||||
"{C:jane_RGB,E:1}reaction {}to scored {C:attention}7{}s",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {},
|
||||
pos = {x = 0, y = 0},
|
||||
|
|
@ -557,54 +567,54 @@ SMODS.Joker {
|
|||
message = Cryptid and "+777" or "+77",
|
||||
chips = Cryptid and 777 or 77,
|
||||
colour = palette,
|
||||
card = card
|
||||
card = card,
|
||||
}, true
|
||||
elseif rnd == 2 then
|
||||
return {
|
||||
message = Cryptid and "+777 Mult" or "+77 Mult",
|
||||
mult = Cryptid and 777 or 77,
|
||||
colour = palette,
|
||||
card = card
|
||||
card = card,
|
||||
}, true
|
||||
elseif rnd == 3 then
|
||||
return {
|
||||
message = "+$7",
|
||||
dollars = 7,
|
||||
colour = palette,
|
||||
card = card
|
||||
card = card,
|
||||
}, true
|
||||
elseif rnd == 4 then
|
||||
return {
|
||||
message = Cryptid and "x7" or "x1.77",
|
||||
x_chips = Cryptid and 7 or 1.77,
|
||||
colour = palette,
|
||||
card = card
|
||||
card = card,
|
||||
}, true
|
||||
elseif rnd == 5 then
|
||||
return {
|
||||
message = Cryptid and "x7 Mult" or "x1.77 Mult",
|
||||
x_mult = Cryptid and 7 or 1.77,
|
||||
colour = palette,
|
||||
card = card
|
||||
card = card,
|
||||
}, true
|
||||
elseif rnd == 6 then
|
||||
return {
|
||||
message = "^1.77",
|
||||
e_chips = 1.77,
|
||||
colour = palette,
|
||||
card = card
|
||||
card = card,
|
||||
}, true
|
||||
else
|
||||
return {
|
||||
message = "^1.77 Mult",
|
||||
e_mult = 1.77,
|
||||
colour = palette,
|
||||
card = card
|
||||
card = card,
|
||||
}, true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
SMODS.Joker {
|
||||
|
|
@ -617,7 +627,7 @@ SMODS.Joker {
|
|||
"{C:attention}food or Peppino Joker",
|
||||
"in your possession",
|
||||
"{C:inactive}(Currently {X:dark_edition,C:red}" .. operator .. "#1#{C:red} Mult{C:inactive})",
|
||||
}
|
||||
},
|
||||
},
|
||||
pos = {x = 0, y = 0},
|
||||
soul_pos = {x = 1, y = 0},
|
||||
|
|
@ -637,5 +647,5 @@ SMODS.Joker {
|
|||
[Cryptid and "e_mult" or "x_mult"] = 2 ^ count,
|
||||
}, true
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
27
src/main.lua
27
src/main.lua
|
|
@ -2,7 +2,7 @@ Jane = {
|
|||
config = {
|
||||
wee_sizemod = 1.25,
|
||||
texture_pack = "default",
|
||||
bans = {"j_cry_crustulum", "c_cry_hammerspace"}
|
||||
bans = {"j_cry_crustulum", "c_cry_hammerspace"},
|
||||
},
|
||||
}
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ function Jane.card_status_text(
|
|||
backdrop_colour = colour or (G.C.FILTER),
|
||||
align = align or "bm",
|
||||
major = card,
|
||||
offset = {x = xoffset or 0, y = yoffset or (-0.05*G.CARD_H)}
|
||||
offset = {x = xoffset or 0, y = yoffset or (-0.05 * G.CARD_H)},
|
||||
})
|
||||
|
||||
if sound then
|
||||
|
|
@ -90,7 +90,7 @@ function Jane.card_status_text(
|
|||
backdrop_colour = colour or (G.C.FILTER),
|
||||
align = align or "bm",
|
||||
major = card,
|
||||
offset = {x = xoffset or 0, y = yoffset or (-0.05*G.CARD_H)}
|
||||
offset = {x = xoffset or 0, y = yoffset or (-0.05 * G.CARD_H)},
|
||||
})
|
||||
|
||||
if sound then
|
||||
|
|
@ -110,7 +110,7 @@ function Jane.card_status_text(
|
|||
end
|
||||
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
end
|
||||
end
|
||||
|
|
@ -132,7 +132,7 @@ function Jane.get_chipmult_sum(chips, mult)
|
|||
mult = mult or 0
|
||||
|
||||
local break_infinity = ((Talisman or {}).config_file or {}).break_infinity
|
||||
local big = (break_infinity == "" or break_infinity == nil) and function (x) return x end or to_big
|
||||
local big = (break_infinity == "" or break_infinity == nil) and function(x) return x end or to_big
|
||||
local op = Jane.get_operator()
|
||||
|
||||
if op >= 3 then
|
||||
|
|
@ -161,16 +161,16 @@ end
|
|||
function Jane.hidden(card)
|
||||
return G.GAME and not
|
||||
G.GAME.obsidian and
|
||||
type(card) == 'table' and
|
||||
type(card) == "table" and
|
||||
(card.name == "Black Hole" or card.name == "The Soul" or card.hidden)
|
||||
end
|
||||
|
||||
function Jane.play_sound(sound, per, vol)
|
||||
G.E_MANAGER:add_event(Event({
|
||||
func = function()
|
||||
play_sound(sound,per,vol)
|
||||
play_sound(sound, per, vol)
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
end
|
||||
|
||||
|
|
@ -200,7 +200,7 @@ function Jane.q(fc, de, t, tr, bl, ba)
|
|||
delay = de,
|
||||
blockable = bl,
|
||||
blocking = ba,
|
||||
func = fc
|
||||
func = fc,
|
||||
}))
|
||||
end
|
||||
|
||||
|
|
@ -304,7 +304,7 @@ function Game:update(dt)
|
|||
end
|
||||
|
||||
pools.chips = pools.chips + inequalities * 150
|
||||
table.sort(hands, function (x, y) return x.order > y.order end)
|
||||
table.sort(hands, function(x, y) return x.order > y.order end)
|
||||
|
||||
for i, v in ipairs(hands) do
|
||||
v.mult = math.floor(pools.mult / count) + (small(pools.mult % count) >= i and 1 or 0)
|
||||
|
|
@ -316,13 +316,16 @@ function Game:update(dt)
|
|||
orrery[k] = {chips = v.chips, level = v.level, mult = v.mult}
|
||||
end
|
||||
|
||||
hand(localize("k_all_hands"), math.floor(pools.chips / count), math.floor(pools.mult / count), math.floor(pools.level / count))
|
||||
hand(localize("k_all_hands"), math.floor(pools.chips / count), math.floor(pools.mult / count),
|
||||
math.floor(pools.level / count))
|
||||
delay(1)
|
||||
update_hand_text({sound = "button", volume = 0.7, pitch = 1.1, delay = 0}, {mult = 0, chips = 0, handname = "", level = ""})
|
||||
update_hand_text({sound = "button", volume = 0.7, pitch = 1.1, delay = 0},
|
||||
{mult = 0, chips = 0, handname = "", level = ""})
|
||||
end
|
||||
|
||||
local function hsv(h, s, v)
|
||||
if s <= 0 then return v, v, v end
|
||||
|
||||
h = h * 6
|
||||
local c = v * s
|
||||
local x = (1 - math.abs((h % 2) - 1)) * c
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
-- The following code is slightly adapted from
|
||||
-- https://github.com/MathIsFun0/Cryptid/blob/main/lib/misprintize.lua
|
||||
|
||||
local base_values = {}
|
||||
|
||||
local big_num_whitelist = {
|
||||
|
|
@ -114,7 +113,6 @@ local function log_random(seed, min, max)
|
|||
end
|
||||
|
||||
function Jane.misprintize_val(val, override, big)
|
||||
|
||||
return is_number(val) and check(
|
||||
format(
|
||||
val * log_random(
|
||||
|
|
@ -247,6 +245,7 @@ function Jane.misprintize(card, override, force_reset, stack)
|
|||
end)
|
||||
end
|
||||
end
|
||||
|
||||
if (not force_reset or G.GAME.modifiers.cry_jkr_misprint_mod) and
|
||||
(G.GAME.modifiers.cry_misprint_min or override or card.ability.set == "Joker") and not
|
||||
stack or not
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ for _, v in pairs({
|
|||
key = "jane" .. v,
|
||||
px = 71,
|
||||
py = 95,
|
||||
path = Jane.config.texture_pack .. "/j_jane_" .. v .. ".png"
|
||||
path = Jane.config.texture_pack .. "/j_jane_" .. v .. ".png",
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ SMODS.Joker {
|
|||
"cards {C:attention}#1# time#2# {}if",
|
||||
"hand contains {C:attention}#3#",
|
||||
"or fewer card#4#",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {extra = {retriggers = 2, requirement = 4}},
|
||||
pos = {x = 0, y = 0},
|
||||
|
|
@ -57,12 +57,14 @@ SMODS.Joker {
|
|||
local retriggers = extra.retriggers
|
||||
local requirement = extra.requirement
|
||||
|
||||
return {vars = {
|
||||
return {
|
||||
vars = {
|
||||
retriggers,
|
||||
retriggers == 1 and "" or "s",
|
||||
requirement,
|
||||
requirement == 1 and "" or "s"
|
||||
}}
|
||||
requirement == 1 and "" or "s",
|
||||
},
|
||||
}
|
||||
end,
|
||||
calculate = function(_, card, context)
|
||||
if not context.repetition or
|
||||
|
|
@ -76,9 +78,9 @@ SMODS.Joker {
|
|||
message = localize("k_again_ex"),
|
||||
repetitions = card.ability.extra.retriggers,
|
||||
colour = G.C.ORANGE,
|
||||
card = card
|
||||
card = card,
|
||||
}, true
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
SMODS.Joker {
|
||||
|
|
@ -91,7 +93,7 @@ SMODS.Joker {
|
|||
"{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},
|
||||
|
|
@ -112,7 +114,7 @@ SMODS.Joker {
|
|||
(Cryptid and "an {C:spectral}Empowered Tag" or "a {C:dark_edition}Negative {C:spectral}Soul") .. " {}after #1#",
|
||||
"When {C:attention}sold#2#{}, turns#3#",
|
||||
"#4#{C:red}The Rot{} without rewards",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {extra = {rounds_left = hunter[1]}},
|
||||
pos = {x = 0, y = 0},
|
||||
|
|
@ -129,12 +131,14 @@ SMODS.Joker {
|
|||
local rounds_left = card.ability.extra.rounds_left
|
||||
local sold = rounds_left - hunter[2]
|
||||
|
||||
return {vars = {
|
||||
return {
|
||||
vars = {
|
||||
rounds_left .. rounds(rounds_left) .. (rounds_left <= 0 and "...?" or ""),
|
||||
sold <= 0 and "" or " after " .. sold .. rounds(sold),
|
||||
sold <= 0 and " into" or "",
|
||||
sold <= 0 and "" or "into ",
|
||||
}}
|
||||
},
|
||||
}
|
||||
end,
|
||||
update = function(_, card, _)
|
||||
if card.added_to_deck and card.children.center and card.children.floating_sprite then
|
||||
|
|
@ -185,7 +189,7 @@ SMODS.Joker {
|
|||
return
|
||||
end
|
||||
|
||||
if context.selling_self and card.ability.extra.rounds_left <= hunter[2] then
|
||||
if context.selling_self and card.ability.extra.rounds_left <= hunter[3] then
|
||||
spawn_rot()
|
||||
elseif not context.individual and not context.repetition and not context.retrigger_joker then
|
||||
if G.GAME.round_resets.hands <= 0 then
|
||||
|
|
@ -215,7 +219,8 @@ SMODS.Joker {
|
|||
card.hunter_prep = nil
|
||||
card.ability.extra.rounds_left = card.ability.extra.rounds_left - 1
|
||||
local rl = card.ability.extra.rounds_left
|
||||
Jane.card_status_text(card, tostring(card.ability.extra.rounds_left), nil, nil, G.C.RED, nil, nil, nil, nil, nil, "generic1")
|
||||
Jane.card_status_text(card, tostring(card.ability.extra.rounds_left), nil, nil, G.C.RED, nil, nil, nil, nil,
|
||||
nil, "generic1")
|
||||
|
||||
if rl > hunter[2] then
|
||||
card:juice_up(0.6, 0.1)
|
||||
|
|
@ -251,7 +256,7 @@ SMODS.Joker {
|
|||
G.E_MANAGER:add_event(Event({trigger = "after", func = die}))
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
SMODS.Joker {
|
||||
|
|
@ -264,7 +269,7 @@ SMODS.Joker {
|
|||
"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}}
|
||||
|
|
@ -304,7 +309,7 @@ SMODS.Joker {
|
|||
text = {
|
||||
"Grants the {C:green}ability{} to {C:red}destroy",
|
||||
"selected {C:attention}playing cards",
|
||||
}
|
||||
},
|
||||
},
|
||||
pos = {x = 0, y = 0},
|
||||
soul_pos = {x = 1, y = 0},
|
||||
|
|
@ -334,7 +339,7 @@ SMODS.Joker {
|
|||
"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}}
|
||||
|
|
@ -373,7 +378,7 @@ function Card:open()
|
|||
end
|
||||
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
end
|
||||
|
||||
|
|
@ -385,7 +390,7 @@ SMODS.Joker {
|
|||
text = {
|
||||
"Non-{C:dark_edition}editioned{} cards are",
|
||||
"{C:attention}given a random {C:dark_edition}Edition",
|
||||
}
|
||||
},
|
||||
},
|
||||
pos = {x = 0, y = 0},
|
||||
soul_pos = {x = 1, y = 0},
|
||||
|
|
@ -462,7 +467,7 @@ SMODS.Joker {
|
|||
"{C:inactive,s:1.25}#10#{C:attention,s:1.25}#11#{C:inactive,s:1.25}#12#{C:inactive}#13#{C:jane_RGB}#14#" ..
|
||||
(Cryptid and "{C:inactive}" or "{C:inactive,s:0.75}") ..
|
||||
"#15#",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {extra = {karma = 0, max_karma = Cryptid and 10 or 3}},
|
||||
pos = {x = 0, y = 0},
|
||||
|
|
@ -476,7 +481,8 @@ SMODS.Joker {
|
|||
local max_karma = extra.max_karma
|
||||
local attuned = karma >= max_karma
|
||||
|
||||
return {vars = {
|
||||
return {
|
||||
vars = {
|
||||
attuned and " (Attuned)" or "",
|
||||
Cryptid and "Ankh and Gateway" or "Ankh",
|
||||
attuned and "" or "Attune ",
|
||||
|
|
@ -492,7 +498,8 @@ SMODS.Joker {
|
|||
attuned and "(Cannot be debuffed" .. (Cryptid and "" or ", scales with ") or "",
|
||||
attuned and (Cryptid and "" or "polygloss") or "",
|
||||
attuned and ")" or "",
|
||||
}}
|
||||
},
|
||||
}
|
||||
end,
|
||||
update = function(_, card, _)
|
||||
if card.added_to_deck and card.children.center and card.children.floating_sprite then
|
||||
|
|
@ -592,7 +599,7 @@ SMODS.Joker {
|
|||
card:flip()
|
||||
play_sound("card1")
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
|
||||
G.E_MANAGER:add_event(Event({
|
||||
|
|
@ -603,9 +610,9 @@ SMODS.Joker {
|
|||
play_sound("card1")
|
||||
extra.is_attuned = true
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
if Cryptid then
|
||||
|
|
@ -622,13 +629,13 @@ SMODS.Joker {
|
|||
"Clogs up your Joker slots",
|
||||
"{C:attention}Duplicates itself{} at the",
|
||||
"end of {C:attention}every ante",
|
||||
}
|
||||
},
|
||||
},
|
||||
pos = {x = 0, y = 0},
|
||||
soul_pos = {x = 1, y = 0},
|
||||
cost = 1,
|
||||
rarity = "jane_junk",
|
||||
in_pool = function (_, _)
|
||||
in_pool = function(_, _)
|
||||
for _, v in pairs(SMODS.find_card("j_jane_honey")) do
|
||||
if tonumber(v.ability.extra.level) == #Jane.rarity_ids - 1 then
|
||||
return true
|
||||
|
|
@ -658,12 +665,16 @@ SMODS.Joker {
|
|||
rot:add_to_deck()
|
||||
G.jokers:emplace(rot)
|
||||
Jane.card_status_text(rot, "...", nil, 0.05 * card.T.h, G.C.BLACK, 3, 0, 0, nil, "bm")
|
||||
return true
|
||||
end
|
||||
|
||||
if has_room() and not card.cloned and is_end_of_ante() then
|
||||
spawn()
|
||||
Jane.q(spawn, 0.5)
|
||||
else
|
||||
Jane.q(function()
|
||||
card.cloned = false
|
||||
return true
|
||||
end, 5)
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ SMODS.Atlas {
|
|||
key = "janertarots",
|
||||
px = 71,
|
||||
py = 95,
|
||||
path = Jane.config.texture_pack .. "/c_jane_reversetarots.png"
|
||||
path = Jane.config.texture_pack .. "/c_jane_reversetarots.png",
|
||||
}
|
||||
|
||||
SMODS.Sound({key = "draw", path = "draw.ogg"})
|
||||
|
|
@ -26,7 +26,7 @@ local function conjure(card, number)
|
|||
G.consumeables:emplace(spectral)
|
||||
card:juice_up(0.3, 0.5)
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
end
|
||||
end
|
||||
|
|
@ -65,7 +65,7 @@ local function createfulldeck(enhancement, edition, amount, emplacement)
|
|||
end
|
||||
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
end
|
||||
end
|
||||
|
|
@ -90,7 +90,7 @@ local function randomize(targets, noanim)
|
|||
end
|
||||
|
||||
if noanim then
|
||||
for i=1, #targets do
|
||||
for i = 1, #targets do
|
||||
local card = targets[i]
|
||||
card:set_base(pseudorandom_element(G.P_CARDS))
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ local function randomize(targets, noanim)
|
|||
play_sound("card1", percent)
|
||||
targets[i]:juice_up(0.3, 0.3)
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
end
|
||||
|
||||
|
|
@ -173,7 +173,7 @@ local function randomize(targets, noanim)
|
|||
play_sound("card3", percent, 0.6)
|
||||
card:juice_up(0.3, 0.3)
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
end
|
||||
end
|
||||
|
|
@ -189,7 +189,7 @@ SMODS.Consumable {
|
|||
"{C:green,E:1}Randomises{} all cards in hand",
|
||||
"{C:inactive}(Rank, seal, edition,",
|
||||
"{C:inactive}enhancement, and suit)",
|
||||
}
|
||||
},
|
||||
},
|
||||
pos = {x = 0, y = 4},
|
||||
cost = 4,
|
||||
|
|
@ -204,12 +204,12 @@ SMODS.Consumable {
|
|||
play_sound("tarot1")
|
||||
card:juice_up(0.3, 0.5)
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}))
|
||||
|
||||
randomize(G.hand.cards)
|
||||
delay(0.5)
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
SMODS.Consumable {
|
||||
|
|
@ -222,7 +222,7 @@ SMODS.Consumable {
|
|||
"Creates {C:attention}#1#",
|
||||
"{C:spectral}Spectral{} cards",
|
||||
"{C:inactive}(Must have room)",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {extra = {spectrals = 2}},
|
||||
pos = {x = 2, y = 4},
|
||||
|
|
@ -238,7 +238,7 @@ SMODS.Consumable {
|
|||
bulk_use = function(_, card, _, _, number)
|
||||
conjure(card, number)
|
||||
delay(0.6)
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
SMODS.Consumable {
|
||||
|
|
@ -251,7 +251,7 @@ SMODS.Consumable {
|
|||
"Create {C:attention}#1#{} {C:green}random {C:dark_edition}Negative",
|
||||
"{C:attention}Perishable {C:attention}Jokers{}, set {C:money}sell",
|
||||
"{C:money}value {}of {C:attention}all Jokers {}to {C:money}$0",
|
||||
}
|
||||
},
|
||||
},
|
||||
config = {extra = {shadows = 2}},
|
||||
pos = {x = 3, y = 4},
|
||||
|
|
@ -278,7 +278,8 @@ SMODS.Consumable {
|
|||
G.jokers.cards[i].extra_cost = 0
|
||||
G.jokers.cards[i].cost = 0
|
||||
G.jokers.cards[i].sell_cost = 0
|
||||
G.jokers.cards[i].sell_cost_label = G.jokers.cards[i].facing == "back" and "?" or G.jokers.cards[i].sell_cost
|
||||
G.jokers.cards[i].sell_cost_label = G.jokers.cards[i].facing == "back" and "?" or G.jokers.cards[i]
|
||||
.sell_cost
|
||||
end
|
||||
end,
|
||||
bulk_use = function(_, card, _, _, number)
|
||||
|
|
@ -301,12 +302,12 @@ SMODS.Consumable {
|
|||
G.jokers.cards[i].extra_cost = 0
|
||||
G.jokers.cards[i].cost = 0
|
||||
G.jokers.cards[i].sell_cost = 0
|
||||
G.jokers.cards[i].sell_cost_label = G.jokers.cards[i].facing == "back" and "?" or G.jokers.cards[i].sell_cost
|
||||
end
|
||||
G.jokers.cards[i].sell_cost_label = G.jokers.cards[i].facing == "back" and "?" or G.jokers.cards[i]
|
||||
.sell_cost
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
|
||||
SMODS.Consumable {
|
||||
key = "rift",
|
||||
atlas = "janeacc",
|
||||
|
|
@ -315,8 +316,8 @@ SMODS.Consumable {
|
|||
name = "Rift",
|
||||
text = {
|
||||
"{C:attention}Reset{} your deck to a",
|
||||
"{C:attention}standard 52-card deck"
|
||||
}
|
||||
"{C:attention}standard 52-card deck",
|
||||
},
|
||||
},
|
||||
cost = 15,
|
||||
pos = {x = 4, y = 4},
|
||||
|
|
@ -337,11 +338,11 @@ SMODS.Consumable {
|
|||
delay = time or 1,
|
||||
func = function()
|
||||
return true
|
||||
end
|
||||
end,
|
||||
}), queue)
|
||||
end
|
||||
|
||||
realdelay(1)
|
||||
createfulldeck()
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ local blurbs = {
|
|||
"Juggling is one of my favourite passtimes!",
|
||||
"I wonder what's the deal with pairs?",
|
||||
"You don't need to understand math to enjoy watching the digits climb!",
|
||||
"You should meet my friend Joseph; he's stuck in a Planet card!",
|
||||
"M!",
|
||||
}
|
||||
|
||||
|
|
@ -35,8 +34,8 @@ SMODS.Consumable {
|
|||
name = "Joker-in-a-Tarot",
|
||||
text = {
|
||||
"Create a {C:dark_edition}Negative {C:attention}default Joker",
|
||||
"{C:inactive,E:1}#1#{}"
|
||||
}
|
||||
"{C:inactive,E:1}#1#{}",
|
||||
},
|
||||
},
|
||||
loc_vars = function(_, _, _)
|
||||
return {vars = {blurbs[math.random(#blurbs)]}}
|
||||
|
|
@ -59,5 +58,5 @@ SMODS.Consumable {
|
|||
for _ = 1, number do
|
||||
self:use(card, area, copier)
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ SMODS.Atlas {
|
|||
key = "janetokens",
|
||||
px = 71,
|
||||
py = 95,
|
||||
path = Jane.config.texture_pack .. "/c_jane_tokens.png"
|
||||
path = Jane.config.texture_pack .. "/c_jane_tokens.png",
|
||||
}
|
||||
|
||||
SMODS.Sound({key = "e_gilded", path = "e_gilded.ogg"})
|
||||
|
|
@ -12,7 +12,7 @@ SMODS.ConsumableType {
|
|||
default = "c_jane_token_tag_standard",
|
||||
loc_txt = {
|
||||
collection = "Tokens",
|
||||
name = "Token"
|
||||
name = "Token",
|
||||
},
|
||||
shop_rate = 0,
|
||||
collection_rows = {5, 6},
|
||||
|
|
@ -96,7 +96,7 @@ for _, v in pairs({
|
|||
can_stack = true,
|
||||
can_divide = true,
|
||||
can_use = Jane.can_use,
|
||||
in_pool = function (_, _)
|
||||
in_pool = function(_, _)
|
||||
return G.GAME.used_vouchers.v_jane_token_voucher
|
||||
end,
|
||||
use = function(_, _, _, _)
|
||||
|
|
@ -109,7 +109,7 @@ for _, v in pairs({
|
|||
for _ = 1, number do
|
||||
add_tag(Tag(v[1]))
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ SMODS.Atlas {
|
|||
key = "janetokenvoucher",
|
||||
px = 71,
|
||||
py = 95,
|
||||
path = Jane.config.texture_pack .. "/v_jane_token_voucher.png"
|
||||
path = Jane.config.texture_pack .. "/v_jane_token_voucher.png",
|
||||
}
|
||||
|
||||
SMODS.Voucher {
|
||||
|
|
@ -13,11 +13,11 @@ SMODS.Voucher {
|
|||
text = {
|
||||
"{C:attention}Tokens {}can appear",
|
||||
"in the shop",
|
||||
}
|
||||
},
|
||||
},
|
||||
pos = {x = 0, y = 0},
|
||||
cost = 15,
|
||||
redeem = function (_, _)
|
||||
G.GAME['jane_tokens_rate'] = 1.5
|
||||
end
|
||||
redeem = function(_, _)
|
||||
G.GAME["jane_tokens_rate"] = 1.5
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue