Implement Buff Customization by Type

This commit is contained in:
GreenComfyTea
2023-09-30 11:03:25 +03:00
parent 17b89d3d7f
commit 423635400c
14 changed files with 1167 additions and 122 deletions

View File

@@ -372,9 +372,15 @@ function this.update_sleep(player)
this.update_abnormal_status("sleep", nil, nil, player, sleep_duration_timer_field); this.update_abnormal_status("sleep", nil, nil, player, sleep_duration_timer_field);
end end
function this.init_all_UI()
for abnormal_status_key, abnormal_status in pairs(this.list) do
buffs.init_UI(abnormal_status);
end
end
function this.init_names() function this.init_names()
for abnormal_status_key, debuff in pairs(this.list) do for abnormal_status_key, abnormal_status in pairs(this.list) do
debuff.name = this.get_abnormal_status_name(abnormal_status_key); abnormal_status.name = this.get_abnormal_status_name(abnormal_status_key);
end end
end end

View File

@@ -111,15 +111,34 @@ function this.init_buffs()
this.list = {}; this.list = {};
end end
function this.init_all_UI()
abnormal_statuses.init_all_UI();
item_buffs.init_all_UI();
endemic_life_buffs.init_all_UI();
melody_effects.init_all_UI();
dango_skills.init_all_UI();
rampage_skills.init_all_UI();
skills.init_all_UI();
weapon_skills.init_all_UI();
otomo_moves.init_all_UI();
misc_buffs.init_all_UI();
end
function this.init_UI(buff) function this.init_UI(buff)
local cached_config = config.current_config.buff_UI; local cached_config = config.current_config.buff_UI[buff.type];
buff.buff_UI = buff_UI_entity.new(cached_config.bar, cached_config.name_label, cached_config.timer_label); buff.buff_UI = buff_UI_entity.new(cached_config.bar, cached_config.name_label, cached_config.timer_label);
end end
function this.init_names() function this.init_names()
abnormal_statuses.init_names(); abnormal_statuses.init_names();
item_buffs.init_names();
endemic_life_buffs.init_names();
melody_effects.init_names();
dango_skills.init_names();
rampage_skills.init_names();
skills.init_names(); skills.init_names();
weapon_skills.init_names(); weapon_skills.init_names();
otomo_moves.init_names();
misc_buffs.init_names(); misc_buffs.init_names();
end end

View File

@@ -344,6 +344,18 @@ function this.update_super_recovery_dango(player)
this.update_generic("super_recovery_dango"); this.update_generic("super_recovery_dango");
end end
function this.init_all_UI()
for dango_skill_key, dango_skill in pairs(this.list) do
buffs.init_UI(dango_skill);
end
end
function this.init_names()
for dango_skill_key, dango_skill in pairs(this.list) do
dango_skill.name = this.get_dango_skill_name(dango_skill_key);
end
end
function this.get_dango_skill_name(key) function this.get_dango_skill_name(key)
local dango_skill_id = dango_skill_ids[key]; local dango_skill_id = dango_skill_ids[key];
if dango_skill_id == nil then if dango_skill_id == nil then

View File

@@ -179,6 +179,18 @@ function this.update_butterflame(player_data)
this.update_endemic_life_buff("butterflame", nil, nil, player_data, atk_up_buff_second_timer_field); this.update_endemic_life_buff("butterflame", nil, nil, player_data, atk_up_buff_second_timer_field);
end end
function this.init_all_UI()
for endemic_life_key, endemic_life in pairs(this.list) do
buffs.init_UI(endemic_life);
end
end
function this.init_names()
for endemic_life_key, endemic_life in pairs(this.list) do
endemic_life.name = this.get_endemic_life_name(endemic_life_key);
end
end
function this.get_endemic_life_name(key) function this.get_endemic_life_name(key)
if singletons.message_manager == nil then if singletons.message_manager == nil then
error_handler.report("endemic_life_buffs.get_endemic_life_name", "Failed to access Data: message_manager"); error_handler.report("endemic_life_buffs.get_endemic_life_name", "Failed to access Data: message_manager");

View File

