mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-25 04:48:22 -08: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",
|
||||||
|
|||||||
181
reframework/data/MHR Overlay/languages/ko-kr.json
Normal file
181
reframework/data/MHR Overlay/languages/ko-kr.json
Normal file
@@ -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": "날개"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
reframework/fonts/NotoSans-Bold.ttf
Normal file
BIN
reframework/fonts/NotoSans-Bold.ttf
Normal file
Binary file not shown.
BIN
reframework/fonts/NotoSansHK-Bold.otf
Normal file
BIN
reframework/fonts/NotoSansHK-Bold.otf
Normal file
Binary file not shown.
BIN
reframework/fonts/NotoSansJP-Bold.otf
Normal file
BIN
reframework/fonts/NotoSansJP-Bold.otf
Normal file
Binary file not shown.
BIN
reframework/fonts/NotoSansKR-Bold.otf
Normal file
BIN
reframework/fonts/NotoSansKR-Bold.otf
Normal file
Binary file not shown.
BIN
reframework/fonts/NotoSansSC-Bold.otf
Normal file
BIN
reframework/fonts/NotoSansSC-Bold.otf
Normal file
Binary file not shown.
BIN
reframework/fonts/NotoSansTC-Bold.otf
Normal file
BIN
reframework/fonts/NotoSansTC-Bold.otf
Normal file
Binary file not shown.
BIN
reframework/fonts/unifont_jp-14.0.01.ttf
Normal file
BIN
reframework/fonts/unifont_jp-14.0.01.ttf
Normal file
Binary file not shown.
Reference in New Issue
Block a user