Quest Flow Tracking Rework

This commit is contained in:
GreenComfyTea
2022-11-22 15:58:33 +02:00
parent cc93a617f1
commit 8f3ff25fd6
15 changed files with 752 additions and 289 deletions

View File

@@ -0,0 +1,82 @@
local module_visibility_customization = {};
local table_helpers;
local config;
local screen;
local player;
local large_monster;
local small_monster;
local env_creature;
local language;
local part_names;
local time_UI;
local keyboard;
local customization_menu;
local label_customization;
local bar_customization;
function module_visibility_customization.draw(cached_config)
local changed = false;
local config_changed = false;
changed, cached_config.small_monster_UI = imgui.checkbox(
language.current_language.customization_menu.small_monster_UI,
cached_config.small_monster_UI);
config_changed = config_changed or changed;
changed, cached_config.large_monster_dynamic_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_dynamic_UI,
cached_config.large_monster_dynamic_UI);
config_changed = config_changed or changed;
changed, cached_config.large_monster_static_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_static_UI,
cached_config.large_monster_static_UI);
config_changed = config_changed or changed;
changed, cached_config.large_monster_highlighted_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_highlighted_UI,
cached_config.large_monster_highlighted_UI);
config_changed = config_changed or changed;
changed, cached_config.time_UI = imgui.checkbox(
language.current_language.customization_menu.time_UI,
cached_config.time_UI);
config_changed = config_changed or changed;
changed, cached_config.damage_meter_UI = imgui.checkbox(
language.current_language.customization_menu.damage_meter_UI,
cached_config.damage_meter_UI);
config_changed = config_changed or changed;
changed, cached_config.endemic_life_UI = imgui.checkbox(
language.current_language.customization_menu.endemic_life_UI,
cached_config.endemic_life_UI);
config_changed = config_changed or changed;
return config_changed;
end
function module_visibility_customization.init_module()
table_helpers = require("MHR_Overlay.Misc.table_helpers");
language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config");
screen = require("MHR_Overlay.Game_Handler.screen");
player = require("MHR_Overlay.Damage_Meter.player");
small_monster = require("MHR_Overlay.Monsters.small_monster");
large_monster = require("MHR_Overlay.Monsters.large_monster");
env_creature = require("MHR_Overlay.Endemic_Life.env_creature");
part_names = require("MHR_Overlay.Misc.part_names");
time_UI = require("MHR_Overlay.UI.Modules.time_UI");
keyboard = require("MHR_Overlay.Game_Handler.keyboard");
customization_menu = require("MHR_Overlay.UI.customization_menu");
end
return module_visibility_customization;

View File

@@ -77,7 +77,7 @@ function damage_meter_UI.draw()
local quest_players = {};
if damage_meter_UI.freeze_displayed_players and damage_meter_UI.last_displayed_players ~= {} then
quest_players = damage_meter_UI.last_displayed_players;
elseif quest_status.index < 2 then
elseif quest_status.flow_state == quest_status.flow_states.IN_LOBBY or quest_status.flow_state == quest_status.flow_states.IN_TRAINING_AREA then
local player_info_list = hunter_info_field:get_data(singletons.lobby_manager);
quest_players = damage_meter_UI.get_players(player_info_list);
else

View File

