mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-24 04:18:11 -08:00
Release v1.11
1) Cache config access function-wide where possible; 2) Break and Sever values added to parts; 3) Hooks are now applied in init_module instead of global space; 4) Added checks for submodule (health, stamina, etc) visibility. If not visible, do not pull data.
This commit is contained in:
@@ -11,29 +11,32 @@ local table_helpers;
|
||||
local drawing;
|
||||
|
||||
function ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_screen, opacity_scale)
|
||||
if not config.current_config.large_monster_UI.dynamic.ailment_buildups.visibility then
|
||||
local cached_config = config.current_config.large_monster_UI.dynamic.ailment_buildups;
|
||||
local global_scale_modifier = config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
if not cached_config.visibility then
|
||||
return;
|
||||
end
|
||||
|
||||
for id, ailment in pairs(monster.ailments) do
|
||||
if id == ailments.stun_id then
|
||||
if not config.current_config.large_monster_UI.dynamic.ailment_buildups.filter.stun then
|
||||
if not cached_config.filter.stun then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
elseif id == ailments.poison_id then
|
||||
if not config.current_config.large_monster_UI.dynamic.ailment_buildups.filter.poison then
|
||||
if not cached_config.filter.poison then
|
||||
goto continue;
|
||||
end
|
||||
elseif id == ailments.blast_id then
|
||||
if not config.current_config.large_monster_UI.dynamic.ailment_buildups.filter.blast then
|
||||
if not cached_config.filter.blast then
|
||||
goto continue;
|
||||
end
|
||||
else
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > config.current_config.large_monster_UI.dynamic.ailment_buildups.settings.time_limit then
|
||||
if cached_config.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > cached_config.settings.time_limit then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
@@ -61,8 +64,8 @@ function ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_scre
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.type == "Normal" then
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.reversed_order then
|
||||
if cached_config.sorting.type == "Normal" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id < right.id;
|
||||
end);
|
||||
@@ -71,8 +74,8 @@ function ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_scre
|
||||
return left.id > right.id;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.type == "Buildup" then
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.reversed_order then
|
||||
elseif cached_config.sorting.type == "Buildup" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup < right.buildup;
|
||||
end);
|
||||
@@ -81,8 +84,8 @@ function ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_scre
|
||||
return left.buildup > right.buildup;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.type == "Buildup Percentage" then
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.reversed_order then
|
||||
elseif cached_config.sorting.type == "Buildup Percentage" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share < right.buildup_share;
|
||||
end);
|
||||
@@ -94,10 +97,10 @@ function ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_scre
|
||||
end
|
||||
|
||||
local ailment_name = "";
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.ailment_name_label.include.ailment_name then
|
||||
if cached_config.ailment_name_label.include.ailment_name then
|
||||
ailment_name = ailment.name .. " ";
|
||||
end
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
if cached_config.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
ailment_name = ailment_name .. "x" .. tostring(ailment.activate_count);
|
||||
end
|
||||
|
||||
@@ -107,8 +110,8 @@ function ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_scre
|
||||
local last_j = 0;
|
||||
for j, _player in ipairs(displayed_players) do
|
||||
local ailment_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.dynamic.ailment_buildups.player_spacing.x * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.dynamic.ailment_buildups.player_spacing.y * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
x = ailment_buildups_position_on_screen.x + cached_config.player_spacing.x * (j - 1) * global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + cached_config.player_spacing.y * (j - 1) * global_scale_modifier;
|
||||
};
|
||||
|
||||
ailment_buildup_UI_entity.draw_dynamic(_player, monster.ailments[ailments.stun_id].ailment_buildup_dynamic_UI, ailment_buildup_position_on_screen, opacity_scale, top_buildup);
|
||||
@@ -119,8 +122,8 @@ function ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_scre
|
||||
|
||||
|
||||
local total_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.dynamic.ailment_buildups.player_spacing.x * last_j * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.dynamic.ailment_buildups.player_spacing.y * last_j * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
x = ailment_buildups_position_on_screen.x + cached_config.player_spacing.x * last_j * global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + cached_config.player_spacing.y * last_j * global_scale_modifier;
|
||||
};
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_dynamic_UI.total_buildup_label, total_buildup_position_on_screen, opacity_scale, language.current_language.UI.total_buildup);
|
||||
@@ -128,8 +131,8 @@ function ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_scre
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_dynamic_UI.total_buildup_value_label, total_buildup_position_on_screen, opacity_scale, total_buildup);
|
||||
|
||||
ailment_buildups_position_on_screen = {
|
||||
x = total_buildup_position_on_screen.x + config.current_config.large_monster_UI.dynamic.ailment_buildups.ailment_spacing.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + config.current_config.large_monster_UI.dynamic.ailment_buildups.ailment_spacing.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
x = total_buildup_position_on_screen.x + cached_config.ailment_spacing.x * global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + cached_config.ailment_spacing.y * global_scale_modifier
|
||||
};
|
||||
|
||||
::continue::
|
||||
@@ -139,29 +142,32 @@ function ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_scre
|
||||
end
|
||||
|
||||
function ailment_buildup.draw_static(monster, ailment_buildups_position_on_screen, opacity_scale)
|
||||
if not config.current_config.large_monster_UI.static.ailment_buildups.visibility then
|
||||
local cached_config = config.current_config.large_monster_UI.static.ailment_buildups;
|
||||
local global_scale_modifier = config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
if not cached_config.visibility then
|
||||
return;
|
||||
end
|
||||
|
||||
for id, ailment in pairs(monster.ailments) do
|
||||
if id == ailments.stun_id then
|
||||
if not config.current_config.large_monster_UI.static.ailment_buildups.filter.stun then
|
||||
if not cached_config.filter.stun then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
elseif id == ailments.poison_id then
|
||||
if not config.current_config.large_monster_UI.static.ailment_buildups.filter.poison then
|
||||
if not cached_config.filter.poison then
|
||||
goto continue;
|
||||
end
|
||||
elseif id == ailments.blast_id then
|
||||
if not config.current_config.large_monster_UI.static.ailment_buildups.filter.blast then
|
||||
if not cached_config.filter.blast then
|
||||
goto continue;
|
||||
end
|
||||
else
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > config.current_config.large_monster_UI.static.ailment_buildups.settings.time_limit then
|
||||
if cached_config.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > cached_config.settings.time_limit then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
@@ -189,8 +195,8 @@ function ailment_buildup.draw_static(monster, ailment_buildups_position_on_scree
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.sorting.type == "Normal" then
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.sorting.reversed_order then
|
||||
if cached_config.sorting.type == "Normal" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id < right.id;
|
||||
end);
|
||||
@@ -199,8 +205,8 @@ function ailment_buildup.draw_static(monster, ailment_buildups_position_on_scree
|
||||
return left.id > right.id;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.static.ailment_buildups.sorting.type == "Buildup" then
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.sorting.reversed_order then
|
||||
elseif cached_config.sorting.type == "Buildup" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup < right.buildup;
|
||||
end);
|
||||
@@ -209,8 +215,8 @@ function ailment_buildup.draw_static(monster, ailment_buildups_position_on_scree
|
||||
return left.buildup > right.buildup;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.static.ailment_buildups.sorting.type == "Buildup Percentage" then
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.sorting.reversed_order then
|
||||
elseif cached_config.sorting.type == "Buildup Percentage" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share < right.buildup_share;
|
||||
end);
|
||||
@@ -222,10 +228,10 @@ function ailment_buildup.draw_static(monster, ailment_buildups_position_on_scree
|
||||
end
|
||||
|
||||
local ailment_name = "";
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.ailment_name_label.include.ailment_name then
|
||||
if cached_config.ailment_name_label.include.ailment_name then
|
||||
ailment_name = ailment.name .. " ";
|
||||
end
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
if cached_config.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
ailment_name = ailment_name .. "x" .. tostring(ailment.activate_count);
|
||||
end
|
||||
|
||||
@@ -234,8 +240,8 @@ function ailment_buildup.draw_static(monster, ailment_buildups_position_on_scree
|
||||
local last_j = 0;
|
||||
for j, _player in ipairs(displayed_players) do
|
||||
local ailment_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.static.ailment_buildups.player_spacing.x * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.static.ailment_buildups.player_spacing.y * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
x = ailment_buildups_position_on_screen.x + cached_config.player_spacing.x * (j - 1) * global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + cached_config.player_spacing.y * (j - 1) * global_scale_modifier;
|
||||
};
|
||||
|
||||
ailment_buildup_UI_entity.draw_static(_player, monster.ailments[ailments.stun_id].ailment_buildup_static_UI, ailment_buildup_position_on_screen, opacity_scale, top_buildup);
|
||||
@@ -244,8 +250,8 @@ function ailment_buildup.draw_static(monster, ailment_buildups_position_on_scree
|
||||
end
|
||||
|
||||
local total_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.static.ailment_buildups.player_spacing.x * last_j * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.static.ailment_buildups.player_spacing.y * last_j * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
x = ailment_buildups_position_on_screen.x + cached_config.player_spacing.x * last_j * global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + cached_config.player_spacing.y * last_j * global_scale_modifier;
|
||||
};
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_static_UI.total_buildup_label, total_buildup_position_on_screen, opacity_scale, language.current_language.UI.total_buildup);
|
||||
@@ -253,8 +259,8 @@ function ailment_buildup.draw_static(monster, ailment_buildups_position_on_scree
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_static_UI.total_buildup_value_label, total_buildup_position_on_screen, opacity_scale, total_buildup);
|
||||
|
||||
ailment_buildups_position_on_screen = {
|
||||
x = total_buildup_position_on_screen.x + config.current_config.large_monster_UI.static.ailment_buildups.ailment_spacing.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + config.current_config.large_monster_UI.static.ailment_buildups.ailment_spacing.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
x = total_buildup_position_on_screen.x + cached_config.ailment_spacing.x * global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + cached_config.ailment_spacing.y * global_scale_modifier
|
||||
};
|
||||
|
||||
::continue::
|
||||
@@ -264,29 +270,32 @@ function ailment_buildup.draw_static(monster, ailment_buildups_position_on_scree
|
||||
end
|
||||
|
||||
function ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_screen, opacity_scale)
|
||||
if not config.current_config.large_monster_UI.highlighted.ailment_buildups.visibility then
|
||||
local cached_config = config.current_config.large_monster_UI.highlighted.ailment_buildups;
|
||||
local global_scale_modifier = config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
if not cached_config.visibility then
|
||||
return;
|
||||
end
|
||||
|
||||
for id, ailment in pairs(monster.ailments) do
|
||||
if id == ailments.stun_id then
|
||||
if not config.current_config.large_monster_UI.highlighted.ailment_buildups.filter.stun then
|
||||
if not cached_config.filter.stun then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
elseif id == ailments.poison_id then
|
||||
if not config.current_config.large_monster_UI.highlighted.ailment_buildups.filter.poison then
|
||||
if not cached_config.filter.poison then
|
||||
goto continue;
|
||||
end
|
||||
elseif id == ailments.blast_id then
|
||||
if not config.current_config.large_monster_UI.highlighted.ailment_buildups.filter.blast then
|
||||
if not cached_config.filter.blast then
|
||||
goto continue;
|
||||
end
|
||||
else
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > config.current_config.large_monster_UI.highlighted.ailment_buildups.settings.time_limit then
|
||||
if cached_config.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > cached_config.settings.time_limit then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
@@ -314,8 +323,8 @@ function ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.type == "Normal" then
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.reversed_order then
|
||||
if cached_config.sorting.type == "Normal" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id < right.id;
|
||||
end);
|
||||
@@ -324,8 +333,8 @@ function ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_
|
||||
return left.id > right.id;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.type == "Buildup" then
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.reversed_order then
|
||||
elseif cached_config.sorting.type == "Buildup" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup < right.buildup;
|
||||
end);
|
||||
@@ -334,8 +343,8 @@ function ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_
|
||||
return left.buildup > right.buildup;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.type == "Buildup Percentage" then
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.reversed_order then
|
||||
elseif cached_config.sorting.type == "Buildup Percentage" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share < right.buildup_share;
|
||||
end);
|
||||
@@ -347,10 +356,10 @@ function ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_
|
||||
end
|
||||
|
||||
local ailment_name = "";
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.ailment_name_label.include.ailment_name then
|
||||
if cached_config.ailment_name_label.include.ailment_name then
|
||||
ailment_name = ailment.name .. " ";
|
||||
end
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
if cached_config.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
ailment_name = ailment_name .. "x" .. tostring(ailment.activate_count);
|
||||
end
|
||||
|
||||
@@ -359,8 +368,8 @@ function ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_
|
||||
local last_j = 0;
|
||||
for j, _player in ipairs(displayed_players) do
|
||||
local ailment_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.highlighted.ailment_buildups.player_spacing.x * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.highlighted.ailment_buildups.player_spacing.y * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
x = ailment_buildups_position_on_screen.x + cached_config.player_spacing.x * (j - 1) * global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + cached_config.player_spacing.y * (j - 1) * global_scale_modifier;
|
||||
};
|
||||
|
||||
ailment_buildup_UI_entity.draw_highlighted(_player, monster.ailments[ailments.stun_id].ailment_buildup_highlighted_UI, ailment_buildup_position_on_screen, opacity_scale, top_buildup);
|
||||
@@ -369,8 +378,8 @@ function ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_
|
||||
end
|
||||
|
||||
local total_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.highlighted.ailment_buildups.player_spacing.x * last_j * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.highlighted.ailment_buildups.player_spacing.y * last_j * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
x = ailment_buildups_position_on_screen.x + cached_config.player_spacing.x * last_j * global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + cached_config.player_spacing.y * last_j * global_scale_modifier;
|
||||
};
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_highlighted_UI.total_buildup_label, total_buildup_position_on_screen, opacity_scale, language.current_language.UI.total_buildup);
|
||||
@@ -378,8 +387,8 @@ function ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_highlighted_UI.total_buildup_value_label, total_buildup_position_on_screen, opacity_scale, total_buildup);
|
||||
|
||||
ailment_buildups_position_on_screen = {
|
||||
x = total_buildup_position_on_screen.x + config.current_config.large_monster_UI.highlighted.ailment_buildups.ailment_spacing.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + config.current_config.large_monster_UI.highlighted.ailment_buildups.ailment_spacing.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
x = total_buildup_position_on_screen.x + cached_config.ailment_spacing.x * global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + cached_config.ailment_spacing.y * global_scale_modifier
|
||||
};
|
||||
|
||||
::continue::
|
||||
@@ -389,29 +398,32 @@ function ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_
|
||||
end
|
||||
|
||||
function ailment_buildup.draw_small(monster, ailment_buildups_position_on_screen, opacity_scale)
|
||||
if not config.current_config.small_monster_UI.ailment_buildups.visibility then
|
||||
local cached_config = config.current_config.small_monster_UI.ailment_buildups;
|
||||
local global_scale_modifier = config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
if not cached_config.visibility then
|
||||
return;
|
||||
end
|
||||
|
||||
for id, ailment in pairs(monster.ailments) do
|
||||
if id == ailments.stun_id then
|
||||
if not config.current_config.small_monster_UI.ailment_buildups.filter.stun then
|
||||
if not cached_config.filter.stun then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
elseif id == ailments.poison_id then
|
||||
if not config.current_config.small_monster_UI.ailment_buildups.filter.poison then
|
||||
if not cached_config.filter.poison then
|
||||
goto continue;
|
||||
end
|
||||
elseif id == ailments.blast_id then
|
||||
if not config.current_config.small_monster_UI.ailment_buildups.filter.blast then
|
||||
if not cached_config.filter.blast then
|
||||
goto continue;
|
||||
end
|
||||
else
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.small_monster_UI.ailment_buildups.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > config.current_config.small_monster_UI.ailment_buildups.settings.time_limit then
|
||||
if cached_config.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > cached_config.settings.time_limit then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
@@ -439,8 +451,8 @@ function ailment_buildup.draw_small(monster, ailment_buildups_position_on_screen
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.small_monster_UI.ailment_buildups.sorting.type == "Normal" then
|
||||
if config.current_config.small_monster_UI.ailment_buildups.sorting.reversed_order then
|
||||
if cached_config.sorting.type == "Normal" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id < right.id;
|
||||
end);
|
||||
@@ -449,8 +461,8 @@ function ailment_buildup.draw_small(monster, ailment_buildups_position_on_screen
|
||||
return left.id > right.id;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.small_monster_UI.ailment_buildups.sorting.type == "Buildup" then
|
||||
if config.current_config.small_monster_UI.ailment_buildups.sorting.reversed_order then
|
||||
elseif cached_config.sorting.type == "Buildup" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup < right.buildup;
|
||||
end);
|
||||
@@ -459,8 +471,8 @@ function ailment_buildup.draw_small(monster, ailment_buildups_position_on_screen
|
||||
return left.buildup > right.buildup;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.small_monster_UI.ailment_buildups.sorting.type == "Buildup Percentage" then
|
||||
if config.current_config.small_monster_UI.ailment_buildups.sorting.reversed_order then
|
||||
elseif cached_config.sorting.type == "Buildup Percentage" then
|
||||
if cached_config.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share < right.buildup_share;
|
||||
end);
|
||||
@@ -472,10 +484,10 @@ function ailment_buildup.draw_small(monster, ailment_buildups_position_on_screen
|
||||
end
|
||||
|
||||
local ailment_name = "";
|
||||
if config.current_config.small_monster_UI.ailment_buildups.ailment_name_label.include.ailment_name then
|
||||
if cached_config.ailment_name_label.include.ailment_name then
|
||||
ailment_name = ailment.name .. " ";
|
||||
end
|
||||
if config.current_config.small_monster_UI.ailment_buildups.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
if cached_config.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
ailment_name = ailment_name .. "x" .. tostring(ailment.activate_count);
|
||||
end
|
||||
|
||||
@@ -484,8 +496,8 @@ function ailment_buildup.draw_small(monster, ailment_buildups_position_on_screen
|
||||
local last_j = 0;
|
||||
for j, _player in ipairs(displayed_players) do
|
||||
local ailment_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.small_monster_UI.ailment_buildups.player_spacing.x * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.small_monster_UI.ailment_buildups.player_spacing.y * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
x = ailment_buildups_position_on_screen.x + cached_config.player_spacing.x * (j - 1) * global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + cached_config.player_spacing.y * (j - 1) * global_scale_modifier;
|
||||
};
|
||||
|
||||
ailment_buildup_UI_entity.draw_small(_player, monster.ailments[ailments.stun_id].ailment_buildup_small_UI, ailment_buildup_position_on_screen, opacity_scale, top_buildup);
|
||||
@@ -494,8 +506,8 @@ function ailment_buildup.draw_small(monster, ailment_buildups_position_on_screen
|
||||
end
|
||||
|
||||
local total_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.small_monster_UI.ailment_buildups.player_spacing.x * last_j * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.small_monster_UI.ailment_buildups.player_spacing.y * last_j * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
x = ailment_buildups_position_on_screen.x + cached_config.player_spacing.x * last_j * global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + cached_config.player_spacing.y * last_j * global_scale_modifier;
|
||||
};
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_small_UI.total_buildup_label, total_buildup_position_on_screen, opacity_scale, language.current_language.UI.total_buildup);
|
||||
@@ -503,8 +515,8 @@ function ailment_buildup.draw_small(monster, ailment_buildups_position_on_screen
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_small_UI.total_buildup_value_label, total_buildup_position_on_screen, opacity_scale, total_buildup);
|
||||
|
||||
ailment_buildups_position_on_screen = {
|
||||
x = total_buildup_position_on_screen.x + config.current_config.small_monster_UI.ailment_buildups.ailment_spacing.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + config.current_config.small_monster_UI.ailment_buildups.ailment_spacing.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
x = total_buildup_position_on_screen.x + cached_config.ailment_spacing.x * global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + cached_config.ailment_spacing.y * global_scale_modifier
|
||||
};
|
||||
|
||||
::continue::
|
||||
|
||||
Reference in New Issue
Block a user