@@ -282,6 +282,18 @@ function this.update_might_seed(player_data, item_parameter)
this.update_item_buff("might_seed", nil, nil, player_data, atk_up_buff_second_timer_field); this.update_item_buff("might_seed", nil, nil, player_data, atk_up_buff_second_timer_field);
end end
function this.init_all_UI()
for item_buff_key, item_buff in pairs(this.list) do
buffs.init_UI(item_buff);
end
end
function this.init_names()
for item_buff_key, item_buff in pairs(this.list) do
item_buff.name = this.get_item_buff_name(item_buff_key);
end
end
function this.get_item_buff_name(key) function this.get_item_buff_name(key)
local item_buff_name = get_name_method:call(nil, item_ids[key]); local item_buff_name = get_name_method:call(nil, item_ids[key]);
if item_buff_name == nil then if item_buff_name == nil then

View File

@@ -215,6 +215,18 @@ function this.apply_filter(key, lua_index)
return true; return true;
end end
function this.init_all_UI()
for melody_effect_id, melody_effect in pairs(this.list) do
buffs.init_UI(melody_effect);
end
end
function this.init_names()
for melody_effect_id, melody_effect in pairs(this.list) do
melody_effect.name = this.get_melody_effect_name(melody_effect_id - 1);
end
end
function this.get_melody_effect_name(id) function this.get_melody_effect_name(id)
local melody_effect_name = get_name_method:call(nil, id); local melody_effect_name = get_name_method:call(nil, id);
if melody_effect_name == nil then if melody_effect_name == nil then

View File

@@ -148,9 +148,15 @@ function this.update_attack_up(player_data, item_parameter)
this.update_misc_buff("attack_up", nil, nil, player_data, atk_up_buff_second_timer_field); this.update_misc_buff("attack_up", nil, nil, player_data, atk_up_buff_second_timer_field);
end end
function this.init_all_UI()
for misc_buff_key, misc_buff in pairs(this.list) do
buffs.init_UI(misc_buff);
end
end
function this.init_names() function this.init_names()
for misc_buff_key, dango in pairs(this.list) do for misc_buff_key, misc_buff in pairs(this.list) do
dango.name = this.get_misc_buff_name(misc_buff_key); misc_buff.name = this.get_misc_buff_name(misc_buff_key);
end end
end end

View File

@@ -119,6 +119,18 @@ function this.apply_filter(key)
return buffs.apply_filter(this.list, config.current_config.buff_UI.filter.otomo_moves, key); return buffs.apply_filter(this.list, config.current_config.buff_UI.filter.otomo_moves, key);
end end
function this.init_all_UI()
for otomo_move_key, otomo_move in pairs(this.list) do
buffs.init_UI(otomo_move);
end
end
function this.init_names()
for otomo_move_key, otomo_move in pairs(this.list) do
otomo_move.name = this.get_otomo_move_name(otomo_move_key);
end
end
function this.get_otomo_move_name(key) function this.get_otomo_move_name(key)
local otomo_move_name = get_name_method:call(nil, otomo_moves_ids[key]); local otomo_move_name = get_name_method:call(nil, otomo_moves_ids[key]);
if otomo_move_name == nil then if otomo_move_name == nil then

View File

@@ -91,9 +91,15 @@ function this.apply_filter(key)
return this.apply_filter(this.list, config.current_config.buff_UI.filter.rampage_skills, key); return this.apply_filter(this.list, config.current_config.buff_UI.filter.rampage_skills, key);
end end
function this.init_all_UI()
for rampage_skill_key, rampage_skill in pairs(this.list) do
buffs.init_UI(rampage_skill);
end
end
function this.init_names() function this.init_names()
for rampage_skill_key, skill in pairs(this.list) do for rampage_skill_key, rampage_skill in pairs(this.list) do
skill.name = this.get_rampage_skill_name(rampage_skill_key); rampage_skill.name = this.get_rampage_skill_name(rampage_skill_key);
end end
end end

View File

@@ -837,6 +837,12 @@ function this.update_blood_awakening(player, player_data)
this.update_skill("blood_awakening", player, get_equip_skill_232_lv_method, player_data, equip_skill_232_timer_field, nil, nil, blood_awakening_breakpoints); this.update_skill("blood_awakening", player, get_equip_skill_232_lv_method, player_data, equip_skill_232_timer_field, nil, nil, blood_awakening_breakpoints);
end end
function this.init_all_UI()
for skill_key, skill in pairs(this.list) do
buffs.init_UI(skill);
end
end
function this.init_names() function this.init_names()
for skill_key, skill in pairs(this.list) do for skill_key, skill in pairs(this.list) do
skill.name = this.get_skill_name(skill_key); skill.name = this.get_skill_name(skill_key);

