diff --git a/reframework/autorun/MHR_Overlay/Damage_Meter/damage_hook.lua b/reframework/autorun/MHR_Overlay/Damage_Meter/damage_hook.lua index 4041923..719d99d 100644 --- a/reframework/autorun/MHR_Overlay/Damage_Meter/damage_hook.lua +++ b/reframework/autorun/MHR_Overlay/Damage_Meter/damage_hook.lua @@ -29,44 +29,15 @@ local get_condition_type3_method = enemy_calc_damage_info_type_def:get_method("g local stock_mystery_core_break_damage_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase.stockMysteryCoreBreakDamage"); +local quest_manager_type_def = sdk.find_type_definition("snow.QuestManager"); -local types = { - [0] = "PlayerWeapon", - [1] = "BarrelBombLarge", - [2] = "Makimushi", - [3] = "Nitro", - [4] = "OnibiMine", - [5] = "BallistaHate", - [6] = "CaptureSmokeBomb", - [7] = "CaptureBullet", - [8] = "BarrelBombSmall", - [9] = "Kunai", - [10] = "WaterBeetle", - [11] = "DetonationGrenade", - [12] = "Kabutowari", - [13] = "FlashBoll", -- Flash Bomb - [14] = "HmBallista", - [15] = "HmCannon", - [16] = "HmGatling", - [17] = "HmTrap", - [18] = "HmNpc", - [19] = "HmFlameThrower", - [20] = "HmDragnator", - [21] = "Otomo", - [22] = "OtAirouShell014", - [23] = "OtAirouShell102", - [24] = "Fg005", - [25] = "EcBatExplode", - [26] = "EcWallTrapBugExplode", - [27] = "EcPiranha", - [28] = "EcFlash", - [29] = "EcSandWallShooter", - [30] = "EcForestWallShooter", - [31] = "EcSwampLeech", - [32] = "EcPenetrateFish", - [33] = "Max", - [34] = "Invalid" -} +local not_host_cart_method = quest_manager_type_def:get_method("netRecvForfeit"); +local host_cart_method = quest_manager_type_def:get_method("netSendForfeit"); +local offline_cart_method = quest_manager_type_def:get_method("notifyDeath"); + +local packet_quest_forfeit_type_def = sdk.find_type_definition("snow.QuestManager.PacketQuestForfeit"); +local dead_player_id_field = packet_quest_forfeit_type_def:get_field("_DeadPlIndex"); +local is_from_host_field = packet_quest_forfeit_type_def:get_field("_IsFromQuestHostPacket"); function damage_hook.get_damage_source_type(damage_source_type_id, is_marionette_attack) if is_marionette_attack then @@ -213,8 +184,33 @@ function damage_hook.update_damage(enemy, enemy_calc_damage_info) player.update_damage(attacking_player, damage_source_type, is_large_monster, damage_object); end -function damage_hook.on_mystery_core_break(enemy) +--function damage_hook.on_mystery_core_break(enemy) +--end + +-- Coavins code +function damage_hook.cart(type, args) + if not quest_status.is_online then --We reach here with notifyDeath when player is offline + player.myself.cart_count = player.myself.cart_count + 1; + return; + end + + if player.myself.id == 0 then -- If player is host, netSendForfeit is always correct + if type == "host" then + local player_id = sdk.to_int64(args[3]); + player.list[player_id].cart_count = player.list[player_id].cart_count + 1; + end + else + if type == "not host" then + local packet_quest_forfeit = sdk.to_managed_object(args[3]); + local player_id = dead_player_id_field:get_data(packet_quest_forfeit); + local is_from_host = is_from_host_field:get_data(packet_quest_forfeit) + + if is_from_host then -- Data is sent twice, 1 from host and 1 from dead player. Check if from host to only add 1 + player.list[player_id].cart_count = player.list[player_id].cart_count + 1; + end + end + end end function damage_hook.init_module() @@ -230,11 +226,29 @@ function damage_hook.init_module() return retval; end); - sdk.hook(stock_mystery_core_break_damage_type_def, function(args) - pcall(damage_hook.on_mystery_core_break, sdk.to_managed_object(args[2])); + sdk.hook(not_host_cart_method, function(args) + pcall(damage_hook.cart, "not host", args); end, function(retval) return retval; end); + + sdk.hook(host_cart_method, function(args) + pcall(damage_hook.cart, "host", args); + end, function(retval) + return retval; + end); + + sdk.hook(offline_cart_method, function(args) + pcall(damage_hook.cart, "offline", args); + end, function(retval) + return retval; + end); + + --sdk.hook(stock_mystery_core_break_damage_type_def, function(args) + -- pcall(damage_hook.on_mystery_core_break, sdk.to_managed_object(args[2])); + --end, function(retval) + -- return retval; + --end); end return damage_hook; \ No newline at end of file diff --git a/reframework/autorun/MHR_Overlay/Game_Handler/time.lua b/reframework/autorun/MHR_Overlay/Game_Handler/time.lua index ab274e6..40d084a 100644 --- a/reframework/autorun/MHR_Overlay/Game_Handler/time.lua +++ b/reframework/autorun/MHR_Overlay/Game_Handler/time.lua @@ -3,6 +3,7 @@ local singletons; local customization_menu; local player; local config; +local small_monster; local quest_manager_type_def = sdk.find_type_definition("snow.QuestManager"); local get_quest_elapsed_time_min_method = quest_manager_type_def:get_method("getQuestElapsedTimeMin"); @@ -12,9 +13,16 @@ time.total_elapsed_seconds = 0; time.elapsed_minutes = 0; time.elapsed_seconds = 0; -time.last_elapsed_seconds = 0; +time.total_elapsed_script_seconds = 0; +time.last_elapsed_script_seconds = 0; + +function time.update_script_time() + time.total_elapsed_script_seconds = os.clock(); +end function time.tick() + time.update_script_time(); + if singletons.quest_manager == nil then return; end @@ -36,9 +44,10 @@ function time.tick() time.total_elapsed_seconds = quest_time_total_elapsed_seconds; time.elapsed_seconds = quest_time_total_elapsed_seconds - quest_time_elapsed_minutes * 60; - if time.total_elapsed_seconds - time.last_elapsed_seconds > 60 / config.current_config.global_settings.performance.updates_rate then - time.last_elapsed_seconds = time.total_elapsed_seconds; + if time.total_elapsed_script_seconds - time.last_elapsed_script_seconds > config.current_config.global_settings.performance.update_rate then + time.last_elapsed_script_seconds = time.total_elapsed_script_seconds; time.update_players_dps(); + time.update_small_monsters(); end end @@ -48,20 +57,20 @@ function time.update_players_dps() local new_total_dps = 0; for _, _player in pairs(player.list) do if _player.join_time == -1 then - _player.join_time = time.total_elapsed_seconds; + _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.dps = _player.display.total_damage / time.total_elapsed_seconds; + if time.total_elapsed_script_seconds > 0 then + _player.dps = _player.display.total_damage / time.total_elapsed_script_seconds; end elseif cached_config.dps_mode == "Join Time" then - if time.total_elapsed_seconds - _player.join_time > 0 then - _player.dps = _player.display.total_damage / (time.total_elapsed_seconds - _player.join_time); + if time.total_elapsed_script_seconds - _player.join_time > 0 then + _player.dps = _player.display.total_damage / (time.total_elapsed_script_seconds - _player.join_time); end elseif cached_config.dps_mode == "First Hit" then - if time.total_elapsed_seconds - _player.first_hit_time > 0 then - _player.dps = _player.display.total_damage / (time.total_elapsed_seconds - _player.first_hit_time); + if time.total_elapsed_script_seconds - _player.first_hit_time > 0 then + _player.dps = _player.display.total_damage / (time.total_elapsed_script_seconds - _player.first_hit_time); end else end @@ -72,12 +81,19 @@ function time.update_players_dps() 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"); 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 da8d155..28c1c38 100644 --- a/reframework/autorun/MHR_Overlay/Misc/config.lua +++ b/reframework/autorun/MHR_Overlay/Misc/config.lua @@ -3777,6 +3777,7 @@ function config.init() myself = { master_rank = true, hunter_rank = true, + cart_count = false, word_player = false, player_id = false, player_name = true @@ -3785,6 +3786,7 @@ function config.init() others = { master_rank = true, hunter_rank = true, + cart_count = false, word_player = false, player_id = false, player_name = true @@ -3840,6 +3842,26 @@ function config.init() } }, + cart_count_label = { + visibility = false, + + text = "x%d", + offset = { + x = 315, + y = 0 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + dps_label = { visibility = true, text = "%.1f", diff --git a/reframework/autorun/MHR_Overlay/Misc/language.lua b/reframework/autorun/MHR_Overlay/Misc/language.lua index e052d72..a5b38c3 100644 --- a/reframework/autorun/MHR_Overlay/Misc/language.lua +++ b/reframework/autorun/MHR_Overlay/Misc/language.lua @@ -378,7 +378,9 @@ language.default_language = { player_name_size_limit = "Player Name Size Limit", - update_rate = "Update Rate" + update_rate = "Update Rate", + cart_count = "Cart Count", + cart_count_label = "Cart Count Label", } }; diff --git a/reframework/autorun/MHR_Overlay/Monsters/body_part.lua b/reframework/autorun/MHR_Overlay/Monsters/body_part.lua index 501af6e..c261cad 100644 --- a/reframework/autorun/MHR_Overlay/Monsters/body_part.lua +++ b/reframework/autorun/MHR_Overlay/Monsters/body_part.lua @@ -337,7 +337,6 @@ function body_part.draw_static(monster, parts_position_on_screen, opacity_scale) and ((part.loss_health == part.loss_max_health and not part.is_severed) or part.loss_max_health < 0) then goto continue; end - if (not part.body_part_static_UI.flinch_visibility or part.max_health < 0) and (not part.body_part_static_UI.break_visibility or part.break_max_health < 0 or part.break_count >= part.break_max_count) and (not part.body_part_static_UI.loss_visibility or part.loss_max_health < 0 or part.is_severed) then @@ -348,6 +347,7 @@ function body_part.draw_static(monster, parts_position_on_screen, opacity_scale) goto continue; end + table.insert(displayed_parts, part); ::continue:: end diff --git a/reframework/autorun/MHR_Overlay/Monsters/large_monster.lua b/reframework/autorun/MHR_Overlay/Monsters/large_monster.lua index b593932..7dc90ee 100644 --- a/reframework/autorun/MHR_Overlay/Monsters/large_monster.lua +++ b/reframework/autorun/MHR_Overlay/Monsters/large_monster.lua @@ -895,7 +895,7 @@ function large_monster.draw_static(monster, position_on_screen, opacity_scale) else monster.health_static_UI.bar.colors = cached_config.health.bar.normal_colors; end - + drawing.draw_label(monster.static_name_label, position_on_screen, opacity_scale, monster_name_text); local health_position_on_screen = { @@ -933,7 +933,7 @@ function large_monster.draw_static(monster, position_on_screen, opacity_scale) stamina_UI_entity.draw(monster, monster.stamina_static_UI, stamina_position_on_screen, opacity_scale); rage_UI_entity.draw(monster, monster.rage_static_UI, rage_position_on_screen, opacity_scale); - + local last_part_position_on_screen = body_part.draw_static(monster, parts_position_on_screen, opacity_scale); if cached_config.ailments.settings.offset_is_relative_to_parts then diff --git a/reframework/autorun/MHR_Overlay/UI/Modules/large_monster_UI.lua b/reframework/autorun/MHR_Overlay/UI/Modules/large_monster_UI.lua index 303da8b..efb561b 100644 --- a/reframework/autorun/MHR_Overlay/UI/Modules/large_monster_UI.lua +++ b/reframework/autorun/MHR_Overlay/UI/Modules/large_monster_UI.lua @@ -89,7 +89,6 @@ function large_monster_UI.draw(dynamic_enabled, static_enabled, highlighted_enab if static_enabled then large_monster_UI.draw_static(displayed_monsters, highlighted_monster); end - end function large_monster_UI.draw_dynamic(displayed_monsters, highlighted_monster) diff --git a/reframework/autorun/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua b/reframework/autorun/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua index b128647..5dcd76b 100644 --- a/reframework/autorun/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua +++ b/reframework/autorun/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua @@ -5,7 +5,7 @@ local config; local player; local language; -function damage_UI_entity.new(bar, highlighted_bar, player_name_label, dps_label, hunter_rank_label, value_label, percentage_label) +function damage_UI_entity.new(bar, highlighted_bar, player_name_label, dps_label, hunter_rank_label, value_label, percentage_label, cart_count_label) local entity = {}; local global_scale_modifier = config.current_config.global_settings.modifiers.global_scale_modifier; @@ -16,6 +16,7 @@ function damage_UI_entity.new(bar, highlighted_bar, player_name_label, dps_label entity.player_name_label = table_helpers.deep_copy(player_name_label); entity.dps_label = table_helpers.deep_copy(dps_label); entity.hunter_rank_label = table_helpers.deep_copy(hunter_rank_label); + entity.cart_count_label = table_helpers.deep_copy(cart_count_label); entity.value_label = table_helpers.deep_copy(value_label); entity.percentage_label = table_helpers.deep_copy(percentage_label); @@ -40,6 +41,9 @@ function damage_UI_entity.new(bar, highlighted_bar, player_name_label, dps_label entity.hunter_rank_label.offset.x = entity.hunter_rank_label.offset.x * global_scale_modifier; entity.hunter_rank_label.offset.y = entity.hunter_rank_label.offset.y * global_scale_modifier; + entity.cart_count_label.offset.x = entity.cart_count_label.offset.x * global_scale_modifier; + entity.cart_count_label.offset.y = entity.cart_count_label.offset.y * global_scale_modifier; + entity.value_label.offset.x = entity.value_label.offset.x * global_scale_modifier; entity.value_label.offset.y = entity.value_label.offset.y * global_scale_modifier; @@ -67,6 +71,11 @@ function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_d player_name_text = string.format("[%d] ", _player.hunter_rank); end + if player_include.cart_count then + player_name_text = player_name_text .. string.format("x%d ", _player.cart_count); + end + + if player_include.word_player then player_name_text = player_name_text .. language.current_language.UI.player .. " "; end @@ -125,12 +134,15 @@ function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_d end end - player_name_text = drawing.limit_text_size(player_name_text, _player.damage_UI.player_name_size_limit); + if _player.damage_UI.player_name_size_limit ~= 0 then + player_name_text = drawing.limit_text_size(player_name_text, _player.damage_UI.player_name_size_limit); + end drawing.draw_label(_player.damage_UI.player_name_label, position_on_screen, opacity_scale, player_name_text); drawing.draw_label(_player.damage_UI.value_label, position_on_screen, opacity_scale, _player.display.total_damage); drawing.draw_label(_player.damage_UI.percentage_label, position_on_screen, opacity_scale, 100 * player_damage_percentage); drawing.draw_label(_player.damage_UI.dps_label, position_on_screen, opacity_scale, _player.dps); + drawing.draw_label(_player.damage_UI.cart_count_label, position_on_screen, opacity_scale, _player.cart_count); end function damage_UI_entity.init_module() diff --git a/reframework/autorun/MHR_Overlay/UI/customization_menu.lua b/reframework/autorun/MHR_Overlay/UI/customization_menu.lua index bcbcc4a..319d754 100644 --- a/reframework/autorun/MHR_Overlay/UI/customization_menu.lua +++ b/reframework/autorun/MHR_Overlay/UI/customization_menu.lua @@ -15249,6 +15249,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.player_name_label.include.myself.cart_count = imgui.checkbox( + language.current_language.customization_menu.cart_count, + config.current_config.damage_meter_UI.player_name_label.include.myself.cart_count); + 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.word_player = imgui.checkbox( language.current_language.customization_menu.word_player, config.current_config.damage_meter_UI.player_name_label.include.myself.word_player); @@ -15283,6 +15289,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.player_name_label.include.others.cart_count = imgui.checkbox( + language.current_language.customization_menu.cart_count, + config.current_config.damage_meter_UI.player_name_label.include.others.cart_count); + 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.word_player = imgui.checkbox( language.current_language.customization_menu.word_player, config.current_config.damage_meter_UI.player_name_label.include.others.word_player); @@ -15478,6 +15490,77 @@ function customization_menu.draw() imgui.tree_pop(); end + if imgui.tree_node(language.current_language.customization_menu.cart_count_label) then + changed, config.current_config.damage_meter_UI.cart_count_label.visibility = imgui.checkbox(language.current_language + .customization_menu.visible, + config.current_config.damage_meter_UI.cart_count_label.visibility); + config_changed = config_changed or changed; + damage_meter_UI_changed = damage_meter_UI_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.cart_count_label.offset.x = imgui.drag_float(language.current_language + .customization_menu.x, + config.current_config.damage_meter_UI.cart_count_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + config_changed = config_changed or changed; + damage_meter_UI_changed = damage_meter_UI_changed or changed; + + changed, config.current_config.damage_meter_UI.cart_count_label.offset.y = imgui.drag_float(language.current_language + .customization_menu.y, + config.current_config.damage_meter_UI.cart_count_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + config_changed = config_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.color) then + changed, config.current_config.damage_meter_UI.cart_count_label.color = imgui.color_picker_argb("", + config.current_config.damage_meter_UI.cart_count_label.color, customization_menu.color_picker_flags); + config_changed = config_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.shadow) then + changed, config.current_config.damage_meter_UI.cart_count_label.shadow.visibility = imgui.checkbox(language.current_language + .customization_menu.visible, + config.current_config.damage_meter_UI.cart_count_label.shadow.visibility); + config_changed = config_changed or changed; + damage_meter_UI_changed = damage_meter_UI_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.cart_count_label.shadow.offset.x = imgui.drag_float(language.current_language + .customization_menu.x, + config.current_config.damage_meter_UI.cart_count_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + config_changed = config_changed or changed; + damage_meter_UI_changed = damage_meter_UI_changed or changed; + + changed, config.current_config.damage_meter_UI.cart_count_label.shadow.offset.y = imgui.drag_float(language.current_language + .customization_menu.y, + config.current_config.damage_meter_UI.cart_count_label.shadow.offset.y, 0.1, -screen.height, screen.height, + "%.1f"); + config_changed = config_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.color) then + changed, config.current_config.damage_meter_UI.cart_count_label.shadow.color = imgui.color_picker_argb("", + config.current_config.damage_meter_UI.cart_count_label.shadow.color, customization_menu.color_picker_flags); + config_changed = config_changed or changed; + damage_meter_UI_changed = damage_meter_UI_changed or changed; + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + if imgui.tree_node(language.current_language.customization_menu.dps_label) then changed, config.current_config.damage_meter_UI.dps_label.visibility = imgui.checkbox(language.current_language.customization_menu .visible, diff --git a/reframework/data/MHR Overlay/languages/en-us.json b/reframework/data/MHR Overlay/languages/en-us.json index 5993a87..4357697 100644 --- a/reframework/data/MHR Overlay/languages/en-us.json +++ b/reframework/data/MHR Overlay/languages/en-us.json @@ -67,6 +67,8 @@ "buildup_percentage_label": "Buildup Percentage Label", "buildup_value_label": "Buildup Value Label", "capture_line": "Capture Line", + "cart_count": "Cart Count", + "cart_count_label": "Cart Count Label", "color": "Color", "colors": "Colors", "creature_name_label": "Creature Name Label", @@ -140,6 +142,7 @@ "loss_health_percentage": "Sever Health Percentage", "master_rank": "Master Rank", "max_distance": "Max Distance", + "max_monster_updates_per_tick": "Max Monster Updates per Tick", "me": "Me", "menu_font": "Menu Font", "menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!", @@ -176,6 +179,7 @@ "poison_damage": "Poison Damage", "position": "Position", "press_any_key": "Press any key...", + "prioritize_large_monsters": "Large Monsters on High Priority", "quest_result_screen": "Quest Result Screen", "quest_time": "Quest Time", "rage": "Rage", diff --git a/reframework/data/MHR Overlay/languages/ko-kr.json b/reframework/data/MHR Overlay/languages/ko-kr.json index 6ddf6e1..e5cd7b1 100644 --- a/reframework/data/MHR Overlay/languages/ko-kr.json +++ b/reframework/data/MHR Overlay/languages/ko-kr.json @@ -67,6 +67,8 @@ "buildup_percentage_label": "누적치 비율 라벨", "buildup_value_label": "누적치 값 라벨", "capture_line": "포획 표시선", + "cart_count": "Cart Count", + "cart_count_label": "Cart Count Label", "color": "색상", "colors": "색상", "creature_name_label": "환경생물 이름 라벨", @@ -140,6 +142,7 @@ "loss_health_percentage": "절단 수치 비율", "master_rank": "마스터 랭크", "max_distance": "최대 거리", + "max_monster_updates_per_tick": "Max Monster Updates per Tick", "me": "나", "menu_font": "메뉴 글꼴", "menu_font_change_disclaimer": "언어 및 메뉴 글꼴 크기를 여러 번 변경하면 뻗을 수 있습니다!", @@ -176,6 +179,7 @@ "poison_damage": "독 대미지", "position": "위치", "press_any_key": "설정할 키를 누르세요...", + "prioritize_large_monsters": "Large Monsters on High Priority", "quest_result_screen": "퀘스트 결과 화면", "quest_time": "퀘스트 시간", "rage": "분노", diff --git a/reframework/data/MHR Overlay/languages/ru-ru.json b/reframework/data/MHR Overlay/languages/ru-ru.json index 2fcf4c5..0905fe9 100644 --- a/reframework/data/MHR Overlay/languages/ru-ru.json +++ b/reframework/data/MHR Overlay/languages/ru-ru.json @@ -67,6 +67,8 @@ "buildup_percentage_label": "Метка накопления в процентах", "buildup_value_label": "Метка значения накопления", "capture_line": "Линия здоровья захвата", + "cart_count": "Cart Count", + "cart_count_label": "Cart Count Label", "color": "Цвет", "colors": "Цвета", "creature_name_label": "Метка имени существа", @@ -140,6 +142,7 @@ "loss_health_percentage": "Отсечение части в процентах", "master_rank": "Ранг мастера", "max_distance": "Макс. расстояние", + "max_monster_updates_per_tick": "Max Monster Updates per Tick", "me": "Я", "menu_font": "Шрифт меню", "menu_font_change_disclaimer": "Изменение языка и размера шрифта меню несколько раз приведёт к вылету!", @@ -176,6 +179,7 @@ "poison_damage": "Урон от отравления", "position": "Расположение", "press_any_key": "Нажмите любую клавишу...", + "prioritize_large_monsters": "Large Monsters on High Priority", "quest_result_screen": "Экран результатов квеста", "quest_time": "Время квеста", "rage": "Ярость", diff --git a/reframework/data/MHR Overlay/languages/zh-cn.json b/reframework/data/MHR Overlay/languages/zh-cn.json index e5e3961..9809695 100644 --- a/reframework/data/MHR Overlay/languages/zh-cn.json +++ b/reframework/data/MHR Overlay/languages/zh-cn.json @@ -67,6 +67,8 @@ "buildup_percentage_label": "积累值百分比标签", "buildup_value_label": "积累值标签", "capture_line": "可捕捉线", + "cart_count": "Cart Count", + "cart_count_label": "Cart Count Label", "color": "颜色", "colors": "颜色", "creature_name_label": "生物名标签", @@ -140,6 +142,7 @@ "loss_health_percentage": "Sever Health Percentage", "master_rank": "Master Rank", "max_distance": "最大距离", + "max_monster_updates_per_tick": "Max Monster Updates per Tick", "me": "我", "menu_font": "菜单字体", "menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!", @@ -176,6 +179,7 @@ "poison_damage": "中毒伤害", "position": "位置", "press_any_key": "按任意键...", + "prioritize_large_monsters": "Large Monsters on High Priority", "quest_result_screen": "任务结果页", "quest_time": "任务时间", "rage": "愤怒", diff --git a/reframework/data/MHR Overlay/languages/zh-tw.json b/reframework/data/MHR Overlay/languages/zh-tw.json index bae9652..43aa2b6 100644 --- a/reframework/data/MHR Overlay/languages/zh-tw.json +++ b/reframework/data/MHR Overlay/languages/zh-tw.json @@ -67,6 +67,8 @@ "buildup_percentage_label": "累積值百分比文字", "buildup_value_label": "累積值文字", "capture_line": "可捕捉標記線", + "cart_count": "Cart Count", + "cart_count_label": "Cart Count Label", "color": "調色盤", "colors": "調色盤", "creature_name_label": "環境生物名稱", @@ -140,6 +142,7 @@ "loss_health_percentage": "Sever Health Percentage", "master_rank": "Master Rank", "max_distance": "最大距離", + "max_monster_updates_per_tick": "Max Monster Updates per Tick", "me": "我", "menu_font": "選單字體大小", "menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!", @@ -176,6 +179,7 @@ "poison_damage": "毒傷害", "position": "位置", "press_any_key": "輸入任意鍵...", + "prioritize_large_monsters": "Large Monsters on High Priority", "quest_result_screen": "任務結算頁", "quest_time": "任務時間", "rage": "憤怒度",