diff --git a/reframework/autorun/MHR_Overlay/Game_Handler/time.lua b/reframework/autorun/MHR_Overlay/Game_Handler/time.lua index 6b39a1f..0ae24b4 100644 --- a/reframework/autorun/MHR_Overlay/Game_Handler/time.lua +++ b/reframework/autorun/MHR_Overlay/Game_Handler/time.lua @@ -1,6 +1,7 @@ local time = {}; local singletons; local customization_menu; +local quest_status; local player; local config; local small_monster; @@ -47,28 +48,25 @@ function time.tick() if time.total_elapsed_script_seconds - time.last_elapsed_script_seconds > 1 then time.last_elapsed_script_seconds = time.total_elapsed_script_seconds; time.update_players_dps(); - --time.update_small_monsters(); end end function time.update_players_dps() local cached_config = config.current_config.damage_meter_UI.settings; - - local myself_updated = false; + + if cached_config.freeze_dps_on_quest_clear and quest_status.is_quest_clear then + return; + end local new_total_dps = 0; for _, _player in pairs(player.list) do - if _player == player.myself then - myself_updated = true; - end - if _player.join_time == -1 then _player.join_time = time.total_elapsed_script_seconds; end if cached_config.dps_mode == "Quest Time" then if time.total_elapsed_seconds > 0 then - player.myself.dps = player.myself.display.total_damage / time.total_elapsed_seconds; + _player.dps = _player.display.total_damage / time.total_elapsed_seconds; end elseif cached_config.dps_mode == "Join Time" then if time.total_elapsed_script_seconds - _player.join_time > 0 then @@ -82,45 +80,17 @@ function time.update_players_dps() new_total_dps = new_total_dps + _player.dps; end - - if not myself_updated then - if player.myself.join_time == -1 then - player.myself.join_time = time.total_elapsed_script_seconds; - end - - if cached_config.dps_mode == "Quest Time" then - if time.total_elapsed_seconds > 0 then - player.myself.dps = player.myself.display.total_damage / time.total_elapsed_seconds; - end - elseif cached_config.dps_mode == "Join Time" then - if time.total_elapsed_script_seconds - player.myself.join_time > 0 then - player.myself.dps = player.myself.display.total_damage / (time.total_elapsed_script_seconds - player.myself.join_time); - end - elseif cached_config.dps_mode == "First Hit" then - if time.total_elapsed_script_seconds - player.myself.first_hit_time > 0 then - player.myself.dps = player.myself.display.total_damage / (time.total_elapsed_script_seconds - player.myself.first_hit_time); - end - end - - new_total_dps = new_total_dps + player.myself.dps; - end player.total.dps = new_total_dps; end -function time.update_small_monsters() - for enemy, monster in pairs(small_monster.list) do - small_monster.update(enemy, monster); - end -end - function time.init_module() player = require("MHR_Overlay.Damage_Meter.player"); singletons = require("MHR_Overlay.Game_Handler.singletons"); customization_menu = require("MHR_Overlay.UI.customization_menu"); - time = require("MHR_Overlay.Game_Handler.time"); config = require("MHR_Overlay.Misc.config"); small_monster = require("MHR_Overlay.Monsters.small_monster"); + quest_status = require("MHR_Overlay.Game_Handler.quest_status"); end return time; \ No newline at end of file diff --git a/reframework/autorun/MHR_Overlay/Misc/config.lua b/reframework/autorun/MHR_Overlay/Misc/config.lua index 50b686b..a9357d1 100644 --- a/reframework/autorun/MHR_Overlay/Misc/config.lua +++ b/reframework/autorun/MHR_Overlay/Misc/config.lua @@ -3740,21 +3740,26 @@ function config.init() }, settings = { - orientation = "Vertical", -- "Vertical" or "Horizontal" + + + hide_myself = false, + hide_other_players = false, + hide_total_damage = false, hide_module_if_total_damage_is_zero = false, hide_player_if_player_damage_is_zero = false, hide_total_if_total_damage_is_zero = false, total_damage_offset_is_relative = true, + + freeze_dps_on_quest_clear = true, + orientation = "Vertical", -- "Vertical" or "Horizontal" highlighted_bar = "Me", damage_bar_relative_to = "Top Damage", -- "total damage" or "top damage" my_damage_bar_location = "First", -- "normal" or "first" or "last" dps_mode = "First Hit", - hide_myself = false, - hide_other_players = false, - hide_total_damage = false, + player_name_size_limit = 150 }, diff --git a/reframework/autorun/MHR_Overlay/Misc/language.lua b/reframework/autorun/MHR_Overlay/Misc/language.lua index 45e1fbf..8614a85 100644 --- a/reframework/autorun/MHR_Overlay/Misc/language.lua +++ b/reframework/autorun/MHR_Overlay/Misc/language.lua @@ -382,6 +382,8 @@ language.default_language = { prioritize_large_monsters = "Large Monsters on High Priority", max_monster_updates_per_tick = "Max Monster Updates per Tick", + + freeze_dps_on_quest_clear = "Freeze DPS when Quest is cleared" } }; diff --git a/reframework/autorun/MHR_Overlay/UI/customization_menu.lua b/reframework/autorun/MHR_Overlay/UI/customization_menu.lua index c7a114d..1da78e7 100644 --- a/reframework/autorun/MHR_Overlay/UI/customization_menu.lua +++ b/reframework/autorun/MHR_Overlay/UI/customization_menu.lua @@ -15018,6 +15018,12 @@ function customization_menu.draw() config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; + changed, config.current_config.damage_meter_UI.settings.freeze_dps_on_quest_clear = imgui.checkbox( + language.current_language.customization_menu.freeze_dps_on_quest_clear, + config.current_config.damage_meter_UI.settings.freeze_dps_on_quest_clear); + config_changed = config_changed or changed; + damage_meter_UI_changed = damage_meter_UI_changed or changed; + changed, customization_menu.damage_meter_UI_orientation_index = imgui.combo(language.current_language.customization_menu .orientation, customization_menu.damage_meter_UI_orientation_index, customization_menu.displayed_orientation_types); diff --git a/reframework/data/MHR Overlay/languages/en-us.json b/reframework/data/MHR Overlay/languages/en-us.json index b4d70af..f4264df 100644 --- a/reframework/data/MHR Overlay/languages/en-us.json +++ b/reframework/data/MHR Overlay/languages/en-us.json @@ -17,7 +17,7 @@ "blast": "Blast", "dung_bomb": "Dung Bomb", "exhaust": "Exhaust", - "fall_otomo_trap": "Fall Otomo Trap", + "fall_otomo_trap": "Fall Buddy Trap", "fall_trap": "Fall Trap", "fireblight": "Fireblight", "flash": "Flash", @@ -26,7 +26,7 @@ "poison": "Poison", "quick_sand": "Quick Sand", "ride": "Wyvern Riding", - "shock_otomo_trap": "Shock Otomo Trap", + "shock_otomo_trap": "Shock Buddy Trap", "shock_trap": "Shock Trap", "sleep": "Sleep", "steel_fang": "Steel Fang", @@ -98,6 +98,7 @@ "first_hit": "First Hit", "flinch_count": "Flinch Count", "foreground": "Foreground", + "freeze_dps_on_quest_clear": "Freeze DPS when Quest is cleared", "global_position_modifier": "Global Position Modifier", "global_scale_modifier": "Global Scale Modifier", "global_settings": "Global Settings", @@ -164,7 +165,7 @@ "orientation": "Orientation", "other_damage": "Other Damage", "other_players": "Other Players", - "otomo_damage": "Otomo Damage", + "otomo_damage": "Buddy Damage", "part_health": "Part Health", "part_name": "Part Name", "part_name_label": "Part Name Label", diff --git a/reframework/data/MHR Overlay/languages/ko-kr.json b/reframework/data/MHR Overlay/languages/ko-kr.json index 306d130..af71ebd 100644 --- a/reframework/data/MHR Overlay/languages/ko-kr.json +++ b/reframework/data/MHR Overlay/languages/ko-kr.json @@ -98,6 +98,7 @@ "first_hit": "첫 공격", "flinch_count": "경직 횟수", "foreground": "전경색", + "freeze_dps_on_quest_clear": "Freeze DPS when Quest is cleared", "global_position_modifier": "전역 위치 배율", "global_scale_modifier": "전역 크기 배율", "global_settings": "전역 설정", diff --git a/reframework/data/MHR Overlay/languages/ru-ru.json b/reframework/data/MHR Overlay/languages/ru-ru.json index beb5360..33bd3a0 100644 --- a/reframework/data/MHR Overlay/languages/ru-ru.json +++ b/reframework/data/MHR Overlay/languages/ru-ru.json @@ -98,6 +98,7 @@ "first_hit": "Первый удар", "flinch_count": "Кол-во вздрагиваний", "foreground": "Передний план", + "freeze_dps_on_quest_clear": "Заморозить УВС после завершения квеста", "global_position_modifier": "Глобальный модификатор расположения", "global_scale_modifier": "Глобальный модификатор размера", "global_settings": "Общие настройки", @@ -239,7 +240,7 @@ "font_name": "NotoSansKR-Bold.otf", "parts": { "abdomen": "Брюхо", - "antenna": "Antenna", + "antenna": "Антернна", "arms": "Передние лапы", "arms_mud": "Передние лапы (в грязи)", "back": "Спина", @@ -247,49 +248,49 @@ "body": "Тело", "body_mud": "Тело (в грязи)", "carapace": "Панцирь", - "chest": "Chest", + "chest": "Грудь", "chest_windsac": "Грудь (мешочек)", "claw": "Когти", "crest": "Crest", "dorsal_fin": "Спинной плавник", - "foreleg": "Foreleg", - "forelegs": "Forelegs", + "foreleg": "Передняя лапа", + "forelegs": "Передние лапы", "head": "Голова", "head_mud": "Голова (в грязи)", - "hind_leg": "Hind Leg", - "hind_legs": "Hind Legs", + "hind_leg": "Задняя лапа", + "hind_legs": "Задние лапы", "large_mudbulb": "Большой мешочек грязи", "left_arm": "Передняя лапа Л", "left_arm_ice": "Передняя лапа Л (во льду)", "left_claw": "Клешня Л", "left_cutwing": "Крыло Л", - "left_foreleg": "Foreleg L", - "left_hind_leg": "Hind Leg L", + "left_foreleg": "Передняя лапа Л", + "left_hind_leg": "Задня лапа Л", "left_leg": "Задняя лапа Л", "left_leg_mud": "Задняя лапа Л (в грязи)", "left_legs": "Левые лапы", "left_wing": "Крыло Л", - "left_wingclaw": "Wingclaw L", + "left_wingclaw": "Крыло-коготь Л", "legs": "Задние лапы", "lower_back": "Нижняя часть спины", "lower_body": "Нижняя часть тела", "mane": "Грива", - "mudbulb": "Mudbulb", + "mudbulb": "Мешочек грязи", "neck": "Шея", "rear": "Зад", "right_arm": "Передняя лапа П", "right_arm_ice": "Передняя лапа П (во льду)", "right_claw": "Клешня П", "right_cutwing": "Крыло П", - "right_foreleg": "Foreleg R", - "right_hind_leg": "Hind Leg R", + "right_foreleg": "Передняя лапа П", + "right_hind_leg": "Задняя лапа П", "right_leg": "Задняя лапа П", "right_leg_mud": "Задняя лапа П (в грязи)", "right_legs": "Правые лапы", "right_wing": "Крыло П", - "right_wingclaw": "Wingclaw R", + "right_wingclaw": "Крыло-коготь П", "rock": "Камень", - "shell": "Shell", + "shell": "Панцирь", "spinning": "Вращение", "tail": "Хвост", "tail_mud": "Хвост (в грязи)", @@ -300,8 +301,8 @@ "unknown": "?", "upper_back": "Верхняя часть спины", "upper_body": "Верхняя часть тела", - "wingclaw": "Wingclaw", - "wingclaws": "Wingclaws", + "wingclaw": "Крыло-коготь", + "wingclaws": "Крыло-коготь", "wings": "Крылья" } } \ No newline at end of file diff --git a/reframework/data/MHR Overlay/languages/zh-cn.json b/reframework/data/MHR Overlay/languages/zh-cn.json index 1c6b4df..b8990ed 100644 --- a/reframework/data/MHR Overlay/languages/zh-cn.json +++ b/reframework/data/MHR Overlay/languages/zh-cn.json @@ -98,6 +98,7 @@ "first_hit": "第一击", "flinch_count": "胆怯次数", "foreground": "前景", + "freeze_dps_on_quest_clear": "Freeze DPS when Quest is cleared", "global_position_modifier": "全局位置更改", "global_scale_modifier": "全局比例更改", "global_settings": "全局设定", diff --git a/reframework/data/MHR Overlay/languages/zh-tw.json b/reframework/data/MHR Overlay/languages/zh-tw.json index 523ac7a..ba67778 100644 --- a/reframework/data/MHR Overlay/languages/zh-tw.json +++ b/reframework/data/MHR Overlay/languages/zh-tw.json @@ -98,6 +98,7 @@ "first_hit": "第一擊", "flinch_count": "膽怯次數", "foreground": "圖形化顯示條的底色", + "freeze_dps_on_quest_clear": "Freeze DPS when Quest is cleared", "global_position_modifier": "全域位置更改", "global_scale_modifier": "全域比例更改", "global_settings": "全域設定",