32 Commits

Author SHA1 Message Date
GreenComfyTea
4bdb4ee2e6 Separate Dependency Initializations 2023-08-05 11:24:26 +03:00
GreenComfyTea
30672922c4 Add callback timers 2023-08-05 10:50:36 +03:00
GreenComfyTea
31b5251c75 Fix Follower Otomo Percentage DMG being incorrectly formatted 2023-08-04 19:36:18 +03:00
GreenComfyTea
71b1992710 Add Horn Melody Effects to Buff UI 2023-08-04 19:35:25 +03:00
GreenComfyTea
63ddbff12a Fix Consumable Buff UI not working in online request if not host 2023-08-03 12:21:17 +03:00
GreenComfyTea
0359042c97 Fix Buff timers showing xx:60 sometimes 2023-08-03 12:20:36 +03:00
GreenComfyTea
c8dab31265 Add back(?) label include customization code 2023-08-03 12:20:08 +03:00
GreenComfyTea
405c5e4aad Fix continue labels ambiguity 2023-08-03 12:19:41 +03:00
GreenComfyTea
597d27b935 Uncomment Buff UI code 2023-08-03 12:19:13 +03:00
GreenComfyTea
90190f5af7 Implement Consumable Buffs 2023-06-30 18:57:14 +03:00
GreenComfyTea
b5757e3b1e Fix hotkeys not saving 2023-06-30 13:58:05 +03:00
GreenComfyTea
0992b918a3 Update README.md 2023-06-14 17:36:16 +03:00
GreenComfyTea
7865b3276c Update README.md 2023-06-14 17:07:58 +03:00
GreenComfyTea
cc1fe03272 Update README.md 2023-06-11 13:07:27 +03:00
GreenComfyTea
57585cb5b5 Update README.md 2023-06-11 12:59:11 +03:00
GreenComfyTea
96563f92f7 Update README.md 2023-06-11 12:51:08 +03:00
GreenComfyTea
ea29e20a2c Update README.md 2023-06-10 20:39:20 +03:00
GreenComfyTea
0a84471abc Update README.md 2023-06-10 18:49:22 +03:00
GreenComfyTea
da2af8671a Update README.md 2023-06-10 18:47:56 +03:00
GreenComfyTea
474d0b9eb8 Update README.md 2023-06-10 18:45:12 +03:00
GreenComfyTea
e4057b84f5 Update README.md 2023-06-10 18:38:57 +03:00
GreenComfyTea
3ac048aef9 Update README.md 2023-06-10 18:29:22 +03:00
GreenComfyTea
9c3085198d Update README.md 2023-06-10 18:26:27 +03:00
GreenComfyTea
ecf119dd97 Update README.md 2023-06-10 17:48:58 +03:00
GreenComfyTea
663b456a4f Fix Total Cart Count showing lower value by 1 2023-06-10 14:20:11 +03:00
GreenComfyTea
e571ca62eb Update README.md 2023-06-10 09:38:35 +03:00
GreenComfyTea
3b99512bb6 Merge branch 'main' of https://github.com/GreenComfyTea/MHR-Overlay 2023-06-10 09:34:51 +03:00
GreenComfyTea
0fe53700ae Update ko-kr localization to v2.5 2023-06-10 09:34:44 +03:00
GreenComfyTea
488da17887 Merge pull request #65 from sukiqwq/main 2023-06-09 09:33:35 +03:00
RqLiu
25d0035c16 Update zh-cn.json 2023-06-09 02:56:22 +08:00
RqLiu
34ac9e3c54 Update zh-cn.json 2023-06-09 02:54:51 +08:00
RqLiu
ce212ff757 Update zh-cn.json 2023-06-09 02:51:48 +08:00
59 changed files with 1581 additions and 235 deletions

135
README.md
View File

