Initial Sunbreak update.

- Added Monster Rank.
- Fixed Poison and Blast Damage.
This commit is contained in:
GreenComfyTea
2022-07-02 14:16:58 +03:00
parent c506a3073b
commit 9a5e05d229
9 changed files with 206 additions and 91 deletions

View File

@@ -14,11 +14,12 @@ player.myself = nil;
player.myself_position = Vector3f.new(0, 0, 0); player.myself_position = Vector3f.new(0, 0, 0);
player.total = nil; player.total = nil;
function player.new(player_id, player_name, player_hunter_rank) function player.new(player_id, player_name, player_master_rank, player_hunter_rank)
local new_player = {}; local new_player = {};
new_player.id = player_id; new_player.id = player_id;
new_player.name = player_name; new_player.name = player_name;
new_player.hunter_rank = player_hunter_rank; new_player.hunter_rank = player_hunter_rank;
new_player.master_rank = player_master_rank;
new_player.join_time = -1; new_player.join_time = -1;
new_player.first_hit_time = -1; new_player.first_hit_time = -1;
@@ -313,8 +314,8 @@ end
function player.init() function player.init()
player.list = {}; player.list = {};
player.total = player.new(0, "Total", 0); player.total = player.new(0, "Total", 0, 0);
player.myself = player.new(-1, "Dummy", -1); player.myself = player.new(-1, "Dummy", -1, -1);
end end
local lobby_manager_type_def = sdk.find_type_definition("snow.LobbyManager"); local lobby_manager_type_def = sdk.find_type_definition("snow.LobbyManager");
@@ -327,6 +328,7 @@ local my_hunter_info_type_def = my_hunter_info_field:get_type();
local name_field = my_hunter_info_type_def:get_field("_name"); local name_field = my_hunter_info_type_def:get_field("_name");
local member_index_field = my_hunter_info_type_def:get_field("_memberIndex"); local member_index_field = my_hunter_info_type_def:get_field("_memberIndex");
local hunter_rank_field = my_hunter_info_type_def:get_field("_hunterRank"); local hunter_rank_field = my_hunter_info_type_def:get_field("_hunterRank");
local master_rank_field = my_hunter_info_type_def:get_field("_masterRank");
local hunter_info_type_def = hunter_info_field:get_type(); local hunter_info_type_def = hunter_info_field:get_type();
local get_count_method = hunter_info_type_def:get_method("get_Count"); local get_count_method = hunter_info_type_def:get_method("get_Count");
@@ -334,6 +336,8 @@ local get_item_method = hunter_info_type_def:get_method("get_Item");
local progress_manager_type_def = sdk.find_type_definition("snow.progress.ProgressManager"); local progress_manager_type_def = sdk.find_type_definition("snow.progress.ProgressManager");
local get_hunter_rank_method = progress_manager_type_def:get_method("get_HunterRank"); local get_hunter_rank_method = progress_manager_type_def:get_method("get_HunterRank");
local get_master_rank_method = progress_manager_type_def:get_method("get_MasterRank");
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager"); local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
local get_master_player_id_method = player_manager_type_def:get_method("getMasterPlayerID"); local get_master_player_id_method = player_manager_type_def:get_method("getMasterPlayerID");
@@ -366,11 +370,18 @@ function player.update_player_list_in_village()
myself_hunter_rank = 0; myself_hunter_rank = 0;
end end
local myself_master_rank = get_master_rank_method:call(singletons.progress_manager);
if myself_master_rank == nil then
customization_menu.status = "No myself master rank";
myself_master_rank = 0;
end
local myself_id = get_master_player_id_method:call(singletons.player_manager); local myself_id = get_master_player_id_method:call(singletons.player_manager);
if myself_id == nil then if myself_id == nil then
customization_menu.status = "No myself player id"; customization_menu.status = "No myself player id";
elseif player.myself == nil or myself_id ~= player.myself.id then elseif player.myself == nil or myself_id ~= player.myself.id then
player.myself = player.new(myself_id, myself_player_name, myself_hunter_rank); player.myself = player.new(myself_id, myself_player_name, myself_master_rank, myself_hunter_rank);
player.list[myself_id] = player.myself; player.list[myself_id] = player.myself;
end end
@@ -390,28 +401,33 @@ function player.update_player_list_in_village()
for i = 0, count - 1 do for i = 0, count - 1 do
local player_info = get_item_method:call(player_info_list, i); local player_info = get_item_method:call(player_info_list, i);
if player_info == nil then if player_info == nil then
goto continue goto continue;
end end
local player_id = member_index_field:get_data(player_info); local player_id = member_index_field:get_data(player_info);
if player_id == nil then if player_id == nil then
goto continue goto continue;
end end
local player_hunter_rank = hunter_rank_field:get_data(player_info); local player_hunter_rank = hunter_rank_field:get_data(player_info);
if player_hunter_rank == nil then if player_hunter_rank == nil then
goto continue goto continue;
end
local player_master_rank = master_rank_field:get_data(player_info);
if player_hunter_rank == nil then
player_master_rank = 0;
end end
local player_name = name_field:get_data(player_info); local player_name = name_field:get_data(player_info);
if player_name == nil then if player_name == nil then
goto continue goto continue;
end end
if player.myself.id == player_id then if player.myself.id == player_id then
player.list[player_id] = player.myself; player.list[player_id] = player.myself;
elseif player.list[player_id] == nil or player.list[player_id].name ~= player_name then elseif player.list[player_id] == nil or player.list[player_id].name ~= player_name then
player.list[player_id] = player.new(player_id, player_name, player_hunter_rank); player.list[player_id] = player.new(player_id, player_name, player_master_rank, player_hunter_rank);
end end
::continue:: ::continue::
@@ -446,11 +462,17 @@ function player.update_player_list_on_quest()
myself_hunter_rank = 0; myself_hunter_rank = 0;
end end
local myself_master_rank = get_master_rank_method:call(singletons.progress_manager);
if myself_hunter_rank == nil then
customization_menu.status = "No myself master rank";
myself_hunter_rank = 0;
end
local myself_id = get_master_player_id_method:call(singletons.player_manager); local myself_id = get_master_player_id_method:call(singletons.player_manager);
if myself_id == nil then if myself_id == nil then
customization_menu.status = "No myself player id"; customization_menu.status = "No myself player id";
elseif player.myself == nil or myself_id ~= player.myself.id then elseif player.myself == nil or myself_id ~= player.myself.id then
player.myself = player.new(myself_id, myself_player_name, myself_hunter_rank); player.myself = player.new(myself_id, myself_player_name, myself_master_rank, myself_hunter_rank);
player.list[myself_id] = player.myself; player.list[myself_id] = player.myself;
end end
@@ -470,29 +492,34 @@ function player.update_player_list_on_quest()
for i = 0, count - 1 do for i = 0, count - 1 do
local player_info = get_item_method:call(player_info_list, i); local player_info = get_item_method:call(player_info_list, i);
if player_info == nil then if player_info == nil then
goto continue goto continue;
end end
local player_id = member_index_field:get_data(player_info); local player_id = member_index_field:get_data(player_info);
if player_id == nil then if player_id == nil then
goto continue goto continue;
end end
local player_hunter_rank = hunter_rank_field:get_data(player_info); local player_hunter_rank = hunter_rank_field:get_data(player_info);
if player_hunter_rank == nil then if player_hunter_rank == nil then
goto continue goto continue;
end
local player_master_rank = master_rank_field:get_data(player_info);
if player_master_rank == nil then
player_master_rank = 0;
end end
local player_name = name_field:get_data(player_info); local player_name = name_field:get_data(player_info);
if player_name == nil then if player_name == nil then
goto continue goto continue;
end end
if player.myself.id == player_id then if player.myself.id == player_id then
player.list[player_id] = player.myself; player.list[player_id] = player.myself;
elseif player.list[player_id] == nil or player.list[player_id].name ~= player_name then elseif player.list[player_id] == nil or player.list[player_id].name ~= player_name then
player.list[player_id] = player.new(player_id, player_name, player_hunter_rank); player.list[player_id] = player.new(player_id, player_name, player_master_rank, player_hunter_rank);
end end
::continue:: ::continue::
@@ -507,7 +534,7 @@ function player.init_UI(_player)
cached_config.highlighted_damage_bar, cached_config.highlighted_damage_bar,
cached_config.player_name_label, cached_config.player_name_label,
cached_config.dps_label, cached_config.dps_label,
cached_config.hunter_rank_label, cached_config.master_hunter_rank_label,
cached_config.damage_value_label, cached_config.damage_value_label,
cached_config.damage_percentage_label cached_config.damage_percentage_label
); );