View File

@@ -1044,6 +1044,12 @@ function this.update_bow_skills(player, player_data)
this.update_weapon_skill("arc_shot_brace", bow_type_name, nil, nil, player_data, super_armor_item_timer_field); this.update_weapon_skill("arc_shot_brace", bow_type_name, nil, nil, player_data, super_armor_item_timer_field);
end end
function this.init_all_UI()
for weapon_skill_key, weapon_skill in pairs(this.list) do
buffs.init_UI(weapon_skill);
end
end
function this.init_names() function this.init_names()
for weapon_skill_key, weapon_skill in pairs(this.list) do for weapon_skill_key, weapon_skill in pairs(this.list) do
weapon_skill.name = this.get_weapon_skill_name(weapon_skill_key); weapon_skill.name = this.get_weapon_skill_name(weapon_skill_key);

View File

@@ -231,33 +231,6 @@ function this.update_damage(enemy, enemy_calc_damage_info)
players.update_damage(players.total, damage_source_type, is_large_monster, damage_object); players.update_damage(players.total, damage_source_type, is_large_monster, damage_object);
players.update_damage(player, damage_source_type, is_large_monster, damage_object); players.update_damage(player, damage_source_type, is_large_monster, damage_object);
--[[xy = string.format(
PhysicalPartsVitalDamage(): %s
PhysicalPartsBreakVitalDamage(): %s
PhysicalPartsLossVitalDamage(): %s
PhysicalMultiPartsVitalDamage(): %s
ElementPartsVitalDamage(): %s
ElementPartsBreakVitalDamage(): %s
ElementPartsLossVitalDamage(): %s
ElementMultiPartsVitalDamage(): %s
IsBreakPartsDamage(): %s
,
tostring(enemy_calc_damage_info:get_PhysicalPartsVitalDamage()),
tostring(enemy_calc_damage_info:get_PhysicalPartsBreakVitalDamage()),
tostring(enemy_calc_damage_info:get_PhysicalPartsLossVitalDamage()),
tostring(enemy_calc_damage_info:get_PhysicalMultiPartsVitalDamage()),
tostring(enemy_calc_damage_info:get_ElementPartsVitalDamage()),
tostring(enemy_calc_damage_info:get_ElementPartsBreakVitalDamage()),
tostring(enemy_calc_damage_info:get_ElementPartsLossVitalDamage()),
tostring(enemy_calc_damage_info:get_ElementMultiPartsVitalDamage()),
tostring(enemy_calc_damage_info:get_IsBreakPartsDamage())
);]]
end end
function this.cart(dead_player_id, flag_cat_skill_insurance) function this.cart(dead_player_id, flag_cat_skill_insurance)

View File

