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
5 changes: 4 additions & 1 deletion Brainstorm.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@ function initBrainstorm()
local lovely = require("lovely")
local nativefs = require("nativefs")
assert(load(nativefs.read(lovely.mod_dir .. "/Brainstorm/Brainstorm_main.lua")))()
assert(load(nativefs.read(lovely.mod_dir .. "/Brainstorm/Brainstorm_i18n.lua")))()
assert(load(nativefs.read(lovely.mod_dir .. "/Brainstorm/Brainstorm_UI.lua")))()
assert(load(nativefs.read(lovely.mod_dir .. "/Brainstorm/Brainstorm_keyhandler.lua")))()
assert(load(nativefs.read(lovely.mod_dir .. "/Brainstorm/Brainstorm_reroll.lua")))()
if nativefs.getInfo(lovely.mod_dir .. "/Brainstorm/settings.lua") then
local settings_file = STR_UNPACK(nativefs.read((lovely.mod_dir .. "/Brainstorm/settings.lua")))
if settings_file ~= nil then
Brainstorm.SETTINGS = settings_file
if Brainstorm.migrate_settings() then
nativefs.write(lovely.mod_dir .. "/Brainstorm/settings.lua", STR_PACK(Brainstorm.SETTINGS))
end
end
end
_RELEASE_MODE = not Brainstorm.SETTINGS.debug_mode
end


122 changes: 43 additions & 79 deletions Brainstorm_UI.lua
Original file line number Diff line number Diff line change
@@ -1,60 +1,13 @@
local lovely = require("lovely")
local nativefs = require("nativefs")



Brainstorm.SearchTagList = {
["None"]="",
["Uncommon Tag"]="tag_uncommon",
["Rare Tag"]="tag_rare",
["Holographic Tag"]="tag_holo",
["Foil Tag"]="tag_foil",
["Polychrome Tag"]="tag_polychrome",
["Investment Tag"]="tag_investment",
["Voucher Tag"]="tag_voucher",
["Boss Tag"]="tag_boss",
["Charm Tag"]="tag_charm",
["Juggle Tag"]="tag_juggle",
["Double Tag"]="tag_double",
["Coupon Tag"]="tag_coupon",
["Economy Tag"]="tag_economy",
["Skip Tag"]="tag_skip",
["D6 Tag"]="tag_d_six",
}

Brainstorm.SearchPackList = {
["None"] = {},
["Arcana"] = {"p_arcana_normal_1","p_arcana_normal_2","p_arcana_normal_3","p_arcana_normal_4","p_arcana_jumbo_1","p_arcana_jumbo_2","p_arcana_mega_1", "p_arcana_mega_2"},
["Celestial"] = {"p_celestial_normal_1","p_celestial_normal_2","p_celestial_normal_3","p_celestial_normal_4","p_celestial_jumbo_1","p_celestial_jumbo_2","p_celestial_mega_1", "p_celestial_mega_2"},
["Standard"] = {"p_standard_normal_1","p_standard_normal_2","p_standard_normal_3","p_standard_normal_4","p_standard_jumbo_1","p_standard_jumbo_2","p_standard_mega_1", "p_standard_mega_2"},
["Buffoon"] = {"p_buffoon_normal_1","p_buffoon_normal_2","p_buffoon_jumbo_1","p_buffoon_mega_1"},
["Spectral"] = {"p_spectral_normal_1","p_spectral_normal_2","p_spectral_jumbo_1","p_spectral_mega_1"},
["Normal Arcana"] = {"p_arcana_normal_1","p_arcana_normal_2","p_arcana_normal_3","p_arcana_normal_4"},
["Jumbo Arcana"] = {"p_arcana_jumbo_1","p_arcana_jumbo_2"},
["Mega Arcana"] = {"p_arcana_mega_1", "p_arcana_mega_2"},
["Normal Celestial"] = {"p_celestial_normal_1","p_celestial_normal_2","p_celestial_normal_3","p_celestial_normal_4"},
["Jumbo Celestial"] = {"p_celestial_jumbo_1","p_celestial_jumbo_2"},
["Mega Celestial"] = {"p_celestial_mega_1", "p_celestial_mega_2"},
["Normal Standard"] = {"p_standard_normal_1","p_standard_normal_2","p_standard_normal_3","p_standard_normal_4"},
["Jumbo Standard"] = {"p_standard_jumbo_1","p_standard_jumbo_2"},
["Mega Standard"] = {"p_standard_mega_1", "p_standard_mega_2"},
["Normal Buffoon"] = {"p_buffoon_normal_1","p_buffoon_normal_2"},
["Jumbo Buffoon"] = {"p_buffoon_jumbo_1"},
["Mega Buffoon"] = {"p_buffoon_mega_1"},
["Normal Spectral"] = {"p_spectral_normal_1","p_spectral_normal_2"},
["Jumbo Spectral"] = {"p_spectral_jumbo_1"},
["Mega Spectral"] = {"p_spectral_mega_1"},
}
Brainstorm.seedsPerFrame = {
["500"] = 500,
["750"] = 750,
["1000"] = 1000,
}

