mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-24 04:18:11 -08:00
?
This commit is contained in:
@@ -85,7 +85,7 @@ re.on_frame(function()
|
||||
end);
|
||||
|
||||
re.on_frame(function()
|
||||
--draw.text("x: " .. tostring(x), 450, 50, 0xFFFFFFFF);
|
||||
draw.text("x: " .. tostring(x), 450, 50, 0xFFFFFFFF);
|
||||
end);
|
||||
-- #endregion
|
||||
--------------------------RE_IMGUI---------------------------
|
||||
@@ -106,8 +106,11 @@ end, function()
|
||||
quest_status.update_is_training_area();
|
||||
|
||||
if quest_status.is_training_area then
|
||||
if (config.current_config.large_monster_UI.dynamic.enabled or config.current_config.large_monster_UI.static.enabled) and config.current_config.global_settings.module_visibility.training_area.large_monster_UI then
|
||||
large_monster_UI.draw();
|
||||
local dynamic_enabled = config.current_config.large_monster_UI.dynamic.enabled and config.current_config.global_settings.module_visibility.training_area.large_monster_dynamic_UI;
|
||||
local static_enabled = config.current_config.large_monster_UI.static.enabled and config.current_config.global_settings.module_visibility.training_area.large_monster_static_UI;
|
||||
|
||||
if dynamic_enabled or static_enabled then
|
||||
large_monster_UI.draw(dynamic_enabled, static_enabled);
|
||||
end
|
||||
|
||||
if config.current_config.damage_meter_UI.enabled and config.current_config.global_settings.module_visibility.training_area.damage_meter_UI then
|
||||
@@ -120,8 +123,11 @@ end, function()
|
||||
small_monster_UI.draw();
|
||||
end
|
||||
|
||||
if (config.current_config.large_monster_UI.dynamic.enabled or config.current_config.large_monster_UI.static.enabled) and config.current_config.global_settings.module_visibility.during_quest.large_monster_UI then
|
||||
large_monster_UI.draw();
|
||||
local dynamic_enabled = config.current_config.large_monster_UI.dynamic.enabled and config.current_config.global_settings.module_visibility.during_quest.large_monster_dynamic_UI;
|
||||
local static_enabled = config.current_config.large_monster_UI.static.enabled and config.current_config.global_settings.module_visibility.during_quest.large_monster_static_UI;
|
||||
|
||||
if dynamic_enabled or static_enabled then
|
||||
large_monster_UI.draw(dynamic_enabled, static_enabled);
|
||||
end
|
||||
|
||||
if config.current_config.time_UI.enabled and config.current_config.global_settings.module_visibility.during_quest.time_UI then
|
||||
@@ -132,6 +138,17 @@ end, function()
|
||||
damage_meter_UI.draw();
|
||||
end
|
||||
elseif quest_status.index > 2 then
|
||||
if config.current_config.small_monster_UI.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.small_monster_UI then
|
||||
small_monster_UI.draw();
|
||||
end
|
||||
|
||||
local dynamic_enabled = config.current_config.large_monster_UI.dynamic.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_dynamic_UI;
|
||||
local static_enabled = config.current_config.large_monster_UI.static.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_static_UI;
|
||||
|
||||
if dynamic_enabled or static_enabled then
|
||||
large_monster_UI.draw(dynamic_enabled, static_enabled);
|
||||
end
|
||||
|
||||
if config.current_config.time_UI.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.time_UI then
|
||||
time_UI.draw();
|
||||
end
|
||||
|
||||
@@ -9,18 +9,23 @@ config.default_config = {
|
||||
module_visibility = {
|
||||
during_quest = {
|
||||
small_monster_UI = true,
|
||||
large_monster_UI = true,
|
||||
large_monster_dynamic_UI = true,
|
||||
large_monster_static_UI = true,
|
||||
time_UI = true,
|
||||
damage_meter_UI = true
|
||||
},
|
||||
|
||||
quest_summary_Screen = {
|
||||
quest_summary_screen = {
|
||||
small_monster_UI = false,
|
||||
large_monster_dynamic_UI = false,
|
||||
large_monster_static_UI = true,
|
||||
time_UI = true,
|
||||
damage_meter_UI = true
|
||||
},
|
||||
|
||||
training_area = {
|
||||
large_monster_UI = true,
|
||||
large_monster_dynamic_UI = true,
|
||||
large_monster_static_UI = true,
|
||||
damage_meter_UI = true
|
||||
}
|
||||
},
|
||||
@@ -94,6 +99,8 @@ config.default_config = {
|
||||
},
|
||||
|
||||
health = {
|
||||
visibility = true,
|
||||
|
||||
text_label = {
|
||||
visibility = false,
|
||||
text = "HP:",
|
||||
@@ -173,8 +180,10 @@ config.default_config = {
|
||||
},
|
||||
|
||||
stamina = {
|
||||
visibility = true,
|
||||
|
||||
text_label = {
|
||||
visibility = false,
|
||||
visibility = true,
|
||||
text = "Stamina:",
|
||||
offset = {
|
||||
x = 15,
|
||||
@@ -193,7 +202,7 @@ config.default_config = {
|
||||
},
|
||||
|
||||
value_label = {
|
||||
visibility = false,
|
||||
visibility = true,
|
||||
text = "%.0f/%.0f", -- current_health/max_health
|
||||
offset = {
|
||||
x = 15,
|
||||
@@ -232,7 +241,7 @@ config.default_config = {
|
||||
},
|
||||
|
||||
bar = {
|
||||
visibility = false,
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 10,
|
||||
y = 54
|
||||
@@ -299,6 +308,8 @@ config.default_config = {
|
||||
},
|
||||
|
||||
health = {
|
||||
visibility = true,
|
||||
|
||||
text_label = {
|
||||
visibility = false,
|
||||
text = "HP:",
|
||||
@@ -381,6 +392,8 @@ config.default_config = {
|
||||
},
|
||||
|
||||
stamina = {
|
||||
visibility = true,
|
||||
|
||||
text_label = {
|
||||
visibility = true,
|
||||
text = "Stamina:",
|
||||
@@ -459,6 +472,8 @@ config.default_config = {
|
||||
},
|
||||
|
||||
rage = {
|
||||
visibility = true,
|
||||
|
||||
text_label = {
|
||||
visibility = true,
|
||||
text = "Rage:",
|
||||
@@ -537,19 +552,29 @@ config.default_config = {
|
||||
},
|
||||
|
||||
parts = {
|
||||
visibility = false,
|
||||
|
||||
offset = {
|
||||
x = 0,
|
||||
y = 50
|
||||
},
|
||||
|
||||
|
||||
spacing = {
|
||||
x = 0,
|
||||
y = 24,
|
||||
},
|
||||
|
||||
settings = {
|
||||
hide_undamaged_parts = true,
|
||||
},
|
||||
|
||||
sorting = {
|
||||
type = "Normal",
|
||||
reversed_order = false
|
||||
},
|
||||
|
||||
part_name_label = {
|
||||
visibility = false,
|
||||
visibility = true,
|
||||
text = "%s",
|
||||
|
||||
include = {
|
||||
@@ -593,7 +618,7 @@ config.default_config = {
|
||||
},
|
||||
|
||||
value_label = {
|
||||
visibility = false,
|
||||
visibility = true,
|
||||
text = "%.0f/%.0f", -- current_health/max_health
|
||||
offset = {
|
||||
x = 55,
|
||||
@@ -632,7 +657,7 @@ config.default_config = {
|
||||
},
|
||||
|
||||
bar = {
|
||||
visibility = false,
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 10,
|
||||
y = 78
|
||||
@@ -702,6 +727,8 @@ config.default_config = {
|
||||
},
|
||||
|
||||
health = {
|
||||
visibility = true,
|
||||
|
||||
text_label = {
|
||||
visibility = false,
|
||||
text = "HP:",
|
||||
@@ -784,6 +811,8 @@ config.default_config = {
|
||||
},
|
||||
|
||||
stamina = {
|
||||
visibility = true,
|
||||
|
||||
text_label = {
|
||||
visibility = true,
|
||||
text = "Stamina:",
|
||||
@@ -862,6 +891,8 @@ config.default_config = {
|
||||
},
|
||||
|
||||
rage = {
|
||||
visibility = true,
|
||||
|
||||
text_label = {
|
||||
visibility = true,
|
||||
text = "Rage:",
|
||||
@@ -940,16 +971,28 @@ config.default_config = {
|
||||
},
|
||||
|
||||
parts = {
|
||||
visibility = true,
|
||||
|
||||
|
||||
|
||||
offset = {
|
||||
x = 0,
|
||||
y = 50
|
||||
},
|
||||
|
||||
|
||||
spacing = {
|
||||
x = 0,
|
||||
y = 24,
|
||||
},
|
||||
|
||||
settings = {
|
||||
hide_undamaged_parts = true,
|
||||
},
|
||||
|
||||
sorting = {
|
||||
type = "Normal",
|
||||
reversed_order = false
|
||||
},
|
||||
|
||||
part_name_label = {
|
||||
visibility = true,
|
||||
@@ -1111,6 +1154,7 @@ config.default_config = {
|
||||
|
||||
hide_module_if_total_damage_is_zero = false,
|
||||
hide_player_if_player_damage_is_zero = false,
|
||||
hide_total_if_total_damage_is_zero = false,
|
||||
total_damage_offset_is_relative = true,
|
||||
|
||||
highlighted_bar = "Me",
|
||||
|
||||
@@ -34,6 +34,7 @@ end
|
||||
|
||||
function body_part.init_dynamic_UI(part)
|
||||
part.body_part_dynamic_UI = body_part_UI_entity.new(
|
||||
config.current_config.large_monster_UI.dynamic.parts.visibility,
|
||||
config.current_config.large_monster_UI.dynamic.parts.bar,
|
||||
config.current_config.large_monster_UI.dynamic.parts.part_name_label,
|
||||
config.current_config.large_monster_UI.dynamic.parts.text_label,
|
||||
@@ -44,6 +45,7 @@ end
|
||||
|
||||
function body_part.init_static_UI(part)
|
||||
part.body_part_static_UI = body_part_UI_entity.new(
|
||||
config.current_config.large_monster_UI.static.parts.visibility,
|
||||
config.current_config.large_monster_UI.static.parts.bar,
|
||||
config.current_config.large_monster_UI.static.parts.part_name_label,
|
||||
config.current_config.large_monster_UI.static.parts.text_label,
|
||||
|
||||
@@ -56,6 +56,7 @@ function large_monster.new(enemy)
|
||||
large_monster.init_static_UI(monster);
|
||||
large_monster.init_dynamic_UI(monster);
|
||||
|
||||
|
||||
if large_monster.list[enemy] == nil then
|
||||
large_monster.list[enemy] = monster;
|
||||
end
|
||||
@@ -123,6 +124,7 @@ function large_monster.init_static_UI(monster)
|
||||
monster.static_name_label = table_helpers.deep_copy(config.current_config.large_monster_UI.static.monster_name_label);
|
||||
|
||||
monster.health_static_UI = health_UI_entity.new(
|
||||
config.current_config.large_monster_UI.static.health.visibility,
|
||||
config.current_config.large_monster_UI.static.health.bar,
|
||||
config.current_config.large_monster_UI.static.health.text_label,
|
||||
config.current_config.large_monster_UI.static.health.value_label,
|
||||
@@ -130,6 +132,7 @@ function large_monster.init_static_UI(monster)
|
||||
);
|
||||
|
||||
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.bar,
|
||||
config.current_config.large_monster_UI.static.stamina.text_label,
|
||||
config.current_config.large_monster_UI.static.stamina.value_label,
|
||||
@@ -137,6 +140,7 @@ function large_monster.init_static_UI(monster)
|
||||
);
|
||||
|
||||
monster.rage_static_UI = rage_UI_entity.new(
|
||||
config.current_config.large_monster_UI.static.rage.visibility,
|
||||
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.value_label,
|
||||
@@ -152,6 +156,7 @@ function large_monster.init_dynamic_UI(monster)
|
||||
monster.dynamic_name_label = table_helpers.deep_copy(config.current_config.large_monster_UI.dynamic.monster_name_label);
|
||||
|
||||
monster.health_dynamic_UI = health_UI_entity.new(
|
||||
config.current_config.large_monster_UI.dynamic.health.visibility,
|
||||
config.current_config.large_monster_UI.dynamic.health.bar,
|
||||
config.current_config.large_monster_UI.dynamic.health.text_label,
|
||||
config.current_config.large_monster_UI.dynamic.health.value_label,
|
||||
@@ -159,6 +164,7 @@ function large_monster.init_dynamic_UI(monster)
|
||||
);
|
||||
|
||||
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.bar,
|
||||
config.current_config.large_monster_UI.dynamic.stamina.text_label,
|
||||
config.current_config.large_monster_UI.dynamic.stamina.value_label,
|
||||
@@ -166,6 +172,7 @@ function large_monster.init_dynamic_UI(monster)
|
||||
);
|
||||
|
||||
monster.rage_dynamic_UI = rage_UI_entity.new(
|
||||
config.current_config.large_monster_UI.dynamic.rage.visibility,
|
||||
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.value_label,
|
||||
@@ -414,16 +421,56 @@ function large_monster.draw_dynamic(monster, 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);
|
||||
|
||||
local j = 0;
|
||||
--sort parts here
|
||||
local displayed_parts = {};
|
||||
for REpart, part in pairs(monster.parts) do
|
||||
if config.current_config.large_monster_UI.dynamic.parts.settings.hide_undamaged_parts and part.health == part.max_health and part.break_count == 0 then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
table.insert(displayed_parts, part);
|
||||
::continue::
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.dynamic.parts.sorting.type == "Normal" then
|
||||
if config.current_config.large_monster_UI.dynamic.parts.sorting.reversed_order then
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.id > right.id;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.id < right.id;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.dynamic.parts.sorting.type == "Health" then
|
||||
if config.current_config.large_monster_UI.dynamic.parts.sorting.reversed_order then
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.health > right.health;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.health < right.health;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.dynamic.parts.sorting.type == "Health Percentage" then
|
||||
if config.current_config.large_monster_UI.dynamic.parts.sorting.reversed_order then
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.health_percentage > right.health_percentage;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.health_percentage < right.health_percentage;
|
||||
end);
|
||||
end
|
||||
end
|
||||
|
||||
for j, part in ipairs(displayed_parts) do
|
||||
local part_position_on_screen = {
|
||||
x = position_on_screen.x + config.current_config.large_monster_UI.dynamic.parts.offset.x + config.current_config.large_monster_UI.dynamic.parts.spacing.x * j,
|
||||
y = position_on_screen.y + config.current_config.large_monster_UI.dynamic.parts.offset.y + config.current_config.large_monster_UI.dynamic.parts.spacing.y * j;
|
||||
x = position_on_screen.x + config.current_config.large_monster_UI.dynamic.parts.offset.x + config.current_config.large_monster_UI.dynamic.parts.spacing.x * (j - 1),
|
||||
y = position_on_screen.y + config.current_config.large_monster_UI.dynamic.parts.offset.y + config.current_config.large_monster_UI.dynamic.parts.spacing.y * (j - 1);
|
||||
}
|
||||
|
||||
body_part.draw_dynamic(part, part_position_on_screen, opacity_scale);
|
||||
|
||||
j = j + 1;
|
||||
end
|
||||
end
|
||||
|
||||
@@ -451,16 +498,56 @@ function large_monster.draw_static(monster, 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);
|
||||
|
||||
local j = 0;
|
||||
--sort parts here
|
||||
local displayed_parts = {};
|
||||
for REpart, part in pairs(monster.parts) do
|
||||
if config.current_config.large_monster_UI.static.parts.settings.hide_undamaged_parts and part.health == part.max_health and part.break_count == 0 then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
table.insert(displayed_parts, part);
|
||||
::continue::
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.static.parts.sorting.type == "Normal" then
|
||||
if config.current_config.large_monster_UI.static.parts.sorting.reversed_order then
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.id > right.id;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.id < right.id;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.static.parts.sorting.type == "Health" then
|
||||
if config.current_config.large_monster_UI.static.parts.sorting.reversed_order then
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.health > right.health;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.health < right.health;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.static.parts.sorting.type == "Health Percentage" then
|
||||
if config.current_config.large_monster_UI.static.parts.sorting.reversed_order then
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.health_percentage > right.health_percentage;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_parts, function(left, right)
|
||||
return left.health_percentage < right.health_percentage;
|
||||
end);
|
||||
end
|
||||
end
|
||||
|
||||
for j, part in ipairs(displayed_parts) do
|
||||
local part_position_on_screen = {
|
||||
x = position_on_screen.x + config.current_config.large_monster_UI.static.parts.offset.x + config.current_config.large_monster_UI.static.parts.spacing.x * j,
|
||||
y = position_on_screen.y + config.current_config.large_monster_UI.static.parts.offset.y + config.current_config.large_monster_UI.static.parts.spacing.y * j;
|
||||
x = position_on_screen.x + config.current_config.large_monster_UI.static.parts.offset.x + config.current_config.large_monster_UI.static.parts.spacing.x * (j - 1),
|
||||
y = position_on_screen.y + config.current_config.large_monster_UI.static.parts.offset.y + config.current_config.large_monster_UI.static.parts.spacing.y * (j - 1);
|
||||
}
|
||||
|
||||
body_part.draw_static(part, part_position_on_screen, opacity_scale);
|
||||
|
||||
j = j + 1;
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ function small_monster.init_UI(monster)
|
||||
monster.name_label = table_helpers.deep_copy(config.current_config.small_monster_UI.monster_name_label);
|
||||
|
||||
monster.health_UI = health_UI_entity.new(
|
||||
config.current_config.small_monster_UI.health.visibility,
|
||||
config.current_config.small_monster_UI.health.bar,
|
||||
config.current_config.small_monster_UI.health.text_label,
|
||||
config.current_config.small_monster_UI.health.value_label,
|
||||
@@ -70,6 +71,7 @@ function small_monster.init_UI(monster)
|
||||
);
|
||||
|
||||
monster.stamina_UI = stamina_UI_entity.new(
|
||||
config.current_config.small_monster_UI.stamina.visibility,
|
||||
config.current_config.small_monster_UI.stamina.bar,
|
||||
config.current_config.small_monster_UI.stamina.text_label,
|
||||
config.current_config.small_monster_UI.stamina.value_label,
|
||||
@@ -176,6 +178,7 @@ end
|
||||
function small_monster.draw(monster, position_on_screen, opacity_scale)
|
||||
drawing.draw_label(monster.name_label, position_on_screen, opacity_scale, monster.name);
|
||||
|
||||
|
||||
health_UI_entity.draw(monster, monster.health_UI, position_on_screen, opacity_scale);
|
||||
stamina_UI_entity.draw(monster, monster.stamina_UI, position_on_screen, opacity_scale);
|
||||
end
|
||||
|
||||
@@ -56,9 +56,13 @@ function damage_meter_UI.draw()
|
||||
myself_hunter_rank = 0;
|
||||
end
|
||||
|
||||
x = singletons.lobby_manager:get_field("_myselfIndex");
|
||||
|
||||
if player.list[player.myself_id] == nil then
|
||||
player.list[player.myself_id] = player.new(player.myself_id, myself_player_name, myself_hunter_rank);
|
||||
player.myself = player.list[player.myself_id];
|
||||
else
|
||||
|
||||
end
|
||||
|
||||
local quest_players = {};
|
||||
@@ -87,7 +91,6 @@ function damage_meter_UI.draw()
|
||||
|
||||
local player_id = player_info:get_field("_memberIndex");
|
||||
if player_id == nil then
|
||||
|
||||
goto continue
|
||||
end
|
||||
|
||||
@@ -176,6 +179,10 @@ function damage_meter_UI.draw()
|
||||
end
|
||||
|
||||
-- draw total damage
|
||||
if config.current_config.damage_meter_UI.settings.hide_total_if_total_damage_is_zero and player.total.display.total_damage == 0 then
|
||||
return;
|
||||
end
|
||||
|
||||
if not config.current_config.damage_meter_UI.settings.total_damage_offset_is_relative then
|
||||
position_on_screen = screen.calculate_absolute_coordinates(config.current_config.damage_meter_UI.position);
|
||||
end
|
||||
|
||||
@@ -11,7 +11,7 @@ local health_UI_entity;
|
||||
local stamina_UI_entity;
|
||||
local rage_UI_entity;
|
||||
|
||||
function large_monster_UI.draw()
|
||||
function large_monster_UI.draw(dynamic_enabled, static_enabled)
|
||||
if singletons.enemy_manager == nil then
|
||||
return;
|
||||
end
|
||||
@@ -39,7 +39,7 @@ function large_monster_UI.draw()
|
||||
table.insert(displayed_monsters, monster);
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.dynamic.enabled then
|
||||
if dynamic_enabled then
|
||||
local i = 0;
|
||||
for _, monster in ipairs(displayed_monsters) do
|
||||
|
||||
@@ -77,7 +77,7 @@ function large_monster_UI.draw()
|
||||
end
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.static.enabled then
|
||||
if static_enabled then
|
||||
-- sort here
|
||||
if config.current_config.large_monster_UI.static.sorting.type == "Normal" and config.current_config.large_monster_UI.static.sorting.reversed_order then
|
||||
local reversed_monsters = {};
|
||||
|
||||
@@ -110,13 +110,12 @@ function small_monster_UI.draw()
|
||||
if distance > config.current_config.small_monster_UI.dynamic_positioning.max_distance then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
|
||||
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);
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
small_monster.draw(monster, position_on_screen, opacity_scale);
|
||||
|
||||
i = i + 1;
|
||||
|
||||
@@ -3,9 +3,10 @@ local config;
|
||||
local table_helpers;
|
||||
local drawing;
|
||||
|
||||
function body_part_UI_entity.new(bar, name_label, text_label, value_label, percentage_label)
|
||||
function body_part_UI_entity.new(visibility, bar, name_label, text_label, value_label, percentage_label)
|
||||
local entity = {};
|
||||
|
||||
entity.visibility = visibility;
|
||||
entity.bar = table_helpers.deep_copy(bar);
|
||||
entity.name_label = table_helpers.deep_copy(name_label);
|
||||
entity.text_label = table_helpers.deep_copy(text_label);
|
||||
@@ -16,6 +17,9 @@ function body_part_UI_entity.new(bar, name_label, text_label, value_label, perce
|
||||
end
|
||||
|
||||
function body_part_UI_entity.draw_dynamic(part, position_on_screen, opacity_scale)
|
||||
if not part.body_part_dynamic_UI.visibility then
|
||||
return;
|
||||
end
|
||||
|
||||
local part_name = "";
|
||||
if config.current_config.large_monster_UI.dynamic.parts.part_name_label.include.part_name then
|
||||
@@ -34,6 +38,9 @@ function body_part_UI_entity.draw_dynamic(part, position_on_screen, opacity_scal
|
||||
end
|
||||
|
||||
function body_part_UI_entity.draw_static(part, position_on_screen, opacity_scale)
|
||||
if not part.body_part_static_UI.visibility then
|
||||
return;
|
||||
end
|
||||
|
||||
local part_name = "";
|
||||
if config.current_config.large_monster_UI.static.parts.part_name_label.include.part_name then
|
||||
|
||||
@@ -7,6 +7,7 @@ local player;
|
||||
function damage_UI_entity.new(bar, highlighted_bar, player_name_label, value_label, percentage_label)
|
||||
local entity = {};
|
||||
|
||||
--entity.visibility = visibility;
|
||||
entity.bar = table_helpers.deep_copy(bar);
|
||||
entity.highlighted_bar = table_helpers.deep_copy(highlighted_bar);
|
||||
entity.player_name_label = table_helpers.deep_copy(player_name_label);
|
||||
@@ -17,6 +18,7 @@ function damage_UI_entity.new(bar, highlighted_bar, player_name_label, value_lab
|
||||
end
|
||||
|
||||
function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_damage)
|
||||
|
||||
local player_include = config.current_config.damage_meter_UI.player_name_label.include.others;
|
||||
if _player.id == _player.myself_id then
|
||||
player_include = config.current_config.damage_meter_UI.player_name_label.include.myself;
|
||||
|
||||
@@ -2,9 +2,10 @@ local health_UI_entity = {};
|
||||
local table_helpers;
|
||||
local drawing;
|
||||
|
||||
function health_UI_entity.new(bar, text_label, value_label, percentage_label)
|
||||
function health_UI_entity.new(visibility, bar, text_label, value_label, percentage_label)
|
||||
local entity = {};
|
||||
|
||||
entity.visibility = visibility;
|
||||
entity.bar = table_helpers.deep_copy(bar);
|
||||
entity.text_label = table_helpers.deep_copy(text_label);
|
||||
entity.value_label = table_helpers.deep_copy(value_label);
|
||||
@@ -14,6 +15,10 @@ function health_UI_entity.new(bar, text_label, value_label, percentage_label)
|
||||
end
|
||||
|
||||
function health_UI_entity.draw(monster, health_UI, position_on_screen, opacity_scale)
|
||||
if not health_UI.visibility then
|
||||
x = health_UI.visibility
|
||||
return;
|
||||
end
|
||||
|
||||
drawing.draw_bar(health_UI.bar, position_on_screen, opacity_scale, monster.health_percentage);
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@ local rage_UI_entity = {};
|
||||
local table_helpers;
|
||||
local drawing;
|
||||
|
||||
function rage_UI_entity.new(bar, text_label, value_label, percentage_label)
|
||||
function rage_UI_entity.new(visibility, bar, text_label, value_label, percentage_label)
|
||||
local entity = {};
|
||||
|
||||
entity.visibility = visibility;
|
||||
entity.bar = table_helpers.deep_copy(bar);
|
||||
entity.text_label = table_helpers.deep_copy(text_label);
|
||||
entity.value_label = table_helpers.deep_copy(value_label);
|
||||
@@ -16,6 +17,10 @@ function rage_UI_entity.new(bar, text_label, value_label, percentage_label)
|
||||
end
|
||||
|
||||
function rage_UI_entity.draw(monster, rage_UI, position_on_screen, opacity_scale)
|
||||
if not rage_UI.visibility then
|
||||
return;
|
||||
end
|
||||
|
||||
if monster.is_in_rage then
|
||||
drawing.draw_bar(rage_UI.bar, position_on_screen, opacity_scale, monster.rage_timer_percentage);
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@ local stamina_UI_entity = {};
|
||||
local table_helpers;
|
||||
local drawing;
|
||||
|
||||
function stamina_UI_entity.new(bar, text_label, value_label, percentage_label)
|
||||
function stamina_UI_entity.new(visibility, bar, text_label, value_label, percentage_label)
|
||||
local entity = {};
|
||||
|
||||
entity.visibility = visibility;
|
||||
entity.bar = table_helpers.deep_copy(bar);
|
||||
entity.text_label = table_helpers.deep_copy(text_label);
|
||||
entity.value_label = table_helpers.deep_copy(value_label);
|
||||
@@ -14,6 +15,10 @@ function stamina_UI_entity.new(bar, text_label, value_label, percentage_label)
|
||||
end
|
||||
|
||||
function stamina_UI_entity.draw(monster, stamina_UI, position_on_screen, opacity_scale)
|
||||
if not stamina_UI.visibility then
|
||||
return;
|
||||
end
|
||||
|
||||
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);
|
||||
|
||||
@@ -15,7 +15,8 @@ customization_menu.color_picker_flags = 327680;
|
||||
customization_menu.orientation_types = {"Horizontal", "Vertical"};
|
||||
customization_menu.anchor_types = {"Top-left", "Top-Right", "Bottom-Left", "Bottom-Right"};
|
||||
|
||||
customization_menu.monster_UI_sorting_types = {"Normal", "Health", "Health Percentage"};
|
||||
customization_menu.monster_UI_sorting_types = {"Normal", "Health", "Health Percentage", "Distance"};
|
||||
customization_menu.large_monster_UI_parts_sorting_types = {"Normal", "Health", "Health Percentage"};
|
||||
|
||||
customization_menu.damage_meter_UI_highlighted_bar_types = {"Me", "Top Damage", "None"};
|
||||
customization_menu.damage_meter_UI_damage_bar_relative_types = {"Total Damage", "Top Damage"};
|
||||
@@ -34,8 +35,14 @@ customization_menu.fonts = {"Arial", "Arial Black", "Bahnschrift", "Calibri", "C
|
||||
"Segoe UI Symbol", "SimSun", "Sitka", "Sylfaen", "Symbol", "Tahoma", "Times New Roman",
|
||||
"Trebuchet MS", "Verdana", "Webdings", "Wingdings", "Yu Gothic"};
|
||||
|
||||
customization_menu.monster_UI_orientation_index = 0;
|
||||
customization_menu.monster_UI_sorting_type_index = 0;
|
||||
customization_menu.small_monster_UI_orientation_index = 0;
|
||||
customization_menu.small_monster_UI_sorting_type_index = 0;
|
||||
|
||||
customization_menu.large_monster_UI_orientation_index = 0;
|
||||
customization_menu.large_monster_UI_sorting_type_index = 0;
|
||||
|
||||
customization_menu.large_monster_dynamic_UI_parts_sorting_type_index = 0;
|
||||
customization_menu.large_monster_static_UI_parts_sorting_type_index = 0;
|
||||
|
||||
customization_menu.damage_meter_UI_orientation_index = 0;
|
||||
customization_menu.damage_meter_UI_sorting_type_index = 0;
|
||||
@@ -43,15 +50,26 @@ customization_menu.damage_meter_UI_highlighted_bar_index = 0;
|
||||
customization_menu.damage_meter_UI_damage_bar_relative_index = 0;
|
||||
customization_menu.damage_meter_UI_my_damage_bar_location_index = 0;
|
||||
|
||||
customization_menu.small_monster_UI_anchor_index = 0;
|
||||
customization_menu.large_monster_UI_anchor_index = 0;
|
||||
customization_menu.time_UI_anchor_index = 0;
|
||||
customization_menu.damage_meter_UI_anchor_index = 0;
|
||||
|
||||
customization_menu.selected_font_index = 9;
|
||||
|
||||
function customization_menu.init()
|
||||
customization_menu.monster_UI_orientation_index = table_helpers.find_index(customization_menu.orientation_types,
|
||||
customization_menu.large_monster_UI_orientation_index = table_helpers.find_index(customization_menu.orientation_types,
|
||||
config.current_config.large_monster_UI.static.settings.orientation, false);
|
||||
|
||||
customization_menu.monster_UI_sorting_type_index = table_helpers.find_index(
|
||||
customization_menu.large_monster_UI_sorting_type_index = table_helpers.find_index(
|
||||
customization_menu.monster_UI_sorting_types, config.current_config.large_monster_UI.static.sorting.type, false);
|
||||
|
||||
customization_menu.large_monster_dynamic_UI_parts_sorting_type_index = table_helpers.find_index(
|
||||
customization_menu.large_monster_UI_parts_sorting_types, config.current_config.large_monster_UI.dynamic.parts.sorting.type, false);
|
||||
|
||||
customization_menu.large_monster_static_UI_parts_sorting_type_index = table_helpers.find_index(
|
||||
customization_menu.large_monster_UI_parts_sorting_types, config.current_config.large_monster_UI.static.parts.sorting.type, false);
|
||||
|
||||
customization_menu.damage_meter_UI_orientation_index = table_helpers.find_index(customization_menu.orientation_types,
|
||||
config.current_config.damage_meter_UI.settings.orientation, false);
|
||||
|
||||
@@ -72,6 +90,18 @@ function customization_menu.init()
|
||||
|
||||
customization_menu.selected_font_index = table_helpers.find_index(customization_menu.fonts,
|
||||
config.current_config.global_settings.font.family, false);
|
||||
|
||||
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);
|
||||
|
||||
customization_menu.large_monster_UI_anchor_index = table_helpers.find_index(customization_menu.anchor_types,
|
||||
config.current_config.large_monster_UI.static.position.anchor, false);
|
||||
|
||||
customization_menu.time_UI_anchor_index = table_helpers.find_index(customization_menu.anchor_types,
|
||||
config.current_config.time_UI.position.anchor, false);
|
||||
|
||||
customization_menu.damage_meter_UI_anchor_index = table_helpers.find_index(customization_menu.anchor_types,
|
||||
config.current_config.damage_meter_UI.position.anchor, false);
|
||||
end
|
||||
|
||||
function customization_menu.draw()
|
||||
@@ -91,16 +121,16 @@ function customization_menu.draw()
|
||||
changed, config.current_config.small_monster_UI.enabled = imgui.checkbox("Small Monster UI", config.current_config
|
||||
.small_monster_UI.enabled);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, config.current_config.large_monster_UI.dynamic.enabled =
|
||||
imgui.checkbox("Large Monster Dynamic UI", config.current_config.large_monster_UI.dynamic.enabled);
|
||||
config_changed = config_changed or changed;
|
||||
imgui.same_line();
|
||||
|
||||
changed, config.current_config.large_monster_UI.static.enabled =
|
||||
imgui.checkbox("Large Monster Static UI", config.current_config.large_monster_UI.static.enabled);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, config.current_config.large_monster_UI.static.enabled =
|
||||
imgui.checkbox("Large Monster Dynamic UI", config.current_config.large_monster_UI.static.enabled);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, config.current_config.time_UI.enabled = imgui.checkbox("Time UI", config.current_config.time_UI.enabled);
|
||||
config_changed = config_changed or changed;
|
||||
imgui.same_line();
|
||||
@@ -119,10 +149,14 @@ function customization_menu.draw()
|
||||
changed, config.current_config.global_settings.module_visibility.during_quest.small_monster_UI = imgui.checkbox(
|
||||
"Small Monster UI", config.current_config.global_settings.module_visibility.during_quest.small_monster_UI);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, config.current_config.global_settings.module_visibility.during_quest.large_monster_dynamic_UI = imgui.checkbox(
|
||||
"Large Monster Dynamic UI", config.current_config.global_settings.module_visibility.during_quest.large_monster_dynamic_UI);
|
||||
config_changed = config_changed or changed;
|
||||
imgui.same_line();
|
||||
|
||||
changed, config.current_config.global_settings.module_visibility.during_quest.large_monster_UI = imgui.checkbox(
|
||||
"Large Monster UI", config.current_config.global_settings.module_visibility.during_quest.large_monster_UI);
|
||||
changed, config.current_config.global_settings.module_visibility.during_quest.large_monster_static_UI = imgui.checkbox(
|
||||
"Large Monster Static UI", config.current_config.global_settings.module_visibility.during_quest.large_monster_static_UI);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, config.current_config.global_settings.module_visibility.during_quest.time_UI = imgui.checkbox("Time UI",
|
||||
@@ -138,25 +172,38 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Quest Summary Screen") then
|
||||
changed, config.current_config.global_settings.module_visibility.quest_summary_screen.time_UI = imgui.checkbox(
|
||||
"Time UI", config.current_config.global_settings.module_visibility.quest_summary_screen.time_UI);
|
||||
changed, config.current_config.global_settings.module_visibility.quest_summary_screen.small_monster_UI = imgui.checkbox(
|
||||
"Small Monster UI", config.current_config.global_settings.module_visibility.quest_summary_screen.small_monster_UI);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_dynamic_UI = imgui.checkbox(
|
||||
"Large Monster Dynamic UI", config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_dynamic_UI);
|
||||
config_changed = config_changed or changed;
|
||||
imgui.same_line();
|
||||
|
||||
changed, config.current_config.global_settings.module_visibility.quest_summary_screen.damage_meter_UI =
|
||||
imgui.checkbox("Damage Meter UI",
|
||||
config.current_config.global_settings.module_visibility.quest_summary_screen.damage_meter_UI);
|
||||
changed, config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_static_UI = imgui.checkbox("Large Monster Static UI", config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_static_UI);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, config.current_config.global_settings.module_visibility.quest_summary_screen.time_UI = imgui.checkbox("Time UI", config.current_config.global_settings.module_visibility.quest_summary_screen.time_UI);
|
||||
config_changed = config_changed or changed;
|
||||
imgui.same_line();
|
||||
|
||||
changed, config.current_config.global_settings.module_visibility.quest_summary_screen.damage_meter_UI = imgui.checkbox("Damage Meter UI", config.current_config.global_settings.module_visibility.quest_summary_screen.damage_meter_UI);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
if imgui.tree_node("Training Area") then
|
||||
changed, config.current_config.global_settings.module_visibility.training_area.large_monster_UI = imgui.checkbox(
|
||||
"Large Monster UI", config.current_config.global_settings.module_visibility.training_area.large_monster_UI);
|
||||
changed, config.current_config.global_settings.module_visibility.training_area.large_monster_dynamic_UI = imgui.checkbox(
|
||||
"Large Monster Dynamic UI", config.current_config.global_settings.module_visibility.training_area.large_monster_dynamic_UI);
|
||||
config_changed = config_changed or changed;
|
||||
imgui.same_line();
|
||||
|
||||
changed, config.current_config.global_settings.module_visibility.training_area.large_monster_static_UI = imgui.checkbox(
|
||||
"Large Monster Static UI", config.current_config.global_settings.module_visibility.training_area.large_monster_static_UI);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, config.current_config.global_settings.module_visibility.training_area.damage_meter_UI = imgui.checkbox(
|
||||
"Damage Meter UI", config.current_config.global_settings.module_visibility.training_area.damage_meter_UI);
|
||||
config_changed = config_changed or changed;
|
||||
@@ -202,12 +249,12 @@ function customization_menu.draw()
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
if imgui.tree_node("Settings") then
|
||||
changed, customization_menu.monster_UI_orientation_index = imgui.combo("Static Orientation",
|
||||
customization_menu.monster_UI_orientation_index, customization_menu.orientation_types);
|
||||
changed, customization_menu.small_monster_UI_orientation_index = imgui.combo("Static Orientation",
|
||||
customization_menu.small_monster_UI_orientation_index, customization_menu.orientation_types);
|
||||
config_changed = config_changed or changed;
|
||||
if changed then
|
||||
config.current_config.small_monster_UI.settings.orientation =
|
||||
customization_menu.orientation_types[customization_menu.monster_UI_orientation_index];
|
||||
customization_menu.orientation_types[customization_menu.small_monster_UI_orientation_index];
|
||||
end
|
||||
|
||||
imgui.tree_pop();
|
||||
@@ -269,6 +316,14 @@ function customization_menu.draw()
|
||||
imgui.drag_float("Y", config.current_config.small_monster_UI.static_position.y, 0.1, 0, screen.height, "%.1f");
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, customization_menu.small_monster_UI_anchor_index = imgui.combo("Anchor",
|
||||
customization_menu.small_monster_UI_anchor_index, customization_menu.anchor_types);
|
||||
config_changed = config_changed or changed;
|
||||
if changed then
|
||||
config.current_config.small_monster_UI.static_position.anchor =
|
||||
customization_menu.anchor_types[customization_menu.small_monster_UI_anchor_index];
|
||||
end
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
@@ -287,12 +342,12 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Static Sorting") then
|
||||
changed, customization_menu.monster_UI_sort_type_index = imgui.combo("Type",
|
||||
customization_menu.monster_UI_sort_type_index, customization_menu.monster_UI_sorting_types);
|
||||
changed, customization_menu.small_monster_UI_sorting_type_index = imgui.combo("Type",
|
||||
customization_menu.small_monster_UI_sorting_type_index, customization_menu.monster_UI_sorting_types);
|
||||
config_changed = config_changed or changed;
|
||||
if changed then
|
||||
config.current_config.small_monster_UI.static_sorting.type =
|
||||
customization_menu.monster_UI_sorting_types[customization_menu.monster_UI_sort_type_index];
|
||||
customization_menu.monster_UI_sorting_types[customization_menu.small_monster_UI_sorting_type_index];
|
||||
end
|
||||
|
||||
changed, config.current_config.small_monster_UI.static_sorting.reversed_order =
|
||||
@@ -367,6 +422,11 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Health") then
|
||||
changed, config.current_config.small_monster_UI.health.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.small_monster_UI.health.visibility);
|
||||
config_changed = config_changed or changed;
|
||||
small_monster_UI_changed = small_monster_UI_changed or changed;
|
||||
|
||||
if imgui.tree_node("Text Label") then
|
||||
changed, config.current_config.small_monster_UI.health.text_label.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.small_monster_UI.health.text_label.visibility);
|
||||
@@ -629,6 +689,11 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Stamina (Pointless: small monsters don't get tired)") then
|
||||
changed, config.current_config.small_monster_UI.stamina.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.small_monster_UI.stamina.visibility);
|
||||
config_changed = config_changed or changed;
|
||||
small_monster_UI_changed = small_monster_UI_changed or changed;
|
||||
|
||||
if imgui.tree_node("Text Label") then
|
||||
changed, config.current_config.small_monster_UI.stamina.text_label.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.small_monster_UI.stamina.text_label.visibility);
|
||||
@@ -1047,6 +1112,11 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Health") then
|
||||
changed, config.current_config.large_monster_UI.dynamic.health.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.dynamic.health.visibility);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||
|
||||
if imgui.tree_node("Text Label") then
|
||||
changed, config.current_config.large_monster_UI.dynamic.health.text_label.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.dynamic.health.text_label.visibility);
|
||||
@@ -1330,6 +1400,11 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Stamina") then
|
||||
changed, config.current_config.large_monster_UI.dynamic.stamina.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.dynamic.stamina.visibility);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||
|
||||
if imgui.tree_node("Text Label") then
|
||||
changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.dynamic.stamina.text_label.visibility);
|
||||
@@ -1596,6 +1671,11 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Rage") then
|
||||
changed, config.current_config.large_monster_UI.dynamic.rage.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.dynamic.rage.visibility);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||
|
||||
if imgui.tree_node("Text Label") then
|
||||
changed, config.current_config.large_monster_UI.dynamic.rage.text_label.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.dynamic.rage.text_label.visibility);
|
||||
@@ -1860,6 +1940,11 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Body Parts") then
|
||||
changed, config.current_config.large_monster_UI.dynamic.parts.visibility = imgui.checkbox(
|
||||
"Visible", config.current_config.large_monster_UI.dynamic.parts.visibility);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||
|
||||
if imgui.tree_node("Offset") then
|
||||
changed, config.current_config.large_monster_UI.dynamic.parts.offset.x = imgui.drag_float("X",
|
||||
config.current_config.large_monster_UI.dynamic.parts.offset.x, 0.1, -screen.width, screen.width, "%.1f");
|
||||
@@ -1888,6 +1973,33 @@ function customization_menu.draw()
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
if imgui.tree_node("Settings") then
|
||||
changed, config.current_config.large_monster_UI.dynamic.parts.settings.hide_undamaged_parts =
|
||||
imgui.checkbox("Hide Undamaged Parts", config.current_config.large_monster_UI.dynamic.parts.settings.hide_undamaged_parts);
|
||||
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("Sorting") then
|
||||
changed, customization_menu.large_monster_dynamic_UI_parts_sorting_type_index = imgui.combo("Type",
|
||||
customization_menu.large_monster_dynamic_UI_parts_sorting_type_index, customization_menu.large_monster_UI_parts_sorting_types);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed;
|
||||
if changed then
|
||||
config.current_config.large_monster_UI.dynamic.parts.sorting.type =
|
||||
customization_menu.large_monster_UI_parts_sorting_types[customization_menu.large_monster_dynamic_UI_parts_sorting_type_index];
|
||||
end
|
||||
|
||||
changed, config.current_config.large_monster_UI.dynamic.parts.sorting.reversed_order =
|
||||
imgui.checkbox("Reversed Order", config.current_config.large_monster_UI.dynamic.parts.sorting.reversed_order);
|
||||
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("Part Name Label") then
|
||||
changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.visibility = imgui.checkbox(
|
||||
"Visible", config.current_config.large_monster_UI.dynamic.parts.part_name_label.visibility);
|
||||
@@ -2239,6 +2351,7 @@ function customization_menu.draw()
|
||||
end
|
||||
end
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
if imgui.tree_node("Statically Positioned") then
|
||||
@@ -2251,13 +2364,13 @@ function customization_menu.draw()
|
||||
|
||||
|
||||
if imgui.tree_node("Settings") then
|
||||
changed, customization_menu.monster_UI_orientation_index = imgui.combo("Orientation",
|
||||
customization_menu.monster_UI_orientation_index, customization_menu.orientation_types);
|
||||
changed, customization_menu.large_monster_UI_orientation_index = imgui.combo("Orientation",
|
||||
customization_menu.large_monster_UI_orientation_index, customization_menu.orientation_types);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||
if changed then
|
||||
config.current_config.large_monster_UI.static.settings.orientation =
|
||||
customization_menu.orientation_types[customization_menu.monster_UI_orientation_index];
|
||||
customization_menu.orientation_types[customization_menu.large_monster_UI_orientation_index];
|
||||
end
|
||||
|
||||
imgui.tree_pop();
|
||||
@@ -2274,6 +2387,14 @@ function customization_menu.draw()
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||
|
||||
changed, customization_menu.large_monster_UI_anchor_index = imgui.combo("Anchor",
|
||||
customization_menu.large_monster_UI_anchor_index, customization_menu.anchor_types);
|
||||
config_changed = config_changed or changed;
|
||||
if changed then
|
||||
config.current_config.large_monster_UI.static.position.anchor =
|
||||
customization_menu.anchor_types[customization_menu.large_monster_UI_anchor_index];
|
||||
end
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
@@ -2403,6 +2524,11 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Health") then
|
||||
changed, config.current_config.large_monster_UI.static.health.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.static.health.visibility);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||
|
||||
if imgui.tree_node("Text Label") then
|
||||
changed, config.current_config.large_monster_UI.static.health.text_label.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.static.health.text_label.visibility);
|
||||
@@ -2686,6 +2812,11 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Stamina") then
|
||||
changed, config.current_config.large_monster_UI.static.stamina.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.static.stamina.visibility);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||
|
||||
if imgui.tree_node("Text Label") then
|
||||
changed, config.current_config.large_monster_UI.static.stamina.text_label.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.static.stamina.text_label.visibility);
|
||||
@@ -2951,6 +3082,11 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Rage") then
|
||||
changed, config.current_config.large_monster_UI.static.rage.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.static.rage.visibility);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||
|
||||
if imgui.tree_node("Text Label") then
|
||||
changed, config.current_config.large_monster_UI.static.rage.text_label.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.static.rage.text_label.visibility);
|
||||
@@ -3214,6 +3350,11 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node("Body Parts") then
|
||||
changed, config.current_config.large_monster_UI.static.parts.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.static.parts.visibility);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||
|
||||
if imgui.tree_node("Offset") then
|
||||
changed, config.current_config.large_monster_UI.static.parts.offset.x = imgui.drag_float("X",
|
||||
config.current_config.large_monster_UI.static.parts.offset.x, 0.1, -screen.width, screen.width, "%.1f");
|
||||
@@ -3242,6 +3383,33 @@ function customization_menu.draw()
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
if imgui.tree_node("Settings") then
|
||||
changed, config.current_config.large_monster_UI.static.parts.settings.hide_undamaged_parts =
|
||||
imgui.checkbox("Hide Undamaged Parts", config.current_config.large_monster_UI.static.parts.settings.hide_undamaged_parts);
|
||||
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("Sorting") then
|
||||
changed, customization_menu.large_monster_static_UI_parts_sorting_type_index = imgui.combo("Type",
|
||||
customization_menu.large_monster_static_UI_parts_sorting_type_index, customization_menu.large_monster_UI_parts_sorting_types);
|
||||
config_changed = config_changed or changed;
|
||||
large_monster_static_UI_changed = large_monster_static_UI_changed or changed;
|
||||
if changed then
|
||||
config.current_config.large_monster_UI.static.parts.sorting.type =
|
||||
customization_menu.large_monster_UI_parts_sorting_types[customization_menu.large_monster_static_UI_parts_sorting_type_index];
|
||||
end
|
||||
|
||||
changed, config.current_config.large_monster_UI.static.parts.sorting.reversed_order =
|
||||
imgui.checkbox("Reversed Order", config.current_config.large_monster_UI.static.parts.sorting.reversed_order);
|
||||
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("Part Name Label") then
|
||||
changed, config.current_config.large_monster_UI.static.parts.part_name_label.visibility = imgui.checkbox("Visible",
|
||||
config.current_config.large_monster_UI.static.parts.part_name_label.visibility);
|
||||
@@ -3591,6 +3759,7 @@ function customization_menu.draw()
|
||||
end
|
||||
end
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
imgui.tree_pop();
|
||||
@@ -3609,6 +3778,14 @@ function customization_menu.draw()
|
||||
0.1, 0, screen.height, "%.1f");
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, customization_menu.time_UI_anchor_index = imgui.combo("Anchor",
|
||||
customization_menu.time_UI_anchor_index, customization_menu.anchor_types);
|
||||
config_changed = config_changed or changed;
|
||||
if changed then
|
||||
config.current_config.time_UI.position.anchor =
|
||||
customization_menu.anchor_types[customization_menu.time_UI_anchor_index];
|
||||
end
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
@@ -3688,6 +3865,12 @@ function customization_menu.draw()
|
||||
config.current_config.damage_meter_UI.settings.hide_player_if_player_damage_is_zero);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, config.current_config.damage_meter_UI.settings.hide_total_if_total_damage_is_zero = imgui.checkbox(
|
||||
"Hide Total if Total Damage is 0",
|
||||
config.current_config.damage_meter_UI.settings.hide_total_if_total_damage_is_zero);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
|
||||
changed, config.current_config.damage_meter_UI.settings.total_damage_offset_is_relative = imgui.checkbox(
|
||||
"Total Damage Offset is Relative", config.current_config.damage_meter_UI.settings.total_damage_offset_is_relative);
|
||||
config_changed = config_changed or changed;
|
||||
@@ -3815,6 +3998,14 @@ function customization_menu.draw()
|
||||
imgui.drag_float("Y", config.current_config.damage_meter_UI.position.y, 0.1, 0, screen.height, "%.1f");
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, customization_menu.damage_meter_UI_anchor_index = imgui.combo("Anchor",
|
||||
customization_menu.damage_meter_UI_anchor_index, customization_menu.anchor_types);
|
||||
config_changed = config_changed or changed;
|
||||
if changed then
|
||||
config.current_config.damage_meter_UI.position.anchor =
|
||||
customization_menu.anchor_types[customization_menu.damage_meter_UI_anchor_index];
|
||||
end
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user