View File

@@ -3793,6 +3793,7 @@ function config.init()
include = { include = {
myself = { myself = {
master_rank = true,
hunter_rank = true, hunter_rank = true,
word_player = false, word_player = false,
player_id = false, player_id = false,
@@ -3800,6 +3801,7 @@ function config.init()
}, },
others = { others = {
master_rank = true,
hunter_rank = true, hunter_rank = true,
word_player = false, word_player = false,
player_id = false, player_id = false,
@@ -3824,17 +3826,24 @@ function config.init()
} }
}, },
hunter_rank_label = { master_hunter_rank_label = {
visibility = false, visibility = false,
enable_for = { include = {
me = true, myself = {
other_players = true master_rank = true,
hunter_rank = true
},
others = {
master_rank = true,
hunter_rank = true
}
}, },
text = "[%d]", text = "[%s]",
offset = { offset = {
x = -35, x = -65,
y = 0 y = 0
}, },
color = 0xFFCCF4E1, color = 0xFFCCF4E1,
@@ -4072,7 +4081,7 @@ function config.init_module()
config.init(); config.init();
config.load(); config.load();
config.current_config.version = "v1.11"; config.current_config.version = "v2.0";
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));

View File

@@ -61,7 +61,12 @@ language.default_language = {
spinning = "Spinning", spinning = "Spinning",
rock = "Rock", rock = "Rock",
tail_tip = "Tail Tip" tail_tip = "Tail Tip",
left_claw = "Left Claw",
right_claw = "Right Claw",
unknown = "?"
}, },
ailments = { ailments = {
@@ -340,7 +345,9 @@ language.default_language = {
apply = "Apply", apply = "Apply",
menu_font_change_disclaimer = "Changing Language and Menu Font Size several times will cause a crash!" menu_font_change_disclaimer = "Changing Language and Menu Font Size several times will cause a crash!",
master_rank = "Master Rank"
} }
}; };