local searchTagKeys = {"None", "Charm Tag", "Double Tag", "Uncommon Tag", "Rare Tag", "Holographic Tag", "Foil Tag", "Polychrome Tag", "Investment Tag", "Voucher Tag", "Boss Tag", "Juggle Tag", "Coupon Tag", "Economy Tag", "Skip Tag", "D6 Tag"}
local searchPackKeys = {"None", "Arcana", "Celestial", "Standard", "Buffoon", "Spectral", "Normal Arcana", "Jumbo Arcana", "Mega Arcana", "Normal Celestial", "Jumbo Celestial", "Mega Celestial", "Normal Standard", "Jumbo Standard", "Mega Standard", "Normal Buffoon", "Jumbo Buffoon", "Mega Buffoon", "Normal Spectral", "Jumbo Spectral", "Mega Spectral"}
local seedsPerFrame = {"500", "750", "1000"}
-- print(Brainstorm.FUNCS.inspect(searchTagKeys))

Brainstorm.G_FUNCS_options_ref = G.FUNCS.options
G.FUNCS.options = function(e)
Expand All @@ -63,8 +16,19 @@ end
local ct = create_tabs
function create_tabs(args)
if args and args.tab_h == 7.05 then
local searchTagLabels = Brainstorm.search_tag_labels()
local searchPackLabels = Brainstorm.search_pack_labels()
local currentTagOption = Brainstorm.option_index_by_key(Brainstorm.SearchTagOptions, Brainstorm.SETTINGS.autoreroll.searchTagKey)
or tonumber(Brainstorm.SETTINGS.autoreroll.searchTagID)
or 1
local currentPackOption = Brainstorm.option_index_by_key(Brainstorm.SearchPackOptions, Brainstorm.SETTINGS.autoreroll.searchPackKey)
or tonumber(Brainstorm.SETTINGS.autoreroll.searchPackID)
or 1
if currentTagOption < 1 or currentTagOption > #Brainstorm.SearchTagOptions then currentTagOption = 1 end
if currentPackOption < 1 or currentPackOption > #Brainstorm.SearchPackOptions then currentPackOption = 1 end

args.tabs[#args.tabs + 1] = {
label = "Brainstorm",
label = Brainstorm.t('ui.tab_name'),
tab_definition_function = function()
return {
n = G.UIT.ROOT,
Expand All @@ -73,42 +37,42 @@ function create_tabs(args)
padding = 0.05,
colour = G.C.CLEAR,
},
nodes = {
create_toggle({
label = "Debug Mode",
ref_table = Brainstorm.SETTINGS,
ref_value = "debug_mode",
nodes = {
create_toggle({
label = Brainstorm.t('ui.debug_mode'),
ref_table = Brainstorm.SETTINGS,
ref_value = "debug_mode",
callback = function(_set_toggle)
_RELEASE_MODE = not Brainstorm.SETTINGS.debug_mode
G.F_NO_ACHIEVEMENTS = Brainstorm.SETTINGS.debug_mode
end,
}),
create_option_cycle({
label = "AutoReroll Search Tag",
scale = 0.8,
w = 4,
options = searchTagKeys,
opt_callback = "change_search_tag",
current_option = Brainstorm.SETTINGS.autoreroll.searchTagID or 1,
}),
create_option_cycle({
label = "AutoReroll Search Pack",
scale = 0.8,
w = 4,
options = searchPackKeys,
opt_callback = "change_search_pack",
current_option = Brainstorm.SETTINGS.autoreroll.searchPackID or 1,
}),
create_option_cycle({
label = "Charm Tag/Arcana Pack: Number of Souls",
scale = 0.8,
w = 4,
options = {0,1,2},
opt_callback = "change_search_soul_count",
current_option = Brainstorm.SETTINGS.autoreroll.searchForSoul + 1 or 1,
}),
}),
create_option_cycle({
label = Brainstorm.t('ui.search_tag'),
scale = 0.8,
w = 4,
options = searchTagLabels,
opt_callback = "change_search_tag",
current_option = currentTagOption,
}),
create_option_cycle({
label = Brainstorm.t('ui.search_pack'),
scale = 0.8,
w = 4,
options = searchPackLabels,
opt_callback = "change_search_pack",
current_option = currentPackOption,
}),
create_option_cycle({
label = Brainstorm.t('ui.soul_count'),
scale = 0.8,
w = 4,
options = {0,1,2},
opt_callback = "change_search_soul_count",
current_option = (Brainstorm.SETTINGS.autoreroll.searchForSoul or 0) + 1,
}),
create_option_cycle({
label = "Rerolls per Frame",
label = Brainstorm.t('ui.rerolls_per_frame'),
scale = 0.8,
w = 4,
options = seedsPerFrame,
Expand Down
Loading