@@ -1,10 +1,130 @@
# "MHR Overlay" Mod for Monster Hunter: Rise <p align="center">
<h2 align="center"><b>"MHR Overlay" Mod for Monster Hunter: Rise</b></h2>
<p align="center">Mod that exposes in-game data about monsters, creatures, players and damage. Draws a highly customizable UI.</p>
<p align="center">This mod is solely intended to empower players with means of self-improvement. Please don't use the information provided by this tool to make hurtful comments and actions toward other players.</p>
</p>
Exposes in-game data about monsters, creatures, players and damage. Draws a highly customizable UI. <p align="center">
<a href="https://github.com/greencomfytea/mhr-overlay/graphs/contributors">
<img alt="Contributors" src="https://custom-icon-badges.demolab.com/github/contributors/greencomfytea/mhr-overlay?logo=person-add" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/issues">
<img alt="Issues" src="https://custom-icon-badges.demolab.com/github/issues/greencomfytea/mhr-overlay?logo=issue-opened" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/issues">
<img alt="Issues Closed" src="https://custom-icon-badges.demolab.com/github/issues-closed/greencomfytea/mhr-overlay?logo=issue-closed" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/pulls">
<img alt="Pull Requests" src="https://custom-icon-badges.demolab.com/github/issues-pr/greencomfytea/mhr-overlay?logo=git-pull-request" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/pulls">
<img alt="Pull Requests Closed" src="https://custom-icon-badges.demolab.com/github/issues-pr-closed/greencomfytea/mhr-overlay?logo=git-pull-request-closed" />
</a>
<br>
<a href="https://github.com/greencomfytea/mhr-overlay/blob/main/LICENSE">
<img alt="License" src="https://custom-icon-badges.demolab.com/github/license/greencomfytea/mhr-overlay?logo=law" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/releases">
<img alt="Release Version" src="https://custom-icon-badges.demolab.com/github/v/release/greencomfytea/mhr-overlay?logo=tag" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/releases">
<img alt="Release Date" src="https://custom-icon-badges.demolab.com/github/release-date/greencomfytea/mhr-overlay?logo=clock" />
</a>
<a href="">
<img alt="Platform" src="https://custom-icon-badges.demolab.com/badge/platform-win%20%7C%20linux%20%7C%20steam%20deck-blue?logo=device-desktop" />
</a>
<a href="">
<img alt="Maintenance" src="https://custom-icon-badges.demolab.com/maintenance/yes/2023?logo=tools" />
</a>
<br>
<a href="https://www.nexusmods.com/monsterhunterrise/mods/26">
<img alt="REFramework Dependency" src="https://custom-icon-badges.demolab.com/badge/dependency-REFramework%20v1.503%2B-green?logo=package-dependencies" />
</a>
<a href="https://www.nexusmods.com/monsterhunterrise/mods/134">
<img alt="REFramework Direct2D Dependency" src="https://custom-icon-badges.demolab.com/badge/dependency-REFramework%20Direct2D%20v0.4.0%2B-yellow?logo=package-dependencies" />
</a>
<br>
<br>
<a href="https://github.com/greencomfytea/mhr-overlay/commits/main">
<img alt="Commits" src="https://custom-icon-badges.demolab.com/github/commit-activity/t/greencomfytea/mhr-overlay?logo=git-commit" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/commits/main">
<img alt="Last Commit" src="https://custom-icon-badges.demolab.com/github/last-commit/greencomfytea/mhr-overlay?logo=git-commit" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/commits/main">
<img alt="Commits Since" src="https://custom-icon-badges.demolab.com/github/commits-since/greencomfytea/mhr-overlay/latest?logo=git-commit" />
</a>
<br>
<a href="https://github.com/greencomfytea/mhr-overlay/graphs/commit-activity">
<img alt="Commit Activity (Year)" src="https://custom-icon-badges.demolab.com/github/commit-activity/y/greencomfytea/mhr-overlay?logo=pulse" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/graphs/commit-activity">
<img alt="Commit Activity (Month)" src="https://custom-icon-badges.demolab.com/github/commit-activity/m/greencomfytea/mhr-overlay?logo=pulse" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/graphs/commit-activity">
<img alt="Commit Activity (Week)" src="https://custom-icon-badges.demolab.com/github/commit-activity/w/greencomfytea/mhr-overlay?logo=pulse" />
</a>
<br>
<br>
<a href="">
<img alt="Repo Size" src="https://custom-icon-badges.demolab.com/github/repo-size/greencomfytea/mhr-overlay?logo=database" />
</a>
<a href="">
<img alt="Line Count" src="https://sloc.xyz/github/greencomfytea/mhr-overlay" />
</a>
<a href="">
<img alt="COCOMO" src="https://sloc.xyz/github/greencomfytea/mhr-overlay/?category=cocomo" />
</a>
<a href="">
<img alt="Goto Counter" src="https://custom-icon-badges.demolab.com/github/search/greencomfytea/mhr-overlay/goto?logo=git-compare" />
</a>
<br>
<a href="https://github.com/sponsors/greencomfytea">
<img alt="Sponsors" src="https://custom-icon-badges.demolab.com/github/sponsors/greencomfytea?logo=heart" />
</a>
<a href="https://github.com/GreenComfyTea/mhr-overlay/watchers">
<img alt="Watchers" src="https://custom-icon-badges.demolab.com/github/watchers/greencomfytea/mhr-overlay?logo=eye" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/forks">
<img alt="Forks" src="https://custom-icon-badges.demolab.com/github/forks/greencomfytea/mhr-overlay?logo=repo-forked" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/stargazers">
<img alt="Stars" src="https://custom-icon-badges.demolab.com/github/stars/greencomfytea/mhr-overlay?logo=star" />
</a>
<a href="https://github.com/greencomfytea/mhr-overlay/graphs/traffic">
<img alt="Hits" src="https://custom-icon-badges.demolab.com/endpoint?url=https://hits.dwyl.com/greencomfytea/mhr-overlay.json?color=blue&logo=eye" />
</a>
<br>
<br>
<a href="https://www.nexusmods.com/monsterhunterrise/mods/50">
<img alt="Website" src="https://custom-icon-badges.demolab.com/website?down_color=red&down_message=down&up_color=brightgreen&up_message=up&logo=link&url=https://www.nexusmods.com/monsterhunterrise/mods/50" />
</a>
<a href="https://github.com/greencomfytea?tab=followers">
<img alt="Followers" src="https://custom-icon-badges.demolab.com/github/followers/greencomfytea?logo=people" />
</a>
<a href="https://twitter.com/greencomfytea">
<img alt="Twitter" src="https://img.shields.io/twitter/follow/greencomfytea?logo=twitter" />
</a>
<a href="https://www.twitch.tv/greencomfytea">
<img alt="Twitch" src="https://img.shields.io/twitch/status/greencomfytea?logo=twitch" />
</a>
<br>
<a href="https://github.com/greencomfytea">
<img alt="Author" src="https://custom-icon-badges.demolab.com/badge/author-GreenComfyTea-green?logo=person" />
</a>
<a href="https://github.com/topics/open-source">
<img alt="Open Source" src="https://img.shields.io/badge/open%20source-%20yes-brightgreen?logo=openvpn" />
</a>
<a href="https://cursey.github.io/reframework-book/index.html#lua-scripting">
<img alt="Written in" src="https://custom-icon-badges.demolab.com/badge/written in-lua-000080?logo=terminal" />
</a>
</p>
**This mod is solely intended to empower players with means of self-improvement. Please don't use the information provided by this tool to make hurtful comments and actions toward other players.** <p align="center">
<a>
![50-1659789731-551420562](https://user-images.githubusercontent.com/30152047/183250401-9f2898dd-feb4-4903-802c-c9d398261f11.png) <img align="center" src="https://user-images.githubusercontent.com/30152047/183250401-9f2898dd-feb4-4903-802c-c9d398261f11.png" />
</a>
</p>
# Links # Links
* **[Nexus Mods](https://www.nexusmods.com/monsterhunterrise/mods/50)** * **[Nexus Mods](https://www.nexusmods.com/monsterhunterrise/mods/50)**
@@ -15,8 +135,8 @@ Exposes in-game data about monsters, creatures, players and damage. Draws a high
* **[Troubleshooting](https://github.com/GreenComfyTea/MHR-Overlay/wiki/Troubleshooting)** * **[Troubleshooting](https://github.com/GreenComfyTea/MHR-Overlay/wiki/Troubleshooting)**
# Requirements # Requirements
1. [REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26) (v1.503 or above); 1. [REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26) (v1.503+);
2. [REFramework Direct2D](https://www.nexusmods.com/monsterhunterrise/mods/134) (v0.4.0 or above). 2. [REFramework Direct2D](https://www.nexusmods.com/monsterhunterrise/mods/134) (v0.4.0+) - Needed for Unicode Support.
# How to install: # How to install:
1. Install [REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26); 1. Install [REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26);
@@ -53,4 +173,3 @@ You can support me by donating! I would appreciate it! But anyway, thank you for
<a href="https://ko-fi.com/greencomfytea"> <a href="https://ko-fi.com/greencomfytea">
<img alt="Qries" src="https://panels.twitch.tv/panel-48897356-image-c2fcf835-87e4-408e-81e8-790789c7acbc"> <img alt="Qries" src="https://panels.twitch.tv/panel-48897356-image-c2fcf835-87e4-408e-81e8-790789c7acbc">
</a> </a>

View File

@@ -41,7 +41,9 @@ local language = require("MHR_Overlay.Misc.language");
local part_names = require("MHR_Overlay.Misc.part_names"); local part_names = require("MHR_Overlay.Misc.part_names");
local utils = require("MHR_Overlay.Misc.utils"); local utils = require("MHR_Overlay.Misc.utils");
--local buffs = require("MHR_Overlay.Buffs.buffs"); local buffs = require("MHR_Overlay.Buffs.buffs");
local consumables = require("MHR_Overlay.Buffs.consumables");
local melody_effects = require("MHR_Overlay.Buffs.melody_effects");
local players = require("MHR_Overlay.Damage_Meter.players"); local players = require("MHR_Overlay.Damage_Meter.players");
local non_players = require("MHR_Overlay.Damage_Meter.non_players"); local non_players = require("MHR_Overlay.Damage_Meter.non_players");
@@ -63,7 +65,7 @@ local large_monster_UI = require("MHR_Overlay.UI.Modules.large_monster_UI");
local small_monster_UI = require("MHR_Overlay.UI.Modules.small_monster_UI"); local small_monster_UI = require("MHR_Overlay.UI.Modules.small_monster_UI");
local time_UI = require("MHR_Overlay.UI.Modules.time_UI"); local time_UI = require("MHR_Overlay.UI.Modules.time_UI");
local env_creature_UI = require("MHR_Overlay.UI.Modules.env_creature_UI"); local env_creature_UI = require("MHR_Overlay.UI.Modules.env_creature_UI");
--local buff_UI = require("MHR_Overlay.UI.Modules.buff_UI"); local buff_UI = require("MHR_Overlay.UI.Modules.buff_UI");
local body_part_UI_entity = require("MHR_Overlay.UI.UI_Entities.body_part_UI_entity"); local body_part_UI_entity = require("MHR_Overlay.UI.UI_Entities.body_part_UI_entity");
local damage_UI_entity = require("MHR_Overlay.UI.UI_Entities.damage_UI_entity"); local damage_UI_entity = require("MHR_Overlay.UI.UI_Entities.damage_UI_entity");
@@ -72,7 +74,7 @@ local stamina_UI_entity = require("MHR_Overlay.UI.UI_Entities.stamina_UI_entity"
local rage_UI_entity = require("MHR_Overlay.UI.UI_Entities.rage_UI_entity"); local rage_UI_entity = require("MHR_Overlay.UI.UI_Entities.rage_UI_entity");
local ailment_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_UI_entity"); local ailment_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_UI_entity");
local ailment_buildup_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_buildup_UI_entity"); local ailment_buildup_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_buildup_UI_entity");
--local buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity"); local buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity");
local customization_menu = require("MHR_Overlay.UI.customization_menu"); local customization_menu = require("MHR_Overlay.UI.customization_menu");
local label_customization = require("MHR_Overlay.UI.Customizations.label_customization"); local label_customization = require("MHR_Overlay.UI.Customizations.label_customization");
@@ -92,15 +94,83 @@ local drawing = require("MHR_Overlay.UI.drawing");
------------------------INIT MODULES------------------------- ------------------------INIT MODULES-------------------------
-- #region -- #region
screen.init_module();
singletons.init_module(); screen.init_dependencies();
utils.init_module(); singletons.init_dependencies();
time.init_module(); utils.init_dependencies();
time.init_dependencies();
language.init_dependencies();
config.init_dependencies();
part_names.init_dependencies();
damage_UI_entity.init_dependencies();
health_UI_entity.init_dependencies();
stamina_UI_entity.init_dependencies();
rage_UI_entity.init_dependencies();
ailment_UI_entity.init_dependencies();
ailment_buildup_UI_entity.init_dependencies();
body_part_UI_entity.init_dependencies();
buff_UI_entity.init_dependencies();
buffs.init_dependencies();
consumables.init_dependencies();
melody_effects.init_dependencies();
damage_hook.init_dependencies();
players.init_dependencies();
non_players.init_dependencies();
quest_status.init_dependencies();
env_creature_hook.init_dependencies();
env_creature.init_dependencies();
body_part.init_dependencies();
ailments.init_dependencies();
large_monster.init_dependencies();
monster_hook.init_dependencies();
small_monster.init_dependencies();
ailment_hook.init_dependencies();
ailment_buildup.init_dependencies();
label_customization.init_dependencies();
bar_customization.init_dependencies();
line_customization.init_dependencies();
large_monster_UI_customization.init_dependencies();
label_customization.init_dependencies();
bar_customization.init_dependencies();
health_customization.init_dependencies();
stamina_customization.init_dependencies();
rage_customization.init_dependencies();
body_parts_customization.init_dependencies();
ailments_customization.init_dependencies();
ailment_buildups_customization.init_dependencies();
module_visibility_customization.init_dependencies();
customization_menu.init_dependencies();
drawing.init_dependencies();
damage_meter_UI.init_dependencies();
large_monster_UI.init_dependencies();
small_monster_UI.init_dependencies();
time_UI.init_dependencies();
env_creature_UI.init_dependencies();
buff_UI.init_dependencies();
keyboard.init_dependencies();
------------------------------------------------------------
language.init_module(); language.init_module();
config.init_module(); config.init_module();
part_names.init_module(); part_names.init_module();
screen.init_module();
singletons.init_module();
utils.init_module();
time.init_module();
damage_UI_entity.init_module(); damage_UI_entity.init_module();
health_UI_entity.init_module(); health_UI_entity.init_module();
stamina_UI_entity.init_module(); stamina_UI_entity.init_module();
@@ -108,9 +178,11 @@ rage_UI_entity.init_module();
ailment_UI_entity.init_module(); ailment_UI_entity.init_module();
ailment_buildup_UI_entity.init_module(); ailment_buildup_UI_entity.init_module();
body_part_UI_entity.init_module(); body_part_UI_entity.init_module();
--buff_UI_entity.init_module(); buff_UI_entity.init_module();
--buffs.init_module(); buffs.init_module();
consumables.init_module();
melody_effects.init_module();
damage_hook.init_module(); damage_hook.init_module();
players.init_module(); players.init_module();
@@ -151,7 +223,7 @@ large_monster_UI.init_module();
small_monster_UI.init_module(); small_monster_UI.init_module();
time_UI.init_module(); time_UI.init_module();
env_creature_UI.init_module(); env_creature_UI.init_module();
--buff_UI.init_module(); buff_UI.init_module();
keyboard.init_module(); keyboard.init_module();
@@ -207,22 +279,17 @@ local function draw_modules(module_visibility_config, flow_state_name)
end end
end end
--[[if config.current_config.buff_UI.enabled and module_visibility_config.buff_UI then if config.current_config.buff_UI.enabled and module_visibility_config.buff_UI then
local success = truepcall(buff_UI.draw); local success = pcall(buff_UI.draw);
if not success then if not success then
customization_menu.status = string.format("[%s] Buff UI Drawing Function threw an Exception", flow_state_name); customization_menu.status = string.format("[%s] Buff UI Drawing Function threw an Exception", flow_state_name);
end end
end]] end
end end
local function main_loop() local function main_loop()
customization_menu.status = "OK"; customization_menu.status = "OK";
singletons.init(); time.update_timers();
screen.update_window_size();
players.update_myself_position();
quest_status.update_is_online();
--quest_status.update_is_quest_host();
time.tick();
if quest_status.flow_state == quest_status.flow_states.IN_TRAINING_AREA then if quest_status.flow_state == quest_status.flow_states.IN_TRAINING_AREA then
@@ -254,12 +321,12 @@ local function main_loop()
end end
end end
--[[if config.current_config.buff_UI.enabled and module_visibility_config.buff_UI then if config.current_config.buff_UI.enabled and module_visibility_config.buff_UI then
local success = pcall(buff_UI.draw); local success = pcall(buff_UI.draw);
if not success then if not success then
customization_menu.status = "[In Training Area] Buff UI Drawing Function threw an Exception"; customization_menu.status = "[In Training Area] Buff UI Drawing Function threw an Exception";
end end
end]] end
elseif quest_status.flow_state == quest_status.flow_states.CUTSCENE then elseif quest_status.flow_state == quest_status.flow_states.CUTSCENE then

View File

@@ -2,6 +2,14 @@ local this = {};
local buff_UI_entity; local buff_UI_entity;
local config; local config;
local singletons;
local players;
local consumables;
local melody_effects;
local utils;
local language;
local time;
local quest_status;
local sdk = sdk; local sdk = sdk;
local tostring = tostring; local tostring = tostring;
@@ -35,14 +43,43 @@ local os = os;
local ValueType = ValueType; local ValueType = ValueType;
local package = package; local package = package;
this.list = {}; this.types = {
consumable = 0,
melody_effect = 1,
dango = 2,
};
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
local get_player_method = player_manager_type_def:get_method("getPlayer");
local find_master_player_method = player_manager_type_def:get_method("findMasterPlayer");
local player_base_type_def = find_master_player_method:get_return_type();
local get_player_data_method = player_base_type_def:get_method("get_PlayerData");
local music_data_field = player_base_type_def:get_field("_MusicData");
local system_array_type_def = sdk.find_type_definition("System.Array");
local length_method = system_array_type_def:get_method("get_Length");
local get_value_method = system_array_type_def:get_method("GetValue(System.Int32)");
function this.new(type, key, name, value, duration)
local is_infinite = false;
value = value or 0;
if duration == nil then
duration = 0;
is_infinite = true;
end
function this.new(name)
local buff = {}; local buff = {};
buff.type = type;
buff.key = key;
buff.name = name; buff.name = name;
buff.timer = 0; buff.value = value;
buff.duration = 0;
buff.timer = duration;
buff.duration = duration;
buff.is_active = true; buff.is_active = true;
@@ -51,7 +88,9 @@ function this.new(name)
buff.minutes_left = 0; buff.minutes_left = 0;
buff.seconds_left = 0; buff.seconds_left = 0;
buff.is_infinite = false; buff.is_infinite = is_infinite;
this.update_timer(buff, buff.timer);
this.init_UI(buff); this.init_UI(buff);
@@ -67,42 +106,80 @@ function this.init_UI(buff)
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()
consumables.init_names();
melody_effects.init_names();
end
function this.update()
if quest_status.flow_state == quest_status.flow_states.IN_LOBBY
or quest_status.flow_state >= quest_status.flow_states.QUEST_END_ANIMATION then
return;
end
local master_player = find_master_player_method:call(singletons.player_manager);
if master_player == nil then
return;
end
local master_player_data = get_player_data_method:call(master_player);
if master_player_data ~= nil then
consumables.update(master_player_data);
end
local music_data_array = music_data_field:get_data(master_player);
if music_data_array ~= nil then
local music_data_table = {};
local length = length_method:call(music_data_array) - 1;
for i = 0, length do
local music_data = get_value_method:call(music_data_array, i);
if music_data == nil then
music_data = "";
end
table.insert(music_data_table, music_data);
end
melody_effects.update(music_data_table);
end
end
function this.draw(buff, buff_UI, position_on_screen, opacity_scale) function this.draw(buff, buff_UI, position_on_screen, opacity_scale)
buff_UI_entity.draw(buff, buff_UI, position_on_screen, opacity_scale); buff_UI_entity.draw(buff, buff_UI, position_on_screen, opacity_scale);
end end
function this.init_module() function this.update_timer(buff, timer)
if timer < 0 then
timer = 0;
end
local minutes_left = math.floor(timer / 60);
buff.timer = timer;
buff.minutes_left = minutes_left;
buff.seconds_left = math.floor(timer - 60 * minutes_left);
if buff.duration ~= 0 then
buff.timer_percentage = timer / buff.duration;
end
end
function this.init_dependencies()
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity"); buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity");
singletons = require("MHR_Overlay.Game_Handler.singletons");
players = require("MHR_Overlay.Damage_Meter.players");
consumables = require("MHR_Overlay.Buffs.consumables");
melody_effects = require("MHR_Overlay.Buffs.melody_effects");
utils = require("MHR_Overlay.Misc.utils");
language = require("MHR_Overlay.Misc.language");
time = require("MHR_Overlay.Game_Handler.time");
quest_status = require("MHR_Overlay.Game_Handler.quest_status");
end
function this.init_module()
local buff = this.new("Enviroment Damage Negated"); time.new_timer(this.update, 0.5);
buff.duration = 90;
buff.timer = 65;
buff.timer_percentage = 0.66;
buff.minutes_left = 1;
buff.seconds_left = 5
this.list["Enviroment Damage Negated"] = buff;
local buff = this.new("Sharpness Loss Reduced");
buff.duration = 120;
buff.timer = 70;
buff.timer_percentage = 0.583;
buff.minutes_left = 1;
buff.seconds_left = 10
this.list["Sharpness Loss Reduced"] = buff;
local buff = this.new("Sharpness Loss Reduced 2");
buff.duration = 120;
buff.timer = 70;
buff.timer_percentage = 0.583;
buff.minutes_left = 1;
buff.seconds_left = 10
buff.is_infinite = true;
this.list["Sharpness Loss Reduced 2"] = buff;
end end
return this; return this;

View File

@@ -0,0 +1,416 @@
local this = {};
local buffs;
local buff_UI_entity;
local config;
local singletons;
local players;
local utils;
local language;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local os = os;
local ValueType = ValueType;
local package = package;
this.list = {
demondrug = nil,
mega_demondrug = nil,
armorskin = nil,
mega_armorskin = nil,
might_seed = nil,
adamant_seed = nil,
hardshell_powder = nil,
immunizer = nil,
dash_juice = nil
};
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
local get_player_data_method = player_manager_type_def:get_method("get_PlayerData");
local get_ref_item_parameter_method = player_manager_type_def:get_method("get_RefItemParameter");
local player_user_data_item_parameter_type_def = get_ref_item_parameter_method:get_return_type();
local demondrug_atk_up_field = player_user_data_item_parameter_type_def:get_field("_DemondrugAtkUp");
local great_demondrug_atk_up_field = player_user_data_item_parameter_type_def:get_field("_GreatDemondrugAtkUp");
local armorskin_def_up_field = player_user_data_item_parameter_type_def:get_field("_ArmorSkinDefUp");
local great_armorskin_def_up_field = player_user_data_item_parameter_type_def:get_field("_GreatArmorSkinDefUp");
local might_seed_timer_field = player_user_data_item_parameter_type_def:get_field("_MightSeedTimer");
local adamant_seed_timer_field = player_user_data_item_parameter_type_def:get_field("_AdamantSeedTimer");
local demondrug_powder_timer_field = player_user_data_item_parameter_type_def:get_field("_DemondrugPowderTimer");
local armorskin_powder_timer_field = player_user_data_item_parameter_type_def:get_field("_ArmorSkinPowderTimer");
local vitalizer_timer_const_field = player_user_data_item_parameter_type_def:get_field("_VitalizerTimer");
local stamina_up_buff_second_field = player_user_data_item_parameter_type_def:get_field("_StaminaUpBuffSecond");
local player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
-- Demondrug/Mega Demondrug
local atk_up_alive_field = player_data_type_def:get_field("_AtkUpAlive");
-- Armorskin/Mega Armorskin
local def_up_alive_field = player_data_type_def:get_field("_DefUpAlive");
-- Might Seed
local atk_up_buff_second_field = player_data_type_def:get_field("_AtkUpBuffSecond");
local atk_up_buff_second_timer_field = player_data_type_def:get_field("_AtkUpBuffSecondTimer");
-- Adamant Seed
local def_up_buff_second_field = player_data_type_def:get_field("_DefUpBuffSecond");
local def_up_buff_second_timer_field = player_data_type_def:get_field("_DefUpBuffSecondTimer");
-- Demon Powder
local atk_up_item_second_field = player_data_type_def:get_field("_AtkUpItemSecond");
local atk_up_item_second_timer_field = player_data_type_def:get_field("_AtkUpItemSecondTimer");
-- Hardshell Powder
local def_up_item_second_field = player_data_type_def:get_field("_DefUpItemSecond");
local def_up_item_second_timer_field = player_data_type_def:get_field("_DefUpItemSecondTimer");
-- Immunizer
local vitalizer_timer_field = player_data_type_def:get_field("_VitalizerTimer");
-- Dash Juice
local stamina_up_buff_second_timer_field = player_data_type_def:get_field("_StaminaUpBuffSecondTimer");
local system_array_type_def = sdk.find_type_definition("System.Array");
local length_method = system_array_type_def:get_method("get_Length");
local get_value_method = system_array_type_def:get_method("GetValue(System.Int32)");
function this.update(player_data)
local item_parameter = get_ref_item_parameter_method:call(singletons.player_manager);
if item_parameter == nil then
return;
end
this.update_demondrug(player_data, item_parameter);
this.update_armorskin(player_data, item_parameter);
this.update_might_seed(player_data, item_parameter);
this.update_adamant_seed(player_data, item_parameter);
this.update_demon_powder(player_data, item_parameter);
this.update_hardshell_powder(player_data, item_parameter);
this.update_immunizer(player_data, item_parameter);
this.update_dash_juice(player_data, item_parameter);
end
function this.update_demondrug(player_data, item_parameter)
local demondrug = atk_up_alive_field:get_data(player_data);
if demondrug == nil then
return;
end
if demondrug == 0 then
this.list.demondrug = nil;
this.list.mega_demondrug = nil;
return;
end
local demondrug_const_value = demondrug_atk_up_field:get_data(item_parameter);
if demondrug_const_value == nil then
return;
end
local mega_demondrug_const_value = great_demondrug_atk_up_field:get_data(item_parameter);
if mega_demondrug_const_value == nil then
return;
end
if demondrug == demondrug_const_value then
local buff = this.list.demondrug;
if buff ~= nil and buff.value == demondrug then
return;
end
local name = language.current_language.consumables.demondrug;
this.list.demondrug = buffs.new(buffs.types.consumable, "demondrug", name, demondrug);
this.list.mega_demondrug = nil;
elseif demondrug == mega_demondrug_const_value then
local buff = this.list.mega_demondrug;
if buff ~= nil and buff.value == demondrug then
return;
end
local name = language.current_language.consumables.mega_demondrug;
this.list.demondrug = nil;
this.list.mega_demondrug = buffs.new(buffs.types.consumable, "mega_demondrug", name, demondrug);
end
end
function this.update_armorskin(player_data, item_parameter)
local armorskin = def_up_alive_field:get_data(player_data);
if armorskin == nil then
return;
end
if armorskin == 0 then
this.list.armorskin = nil;
this.list.mega_armorskin = nil;
return;
end
local armorskin_const_value = armorskin_def_up_field:get_data(item_parameter);
if armorskin_const_value == nil then
return;
end
local mega_armorskin_const_value = great_armorskin_def_up_field:get_data(item_parameter);
if mega_armorskin_const_value == nil then
return;
end
if armorskin == armorskin_const_value then
local buff = this.list.armorskin;
if buff ~= nil and buff.value == armorskin then
return;
end
local name = language.current_language.consumables.armorskin;
this.list.armorskin = buffs.new(buffs.types.consumable, "armorskin", name, armorskin);
this.list.mega_armorskin = nil;
elseif armorskin == mega_armorskin_const_value then
local buff = this.list.mega_armorskin;
if buff ~= nil and buff.value == armorskin then
return;
end
local name = language.current_language.consumables.mega_armorskin;
this.list.armorskin = nil;
this.list.mega_armorskin = buffs.new(buffs.types.consumable, "mega_armorskin", name, armorskin);
end
end
function this.update_might_seed(player_data, item_parameter)
local might_seed = atk_up_buff_second_field:get_data(player_data);
if might_seed == nil then
return;
end
if might_seed == 0 then
this.list.might_seed = nil;
return;
end
local might_seed_timer = atk_up_buff_second_timer_field:get_data(player_data);
if might_seed_timer == nil then
return;
end
local buff = this.list.might_seed;
if buff == nil then
local might_seed_timer_const_value = might_seed_timer_field:get_data(item_parameter);
if might_seed_timer_const_value == nil then
return;
end
local name = language.current_language.consumables.might_seed;
buff = buffs.new(buffs.types.consumable, "might_seed", name, might_seed, might_seed_timer_const_value);
this.list.might_seed = buff;
else
buff.value = might_seed;
buffs.update_timer(buff, might_seed_timer / 60);
end
end
function this.update_adamant_seed(player_data, item_parameter)
local adamant_seed = def_up_buff_second_field:get_data(player_data);
if adamant_seed == nil then
return;
end
if adamant_seed == 0 then
this.list.adamant_seed = nil;
return;
end
local adamant_seed_timer = def_up_buff_second_timer_field:get_data(player_data);
if adamant_seed_timer == nil then
return;
end
local buff = this.list.adamant_seed;
if buff == nil then
local adamant_seed_timer_const_value = adamant_seed_timer_field:get_data(item_parameter);
if adamant_seed_timer_const_value == nil then
return;
end
local name = language.current_language.consumables.adamant_seed;
buff = buffs.new(buffs.types.consumable, "adamant_seed", name, adamant_seed, adamant_seed_timer_const_value);
this.list.adamant_seed = buff;
else
buff.value = adamant_seed;
buffs.update_timer(buff, adamant_seed_timer / 60);
end
end
function this.update_demon_powder(player_data, item_parameter)
local demon_powder = atk_up_item_second_field:get_data(player_data);
if demon_powder == nil then
return;
end
if demon_powder == 0 then
this.list.demon_powder = nil;
return;
end
local demon_powder_timer = atk_up_item_second_timer_field:get_data(player_data);
if demon_powder_timer == nil then
return;
end
local buff = this.list.demon_powder;
if buff == nil then
local demon_powder_timer_const_value = demondrug_powder_timer_field:get_data(item_parameter);
if demon_powder_timer_const_value == nil then
return;
end
local name = language.current_language.consumables.demon_powder;
buff = buffs.new(buffs.types.consumable, "demon_powder", name, demon_powder, demon_powder_timer_const_value);
this.list.demon_powder = buff;
else
buff.value = demon_powder;
buffs.update_timer(buff, demon_powder_timer / 60);
end
end
function this.update_hardshell_powder(player_data, item_parameter)
local hardshell_powder = def_up_item_second_field:get_data(player_data);
if hardshell_powder == nil then
return;
end
if hardshell_powder == 0 then
this.list.hardshell_powder = nil;
return;
end
local hardshell_powder_timer = def_up_item_second_timer_field:get_data(player_data);
if hardshell_powder_timer == nil then
return;
end
local buff = this.list.hardshell_powder;
if buff == nil then
local demon_powder_timer_const_value = armorskin_powder_timer_field:get_data(item_parameter);
if demon_powder_timer_const_value == nil then
return;
end
local name = language.current_language.consumables.hardshell_powder;
buff = buffs.new(buffs.types.consumable, "hardshell_powder", name, hardshell_powder, demon_powder_timer_const_value);
this.list.hardshell_powder = buff;
else
buff.value = hardshell_powder;
buffs.update_timer(buff, hardshell_powder_timer / 60);
end
end
function this.update_immunizer(player_data, item_parameter)
local immunizer_timer = vitalizer_timer_field:get_data(player_data);
if immunizer_timer == nil then
return;
end
if immunizer_timer == 0 then
this.list.immunizer = nil;
return;
end
local buff = this.list.immunizer;
if buff == nil then
local immunizer_timer_const_value = vitalizer_timer_const_field:get_data(item_parameter);
if immunizer_timer_const_value == nil then
return;
end
local name = language.current_language.consumables.immunizer;
buff = buffs.new(buffs.types.consumable, "immunizer", name, 0, immunizer_timer_const_value);
this.list.immunizer = buff;
else
buffs.update_timer(buff, immunizer_timer / 60);
end
end
function this.update_dash_juice(player_data, item_parameter)
local dash_juice_timer = stamina_up_buff_second_timer_field:get_data(player_data);
if dash_juice_timer == nil then
return;
end
if dash_juice_timer == 0 then
this.list.dash_juice = nil;
return;
end
local buff = this.list.dash_juice;
if buff == nil then
local dash_juice_timer_const_value = stamina_up_buff_second_field:get_data(item_parameter);
if dash_juice_timer_const_value == nil then
return;
end
local name = language.current_language.consumables.dash_juice;
buff = buffs.new(buffs.types.consumable, "dash_juice", name, 0, dash_juice_timer_const_value);
this.list.dash_juice = buff;
else
buffs.update_timer(buff, dash_juice_timer / 60);
end
end
function this.init_names()
for key, buff in pairs(this.list) do
buff.name = language.current_language.consumables[key];
end
end
function this.init_dependencies()
buffs = require("MHR_Overlay.Buffs.buffs");
config = require("MHR_Overlay.Misc.config");
utils = require("MHR_Overlay.Misc.utils");
buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity");
singletons = require("MHR_Overlay.Game_Handler.singletons");
players = require("MHR_Overlay.Damage_Meter.players");
language = require("MHR_Overlay.Misc.language");
end
function this.init_module()
end
return this;

View File

@@ -0,0 +1,161 @@
local this = {};
local buffs;
local buff_UI_entity;
local config;
local singletons;
local players;
local utils;
local language;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local os = os;
local ValueType = ValueType;
local package = package;
local ids = {
self_improvement = 0,
attack_up = 1,
defense_up = 2,
affinity_up = 3,
elemental_attack_boost = 4,
attack_and_defense_up = 5,
attack_and_affinity_up = 6,
knockbacks_negated = 7,
earplugs_s = 8,
earplugs_l = 9,
tremors_negated = 10,
wind_pressure_negated = 11,
stun_negated = 12,
blight_negated = 13,
divine_protection = 14,
health_recovery_s = 15,
health_recovery_l = 16,
health_recovery_s_antidote = 17,
health_regeneration = 18,
stamina_use_reduced = 19,
stamina_recovery_up = 20,
sharpness_loss_reduced = 21,
environment_damage_negated = 22,
sonic_wave = 23,
sonic_barrier = 24,
infernal_melody = 25,
sharpness_regeneration = 26,
sharpness_extension = 27
};
local melody_effect_keys = {
"self_improvement",
"attack_up",
"defense_up",
"affinity_up",
"elemental_attack_boost",
"attack_and_defense_up",
"attack_and_affinity_up",
"knockbacks_negated",
"earplugs_s",
"earplugs_l",
"tremors_negated",
"wind_pressure_negated",
"stun_negated",
"blight_negated",
"divine_protection",
"health_recovery_s",
"health_recovery_l",
"health_recovery_s_antidote",
"health_regeneration",
"stamina_use_reduced",
"stamina_recovery_up",
"sharpness_loss_reduced",
"environment_damage_negated",
"sonic_wave",
"sonic_barrier",
"infernal_melody",
"sharpness_regeneration",
"sharpness_extension"
};
this.list = {};
local music_data_type_def = sdk.find_type_definition("snow.player.Horn.MusicData");
local time_field = music_data_type_def:get_field("_Time");
function this.update(melody_data_table)
for lua_index, melody_data in ipairs(melody_data_table) do
if melody_data == "" then
goto continue;
end
local melody_timer = time_field:get_data(melody_data);
if melody_timer == nil then
goto continue;
end
if melody_timer == 0 then
this.list[lua_index] = nil;
goto continue;
end
local buff = this.list[lua_index];
if buff == nil then
local key = melody_effect_keys[lua_index];
local name = language.current_language.melody_effects[key];
buff = buffs.new(buffs.types.melody_effect, key, name, melody_timer, melody_timer / 60);
this.list[lua_index] = buff;
else
buff.value = melody_timer;
buffs.update_timer(buff, melody_timer / 60);
end
::continue::
end
end
function this.init_names()
for index, buff in pairs(this.list) do
buff.name = language.current_language.melody_effects[buff.key];
end
end
function this.init_dependencies()
buffs = require("MHR_Overlay.Buffs.buffs");
config = require("MHR_Overlay.Misc.config");
utils = require("MHR_Overlay.Misc.utils");
buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity");
singletons = require("MHR_Overlay.Game_Handler.singletons");
players = require("MHR_Overlay.Damage_Meter.players");
language = require("MHR_Overlay.Misc.language");
end
function this.init_module()
end
return this;

View File

@@ -260,6 +260,7 @@ end
function this.cart(dead_player_id, flag_cat_skill_insurance) function this.cart(dead_player_id, flag_cat_skill_insurance)
-- flag_cat_skill_insurance = 0 -- flag_cat_skill_insurance = 0
-- flag_cat_skill_insurance = 1 -- flag_cat_skill_insurance = 1
local player = players.list[dead_player_id]; local player = players.list[dead_player_id];
if player == nil then if player == nil then
return; return;
@@ -373,7 +374,7 @@ function this.on_anomaly_core_break(anomaly_core_part)
players.update_damage(players.total, players.damage_types.anomaly_core, true, damage_object); players.update_damage(players.total, players.damage_types.anomaly_core, true, damage_object);
end end
function this.init_module() function this.init_dependencies()
quest_status = require("MHR_Overlay.Game_Handler.quest_status"); quest_status = require("MHR_Overlay.Game_Handler.quest_status");
players = require("MHR_Overlay.Damage_Meter.players"); players = require("MHR_Overlay.Damage_Meter.players");
small_monster = require("MHR_Overlay.Monsters.small_monster"); small_monster = require("MHR_Overlay.Monsters.small_monster");
@@ -382,6 +383,9 @@ function this.init_module()
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
non_players = require("MHR_Overlay.Damage_Meter.non_players"); non_players = require("MHR_Overlay.Damage_Meter.non_players");
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
end
function this.init_module()
sdk.hook(stock_direct_marionette_finish_shoot_hit_parts_damage_method, function(args) sdk.hook(stock_direct_marionette_finish_shoot_hit_parts_damage_method, function(args)
local enemy = sdk.to_managed_object(args[2]); local enemy = sdk.to_managed_object(args[2]);

View File

@@ -377,7 +377,7 @@ function this.init_UI(non_player)
end end
end end
function this.init_module() function this.init_dependencies()
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
@@ -387,7 +387,9 @@ function this.init_module()
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
players = require("MHR_Overlay.Damage_Meter.players"); players = require("MHR_Overlay.Damage_Meter.players");
end
function this.init_module()
this.init(); this.init();
end end

View File

@@ -335,6 +335,20 @@ function this.merge_damage(first, second)
return first; return first;
end end
function this.update_display_list()
local is_on_quest = quest_status.flow_state ~= quest_status.flow_states.IN_LOBBY and quest_status.flow_state ~= quest_status.flow_states.IN_TRAINING_AREA;
this.display_list = {};
this.update_player_list(is_on_quest);
non_players.update_servant_list();
non_players.update_otomo_list(is_on_quest, quest_status.is_online);
this.update_dps(false);
this.sort_players();
quest_status.get_cart_count();
end
function this.update_dps(bypass_freeze) function this.update_dps(bypass_freeze)
local cached_config = config.current_config.damage_meter_UI.settings; local cached_config = config.current_config.damage_meter_UI.settings;
@@ -622,7 +636,7 @@ function this.draw(player, position_on_screen, opacity_scale, top_damage, top_dp
damage_UI_entity.draw(player, position_on_screen, opacity_scale, top_damage, top_dps); damage_UI_entity.draw(player, position_on_screen, opacity_scale, top_damage, top_dps);
end end
function this.init_module() function this.init_dependencies()
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
@@ -634,7 +648,12 @@ function this.init_module()
non_players = require("MHR_Overlay.Damage_Meter.non_players"); non_players = require("MHR_Overlay.Damage_Meter.non_players");
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
end
function this.init_module()
this.init(); this.init();
time.new_timer(this.update_display_list, 0.5);
time.new_timer(this.update_myself_position, 1);
end end
return this; return this;

View File

@@ -143,7 +143,7 @@ function this.init_list()
this.list = {}; this.list = {};
end end
function this.init_module() function this.init_dependencies()
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -156,4 +156,7 @@ function this.init_module()
--ailment_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_UI_entity"); --ailment_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_UI_entity");
end end
function this.init_module()
end
return this; return this;

View File

@@ -45,11 +45,13 @@ function this.update(REcreature)
env_creature.update_position(REcreature, creature); env_creature.update_position(REcreature, creature);
end end
function this.init_module() function this.init_dependencies()
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); env_creature = require("MHR_Overlay.Endemic_Life.env_creature");
time = require("MHR_Overlay.Game_Handler.time"); time = require("MHR_Overlay.Game_Handler.time");
end
function this.init_module()
sdk.hook(update_method, function(args) sdk.hook(update_method, function(args)
pcall(this.update, sdk.to_managed_object(args[2])); pcall(this.update, sdk.to_managed_object(args[2]));
end, function(retval) end, function(retval)

View File

@@ -353,7 +353,7 @@ function this.update()
if new_hotkey_registered then if new_hotkey_registered then
config.save(); config.save_current();
else else
this.check_hotkeys(hard_keyboard); this.check_hotkeys(hard_keyboard);
end end
@@ -604,7 +604,7 @@ function this.get_hotkey_name(hotkey)
return hotkey_name .. tostring(this.keys[hotkey.key]); return hotkey_name .. tostring(this.keys[hotkey.key]);
end end
function this.init_module() function this.init_dependencies()
config = require "MHR_Overlay.Misc.config" config = require "MHR_Overlay.Misc.config"
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
@@ -615,4 +615,7 @@ function this.init_module()
time = require("MHR_Overlay.Game_Handler.time"); time = require("MHR_Overlay.Game_Handler.time");
end end
function this.init_module()
end
return this; return this;

View File

@@ -370,7 +370,7 @@ function this.update_is_training_area()
end end
end end
function this.init_module() function this.init_dependencies()
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
players = require("MHR_Overlay.Damage_Meter.players"); players = require("MHR_Overlay.Damage_Meter.players");
@@ -380,9 +380,13 @@ function this.init_module()
time = require("MHR_Overlay.Game_Handler.time"); time = require("MHR_Overlay.Game_Handler.time");
env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); env_creature = require("MHR_Overlay.Endemic_Life.env_creature");
non_players = require("MHR_Overlay.Damage_Meter.non_players"); non_players = require("MHR_Overlay.Damage_Meter.non_players");
end
function this.init_module()
this.init(); this.init();
time.new_timer(this.update_is_online, 1);
sdk.hook(on_changed_game_status_method, function(args) sdk.hook(on_changed_game_status_method, function(args)
this.on_changed_game_status(sdk.to_int64(args[3])); this.on_changed_game_status(sdk.to_int64(args[3]));
end, function(retval) return retval; end); end, function(retval) return retval; end);

View File

@@ -2,6 +2,8 @@ local this = {};
local config; local config;
local singletons; local singletons;
local utils;
local time;
local sdk = sdk; local sdk = sdk;
local tostring = tostring; local tostring = tostring;
@@ -131,9 +133,15 @@ function this.calculate_absolute_coordinates(position)
return { x = _position.x, y = _position.y }; return { x = _position.x, y = _position.y };
end end
function this.init_module() function this.init_dependencies()
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
time = require("MHR_Overlay.Game_Handler.time");
utils = require("MHR_Overlay.Misc.utils");
end
function this.init_module()
time.new_timer(this.update_window_size, 1);
end end
return this; return this;

View File

@@ -1,5 +1,8 @@
local this = {}; local this = {};
local time;
local utils;
local sdk = sdk; local sdk = sdk;
local tostring = tostring; local tostring = tostring;
local pairs = pairs; local pairs = pairs;
@@ -231,8 +234,13 @@ function this.init_otomo_manager()
return this.otomo_manager; return this.otomo_manager;
end end
function this.init_dependencies()
time = require("MHR_Overlay.Game_Handler.time");
utils = require("MHR_Overlay.Misc.utils");
end
function this.init_module() function this.init_module()
this.init(); time.new_timer(this.init, 1);
end end
return this; return this;

View File

@@ -7,6 +7,7 @@ local players;
local non_players; local non_players;
local config; local config;
local small_monster; local small_monster;
local utils;
local sdk = sdk; local sdk = sdk;
local tostring = tostring; local tostring = tostring;
@@ -51,17 +52,51 @@ this.elapsed_seconds = 0;
this.total_elapsed_script_seconds = 0; this.total_elapsed_script_seconds = 0;
this.last_elapsed_script_seconds = 0; this.last_elapsed_script_seconds = 0;
this.list = {};
function this.new_timer(callback, cooldown_seconds, start_offset_seconds)
start_offset_seconds = start_offset_seconds or utils.math.random();
if callback == nil or cooldown_seconds == nil then
return;
end
local timer = {};
timer.callback = callback;
timer.cooldown = cooldown_seconds;
timer.last_trigger_time = os.clock() + start_offset_seconds;
table.insert(this.list, timer);
callback();
end
function this.update_timers()
this.update_script_time();
for _, timer in ipairs(this.list) do
if this.total_elapsed_script_seconds - timer.last_trigger_time > timer.cooldown then
timer.last_trigger_time = this.total_elapsed_script_seconds;
timer.callback();
end
end
end
function this.update_script_time() function this.update_script_time()
this.total_elapsed_script_seconds = os.clock(); this.total_elapsed_script_seconds = os.clock();
end end
function this.tick() function this.update_quest_time()
this.update_script_time();
if singletons.quest_manager == nil then if singletons.quest_manager == nil then
return; return;
end end
if quest_status.flow_state == quest_status.flow_states.IN_LOBBY
or quest_status.flow_state >= quest_status.flow_states.QUEST_END_TIMER then
return;
end
local quest_time_elapsed_minutes = get_quest_elapsed_time_min_method:call(singletons.quest_manager); local quest_time_elapsed_minutes = get_quest_elapsed_time_min_method:call(singletons.quest_manager);
if quest_time_elapsed_minutes == nil then if quest_time_elapsed_minutes == nil then
customization_menu.status = "No quest time elapsed minutes"; customization_menu.status = "No quest time elapsed minutes";
@@ -77,23 +112,9 @@ function this.tick()
end end
this.elapsed_seconds = quest_time_total_elapsed_seconds - quest_time_elapsed_minutes * 60; this.elapsed_seconds = quest_time_total_elapsed_seconds - quest_time_elapsed_minutes * 60;
if this.total_elapsed_script_seconds - this.last_elapsed_script_seconds > 0.5 then
this.last_elapsed_script_seconds = this.total_elapsed_script_seconds;
local is_on_quest = quest_status.flow_state ~= quest_status.flow_states.IN_LOBBY and quest_status.flow_state ~= quest_status.flow_states.IN_TRAINING_AREA;
players.display_list = {};
players.update_player_list(is_on_quest);
non_players.update_servant_list();
non_players.update_otomo_list(is_on_quest, quest_status.is_online);
players.update_dps(false);
players.sort_players();
end
end end
function this.init_module() function this.init_dependencies()
players = require("MHR_Overlay.Damage_Meter.players"); players = require("MHR_Overlay.Damage_Meter.players");
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
@@ -101,6 +122,11 @@ function this.init_module()
small_monster = require("MHR_Overlay.Monsters.small_monster"); small_monster = require("MHR_Overlay.Monsters.small_monster");
quest_status = require("MHR_Overlay.Game_Handler.quest_status"); quest_status = require("MHR_Overlay.Game_Handler.quest_status");
non_players = require("MHR_Overlay.Damage_Meter.non_players"); non_players = require("MHR_Overlay.Damage_Meter.non_players");
utils = require("MHR_Overlay.Misc.utils");
end
function this.init_module()
this.new_timer(this.update_quest_time, 1 / 60);
end end
return this; return this;

View File

@@ -89,7 +89,7 @@ function this.init_default()
large_monster_highlighted_UI = true, large_monster_highlighted_UI = true,
damage_meter_UI = true, damage_meter_UI = true,
endemic_life_UI = true, endemic_life_UI = true,
--buff_UI = true buff_UI = true
}, },
cutscene = { cutscene = {
@@ -100,7 +100,7 @@ function this.init_default()
time_UI = false, time_UI = false,
damage_meter_UI = false, damage_meter_UI = false,
endemic_life_UI = false, endemic_life_UI = false,
--buff_UI = false buff_UI = false
}, },
loading_quest = { loading_quest = {
@@ -111,7 +111,7 @@ function this.init_default()
time_UI = false, time_UI = false,
damage_meter_UI = false, damage_meter_UI = false,
endemic_life_UI = false, endemic_life_UI = false,
--buff_UI = false buff_UI = false
}, },
quest_start_animation = { quest_start_animation = {
@@ -122,7 +122,7 @@ function this.init_default()
time_UI = true, time_UI = true,
damage_meter_UI = true, damage_meter_UI = true,
endemic_life_UI = true, endemic_life_UI = true,
--buff_UI = true buff_UI = true
}, },
playing_quest = { playing_quest = {
@@ -133,7 +133,7 @@ function this.init_default()
time_UI = true, time_UI = true,
damage_meter_UI = true, damage_meter_UI = true,
endemic_life_UI = true, endemic_life_UI = true,
--buff_UI = true buff_UI = true
}, },
killcam = { killcam = {
@@ -144,7 +144,7 @@ function this.init_default()
time_UI = true, time_UI = true,
damage_meter_UI = true, damage_meter_UI = true,
endemic_life_UI = true, endemic_life_UI = true,
--buff_UI = true buff_UI = true
}, },
quest_end_timer = { quest_end_timer = {
@@ -155,7 +155,7 @@ function this.init_default()
time_UI = true, time_UI = true,
damage_meter_UI = true, damage_meter_UI = true,
endemic_life_UI = true, endemic_life_UI = true,
--buff_UI = true buff_UI = true
}, },
quest_end_animation = { quest_end_animation = {
@@ -166,7 +166,7 @@ function this.init_default()
time_UI = false, time_UI = false,
damage_meter_UI = false, damage_meter_UI = false,
endemic_life_UI = false, endemic_life_UI = false,
--buff_UI = false buff_UI = false
}, },
quest_end_screen = { quest_end_screen = {
@@ -177,7 +177,7 @@ function this.init_default()
time_UI = false, time_UI = false,
damage_meter_UI = false, damage_meter_UI = false,
endemic_life_UI = false, endemic_life_UI = false,
--buff_UI = false buff_UI = false
}, },
reward_screen = { reward_screen = {
@@ -188,7 +188,7 @@ function this.init_default()
time_UI = true, time_UI = true,
damage_meter_UI = true, damage_meter_UI = true,
endemic_life_UI = false, endemic_life_UI = false,
--buff_UI = false buff_UI = false
}, },
summary_screen = { summary_screen = {
@@ -199,7 +199,7 @@ function this.init_default()
time_UI = true, time_UI = true,
damage_meter_UI = true, damage_meter_UI = true,
endemic_life_UI = false, endemic_life_UI = false,
--buff_UI = false buff_UI = false
}, },
}, },
@@ -7034,10 +7034,10 @@ function this.init_default()
visibility = true, visibility = true,
settings = { settings = {
right_alignment_shift = 0 right_alignment_shift = 6
}, },
text_formatting = "%6.1f%%", text_formatting = "%.1f%%",
offset = { offset = {
x = 262, x = 262,
@@ -7452,7 +7452,7 @@ function this.init_default()
} }
}, },
--[[buff_UI = { buff_UI = {
enabled = true, enabled = true,
settings = { settings = {
@@ -7564,7 +7564,7 @@ function this.init_default()
outline = 0xC0000000 outline = 0xC0000000
} }
} }
}]] }
}; };
end end
@@ -7716,10 +7716,12 @@ function this.update(index)
this.save_current_config_name(); this.save_current_config_name();
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
end
function this.init_module()
this.init_default(); this.init_default();
this.load_current_config_value(); this.load_current_config_value();
this.load_configs(); this.load_configs();