View File

@@ -8,6 +8,9 @@ local table_helpers;
local enemy_poison_damage_param_type_def = sdk.find_type_definition("snow.enemy.EnemyPoisonDamageParam"); local enemy_poison_damage_param_type_def = sdk.find_type_definition("snow.enemy.EnemyPoisonDamageParam");
local on_poison_activate_proc_method = enemy_poison_damage_param_type_def:get_method("onActivateProc"); local on_poison_activate_proc_method = enemy_poison_damage_param_type_def:get_method("onActivateProc");
local enemy_poison_damage_param_type_def = sdk.find_type_definition("snow.enemy.EnemyBlastDamageParam");
local on_blast_activate_proc_method = enemy_poison_damage_param_type_def:get_method("onActivateProc");
local enemy_condition_damage_param_base_type_def = sdk.find_type_definition("snow.enemy.EnemyConditionDamageParamBase"); local enemy_condition_damage_param_base_type_def = sdk.find_type_definition("snow.enemy.EnemyConditionDamageParamBase");
local get_enemy_method = enemy_condition_damage_param_base_type_def:get_method("get_Em"); local get_enemy_method = enemy_condition_damage_param_base_type_def:get_method("get_Em");
@@ -17,9 +20,14 @@ local is_boss_enemy_method = enemy_character_base_type_def:get_method("get_isBos
local enemy_damage_param_type_def = sdk.find_type_definition("snow.enemy.EnemyDamageParam"); local enemy_damage_param_type_def = sdk.find_type_definition("snow.enemy.EnemyDamageParam");
local stock_damage_method = enemy_damage_param_type_def:get_method("stockDamage"); local stock_damage_method = enemy_damage_param_type_def:get_method("stockDamage");
local poison_param_field = enemy_damage_param_type_def:get_field("_PoisonParam"); local poison_param_field = enemy_damage_param_type_def:get_field("_PoisonParam");
local blast_param_field = enemy_damage_param_type_def:get_field("_BlastParam"); local blast_param_field = enemy_damage_param_type_def:get_field("_BlastParam");
local blast_param_type = blast_param_field:get_type();
local blast_damage_method = blast_param_type:get_method("get_BlastDamage");
local blast_adjust_rate_method = blast_param_type:get_method("get_BlastDamageAdjustRateByEnemyLv");
function ailment_hook.poison_proc(poison_param) function ailment_hook.poison_proc(poison_param)
if poison_param == nil then if poison_param == nil then
return; return;
@@ -46,6 +54,37 @@ function ailment_hook.poison_proc(poison_param)
ailments.clear_ailment_contribution(monster, ailments.poison_id); ailments.clear_ailment_contribution(monster, ailments.poison_id);
end end
function ailment_hook.blast_proc(blast_param)
if blast_param == nil then
return;
end
local enemy = get_enemy_method:call(blast_param);
if enemy == nil then
return;
end
local is_large = is_boss_enemy_method:call(enemy);
if is_large == nil then
return;
end
local monster;
if is_large then
monster = large_monster.get_monster(enemy);
else
monster = small_monster.get_monster(enemy);
end
local blast_damage = blast_damage_method:call(blast_param);
local blast_adjust_rate = blast_adjust_rate_method:call(blast_param);
ailments.apply_ailment_damage(monster, ailments.blast_id, blast_damage * blast_adjust_rate);
ailments.clear_ailment_contribution(monster, ailments.blast_id);
end
function ailment_hook.stock_damage() function ailment_hook.stock_damage()
for enemy, monster in pairs(large_monster.list) do for enemy, monster in pairs(large_monster.list) do
local damage_param = damage_param_field:get_data(enemy); local damage_param = damage_param_field:get_data(enemy);
@@ -54,9 +93,8 @@ function ailment_hook.stock_damage()
end end
local poison_param = poison_param_field:get_data(damage_param); local poison_param = poison_param_field:get_data(damage_param);
local blast_param = blast_param_field:get_data(damage_param);
ailments.update_poison_blast(monster, poison_param, blast_param); ailments.update_poison(monster, poison_param);
::continue:: ::continue::
end end
@@ -67,9 +105,8 @@ function ailment_hook.stock_damage()
end end
local poison_param = poison_param_field:get_data(damage_param); local poison_param = poison_param_field:get_data(damage_param);
local blast_param = blast_param_field:get_data(damage_param);
ailments.update_poison_blast(monster, poison_param, blast_param); ailments.update_poison(monster, poison_param);
::continue:: ::continue::
end end
end end
@@ -82,7 +119,7 @@ function ailment_hook.init_module()
table_helpers = require("MHR_Overlay.Misc.table_helpers"); table_helpers = require("MHR_Overlay.Misc.table_helpers");
sdk.hook(stock_damage_method, function(args) sdk.hook(stock_damage_method, function(args)
pcall(ailment_hook.stock_damage); pcall(ailment_hook.stock_damage, sdk.to_managed_object(args[2]));
end, function(retval) end, function(retval)
return retval; return retval;
end); end);
@@ -92,6 +129,12 @@ function ailment_hook.init_module()
end, function(retval) end, function(retval)
return retval; return retval;
end); end);
sdk.hook(on_blast_activate_proc_method, function(args)
pcall(ailment_hook.blast_proc, sdk.to_managed_object(args[2]));
end, function(retval)
return retval;
end);
end end
return ailment_hook; return ailment_hook;

