Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added assets/1x/locked_stake.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/2x/locked_stake.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 13 additions & 1 deletion localization/en-us.lua
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,19 @@ return {
b_limit = 'Up to ',
b_retrigger_single = 'time',
b_retrigger_plural = 'times',
k_enhanced = 'Enhancement'
k_enhanced = 'Enhancement',
run_select_locked_stake = "Locked",
run_select_locked_stake_message = "Win with this deck on ",
run_select_locked_stake_and = " and ",
run_select_nothing = 'Nothing',
run_select_selected = 'SELECTED',
run_select_quick_start = 'Quick Start',
run_select_play = 'Play',
run_setup_enable_seed = 'Enable Seed',
run_select_deck_choice = 'Select Deck',
run_select_stake_choice = 'Select Stake',
run_select_deck_choice_random = 'Random Deck',
run_select_stake_choice_random = 'Random Stake',
},
v_dictionary = {
c_types = '#1# Types',
Expand Down
2 changes: 1 addition & 1 deletion lovely/back.toml
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ match_indent = true
payload = '''
local key_override
if back_config.loc_vars and type(back_config.loc_vars) == 'function' then
local res = back_config:loc_vars() or {}
local res = back_config:loc_vars({}) or {}
loc_args = res.vars or {}
key_override = res.key
elseif name_to_check == 'Blue Deck' then loc_args = {effect_config.hands}'''
Expand Down
68 changes: 68 additions & 0 deletions lovely/run_select.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
[manifest]
version = "1.0.0"
dump_lua = true
priority = -10

# Use the modified run select page system
# G.UIDEF.run_setup()
[[patches]]
[patches.regex]
target = 'functions/UI_definitions.lua'
pattern = '''
(?<indent>[\t ]*)tab_definition_function = G.UIDEF.run_setup_option,[\n\t ]*tab_definition_function_args = 'New Run'
'''
position = 'at'
line_prepend = "$indent"
payload = '''
tab_definition_function = G.UIDEF.run_select_galdur,
tab_definition_function_args = 'New Run'

'''

# Game:start_run()
# Allow run_select deck_choice to work
[[patches]]
[patches.pattern]
target = 'game.lua'
pattern = "local selected_back = saveTable and saveTable.BACK.name or (args.challenge and args.challenge.deck and args.challenge.deck.type) or (self.GAME.viewed_back and self.GAME.viewed_back.name) or self.GAME.selected_back and self.GAME.selected_back.name or 'Red Deck'"
position = 'at'
match_indent = true
payload = '''
local selected_back = saveTable and saveTable.BACK.name or (args.challenge and args.challenge.deck and args.challenge.deck.type) or (args.deck_choice and args.deck_choice.name) or (self.GAME.viewed_back and self.GAME.viewed_back.name) or self.GAME.selected_back and self.GAME.selected_back.name or 'Red Deck'
'''
# Allow run_select stake_choice to work
[[patches]]
[patches.pattern]
target = 'game.lua'
match_indent = true
position = 'at'
pattern = '''
self.GAME.stake = args.stake or self.GAME.stake or 1
'''
payload = '''
self.GAME.stake = args.stake_choice or args.stake or self.GAME.stake or 1
'''

# Allows hovering of chips in stake chip tower
# Controller:update()
[[patches]]
[patches.pattern]
target = 'engine/controller.lua'
pattern = '''if self.hovering.target and self.hovering.target == self.dragging.target and not self.HID.touch then'''
position = 'before'
match_indent = true
payload = '''
if self.hovering.prev_target and self.hovering.prev_target.role and self.hovering.prev_target.role.major and self.hovering.prev_target.role.major.params and self.hovering.prev_target.role.major.params.stake and self.hovering.target ~= self.hovering.prev_target then self.hovering.prev_target.role.major:stop_hover() end
if self.hovering.target and self.hovering.target.role and self.hovering.target.role.major and self.hovering.target.role.major.params and self.hovering.target.role.major.params.stake and self.hovering.target ~= self.hovering.prev_target then self.hovering.target.role.major:hover() end
'''

# Pressing b restarts properly
[[patches]]
[patches.pattern]
target = 'engine/controller.lua'
pattern = '''G:start_run({})'''
position = 'at'
match_indent = true
payload = '''
G.FUNCS.run_select_quick_start()
'''
4 changes: 2 additions & 2 deletions lovely/stake.toml
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ payload = '''
local t, res = {}, {}
if _stake_center then
if _stake_center.loc_vars and type(_stake_center.loc_vars) == 'function' then
res = _stake_center:loc_vars() or {}
res = _stake_center:loc_vars({}) or {}
end
t.vars = res.vars or {}
t.key = res.key or _stake_center.key
Expand Down Expand Up @@ -272,7 +272,7 @@ localize{type = 'descriptions', key = _stake_center.key, set = _stake_center.set
payload = '''
local t, res = {}, {}
if _stake_center.loc_vars and type(_stake_center.loc_vars) == 'function' then
res = _stake_center:loc_vars() or {}
res = _stake_center:loc_vars({}) or {}
end
t.vars = res.vars or {}
t.key = res.key or _stake_center.key
Expand Down
32 changes: 31 additions & 1 deletion lovely/ui_elements.toml
Original file line number Diff line number Diff line change
Expand Up @@ -305,4 +305,34 @@ for _, v in ipairs(text_shaders) do
if v then self:set_text_shader() end
end
"""
match_indent = true
match_indent = true


# Slider adjustments
# Sliders now round their values
# side effect: sliders with a smaller range of options may "slide" in a blocky way
[[patches]]
[patches.pattern]
target = 'functions/button_callbacks.lua'
match_indent = true
position = 'after'
pattern = '''
rt.ref_table[rt.ref_value] = math.min(rt.max,math.max(rt.min, rt.min + (rt.max - rt.min)*(G.CURSOR.T.x - e.parent.T.x - G.ROOM.T.x)/e.T.w))
'''
payload = '''
local modifier = 10^(rt.decimal_places or 0)
rt.ref_table[rt.ref_value] = math.floor(rt.ref_table[rt.ref_value] * modifier + 0.5)/modifier
'''

# Customise background colour of sliders
[[patches]]
[patches.pattern]
target = 'functions/UI_definitions.lua'
match_indent = true
position = 'at'
pattern = '''
{n=G.UIT.C, config={align = "cl", minw = args.w, r = 0.1,min_h = args.h,collideable = true, hover = true, colour = G.C.BLACK,emboss = 0.05,func = 'slider', refresh_movement = true}, nodes={
'''
payload = '''
{n=G.UIT.C, config={align = "cl", minw = args.w, r = 0.1,min_h = args.h,collideable = true, hover = true, colour = args.background_colour or G.C.BLACK,emboss = 0.05,func = 'slider', refresh_movement = true}, nodes={
'''
15 changes: 15 additions & 0 deletions src/game_object.lua
Original file line number Diff line number Diff line change
Expand Up @@ -842,6 +842,9 @@ Set `prefix_config.key = false` on your object instead.]]):format(obj.key), obj.
modifiers = function()
G.GAME.modifiers.enable_eternals_in_shop = true
end,
loc_vars = function(self, info_queue, card)
info_queue[#info_queue+1] = {set = 'Other', key = 'eternal'}
end,
colour = G.C.BLACK,
loc_txt = {}
}
Expand Down Expand Up @@ -881,6 +884,9 @@ Set `prefix_config.key = false` on your object instead.]]):format(obj.key), obj.
modifiers = function()
G.GAME.modifiers.enable_perishables_in_shop = true
end,
loc_vars = function(self, info_queue, card)
info_queue[#info_queue+1] = {set = 'Other', key = 'perishable', vars = {5, 5}}
end,
colour = G.C.ORANGE,
loc_txt = {},
}
Expand All @@ -893,6 +899,9 @@ Set `prefix_config.key = false` on your object instead.]]):format(obj.key), obj.
modifiers = function()
G.GAME.modifiers.enable_rentals_in_shop = true
end,
loc_vars = function(self, info_queue, card)
info_queue[#info_queue+1] = {set = 'Other', key = 'rental', vars = {G.GAME.rental_rate or 1}}
end,
colour = G.C.GOLD,
shiny = true,
loc_txt = {}
Expand Down Expand Up @@ -4020,6 +4029,12 @@ SMODS.UndiscoveredCompat = {

assert(load(NFS.read(SMODS.path..'src/card_draw.lua'), ('=[SMODS _ "src/card_draw.lua"]')))()

-------------------------------------------------------------------------------------------------
----- API IMPORT GameObject.RunSelectPage
-------------------------------------------------------------------------------------------------

assert(load(SMODS.NFS.read(SMODS.path..'src/game_objects/runselectpage.lua'), ('=[SMODS _ "src/game_objects/runselectpage.lua"]')))()

-------------------------------------------------------------------------------------------------
----- INTERNAL API CODE GameObject._Loc_Post
-------------------------------------------------------------------------------------------------
Expand Down
Loading