View File

@@ -189,6 +189,50 @@ this.default_language = {
shock_otomo_trap = "Shock Buddy Trap" shock_otomo_trap = "Shock Buddy Trap"
}, },
consumables = {
demondrug = "Demondrug",
mega_demondrug = "Mega Demondrug",
armorskin = "Armorskin",
mega_armorskin = "Mega Armorskin",
might_seed = "Might Seed",
adamant_seed = "Adamant Seed",
demon_powder = "Demon Powder",
hardshell_powder = "Hardshell Powder",
immunizer = "Immunizer",
dash_juice = "Dash Juice"
},
melody_effects = {
self_improvement = "Self-Improvement",
attack_up = "Attack Up",
defense_up = "Defense Up",
affinity_up = "Affinity Up",
elemental_attack_boost = "Elemental Attack Boost",
attack_and_defense_up = "Attack and Defense Up",
attack_and_affinity_up = "Attack and Affinity Up",
knockbacks_negated = "Knockbacks Negated",
earplugs_s = "Earplugs (S)",
earplugs_l = "Earplugs (L)",
tremors_negated = "Tremors Negated",
wind_pressure_negated = "Wind Pressure Negated",
stun_negated = "Stun Negated",
blight_negated = "Blight Negated",
divine_protection = "Divine Protection",
health_recovery_s = "Health Recovery (S)",
health_recovery_l = "Health Recovery (L)",
health_recovery_s_antidote = "Health Recovery (S) + Antidote",
health_regeneration = "Health Regeneration",
stamina_use_reduced = "Stamina Use Reduced",
stamina_recovery_up = "Stamina Recovery Up",
sharpness_loss_reduced = "Sharpness Loss Reduced",
environment_damage_negated = "Environment Damage Negated",
sonic_wave = "Sonic Wave",
sonic_barrier = "Sonic Barrier",
infernal_melody = "Infernal Melody",
sharpness_regeneration = "Sharpness Regeneration",
sharpness_extension = "Sharpness Extension"
},
UI = { UI = {
HP = "HP:", HP = "HP:",
stamina = "Stamina:", stamina = "Stamina:",
@@ -615,9 +659,11 @@ function this.update(index)
this.current_language = this.languages[index]; this.current_language = this.languages[index];
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
end
function this.init_module()
this.save_default(); this.save_default();
this.load(); this.load();
this.current_language = this.default_language; this.current_language = this.default_language;

View File

@@ -954,9 +954,11 @@ function this.get_part_name(monster_id, part_id)
return part_name; return part_name;
end end
function this.init_module() function this.init_dependencies()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
end
function this.init_module()
this.init(); this.init();
end end

View File

@@ -413,6 +413,9 @@ function this.unicode.sub(str, i, j)
return string.sub(str, i, b + c - 1); return string.sub(str, i, b + c - 1);
end end
function this.init_dependencies()
end
function this.init_module() function this.init_module()
end end

View File

@@ -227,11 +227,9 @@ function this.draw(monster, ailment_buildup_UI, cached_config, ailment_buildups_
::continue:: ::continue::
end end
end end
function this.init_module() function this.init_dependencies()
players = require("MHR_Overlay.Damage_Meter.players"); players = require("MHR_Overlay.Damage_Meter.players");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -243,4 +241,7 @@ function this.init_module()
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
end end
function this.init_module()
end
return this; return this;

View File

@@ -144,12 +144,14 @@ function this.stock_damage()
end end
end end
function this.init_module() function this.init_dependencies()
small_monster = require("MHR_Overlay.Monsters.small_monster"); small_monster = require("MHR_Overlay.Monsters.small_monster");
large_monster = require("MHR_Overlay.Monsters.large_monster"); large_monster = require("MHR_Overlay.Monsters.large_monster");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
ailments = require("MHR_Overlay.Monsters.ailments"); ailments = require("MHR_Overlay.Monsters.ailments");
end
function this.init_module()
sdk.hook(stock_damage_method, function(args) sdk.hook(stock_damage_method, function(args)
pcall(this.stock_damage, sdk.to_managed_object(args[2])); pcall(this.stock_damage, sdk.to_managed_object(args[2]));
end, function(retval) end, function(retval)

View File

@@ -814,7 +814,7 @@ function this.apply_ailment_damage(monster, ailment_type, ailment_damage)
players.update_damage(players.total, damage_source_type, monster.is_large, damage_object); players.update_damage(players.total, damage_source_type, monster.is_large, damage_object);
end end
function this.init_module() function this.init_dependencies()
players = require("MHR_Overlay.Damage_Meter.players"); players = require("MHR_Overlay.Damage_Meter.players");
non_players = require("MHR_Overlay.Damage_Meter.non_players"); non_players = require("MHR_Overlay.Damage_Meter.non_players");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
@@ -826,4 +826,7 @@ function this.init_module()
large_monster = require("MHR_Overlay.Monsters.large_monster"); large_monster = require("MHR_Overlay.Monsters.large_monster");
end end
function this.init_module()
end
return this; return this;

View File

@@ -462,7 +462,7 @@ function this.draw(monster, part_UI, cached_config, parts_position_on_screen, op
return last_part_position_on_screen; return last_part_position_on_screen;
end end
function this.init_module() function this.init_dependencies()
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -477,4 +477,7 @@ function this.init_module()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
end end
function this.init_module()
end
return this; return this;

View File

@@ -1033,7 +1033,7 @@ function this.init_list()
this.list = {}; this.list = {};
end end
function this.init_module() function this.init_dependencies()
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
@@ -1056,4 +1056,7 @@ function this.init_module()
ailment_buildup = require("MHR_Overlay.Monsters.ailment_buildup"); ailment_buildup = require("MHR_Overlay.Monsters.ailment_buildup");
end end
function this.init_module()
end
return this; return this;

View File

@@ -255,14 +255,16 @@ function this.update_rage_timer(anger_param, enemy)
large_monster.update_rage_timer(enemy, monster, anger_param); large_monster.update_rage_timer(enemy, monster, anger_param);
end end
function this.init_module() function this.init_dependencies()
small_monster = require("MHR_Overlay.Monsters.small_monster"); small_monster = require("MHR_Overlay.Monsters.small_monster");
large_monster = require("MHR_Overlay.Monsters.large_monster"); large_monster = require("MHR_Overlay.Monsters.large_monster");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
ailments = require("MHR_Overlay.Monsters.ailments"); ailments = require("MHR_Overlay.Monsters.ailments");
players = require("MHR_Overlay.Damage_Meter.players"); players = require("MHR_Overlay.Damage_Meter.players");
quest_status = require("MHR_Overlay.Game_Handler.quest_status"); quest_status = require("MHR_Overlay.Game_Handler.quest_status");
end
function this.init_module()
sdk.hook(enemy_character_base_update_method, function(args) sdk.hook(enemy_character_base_update_method, function(args)
pcall(this.update_monster, sdk.to_managed_object(args[2])); pcall(this.update_monster, sdk.to_managed_object(args[2]));
end, function(retval) end, function(retval)

View File

@@ -249,7 +249,7 @@ function this.init_list()
this.list = {}; this.list = {};
end end
function this.init_module() function this.init_dependencies()
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -264,4 +264,7 @@ function this.init_module()
ailment_buildup_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_buildup_UI_entity"); ailment_buildup_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_buildup_UI_entity");
end end
function this.init_module()
end
return this; return this;

View File

@@ -255,7 +255,7 @@ function this.draw(cached_config)
return config_changed; return config_changed;
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -273,4 +273,7 @@ function this.init_module()
bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization");
end end
function this.init_module()
end
return this; return this;

View File

@@ -386,7 +386,7 @@ function this.draw(cached_config)
return config_changed; return config_changed;
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -403,4 +403,7 @@ function this.init_module()
bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization");
end end
function this.init_module()
end
return this; return this;

View File

@@ -243,7 +243,7 @@ function this.draw(bar_name, bar)
return bar_changed; return bar_changed;
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -259,4 +259,7 @@ function this.init_module()
line_customization = require("MHR_Overlay.UI.Customizations.line_customization"); line_customization = require("MHR_Overlay.UI.Customizations.line_customization");
end end
function this.init_module()
end
return this; return this;

View File

@@ -511,7 +511,7 @@ function this.draw(cached_config)
return config_changed; return config_changed;
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -528,4 +528,7 @@ function this.init_module()
bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization");
end end
function this.init_module()
end
return this; return this;

View File

@@ -88,7 +88,7 @@ function this.draw(cached_config)
return config_changed; return config_changed;
end end
function this.init_module() function this.init_dependencies()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
screen = require("MHR_Overlay.Game_Handler.screen"); screen = require("MHR_Overlay.Game_Handler.screen");
@@ -104,4 +104,7 @@ function this.init_module()
bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization");
end end
function this.init_module()
end
return this; return this;

View File

@@ -61,6 +61,17 @@ function this.draw(label_name, label)
imgui.tree_pop(); imgui.tree_pop();
end end
if label.include ~= nil then
if imgui.tree_node(cached_language.include) then
for include_name, include in pairs(label.include) do
changed, label.include[include_name] = imgui.checkbox(cached_language[include_name], label.include[include_name]);
label_changed = label_changed or changed;
end
imgui.tree_pop();
end
end
if imgui.tree_node(cached_language.offset) then if imgui.tree_node(cached_language.offset) then
changed, label.offset.x = imgui.drag_float(cached_language.x, label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); changed, label.offset.x = imgui.drag_float(cached_language.x, label.offset.x, 0.1, -screen.width, screen.width, "%.1f");
label_changed = label_changed or changed; label_changed = label_changed or changed;
@@ -79,8 +90,7 @@ function this.draw(label_name, label)
end end
if imgui.tree_node(cached_language.shadow) then if imgui.tree_node(cached_language.shadow) then
changed, label.shadow.visibility = imgui.checkbox(cached_language changed, label.shadow.visibility = imgui.checkbox(cached_language.visible, label.shadow.visibility);
.visible, label.shadow.visibility);
label_changed = label_changed or changed; label_changed = label_changed or changed;
if imgui.tree_node(cached_language.offset) then if imgui.tree_node(cached_language.offset) then
@@ -112,7 +122,7 @@ function this.draw(label_name, label)
return label_changed; return label_changed;
end end
function this.init_module() function this.init_dependencies()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
screen = require("MHR_Overlay.Game_Handler.screen"); screen = require("MHR_Overlay.Game_Handler.screen");
@@ -126,4 +136,7 @@ function this.init_module()
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
end end
function this.init_module()
end
return this; return this;

View File

@@ -81,7 +81,7 @@ function this.draw(cached_config)
return config_changed; return config_changed;
end end
function this.init_module() function this.init_dependencies()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
screen = require("MHR_Overlay.Game_Handler.screen"); screen = require("MHR_Overlay.Game_Handler.screen");
@@ -104,4 +104,7 @@ function this.init_module()
ailment_buildups_customization = require("MHR_Overlay.UI.Customizations.ailment_buildups_customization"); ailment_buildups_customization = require("MHR_Overlay.UI.Customizations.ailment_buildups_customization");
end end
function this.init_module()
end
return this; return this;

View File

@@ -95,7 +95,7 @@ function this.draw(line_name, line)
return line_changed; return line_changed;
end end
function this.init_module() function this.init_dependencies()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
screen = require("MHR_Overlay.Game_Handler.screen"); screen = require("MHR_Overlay.Game_Handler.screen");
@@ -109,4 +109,7 @@ function this.init_module()
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
end end
function this.init_module()
end
return this; return this;

View File

@@ -92,16 +92,16 @@ function this.draw(cached_config)
config_changed = config_changed or changed; config_changed = config_changed or changed;
--[[changed, cached_config.buff_UI = imgui.checkbox( changed, cached_config.buff_UI = imgui.checkbox(
language.current_language.customization_menu.buff_UI, language.current_language.customization_menu.buff_UI,
cached_config.buff_UI); cached_config.buff_UI);
config_changed = config_changed or changed;]] config_changed = config_changed or changed;
return config_changed; return config_changed;
end end
function this.init_module() function this.init_dependencies()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
screen = require("MHR_Overlay.Game_Handler.screen"); screen = require("MHR_Overlay.Game_Handler.screen");
@@ -115,4 +115,7 @@ function this.init_module()
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
end end
function this.init_module()
end
return this; return this;

View File

@@ -91,7 +91,7 @@ function this.draw(cached_config)
return config_changed; return config_changed;
end end
function this.init_module() function this.init_dependencies()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
screen = require("MHR_Overlay.Game_Handler.screen"); screen = require("MHR_Overlay.Game_Handler.screen");
@@ -107,4 +107,7 @@ function this.init_module()
bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization");
end end
function this.init_module()
end
return this; return this;

View File

@@ -91,7 +91,7 @@ function this.draw(cached_config)
return config_changed; return config_changed;
end end
function this.init_module() function this.init_dependencies()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
screen = require("MHR_Overlay.Game_Handler.screen"); screen = require("MHR_Overlay.Game_Handler.screen");
@@ -107,4 +107,7 @@ function this.init_module()
bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization");
end end
function this.init_module()
end
return this; return this;

View File

@@ -3,7 +3,10 @@ local this = {};
local buff_UI_entity; local buff_UI_entity;
local config; local config;
local buffs; local buffs;
local consumables;
local melody_effects;
local screen; local screen;
local utils;
local sdk = sdk; local sdk = sdk;
local tostring = tostring; local tostring = tostring;
@@ -43,15 +46,26 @@ function this.draw()
local displayed_buffs = {}; local displayed_buffs = {};
for _, buff in pairs(buffs.list) do for key, consumable in pairs(consumables.list) do
if not buff.is_active then if not consumable.is_active then
goto continue goto continue2;
end end
table.insert(displayed_buffs, buff); table.insert(displayed_buffs, consumable);
::continue:: ::continue2::
end
for _, melody_effect in pairs(melody_effects.list) do
if not melody_effect.is_active then
goto continue3;
end
table.insert(displayed_buffs, melody_effect);
::continue3::
end end
-- sort -- sort
@@ -87,15 +101,13 @@ function this.draw()
end end
end end
local position_on_screen = screen.calculate_absolute_coordinates(cached_config.position); local position_on_screen = screen.calculate_absolute_coordinates(cached_config.position);
-- draw -- draw
for _, buff in ipairs(displayed_buffs) do for _, buff in ipairs(displayed_buffs) do
if not buff.is_active then if not buff.is_active then
goto continue2 goto continue4;
end end
buffs.draw(buff, buff.buff_UI, position_on_screen, 1); buffs.draw(buff, buff.buff_UI, position_on_screen, 1);
@@ -106,13 +118,15 @@ function this.draw()
position_on_screen.y = position_on_screen.y + cached_config.spacing.y * global_scale_modifier; position_on_screen.y = position_on_screen.y + cached_config.spacing.y * global_scale_modifier;
end end
::continue2:: ::continue4::
end end
end end
function this.init_module() function this.init_dependencies()
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity"); buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity");
consumables = require("MHR_Overlay.Buffs.consumables");
melody_effects = require("MHR_Overlay.Buffs.melody_effects");
buffs = require("MHR_Overlay.Buffs.buffs"); buffs = require("MHR_Overlay.Buffs.buffs");
--singletons = require("MHR_Overlay.Game_Handler.singletons"); --singletons = require("MHR_Overlay.Game_Handler.singletons");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -122,6 +136,10 @@ function this.init_module()
--quest_status = require("MHR_Overlay.Game_Handler.quest_status"); --quest_status = require("MHR_Overlay.Game_Handler.quest_status");
screen = require("MHR_Overlay.Game_Handler.screen"); screen = require("MHR_Overlay.Game_Handler.screen");
--drawing = require("MHR_Overlay.UI.drawing"); --drawing = require("MHR_Overlay.UI.drawing");
utils = require("MHR_Overlay.Misc.utils");
end
function this.init_module()
end end
return this; return this;

View File

@@ -175,7 +175,7 @@ function this.draw()
end end
end end
function this.init_module() function this.init_dependencies()
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
@@ -188,4 +188,7 @@ function this.init_module()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
end end
function this.init_module()
end
return this; return this;

View File

@@ -94,7 +94,7 @@ function this.draw()
end end
end end
function this.init_module() function this.init_dependencies()
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
@@ -108,4 +108,7 @@ function this.init_module()
env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); env_creature = require("MHR_Overlay.Endemic_Life.env_creature");
end end
function this.init_module()
end
return this; return this;

View File

@@ -165,6 +165,7 @@ function this.draw(dynamic_enabled, static_enabled, highlighted_enabled)
customization_menu.status = string.format("[%s] Highlighted Large Monster drawing function threw an exception"); customization_menu.status = string.format("[%s] Highlighted Large Monster drawing function threw an exception");
end end
end end
if static_enabled then if static_enabled then
local success = pcall(this.draw_static, displayed_monsters, highlighted_monster, cached_config); local success = pcall(this.draw_static, displayed_monsters, highlighted_monster, cached_config);
if not success then if not success then
@@ -327,7 +328,7 @@ function this.draw_highlighted(monster, cached_config)
large_monster.draw(monster, "highlighted", cached_config, position_on_screen, 1); large_monster.draw(monster, "highlighted", cached_config, position_on_screen, 1);
end end
function this.init_module() function this.init_dependencies()
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
@@ -340,4 +341,7 @@ function this.init_module()
rage_UI_entity = require("MHR_Overlay.UI.UI_Entities.rage_UI_entity"); rage_UI_entity = require("MHR_Overlay.UI.UI_Entities.rage_UI_entity");
end end
function this.init_module()
end
return this; return this;

View File

@@ -186,7 +186,7 @@ function this.draw()
end end
end end
function this.init_module() function this.init_dependencies()
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
customization_menu = require("MHR_Overlay.UI.customization_menu"); customization_menu = require("MHR_Overlay.UI.customization_menu");
@@ -198,4 +198,7 @@ function this.init_module()
stamina_UI_entity = require("MHR_Overlay.UI.UI_Entities.stamina_UI_entity"); stamina_UI_entity = require("MHR_Overlay.UI.UI_Entities.stamina_UI_entity");
end end
function this.init_module()
end
return this; return this;

View File

@@ -62,13 +62,15 @@ function this.init_UI()
this.label.offset.y = this.label.offset.y * global_scale_modifier; this.label.offset.y = this.label.offset.y * global_scale_modifier;
end end
function this.init_module() function this.init_dependencies()
time = require("MHR_Overlay.Game_Handler.time"); time = require("MHR_Overlay.Game_Handler.time");
screen = require("MHR_Overlay.Game_Handler.screen"); screen = require("MHR_Overlay.Game_Handler.screen");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
end
function this.init_module()
this.init_UI() this.init_UI()
end end

View File

@@ -118,11 +118,14 @@ function this.draw(ailment, ailment_UI, cached_config, position_on_screen, opaci
end end
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
end end
function this.init_module()
end
return this; return this;

View File

@@ -117,7 +117,7 @@ function this.draw(player, player_buildup, ailment_buildup_UI, cached_config, po
drawing.draw_label(ailment_buildup_UI.buildup_percentage_label, position_on_screen, opacity_scale, 100 * player_buildup.buildup_share); drawing.draw_label(ailment_buildup_UI.buildup_percentage_label, position_on_screen, opacity_scale, 100 * player_buildup.buildup_share);
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -125,4 +125,7 @@ function this.init_module()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
end end
function this.init_module()
end
return this; return this;

View File

@@ -302,10 +302,13 @@ function this.draw(part, part_UI, cached_config, position_on_screen, opacity_sca
end end
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
end end
function this.init_module()
end
return this; return this;

View File

@@ -81,11 +81,14 @@ function this.draw(buff, buff_UI, position_on_screen, opacity_scale)
end end
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
end end
function this.init_module()
end
return this; return this;

View File

@@ -233,7 +233,7 @@ function this.draw(player, position_on_screen, opacity_scale, top_damage, top_dp
end end
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -243,4 +243,7 @@ function this.init_module()
non_players = require("MHR_Overlay.Damage_Meter.non_players"); non_players = require("MHR_Overlay.Damage_Meter.non_players");
end end
function this.init_module()
end
return this; return this;

View File

@@ -91,11 +91,14 @@ function this.draw(monster, health_UI, position_on_screen, opacity_scale)
drawing.draw_label(health_UI.percentage_label, position_on_screen, opacity_scale, 100 * monster.health_percentage); drawing.draw_label(health_UI.percentage_label, position_on_screen, opacity_scale, 100 * monster.health_percentage);
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
end end
function this.init_module()
end
return this; return this;

View File

@@ -105,11 +105,14 @@ function this.draw(monster, rage_UI, position_on_screen, opacity_scale)
end end
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
end end
function this.init_module()
end
return this; return this;

View File

@@ -102,11 +102,14 @@ function this.draw(monster, stamina_UI, position_on_screen, opacity_scale)
end end
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
drawing = require("MHR_Overlay.UI.drawing"); drawing = require("MHR_Overlay.UI.drawing");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
end end
function this.init_module()
end
return this; return this;

View File

@@ -375,7 +375,7 @@ function this.draw()
time_UI_changed = this.draw_time_UI(); time_UI_changed = this.draw_time_UI();
damage_meter_UI_changed = this.draw_damage_meter_UI(); damage_meter_UI_changed = this.draw_damage_meter_UI();
endemic_life_UI_changed = this.draw_endemic_life_UI() endemic_life_UI_changed = this.draw_endemic_life_UI()
--buff_UI_changed = customization_menu.draw_buff_UI(); buff_UI_changed = this.draw_buff_UI();
imgui.pop_font(); imgui.pop_font();
imgui.end_window(); imgui.end_window();
@@ -434,11 +434,11 @@ function this.draw()
end end
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 for _, buff in pairs(buffs.list) do
buffs.init_UI(buff); buffs.init_UI(buff);
end end
end]] end
if this.menu_font_changed and (apply_font_requested or config_changed) then if this.menu_font_changed and (apply_font_requested or config_changed) then
this.menu_font_changed = false; this.menu_font_changed = false;
@@ -569,9 +569,9 @@ function this.draw_modules()
language.current_language.customization_menu.endemic_life_UI, config.current_config.endemic_life_UI.enabled); language.current_language.customization_menu.endemic_life_UI, config.current_config.endemic_life_UI.enabled);
config_changed = config_changed or changed; config_changed = config_changed or changed;
--[[changed, config.current_config.buff_UI.enabled = imgui.checkbox( changed, config.current_config.buff_UI.enabled = imgui.checkbox(
language.current_language.customization_menu.buff_UI, config.current_config.buff_UI.enabled); language.current_language.customization_menu.buff_UI, config.current_config.buff_UI.enabled);
config_changed = config_changed or changed;]] config_changed = config_changed or changed;
imgui.tree_pop(); imgui.tree_pop();
end end
@@ -1002,11 +1002,11 @@ function this.draw_global_settings(apply_font_requested, language_changed)
config_changed = config_changed or changed; config_changed = config_changed or changed;
--[[changed, cached_config.module_visibility.in_training_area.buff_UI = imgui.checkbox( changed, cached_config.module_visibility.in_training_area.buff_UI = imgui.checkbox(
language.current_language.customization_menu.buff_UI, language.current_language.customization_menu.buff_UI,
cached_config.module_visibility.in_training_area.buff_UI); cached_config.module_visibility.in_training_area.buff_UI);
config_changed = config_changed or changed;]] config_changed = config_changed or changed;
imgui.tree_pop(); imgui.tree_pop();
end end
@@ -2264,7 +2264,7 @@ function this.draw_buff_UI()
return config_changed; return config_changed;
end end
function this.init_module() function this.init_dependencies()
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
@@ -2291,7 +2291,9 @@ function this.init_module()
ailments_customization = require("MHR_Overlay.UI.Customizations.ailments_customization"); ailments_customization = require("MHR_Overlay.UI.Customizations.ailments_customization");
ailment_buildups_customization = require("MHR_Overlay.UI.Customizations.ailment_buildups_customization"); ailment_buildups_customization = require("MHR_Overlay.UI.Customizations.ailment_buildups_customization");
module_visibility_customization = require("MHR_Overlay.UI.Customizations.module_visibility_customization"); module_visibility_customization = require("MHR_Overlay.UI.Customizations.module_visibility_customization");
end
function this.init_module()
this.init(); this.init();
this.reload_font(); this.reload_font();
end end

View File

@@ -376,9 +376,12 @@ function this.draw_capture_line(health_UI, position, opacity_scale, percentage)
end end
end end
function this.init_module() function this.init_dependencies()
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
end end
function this.init_module()
end
return this; return this;

View File

@@ -38,6 +38,18 @@
"tranq_bomb": "Tranq Bomb", "tranq_bomb": "Tranq Bomb",
"waterblight": "Waterblight" "waterblight": "Waterblight"
}, },
"consumables": {
"adamant_seed": "Adamant Seed",
"armorskin": "Armorskin",
"dash_juice": "Dash Juice",
"demon_powder": "Demon Powder",
"demondrug": "Demondrug",
"hardshell_powder": "Hardshell Powder",
"immunizer": "Immunizer",
"mega_armorskin": "Mega Armorskin",
"mega_demondrug": "Mega Demondrug",
"might_seed": "Might Seed"
},
"customization_menu": { "customization_menu": {
"UI_font": "UI Font", "UI_font": "UI Font",
"UI_font_notice": "Any changes to the font require script reload!", "UI_font_notice": "Any changes to the font require script reload!",
@@ -323,6 +335,36 @@
"z": "Z" "z": "Z"
}, },
"font_name": "", "font_name": "",
"melody_effects": {
"affinity_up": "Affinity Up",
"attack_and_affinity_up": "Attack and Affinity Up",
"attack_and_defense_up": "Attack and Defense Up",
"attack_up": "Attack Up",
"blight_negated": "Blight Negated",
"defense_up": "Defense Up",
"divine_protection": "Divine Protection",
"earplugs_l": "Earplugs (L)",
"earplugs_s": "Earplugs (S)",
"elemental_attack_boost": "Elemental Attack Boost",
"environment_damage_negated": "Environment Damage Negated",
"health_recovery_l": "Health Recovery (L)",
"health_recovery_s": "Health Recovery (S)",
"health_recovery_s_antidote": "Health Recovery (S) + Antidote",
"health_regeneration": "Health Regeneration",
"infernal_melody": "Infernal Melody",
"knockbacks_negated": "Knockbacks Negated",
"self_improvement": "Self-Improvement",
"sharpness_extension": "Sharpness Extension",
"sharpness_loss_reduced": "Sharpness Loss Reduced",
"sharpness_regeneration": "Sharpness Regeneration",
"sonic_barrier": "Sonic Barrier",
"sonic_wave": "Sonic Wave",
"stamina_recovery_up": "Stamina Recovery Up",
"stamina_use_reduced": "Stamina Use Reduced",
"stun_negated": "Stun Negated",
"tremors_negated": "Tremors Negated",
"wind_pressure_negated": "Wind Pressure Negated"
},
"parts": { "parts": {
"abdomen": "Abdomen", "abdomen": "Abdomen",
"amatsu_unknown": "?", "amatsu_unknown": "?",

View File

@@ -38,6 +38,18 @@
"tranq_bomb": "捕獲用麻酔玉", "tranq_bomb": "捕獲用麻酔玉",
"waterblight": "水属性やられ" "waterblight": "水属性やられ"
}, },
"consumables": {
"adamant_seed": "Adamant Seed",
"armorskin": "Armorskin",
"dash_juice": "Dash Juice",
"demon_powder": "Demon Powder",
"demondrug": "Demondrug",
"hardshell_powder": "Hardshell Powder",
"immunizer": "Immunizer",
"mega_armorskin": "Mega Armorskin",
"mega_demondrug": "Mega Demondrug",
"might_seed": "Might Seed"
},
"customization_menu": { "customization_menu": {
"UI_font": "UI フォント", "UI_font": "UI フォント",
"UI_font_notice": "フォントの変更後はスクリプトリセットを行ってください。", "UI_font_notice": "フォントの変更後はスクリプトリセットを行ってください。",
@@ -323,6 +335,36 @@
"z": "Z" "z": "Z"
}, },
"font_name": "NotoSansJP-Bold.otf", "font_name": "NotoSansJP-Bold.otf",
"melody_effects": {
"affinity_up": "Affinity Up",
"attack_and_affinity_up": "Attack and Affinity Up",
"attack_and_defense_up": "Attack and Defense Up",
"attack_up": "Attack Up",
"blight_negated": "Blight Negated",
"defense_up": "Defense Up",
"divine_protection": "Divine Protection",
"earplugs_l": "Earplugs (L)",
"earplugs_s": "Earplugs (S)",
"elemental_attack_boost": "Elemental Attack Boost",
"environment_damage_negated": "Environment Damage Negated",
"health_recovery_l": "Health Recovery (L)",
"health_recovery_s": "Health Recovery (S)",
"health_recovery_s_antidote": "Health Recovery (S) + Antidote",
"health_regeneration": "Health Regeneration",
"infernal_melody": "Infernal Melody",
"knockbacks_negated": "Knockbacks Negated",
"self_improvement": "Self-Improvement",
"sharpness_extension": "Sharpness Extension",
"sharpness_loss_reduced": "Sharpness Loss Reduced",
"sharpness_regeneration": "Sharpness Regeneration",
"sonic_barrier": "Sonic Barrier",
"sonic_wave": "Sonic Wave",
"stamina_recovery_up": "Stamina Recovery Up",
"stamina_use_reduced": "Stamina Use Reduced",
"stun_negated": "Stun Negated",
"tremors_negated": "Tremors Negated",
"wind_pressure_negated": "Wind Pressure Negated"
},
"parts": { "parts": {
"abdomen": "腹部", "abdomen": "腹部",
"amatsu_unknown": "?", "amatsu_unknown": "?",

View File

@@ -5,7 +5,7 @@
"gold": "금관", "gold": "금관",
"mini": "최소", "mini": "최소",
"otomo": "동반자", "otomo": "동반자",
"part_anomaly_core": "Anomaly Core", "part_anomaly_core": "괴이핵",
"part_break": "파괴", "part_break": "파괴",
"part_sever": "절단", "part_sever": "절단",
"player": "헌터", "player": "헌터",
@@ -38,6 +38,18 @@
"tranq_bomb": "포획용마취옥", "tranq_bomb": "포획용마취옥",
"waterblight": "진흙구리" "waterblight": "진흙구리"
}, },
"consumables": {
"adamant_seed": "Adamant Seed",
"armorskin": "Armorskin",
"dash_juice": "Dash Juice",
"demon_powder": "Demon Powder",
"demondrug": "Demondrug",
"hardshell_powder": "Hardshell Powder",
"immunizer": "Immunizer",
"mega_armorskin": "Mega Armorskin",
"mega_demondrug": "Mega Demondrug",
"might_seed": "Might Seed"
},
"customization_menu": { "customization_menu": {
"UI_font": "UI 글꼴", "UI_font": "UI 글꼴",
"UI_font_notice": "글꼴 변경시 스크립트를 리로드 해야합니다!", "UI_font_notice": "글꼴 변경시 스크립트를 리로드 해야합니다!",
@@ -49,10 +61,10 @@
"ailments": "상태이상", "ailments": "상태이상",
"all_UI": "모든 UI", "all_UI": "모든 UI",
"anchor": "기준", "anchor": "기준",
"anomaly_cores": "Anomaly Cores", "anomaly_cores": "괴이핵",
"anomaly_filter": "Anomaly Core", "anomaly_filter": "괴이핵",
"anomaly_health": "Anomaly Core Health", "anomaly_health": "괴이핵 체력",
"anomaly_health_percentage": "Anomaly Core Health Percentage", "anomaly_health_percentage": "괴이핵 체력 비율",
"apply": "적용", "apply": "적용",
"assign_new_key": "새 키를 할당", "assign_new_key": "새 키를 할당",
"auto_highlight": "자동 타겟 설정", "auto_highlight": "자동 타겟 설정",
@@ -61,17 +73,17 @@
"blast": "폭파", "blast": "폭파",
"body_parts": "부위", "body_parts": "부위",
"bold": "굵게", "bold": "굵게",
"bombs": "Bombs", "bombs": "폭탄",
"bottom_left": "좌하단", "bottom_left": "왼쪽 아래",
"bottom_right": "우하단", "bottom_right": "오른쪽 아래",
"bottom_to_top": "Bottom to Top", "bottom_to_top": "아래에서 위로",
"break_anomaly_filter": "Break + Anomaly Core", "break_anomaly_filter": "파괴 + 괴이핵",
"break_count": "파괴 횟수", "break_count": "파괴 횟수",
"break_filter": "파괴", "break_filter": "파괴",
"break_health": "파괴 수치", "break_health": "파괴 수치",
"break_health_percentage": "파괴 수치 비율", "break_health_percentage": "파괴 수치 비율",
"break_max_count": "최대 파괴 횟수", "break_max_count": "최대 파괴 횟수",
"break_sever_anomaly_filter": "Break + Sever + Anomaly Core", "break_sever_anomaly_filter": "파괴 + 절단 + 괴이핵",
"break_sever_filter": "파괴 + 절단", "break_sever_filter": "파괴 + 절단",
"buff_UI": "버프 UI", "buff_UI": "버프 UI",
"buildup": "누적치", "buildup": "누적치",
@@ -91,8 +103,8 @@
"creature_name_label": "환경생물 이름 정보", "creature_name_label": "환경생물 이름 정보",
"crown": "금관", "crown": "금관",
"crown_thresholds": "금관 판정값", "crown_thresholds": "금관 판정값",
"current_state": "Current State", "current_state": "현재 상태",
"current_value": "Current Value", "current_value": "현재 값",
"cutscene": "컷신", "cutscene": "컷신",
"damage": "대미지", "damage": "대미지",
"damage_bar": "대미지 막대", "damage_bar": "대미지 막대",
@@ -100,7 +112,7 @@
"damage_meter_UI": "대미지 미터 UI", "damage_meter_UI": "대미지 미터 UI",
"damage_percentage_label": "대미지 비율 정보", "damage_percentage_label": "대미지 비율 정보",
"damage_value_label": "대미지 값 정보", "damage_value_label": "대미지 값 정보",
"default_state": "Default State", "default_state": "기본 상태",
"delete": "삭제하기", "delete": "삭제하기",
"distance": "간격", "distance": "간격",
"dps": "DPS", "dps": "DPS",
@@ -112,14 +124,14 @@
"dynamically_positioned": "유동 위치 UI", "dynamically_positioned": "유동 위치 UI",
"enable_for": "표시 대상", "enable_for": "표시 대상",
"enabled": "사용함", "enabled": "사용함",
"endemic_life": "Endemic Life", "endemic_life": "환경생물",
"endemic_life_UI": "환경생물 UI", "endemic_life_UI": "환경생물 UI",
"family": "글꼴", "family": "글꼴",
"farthest": "가장 멀리있는", "farthest": "가장 멀리있는",
"fight_time": "전투 시간", "fight_time": "전투 시간",
"fill_direction": "Fill Direction", "fill_direction": "채우는 방향",
"filter": "필터", "filter": "필터",
"filter_mode": "Filter Mode", "filter_mode": "필터 모드",
"first": "맨 앞", "first": "맨 앞",
"first_hit": "첫 공격", "first_hit": "첫 공격",
"flinch_count": "경직 횟수", "flinch_count": "경직 횟수",
@@ -129,14 +141,14 @@
"global_scale_modifier": "전역 크기 배율", "global_scale_modifier": "전역 크기 배율",
"global_settings": "전역 설정", "global_settings": "전역 설정",
"health": "체력", "health": "체력",
"health_anomaly_filter": "Health + Anomaly Core", "health_anomaly_filter": "체력 + 괴이핵",
"health_break_anomaly_filter": "Health + Break + Anomaly Core", "health_break_anomaly_filter": "체력 + 파괴 + 괴이핵",
"health_break_filter": "체력 + 파괴", "health_break_filter": "체력 + 파괴",
"health_break_sever_anomaly_filter": "Health + Break + Sever + Anomaly Core", "health_break_sever_anomaly_filter": "체력 + 파괴 + 절단 + 괴이핵",
"health_break_sever_filter": "체력 + 파괴 + 절단", "health_break_sever_filter": "체력 + 파괴 + 절단",
"health_filter": "체력", "health_filter": "체력",
"health_percentage": "체력 비율", "health_percentage": "체력 비율",
"health_sever_anomaly_filter": "Health + Sever + Anomaly Core", "health_sever_anomaly_filter": "체력 + 절단 + 괴이핵",
"health_sever_filter": "체력 + 절단", "health_sever_filter": "체력 + 절단",
"height": "높이", "height": "높이",
"hide_ailments_with_zero_buildup": "누적치가 0이면 상태이상 표시 안 함", "hide_ailments_with_zero_buildup": "누적치가 0이면 상태이상 표시 안 함",
@@ -172,11 +184,11 @@
"in_training_area": "훈련구역 내", "in_training_area": "훈련구역 내",
"include": "포함", "include": "포함",
"inside": "내부", "inside": "내부",
"installations": "Installations", "installations": "설치",
"italic": "기울임", "italic": "기울임",
"join_time": "참가 시간", "join_time": "참가 시간",
"killcam": "처치 영상", "killcam": "처치 영상",
"kunai": "Kunai", "kunai": "쿠나이",
"language": "언어", "language": "언어",
"large_monster_UI": "대형 몬스터 UI", "large_monster_UI": "대형 몬스터 UI",
"large_monster_dynamic_UI": "대형 몬스터 유동 UI", "large_monster_dynamic_UI": "대형 몬스터 유동 UI",
@@ -184,7 +196,7 @@
"large_monster_static_UI": "대형 몬스터 고정 UI", "large_monster_static_UI": "대형 몬스터 고정 UI",
"large_monsters": "대형 몬스터", "large_monsters": "대형 몬스터",
"last": "맨 뒤", "last": "맨 뒤",
"left_to_right": "Left to Right", "left_to_right": "왼쪽에서 오른쪽",
"level": "레벨", "level": "레벨",
"level_label": "레벨 정보", "level_label": "레벨 정보",
"loading_quest": "퀘스트 로딩 중", "loading_quest": "퀘스트 로딩 중",
@@ -195,7 +207,7 @@
"master_rank": "마스터 랭크", "master_rank": "마스터 랭크",
"max_distance": "최대 거리", "max_distance": "최대 거리",
"max_monster_updates_per_tick": "틱당 최대 몬스터 갱신 횟수", "max_monster_updates_per_tick": "틱당 최대 몬스터 갱신 횟수",
"max_value": "Max Value", "max_value": "최대값",
"me": "나", "me": "나",
"menu_font": "메뉴 글꼴", "menu_font": "메뉴 글꼴",
"menu_font_change_disclaimer": "언어 및 메뉴 글꼴 크기를 여러 번 변경하면 비정상 종료가 될 수 있습니다!", "menu_font_change_disclaimer": "언어 및 메뉴 글꼴 크기를 여러 번 변경하면 비정상 종료가 될 수 있습니다!",
@@ -203,28 +215,28 @@
"mode": "모드", "mode": "모드",
"modifiers": "설정 배율", "modifiers": "설정 배율",
"module_visibility_based_on_game_state": "게임 상태에 따라 모듈 표시", "module_visibility_based_on_game_state": "게임 상태에 따라 모듈 표시",
"modules": "UI", "modules": "모듈",
"monster_can_be_captured": "몬스터 포획 가능", "monster_can_be_captured": "몬스터 포획 가능",
"monster_id": "몬스터 ID", "monster_id": "몬스터 ID",
"monster_name": "몬스터명", "monster_name": "몬스터명",
"monster_name_label": "몬스터명 정보", "monster_name_label": "몬스터명 정보",
"monsters": "Monsters", "monsters": "몬스터",
"my_damage_bar_location": "내 대미지 막대 위치", "my_damage_bar_location": "내 대미지 막대 위치",
"my_otomos": "내 동반자", "my_otomos": "내 동반자",
"myself": "나", "myself": "나",
"name": "이름", "name": "이름",
"name_label": "이름 정보", "name_label": "이름 정보",
"new": "새", "new": "새로 만들기",
"none": "없음", "none": "없음",
"normal": "기본", "normal": "기본",
"offset": "오프셋", "offset": "오프셋",
"offset_is_relative_to_parts": "오프셋을 부위 기준으로", "offset_is_relative_to_parts": "오프셋을 부위 기준으로",
"opacity_falloff": "투명도 감소", "opacity_falloff": "투명도 감소",
"orientation": "방향", "orientation": "방향",
"other": "Other", "other": "기타",
"other_player_otomos": "다른 플레이어 동반자", "other_player_otomos": "다른 플레이어 동반자",
"other_players": "다른 헌터", "other_players": "다른 헌터",
"otomos": "Buddies", "otomos": "동반자",
"outline": "외곽선", "outline": "외곽선",
"outside": "외부", "outside": "외부",
"part_health": "부위 수치", "part_health": "부위 수치",
@@ -235,7 +247,7 @@
"player_name_label": "헌터명 정보", "player_name_label": "헌터명 정보",
"player_name_size_limit": "헌터명 크기 제한", "player_name_size_limit": "헌터명 크기 제한",
"player_spacing": "플레이어 간격", "player_spacing": "플레이어 간격",
"players": "Players", "players": "모든 플레이어",
"playing_quest": "퀘스트 중", "playing_quest": "퀘스트 중",
"poison": "독", "poison": "독",
"position": "위치", "position": "위치",
@@ -251,18 +263,18 @@
"relative_offset": "상대적 위치 오프셋", "relative_offset": "상대적 위치 오프셋",
"rename": "이름 변경", "rename": "이름 변경",
"render_highlighted_monster": "주시대상 몬스터 표시", "render_highlighted_monster": "주시대상 몬스터 표시",
"render_inactive_anomaly_cores": "Render Inactive Anomaly Cores", "render_inactive_anomaly_cores": "비활성화 된 괴이핵 표시",
"render_not_highlighted_monsters": "주시대상이 아닌 아닌 몬스터 표시", "render_not_highlighted_monsters": "주시대상이 아닌 아닌 몬스터 표시",
"renderer": "렌더링", "renderer": "렌더링",
"reset": "리셋", "reset": "리셋",
"reversed_order": "역순", "reversed_order": "역순",
"reward_screen": "보상 화면", "reward_screen": "보상 화면",
"right_alignment_shift": "Right Alignment Shift", "right_alignment_shift": "우측정렬 이동",
"right_to_left": "Right to Left", "right_to_left": "오른쪽에서 왼쪽",
"servant_otomos": "맹우 동반자", "servant_otomos": "맹우 동반자",
"servants": "맹우", "servants": "맹우",
"settings": "설정", "settings": "설정",
"sever_anomaly_filter": "Sever + Anomaly Core", "sever_anomaly_filter": "절단 + 괴이핵",
"sever_filter": "절단", "sever_filter": "절단",
"shadow": "그림자", "shadow": "그림자",
"show_my_otomos_separately": "내 동반자를 따로", "show_my_otomos_separately": "내 동반자를 따로",
@@ -292,9 +304,9 @@
"top_buildup": "총 누적치", "top_buildup": "총 누적치",
"top_damage": "최고 대미지", "top_damage": "최고 대미지",
"top_dps": "최고 DPS", "top_dps": "최고 DPS",
"top_left": "좌상단", "top_left": "왼쪽 위",
"top_right": "우상단", "top_right": "오른쪽 위",
"top_to_bottom": "Top to Bottom", "top_to_bottom": "위에서 아래",
"total": "전체", "total": "전체",
"total_buildup": "총 누적치", "total_buildup": "총 누적치",
"total_buildup_label": "총 누적치 정보", "total_buildup_label": "총 누적치 정보",
@@ -317,12 +329,42 @@
"visible": "표시함", "visible": "표시함",
"width": "너비", "width": "너비",
"world_offset": "전역 오프셋", "world_offset": "전역 오프셋",
"wyvern_riding": "Wyvern Riding", "wyvern_riding": "용조종",
"x": "X", "x": "X",
"y": "Y", "y": "Y",
"z": "Z" "z": "Z"
}, },
"font_name": "NotoSansKR-Bold.otf", "font_name": "NotoSansKR-Bold.otf",
"melody_effects": {
"affinity_up": "Affinity Up",
"attack_and_affinity_up": "Attack and Affinity Up",
"attack_and_defense_up": "Attack and Defense Up",
"attack_up": "Attack Up",
"blight_negated": "Blight Negated",
"defense_up": "Defense Up",
"divine_protection": "Divine Protection",
"earplugs_l": "Earplugs (L)",
"earplugs_s": "Earplugs (S)",
"elemental_attack_boost": "Elemental Attack Boost",
"environment_damage_negated": "Environment Damage Negated",
"health_recovery_l": "Health Recovery (L)",
"health_recovery_s": "Health Recovery (S)",
"health_recovery_s_antidote": "Health Recovery (S) + Antidote",
"health_regeneration": "Health Regeneration",
"infernal_melody": "Infernal Melody",
"knockbacks_negated": "Knockbacks Negated",
"self_improvement": "Self-Improvement",
"sharpness_extension": "Sharpness Extension",
"sharpness_loss_reduced": "Sharpness Loss Reduced",
"sharpness_regeneration": "Sharpness Regeneration",
"sonic_barrier": "Sonic Barrier",
"sonic_wave": "Sonic Wave",
"stamina_recovery_up": "Stamina Recovery Up",
"stamina_use_reduced": "Stamina Use Reduced",
"stun_negated": "Stun Negated",
"tremors_negated": "Tremors Negated",
"wind_pressure_negated": "Wind Pressure Negated"
},
"parts": { "parts": {
"abdomen": "배", "abdomen": "배",
"amatsu_unknown": "?", "amatsu_unknown": "?",

View File

@@ -38,6 +38,18 @@
"tranq_bomb": "Снотворная порча", "tranq_bomb": "Снотворная порча",
"waterblight": "Водяная порча" "waterblight": "Водяная порча"
}, },
"consumables": {
"adamant_seed": "Adamant Seed",
"armorskin": "Armorskin",
"dash_juice": "Dash Juice",
"demon_powder": "Demon Powder",
"demondrug": "Demondrug",
"hardshell_powder": "Hardshell Powder",
"immunizer": "Immunizer",
"mega_armorskin": "Mega Armorskin",
"mega_demondrug": "Mega Demondrug",
"might_seed": "Might Seed"
},
"customization_menu": { "customization_menu": {
"UI_font": "Шрифт интерфейса", "UI_font": "Шрифт интерфейса",
"UI_font_notice": "Любые изменения шрифта требуют перезагрузку скрипта!", "UI_font_notice": "Любые изменения шрифта требуют перезагрузку скрипта!",
@@ -323,6 +335,36 @@
"z": "Z" "z": "Z"
}, },
"font_name": "NotoSansKR-Bold.otf", "font_name": "NotoSansKR-Bold.otf",
"melody_effects": {
"affinity_up": "Affinity Up",
"attack_and_affinity_up": "Attack and Affinity Up",
"attack_and_defense_up": "Attack and Defense Up",
"attack_up": "Attack Up",
"blight_negated": "Blight Negated",
"defense_up": "Defense Up",
"divine_protection": "Divine Protection",
"earplugs_l": "Earplugs (L)",
"earplugs_s": "Earplugs (S)",
"elemental_attack_boost": "Elemental Attack Boost",
"environment_damage_negated": "Environment Damage Negated",
"health_recovery_l": "Health Recovery (L)",
"health_recovery_s": "Health Recovery (S)",
"health_recovery_s_antidote": "Health Recovery (S) + Antidote",
"health_regeneration": "Health Regeneration",
"infernal_melody": "Infernal Melody",
"knockbacks_negated": "Knockbacks Negated",
"self_improvement": "Self-Improvement",
"sharpness_extension": "Sharpness Extension",
"sharpness_loss_reduced": "Sharpness Loss Reduced",
"sharpness_regeneration": "Sharpness Regeneration",
"sonic_barrier": "Sonic Barrier",
"sonic_wave": "Sonic Wave",
"stamina_recovery_up": "Stamina Recovery Up",
"stamina_use_reduced": "Stamina Use Reduced",
"stun_negated": "Stun Negated",
"tremors_negated": "Tremors Negated",
"wind_pressure_negated": "Wind Pressure Negated"
},
"parts": { "parts": {
"abdomen": "Брюхо", "abdomen": "Брюхо",
"amatsu_unknown": "?", "amatsu_unknown": "?",

View File

@@ -5,7 +5,7 @@
"gold": "金冠", "gold": "金冠",
"mini": "小型", "mini": "小型",
"otomo": "随从", "otomo": "随从",
"part_anomaly_core": "Anomaly Core", "part_anomaly_core": "怪异核",
"part_break": "部位破坏", "part_break": "部位破坏",
"part_sever": "部位切断", "part_sever": "部位切断",
"player": "玩家", "player": "玩家",
@@ -38,6 +38,18 @@
"tranq_bomb": "捕获用麻醉球", "tranq_bomb": "捕获用麻醉球",
"waterblight": "水异常状态" "waterblight": "水异常状态"
}, },
"consumables": {
"adamant_seed": "Adamant Seed",
"armorskin": "Armorskin",
"dash_juice": "Dash Juice",
"demon_powder": "Demon Powder",
"demondrug": "Demondrug",
"hardshell_powder": "Hardshell Powder",
"immunizer": "Immunizer",
"mega_armorskin": "Mega Armorskin",
"mega_demondrug": "Mega Demondrug",
"might_seed": "Might Seed"
},
"customization_menu": { "customization_menu": {
"UI_font": "UI字体", "UI_font": "UI字体",
"UI_font_notice": "当更改字体时,请重新加载脚本!", "UI_font_notice": "当更改字体时,请重新加载脚本!",
@@ -49,10 +61,10 @@
"ailments": "状态异常", "ailments": "状态异常",
"all_UI": "所有UI", "all_UI": "所有UI",
"anchor": "锚点", "anchor": "锚点",
"anomaly_cores": "Anomaly Cores", "anomaly_cores": "怪异核",
"anomaly_filter": "Anomaly Core", "anomaly_filter": "怪异核",
"anomaly_health": "Anomaly Core Health", "anomaly_health": "怪异核破坏值",
"anomaly_health_percentage": "Anomaly Core Health Percentage", "anomaly_health_percentage": "怪异核破坏百分比",
"apply": "应用", "apply": "应用",
"assign_new_key": "指定新按键", "assign_new_key": "指定新按键",
"auto_highlight": "自动高亮", "auto_highlight": "自动高亮",
@@ -61,17 +73,17 @@
"blast": "爆破", "blast": "爆破",
"body_parts": "身体部位", "body_parts": "身体部位",
"bold": "粗体", "bold": "粗体",
"bombs": "Bombs", "bombs": "爆桶",
"bottom_left": "左下", "bottom_left": "左下",
"bottom_right": "右下", "bottom_right": "右下",
"bottom_to_top": "Bottom to Top", "bottom_to_top": "从下到上",
"break_anomaly_filter": "Break + Anomaly Core", "break_anomaly_filter": "破坏+怪异核",
"break_count": "破坏次数", "break_count": "破坏次数",
"break_filter": "破坏", "break_filter": "破坏",
"break_health": "破坏值", "break_health": "破坏值",
"break_health_percentage": "破坏值百分比", "break_health_percentage": "破坏值百分比",
"break_max_count": "最大破坏次数", "break_max_count": "最大破坏次数",
"break_sever_anomaly_filter": "Break + Sever + Anomaly Core", "break_sever_anomaly_filter": "破坏+切断+怪异核",
"break_sever_filter": "破坏+切断", "break_sever_filter": "破坏+切断",
"buff_UI": "Buff UI", "buff_UI": "Buff UI",
"buildup": "积累值", "buildup": "积累值",
@@ -112,12 +124,12 @@
"dynamically_positioned": "动态位置", "dynamically_positioned": "动态位置",
"enable_for": "开启", "enable_for": "开启",
"enabled": "开启", "enabled": "开启",
"endemic_life": "Endemic Life", "endemic_life": "环境生物",
"endemic_life_UI": "环境生物UI", "endemic_life_UI": "环境生物UI",
"family": "字体", "family": "字体",
"farthest": "最远", "farthest": "最远",
"fight_time": "战斗时间", "fight_time": "战斗时间",
"fill_direction": "Fill Direction", "fill_direction": "填充方向",
"filter": "筛选器", "filter": "筛选器",
"filter_mode": "筛选方式", "filter_mode": "筛选方式",
"first": "第一", "first": "第一",
@@ -129,14 +141,14 @@
"global_scale_modifier": "全局比例更改", "global_scale_modifier": "全局比例更改",
"global_settings": "全局设定", "global_settings": "全局设定",
"health": "生命", "health": "生命",
"health_anomaly_filter": "Health + Anomaly Core", "health_anomaly_filter": "生命+怪异核",
"health_break_anomaly_filter": "Health + Break + Anomaly Core", "health_break_anomaly_filter": "生命+破坏+怪异核",
"health_break_filter": "生命+破坏", "health_break_filter": "生命+破坏",
"health_break_sever_anomaly_filter": "Health + Break + Sever + Anomaly Core", "health_break_sever_anomaly_filter": "生命+破坏+切断+怪异核",
"health_break_sever_filter": "生命+破坏+切断", "health_break_sever_filter": "生命+破坏+切断",
"health_filter": "生命", "health_filter": "生命",
"health_percentage": "生命百分比", "health_percentage": "生命百分比",
"health_sever_anomaly_filter": "Health + Sever + Anomaly Core", "health_sever_anomaly_filter": "生命+切断+怪异核",
"health_sever_filter": "生命+切断", "health_sever_filter": "生命+切断",
"height": "高度", "height": "高度",
"hide_ailments_with_zero_buildup": "当积累值为0时隐藏该状态异常", "hide_ailments_with_zero_buildup": "当积累值为0时隐藏该状态异常",
@@ -172,11 +184,11 @@
"in_training_area": "在修炼场", "in_training_area": "在修炼场",
"include": "包含", "include": "包含",
"inside": "里面", "inside": "里面",
"installations": "Installations", "installations": "狩猎设备",
"italic": "斜体", "italic": "斜体",
"join_time": "加入时间", "join_time": "加入时间",
"killcam": "击杀镜头", "killcam": "击杀镜头",
"kunai": "Kunai", "kunai": "苦无",
"language": "语言", "language": "语言",
"large_monster_UI": "大型怪物UI", "large_monster_UI": "大型怪物UI",
"large_monster_dynamic_UI": "大型怪物浮动UI", "large_monster_dynamic_UI": "大型怪物浮动UI",
@@ -184,7 +196,7 @@
"large_monster_static_UI": "大型怪物固定UI", "large_monster_static_UI": "大型怪物固定UI",
"large_monsters": "大型怪物群", "large_monsters": "大型怪物群",
"last": "最后", "last": "最后",
"left_to_right": "Left to Right", "left_to_right": "从左到右",
"level": "等级", "level": "等级",
"level_label": "等级标签", "level_label": "等级标签",
"loading_quest": "任务加载中", "loading_quest": "任务加载中",
@@ -208,7 +220,7 @@
"monster_id": "怪物ID", "monster_id": "怪物ID",
"monster_name": "怪物名", "monster_name": "怪物名",
"monster_name_label": "怪物名标签", "monster_name_label": "怪物名标签",
"monsters": "Monsters", "monsters": "怪物",
"my_damage_bar_location": "我的伤害条位置", "my_damage_bar_location": "我的伤害条位置",
"my_otomos": "我的随从", "my_otomos": "我的随从",
"myself": "我自己", "myself": "我自己",
@@ -221,10 +233,10 @@
"offset_is_relative_to_parts": "根据部位偏移", "offset_is_relative_to_parts": "根据部位偏移",
"opacity_falloff": "透明度增加", "opacity_falloff": "透明度增加",
"orientation": "方向", "orientation": "方向",
"other": "Other", "other": "其它",
"other_player_otomos": "其他玩家的随从", "other_player_otomos": "其他玩家的随从",
"other_players": "其他玩家", "other_players": "其他玩家",
"otomos": "Buddies", "otomos": "随从",
"outline": "轮廓", "outline": "轮廓",
"outside": "外面", "outside": "外面",
"part_health": "部位生命值", "part_health": "部位生命值",
@@ -235,7 +247,7 @@
"player_name_label": "玩家名标签", "player_name_label": "玩家名标签",
"player_name_size_limit": "玩家名长度限制", "player_name_size_limit": "玩家名长度限制",
"player_spacing": "玩家间距", "player_spacing": "玩家间距",
"players": "Players", "players": "玩家",
"playing_quest": "操作界面/正常游玩时", "playing_quest": "操作界面/正常游玩时",
"poison": "中毒", "poison": "中毒",
"position": "位置", "position": "位置",
@@ -251,18 +263,18 @@
"relative_offset": "相对偏移", "relative_offset": "相对偏移",
"rename": "重命名", "rename": "重命名",
"render_highlighted_monster": "渲染高亮怪物", "render_highlighted_monster": "渲染高亮怪物",
"render_inactive_anomaly_cores": "Render Inactive Anomaly Cores", "render_inactive_anomaly_cores": "渲染不活跃的怪异核",
"render_not_highlighted_monsters": "渲染非高亮怪物", "render_not_highlighted_monsters": "渲染非高亮怪物",
"renderer": "渲染器", "renderer": "渲染器",
"reset": "重置", "reset": "重置",
"reversed_order": "逆向排序", "reversed_order": "逆向排序",
"reward_screen": "奖励界面", "reward_screen": "奖励界面",
"right_alignment_shift": "Right Alignment Shift", "right_alignment_shift": "右对齐偏移距离",
"right_to_left": "Right to Left", "right_to_left": "从右到左",
"servant_otomos": "盟友随从", "servant_otomos": "盟友随从",
"servants": "盟友", "servants": "盟友",
"settings": "设定", "settings": "设定",
"sever_anomaly_filter": "Sever + Anomaly Core", "sever_anomaly_filter": "切断+怪异核",
"sever_filter": "切断", "sever_filter": "切断",
"shadow": "阴影", "shadow": "阴影",
"show_my_otomos_separately": "分开显示我的随从", "show_my_otomos_separately": "分开显示我的随从",
@@ -290,11 +302,11 @@
"timer": "计时器", "timer": "计时器",
"timer_label": "计时器标签", "timer_label": "计时器标签",
"top_buildup": "最高积累值", "top_buildup": "最高积累值",
"top_damage": "Top Damage", "top_damage": "最高伤害",
"top_dps": "最高DPS", "top_dps": "最高DPS",
"top_left": "左上", "top_left": "左上",
"top_right": "右上", "top_right": "右上",
"top_to_bottom": "Top to Bottom", "top_to_bottom": "从上到下",
"total": "总计", "total": "总计",
"total_buildup": "总积累值", "total_buildup": "总积累值",
"total_buildup_label": "总积累值标签", "total_buildup_label": "总积累值标签",
@@ -317,12 +329,42 @@
"visible": "可见", "visible": "可见",
"width": "宽度", "width": "宽度",
"world_offset": "整体偏移", "world_offset": "整体偏移",
"wyvern_riding": "Wyvern Riding", "wyvern_riding": "御龙",
"x": "X轴", "x": "X轴",
"y": "Y轴", "y": "Y轴",
"z": "Z轴" "z": "Z轴"
}, },
"font_name": "NotoSansSC-Bold.otf", "font_name": "NotoSansSC-Bold.otf",
"melody_effects": {
"affinity_up": "Affinity Up",
"attack_and_affinity_up": "Attack and Affinity Up",
"attack_and_defense_up": "Attack and Defense Up",
"attack_up": "Attack Up",
"blight_negated": "Blight Negated",
"defense_up": "Defense Up",
"divine_protection": "Divine Protection",
"earplugs_l": "Earplugs (L)",
"earplugs_s": "Earplugs (S)",
"elemental_attack_boost": "Elemental Attack Boost",
"environment_damage_negated": "Environment Damage Negated",
"health_recovery_l": "Health Recovery (L)",
"health_recovery_s": "Health Recovery (S)",
"health_recovery_s_antidote": "Health Recovery (S) + Antidote",
"health_regeneration": "Health Regeneration",
"infernal_melody": "Infernal Melody",
"knockbacks_negated": "Knockbacks Negated",
"self_improvement": "Self-Improvement",
"sharpness_extension": "Sharpness Extension",
"sharpness_loss_reduced": "Sharpness Loss Reduced",
"sharpness_regeneration": "Sharpness Regeneration",
"sonic_barrier": "Sonic Barrier",
"sonic_wave": "Sonic Wave",
"stamina_recovery_up": "Stamina Recovery Up",
"stamina_use_reduced": "Stamina Use Reduced",
"stun_negated": "Stun Negated",
"tremors_negated": "Tremors Negated",
"wind_pressure_negated": "Wind Pressure Negated"
},
"parts": { "parts": {
"abdomen": "腹部", "abdomen": "腹部",
"amatsu_unknown": "?", "amatsu_unknown": "?",

View File

@@ -38,6 +38,18 @@
"tranq_bomb": "麻醉", "tranq_bomb": "麻醉",
"waterblight": "水屬性異常" "waterblight": "水屬性異常"
}, },
"consumables": {
"adamant_seed": "Adamant Seed",
"armorskin": "Armorskin",
"dash_juice": "Dash Juice",
"demon_powder": "Demon Powder",
"demondrug": "Demondrug",
"hardshell_powder": "Hardshell Powder",
"immunizer": "Immunizer",
"mega_armorskin": "Mega Armorskin",
"mega_demondrug": "Mega Demondrug",
"might_seed": "Might Seed"
},
"customization_menu": { "customization_menu": {
"UI_font": "UI 字型", "UI_font": "UI 字型",
"UI_font_notice": "當更改文字時,請重新載入", "UI_font_notice": "當更改文字時,請重新載入",
@@ -323,6 +335,36 @@
"z": "Z軸" "z": "Z軸"
}, },
"font_name": "NotoSansTC-Bold.otf", "font_name": "NotoSansTC-Bold.otf",
"melody_effects": {
"affinity_up": "Affinity Up",
"attack_and_affinity_up": "Attack and Affinity Up",
"attack_and_defense_up": "Attack and Defense Up",
"attack_up": "Attack Up",
"blight_negated": "Blight Negated",
"defense_up": "Defense Up",
"divine_protection": "Divine Protection",
"earplugs_l": "Earplugs (L)",
"earplugs_s": "Earplugs (S)",
"elemental_attack_boost": "Elemental Attack Boost",
"environment_damage_negated": "Environment Damage Negated",
"health_recovery_l": "Health Recovery (L)",
"health_recovery_s": "Health Recovery (S)",
"health_recovery_s_antidote": "Health Recovery (S) + Antidote",
"health_regeneration": "Health Regeneration",
"infernal_melody": "Infernal Melody",
"knockbacks_negated": "Knockbacks Negated",
"self_improvement": "Self-Improvement",
"sharpness_extension": "Sharpness Extension",
"sharpness_loss_reduced": "Sharpness Loss Reduced",
"sharpness_regeneration": "Sharpness Regeneration",
"sonic_barrier": "Sonic Barrier",
"sonic_wave": "Sonic Wave",
"stamina_recovery_up": "Stamina Recovery Up",
"stamina_use_reduced": "Stamina Use Reduced",
"stun_negated": "Stun Negated",
"tremors_negated": "Tremors Negated",
"wind_pressure_negated": "Wind Pressure Negated"
},
"parts": { "parts": {
"abdomen": "腹部", "abdomen": "腹部",
"amatsu_unknown": "?", "amatsu_unknown": "?",