View File

@@ -247,9 +247,6 @@ local get_active_timer_method = enemy_condition_damage_param_base_type_def:get_m
local poison_damage_field = poison_param_type:get_field("<Damage>k__BackingField"); local poison_damage_field = poison_param_type:get_field("<Damage>k__BackingField");
local poison_get_is_damage_method = poison_param_type:get_method("get_IsDamage"); local poison_get_is_damage_method = poison_param_type:get_method("get_IsDamage");
local blast_damage_method = blast_param_type:get_method("get_BlastDamage");
local blast_adjust_rate_method = blast_param_type:get_method("get_BlastDamageAdjustRateByEnemyLv");
function ailments.update_ailments(enemy, monster) function ailments.update_ailments(enemy, monster)
if enemy == nil then if enemy == nil then
return; return;
@@ -416,7 +413,7 @@ function ailments.update_last_change_time(monster, id)
end end
-- Code by coavins -- Code by coavins
function ailments.update_poison_blast(monster, poison_param, blast_param) function ailments.update_poison(monster, poison_param)
if monster == nil then if monster == nil then
return; return;
end end
@@ -430,20 +427,6 @@ function ailments.update_poison_blast(monster, poison_param, blast_param)
ailments.apply_ailment_damage(monster, ailments.poison_id, poison_damage); ailments.apply_ailment_damage(monster, ailments.poison_id, poison_damage);
end end
end end
if blast_param ~= nil then
-- if applied, then calculate share for blast and apply damage
local activate_count = get_activate_count_method:call(blast_param):get_element(0):get_field("mValue");
if activate_count > monster.ailments[ailments.blast_id].activate_count then
monster.ailments[ailments.blast_id].activate_count = activate_count;
local blast_damage = blast_damage_method:call(blast_param);
local blast_adjust_rate = blast_adjust_rate_method:call(blast_param);
ailments.apply_ailment_damage(monster, ailments.blast_id, blast_damage * blast_adjust_rate);
ailments.clear_ailment_contribution(monster, ailments.blast_id);
end
end
end end
function ailments.draw_dynamic(monster, ailments_position_on_screen, opacity_scale) function ailments.draw_dynamic(monster, ailments_position_on_screen, opacity_scale)
@@ -815,7 +798,7 @@ function ailments.apply_ailment_damage(monster, ailment_type, ailment_damage)
local buildup_share = monster.ailments[ailment_type].buildup_share; local buildup_share = monster.ailments[ailment_type].buildup_share;
if ailment_type == ailments.poison_id then if ailment_type == ailments.poison_id then
damage_source_type = "poison"; damage_source_type = "poison";
buildup_share = monster.ailments[ailment_type]._cached_buildup_share; buildup_share = monster.ailments[ailment_type].cached_buildup_share;
elseif ailment_type == ailments.blast_id then elseif ailment_type == ailments.blast_id then
damage_source_type = "blast"; damage_source_type = "blast";
else else
@@ -823,9 +806,8 @@ function ailments.apply_ailment_damage(monster, ailment_type, ailment_damage)
end end
local damage = ailment_damage; local damage = ailment_damage;
-- split up damage according to ratio of buildup on boss for this type -- split up damage according to ratio of buildup on boss for this type
xy = "." .. tostring(buildup_share);
for attacker_id, percentage in pairs(buildup_share) do for attacker_id, percentage in pairs(buildup_share) do
local damage_portion = damage * percentage; local damage_portion = damage * percentage;
@@ -843,8 +825,6 @@ function ailments.apply_ailment_damage(monster, ailment_type, ailment_damage)
player.update_damage(player.total, damage_source_type, true, damage_object); player.update_damage(player.total, damage_source_type, true, damage_object);
end end
end end
function ailments.init_module() function ailments.init_module()