@@ -7741,6 +7741,7 @@ function this.init_default()
} }
}, },
abnormal_statuses = {
name_label = { name_label = {
visibility = true, visibility = true,
@@ -7787,7 +7788,7 @@ function this.init_default()
y = 0 y = 0
}, },
color = 0xFFFFBF81, color = 0xFFFEFF88,
shadow = { shadow = {
visibility = true, visibility = true,
@@ -7833,6 +7834,844 @@ function this.init_default()
} }
}, },
item_buffs = {
name_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%s",
include = {
skill_level = true
},
offset = {
x = 5,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
timer_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%2.0f:%02.0f",
offset = {
x = 200,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
bar = {
visibility = true,
settings = {
fill_direction = "Left to Right"
},
offset = {
x = 0,
y = 17
},
size = {
width = 240,
height = 5
},
outline = {
visibility = true,
thickness = 1,
offset = 0,
style = "Center"
},
colors = {
foreground = 0xA76FD456,
background = 0xA7000000,
outline = 0xC0000000
}
}
},
endemic_life_buffs = {
name_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%s",
include = {
skill_level = true
},
offset = {
x = 5,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
timer_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%2.0f:%02.0f",
offset = {
x = 200,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
bar = {
visibility = true,
settings = {
fill_direction = "Left to Right"
},
offset = {
x = 0,
y = 17
},
size = {
width = 240,
height = 5
},
outline = {
visibility = true,
thickness = 1,
offset = 0,
style = "Center"
},
colors = {
foreground = 0xA76FD456,
background = 0xA7000000,
outline = 0xC0000000
}
}
},
melody_effects = {
name_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%s",
include = {
skill_level = true
},
offset = {
x = 5,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
timer_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%2.0f:%02.0f",
offset = {
x = 200,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
bar = {
visibility = true,
settings = {
fill_direction = "Left to Right"
},
offset = {
x = 0,
y = 17
},
size = {
width = 240,
height = 5
},
outline = {
visibility = true,
thickness = 1,
offset = 0,
style = "Center"
},
colors = {
foreground = 0xA76FD456,
background = 0xA7000000,
outline = 0xC0000000
}
}
},
dango_skills = {
name_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%s",
include = {
skill_level = true
},
offset = {
x = 5,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
timer_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%2.0f:%02.0f",
offset = {
x = 200,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
bar = {
visibility = true,
settings = {
fill_direction = "Left to Right"
},
offset = {
x = 0,
y = 17
},
size = {
width = 240,
height = 5
},
outline = {
visibility = true,
thickness = 1,
offset = 0,
style = "Center"
},
colors = {
foreground = 0xA76FD456,
background = 0xA7000000,
outline = 0xC0000000
}
}
},
rampage_skills = {
name_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%s",
include = {
skill_level = true
},
offset = {
x = 5,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
timer_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%2.0f:%02.0f",
offset = {
x = 200,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
bar = {
visibility = true,
settings = {
fill_direction = "Left to Right"
},
offset = {
x = 0,
y = 17
},
size = {
width = 240,
height = 5
},
outline = {
visibility = true,
thickness = 1,
offset = 0,
style = "Center"
},
colors = {
foreground = 0xA76FD456,
background = 0xA7000000,
outline = 0xC0000000
}
}
},
skills = {
name_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%s",
include = {
skill_level = true
},
offset = {
x = 5,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
timer_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%2.0f:%02.0f",
offset = {
x = 200,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
bar = {
visibility = true,
settings = {
fill_direction = "Left to Right"
},
offset = {
x = 0,
y = 17
},
size = {
width = 240,
height = 5
},
outline = {
visibility = true,
thickness = 1,
offset = 0,
style = "Center"
},
colors = {
foreground = 0xA76FD456,
background = 0xA7000000,
outline = 0xC0000000
}
}
},
weapon_skills = {
name_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%s",
include = {
skill_level = true
},
offset = {
x = 5,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
timer_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%2.0f:%02.0f",
offset = {
x = 200,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
bar = {
visibility = true,
settings = {
fill_direction = "Left to Right"
},
offset = {
x = 0,
y = 17
},
size = {
width = 240,
height = 5
},
outline = {
visibility = true,
thickness = 1,
offset = 0,
style = "Center"
},
colors = {
foreground = 0xA76FD456,
background = 0xA7000000,
outline = 0xC0000000
}
}
},
otomo_moves = {
name_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%s",
include = {
skill_level = true
},
offset = {
x = 5,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
timer_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%2.0f:%02.0f",
offset = {
x = 200,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
bar = {
visibility = true,
settings = {
fill_direction = "Left to Right"
},
offset = {
x = 0,
y = 17
},
size = {
width = 240,
height = 5
},
outline = {
visibility = true,
thickness = 1,
offset = 0,
style = "Center"
},
colors = {
foreground = 0xA76FD456,
background = 0xA7000000,
outline = 0xC0000000
}
}
},
misc_buffs = {
name_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%s",
include = {
skill_level = true
},
offset = {
x = 5,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
timer_label = {
visibility = true,
settings = {
right_alignment_shift = 0
},
text_formatting = "%2.0f:%02.0f",
offset = {
x = 200,
y = 0
},
color = 0xFFFEFF88,
shadow = {
visibility = true,
offset = {
x = 1,
y = 1
},
color = 0xFF000000
}
},
bar = {
visibility = true,
settings = {
fill_direction = "Left to Right"
},
offset = {
x = 0,
y = 17
},
size = {
width = 240,
height = 5
},
outline = {
visibility = true,
thickness = 1,
offset = 0,
style = "Center"
},
colors = {
foreground = 0xA76FD456,
background = 0xA7000000,
outline = 0xC0000000
}
}
}
},
stats_UI = { stats_UI = {
enabled = false, enabled = false,

View File

@@ -500,9 +500,7 @@ function this.draw()
end end
if buff_UI_changed or modifiers_changed or config_changed then if buff_UI_changed or modifiers_changed or config_changed then
-- for _, buff in pairs(buffs.list) do buffs.init_all_UI();
-- buffs.init_UI(buff);
-- end
end end
if stats_UI_changed or modifiers_changed or config_changed then if stats_UI_changed or modifiers_changed or config_changed then
@@ -2409,10 +2407,6 @@ function this.draw_buff_UI()
if imgui.tree_node(language.current_language.customization_menu.filter) then if imgui.tree_node(language.current_language.customization_menu.filter) then
-- weapon_skills = "Weapon Skills",
-- otomo_moves = "Buddy Moves",
-- misc_buffs = "Misc Buffs",
if imgui.tree_node(language.current_language.customization_menu.abnormal_statuses) then if imgui.tree_node(language.current_language.customization_menu.abnormal_statuses) then
for _, key in ipairs(abnormal_statuses.keys) do for _, key in ipairs(abnormal_statuses.keys) do
@@ -2587,22 +2581,152 @@ function this.draw_buff_UI()
imgui.tree_pop(); imgui.tree_pop();
end end
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.abnormal_statuses) then
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.abnormal_statuses.name_label);
config_changed = config_changed or changed;
changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.abnormal_statuses.timer_label);
config_changed = config_changed or changed;
changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.abnormal_statuses.bar);
config_changed = config_changed or changed;
imgui.tree_pop(); imgui.tree_pop();
end end
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.name_label); if imgui.tree_node(language.current_language.customization_menu.item_buffs) then
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.item_buffs.name_label);
config_changed = config_changed or changed; config_changed = config_changed or changed;
changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.timer_label); changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.item_buffs.timer_label);
config_changed = config_changed or changed; config_changed = config_changed or changed;
changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.bar); changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.item_buffs.bar);
config_changed = config_changed or changed; config_changed = config_changed or changed;
imgui.tree_pop(); imgui.tree_pop();
end end
if imgui.tree_node(language.current_language.customization_menu.endemic_life_buffs) then
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.endemic_life_buffs.name_label);
config_changed = config_changed or changed;
changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.endemic_life_buffs.timer_label);
config_changed = config_changed or changed;
changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.endemic_life_buffs.bar);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.melody_effects) then
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.melody_effects.name_label);
config_changed = config_changed or changed;
changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.melody_effects.timer_label);
config_changed = config_changed or changed;
changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.melody_effects.bar);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.dango_skills) then
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.dango_skills.name_label);
config_changed = config_changed or changed;
changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.dango_skills.timer_label);
config_changed = config_changed or changed;
changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.dango_skills.bar);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.rampage_skills) then
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.rampage_skills.name_label);
config_changed = config_changed or changed;
changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.rampage_skills.timer_label);
config_changed = config_changed or changed;
changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.rampage_skills.bar);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.skills) then
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.skills.name_label);
config_changed = config_changed or changed;
changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.skills.timer_label);
config_changed = config_changed or changed;
changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.skills.bar);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.weapon_skills) then
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.weapon_skills.name_label);
config_changed = config_changed or changed;
changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.weapon_skills.timer_label);
config_changed = config_changed or changed;
changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.weapon_skills.bar);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.otomo_moves) then
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.otomo_moves.name_label);
config_changed = config_changed or changed;
changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.otomo_moves.timer_label);
config_changed = config_changed or changed;
changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.otomo_moves.bar);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.misc_buffs) then
changed = label_customization.draw(language.current_language.customization_menu.name_label, cached_config.misc_buffs.name_label);
config_changed = config_changed or changed;
changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.misc_buffs.timer_label);
config_changed = config_changed or changed;
changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.misc_buffs.bar);
config_changed = config_changed or changed;
imgui.tree_pop();
end
imgui.tree_pop();
end
return config_changed; return config_changed;
end end