837 lines
36 KiB
Lua
837 lines
36 KiB
Lua
local mod = get_mod("AutoMark")
|
|
local Breed = require("scripts/utilities/breed")
|
|
local Breeds = require("scripts/settings/breed/breeds")
|
|
local Archetypes = require("scripts/settings/archetype/archetypes")
|
|
|
|
local elite_widget = {
|
|
setting_id = "toggle_elite",
|
|
type = "checkbox",
|
|
default_value = true,
|
|
sub_widgets = {},
|
|
}
|
|
|
|
local special_widget = {
|
|
setting_id = "toggle_special",
|
|
type = "checkbox",
|
|
default_value = true,
|
|
sub_widgets = {},
|
|
}
|
|
|
|
local boss_widget = {
|
|
setting_id = "toggle_boss",
|
|
type = "checkbox",
|
|
default_value = true,
|
|
sub_widgets = {},
|
|
}
|
|
|
|
local other_widget = {
|
|
setting_id = "toggle_other",
|
|
type = "checkbox",
|
|
default_value = true,
|
|
sub_widgets = {},
|
|
}
|
|
|
|
local function create_breed_priority_dropdown(breed_name, default_value)
|
|
local breed_priority_setting = {
|
|
setting_id = breed_name,
|
|
type = "numeric",
|
|
default_value = breed_name == "chaos_poxwalker_bomber" and 0 or default_value,
|
|
range = { 0, 30 },
|
|
tooltip = "tooltip_breed_priority",
|
|
}
|
|
return breed_priority_setting
|
|
end
|
|
|
|
local elite_priority_dropdown = {}
|
|
local special_priority_dropdown = {}
|
|
local boss_priority_dropdown = {}
|
|
local other_priority_dropdown = {}
|
|
|
|
for breed_name, breed_data in pairs(Breeds) do
|
|
if Breed.is_minion(breed_data) and breed_data.unit_template_name == "minion" and breed_data.smart_tag_target_type == "breed" and breed_data.faction_name ~= "imperium" then
|
|
if breed_data.tags.elite then
|
|
elite_priority_dropdown[#elite_priority_dropdown + 1] = create_breed_priority_dropdown(breed_name, 0)
|
|
elseif breed_data.tags.special then
|
|
special_priority_dropdown[#special_priority_dropdown + 1] = create_breed_priority_dropdown(breed_name, 1)
|
|
elseif breed_data.is_boss then
|
|
boss_priority_dropdown[#boss_priority_dropdown + 1] = create_breed_priority_dropdown(breed_name, 1)
|
|
if breed_data.tags.witch then
|
|
boss_priority_dropdown[#boss_priority_dropdown + 1] = create_breed_priority_dropdown(breed_name .. "_passive", 1)
|
|
end
|
|
else
|
|
other_priority_dropdown[#other_priority_dropdown + 1] = create_breed_priority_dropdown(breed_name, 1)
|
|
end
|
|
end
|
|
end
|
|
|
|
local get_breed_sort = function(breed_name)
|
|
return mod:localize(breed_name)
|
|
end
|
|
|
|
local compare_breed_name = function(a, b)
|
|
return get_breed_sort(a.setting_id) < get_breed_sort(b.setting_id)
|
|
end
|
|
|
|
table.sort(elite_priority_dropdown, compare_breed_name)
|
|
table.sort(special_priority_dropdown, compare_breed_name)
|
|
table.sort(boss_priority_dropdown, compare_breed_name)
|
|
table.sort(other_priority_dropdown, compare_breed_name)
|
|
|
|
elite_widget.sub_widgets = elite_priority_dropdown
|
|
special_widget.sub_widgets = special_priority_dropdown
|
|
boss_widget.sub_widgets = boss_priority_dropdown
|
|
other_widget.sub_widgets = other_priority_dropdown
|
|
|
|
local class_options = {
|
|
{ text = "adamant_companion", value = "adamant_companion" },
|
|
{ text = "veteran_focus_target", value = "veteran_focus_target" },
|
|
{ text = "cryptic_servo_skull", value = "cryptic_servo_skull" },
|
|
}
|
|
|
|
for class_name, _ in pairs(Archetypes) do
|
|
class_options[#class_options + 1] = { text = class_name, value = class_name }
|
|
end
|
|
|
|
table.sort(class_options, function(a, b) return a.text < b.text end)
|
|
|
|
local breed_name_options = {}
|
|
local elite_breed_names = {}
|
|
local special_breed_names = {}
|
|
local boss_breed_names = {}
|
|
local captain_breed_names = {}
|
|
local other_breed_names = {}
|
|
for breed_name, breed_data in pairs(Breeds) do
|
|
if Breed.is_minion(breed_data) and breed_data.unit_template_name == "minion" and breed_data.smart_tag_target_type == "breed" and breed_data.faction_name ~= "imperium" then
|
|
if breed_data.tags.elite then
|
|
elite_breed_names[#elite_breed_names + 1] = breed_name
|
|
elseif breed_data.tags.special then
|
|
special_breed_names[#special_breed_names + 1] = breed_name
|
|
elseif breed_data.is_boss then
|
|
if breed_data.tags.captain or breed_data.tags.cultist_captain then
|
|
captain_breed_names[#captain_breed_names + 1] = breed_name
|
|
else
|
|
boss_breed_names[#boss_breed_names + 1] = breed_name
|
|
end
|
|
else
|
|
other_breed_names[#other_breed_names + 1] = breed_name
|
|
end
|
|
end
|
|
end
|
|
table.sort(elite_breed_names, function(a, b) return get_breed_sort(a) < get_breed_sort(b) end)
|
|
table.sort(special_breed_names, function(a, b) return get_breed_sort(a) < get_breed_sort(b) end)
|
|
table.sort(boss_breed_names, function(a, b) return get_breed_sort(a) < get_breed_sort(b) end)
|
|
table.sort(captain_breed_names, function(a, b) return get_breed_sort(a) < get_breed_sort(b) end)
|
|
table.sort(other_breed_names, function(a, b) return get_breed_sort(a) < get_breed_sort(b) end)
|
|
|
|
for _, breed_name in ipairs(elite_breed_names) do
|
|
breed_name_options[#breed_name_options + 1] = { text = breed_name, value = breed_name }
|
|
end
|
|
for _, breed_name in ipairs(special_breed_names) do
|
|
breed_name_options[#breed_name_options + 1] = { text = breed_name, value = breed_name }
|
|
end
|
|
for _, breed_name in ipairs(boss_breed_names) do
|
|
breed_name_options[#breed_name_options + 1] = { text = breed_name, value = breed_name }
|
|
end
|
|
for _, breed_name in ipairs(captain_breed_names) do
|
|
breed_name_options[#breed_name_options + 1] = { text = breed_name, value = breed_name }
|
|
end
|
|
for _, breed_name in ipairs(other_breed_names) do
|
|
breed_name_options[#breed_name_options + 1] = { text = breed_name, value = breed_name }
|
|
end
|
|
|
|
-- Manual settings
|
|
local widgets = {
|
|
{
|
|
setting_id = "mod_settings",
|
|
type = "group",
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "toggle_mod",
|
|
type = "checkbox",
|
|
default_value = true,
|
|
},
|
|
{
|
|
setting_id = "toggle_mod_keybind",
|
|
type = "keybind",
|
|
default_value = {},
|
|
keybind_global = false,
|
|
keybind_trigger = "pressed",
|
|
keybind_type = "function_call",
|
|
function_name = "toggle_mod",
|
|
},
|
|
{
|
|
setting_id = "toggle_mod_notify",
|
|
type = "checkbox",
|
|
default_value = true,
|
|
},
|
|
{
|
|
setting_id = "debug_mode",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "debug_chat",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "debug_hud",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
setting_id = "omni_mark",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "omni_mark_ignore_los",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "adamant_settings",
|
|
type = "group",
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "companion_mark_keybind",
|
|
type = "keybind",
|
|
default_value = {},
|
|
keybind_global = false,
|
|
keybind_trigger = "pressed",
|
|
keybind_type = "function_call",
|
|
function_name = "companion_mark",
|
|
},
|
|
{
|
|
setting_id = "companion_mark_ignore_unaggroed",
|
|
title = "ignore_unaggroed",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "companion_range_limitation",
|
|
type = "numeric",
|
|
title = "companion_range_limitation",
|
|
tooltip = "companion_range_limitation_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "meter",
|
|
decimals_number = 0
|
|
},
|
|
{
|
|
setting_id = "companion_mark_max_distance",
|
|
type = "numeric",
|
|
title = "companion_mark_max_distance",
|
|
tooltip = "companion_mark_max_distance_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "meter",
|
|
decimals_number = 0
|
|
},
|
|
{
|
|
setting_id = "companion_mark_tagged_always_visible",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "companion_mark_threat_priority",
|
|
title = "threat_priority",
|
|
tooltip = "threat_priority_tooltip",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "execution_order_priority",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "execution_order_force_mark",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "companion_mark_sticky_targeting",
|
|
type = "checkbox",
|
|
title = "sticky_targeting",
|
|
tooltip = "sticky_targeting_tooltip",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "companion_mark_sticky_targeting_elite",
|
|
type = "checkbox",
|
|
title = "elite",
|
|
tooltip = "elite_tooltip",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "companion_mark_sticky_targeting_special",
|
|
type = "checkbox",
|
|
title = "special",
|
|
tooltip = "special_tooltip",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "companion_mark_sticky_targeting_boss",
|
|
type = "checkbox",
|
|
title = "boss",
|
|
tooltip = "boss_tooltip",
|
|
default_value = false,
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "companion_cancel_mark",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "companion_cancel_mark_human",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "companion_cancel_mark_non_human",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "companion_health_threshold",
|
|
type = "numeric",
|
|
title = "health_threshold",
|
|
tooltip = "companion_health_threshold_tooltip",
|
|
default_value = 0,
|
|
unit_text = "percent",
|
|
range = { 0, 100 },
|
|
decimals_number = 0
|
|
},
|
|
{
|
|
setting_id = "companion_time_threshold",
|
|
type = "numeric",
|
|
title = "time_threshold",
|
|
tooltip = "companion_time_threshold_tooltip",
|
|
default_value = 0,
|
|
unit_text = "second",
|
|
range = { 0, 25 },
|
|
decimals_number = 1
|
|
},
|
|
{
|
|
setting_id = "companion_distance_threshold",
|
|
type = "numeric",
|
|
title = "distance_threshold",
|
|
tooltip = "companion_distance_threshold_tooltip",
|
|
default_value = 0,
|
|
unit_text = "meter",
|
|
range = { 0, 100 },
|
|
decimals_number = 0
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "companion_cancel_mark_breed_name",
|
|
type = "dropdown",
|
|
title = "enemy_settings",
|
|
tooltip = "enemy_settings_tooltip",
|
|
default_value = breed_name_options[1].value,
|
|
options = table.clone(breed_name_options),
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "reset_all_cyber_mastiff_breed_settings",
|
|
type = "button",
|
|
title = "enemy_settings_reset",
|
|
tooltip = "enemy_settings_reset_tooltip",
|
|
button_text = "hold_to_reset",
|
|
button_trigger = "held",
|
|
button_hold_duration = 1.5,
|
|
function_name = "reset_all_cyber_mastiff_breed_settings",
|
|
},
|
|
{
|
|
setting_id = "companion_cancel_mark_breed_override",
|
|
type = "checkbox",
|
|
title = "enemy_settings_override",
|
|
tooltip = "enemy_settings_override_tooltip",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "companion_range_limitation_breed",
|
|
type = "numeric",
|
|
title = "companion_range_limitation",
|
|
tooltip = "companion_range_limitation_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "meter",
|
|
decimals_number = 0
|
|
},
|
|
{
|
|
setting_id = "companion_mark_max_distance_breed",
|
|
type = "numeric",
|
|
title = "companion_mark_max_distance",
|
|
tooltip = "companion_mark_max_distance_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "meter",
|
|
decimals_number = 0
|
|
},
|
|
{
|
|
setting_id = "companion_mark_sticky_targeting_breed",
|
|
type = "checkbox",
|
|
title = "sticky_targeting",
|
|
tooltip = "sticky_targeting_tooltip",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "companion_cancel_mark_breed_health_threshold",
|
|
type = "numeric",
|
|
title = "health_threshold",
|
|
tooltip = "companion_health_threshold_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "percent",
|
|
decimals_number = 0
|
|
},
|
|
{
|
|
setting_id = "companion_cancel_mark_breed_time_threshold",
|
|
type = "numeric",
|
|
title = "time_threshold",
|
|
tooltip = "companion_time_threshold_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 25 },
|
|
unit_text = "second",
|
|
decimals_number = 1
|
|
},
|
|
{
|
|
setting_id = "companion_cancel_mark_breed_distance_threshold",
|
|
type = "numeric",
|
|
title = "distance_threshold",
|
|
tooltip = "companion_distance_threshold_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "meter",
|
|
decimals_number = 0
|
|
},
|
|
}
|
|
},
|
|
}
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "cryptic_settings",
|
|
type = "group",
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "servo_skull_mark_keybind",
|
|
type = "keybind",
|
|
default_value = {},
|
|
keybind_global = false,
|
|
keybind_trigger = "pressed",
|
|
keybind_type = "function_call",
|
|
function_name = "servo_skull_mark",
|
|
},
|
|
{
|
|
setting_id = "servo_skull_mark_ignore_unaggroed",
|
|
type = "checkbox",
|
|
title = "ignore_unaggroed",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "servo_skull_range_limitation",
|
|
type = "numeric",
|
|
title = "companion_range_limitation",
|
|
tooltip = "companion_range_limitation_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "meter",
|
|
decimals_number = 0
|
|
},
|
|
{
|
|
setting_id = "servo_skull_mark_threat_priority",
|
|
type = "checkbox",
|
|
title = "threat_priority",
|
|
tooltip = "threat_priority_tooltip",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "hack_mark_keybind",
|
|
type = "keybind",
|
|
default_value = {},
|
|
keybind_global = false,
|
|
keybind_trigger = "pressed",
|
|
keybind_type = "function_call",
|
|
function_name = "hack_mark",
|
|
},
|
|
{
|
|
setting_id = "auto_hack",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "disable_auto_hack_for_noospheric_command",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "noospheric_command_boost",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "noospheric_command_boost_elite",
|
|
type = "checkbox",
|
|
title = "elite",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "noospheric_command_boost_special",
|
|
type = "checkbox",
|
|
title = "special",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "noospheric_command_boost_boss",
|
|
type = "checkbox",
|
|
title = "boss",
|
|
default_value = false,
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "capacitance_retention",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "capacitance_retention_elite_threshold",
|
|
type = "numeric",
|
|
title = "elite",
|
|
default_value = 0,
|
|
range = { -10, 10 },
|
|
unit_text = "charges",
|
|
decimals_number = 0,
|
|
},
|
|
{
|
|
setting_id = "capacitance_retention_special_threshold",
|
|
type = "numeric",
|
|
title = "special",
|
|
default_value = 0,
|
|
range = { -10, 10 },
|
|
unit_text = "charges",
|
|
decimals_number = 0,
|
|
},
|
|
{
|
|
setting_id = "capacitance_retention_boss_threshold",
|
|
type = "numeric",
|
|
title = "boss",
|
|
default_value = 0,
|
|
range = { -10, 10 },
|
|
unit_text = "charges",
|
|
decimals_number = 0,
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "servo_skull_mark_sticky_targeting",
|
|
type = "checkbox",
|
|
title = "sticky_targeting",
|
|
tooltip = "sticky_targeting_tooltip",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "servo_skull_mark_sticky_targeting_elite",
|
|
type = "checkbox",
|
|
title = "elite",
|
|
tooltip = "elite_tooltip",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "servo_skull_mark_sticky_targeting_special",
|
|
type = "checkbox",
|
|
title = "special",
|
|
tooltip = "special_tooltip",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "servo_skull_mark_sticky_targeting_boss",
|
|
type = "checkbox",
|
|
title = "boss",
|
|
tooltip = "boss_tooltip",
|
|
default_value = false,
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "servo_skull_cancel_mark",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "servo_skull_cancel_mark_time_threshold",
|
|
type = "numeric",
|
|
title = "servo_skull_lose_sight_tolerance",
|
|
tooltip = "servo_skull_lose_sight_tolerance_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 25 },
|
|
unit_text = "second",
|
|
decimals_number = 1
|
|
},
|
|
{
|
|
setting_id = "servo_skull_cancel_mark_health_threshold",
|
|
type = "numeric",
|
|
title = "health_threshold",
|
|
tooltip = "servo_skull_health_threshold_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "percent",
|
|
decimals_number = 0
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "noospheric_command_boost_breed_name",
|
|
type = "dropdown",
|
|
title = "enemy_settings",
|
|
tooltip = "enemy_settings_tooltip",
|
|
default_value = breed_name_options[1].value,
|
|
options = table.clone(breed_name_options),
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "reset_all_servo_skull_breed_settings",
|
|
type = "button",
|
|
title = "enemy_settings_reset",
|
|
tooltip = "enemy_settings_reset_tooltip",
|
|
button_text = "hold_to_reset",
|
|
button_trigger = "held",
|
|
button_hold_duration = 1.5,
|
|
function_name = "reset_all_servo_skull_breed_settings",
|
|
},
|
|
{
|
|
setting_id = "noospheric_command_boost_breed_override",
|
|
type = "checkbox",
|
|
title = "enemy_settings_override",
|
|
tooltip = "enemy_settings_override_tooltip",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "servo_skull_range_limitation_breed",
|
|
type = "numeric",
|
|
title = "companion_range_limitation",
|
|
tooltip = "companion_range_limitation_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "meter",
|
|
decimals_number = 0
|
|
},
|
|
{
|
|
setting_id = "noospheric_command_boost_breed_toggle",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "capacitance_retention_breed_threshold",
|
|
type = "numeric",
|
|
default_value = 0,
|
|
range = { -10, 10 },
|
|
unit_text = "charges",
|
|
decimals_number = 0,
|
|
},
|
|
{
|
|
setting_id = "servo_skull_mark_sticky_targeting_breed",
|
|
type = "checkbox",
|
|
title = "sticky_targeting",
|
|
tooltip = "sticky_targeting_tooltip",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "servo_skull_cancel_mark_breed_time_threshold",
|
|
type = "numeric",
|
|
title = "servo_skull_lose_sight_tolerance",
|
|
tooltip = "servo_skull_lose_sight_tolerance_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 25 },
|
|
unit_text = "second",
|
|
decimals_number = 1
|
|
},
|
|
{
|
|
setting_id = "servo_skull_cancel_mark_breed_health_threshold",
|
|
type = "numeric",
|
|
title = "health_threshold",
|
|
tooltip = "servo_skull_health_threshold_tooltip",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "percent",
|
|
decimals_number = 0
|
|
},
|
|
}
|
|
},
|
|
}
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "veteran_settings",
|
|
type = "group",
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "focus_target_ignore_unaggroed",
|
|
type = "checkbox",
|
|
title = "ignore_unaggroed",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "focus_target_overwrite",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "focus_target_overwrite_delta",
|
|
type = "numeric",
|
|
default_value = 5,
|
|
range = { 1, 10 },
|
|
unit_text = "stack",
|
|
},
|
|
}
|
|
},
|
|
{
|
|
setting_id = "focus_target_switch",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "focus_target_switch_override_manual",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "focus_target_switch_melee",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
{
|
|
setting_id = "focus_target_switch_range",
|
|
type = "checkbox",
|
|
default_value = false,
|
|
},
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
setting_id = "auto_mark_settings",
|
|
type = "group",
|
|
sub_widgets = {
|
|
{
|
|
setting_id = "class_selection",
|
|
type = "dropdown",
|
|
default_value = "adamant",
|
|
options = class_options,
|
|
},
|
|
{
|
|
setting_id = "apply_button",
|
|
type = "dropdown",
|
|
default_value = "blank",
|
|
options = {
|
|
{ text = "apply_to_normal", value = "apply_to_normal" },
|
|
{ text = "apply_to_all", value = "apply_to_all" },
|
|
{ text = "blank", value = "blank" },
|
|
}
|
|
},
|
|
{
|
|
setting_id = "reset_button",
|
|
type = "dropdown",
|
|
default_value = "blank",
|
|
options = {
|
|
{ text = "reset_current", value = "reset_current" },
|
|
{ text = "reset_all", value = "reset_all" },
|
|
{ text = "blank", value = "blank" },
|
|
}
|
|
},
|
|
{
|
|
setting_id = "toggle_class",
|
|
type = "checkbox",
|
|
default_value = true,
|
|
},
|
|
{
|
|
setting_id = "interval",
|
|
type = "numeric",
|
|
default_value = 1,
|
|
range = { 0, 50 },
|
|
unit_text = "second",
|
|
decimals_number = 1
|
|
},
|
|
{
|
|
setting_id = "cooldown",
|
|
type = "numeric",
|
|
default_value = 25,
|
|
range = { 10, 50 },
|
|
unit_text = "second",
|
|
decimals_number = 1
|
|
},
|
|
{
|
|
setting_id = "reset_cooldown",
|
|
type = "checkbox",
|
|
default_value = true
|
|
},
|
|
{
|
|
setting_id = "mark_limit",
|
|
type = "checkbox",
|
|
default_value = true
|
|
},
|
|
{
|
|
setting_id = "min_range",
|
|
type = "numeric",
|
|
default_value = 0,
|
|
range = { 0, 100 },
|
|
unit_text = "meter",
|
|
decimals_number = 0
|
|
},
|
|
{
|
|
setting_id = "max_range",
|
|
type = "numeric",
|
|
default_value = 100,
|
|
range = { 1, 250 },
|
|
unit_text = "meter",
|
|
decimals_number = 0
|
|
},
|
|
-- {
|
|
-- setting_id = "max_angle",
|
|
-- type = "numeric",
|
|
-- default_value = 0,
|
|
-- range = { 0, 180 },
|
|
-- unit_text = "degree",
|
|
-- decimals_number = 0
|
|
-- },
|
|
{
|
|
setting_id = "override_manual",
|
|
type = "checkbox",
|
|
default_value = false
|
|
},
|
|
{
|
|
setting_id = "priority_switch",
|
|
type = "checkbox",
|
|
default_value = false
|
|
},
|
|
elite_widget,
|
|
special_widget,
|
|
boss_widget,
|
|
other_widget,
|
|
}
|
|
},
|
|
}
|
|
|
|
return {
|
|
name = mod:localize("mod_name"),
|
|
description = mod:localize("mod_description"),
|
|
is_togglable = true,
|
|
options = {
|
|
widgets = widgets
|
|
}
|
|
}
|