View File

@@ -87,10 +87,11 @@ function large_monster.new(enemy)
end end
function large_monster.get_monster(enemy) function large_monster.get_monster(enemy)
if large_monster.list[enemy] == nil then local monster = large_monster.list[enemy];
return large_monster.new(enemy); if monster == nil then
monster = large_monster.new(enemy);
end end
return large_monster.list[enemy]; return monster;
end end
local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase"); local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase");

View File

@@ -48,11 +48,12 @@ function small_monster.new(enemy)
end end
function small_monster.get_monster(enemy) function small_monster.get_monster(enemy)
if small_monster.list[enemy] == nil then local monster = small_monster.list[enemy];
small_monster.list[enemy] = small_monster.new(enemy); if monster == nil then
monster = small_monster.new(enemy);
end end
return small_monster.list[enemy]; return monster;
end end
local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase"); local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase");

View File

@@ -57,7 +57,11 @@ function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_d
local player_name_text = ""; local player_name_text = "";
if player_include.hunter_rank then if player_include.master_rank and player_include.hunter_rank then
player_name_text = string.format("[%d:%d] ", _player.master_rank, _player.hunter_rank);
elseif player_include.master_rank then
player_name_text = string.format("[%d] ", _player.master_rank);
elseif player_include.hunter_rank then
player_name_text = string.format("[%d] ", _player.hunter_rank); player_name_text = string.format("[%d] ", _player.hunter_rank);
end end
@@ -89,6 +93,8 @@ function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_d
end end
end end
if _player.id == player.myself.id and cached_config.settings.highlighted_bar == "Me" then if _player.id == player.myself.id and cached_config.settings.highlighted_bar == "Me" then
drawing.draw_bar(_player.damage_UI.highlighted_bar, position_on_screen, opacity_scale, player_damage_bar_percentage); drawing.draw_bar(_player.damage_UI.highlighted_bar, position_on_screen, opacity_scale, player_damage_bar_percentage);
elseif cached_config.settings.highlighted_bar == "Top Damage" and _player.display.total_damage == top_damage then elseif cached_config.settings.highlighted_bar == "Top Damage" and _player.display.total_damage == top_damage then
@@ -100,11 +106,21 @@ function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_d
end end
if _player.id == player.myself.id then if _player.id == player.myself.id then
if _player.damage_UI.hunter_rank_label.enable_for.me then if _player.damage_UI.hunter_rank_label.include.myself.master_rank and _player.damage_UI.hunter_rank_label.include.myself.hunter_rank then
drawing.draw_label(_player.damage_UI.hunter_rank_label, position_on_screen, opacity_scale, _player.hunter_rank); drawing.draw_label(_player.damage_UI.hunter_rank_label, position_on_screen, opacity_scale, string.format("%d:%d", _player.master_rank, _player.hunter_rank));
elseif _player.damage_UI.hunter_rank_label.include.myself.master_rank then
drawing.draw_label(_player.damage_UI.hunter_rank_label, position_on_screen, opacity_scale, string.format("%d", _player.master_rank));
elseif _player.damage_UI.hunter_rank_label.include.myself.hunter_rank then
drawing.draw_label(_player.damage_UI.hunter_rank_label, position_on_screen, opacity_scale, string.format("%d", _player.hunter_rank));
end
else
if _player.damage_UI.hunter_rank_label.include.others.master_rank and _player.damage_UI.hunter_rank_label.include.others.hunter_rank then
drawing.draw_label(_player.damage_UI.hunter_rank_label, position_on_screen, opacity_scale, string.format("%d:%d", _player.master_rank, _player.hunter_rank));
elseif _player.damage_UI.hunter_rank_label.include.others.master_rank then
drawing.draw_label(_player.damage_UI.hunter_rank_label, position_on_screen, opacity_scale, string.format("%d", _player.master_rank));
elseif _player.damage_UI.hunter_rank_label.include.others.hunter_rank then
drawing.draw_label(_player.damage_UI.hunter_rank_label, position_on_screen, opacity_scale, string.format("%d", _player.hunter_rank));
end end
elseif _player.damage_UI.hunter_rank_label.enable_for.other_players then
drawing.draw_label(_player.damage_UI.hunter_rank_label, position_on_screen, opacity_scale, _player.hunter_rank);
end end
drawing.draw_label(_player.damage_UI.player_name_label, position_on_screen, opacity_scale, player_name_text); drawing.draw_label(_player.damage_UI.player_name_label, position_on_screen, opacity_scale, player_name_text);