@@ -143,6 +143,10 @@ function large_monster_UI.draw_dynamic(displayed_monsters, highlighted_monster,
break
end
if monster.id == 549 or monster.id == 25 or monster.id == 2073 then
goto continue
end
if monster.dead_or_captured and cached_config.settings.hide_dead_or_captured then
goto continue
end

View File

@@ -23,6 +23,7 @@ local rage_customization;
local body_parts_customization;
local ailments_customization;
local ailment_buildups_customization;
local module_visibility_customization;
customization_menu.font = nil;
customization_menu.font_range = {0x1, 0xFFFF, 0};
@@ -759,129 +760,111 @@ function customization_menu.draw_global_settings()
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.module_visibility_on_different_screens) then
if imgui.tree_node(language.current_language.customization_menu.during_quest) then
changed, cached_config.module_visibility.during_quest.small_monster_UI =
imgui.checkbox(language.current_language.customization_menu.small_monster_UI,
cached_config.module_visibility.during_quest.small_monster_UI);
if imgui.tree_node(language.current_language.customization_menu.module_visibility_based_on_game_state) then
if imgui.tree_node(language.current_language.customization_menu.in_lobby) then
config_changed = config_changed or changed;
changed, cached_config.module_visibility.during_quest.large_monster_dynamic_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_dynamic_UI,
cached_config.module_visibility.during_quest.large_monster_dynamic_UI);
config_changed = config_changed or changed;
imgui.same_line();
changed, cached_config.module_visibility.during_quest.large_monster_static_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_static_UI,
cached_config.module_visibility.during_quest.large_monster_static_UI);
config_changed = config_changed or changed;
changed, cached_config.module_visibility.during_quest.large_monster_highlighted_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_highlighted_UI,
cached_config.module_visibility.during_quest.large_monster_highlighted_UI);
config_changed = config_changed or changed;
changed, cached_config.module_visibility.during_quest.time_UI =
imgui.checkbox(language.current_language.customization_menu.time_UI,
cached_config.module_visibility.during_quest.time_UI);
config_changed = config_changed or changed;
imgui.same_line();
changed, cached_config.module_visibility.during_quest.damage_meter_UI =
imgui.checkbox(language.current_language.customization_menu.damage_meter_UI,
cached_config.module_visibility.during_quest.damage_meter_UI);
config_changed = config_changed or changed;
changed, cached_config.module_visibility.during_quest.endemic_life_UI =
imgui.checkbox(language.current_language.customization_menu.endemic_life_UI,
cached_config.module_visibility.during_quest.endemic_life_UI);
changed, cached_config.module_visibility.in_lobby.endemic_life_UI = imgui.checkbox(
language.current_language.customization_menu.endemic_life_UI,
cached_config.module_visibility.in_lobby.endemic_life_UI);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.quest_result_screen) then
changed, cached_config.module_visibility.quest_result_screen.small_monster_UI = imgui.checkbox(
language.current_language.customization_menu.small_monster_UI,
cached_config.module_visibility.quest_result_screen.small_monster_UI);
if imgui.tree_node(language.current_language.customization_menu.in_training_area) then
config_changed = config_changed or changed;
changed, cached_config.module_visibility.quest_result_screen.large_monster_dynamic_UI = imgui.checkbox(
changed, cached_config.module_visibility.in_training_area.large_monster_dynamic_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_dynamic_UI,
cached_config.module_visibility.quest_result_screen.large_monster_dynamic_UI);
cached_config.module_visibility.in_training_area.large_monster_dynamic_UI);
config_changed = config_changed or changed;
imgui.same_line();
changed, cached_config.module_visibility.quest_result_screen.large_monster_static_UI = imgui.checkbox(
changed, cached_config.module_visibility.in_training_area.large_monster_static_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_static_UI,
cached_config.module_visibility.quest_result_screen.large_monster_static_UI);
cached_config.module_visibility.in_training_area.large_monster_static_UI);
config_changed = config_changed or changed;
changed, cached_config.module_visibility.quest_result_screen.large_monster_highlighted_UI = imgui.checkbox(
changed, cached_config.module_visibility.in_training_area.large_monster_highlighted_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_highlighted_UI,
cached_config.module_visibility.quest_result_screen.large_monster_highlighted_UI);
cached_config.module_visibility.in_training_area.large_monster_highlighted_UI);
config_changed = config_changed or changed;
changed, cached_config.module_visibility.quest_result_screen.time_UI =
imgui.checkbox(language.current_language.customization_menu.time_UI,
cached_config.module_visibility.quest_result_screen.time_UI);
config_changed = config_changed or changed;
imgui.same_line();
changed, cached_config.module_visibility.quest_result_screen.damage_meter_UI = imgui.checkbox(
changed, cached_config.module_visibility.in_training_area.damage_meter_UI = imgui.checkbox(
language.current_language.customization_menu.damage_meter_UI,
cached_config.module_visibility.quest_result_screen.damage_meter_UI);
cached_config.module_visibility.in_training_area.damage_meter_UI);
config_changed = config_changed or changed;
changed, cached_config.module_visibility.during_quest.endemic_life_UI =
imgui.checkbox(language.current_language.customization_menu.endemic_life_UI,
cached_config.module_visibility.during_quest.endemic_life_UI);
changed, cached_config.module_visibility.in_training_area.endemic_life_UI = imgui.checkbox(
language.current_language.customization_menu.endemic_life_UI,
cached_config.module_visibility.in_training_area.endemic_life_UI);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.training_area) then
changed, cached_config.module_visibility.training_area.large_monster_dynamic_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_dynamic_UI,
cached_config.module_visibility.training_area.large_monster_dynamic_UI);
if imgui.tree_node(language.current_language.customization_menu.cutscene) then
changed = module_visibility_customization.draw(cached_config.module_visibility.cutscene);
config_changed = config_changed or changed;
imgui.same_line();
changed, cached_config.module_visibility.training_area.large_monster_static_UI = imgui.checkbox(
language.current_language.customization_menu.large_monster_static_UI,
cached_config.module_visibility.training_area.large_monster_static_UI);
config_changed = config_changed or changed;
changed, cached_config.module_visibility.training_area.damage_meter_UI =
imgui.checkbox(language.current_language.customization_menu.damage_meter_UI,
cached_config.module_visibility.training_area.damage_meter_UI);
config_changed = config_changed or changed;
changed, cached_config.module_visibility.during_quest.endemic_life_UI =
imgui.checkbox(language.current_language.customization_menu.endemic_life_UI,
cached_config.module_visibility.during_quest.endemic_life_UI);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.loading_quest) then
changed = module_visibility_customization.draw(cached_config.module_visibility.loading_quest);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.quest_start_animation) then
changed = module_visibility_customization.draw(cached_config.module_visibility.quest_start_animation);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.playing_quest) then
changed = module_visibility_customization.draw(cached_config.module_visibility.playing_quest);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.killcam) then
changed = module_visibility_customization.draw(cached_config.module_visibility.killcam);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.quest_end_timer) then
changed = module_visibility_customization.draw(cached_config.module_visibility.quest_end_timer);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.quest_end_animation) then
changed = module_visibility_customization.draw(cached_config.module_visibility.quest_end_animation);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.quest_end_screen) then
changed = module_visibility_customization.draw(cached_config.module_visibility.quest_end_screen);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.reward_screen) then
changed = module_visibility_customization.draw(cached_config.module_visibility.reward_screen);
config_changed = config_changed or changed;
imgui.tree_pop();
end
if imgui.tree_node(language.current_language.customization_menu.summary_screen) then
changed = module_visibility_customization.draw(cached_config.module_visibility.summary_screen);
config_changed = config_changed or changed;
imgui.tree_pop();
end
imgui.tree_pop();
end
@@ -2018,6 +2001,7 @@ function customization_menu.init_module()
body_parts_customization = require("MHR_Overlay.UI.Customizations.body_parts_customization");
ailments_customization = require("MHR_Overlay.UI.Customizations.ailments_customization");
ailment_buildups_customization = require("MHR_Overlay.UI.Customizations.ailment_buildups_customization");
module_visibility_customization = require("MHR_Overlay.UI.Customizations.module_visibility_customization");
customization_menu.init();
customization_menu.reload_font(false);