mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-05-02 05:39:57 -07:00
Bugfixes, added sorting by distance, localization system improvements
This commit is contained in:
@@ -107,6 +107,7 @@ end, function()
|
|||||||
player.update_myself_position();
|
player.update_myself_position();
|
||||||
quest_status.update_is_online();
|
quest_status.update_is_online();
|
||||||
|
|
||||||
|
|
||||||
if quest_status.index < 2 then
|
if quest_status.index < 2 then
|
||||||
quest_status.update_is_training_area();
|
quest_status.update_is_training_area();
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ config.default_config = {};
|
|||||||
function config.init()
|
function config.init()
|
||||||
config.default_config = {
|
config.default_config = {
|
||||||
global_settings = {
|
global_settings = {
|
||||||
language = "en-us",
|
language = "default",
|
||||||
|
|
||||||
performance = {
|
performance = {
|
||||||
max_monster_updates_per_tick = 2,
|
max_monster_updates_per_tick = 2,
|
||||||
@@ -41,7 +41,11 @@ function config.init()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
font = {
|
menu_font = {
|
||||||
|
size = 17
|
||||||
|
},
|
||||||
|
|
||||||
|
UI_font = {
|
||||||
family = "Consolas",
|
family = "Consolas",
|
||||||
size = 13,
|
size = 13,
|
||||||
bold = true,
|
bold = true,
|
||||||
@@ -53,6 +57,7 @@ function config.init()
|
|||||||
enabled = true,
|
enabled = true,
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
hide_dead_or_captured = true,
|
||||||
orientation = "Horizontal"
|
orientation = "Horizontal"
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -114,7 +119,7 @@ function config.init()
|
|||||||
|
|
||||||
text_label = {
|
text_label = {
|
||||||
visibility = false,
|
visibility = false,
|
||||||
text = language.current_language.UI.HP,
|
text = "%s",
|
||||||
offset = {
|
offset = {
|
||||||
x = -25,
|
x = -25,
|
||||||
y = 12
|
y = 12
|
||||||
@@ -195,7 +200,7 @@ function config.init()
|
|||||||
|
|
||||||
text_label = {
|
text_label = {
|
||||||
visibility = true,
|
visibility = true,
|
||||||
text = language.current_language.UI.stamina,
|
text = "%s",
|
||||||
offset = {
|
offset = {
|
||||||
x = 15,
|
x = 15,
|
||||||
y = 37
|
y = 37
|
||||||
@@ -276,6 +281,7 @@ function config.init()
|
|||||||
enabled = true,
|
enabled = true,
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
hide_dead_or_captured = true,
|
||||||
max_distance = 300,
|
max_distance = 300,
|
||||||
opacity_falloff = true
|
opacity_falloff = true
|
||||||
},
|
},
|
||||||
@@ -323,7 +329,7 @@ function config.init()
|
|||||||
|
|
||||||
text_label = {
|
text_label = {
|
||||||
visibility = false,
|
visibility = false,
|
||||||
text = language.current_language.UI.HP,
|
text = "%s",
|
||||||
offset = {
|
offset = {
|
||||||
x = -25,
|
x = -25,
|
||||||
y = 19
|
y = 19
|
||||||
@@ -391,15 +397,31 @@ function config.init()
|
|||||||
height = 20
|
height = 20
|
||||||
},
|
},
|
||||||
|
|
||||||
colors = {
|
normal_colors = {
|
||||||
foreground = 0xB974A653,
|
foreground = 0xB974A653,
|
||||||
background = 0xB9000000,
|
background = 0xB9000000,
|
||||||
capture ={
|
},
|
||||||
foreground = 0xB9CCCC33,
|
|
||||||
background = 0x88000000
|
capture_colors = {
|
||||||
}
|
foreground = 0xB9CCCC33,
|
||||||
|
background = 0x88000000
|
||||||
|
},
|
||||||
|
|
||||||
|
capture_line = {
|
||||||
|
visibility = true,
|
||||||
|
offset = {
|
||||||
|
x = 0,
|
||||||
|
y = -3
|
||||||
|
},
|
||||||
|
|
||||||
|
size = {
|
||||||
|
width = 2,
|
||||||
|
height = 8
|
||||||
|
},
|
||||||
|
|
||||||
|
color = 0xB9000000
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
stamina = {
|
stamina = {
|
||||||
@@ -407,7 +429,7 @@ function config.init()
|
|||||||
|
|
||||||
text_label = {
|
text_label = {
|
||||||
visibility = true,
|
visibility = true,
|
||||||
text = language.current_language.UI.stamina,
|
text = "%s",
|
||||||
offset = {
|
offset = {
|
||||||
x = 15,
|
x = 15,
|
||||||
y = 37
|
y = 37
|
||||||
@@ -487,7 +509,7 @@ function config.init()
|
|||||||
|
|
||||||
text_label = {
|
text_label = {
|
||||||
visibility = true,
|
visibility = true,
|
||||||
text = language.current_language.UI.rage,
|
text = "%s",
|
||||||
offset = {
|
offset = {
|
||||||
x = 15,
|
x = 15,
|
||||||
y = 61
|
y = 61
|
||||||
@@ -543,6 +565,26 @@ function config.init()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
timer_label = {
|
||||||
|
visibility = true,
|
||||||
|
text = "%.0f:%02.0f",
|
||||||
|
|
||||||
|
offset = {
|
||||||
|
x = 157,
|
||||||
|
y = 78
|
||||||
|
},
|
||||||
|
color = 0xFFFFFFFF,
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
visibility = true,
|
||||||
|
offset = {
|
||||||
|
x = 1,
|
||||||
|
y = 1
|
||||||
|
},
|
||||||
|
color = 0xFF000000
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
bar = {
|
bar = {
|
||||||
visibility = true,
|
visibility = true,
|
||||||
offset = {
|
offset = {
|
||||||
@@ -696,6 +738,7 @@ function config.init()
|
|||||||
},
|
},
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
hide_dead_or_captured = true,
|
||||||
orientation = "Horizontal"
|
orientation = "Horizontal"
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -742,7 +785,7 @@ function config.init()
|
|||||||
|
|
||||||
text_label = {
|
text_label = {
|
||||||
visibility = false,
|
visibility = false,
|
||||||
text = language.current_language.UI.HP,
|
text = "%s",
|
||||||
offset = {
|
offset = {
|
||||||
x = -25,
|
x = -25,
|
||||||
y = 19
|
y = 19
|
||||||
@@ -810,13 +853,29 @@ function config.init()
|
|||||||
height = 20
|
height = 20
|
||||||
},
|
},
|
||||||
|
|
||||||
colors = {
|
normal_colors = {
|
||||||
foreground = 0xB974A653,
|
foreground = 0xB974A653,
|
||||||
background = 0xB9000000,
|
background = 0xB9000000,
|
||||||
capture ={
|
},
|
||||||
foreground = 0xB9CCCC33,
|
|
||||||
background = 0x88000000
|
capture_colors = {
|
||||||
}
|
foreground = 0xB9CCCC33,
|
||||||
|
background = 0x88000000
|
||||||
|
},
|
||||||
|
|
||||||
|
capture_line = {
|
||||||
|
visibility = true,
|
||||||
|
offset = {
|
||||||
|
x = 0,
|
||||||
|
y = -3
|
||||||
|
},
|
||||||
|
|
||||||
|
size = {
|
||||||
|
width = 2,
|
||||||
|
height = 8
|
||||||
|
},
|
||||||
|
|
||||||
|
color = 0xB9000000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -826,7 +885,7 @@ function config.init()
|
|||||||
|
|
||||||
text_label = {
|
text_label = {
|
||||||
visibility = true,
|
visibility = true,
|
||||||
text = language.current_language.UI.stamina,
|
text = "%s",
|
||||||
offset = {
|
offset = {
|
||||||
x = 15,
|
x = 15,
|
||||||
y = 37
|
y = 37
|
||||||
@@ -906,7 +965,7 @@ function config.init()
|
|||||||
|
|
||||||
text_label = {
|
text_label = {
|
||||||
visibility = true,
|
visibility = true,
|
||||||
text = language.current_language.UI.rage,
|
text = "%s",
|
||||||
offset = {
|
offset = {
|
||||||
x = 15,
|
x = 15,
|
||||||
y = 61
|
y = 61
|
||||||
@@ -962,6 +1021,26 @@ function config.init()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
timer_label = {
|
||||||
|
visibility = true,
|
||||||
|
text = "%.0f:%02.0f",
|
||||||
|
|
||||||
|
offset = {
|
||||||
|
x = 157,
|
||||||
|
y = 78
|
||||||
|
},
|
||||||
|
color = 0xFFFFFFFF,
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
visibility = true,
|
||||||
|
offset = {
|
||||||
|
x = 1,
|
||||||
|
y = 1
|
||||||
|
},
|
||||||
|
color = 0xFF000000
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
bar = {
|
bar = {
|
||||||
visibility = true,
|
visibility = true,
|
||||||
offset = {
|
offset = {
|
||||||
@@ -1259,7 +1338,7 @@ function config.init()
|
|||||||
|
|
||||||
total_damage_label = {
|
total_damage_label = {
|
||||||
visibility = true,
|
visibility = true,
|
||||||
text = "Total Damage",
|
text = "%s",
|
||||||
offset = {
|
offset = {
|
||||||
x = 5,
|
x = 5,
|
||||||
y = 0
|
y = 0
|
||||||
@@ -1361,7 +1440,7 @@ function config.init_module()
|
|||||||
|
|
||||||
config.init();
|
config.init();
|
||||||
config.load();
|
config.load();
|
||||||
config.current_config.version = "v1.7";
|
config.current_config.version = "v1.7.1";
|
||||||
|
|
||||||
language.update(table_helpers.find_index(language.language_names, config.current_config.global_settings.language, false));
|
language.update(table_helpers.find_index(language.language_names, config.current_config.global_settings.language, false));
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ local table_helpers;
|
|||||||
language.language_folder = "MHR Overlay\\languages\\";
|
language.language_folder = "MHR Overlay\\languages\\";
|
||||||
|
|
||||||
language.default_language = {
|
language.default_language = {
|
||||||
|
font_name = "NotoSansKR-Bold.otf",
|
||||||
parts = {
|
parts = {
|
||||||
head = "Head",
|
head = "Head",
|
||||||
neck = "Neck",
|
neck = "Neck",
|
||||||
@@ -62,7 +63,9 @@ language.default_language = {
|
|||||||
rage = "Rage:",
|
rage = "Rage:",
|
||||||
gold = "Gold",
|
gold = "Gold",
|
||||||
silver = "Silver",
|
silver = "Silver",
|
||||||
mini = "Mini"
|
mini = "Mini",
|
||||||
|
total_damage = "Total Damage",
|
||||||
|
player = "Player"
|
||||||
},
|
},
|
||||||
|
|
||||||
customization_menu = {
|
customization_menu = {
|
||||||
@@ -89,9 +92,10 @@ language.default_language = {
|
|||||||
max_monster_updates_per_tick = "Max Monster Updates per Tick",
|
max_monster_updates_per_tick = "Max Monster Updates per Tick",
|
||||||
prioritize_large_monsters = "Large Monsters on High Priority";
|
prioritize_large_monsters = "Large Monsters on High Priority";
|
||||||
|
|
||||||
font_notice = "Any changes to the font require script reload!",
|
UI_font_notice = "Any changes to the font require script reload!",
|
||||||
|
|
||||||
font = "Font",
|
menu_font = "Menu Font",
|
||||||
|
UI_font = "UI Font",
|
||||||
family = "Family",
|
family = "Family",
|
||||||
size = "Size",
|
size = "Size",
|
||||||
bold = "Bold",
|
bold = "Bold",
|
||||||
@@ -109,6 +113,8 @@ language.default_language = {
|
|||||||
|
|
||||||
static_orientation = "Static Orientation",
|
static_orientation = "Static Orientation",
|
||||||
|
|
||||||
|
hide_dead_or_captured = "Hide dead or captured",
|
||||||
|
|
||||||
opacity_falloff = "Opacity Falloff",
|
opacity_falloff = "Opacity Falloff",
|
||||||
max_distance = "Max Distance",
|
max_distance = "Max Distance",
|
||||||
world_offset = "World Offset",
|
world_offset = "World Offset",
|
||||||
@@ -146,6 +152,8 @@ language.default_language = {
|
|||||||
foreground = "Foreground",
|
foreground = "Foreground",
|
||||||
background = "Background",
|
background = "Background",
|
||||||
|
|
||||||
|
capture_line = "Capture Line",
|
||||||
|
|
||||||
dynamically_positioned = "Dynamically Positioned",
|
dynamically_positioned = "Dynamically Positioned",
|
||||||
statically_positioned = "Statically Positioned",
|
statically_positioned = "Statically Positioned",
|
||||||
|
|
||||||
@@ -168,6 +176,7 @@ language.default_language = {
|
|||||||
spacing = "Spacing",
|
spacing = "Spacing",
|
||||||
sorting = "Sorting",
|
sorting = "Sorting",
|
||||||
|
|
||||||
|
timer_label = "Timer Label",
|
||||||
part_name_label = "Part Name Label",
|
part_name_label = "Part Name Label",
|
||||||
|
|
||||||
time_label = "Time Label",
|
time_label = "Time Label",
|
||||||
@@ -190,7 +199,7 @@ language.default_language = {
|
|||||||
hide_total_if_total_damage_is_zero = "Hide Total if Total Damage is 0",
|
hide_total_if_total_damage_is_zero = "Hide Total if Total Damage is 0",
|
||||||
total_damage_offset_is_relative = "Total Damage Offset is Relative",
|
total_damage_offset_is_relative = "Total Damage Offset is Relative",
|
||||||
|
|
||||||
higlighted_bar = "Highlighted Bar",
|
highlighted_bar = "Highlighted Bar",
|
||||||
me = "Me",
|
me = "Me",
|
||||||
top_damage = "Top Damage",
|
top_damage = "Top Damage",
|
||||||
none = "None",
|
none = "None",
|
||||||
@@ -234,26 +243,28 @@ function language.load()
|
|||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
for i, language_file in ipairs(language_files) do
|
for i, language_file_name in ipairs(language_files) do
|
||||||
local language_name = language_file:gsub(language.language_folder, ""):gsub(".json", "");
|
local language_name = language_file_name:gsub(language.language_folder, ""):gsub(".json", "");
|
||||||
|
|
||||||
-- v will be something like `my-cool-mod\config-file-1.json`;
|
-- language_file will be something like `my-cool-mod\config-file-1.json`;
|
||||||
local loaded_language = json.load_file(language_file);
|
local loaded_language = json.load_file(language_file_name);
|
||||||
if loaded_language ~= nil then
|
if loaded_language ~= nil then
|
||||||
log.info("[MHR Overlay] " .. language_name .. ".json loaded successfully");
|
log.info("[MHR Overlay] " .. language_name .. ".json loaded successfully");
|
||||||
table.insert(language.language_names, language_name);
|
table.insert(language.language_names, language_name);
|
||||||
table.insert(language.languages, loaded_language);
|
|
||||||
|
local merged_language = table_helpers.merge(language.default_language, loaded_language);
|
||||||
|
table.insert(language.languages, merged_language);
|
||||||
|
|
||||||
|
language.save(language_file_name, merged_language);
|
||||||
|
|
||||||
else
|
else
|
||||||
log.error("[MHR Overlay] Failed to load " .. language_name .. ".json");
|
log.error("[MHR Overlay] Failed to load " .. language_name .. ".json");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function language.save_default()
|
function language.save(file_name, language_table)
|
||||||
-- save current config to disk, replacing any existing file
|
local success = json.dump_file(file_name, language_table);
|
||||||
local success = json.dump_file(language.language_folder .. "en-us.json", language.default_language);
|
|
||||||
if success then
|
if success then
|
||||||
log.info('[MHR Overlay] en-us.json saved successfully');
|
log.info('[MHR Overlay] en-us.json saved successfully');
|
||||||
else
|
else
|
||||||
@@ -261,6 +272,10 @@ function language.save_default()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function language.save_default();
|
||||||
|
language.save(language.language_folder .. "en-us.json", language.default_language)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
function language.update(index)
|
function language.update(index)
|
||||||
language.current_language = table_helpers.deep_copy(language.languages[index]);
|
language.current_language = table_helpers.deep_copy(language.languages[index]);
|
||||||
@@ -271,7 +286,6 @@ function language.init_module()
|
|||||||
language.save_default();
|
language.save_default();
|
||||||
language.load();
|
language.load();
|
||||||
language.current_language = table_helpers.deep_copy(language.default_language);
|
language.current_language = table_helpers.deep_copy(language.default_language);
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return language;
|
return language;
|
||||||
@@ -24,7 +24,11 @@ function large_monster.new(enemy)
|
|||||||
monster.max_health = 999999;
|
monster.max_health = 999999;
|
||||||
monster.health_percentage = 0;
|
monster.health_percentage = 0;
|
||||||
monster.missing_health = 0;
|
monster.missing_health = 0;
|
||||||
|
|
||||||
monster.capture_health = 0;
|
monster.capture_health = 0;
|
||||||
|
monster.capture_percentage = 0;
|
||||||
|
|
||||||
|
monster.dead_or_captured = false;
|
||||||
|
|
||||||
monster.stamina = 0;
|
monster.stamina = 0;
|
||||||
monster.max_stamina = 1000;
|
monster.max_stamina = 1000;
|
||||||
@@ -47,6 +51,7 @@ function large_monster.new(enemy)
|
|||||||
monster.game_object = nil
|
monster.game_object = nil
|
||||||
monster.transform = nil
|
monster.transform = nil
|
||||||
monster.position = Vector3f.new(0, 0, 0);
|
monster.position = Vector3f.new(0, 0, 0);
|
||||||
|
monster.distance = 0;
|
||||||
|
|
||||||
monster.name = "Large Monster";
|
monster.name = "Large Monster";
|
||||||
monster.size = 1;
|
monster.size = 1;
|
||||||
@@ -150,6 +155,8 @@ function large_monster.init_static_UI(monster)
|
|||||||
config.current_config.large_monster_UI.static.health.percentage_label
|
config.current_config.large_monster_UI.static.health.percentage_label
|
||||||
);
|
);
|
||||||
|
|
||||||
|
monster.health_static_UI.bar.colors = config.current_config.large_monster_UI.static.health.bar.normal_colors;
|
||||||
|
|
||||||
monster.stamina_static_UI = stamina_UI_entity.new(
|
monster.stamina_static_UI = stamina_UI_entity.new(
|
||||||
config.current_config.large_monster_UI.static.stamina.visibility,
|
config.current_config.large_monster_UI.static.stamina.visibility,
|
||||||
config.current_config.large_monster_UI.static.stamina.bar,
|
config.current_config.large_monster_UI.static.stamina.bar,
|
||||||
@@ -163,7 +170,8 @@ function large_monster.init_static_UI(monster)
|
|||||||
config.current_config.large_monster_UI.static.rage.bar,
|
config.current_config.large_monster_UI.static.rage.bar,
|
||||||
config.current_config.large_monster_UI.static.rage.text_label,
|
config.current_config.large_monster_UI.static.rage.text_label,
|
||||||
config.current_config.large_monster_UI.static.rage.value_label,
|
config.current_config.large_monster_UI.static.rage.value_label,
|
||||||
config.current_config.large_monster_UI.static.rage.percentage_label
|
config.current_config.large_monster_UI.static.rage.percentage_label,
|
||||||
|
config.current_config.large_monster_UI.static.rage.timer_label
|
||||||
);
|
);
|
||||||
|
|
||||||
for REpart, part in pairs(monster.parts) do
|
for REpart, part in pairs(monster.parts) do
|
||||||
@@ -182,6 +190,9 @@ function large_monster.init_dynamic_UI(monster)
|
|||||||
config.current_config.large_monster_UI.dynamic.health.percentage_label
|
config.current_config.large_monster_UI.dynamic.health.percentage_label
|
||||||
);
|
);
|
||||||
|
|
||||||
|
monster.health_dynamic_UI.bar.colors = config.current_config.large_monster_UI.dynamic.health.bar.normal_colors;
|
||||||
|
|
||||||
|
|
||||||
monster.stamina_dynamic_UI = stamina_UI_entity.new(
|
monster.stamina_dynamic_UI = stamina_UI_entity.new(
|
||||||
config.current_config.large_monster_UI.dynamic.stamina.visibility,
|
config.current_config.large_monster_UI.dynamic.stamina.visibility,
|
||||||
config.current_config.large_monster_UI.dynamic.stamina.bar,
|
config.current_config.large_monster_UI.dynamic.stamina.bar,
|
||||||
@@ -195,7 +206,8 @@ function large_monster.init_dynamic_UI(monster)
|
|||||||
config.current_config.large_monster_UI.dynamic.rage.bar,
|
config.current_config.large_monster_UI.dynamic.rage.bar,
|
||||||
config.current_config.large_monster_UI.dynamic.rage.text_label,
|
config.current_config.large_monster_UI.dynamic.rage.text_label,
|
||||||
config.current_config.large_monster_UI.dynamic.rage.value_label,
|
config.current_config.large_monster_UI.dynamic.rage.value_label,
|
||||||
config.current_config.large_monster_UI.dynamic.rage.percentage_label
|
config.current_config.large_monster_UI.dynamic.rage.percentage_label,
|
||||||
|
config.current_config.large_monster_UI.static.rage.timer_label
|
||||||
);
|
);
|
||||||
|
|
||||||
for REpart, part in pairs(monster.parts) do
|
for REpart, part in pairs(monster.parts) do
|
||||||
@@ -207,6 +219,7 @@ local physical_param_field = enemy_character_base_type_def:get_field("<PhysicalP
|
|||||||
local status_param_field = enemy_character_base_type_def:get_field("<StatusParam>k__BackingField")
|
local status_param_field = enemy_character_base_type_def:get_field("<StatusParam>k__BackingField")
|
||||||
local stamina_param_field = enemy_character_base_type_def:get_field("<StaminaParam>k__BackingField")
|
local stamina_param_field = enemy_character_base_type_def:get_field("<StaminaParam>k__BackingField")
|
||||||
local anger_param_field = enemy_character_base_type_def:get_field("<AngerParam>k__BackingField")
|
local anger_param_field = enemy_character_base_type_def:get_field("<AngerParam>k__BackingField")
|
||||||
|
local check_die_method = enemy_character_base_type_def:get_method("checkDie");
|
||||||
|
|
||||||
local physical_param_type = physical_param_field:get_type();
|
local physical_param_type = physical_param_field:get_type();
|
||||||
local get_vital_method = physical_param_type:get_method("getVital")
|
local get_vital_method = physical_param_type:get_method("getVital")
|
||||||
@@ -299,9 +312,14 @@ function large_monster.update(enemy)
|
|||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local health = get_current_method:call(vital_param)
|
local health = get_current_method:call(vital_param);
|
||||||
local max_health = get_max_method:call(vital_param)
|
local max_health = get_max_method:call(vital_param);
|
||||||
local capture_health = get_capture_hp_vital_method:call(physical_param)
|
local capture_health = get_capture_hp_vital_method:call(physical_param);
|
||||||
|
|
||||||
|
local dead_or_captured = check_die_method:call(enemy);
|
||||||
|
if dead_or_captured == nil then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
local stamina_param = stamina_param_field:get_data(enemy)
|
local stamina_param = stamina_param_field:get_data(enemy)
|
||||||
if stamina_param == nil then
|
if stamina_param == nil then
|
||||||
@@ -309,23 +327,23 @@ function large_monster.update(enemy)
|
|||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local stamina = get_stamina_method:call(stamina_param)
|
local stamina = get_stamina_method:call(stamina_param);
|
||||||
local max_stamina = get_max_stamina_method:call(stamina_param)
|
local max_stamina = get_max_stamina_method:call(stamina_param);
|
||||||
|
|
||||||
local anger_param = anger_param_field:get_data(enemy)
|
local anger_param = anger_param_field:get_data(enemy);
|
||||||
if anger_param == nil then
|
if anger_param == nil then
|
||||||
customization_menu.status = "No anger param";
|
customization_menu.status = "No anger param";
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_in_rage = is_anger_method:call(anger_param)
|
local is_in_rage = is_anger_method:call(anger_param);
|
||||||
local rage_point = get_anger_point_method:call(anger_param)
|
local rage_point = get_anger_point_method:call(anger_param);
|
||||||
local rage_limit = get_limit_anger_method:call(anger_param)
|
local rage_limit = get_limit_anger_method:call(anger_param);
|
||||||
local rage_timer = anger_param_get_timer_method:call(anger_param)
|
local rage_timer = anger_param_get_timer_method:call(anger_param);
|
||||||
local rage_duration = get_timer_anger_method:call(anger_param)
|
local rage_duration = get_timer_anger_method:call(anger_param);
|
||||||
local rage_count = get_count_anger_method:call(anger_param)
|
local rage_count = get_count_anger_method:call(anger_param);
|
||||||
|
|
||||||
local vital_list = vital_list_field:get_data(physical_param)
|
local vital_list = vital_list_field:get_data(physical_param);
|
||||||
if vital_list == nil then
|
if vital_list == nil then
|
||||||
customization_menu.status = "No vital list";
|
customization_menu.status = "No vital list";
|
||||||
return;
|
return;
|
||||||
@@ -349,7 +367,6 @@ function large_monster.update(enemy)
|
|||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
local last_REpart = part_list:call("get_Item", part_list_count - 1);
|
local last_REpart = part_list:call("get_Item", part_list_count - 1);
|
||||||
local last_REpart_health = 9999999;
|
local last_REpart_health = 9999999;
|
||||||
if last_REpart ~= nil then
|
if last_REpart ~= nil then
|
||||||
@@ -414,6 +431,16 @@ function large_monster.update(enemy)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if max_health ~= nil and capture_health ~= nil then
|
||||||
|
if max_health ~= 0 then
|
||||||
|
monster.capture_percentage = capture_health / max_health;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if dead_or_captured ~= nil then
|
||||||
|
monster.dead_or_captured = dead_or_captured;
|
||||||
|
end
|
||||||
|
|
||||||
if stamina ~= nil then
|
if stamina ~= nil then
|
||||||
monster.stamina = stamina;
|
monster.stamina = stamina;
|
||||||
end
|
end
|
||||||
@@ -491,9 +518,17 @@ function large_monster.draw_dynamic(monster, position_on_screen, opacity_scale)
|
|||||||
100 * monster.big_border, 100 * monster.king_border);
|
100 * monster.big_border, 100 * monster.king_border);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if monster.health < monster.capture_health then
|
||||||
|
monster.health_dynamic_UI.bar.colors = config.current_config.large_monster_UI.dynamic.health.bar.capture_colors;
|
||||||
|
else
|
||||||
|
monster.health_dynamic_UI.bar.colors = config.current_config.large_monster_UI.dynamic.health.bar.normal_colors;
|
||||||
|
end
|
||||||
|
|
||||||
drawing.draw_label(monster.dynamic_name_label, position_on_screen, opacity_scale, monster_name_text);
|
drawing.draw_label(monster.dynamic_name_label, position_on_screen, opacity_scale, monster_name_text);
|
||||||
|
|
||||||
health_UI_entity.draw(monster, monster.health_dynamic_UI, position_on_screen, opacity_scale);
|
health_UI_entity.draw(monster, monster.health_dynamic_UI, position_on_screen, opacity_scale);
|
||||||
|
drawing.draw_capture_line(monster.health_dynamic_UI.bar, position_on_screen, opacity_scale, monster.capture_percentage);
|
||||||
|
|
||||||
stamina_UI_entity.draw(monster, monster.stamina_dynamic_UI, position_on_screen, opacity_scale);
|
stamina_UI_entity.draw(monster, monster.stamina_dynamic_UI, position_on_screen, opacity_scale);
|
||||||
rage_UI_entity.draw(monster, monster.rage_dynamic_UI, position_on_screen, opacity_scale);
|
rage_UI_entity.draw(monster, monster.rage_dynamic_UI, position_on_screen, opacity_scale);
|
||||||
|
|
||||||
@@ -568,9 +603,18 @@ function large_monster.draw_static(monster, position_on_screen, opacity_scale)
|
|||||||
100 * monster.big_border, 100 * monster.king_border);
|
100 * monster.big_border, 100 * monster.king_border);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if monster.health < monster.capture_health then
|
||||||
|
monster.health_static_UI.bar.colors = config.current_config.large_monster_UI.static.health.bar.capture_colors;
|
||||||
|
else
|
||||||
|
monster.health_static_UI.bar.colors = config.current_config.large_monster_UI.static.health.bar.normal_colors;
|
||||||
|
end
|
||||||
|
|
||||||
drawing.draw_label(monster.static_name_label, position_on_screen, opacity_scale, monster_name_text);
|
drawing.draw_label(monster.static_name_label, position_on_screen, opacity_scale, monster_name_text);
|
||||||
|
|
||||||
|
|
||||||
health_UI_entity.draw(monster, monster.health_static_UI, position_on_screen, opacity_scale);
|
health_UI_entity.draw(monster, monster.health_static_UI, position_on_screen, opacity_scale);
|
||||||
|
drawing.draw_capture_line(monster.health_static_UI.bar, position_on_screen, opacity_scale, monster.capture_percentage);
|
||||||
|
|
||||||
stamina_UI_entity.draw(monster, monster.stamina_static_UI, position_on_screen, opacity_scale);
|
stamina_UI_entity.draw(monster, monster.stamina_static_UI, position_on_screen, opacity_scale);
|
||||||
rage_UI_entity.draw(monster, monster.rage_static_UI, position_on_screen, opacity_scale);
|
rage_UI_entity.draw(monster, monster.rage_static_UI, position_on_screen, opacity_scale);
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ function monster.update_monster(enemy)
|
|||||||
if is_large then
|
if is_large then
|
||||||
large_monster.update_position(enemy);
|
large_monster.update_position(enemy);
|
||||||
if not config.current_config.global_settings.performance.prioritize_large_monsters then
|
if not config.current_config.global_settings.performance.prioritize_large_monsters then
|
||||||
return
|
return;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
small_monster.update_position(enemy);
|
small_monster.update_position(enemy);
|
||||||
@@ -101,16 +101,25 @@ function monster.update_monster(enemy)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
updates_this_tick = updates_this_tick + 1;
|
|
||||||
last_update_tick = tick_count;
|
|
||||||
num_updated_monsters = num_updated_monsters + 1;
|
|
||||||
updated_monsters[enemy] = true;
|
|
||||||
|
|
||||||
-- actually update the enemy now. we don't do this very often
|
-- actually update the enemy now. we don't do this very often
|
||||||
-- due to how much CPU time it takes to update each monster.
|
-- due to how much CPU time it takes to update each monster.
|
||||||
if is_large then
|
if is_large then
|
||||||
|
if not config.current_config.global_settings.performance.prioritize_large_monsters then
|
||||||
|
updates_this_tick = updates_this_tick + 1;
|
||||||
|
last_update_tick = tick_count;
|
||||||
|
num_updated_monsters = num_updated_monsters + 1;
|
||||||
|
updated_monsters[enemy] = true;
|
||||||
|
end
|
||||||
|
|
||||||
large_monster.update(enemy);
|
large_monster.update(enemy);
|
||||||
else
|
else
|
||||||
|
updates_this_tick = updates_this_tick + 1;
|
||||||
|
last_update_tick = tick_count;
|
||||||
|
num_updated_monsters = num_updated_monsters + 1;
|
||||||
|
updated_monsters[enemy] = true;
|
||||||
|
|
||||||
small_monster.update(enemy);
|
small_monster.update(enemy);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ function small_monster.new(enemy)
|
|||||||
monster.game_object = nil
|
monster.game_object = nil
|
||||||
monster.transform = nil
|
monster.transform = nil
|
||||||
monster.position = Vector3f.new(0, 0, 0);
|
monster.position = Vector3f.new(0, 0, 0);
|
||||||
|
monster.distance = 0;
|
||||||
|
|
||||||
monster.name = "Small Monster";
|
monster.name = "Small Monster";
|
||||||
|
|
||||||
@@ -82,10 +83,11 @@ function small_monster.init_UI(monster)
|
|||||||
);
|
);
|
||||||
end
|
end
|
||||||
|
|
||||||
local enemy_character_base_type = sdk.find_type_definition("snow.enemy.EnemyCharacterBase")
|
local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase")
|
||||||
local physical_param_field = enemy_character_base_type:get_field("<PhysicalParam>k__BackingField");
|
local physical_param_field = enemy_character_base_type_def:get_field("<PhysicalParam>k__BackingField");
|
||||||
local status_param_field = enemy_character_base_type:get_field("<StatusParam>k__BackingField")
|
local status_param_field = enemy_character_base_type_def:get_field("<StatusParam>k__BackingField")
|
||||||
local stamina_param_field = enemy_character_base_type:get_field("<StaminaParam>k__BackingField")
|
local stamina_param_field = enemy_character_base_type_def:get_field("<StaminaParam>k__BackingField")
|
||||||
|
local check_die_method = enemy_character_base_type_def:get_method("checkDie");
|
||||||
|
|
||||||
local physical_param_type = physical_param_field:get_type()
|
local physical_param_type = physical_param_field:get_type()
|
||||||
local get_vital_method = physical_param_type:get_method("getVital")
|
local get_vital_method = physical_param_type:get_method("getVital")
|
||||||
@@ -181,6 +183,11 @@ function small_monster.update(enemy)
|
|||||||
local stamina = get_stamina_method:call(stamina_param)
|
local stamina = get_stamina_method:call(stamina_param)
|
||||||
local max_stamina = get_max_stamina_method:call(stamina_param)
|
local max_stamina = get_max_stamina_method:call(stamina_param)
|
||||||
|
|
||||||
|
local dead_or_captured = check_die_method:call(enemy);
|
||||||
|
if dead_or_captured == nil then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
small_monster.update_position(enemy)
|
small_monster.update_position(enemy)
|
||||||
|
|
||||||
local monster = small_monster.get_monster(enemy);
|
local monster = small_monster.get_monster(enemy);
|
||||||
@@ -204,6 +211,10 @@ function small_monster.update(enemy)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if dead_or_captured ~= nil then
|
||||||
|
monster.dead_or_captured = dead_or_captured;
|
||||||
|
end
|
||||||
|
|
||||||
if stamina ~= nil then
|
if stamina ~= nil then
|
||||||
monster.stamina = stamina;
|
monster.stamina = stamina;
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ local player;
|
|||||||
local quest_status;
|
local quest_status;
|
||||||
local screen;
|
local screen;
|
||||||
local drawing;
|
local drawing;
|
||||||
|
local language;
|
||||||
|
|
||||||
damage_meter_UI.last_displayed_players = {};
|
damage_meter_UI.last_displayed_players = {};
|
||||||
damage_meter_UI.freeze_displayed_players = false;
|
damage_meter_UI.freeze_displayed_players = false;
|
||||||
@@ -207,7 +208,7 @@ function damage_meter_UI.draw()
|
|||||||
position_on_screen = screen.calculate_absolute_coordinates(config.current_config.damage_meter_UI.position);
|
position_on_screen = screen.calculate_absolute_coordinates(config.current_config.damage_meter_UI.position);
|
||||||
end
|
end
|
||||||
|
|
||||||
drawing.draw_label(config.current_config.damage_meter_UI.total_damage_label, position_on_screen, 1);
|
drawing.draw_label(config.current_config.damage_meter_UI.total_damage_label, position_on_screen, 1, language.current_language.UI.total_damage);
|
||||||
drawing.draw_label(config.current_config.damage_meter_UI.total_damage_value_label, position_on_screen, 1, player.total.display.total_damage);
|
drawing.draw_label(config.current_config.damage_meter_UI.total_damage_value_label, position_on_screen, 1, player.total.display.total_damage);
|
||||||
|
|
||||||
end
|
end
|
||||||
@@ -220,6 +221,7 @@ function damage_meter_UI.init_module()
|
|||||||
quest_status = require("MHR_Overlay.Game_Handler.quest_status");
|
quest_status = require("MHR_Overlay.Game_Handler.quest_status");
|
||||||
screen = require("MHR_Overlay.Game_Handler.screen");
|
screen = require("MHR_Overlay.Game_Handler.screen");
|
||||||
drawing = require("MHR_Overlay.UI.drawing");
|
drawing = require("MHR_Overlay.UI.drawing");
|
||||||
|
language = require("MHR_Overlay.Misc.language");
|
||||||
end
|
end
|
||||||
|
|
||||||
return damage_meter_UI;
|
return damage_meter_UI;
|
||||||
@@ -31,26 +31,36 @@ function large_monster_UI.draw(dynamic_enabled, static_enabled)
|
|||||||
local enemy = get_boss_enemy_method:call(singletons.enemy_manager, i);
|
local enemy = get_boss_enemy_method:call(singletons.enemy_manager, i);
|
||||||
if enemy == nil then
|
if enemy == nil then
|
||||||
customization_menu.status = "No enemy";
|
customization_menu.status = "No enemy";
|
||||||
break
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local monster = large_monster.list[enemy];
|
local monster = large_monster.list[enemy];
|
||||||
if monster == nil then
|
if monster == nil then
|
||||||
customization_menu.status = "No monster hp entry";
|
customization_menu.status = "No monster hp entry";
|
||||||
break
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
table.insert(displayed_monsters, monster);
|
table.insert(displayed_monsters, monster);
|
||||||
|
::continue::
|
||||||
|
end
|
||||||
|
|
||||||
|
if dynamic_enabled or config.current_config.large_monster_UI.static.sorting.type == "Distance" then
|
||||||
|
for _, monster in ipairs(displayed_monsters) do
|
||||||
|
monster.distance = (player.myself_position - monster.position):length();
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if dynamic_enabled then
|
if dynamic_enabled then
|
||||||
local i = 0;
|
local i = 0;
|
||||||
for _, monster in ipairs(displayed_monsters) do
|
for _, monster in ipairs(displayed_monsters) do
|
||||||
|
|
||||||
if config.current_config.large_monster_UI.dynamic.settings.max_distance == 0 then
|
if config.current_config.large_monster_UI.dynamic.settings.max_distance == 0 then
|
||||||
break;
|
break;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if monster.dead_or_captured and config.current_config.large_monster_UI.dynamic.settings.hide_dead_or_captured then
|
||||||
|
goto continue;
|
||||||
|
end
|
||||||
|
|
||||||
local position_on_screen = {};
|
local position_on_screen = {};
|
||||||
|
|
||||||
local world_offset = Vector3f.new(config.current_config.large_monster_UI.dynamic.world_offset.x, config.current_config.large_monster_UI.dynamic.world_offset.y, config.current_config.large_monster_UI.dynamic.world_offset.z);
|
local world_offset = Vector3f.new(config.current_config.large_monster_UI.dynamic.world_offset.x, config.current_config.large_monster_UI.dynamic.world_offset.y, config.current_config.large_monster_UI.dynamic.world_offset.z);
|
||||||
@@ -65,13 +75,12 @@ function large_monster_UI.draw(dynamic_enabled, static_enabled)
|
|||||||
position_on_screen.y = position_on_screen.y + config.current_config.large_monster_UI.dynamic.viewport_offset.y;
|
position_on_screen.y = position_on_screen.y + config.current_config.large_monster_UI.dynamic.viewport_offset.y;
|
||||||
|
|
||||||
local opacity_scale = 1;
|
local opacity_scale = 1;
|
||||||
local distance = (player.myself_position - monster.position):length();
|
if monster.distance > config.current_config.large_monster_UI.dynamic.settings.max_distance then
|
||||||
if distance > config.current_config.large_monster_UI.dynamic.settings.max_distance then
|
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.large_monster_UI.dynamic.settings.opacity_falloff then
|
if config.current_config.large_monster_UI.dynamic.settings.opacity_falloff then
|
||||||
opacity_scale = 1 - (distance / config.current_config.large_monster_UI.dynamic.settings.max_distance);
|
opacity_scale = 1 - (monster.distance / config.current_config.large_monster_UI.dynamic.settings.max_distance);
|
||||||
end
|
end
|
||||||
|
|
||||||
large_monster.draw_dynamic(monster, position_on_screen, opacity_scale);
|
large_monster.draw_dynamic(monster, position_on_screen, opacity_scale);
|
||||||
@@ -111,12 +120,26 @@ function large_monster_UI.draw(dynamic_enabled, static_enabled)
|
|||||||
return left.health_percentage < right.health_percentage;
|
return left.health_percentage < right.health_percentage;
|
||||||
end);
|
end);
|
||||||
end
|
end
|
||||||
|
elseif config.current_config.large_monster_UI.static.sorting.type == "Distance" then
|
||||||
|
if config.current_config.large_monster_UI.static.sorting.reversed_order then
|
||||||
|
table.sort(displayed_monsters, function(left, right)
|
||||||
|
return left.distance > right.distance;
|
||||||
|
end);
|
||||||
|
else
|
||||||
|
table.sort(displayed_monsters, function(left, right)
|
||||||
|
return left.distance < right.distance;
|
||||||
|
end);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local position_on_screen = screen.calculate_absolute_coordinates(config.current_config.large_monster_UI.static.position);
|
local position_on_screen = screen.calculate_absolute_coordinates(config.current_config.large_monster_UI.static.position);
|
||||||
|
|
||||||
local i = 0;
|
local i = 0;
|
||||||
for _, monster in ipairs(displayed_monsters) do
|
for _, monster in ipairs(displayed_monsters) do
|
||||||
|
if monster.dead_or_captured and config.current_config.large_monster_UI.static.settings.hide_dead_or_captured then
|
||||||
|
goto continue;
|
||||||
|
end
|
||||||
|
|
||||||
local monster_position_on_screen = {
|
local monster_position_on_screen = {
|
||||||
x = position_on_screen.x,
|
x = position_on_screen.x,
|
||||||
y = position_on_screen.y
|
y = position_on_screen.y
|
||||||
@@ -131,6 +154,7 @@ function large_monster_UI.draw(dynamic_enabled, static_enabled)
|
|||||||
large_monster.draw_static(monster, monster_position_on_screen, 1);
|
large_monster.draw_static(monster, monster_position_on_screen, 1);
|
||||||
|
|
||||||
i = i + 1;
|
i = i + 1;
|
||||||
|
::continue::
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -31,21 +31,32 @@ function small_monster_UI.draw()
|
|||||||
local enemy = get_zako_enemy_method:call(singletons.enemy_manager, i);
|
local enemy = get_zako_enemy_method:call(singletons.enemy_manager, i);
|
||||||
if enemy == nil then
|
if enemy == nil then
|
||||||
customization_menu.status = "No enemy";
|
customization_menu.status = "No enemy";
|
||||||
break
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local monster = small_monster.list[enemy];
|
local monster = small_monster.list[enemy];
|
||||||
if monster == nil then
|
if monster == nil then
|
||||||
customization_menu.status = "No monster hp entry";
|
customization_menu.status = "No monster hp entry";
|
||||||
break
|
goto continue;
|
||||||
|
end
|
||||||
|
|
||||||
|
if monster.dead_or_captured and config.current_config.small_monster_UI.settings.hide_dead_or_captured then
|
||||||
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
table.insert(displayed_monsters, monster);
|
table.insert(displayed_monsters, monster);
|
||||||
|
::continue::
|
||||||
|
end
|
||||||
|
|
||||||
|
if config.current_config.small_monster_UI.dynamic_positioning.enabled
|
||||||
|
or (not config.current_config.small_monster_UI.dynamic_positioning.enabled and config.current_config.small_monster_UI.static_sorting.type == "Distance") then
|
||||||
|
for _, monster in ipairs(displayed_monsters) do
|
||||||
|
monster.distance = (player.myself_position - monster.position):length();
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if not config.current_config.small_monster_UI.dynamic_positioning.enabled then
|
if not config.current_config.small_monster_UI.dynamic_positioning.enabled then
|
||||||
-- sort here
|
-- sort here
|
||||||
|
|
||||||
if config.current_config.small_monster_UI.static_sorting.type == "Normal" and config.current_config.small_monster_UI.static_sorting.reversed_order then
|
if config.current_config.small_monster_UI.static_sorting.type == "Normal" and config.current_config.small_monster_UI.static_sorting.reversed_order then
|
||||||
local reversed_monsters = {};
|
local reversed_monsters = {};
|
||||||
for i = #displayed_monsters, 1, -1 do
|
for i = #displayed_monsters, 1, -1 do
|
||||||
@@ -74,6 +85,16 @@ function small_monster_UI.draw()
|
|||||||
return left.health_percentage < right.health_percentage;
|
return left.health_percentage < right.health_percentage;
|
||||||
end);
|
end);
|
||||||
end
|
end
|
||||||
|
elseif config.current_config.small_monster_UI.static_sorting.type == "Distance" then
|
||||||
|
if config.current_config.small_monster_UI.static_sorting.reversed_order then
|
||||||
|
table.sort(displayed_monsters, function(left, right)
|
||||||
|
return left.distance > right.distance;
|
||||||
|
end);
|
||||||
|
else
|
||||||
|
table.sort(displayed_monsters, function(left, right)
|
||||||
|
return left.distance < right.distance;
|
||||||
|
end);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -109,14 +130,12 @@ function small_monster_UI.draw()
|
|||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local distance = (player.myself_position - monster.position):length();
|
if monster.distance > config.current_config.small_monster_UI.dynamic_positioning.max_distance then
|
||||||
|
|
||||||
if distance > config.current_config.small_monster_UI.dynamic_positioning.max_distance then
|
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.small_monster_UI.dynamic_positioning.opacity_falloff then
|
if config.current_config.small_monster_UI.dynamic_positioning.opacity_falloff then
|
||||||
opacity_scale = 1 - (distance / config.current_config.small_monster_UI.dynamic_positioning.max_distance);
|
opacity_scale = 1 - (monster.distance / config.current_config.small_monster_UI.dynamic_positioning.max_distance);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ local table_helpers;
|
|||||||
local drawing;
|
local drawing;
|
||||||
local config;
|
local config;
|
||||||
local player;
|
local player;
|
||||||
|
local language;
|
||||||
|
|
||||||
function damage_UI_entity.new(bar, highlighted_bar, player_name_label, value_label, percentage_label)
|
function damage_UI_entity.new(bar, highlighted_bar, player_name_label, value_label, percentage_label)
|
||||||
local entity = {};
|
local entity = {};
|
||||||
@@ -30,7 +31,7 @@ function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_d
|
|||||||
end
|
end
|
||||||
|
|
||||||
if player_include.word_player then
|
if player_include.word_player then
|
||||||
player_name_text = player_name_text .. "Player ";
|
player_name_text = player_name_text .. language.current_config.UI.player .. " ";
|
||||||
end
|
end
|
||||||
|
|
||||||
if player_include.player_id then
|
if player_include.player_id then
|
||||||
@@ -48,7 +49,7 @@ function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_d
|
|||||||
|
|
||||||
local player_damage_bar_percentage = 0;
|
local player_damage_bar_percentage = 0;
|
||||||
if config.current_config.damage_meter_UI.settings.damage_bar_relative_to == "Total Damage" then
|
if config.current_config.damage_meter_UI.settings.damage_bar_relative_to == "Total Damage" then
|
||||||
if _player.total.display.total_damage ~= 0 then
|
if player.total.display.total_damage ~= 0 then
|
||||||
player_damage_bar_percentage = _player.display.total_damage / player.total.display.total_damage;
|
player_damage_bar_percentage = _player.display.total_damage / player.total.display.total_damage;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@@ -75,6 +76,7 @@ function damage_UI_entity.init_module()
|
|||||||
drawing = require("MHR_Overlay.UI.drawing");
|
drawing = require("MHR_Overlay.UI.drawing");
|
||||||
config = require("MHR_Overlay.Misc.config");
|
config = require("MHR_Overlay.Misc.config");
|
||||||
player = require("MHR_Overlay.Damage_Meter.player");
|
player = require("MHR_Overlay.Damage_Meter.player");
|
||||||
|
language = require("MHR_Overlay.Misc.language");
|
||||||
end
|
end
|
||||||
|
|
||||||
return damage_UI_entity;
|
return damage_UI_entity;
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
local health_UI_entity = {};
|
local health_UI_entity = {};
|
||||||
local table_helpers;
|
local table_helpers;
|
||||||
local drawing;
|
local drawing;
|
||||||
|
local language;
|
||||||
|
|
||||||
function health_UI_entity.new(visibility, bar, text_label, value_label, percentage_label)
|
function health_UI_entity.new(visibility, bar, text_label, value_label, percentage_label)
|
||||||
local entity = {};
|
local entity = {};
|
||||||
@@ -21,7 +22,7 @@ function health_UI_entity.draw(monster, health_UI, position_on_screen, opacity_s
|
|||||||
|
|
||||||
drawing.draw_bar(health_UI.bar, position_on_screen, opacity_scale, monster.health_percentage);
|
drawing.draw_bar(health_UI.bar, position_on_screen, opacity_scale, monster.health_percentage);
|
||||||
|
|
||||||
drawing.draw_label(health_UI.text_label, position_on_screen, opacity_scale);
|
drawing.draw_label(health_UI.text_label, position_on_screen, opacity_scale, language.current_language.UI.HP);
|
||||||
drawing.draw_label(health_UI.value_label, position_on_screen, opacity_scale, monster.health, monster.max_health);
|
drawing.draw_label(health_UI.value_label, position_on_screen, opacity_scale, monster.health, monster.max_health);
|
||||||
drawing.draw_label(health_UI.percentage_label, position_on_screen, opacity_scale, 100 * monster.health_percentage);
|
drawing.draw_label(health_UI.percentage_label, position_on_screen, opacity_scale, 100 * monster.health_percentage);
|
||||||
end
|
end
|
||||||
@@ -29,6 +30,7 @@ end
|
|||||||
function health_UI_entity.init_module()
|
function health_UI_entity.init_module()
|
||||||
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
||||||
drawing = require("MHR_Overlay.UI.drawing");
|
drawing = require("MHR_Overlay.UI.drawing");
|
||||||
|
language = require("MHR_Overlay.Misc.language");
|
||||||
end
|
end
|
||||||
|
|
||||||
return health_UI_entity;
|
return health_UI_entity;
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
local rage_UI_entity = {};
|
local rage_UI_entity = {};
|
||||||
local table_helpers;
|
local table_helpers;
|
||||||
local drawing;
|
local drawing;
|
||||||
|
local language;
|
||||||
|
|
||||||
function rage_UI_entity.new(visibility, bar, text_label, value_label, percentage_label)
|
function rage_UI_entity.new(visibility, bar, text_label, value_label, percentage_label, timer_label)
|
||||||
local entity = {};
|
local entity = {};
|
||||||
|
|
||||||
entity.visibility = visibility;
|
entity.visibility = visibility;
|
||||||
@@ -10,9 +11,8 @@ function rage_UI_entity.new(visibility, bar, text_label, value_label, percentage
|
|||||||
entity.text_label = table_helpers.deep_copy(text_label);
|
entity.text_label = table_helpers.deep_copy(text_label);
|
||||||
entity.value_label = table_helpers.deep_copy(value_label);
|
entity.value_label = table_helpers.deep_copy(value_label);
|
||||||
entity.percentage_label = table_helpers.deep_copy(percentage_label);
|
entity.percentage_label = table_helpers.deep_copy(percentage_label);
|
||||||
entity.timer_label = table_helpers.deep_copy(percentage_label);
|
entity.timer_label = table_helpers.deep_copy(timer_label);
|
||||||
|
|
||||||
entity.timer_label.text = "%.0f:%02.0f";
|
|
||||||
return entity;
|
return entity;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -24,13 +24,12 @@ function rage_UI_entity.draw(monster, rage_UI, position_on_screen, opacity_scale
|
|||||||
if monster.is_in_rage then
|
if monster.is_in_rage then
|
||||||
drawing.draw_bar(rage_UI.bar, position_on_screen, opacity_scale, monster.rage_timer_percentage);
|
drawing.draw_bar(rage_UI.bar, position_on_screen, opacity_scale, monster.rage_timer_percentage);
|
||||||
|
|
||||||
drawing.draw_label(rage_UI.text_label, position_on_screen, opacity_scale);
|
drawing.draw_label(rage_UI.text_label, position_on_screen, opacity_scale, language.current_language.UI.rage);
|
||||||
drawing.draw_label(rage_UI.value_label, position_on_screen, opacity_scale, monster.rage_point, monster.rage_limit);
|
|
||||||
drawing.draw_label(rage_UI.timer_label, position_on_screen, opacity_scale, monster.rage_minutes_left, monster.rage_seconds_left);
|
drawing.draw_label(rage_UI.timer_label, position_on_screen, opacity_scale, monster.rage_minutes_left, monster.rage_seconds_left);
|
||||||
else
|
else
|
||||||
drawing.draw_bar(rage_UI.bar, position_on_screen, opacity_scale, monster.rage_percentage);
|
drawing.draw_bar(rage_UI.bar, position_on_screen, opacity_scale, monster.rage_percentage);
|
||||||
|
|
||||||
drawing.draw_label(rage_UI.text_label, position_on_screen, opacity_scale);
|
drawing.draw_label(rage_UI.text_label, position_on_screen, opacity_scale, language.current_language.UI.rage);
|
||||||
drawing.draw_label(rage_UI.value_label, position_on_screen, opacity_scale, monster.rage_point, monster.rage_limit);
|
drawing.draw_label(rage_UI.value_label, position_on_screen, opacity_scale, monster.rage_point, monster.rage_limit);
|
||||||
drawing.draw_label(rage_UI.percentage_label, position_on_screen, opacity_scale, 100 * monster.rage_percentage);
|
drawing.draw_label(rage_UI.percentage_label, position_on_screen, opacity_scale, 100 * monster.rage_percentage);
|
||||||
end
|
end
|
||||||
@@ -39,6 +38,7 @@ end
|
|||||||
function rage_UI_entity.init_module()
|
function rage_UI_entity.init_module()
|
||||||
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
||||||
drawing = require("MHR_Overlay.UI.drawing");
|
drawing = require("MHR_Overlay.UI.drawing");
|
||||||
|
language = require("MHR_Overlay.Misc.language");
|
||||||
end
|
end
|
||||||
|
|
||||||
return rage_UI_entity;
|
return rage_UI_entity;
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
local stamina_UI_entity = {};
|
local stamina_UI_entity = {};
|
||||||
local table_helpers;
|
local table_helpers;
|
||||||
local drawing;
|
local drawing;
|
||||||
|
local language;
|
||||||
|
|
||||||
function stamina_UI_entity.new(visibility, bar, text_label, value_label, percentage_label)
|
function stamina_UI_entity.new(visibility, bar, text_label, value_label, percentage_label)
|
||||||
local entity = {};
|
local entity = {};
|
||||||
@@ -21,7 +22,7 @@ function stamina_UI_entity.draw(monster, stamina_UI, position_on_screen, opacity
|
|||||||
|
|
||||||
drawing.draw_bar(stamina_UI.bar, position_on_screen, opacity_scale, monster.stamina_percentage);
|
drawing.draw_bar(stamina_UI.bar, position_on_screen, opacity_scale, monster.stamina_percentage);
|
||||||
|
|
||||||
drawing.draw_label(stamina_UI.text_label, position_on_screen, opacity_scale);
|
drawing.draw_label(stamina_UI.text_label, position_on_screen, opacity_scale, language.current_language.UI.stamina);
|
||||||
drawing.draw_label(stamina_UI.value_label, position_on_screen, opacity_scale, monster.stamina, monster.max_stamina);
|
drawing.draw_label(stamina_UI.value_label, position_on_screen, opacity_scale, monster.stamina, monster.max_stamina);
|
||||||
drawing.draw_label(stamina_UI.percentage_label, position_on_screen, opacity_scale, 100 * monster.stamina_percentage);
|
drawing.draw_label(stamina_UI.percentage_label, position_on_screen, opacity_scale, 100 * monster.stamina_percentage);
|
||||||
end
|
end
|
||||||
@@ -29,6 +30,7 @@ end
|
|||||||
function stamina_UI_entity.init_module()
|
function stamina_UI_entity.init_module()
|
||||||
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
||||||
drawing = require("MHR_Overlay.UI.drawing");
|
drawing = require("MHR_Overlay.UI.drawing");
|
||||||
|
language = require("MHR_Overlay.Misc.language");
|
||||||
end
|
end
|
||||||
|
|
||||||
return stamina_UI_entity;
|
return stamina_UI_entity;
|
||||||
@@ -7,6 +7,10 @@ local player;
|
|||||||
local large_monster;
|
local large_monster;
|
||||||
local small_monster;
|
local small_monster;
|
||||||
local language;
|
local language;
|
||||||
|
local part_names;
|
||||||
|
|
||||||
|
customization_menu.font = nil;
|
||||||
|
customization_menu.font_range = { 0x1, 0xFFFF, 0 };
|
||||||
|
|
||||||
customization_menu.is_opened = false;
|
customization_menu.is_opened = false;
|
||||||
customization_menu.status = "OK";
|
customization_menu.status = "OK";
|
||||||
@@ -18,7 +22,6 @@ customization_menu.window_flags = 0x10120;
|
|||||||
|
|
||||||
customization_menu.color_picker_flags = 327680;
|
customization_menu.color_picker_flags = 327680;
|
||||||
|
|
||||||
|
|
||||||
customization_menu.selected_language_index = 1;
|
customization_menu.selected_language_index = 1;
|
||||||
|
|
||||||
customization_menu.displayed_orientation_types = {};
|
customization_menu.displayed_orientation_types = {};
|
||||||
@@ -75,9 +78,13 @@ customization_menu.large_monster_UI_anchor_index = 1;
|
|||||||
customization_menu.time_UI_anchor_index = 1;
|
customization_menu.time_UI_anchor_index = 1;
|
||||||
customization_menu.damage_meter_UI_anchor_index = 1;
|
customization_menu.damage_meter_UI_anchor_index = 1;
|
||||||
|
|
||||||
customization_menu.selected_font_index = 9;
|
customization_menu.selected_UI_font_index = 9;
|
||||||
|
|
||||||
function customization_menu.init()
|
function customization_menu.init()
|
||||||
|
customization_menu.font = imgui.load_font(language.current_language.font_name, config.current_config.global_settings.menu_font.size, customization_menu.font_range);
|
||||||
|
|
||||||
|
customization_menu.selected_language_index = table_helpers.find_index(language.language_names, config.current_config.global_settings.language, false);
|
||||||
|
|
||||||
customization_menu.displayed_orientation_types = {language.current_language.customization_menu.horizontal, language.current_language.customization_menu.vertical};
|
customization_menu.displayed_orientation_types = {language.current_language.customization_menu.horizontal, language.current_language.customization_menu.vertical};
|
||||||
customization_menu.displayed_anchor_types = {language.current_language.customization_menu.top_left, language.current_language.customization_menu.top_right, language.current_language.customization_menu.bottom_left, language.current_language.customization_menu.bottom_right};
|
customization_menu.displayed_anchor_types = {language.current_language.customization_menu.top_left, language.current_language.customization_menu.top_right, language.current_language.customization_menu.bottom_left, language.current_language.customization_menu.bottom_right};
|
||||||
|
|
||||||
@@ -138,7 +145,7 @@ function customization_menu.init()
|
|||||||
customization_menu.damage_meter_UI_sorting_types, config.current_config.damage_meter_UI.sorting.type, false);
|
customization_menu.damage_meter_UI_sorting_types, config.current_config.damage_meter_UI.sorting.type, false);
|
||||||
|
|
||||||
customization_menu.selected_font_index = table_helpers.find_index(customization_menu.fonts,
|
customization_menu.selected_font_index = table_helpers.find_index(customization_menu.fonts,
|
||||||
config.current_config.global_settings.font.family, false);
|
config.current_config.global_settings.UI_font.family, false);
|
||||||
|
|
||||||
customization_menu.small_monster_UI_anchor_index = table_helpers.find_index(customization_menu.anchor_types,
|
customization_menu.small_monster_UI_anchor_index = table_helpers.find_index(customization_menu.anchor_types,
|
||||||
config.current_config.small_monster_UI.static_position.anchor, false);
|
config.current_config.small_monster_UI.static_position.anchor, false);
|
||||||
@@ -157,15 +164,17 @@ function customization_menu.draw()
|
|||||||
imgui.set_next_window_pos(customization_menu.window_position, 1 << 3, customization_menu.window_pivot);
|
imgui.set_next_window_pos(customization_menu.window_position, 1 << 3, customization_menu.window_pivot);
|
||||||
imgui.set_next_window_size(customization_menu.window_size, 1 << 3);
|
imgui.set_next_window_size(customization_menu.window_size, 1 << 3);
|
||||||
|
|
||||||
customization_menu.is_opened = imgui.begin_window(language.current_language.customization_menu.mod_name .. " " .. config.current_config.version,
|
imgui.push_font(customization_menu.font);
|
||||||
customization_menu.is_opened, customization_menu.window_flags);
|
|
||||||
|
customization_menu.is_opened = imgui.begin_window(language.current_language.customization_menu.mod_name .. " " .. config.current_config.version, customization_menu.is_opened, customization_menu.window_flags);
|
||||||
|
|
||||||
if not customization_menu.is_opened then
|
if not customization_menu.is_opened then
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local config_changed = false;
|
local config_changed = false;
|
||||||
local changed;
|
local changed = false;
|
||||||
|
|
||||||
local status_string = tostring(customization_menu.status);
|
local status_string = tostring(customization_menu.status);
|
||||||
imgui.text(language.current_language.customization_menu.status .. ": " .. status_string);
|
imgui.text(language.current_language.customization_menu.status .. ": " .. status_string);
|
||||||
|
|
||||||
@@ -198,12 +207,16 @@ function customization_menu.draw()
|
|||||||
changed, customization_menu.selected_language_index = imgui.combo(language.current_language.customization_menu.language, customization_menu.selected_language_index, language.language_names);
|
changed, customization_menu.selected_language_index = imgui.combo(language.current_language.customization_menu.language, customization_menu.selected_language_index, language.language_names);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
if changed then
|
if changed then
|
||||||
config.current_config.global_settings.language = language.language_names[customization_menu.selected_font_index];
|
config.current_config.global_settings.language = language.language_names[customization_menu.selected_language_index];
|
||||||
|
|
||||||
large_monster.init_list();
|
|
||||||
|
|
||||||
language.update(customization_menu.selected_language_index);
|
language.update(customization_menu.selected_language_index);
|
||||||
|
|
||||||
|
imgui.pop_font(customization_menu.font);
|
||||||
|
customization_menu.init();
|
||||||
|
imgui.push_font(customization_menu.font);
|
||||||
|
|
||||||
|
part_names.init();
|
||||||
|
large_monster.init_list();
|
||||||
|
|
||||||
for _, monster in pairs(small_monster.list) do
|
for _, monster in pairs(small_monster.list) do
|
||||||
small_monster.init_UI(monster);
|
small_monster.init_UI(monster);
|
||||||
end
|
end
|
||||||
@@ -213,6 +226,77 @@ function customization_menu.draw()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.menu_font) then
|
||||||
|
changed, config.current_config.global_settings.menu_font.size =
|
||||||
|
imgui.slider_int(" ", config.current_config.global_settings.menu_font.size, 5, 100);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
imgui.same_line();
|
||||||
|
|
||||||
|
if changed then
|
||||||
|
imgui.pop_font(customization_menu.font);
|
||||||
|
customization_menu.font = imgui.load_font(language.current_language.font_name, config.current_config.global_settings.menu_font.size, customization_menu.font_range);
|
||||||
|
imgui.push_font(customization_menu.font);
|
||||||
|
end
|
||||||
|
|
||||||
|
changed = imgui.button("-");
|
||||||
|
imgui.same_line();
|
||||||
|
|
||||||
|
if changed then
|
||||||
|
config.current_config.global_settings.menu_font.size = config.current_config.global_settings.menu_font.size - 1;
|
||||||
|
if config.current_config.global_settings.menu_font.size < 5 then
|
||||||
|
config.current_config.global_settings.menu_font.size = 10;
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.pop_font(customization_menu.font);
|
||||||
|
customization_menu.font = imgui.load_font(language.current_language.font_name, config.current_config.global_settings.menu_font.size, customization_menu.font_range);
|
||||||
|
imgui.push_font(customization_menu.font);
|
||||||
|
end
|
||||||
|
|
||||||
|
changed = imgui.button("+");
|
||||||
|
imgui.same_line();
|
||||||
|
|
||||||
|
if changed then
|
||||||
|
config.current_config.global_settings.menu_font.size = config.current_config.global_settings.menu_font.size + 1;
|
||||||
|
if config.current_config.global_settings.menu_font.size > 100 then
|
||||||
|
config.current_config.global_settings.menu_font.size = 100;
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.pop_font(customization_menu.font);
|
||||||
|
customization_menu.font = imgui.load_font(language.current_language.font_name, config.current_config.global_settings.menu_font.size, customization_menu.font_range);
|
||||||
|
imgui.push_font(customization_menu.font);
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
imgui.text(language.current_language.customization_menu.size);
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.UI_font) then
|
||||||
|
imgui.text(language.current_language.customization_menu.UI_font_notice);
|
||||||
|
|
||||||
|
changed, customization_menu.selected_UI_font_index = imgui.combo(language.current_language.customization_menu.family, customization_menu.selected_UI_font_index,
|
||||||
|
customization_menu.fonts);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
if changed then
|
||||||
|
config.current_config.global_settings.uUI_font.family = customization_menu.fonts[customization_menu.selected_UI_font_index];
|
||||||
|
end
|
||||||
|
|
||||||
|
changed, config.current_config.global_settings.UI_font.size =
|
||||||
|
imgui.slider_int(language.current_language.customization_menu.size, config.current_config.global_settings.UI_font.size, 1, 100);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.global_settings.UI_font.bold =
|
||||||
|
imgui.checkbox(language.current_language.customization_menu.bold, config.current_config.global_settings.UI_font.bold);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.global_settings.UI_font.italic =
|
||||||
|
imgui.checkbox(language.current_language.customization_menu.italic, config.current_config.global_settings.UI_font.italic);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.performance) then
|
if imgui.tree_node(language.current_language.customization_menu.performance) then
|
||||||
changed, config.current_config.global_settings.performance.max_monster_updates_per_tick =
|
changed, config.current_config.global_settings.performance.max_monster_updates_per_tick =
|
||||||
imgui.slider_int(language.current_language.customization_menu.max_monster_updates_per_tick, config.current_config.global_settings.performance.max_monster_updates_per_tick, 1, 150);
|
imgui.slider_int(language.current_language.customization_menu.max_monster_updates_per_tick, config.current_config.global_settings.performance.max_monster_updates_per_tick, 1, 150);
|
||||||
@@ -307,31 +391,6 @@ function customization_menu.draw()
|
|||||||
imgui.tree_pop();
|
imgui.tree_pop();
|
||||||
end
|
end
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.font) then
|
|
||||||
imgui.text(language.current_language.customization_menu.font_notice);
|
|
||||||
|
|
||||||
changed, customization_menu.selected_font_index = imgui.combo(language.current_language.customization_menu.family, customization_menu.selected_font_index,
|
|
||||||
customization_menu.fonts);
|
|
||||||
config_changed = config_changed or changed;
|
|
||||||
if changed then
|
|
||||||
config.current_config.global_settings.font.family = customization_menu.fonts[customization_menu.selected_font_index];
|
|
||||||
end
|
|
||||||
|
|
||||||
changed, config.current_config.global_settings.font.size =
|
|
||||||
imgui.slider_int(language.current_language.customization_menu.size, config.current_config.global_settings.font.size, 1, 100);
|
|
||||||
config_changed = config_changed or changed;
|
|
||||||
|
|
||||||
changed, config.current_config.global_settings.font.bold =
|
|
||||||
imgui.checkbox(language.current_language.customization_menu.bold, config.current_config.global_settings.font.bold);
|
|
||||||
config_changed = config_changed or changed;
|
|
||||||
|
|
||||||
changed, config.current_config.global_settings.font.italic =
|
|
||||||
imgui.checkbox(language.current_language.customization_menu.italic, config.current_config.global_settings.font.italic);
|
|
||||||
config_changed = config_changed or changed;
|
|
||||||
|
|
||||||
imgui.tree_pop();
|
|
||||||
end
|
|
||||||
|
|
||||||
imgui.tree_pop();
|
imgui.tree_pop();
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -342,6 +401,10 @@ function customization_menu.draw()
|
|||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.settings) then
|
if imgui.tree_node(language.current_language.customization_menu.settings) then
|
||||||
|
changed, config.current_config.small_monster_UI.settings.hide_dead_or_captured = imgui.checkbox(language.current_language.customization_menu.hide_dead_or_captured, config.current_config
|
||||||
|
.small_monster_UI.settings.hide_dead_or_captured);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
changed, customization_menu.small_monster_UI_orientation_index =
|
changed, customization_menu.small_monster_UI_orientation_index =
|
||||||
imgui.combo(language.current_language.customization_menu.static_orientation, customization_menu.small_monster_UI_orientation_index,
|
imgui.combo(language.current_language.customization_menu.static_orientation, customization_menu.small_monster_UI_orientation_index,
|
||||||
customization_menu.displayed_orientation_types);
|
customization_menu.displayed_orientation_types);
|
||||||
@@ -1068,6 +1131,10 @@ function customization_menu.draw()
|
|||||||
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.settings) then
|
if imgui.tree_node(language.current_language.customization_menu.settings) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.settings.hide_dead_or_captured = imgui.checkbox(language.current_language.customization_menu.hide_dead_or_captured, config.current_config.
|
||||||
|
large_monster_UI.dynamic.settings.hide_dead_or_captured);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
changed, config.current_config.large_monster_UI.dynamic.settings.opacity_falloff =
|
changed, config.current_config.large_monster_UI.dynamic.settings.opacity_falloff =
|
||||||
imgui.checkbox(language.current_language.customization_menu.opacity_falloff, config.current_config.large_monster_UI.dynamic.settings.opacity_falloff);
|
imgui.checkbox(language.current_language.customization_menu.opacity_falloff, config.current_config.large_monster_UI.dynamic.settings.opacity_falloff);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
@@ -1452,7 +1519,7 @@ function customization_menu.draw()
|
|||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.colors) then
|
if imgui.tree_node(language.current_language.customization_menu.colors) then
|
||||||
if imgui.tree_node(language.current_language.customization_menu.foreground) then
|
if imgui.tree_node(language.current_language.customization_menu.foreground) then
|
||||||
changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.foreground, customization_menu.color_picker_flags);
|
changed, config.current_config.large_monster_UI.dynamic.health.bar.normal_colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.normal_colors.foreground, customization_menu.color_picker_flags);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
@@ -1460,7 +1527,7 @@ function customization_menu.draw()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.background) then
|
if imgui.tree_node(language.current_language.customization_menu.background) then
|
||||||
changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.background, customization_menu.color_picker_flags);
|
changed, config.current_config.large_monster_UI.dynamic.health.bar.normal_colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.normal_colors.background, customization_menu.color_picker_flags);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
@@ -1469,7 +1536,7 @@ function customization_menu.draw()
|
|||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.monster_can_be_captured) then
|
if imgui.tree_node(language.current_language.customization_menu.monster_can_be_captured) then
|
||||||
if imgui.tree_node(language.current_language.customization_menu.foreground) then
|
if imgui.tree_node(language.current_language.customization_menu.foreground) then
|
||||||
changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.foreground, customization_menu.color_picker_flags);
|
changed, config.current_config.large_monster_UI.dynamic.health.bar.capture_colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.capture_colors.foreground, customization_menu.color_picker_flags);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
@@ -1477,7 +1544,7 @@ function customization_menu.draw()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.background) then
|
if imgui.tree_node(language.current_language.customization_menu.background) then
|
||||||
changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.background, customization_menu.color_picker_flags);
|
changed, config.current_config.large_monster_UI.dynamic.health.bar.capture_colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.capture_colors.background, customization_menu.color_picker_flags);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
@@ -1488,6 +1555,51 @@ function customization_menu.draw()
|
|||||||
imgui.tree_pop();
|
imgui.tree_pop();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.capture_line) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.health.bar.capture_line.visibility = imgui.checkbox(language.current_language.customization_menu.visible,
|
||||||
|
config.current_config.large_monster_UI.dynamic.health.bar.capture_line.visibility);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.offset) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.health.bar.capture_line.offset.x = imgui.drag_float(language.current_language.customization_menu.x,
|
||||||
|
config.current_config.large_monster_UI.dynamic.health.bar.capture_line.offset.x, 0.1, -screen.width, screen.width, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.health.bar.capture_line.offset.y = imgui.drag_float(language.current_language.customization_menu.y,
|
||||||
|
config.current_config.large_monster_UI.dynamic.health.bar.capture_line.offset.y, 0.1, -screen.height, screen.height, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.size) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.health.bar.capture_line.size.width = imgui.drag_float(language.current_language.customization_menu.width,
|
||||||
|
config.current_config.large_monster_UI.dynamic.health.bar.capture_line.size.width, 0.1, 0, screen.width, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.health.bar.capture_line.size.height = imgui.drag_float(language.current_language.customization_menu.height,
|
||||||
|
config.current_config.large_monster_UI.dynamic.health.bar.capture_line.size.height, 0.1, 0, screen.height, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.color) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.health.bar.capture_line.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.capture_line.color, customization_menu.color_picker_flags);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
imgui.tree_pop();
|
imgui.tree_pop();
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1974,6 +2086,74 @@ function customization_menu.draw()
|
|||||||
imgui.tree_pop();
|
imgui.tree_pop();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.timer_label) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.rage.timer_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible,
|
||||||
|
config.current_config.large_monster_UI.dynamic.rage.timer_label.visibility);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
-- add text format
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.offset) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.rage.timer_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x,
|
||||||
|
config.current_config.large_monster_UI.dynamic.rage.timer_label.offset.x, 0.1, -screen.width, screen.width,
|
||||||
|
"%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.rage.timer_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y,
|
||||||
|
config.current_config.large_monster_UI.dynamic.rage.timer_label.offset.y, 0.1, -screen.height, screen.height,
|
||||||
|
"%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.color) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.rage.timer_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.timer_label.color, customization_menu.color_picker_flags);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.shadow) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.rage.timer_label.shadow.visibility = imgui.checkbox(
|
||||||
|
language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.rage.timer_label.shadow.visibility);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.offset) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.rage.timer_label.shadow.offset.x = imgui.drag_float(
|
||||||
|
language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.rage.timer_label.shadow.offset.x, 0.1, -screen.width,
|
||||||
|
screen.width, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.rage.timer_label.shadow.offset.y = imgui.drag_float(
|
||||||
|
language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.rage.timer_label.shadow.offset.y, 0.1, -screen.height,
|
||||||
|
screen.height, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.color) then
|
||||||
|
changed, config.current_config.large_monster_UI.dynamic.rage.timer_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.timer_label.shadow.color, customization_menu.color_picker_flags);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.bar) then
|
if imgui.tree_node(language.current_language.customization_menu.bar) then
|
||||||
changed, config.current_config.large_monster_UI.dynamic.rage.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible,
|
changed, config.current_config.large_monster_UI.dynamic.rage.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible,
|
||||||
config.current_config.large_monster_UI.dynamic.rage.bar.visibility);
|
config.current_config.large_monster_UI.dynamic.rage.bar.visibility);
|
||||||
@@ -2459,6 +2639,10 @@ function customization_menu.draw()
|
|||||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.settings) then
|
if imgui.tree_node(language.current_language.customization_menu.settings) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.settings.hide_dead_or_captured = imgui.checkbox(language.current_language.customization_menu.hide_dead_or_captured, config.current_config.
|
||||||
|
large_monster_UI.static.settings.hide_dead_or_captured);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
changed, customization_menu.large_monster_UI_orientation_index = imgui.combo(language.current_language.customization_menu.orientation,
|
changed, customization_menu.large_monster_UI_orientation_index = imgui.combo(language.current_language.customization_menu.orientation,
|
||||||
customization_menu.large_monster_UI_orientation_index, customization_menu.displayed_orientation_types);
|
customization_menu.large_monster_UI_orientation_index, customization_menu.displayed_orientation_types);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
@@ -2864,7 +3048,7 @@ function customization_menu.draw()
|
|||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.colors) then
|
if imgui.tree_node(language.current_language.customization_menu.colors) then
|
||||||
if imgui.tree_node(language.current_language.customization_menu.foreground) then
|
if imgui.tree_node(language.current_language.customization_menu.foreground) then
|
||||||
changed, config.current_config.large_monster_UI.static.health.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.foreground, customization_menu.color_picker_flags);
|
changed, config.current_config.large_monster_UI.static.health.bar.normal_colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.normal_colors.foreground, customization_menu.color_picker_flags);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
@@ -2872,7 +3056,7 @@ function customization_menu.draw()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.background) then
|
if imgui.tree_node(language.current_language.customization_menu.background) then
|
||||||
changed, config.current_config.large_monster_UI.static.health.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.background, customization_menu.color_picker_flags);
|
changed, config.current_config.large_monster_UI.static.health.bar.normal_colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.normal_colors.background, customization_menu.color_picker_flags);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
@@ -2881,7 +3065,7 @@ function customization_menu.draw()
|
|||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.monster_can_be_captured) then
|
if imgui.tree_node(language.current_language.customization_menu.monster_can_be_captured) then
|
||||||
if imgui.tree_node(language.current_language.customization_menu.foreground) then
|
if imgui.tree_node(language.current_language.customization_menu.foreground) then
|
||||||
changed, config.current_config.large_monster_UI.static.health.bar.colors.capture.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.capture.foreground, customization_menu.color_picker_flags);
|
changed, config.current_config.large_monster_UI.static.health.bar.capture_colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.capture_colors.foreground, customization_menu.color_picker_flags);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
@@ -2889,7 +3073,7 @@ function customization_menu.draw()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.background) then
|
if imgui.tree_node(language.current_language.customization_menu.background) then
|
||||||
changed, config.current_config.large_monster_UI.static.health.bar.colors.capture.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.capture.background, customization_menu.color_picker_flags);
|
changed, config.current_config.large_monster_UI.static.health.bar.capture_colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.capture_colors.background, customization_menu.color_picker_flags);
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
@@ -2900,6 +3084,51 @@ function customization_menu.draw()
|
|||||||
imgui.tree_pop();
|
imgui.tree_pop();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.capture_line) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.health.bar.capture_line.visibility = imgui.checkbox(language.current_language.customization_menu.visible,
|
||||||
|
config.current_config.large_monster_UI.static.health.bar.capture_line.visibility);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.offset) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.health.bar.capture_line.offset.x = imgui.drag_float(language.current_language.customization_menu.x,
|
||||||
|
config.current_config.large_monster_UI.static.health.bar.capture_line.offset.x, 0.1, -screen.width, screen.width, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.large_monster_UI.static.health.bar.capture_line.offset.y = imgui.drag_float(language.current_language.customization_menu.y,
|
||||||
|
config.current_config.large_monster_UI.static.health.bar.capture_line.offset.y, 0.1, -screen.height, screen.height, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.size) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.health.bar.capture_line.size.width = imgui.drag_float(language.current_language.customization_menu.width,
|
||||||
|
config.current_config.large_monster_UI.static.health.bar.capture_line.size.width, 0.1, 0, screen.width, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.large_monster_UI.static.health.bar.capture_line.size.height = imgui.drag_float(language.current_language.customization_menu.height,
|
||||||
|
config.current_config.large_monster_UI.static.health.bar.capture_line.size.height, 0.1, 0, screen.height, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.color) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.health.bar.capture_line.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.capture_line.color, customization_menu.color_picker_flags);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
imgui.tree_pop();
|
imgui.tree_pop();
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -3384,6 +3613,74 @@ function customization_menu.draw()
|
|||||||
imgui.tree_pop();
|
imgui.tree_pop();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.timer_label) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.rage.timer_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible,
|
||||||
|
config.current_config.large_monster_UI.static.rage.timer_label.visibility);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
-- add text format
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.offset) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.rage.timer_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x,
|
||||||
|
config.current_config.large_monster_UI.static.rage.timer_label.offset.x, 0.1, -screen.width, screen.width,
|
||||||
|
"%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.large_monster_UI.static.rage.timer_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y,
|
||||||
|
config.current_config.large_monster_UI.static.rage.timer_label.offset.y, 0.1, -screen.height, screen.height,
|
||||||
|
"%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.color) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.rage.timer_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.timer_label.color, customization_menu.color_picker_flags);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.shadow) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.rage.timer_label.shadow.visibility = imgui.checkbox(
|
||||||
|
language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.rage.timer_label.shadow.visibility);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.offset) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.rage.timer_label.shadow.offset.x = imgui.drag_float(
|
||||||
|
language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.rage.timer_label.shadow.offset.x, 0.1, -screen.width,
|
||||||
|
screen.width, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.large_monster_UI.static.rage.timer_label.shadow.offset.y = imgui.drag_float(
|
||||||
|
language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.rage.timer_label.shadow.offset.y, 0.1, -screen.height,
|
||||||
|
screen.height, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.color) then
|
||||||
|
changed, config.current_config.large_monster_UI.static.rage.timer_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.timer_label.shadow.color, customization_menu.color_picker_flags);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.bar) then
|
if imgui.tree_node(language.current_language.customization_menu.bar) then
|
||||||
changed, config.current_config.large_monster_UI.static.rage.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible,
|
changed, config.current_config.large_monster_UI.static.rage.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible,
|
||||||
config.current_config.large_monster_UI.static.rage.bar.visibility);
|
config.current_config.large_monster_UI.static.rage.bar.visibility);
|
||||||
@@ -4649,6 +4946,8 @@ function customization_menu.draw()
|
|||||||
|
|
||||||
imgui.end_window();
|
imgui.end_window();
|
||||||
|
|
||||||
|
imgui.pop_font(customization_menu.font);
|
||||||
|
|
||||||
if config_changed then
|
if config_changed then
|
||||||
config.save();
|
config.save();
|
||||||
end
|
end
|
||||||
@@ -4662,6 +4961,7 @@ function customization_menu.init_module()
|
|||||||
player = require("MHR_Overlay.Damage_Meter.player");
|
player = require("MHR_Overlay.Damage_Meter.player");
|
||||||
small_monster = require("MHR_Overlay.Monsters.small_monster");
|
small_monster = require("MHR_Overlay.Monsters.small_monster");
|
||||||
large_monster = require("MHR_Overlay.Monsters.large_monster");
|
large_monster = require("MHR_Overlay.Monsters.large_monster");
|
||||||
|
part_names = require("MHR_Overlay.Misc.part_names");
|
||||||
|
|
||||||
customization_menu.init();
|
customization_menu.init();
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ local config;
|
|||||||
drawing.font = nil;
|
drawing.font = nil;
|
||||||
|
|
||||||
function drawing.init_font()
|
function drawing.init_font()
|
||||||
drawing.font = d2d.Font.new(config.current_config.global_settings.font.family, config.current_config.global_settings.font.size, config.current_config.global_settings.font.bold, config.current_config.global_settings.font.italic);
|
drawing.font = d2d.Font.new(config.current_config.global_settings.UI_font.family, config.current_config.global_settings.UI_font.size, config.current_config.global_settings.UI_font.bold, config.current_config.global_settings.UI_font.italic);
|
||||||
end
|
end
|
||||||
|
|
||||||
function drawing.color_to_argb(color)
|
function drawing.color_to_argb(color)
|
||||||
@@ -30,11 +30,9 @@ function drawing.scale_color_opacity(color, scale)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function drawing.scale_bar_opacity(bar, scale)
|
function drawing.scale_bar_opacity(bar, scale)
|
||||||
if bar == nil or scale == nil then
|
if bar == nil
|
||||||
return;
|
or scale == nil
|
||||||
end
|
or not bar.visibility then
|
||||||
|
|
||||||
if not bar.visibility then
|
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -43,11 +41,9 @@ function drawing.scale_bar_opacity(bar, scale)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function drawing.scale_label_opacity(label, scale)
|
function drawing.scale_label_opacity(label, scale)
|
||||||
if label == nil or scale == nil then
|
if label == nil
|
||||||
return;
|
or scale == nil
|
||||||
end
|
or not label.visibility then
|
||||||
|
|
||||||
if not label.visibility then
|
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -56,7 +52,8 @@ function drawing.scale_label_opacity(label, scale)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function drawing.draw_label(label, position, opacity_scale, ...)
|
function drawing.draw_label(label, position, opacity_scale, ...)
|
||||||
if label == nil or not label.visibility then
|
if label == nil
|
||||||
|
or not label.visibility then
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -82,11 +79,8 @@ function drawing.draw_label(label, position, opacity_scale, ...)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function drawing.draw_bar(bar, position, opacity_scale, percentage)
|
function drawing.draw_bar(bar, position, opacity_scale, percentage)
|
||||||
if bar == nil then
|
if bar == nil
|
||||||
return;
|
or not bar.visibility then
|
||||||
end
|
|
||||||
|
|
||||||
if not bar.visibility then
|
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -113,6 +107,30 @@ function drawing.draw_bar(bar, position, opacity_scale, percentage)
|
|||||||
d2d.fill_rect(position_x + foreground_width, position_y, background_width, bar.size.height, new_background_color);
|
d2d.fill_rect(position_x + foreground_width, position_y, background_width, bar.size.height, new_background_color);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function drawing.draw_capture_line(bar, position, opacity_scale, percentage)
|
||||||
|
if bar == nil
|
||||||
|
or bar.capture_line == nil
|
||||||
|
or not bar.visibility
|
||||||
|
or not bar.capture_line.visibility
|
||||||
|
or percentage >= 1
|
||||||
|
or percentage <= 0 then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local position_x = position.x + bar.offset.x + bar.capture_line.offset.x + bar.size.width * percentage;
|
||||||
|
local position_y = position.y + bar.offset.y + bar.capture_line.offset.y;
|
||||||
|
|
||||||
|
local color = bar.capture_line.color;
|
||||||
|
|
||||||
|
if opacity_scale < 1 then
|
||||||
|
color = drawing.scale_color_opacity(color, opacity_scale);
|
||||||
|
end
|
||||||
|
|
||||||
|
d2d.fill_rect(position_x, position_y, bar.capture_line.size.width, bar.capture_line.size.height, color);
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
function drawing.init_module()
|
function drawing.init_module()
|
||||||
config = require("MHR_Overlay.Misc.config");
|
config = require("MHR_Overlay.Misc.config");
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -3,11 +3,15 @@
|
|||||||
"HP": "HP:",
|
"HP": "HP:",
|
||||||
"gold": "Gold",
|
"gold": "Gold",
|
||||||
"mini": "Mini",
|
"mini": "Mini",
|
||||||
|
"player": "Player",
|
||||||
"rage": "Rage:",
|
"rage": "Rage:",
|
||||||
"silver": "Silver",
|
"silver": "Silver",
|
||||||
"stamina": "Stamina:"
|
"stamina": "Stamina:",
|
||||||
|
"total_damage": "Total Damage"
|
||||||
},
|
},
|
||||||
"customization_menu": {
|
"customization_menu": {
|
||||||
|
"UI_font": "UI Font",
|
||||||
|
"UI_font_notice": "Any changes to the font require script reload!",
|
||||||
"anchor": "Anchor",
|
"anchor": "Anchor",
|
||||||
"background": "Background",
|
"background": "Background",
|
||||||
"bar": "Bar",
|
"bar": "Bar",
|
||||||
@@ -17,6 +21,7 @@
|
|||||||
"bottom_left": "Bottom-Left",
|
"bottom_left": "Bottom-Left",
|
||||||
"bottom_right": "Bottom-Right",
|
"bottom_right": "Bottom-Right",
|
||||||
"break_count": "Break Count",
|
"break_count": "Break Count",
|
||||||
|
"capture_line": "Capture Line",
|
||||||
"color": "Color",
|
"color": "Color",
|
||||||
"colors": "Colors",
|
"colors": "Colors",
|
||||||
"crown": "Crown",
|
"crown": "Crown",
|
||||||
@@ -34,19 +39,18 @@
|
|||||||
"enabled": "Enabled",
|
"enabled": "Enabled",
|
||||||
"family": "Family",
|
"family": "Family",
|
||||||
"first": "First",
|
"first": "First",
|
||||||
"font": "Font",
|
|
||||||
"font_notice": "Any changes to the font require script reload!",
|
|
||||||
"foreground": "Foreground",
|
"foreground": "Foreground",
|
||||||
"global_settings": "Global Settings",
|
"global_settings": "Global Settings",
|
||||||
"health": "Health",
|
"health": "Health",
|
||||||
"health_percentage": "Health Percentage",
|
"health_percentage": "Health Percentage",
|
||||||
"height": "Height",
|
"height": "Height",
|
||||||
|
"hide_dead_or_captured": "Hide dead or captured",
|
||||||
"hide_module_if_total_damage_is_zero": "Hide Module if Total Damage is 0",
|
"hide_module_if_total_damage_is_zero": "Hide Module if Total Damage is 0",
|
||||||
"hide_player_if_player_damage_is_zero": "Hide Player if Player Damage is 0",
|
"hide_player_if_player_damage_is_zero": "Hide Player if Player Damage is 0",
|
||||||
"hide_total_if_total_damage_is_zero": "Hide Total if Total Damage is 0",
|
"hide_total_if_total_damage_is_zero": "Hide Total if Total Damage is 0",
|
||||||
"hide_undamaged_parts": "Hide Undamaged Parts",
|
"hide_undamaged_parts": "Hide Undamaged Parts",
|
||||||
|
"highlighted_bar": "Highlighted Bar",
|
||||||
"highlighted_damage_bar": "Highlighted Damage Bar",
|
"highlighted_damage_bar": "Highlighted Damage Bar",
|
||||||
"higlighted_bar": "Highlighted Bar",
|
|
||||||
"horizontal": "Horizontal",
|
"horizontal": "Horizontal",
|
||||||
"hunter_rank": "Hunter Rank",
|
"hunter_rank": "Hunter Rank",
|
||||||
"include": "Include",
|
"include": "Include",
|
||||||
@@ -62,6 +66,7 @@
|
|||||||
"max_distance": "Max Distance",
|
"max_distance": "Max Distance",
|
||||||
"max_monster_updates_per_tick": "Max Monster Updates per Tick",
|
"max_monster_updates_per_tick": "Max Monster Updates per Tick",
|
||||||
"me": "Me",
|
"me": "Me",
|
||||||
|
"menu_font": "Menu Font",
|
||||||
"mod_name": "MHR Overlay",
|
"mod_name": "MHR Overlay",
|
||||||
"module_visibility_on_different_screens": "Module Visibility on Different Screens",
|
"module_visibility_on_different_screens": "Module Visibility on Different Screens",
|
||||||
"modules": "Modules",
|
"modules": "Modules",
|
||||||
@@ -107,6 +112,7 @@
|
|||||||
"text_label": "Text Label",
|
"text_label": "Text Label",
|
||||||
"time_UI": "Time UI",
|
"time_UI": "Time UI",
|
||||||
"time_label": "Time Label",
|
"time_label": "Time Label",
|
||||||
|
"timer_label": "Timer Label",
|
||||||
"top_damage": "Top Damage",
|
"top_damage": "Top Damage",
|
||||||
"top_left": "Top-Left",
|
"top_left": "Top-Left",
|
||||||
"top_right": "Top-Right",
|
"top_right": "Top-Right",
|
||||||
@@ -129,6 +135,7 @@
|
|||||||
"y": "Y",
|
"y": "Y",
|
||||||
"z": "Z"
|
"z": "Z"
|
||||||
},
|
},
|
||||||
|
"font_name": "NotoSansKR-Bold.otf",
|
||||||
"parts": {
|
"parts": {
|
||||||
"abdomen": "Abdomen",
|
"abdomen": "Abdomen",
|
||||||
"arms": "Arms",
|
"arms": "Arms",
|
||||||
|
|||||||
@@ -0,0 +1,181 @@
|
|||||||
|
{
|
||||||
|
"UI": {
|
||||||
|
"HP": "체력:",
|
||||||
|
"gold": "금관",
|
||||||
|
"mini": "미니",
|
||||||
|
"player": "Player",
|
||||||
|
"rage": "분노:",
|
||||||
|
"silver": "은관",
|
||||||
|
"stamina": "스태미나:",
|
||||||
|
"total_damage": "Total Damage"
|
||||||
|
},
|
||||||
|
"customization_menu": {
|
||||||
|
"UI_font": "글꼴",
|
||||||
|
"UI_font_notice": "Any changes to the font require script reload!",
|
||||||
|
"anchor": "앵커",
|
||||||
|
"background": "배경",
|
||||||
|
"bar": "막대",
|
||||||
|
"body_parts": "몸통 부위",
|
||||||
|
"bold": "굵게",
|
||||||
|
"bomb_damage": "폭탄 대미지",
|
||||||
|
"bottom_left": "좌하단",
|
||||||
|
"bottom_right": "우하단",
|
||||||
|
"break_count": "파괴 횟수",
|
||||||
|
"capture_line": "Capture Line",
|
||||||
|
"color": "색상",
|
||||||
|
"colors": "색상",
|
||||||
|
"crown": "금관",
|
||||||
|
"crown_thresholds": "금관 기준",
|
||||||
|
"damage": "대미지",
|
||||||
|
"damage_bar": "대미지 막대",
|
||||||
|
"damage_bars_are_relative_to": "대미지 막대의 상대적 위치",
|
||||||
|
"damage_meter_UI": "대미지 미터 UI",
|
||||||
|
"damage_percentage_label": "대미지 퍼센트 라벨",
|
||||||
|
"damage_value_label": "대미지 값 라벨",
|
||||||
|
"distance": "거리",
|
||||||
|
"during_quest": "퀘스트 중",
|
||||||
|
"dynamic_positioning": "유동 위치",
|
||||||
|
"dynamically_positioned": "유동적으로 위치함",
|
||||||
|
"enabled": "사용함",
|
||||||
|
"family": "모음",
|
||||||
|
"first": "처음",
|
||||||
|
"font_notice": "글꼴 설정은 모듈 리로딩이 필요합니다!",
|
||||||
|
"foreground": "전경색",
|
||||||
|
"global_settings": "전역 설정",
|
||||||
|
"health": "체력",
|
||||||
|
"health_percentage": "체력 퍼센트",
|
||||||
|
"height": "높이",
|
||||||
|
"hide_dead_or_captured": "Hide dead or captured",
|
||||||
|
"hide_module_if_total_damage_is_zero": "총 대미지가 0이면 모듈 숨김",
|
||||||
|
"hide_player_if_player_damage_is_zero": "헌터 대미지가 0이면 헌터 숨김",
|
||||||
|
"hide_total_if_total_damage_is_zero": "총 대미지가 0이면 모두 숨김",
|
||||||
|
"hide_undamaged_parts": "피해를 입히지 않은 부위 숨김",
|
||||||
|
"highlighted_bar": "강조 막대",
|
||||||
|
"highlighted_damage_bar": "강조된 대미지 막대",
|
||||||
|
"horizontal": "가로",
|
||||||
|
"hunter_rank": "헌터 랭크",
|
||||||
|
"include": "포함",
|
||||||
|
"installation_damage": "설치 대미지",
|
||||||
|
"italic": "기울임",
|
||||||
|
"kunai_damage": "쿠나이 대미지",
|
||||||
|
"language": "언어",
|
||||||
|
"large_monster_UI": "대형 몬스터 UI",
|
||||||
|
"large_monster_dynamic_UI": "대형 몬스터 유동 UI",
|
||||||
|
"large_monster_static_UI": "대형 몬스터 고정 UI",
|
||||||
|
"large_monsters": "대형 몬스터",
|
||||||
|
"last": "마지막",
|
||||||
|
"max_distance": "최대 거리",
|
||||||
|
"max_monster_updates_per_tick": "틱당 최대 몬스터 갱신",
|
||||||
|
"me": "나",
|
||||||
|
"menu_font": "Menu Font",
|
||||||
|
"mod_name": "MHR Overlay",
|
||||||
|
"module_visibility_on_different_screens": "다른 화면에서 모듈 표시",
|
||||||
|
"modules": "모듈",
|
||||||
|
"monster_can_be_captured": "몬스터 포획 가능",
|
||||||
|
"monster_damage": "몬스터 대미지",
|
||||||
|
"monster_name": "몬스터명",
|
||||||
|
"monster_name_label": "몬스터명 라벨",
|
||||||
|
"my_damage_bar_location": "내 대미지 막대 위치",
|
||||||
|
"none": "없음",
|
||||||
|
"normal": "보통",
|
||||||
|
"offset": "옵셋",
|
||||||
|
"opacity_falloff": "투명도 저하",
|
||||||
|
"orientation": "방향",
|
||||||
|
"other_players": "다른 헌터",
|
||||||
|
"otomo_damage": "동반자 대미지",
|
||||||
|
"part_name": "부위명",
|
||||||
|
"part_name_label": "부위 라벨",
|
||||||
|
"percentage_label": "퍼센트 라벨",
|
||||||
|
"performance": "성능",
|
||||||
|
"player_damage": "헌터 대미지",
|
||||||
|
"player_id": "헌터 ID",
|
||||||
|
"player_name": "헌터명",
|
||||||
|
"player_name_label": "헌터명 라벨",
|
||||||
|
"position": "위치",
|
||||||
|
"prioritize_large_monsters": "우선 순위의 대형 몬스터",
|
||||||
|
"quest_summary_screen": "퀘스트 요약 화면",
|
||||||
|
"rage": "분노",
|
||||||
|
"reversed_order": "역순",
|
||||||
|
"settings": "Settings",
|
||||||
|
"shadow": "Shadow",
|
||||||
|
"size": "Size",
|
||||||
|
"small_monster_UI": "소형 몬스터 UI",
|
||||||
|
"small_monsters": "소형 몬스터",
|
||||||
|
"sorting": "정렬",
|
||||||
|
"spacing": "간격",
|
||||||
|
"stamina": "스태미나",
|
||||||
|
"static_orientation": "고정 방향",
|
||||||
|
"static_position": "고정 위치",
|
||||||
|
"static_sorting": "고정 정렬",
|
||||||
|
"static_spacing": "고정 간격",
|
||||||
|
"statically_positioned": "고정적으로 위치함",
|
||||||
|
"status": "상태",
|
||||||
|
"text_label": "텍스트 라벨",
|
||||||
|
"time_UI": "시간 UI",
|
||||||
|
"time_label": "시간 라벨",
|
||||||
|
"timer_label": "Timer Label",
|
||||||
|
"top_damage": "최고 대미지",
|
||||||
|
"top_left": "좌상단",
|
||||||
|
"top_right": "우상단",
|
||||||
|
"total_damage": "총 대미지",
|
||||||
|
"total_damage_label": "총 대미지 라벨",
|
||||||
|
"total_damage_offset_is_relative": "총 대미지 옵셋은 상대적",
|
||||||
|
"total_damage_value_label": "총 대미지 값 라벨",
|
||||||
|
"tracked_damage_types": "대미지 종류별 추적",
|
||||||
|
"tracked_monster_types": "몬스터 타입별 추적",
|
||||||
|
"training_area": "훈련장",
|
||||||
|
"type": "타입",
|
||||||
|
"value_label": "값 라벨",
|
||||||
|
"vertical": "세로",
|
||||||
|
"viewport_offset": "뷰포트 옵셋",
|
||||||
|
"visible": "보임",
|
||||||
|
"width": "너비",
|
||||||
|
"word_player": "\"헌터\" 명칭",
|
||||||
|
"world_offset": "전역 옵셋",
|
||||||
|
"x": "X",
|
||||||
|
"y": "Y",
|
||||||
|
"z": "Z"
|
||||||
|
},
|
||||||
|
"font_name": "NotoSansKR-Bold.otf",
|
||||||
|
"parts": {
|
||||||
|
"abdomen": "배",
|
||||||
|
"arms": "팔",
|
||||||
|
"back": "등",
|
||||||
|
"back_windsac": "등 (바람주머니)",
|
||||||
|
"body": "몸",
|
||||||
|
"carapace": "갑각",
|
||||||
|
"chest_windsac": "가슴 (바람주머니)",
|
||||||
|
"claw": "발톱",
|
||||||
|
"dorsal_fin": "등지느러미",
|
||||||
|
"head": "머리",
|
||||||
|
"head_mud": "머리 (진흙)",
|
||||||
|
"large_mudbulb": "대형 진흙덩어리",
|
||||||
|
"left_arm": "왼팔",
|
||||||
|
"left_arm_ice": "왼팔 (얼음)",
|
||||||
|
"left_cutwing": "왼날개절단",
|
||||||
|
"left_leg": "왼다리",
|
||||||
|
"left_legs": "왼다리",
|
||||||
|
"left_wing": "왼날개",
|
||||||
|
"legs": "다리",
|
||||||
|
"lower_back": "아랫등",
|
||||||
|
"lower_body": "아랫몸",
|
||||||
|
"mane": "갈기",
|
||||||
|
"neck": "목",
|
||||||
|
"rear": "엉덩이",
|
||||||
|
"right_arm": "오른팔",
|
||||||
|
"right_arm_ice": "오른팔 (얼음)",
|
||||||
|
"right_cutwing": "오른날개절단",
|
||||||
|
"right_leg": "오른 다리",
|
||||||
|
"right_legs": "오른 다리",
|
||||||
|
"right_wing": "오른 날개",
|
||||||
|
"rock": "바위",
|
||||||
|
"spinning": "회전",
|
||||||
|
"tail": "꼬리",
|
||||||
|
"tail_mud": "꼬리 (진흙)",
|
||||||
|
"tail_windsac": "꼬리 (바람주머니)",
|
||||||
|
"torso": "몸통",
|
||||||
|
"upper_back": "윗등",
|
||||||
|
"upper_body": "윗몸",
|
||||||
|
"wings": "날개"
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user