View File

@@ -15271,6 +15271,12 @@ function customization_menu.draw()
if imgui.tree_node(language.current_language.customization_menu.include) then if imgui.tree_node(language.current_language.customization_menu.include) then
if imgui.tree_node(language.current_language.customization_menu.me) then if imgui.tree_node(language.current_language.customization_menu.me) then
changed, config.current_config.damage_meter_UI.player_name_label.include.myself.master_rank = imgui.checkbox(
language.current_language.customization_menu.master_rank,
config.current_config.damage_meter_UI.player_name_label.include.myself.master_rank);
config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed;
changed, config.current_config.damage_meter_UI.player_name_label.include.myself.hunter_rank = imgui.checkbox( changed, config.current_config.damage_meter_UI.player_name_label.include.myself.hunter_rank = imgui.checkbox(
language.current_language.customization_menu.hunter_rank, language.current_language.customization_menu.hunter_rank,
config.current_config.damage_meter_UI.player_name_label.include.myself.hunter_rank); config.current_config.damage_meter_UI.player_name_label.include.myself.hunter_rank);
@@ -15299,6 +15305,12 @@ function customization_menu.draw()
end end
if imgui.tree_node(language.current_language.customization_menu.other_players) then if imgui.tree_node(language.current_language.customization_menu.other_players) then
changed, config.current_config.damage_meter_UI.player_name_label.include.others.master_rank = imgui.checkbox(
language.current_language.customization_menu.master_rank,
config.current_config.damage_meter_UI.player_name_label.include.others.master_rank);
config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed;
changed, config.current_config.damage_meter_UI.player_name_label.include.others.hunter_rank = imgui.checkbox( changed, config.current_config.damage_meter_UI.player_name_label.include.others.hunter_rank = imgui.checkbox(
language.current_language.customization_menu.hunter_rank, language.current_language.customization_menu.hunter_rank,
config.current_config.damage_meter_UI.player_name_label.include.others.hunter_rank); config.current_config.damage_meter_UI.player_name_label.include.others.hunter_rank);
@@ -15394,39 +15406,58 @@ function customization_menu.draw()
end end
if imgui.tree_node(language.current_language.customization_menu.hunter_rank_label) then if imgui.tree_node(language.current_language.customization_menu.hunter_rank_label) then
changed, config.current_config.damage_meter_UI.hunter_rank_label.visibility = imgui.checkbox(language.current_language changed, config.current_config.damage_meter_UI.master_hunter_rank_label.visibility = imgui.checkbox(language.current_language
.customization_menu.visible, .customization_menu.visible,
config.current_config.damage_meter_UI.hunter_rank_label.visibility); config.current_config.damage_meter_UI.master_hunter_rank_label.visibility);
config_changed = config_changed or changed; config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed;
if imgui.tree_node(language.current_language.customization_menu.enable_for) then if imgui.tree_node(language.current_language.customization_menu.include) then
changed, config.current_config.damage_meter_UI.hunter_rank_label.enable_for.me = imgui.checkbox( if imgui.tree_node(language.current_language.customization_menu.me) then
language.current_language.customization_menu.me, changed, config.current_config.damage_meter_UI.master_hunter_rank_label.include.myself.master_rank = imgui.checkbox(
config.current_config.damage_meter_UI.hunter_rank_label.enable_for.me); language.current_language.customization_menu.master_rank,
config_changed = config_changed or changed; config.current_config.damage_meter_UI.player_name_label.include.myself.master_rank);
damage_meter_UI_changed = damage_meter_UI_changed or changed; config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed;
changed, config.current_config.damage_meter_UI.hunter_rank_label.enable_for.other_players = imgui.checkbox( changed, config.current_config.damage_meter_UI.master_hunter_rank_label.include.myself.hunter_rank = imgui.checkbox(
language.current_language.customization_menu.other_players, language.current_language.customization_menu.hunter_rank,
config.current_config.damage_meter_UI.hunter_rank_label.enable_for.other_players); config.current_config.damage_meter_UI.player_name_label.include.myself.hunter_rank);
config_changed = config_changed or changed; config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.other_players) then
changed, config.current_config.damage_meter_UI.master_hunter_rank_label.include.others.master_rank = imgui.checkbox(
language.current_language.customization_menu.master_rank,
config.current_config.damage_meter_UI.player_name_label.include.others.master_rank);
config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed;
changed, config.current_config.damage_meter_UI.master_hunter_rank_label.include.others.hunter_rank = imgui.checkbox(
language.current_language.customization_menu.hunter_rank,
config.current_config.damage_meter_UI.player_name_label.include.others.hunter_rank);
config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed;
imgui.tree_pop();
end
imgui.tree_pop(); imgui.tree_pop();
end end
if imgui.tree_node(language.current_language.customization_menu.offset) then if imgui.tree_node(language.current_language.customization_menu.offset) then
changed, config.current_config.damage_meter_UI.hunter_rank_label.offset.x = imgui.drag_float(language.current_language changed, config.current_config.damage_meter_UI.master_hunter_rank_label.offset.x = imgui.drag_float(language.current_language
.customization_menu.x, .customization_menu.x,
config.current_config.damage_meter_UI.hunter_rank_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config.current_config.damage_meter_UI.master_hunter_rank_label.offset.x, 0.1, -screen.width, screen.width, "%.1f");
config_changed = config_changed or changed; config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed;
changed, config.current_config.damage_meter_UI.hunter_rank_label.offset.y = imgui.drag_float(language.current_language changed, config.current_config.damage_meter_UI.master_hunter_rank_label.offset.y = imgui.drag_float(language.current_language
.customization_menu.y, .customization_menu.y,
config.current_config.damage_meter_UI.hunter_rank_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config.current_config.damage_meter_UI.master_hunter_rank_label.offset.y, 0.1, -screen.height, screen.height, "%.1f");
config_changed = config_changed or changed; config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed;
@@ -15434,8 +15465,8 @@ function customization_menu.draw()
end end
if imgui.tree_node(language.current_language.customization_menu.color) then if imgui.tree_node(language.current_language.customization_menu.color) then
changed, config.current_config.damage_meter_UI.hunter_rank_label.color = imgui.color_picker_argb("", changed, config.current_config.damage_meter_UI.master_hunter_rank_label.color = imgui.color_picker_argb("",
config.current_config.damage_meter_UI.hunter_rank_label.color, customization_menu.color_picker_flags); config.current_config.damage_meter_UI.master_hunter_rank_label.color, customization_menu.color_picker_flags);
config_changed = config_changed or changed; config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed;
@@ -15443,22 +15474,22 @@ function customization_menu.draw()
end end
if imgui.tree_node(language.current_language.customization_menu.shadow) then if imgui.tree_node(language.current_language.customization_menu.shadow) then
changed, config.current_config.damage_meter_UI.hunter_rank_label.shadow.visibility = imgui.checkbox(language.current_language changed, config.current_config.damage_meter_UI.master_hunter_rank_label.shadow.visibility = imgui.checkbox(language.current_language
.customization_menu.visible, .customization_menu.visible,
config.current_config.damage_meter_UI.hunter_rank_label.shadow.visibility); config.current_config.damage_meter_UI.master_hunter_rank_label.shadow.visibility);
config_changed = config_changed or changed; config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed;
if imgui.tree_node(language.current_language.customization_menu.offset) then if imgui.tree_node(language.current_language.customization_menu.offset) then
changed, config.current_config.damage_meter_UI.hunter_rank_label.shadow.offset.x = imgui.drag_float(language.current_language changed, config.current_config.damage_meter_UI.master_hunter_rank_label.shadow.offset.x = imgui.drag_float(language.current_language
.customization_menu.x, .customization_menu.x,
config.current_config.damage_meter_UI.hunter_rank_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config.current_config.damage_meter_UI.master_hunter_rank_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f");
config_changed = config_changed or changed; config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed;
changed, config.current_config.damage_meter_UI.hunter_rank_label.shadow.offset.y = imgui.drag_float(language.current_language changed, config.current_config.damage_meter_UI.master_hunter_rank_label.shadow.offset.y = imgui.drag_float(language.current_language
.customization_menu.y, .customization_menu.y,
config.current_config.damage_meter_UI.hunter_rank_label.shadow.offset.y, 0.1, -screen.height, screen.height, config.current_config.damage_meter_UI.master_hunter_rank_label.shadow.offset.y, 0.1, -screen.height, screen.height,
"%.1f"); "%.1f");
config_changed = config_changed or changed; config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed;
@@ -15467,8 +15498,8 @@ function customization_menu.draw()
end end
if imgui.tree_node(language.current_language.customization_menu.color) then if imgui.tree_node(language.current_language.customization_menu.color) then
changed, config.current_config.damage_meter_UI.hunter_rank_label.shadow.color = imgui.color_picker_argb("", changed, config.current_config.damage_meter_UI.master_hunter_rank_label.shadow.color = imgui.color_picker_argb("",
config.current_config.damage_meter_UI.hunter_rank_label.shadow.color, customization_menu.color_picker_flags); config.current_config.damage_meter_UI.master_hunter_rank_label.shadow.color, customization_menu.color_picker_flags);
config_changed = config_changed or changed; config_changed = config_changed or changed;
damage_meter_UI_changed = damage_meter_UI_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed;