mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-30 07:18:03 -08:00
Compare commits
86 Commits
e67fbf923f
...
v2.7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
877a48583a | ||
|
|
ee6dfe2139 | ||
|
|
d4c52617d9 | ||
|
|
30d858b1f8 | ||
|
|
3c8f5019ab | ||
|
|
4caa69930d | ||
|
|
874c89daa5 | ||
|
|
26590a3e0b | ||
|
|
1439498a67 | ||
|
|
6a876ccdb4 | ||
|
|
9560dad602 | ||
|
|
032b77ca95 | ||
|
|
efdaae5b5a | ||
|
|
419d25070b | ||
|
|
bee2e7d873 | ||
|
|
9bcc1142f6 | ||
|
|
afec53e5f1 | ||
|
|
b3cfa61660 | ||
|
|
2f10a5d9e5 | ||
|
|
0dc74d4cc9 | ||
|
|
9b82e27725 | ||
|
|
2a3c8106d5 | ||
|
|
3b89ce8303 | ||
|
|
f2e23626cf | ||
|
|
8a55873e14 | ||
|
|
b93bdd0338 | ||
|
|
f01ec08990 | ||
|
|
b6ed4f036a | ||
|
|
fedf5bc7af | ||
|
|
009eb9ffb0 | ||
|
|
b8a7f109e0 | ||
|
|
51b824e385 | ||
|
|
c8bd65556e | ||
|
|
0781662344 | ||
|
|
5bdcd1b9cf | ||
|
|
305a78b654 | ||
|
|
6236c1e088 | ||
|
|
ba571b0426 | ||
|
|
2c7c229ec9 | ||
|
|
39dbd23791 | ||
|
|
96407c07bf | ||
|
|
1f3a7d2bf8 | ||
|
|
423635400c | ||
|
|
17b89d3d7f | ||
|
|
c3d78705a3 | ||
|
|
764b72f0ea | ||
|
|
df43908a31 | ||
|
|
0f72fba92d | ||
|
|
e586534c4d | ||
|
|
0951de24e2 | ||
|
|
480bc9c9b7 | ||
|
|
cbaa537a0b | ||
|
|
c25ceee3d6 | ||
|
|
5a29b60fca | ||
|
|
41f75d19d3 | ||
|
|
43b2946939 | ||
|
|
43fc14e01e | ||
|
|
66b192717c | ||
|
|
bfd9463c9e | ||
|
|
ae336eea2f | ||
|
|
5454bdd48e | ||
|
|
80e309a5dd | ||
|
|
f1102eaa28 | ||
|
|
bd02dab872 | ||
|
|
8887f3c235 | ||
|
|
5177a207a9 | ||
|
|
50131b08f1 | ||
|
|
89bb48602d | ||
|
|
1580b4c4c2 | ||
|
|
5c42502700 | ||
|
|
d7a4450a37 | ||
|
|
590b3b17c2 | ||
|
|
e20af6479e | ||
|
|
6bab1b2435 | ||
|
|
195252ed70 | ||
|
|
b9a3088658 | ||
|
|
a8060c8c58 | ||
|
|
49cac58bec | ||
|
|
af53399c50 | ||
|
|
a418bb0132 | ||
|
|
5f609a588a | ||
|
|
8fb02699cc | ||
|
|
b52c903af3 | ||
|
|
8ae3928fdc | ||
|
|
bf282ca13b | ||
|
|
c7b9e5b8f9 |
41
README.md
41
README.md
@@ -1,6 +1,6 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<h2 align="center"><b>"MHR Overlay" Mod for Monster Hunter: Rise</b></h2>
|
<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">Exposes internal game data about monsters, creatures, players, damage, buffs and debuffs. 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 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>
|
</p>
|
||||||
|
|
||||||
@@ -34,14 +34,14 @@
|
|||||||
<img alt="Platform" src="https://custom-icon-badges.demolab.com/badge/platform-win%20%7C%20linux%20%7C%20steam%20deck-blue?logo=device-desktop" />
|
<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>
|
||||||
<a href="">
|
<a href="">
|
||||||
<img alt="Maintenance" src="https://custom-icon-badges.demolab.com/maintenance/yes/2023?logo=tools" />
|
<img alt="Maintenance" src="https://custom-icon-badges.demolab.com/maintenance/yes/2024?logo=tools" />
|
||||||
</a>
|
</a>
|
||||||
<br>
|
<br>
|
||||||
<a href="https://www.nexusmods.com/monsterhunterrise/mods/26">
|
<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" />
|
<img alt="REFramework Dependency" src="https://custom-icon-badges.demolab.com/badge/dependency-REFramework%20v1.605%2B-green?logo=package-dependencies" />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://www.nexusmods.com/monsterhunterrise/mods/134">
|
<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" />
|
<img alt="REFramework Direct2D Dependency" src="https://custom-icon-badges.demolab.com/badge/dependency-REFramework%20Direct2D%20v1.0.0%2B-yellow?logo=package-dependencies" />
|
||||||
</a>
|
</a>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
@@ -135,33 +135,34 @@
|
|||||||
* **[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+);
|
1. **[REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26)** (v1.503+);
|
||||||
2. [REFramework Direct2D](https://www.nexusmods.com/monsterhunterrise/mods/134) (v0.4.0+) - Needed for Unicode Support.
|
2. **[REFramework Direct2D](https://www.nexusmods.com/monsterhunterrise/mods/134)** (v1.0.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)**;
|
||||||
2. Install [REFramework Direct2D](https://www.nexusmods.com/monsterhunterrise/mods/134);
|
2. Install **[REFramework Direct2D](https://www.nexusmods.com/monsterhunterrise/mods/134)**;
|
||||||
>**:pushpin: Windows:** Works normally.
|
>**:pushpin: Windows:** Works normally.
|
||||||
|
|
||||||
>**:pushpin: Linux:** Latest Experimental Proton seems to have it working normally as well (https://github.com/cursey/reframework-d2d/issues/5).
|
>**:pushpin: Linux:** Latest Experimental Proton seems to have it working normally as well (https://github.com/cursey/reframework-d2d/issues/5).
|
||||||
|
|
||||||
>**:pushpin: Steam Deck:** I've seen people getting it working but I don't have the exact instructions. You will have to figure it out yourself and/or search the nexus pages for information ([REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26?tab=description), [REFramework Direct2D](https://www.nexusmods.com/monsterhunterrise/mods/134), [MHR Overlay](https://www.nexusmods.com/monsterhunterrise/mods/50)).
|
>**:pushpin: Steam Deck:** I've seen people getting it working but I don't have the exact instructions. You will have to figure it out yourself and/or search the nexus pages for information (**[REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26?tab=description)**, **[REFramework Direct2D](https://www.nexusmods.com/monsterhunterrise/mods/134)**, **[MHR Overlay](https://www.nexusmods.com/monsterhunterrise/mods/50)**).
|
||||||
|
|
||||||
3. Download the mod:
|
3. Download the mod:
|
||||||
* Official release can be downloaded from [Nexus Mods](https://www.nexusmods.com/monsterhunterrise/mods/50);
|
* Official release can be downloaded from **[Nexus Mods](https://www.nexusmods.com/monsterhunterrise/mods/50)**;
|
||||||
* Nightly builds are available in [this repo](https://github.com/GreenComfyTea/MHR-Overlay) and can contain broken functionality, debugging info on screen, bugs and might require the latest [nightly build](https://github.com/praydog/REFramework-nightly/releases) of [REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26). Use with caution!
|
* Nightly builds are available in **[this repo](https://github.com/GreenComfyTea/MHR-Overlay)** and can contain broken functionality, debugging info on screen, bugs and might require the latest **[nightly build](https://github.com/praydog/REFramework-nightly/releases)** of **[REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26)**. Use with caution!
|
||||||
4. Extract the mod from the archive and place it in MonsterHunterRise folder. Refer to [FAQ](https://github.com/GreenComfyTea/MHR-Overlay/wiki/FAQ) to verify how the file hierarchy should look like if everything is done correctly.
|
4. Extract the mod from the archive and place it in MonsterHunterRise folder. Refer to **[FAQ](https://github.com/GreenComfyTea/MHR-Overlay/wiki/FAQ)** to verify how the file hierarchy should look like if everything is done correctly.
|
||||||
|
|
||||||
# Credits
|
# Credits
|
||||||
**GreenComfyTea** - creator of the mod and it's main contributor.
|
**[GreenComfyTea](https://github.com/GreenComfyTea)** - creator of the mod and it's main contributor.
|
||||||
**cursecat** - creator of [REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26), [REFramework Direct2D](https://www.nexusmods.com/monsterhunterrise/mods/134) plugin and [Monster Has HP Bar](https://www.nexusmods.com/monsterhunterrise/mods/43) mod, which provided an example on how to retrieve monster HP data.
|
**[cursey](https://github.com/cursey)** - creator of [REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26), [REFramework Direct2D](https://www.nexusmods.com/monsterhunterrise/mods/134) plugin and [Monster Has HP Bar](https://www.nexusmods.com/monsterhunterrise/mods/43) mod, which provided an example on how to retrieve monster HP data.
|
||||||
**praydog2** - creator of [REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26). Contributed huge improvements to the performance of the mod.
|
**[praydog](https://github.com/praydog)** - creator of [REFramework](https://www.nexusmods.com/monsterhunterrise/mods/26). Contributed huge improvements to the performance of the mod.
|
||||||
**coavins** - creator of [coavins damage meter](https://www.nexusmods.com/monsterhunterrise/mods/68) mod.
|
**[coavins](https://github.com/coavins)** - creator of [coavins damage meter](https://www.nexusmods.com/monsterhunterrise/mods/68) mod.
|
||||||
|
**[lingsamuel](https://github.com/lingsamuel)** - creator of [Data Reporter and Buff Notification](https://www.nexusmods.com/monsterhunterrise/mods/1609) mod.
|
||||||
|
|
||||||
**neatnet** - Korean translation.
|
**[neatnet](https://github.com/neatnet)** - Korean translation.
|
||||||
**s9000008, mcc1** - Traditional Chinese translation.
|
**[s9000008](https://github.com/s9000008)**, **[mcc1](https://github.com/mcc1)** - Traditional Chinese translation.
|
||||||
**etnAtker**, **sukiqwq** - Simplified Chinese translation.
|
**[etnAtker](https://github.com/etnAtker)**, **[sukiqwq](https://github.com/sukiqwq)** - Simplified Chinese translation.
|
||||||
**AKILAND0214** - Japanese translation.
|
**[AKILAND0214](https://github.com/AKILAND0214)** - Japanese translation.
|
||||||
***
|
***
|
||||||
# Support
|
# Support
|
||||||
|
|
||||||
|
|||||||
@@ -45,14 +45,16 @@ local utils = require("MHR_Overlay.Misc.utils");
|
|||||||
local player_info = require("MHR_Overlay.Misc.player_info");
|
local player_info = require("MHR_Overlay.Misc.player_info");
|
||||||
|
|
||||||
local buffs = require("MHR_Overlay.Buffs.buffs");
|
local buffs = require("MHR_Overlay.Buffs.buffs");
|
||||||
local consumables = require("MHR_Overlay.Buffs.consumables");
|
local item_buffs = require("MHR_Overlay.Buffs.item_buffs");
|
||||||
local melody_effects = require("MHR_Overlay.Buffs.melody_effects");
|
local melody_effects = require("MHR_Overlay.Buffs.melody_effects");
|
||||||
local endemic_life_buffs = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
local endemic_life_buffs = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
||||||
local skills = require("MHR_Overlay.Buffs.skills");
|
local skills = require("MHR_Overlay.Buffs.skills");
|
||||||
local dangos = require("MHR_Overlay.Buffs.dangos");
|
local dango_skills = require("MHR_Overlay.Buffs.dango_skills");
|
||||||
local abnormal_statuses = require("MHR_Overlay.Buffs.abnormal_statuses");
|
local abnormal_statuses = require("MHR_Overlay.Buffs.abnormal_statuses");
|
||||||
local otomo_moves = require("MHR_Overlay.Buffs.otomo_moves");
|
local otomo_moves = require("MHR_Overlay.Buffs.otomo_moves");
|
||||||
local weapon_skills = require("MHR_Overlay.Buffs.weapon_skills");
|
local weapon_skills = require("MHR_Overlay.Buffs.weapon_skills");
|
||||||
|
local rampage_skills = require("MHR_Overlay.Buffs.rampage_skills");
|
||||||
|
local misc_buffs = require("MHR_Overlay.Buffs.misc_buffs");
|
||||||
|
|
||||||
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");
|
||||||
@@ -127,14 +129,16 @@ buff_UI_entity.init_dependencies();
|
|||||||
player_info.init_dependencies();
|
player_info.init_dependencies();
|
||||||
|
|
||||||
buffs.init_dependencies();
|
buffs.init_dependencies();
|
||||||
consumables.init_dependencies();
|
item_buffs.init_dependencies();
|
||||||
melody_effects.init_dependencies();
|
melody_effects.init_dependencies();
|
||||||
endemic_life_buffs.init_dependencies();
|
endemic_life_buffs.init_dependencies();
|
||||||
skills.init_dependencies();
|
skills.init_dependencies();
|
||||||
dangos.init_dependencies();
|
dango_skills.init_dependencies();
|
||||||
abnormal_statuses.init_dependencies();
|
abnormal_statuses.init_dependencies();
|
||||||
otomo_moves.init_dependencies();
|
otomo_moves.init_dependencies();
|
||||||
weapon_skills.init_dependencies();
|
weapon_skills.init_dependencies();
|
||||||
|
rampage_skills.init_dependencies();
|
||||||
|
misc_buffs.init_dependencies();
|
||||||
|
|
||||||
damage_hook.init_dependencies();
|
damage_hook.init_dependencies();
|
||||||
players.init_dependencies();
|
players.init_dependencies();
|
||||||
@@ -204,14 +208,16 @@ buff_UI_entity.init_module();
|
|||||||
player_info.init_module();
|
player_info.init_module();
|
||||||
|
|
||||||
buffs.init_module();
|
buffs.init_module();
|
||||||
consumables.init_module();
|
item_buffs.init_module();
|
||||||
melody_effects.init_module();
|
melody_effects.init_module();
|
||||||
endemic_life_buffs.init_module();
|
endemic_life_buffs.init_module();
|
||||||
skills.init_module();
|
skills.init_module();
|
||||||
dangos.init_module();
|
dango_skills.init_module();
|
||||||
abnormal_statuses.init_module();
|
abnormal_statuses.init_module();
|
||||||
otomo_moves.init_module();
|
otomo_moves.init_module();
|
||||||
weapon_skills.init_module();
|
weapon_skills.init_module();
|
||||||
|
rampage_skills.init_module();
|
||||||
|
misc_buffs.init_module();
|
||||||
|
|
||||||
damage_hook.init_module();
|
damage_hook.init_module();
|
||||||
players.init_module();
|
players.init_module();
|
||||||
@@ -266,9 +272,9 @@ log.info("[MHR Overlay] Loaded.");
|
|||||||
|
|
||||||
local function update_modules(module_visibility_config, flow_state_name)
|
local function update_modules(module_visibility_config, flow_state_name)
|
||||||
if module_visibility_config.small_monster_UI and config.current_config.small_monster_UI.enabled then
|
if module_visibility_config.small_monster_UI and config.current_config.small_monster_UI.enabled then
|
||||||
local success = pcall(small_monster_UI.update);
|
local success, error = pcall(small_monster_UI.update);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Small Monster UI Update Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Small Monster UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -279,39 +285,39 @@ local function update_modules(module_visibility_config, flow_state_name)
|
|||||||
local highlighted_enabled = large_monster_UI_config.highlighted.enabled and module_visibility_config.large_monster_highlighted_UI;
|
local highlighted_enabled = large_monster_UI_config.highlighted.enabled and module_visibility_config.large_monster_highlighted_UI;
|
||||||
|
|
||||||
if dynamic_enabled or static_enabled or highlighted_enabled then
|
if dynamic_enabled or static_enabled or highlighted_enabled then
|
||||||
local success = pcall(large_monster_UI.update, dynamic_enabled, static_enabled, highlighted_enabled);
|
local success, error = pcall(large_monster_UI.update, dynamic_enabled, static_enabled, highlighted_enabled);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Large Monster UI Update Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Large Monster UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
||||||
local success = pcall(damage_meter_UI.update);
|
local success, error = pcall(damage_meter_UI.update);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Damage Meter UI Update Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Damage Meter UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.endemic_life_UI.enabled and module_visibility_config.endemic_life_UI then
|
if config.current_config.endemic_life_UI.enabled and module_visibility_config.endemic_life_UI then
|
||||||
local success = pcall(env_creature_UI.update);
|
local success, error = pcall(env_creature_UI.update);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Endemic Life UI Update Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Endemic Life UI: %s", flow_state_name, tostring(error)));
|
||||||
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.update);
|
local success, error = pcall(buff_UI.update);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Buff UI Update Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Buff UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function draw_modules(module_visibility_config, flow_state_name)
|
local function draw_modules(module_visibility_config, flow_state_name)
|
||||||
if module_visibility_config.small_monster_UI and config.current_config.small_monster_UI.enabled then
|
if module_visibility_config.small_monster_UI and config.current_config.small_monster_UI.enabled then
|
||||||
local success = pcall(small_monster_UI.draw);
|
local success, error = pcall(small_monster_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Small Monster UI Draw Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Small Monster UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -322,44 +328,44 @@ local function draw_modules(module_visibility_config, flow_state_name)
|
|||||||
local highlighted_enabled = large_monster_UI_config.highlighted.enabled and module_visibility_config.large_monster_highlighted_UI;
|
local highlighted_enabled = large_monster_UI_config.highlighted.enabled and module_visibility_config.large_monster_highlighted_UI;
|
||||||
|
|
||||||
if dynamic_enabled or static_enabled or highlighted_enabled then
|
if dynamic_enabled or static_enabled or highlighted_enabled then
|
||||||
local success = pcall(large_monster_UI.draw, dynamic_enabled, static_enabled, highlighted_enabled);
|
local success, error = pcall(large_monster_UI.draw, dynamic_enabled, static_enabled, highlighted_enabled);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Large Monster UI Draw Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Large Monster UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.time_UI.enabled and module_visibility_config.time_UI then
|
if config.current_config.time_UI.enabled and module_visibility_config.time_UI then
|
||||||
local success = pcall(time_UI.draw);
|
local success, error = pcall(time_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Time UI Draw Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Time UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
||||||
local success = pcall(damage_meter_UI.draw);
|
local success, error = pcall(damage_meter_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Damage Meter UI Draw Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Damage Meter UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.endemic_life_UI.enabled and module_visibility_config.endemic_life_UI then
|
if config.current_config.endemic_life_UI.enabled and module_visibility_config.endemic_life_UI then
|
||||||
local success = pcall(env_creature_UI.draw);
|
local success, error = pcall(env_creature_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Endemic Life UI Draw Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Endemic Life UI: %s", flow_state_name, tostring(error)));
|
||||||
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, error = pcall(buff_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Buff UI Draw Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Buff UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
if config.current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
||||||
local success = pcall(stats_UI.draw);
|
local success, error = pcall(stats_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Stats UI Draw Function threw an Exception", flow_state_name));
|
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Stats UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -375,30 +381,30 @@ local function update_UI()
|
|||||||
local highlighted_enabled = large_monster_UI_config.highlighted.enabled and module_visibility_config.large_monster_highlighted_UI;
|
local highlighted_enabled = large_monster_UI_config.highlighted.enabled and module_visibility_config.large_monster_highlighted_UI;
|
||||||
|
|
||||||
if dynamic_enabled or static_enabled or highlighted_enabled then
|
if dynamic_enabled or static_enabled or highlighted_enabled then
|
||||||
local success = pcall(large_monster_UI.update, dynamic_enabled, static_enabled, highlighted_enabled);
|
local success, error = pcall(large_monster_UI.update, dynamic_enabled, static_enabled, highlighted_enabled);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.update_loop", "[In Training Area] Large Monster UI Update Function threw an Exception");
|
error_handler.report("MHR_Overlay.update_UI", string.format("[In Training Area] Large Monster UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
||||||
local success = pcall(damage_meter_UI.update);
|
local success, error = pcall(damage_meter_UI.update);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.update_modules", "[In Training Area] Damage Meter UI Update Function threw an Exception");
|
error_handler.report("MHR_Overlay.update_UI", string.format("[In Training Area] Damage Meter UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.endemic_life_UI.enabled and module_visibility_config.endemic_life_UI then
|
if config.current_config.endemic_life_UI.enabled and module_visibility_config.endemic_life_UI then
|
||||||
local success = pcall(env_creature_UI.update);
|
local success, error = pcall(env_creature_UI.update);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.update_loop", "[In Training Area] Endemic Life UI Update Function threw an Exception");
|
error_handler.report("MHR_Overlay.update_UI", string.format("[In Training Area] Endemic Life UI: %s", tostring(error)));
|
||||||
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.update);
|
local success, error = pcall(buff_UI.update);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.update_loop", "[In Training Area] Buff UI Update Function threw an Exception");
|
error_handler.report("MHR_Overlay.update_UI", string.format("[In Training Area] Buff UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -430,9 +436,9 @@ local function draw_loop()
|
|||||||
local module_visibility_config = config.current_config.global_settings.module_visibility.in_lobby;
|
local module_visibility_config = config.current_config.global_settings.module_visibility.in_lobby;
|
||||||
|
|
||||||
if config.current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
if config.current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
||||||
local success = pcall(stats_UI.draw);
|
local success, error = pcall(stats_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.main_loop", "[In Training Area] Stats UI Draw Function threw an Exception");
|
error_handler.report("MHR_Overlay.main_loop", string.format("[In Training Area] Stats UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -446,37 +452,37 @@ local function draw_loop()
|
|||||||
local highlighted_enabled = large_monster_UI_config.highlighted.enabled and module_visibility_config.large_monster_highlighted_UI;
|
local highlighted_enabled = large_monster_UI_config.highlighted.enabled and module_visibility_config.large_monster_highlighted_UI;
|
||||||
|
|
||||||
if dynamic_enabled or static_enabled or highlighted_enabled then
|
if dynamic_enabled or static_enabled or highlighted_enabled then
|
||||||
local success = pcall(large_monster_UI.draw, dynamic_enabled, static_enabled, highlighted_enabled);
|
local success, error = pcall(large_monster_UI.draw, dynamic_enabled, static_enabled, highlighted_enabled);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.main_loop", "[In Training Area] Large Monster UI Draw Function threw an Exception");
|
error_handler.report("MHR_Overlay.main_loop", string.format("[In Training Area] Large Monster UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
||||||
local success = pcall(damage_meter_UI.draw);
|
local success, error = pcall(damage_meter_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.main_loop", "[In Training Area] Damage Meter UI Draw Function threw an Exception");
|
error_handler.report("MHR_Overlay.main_loop", string.format("[In Training Area] Damage Meter UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.endemic_life_UI.enabled and module_visibility_config.endemic_life_UI then
|
if config.current_config.endemic_life_UI.enabled and module_visibility_config.endemic_life_UI then
|
||||||
local success = pcall(env_creature_UI.draw);
|
local success, error = pcall(env_creature_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.main_loop", "[In Training Area] Endemic Life UI Draw Function threw an Exception");
|
error_handler.report("MHR_Overlay.main_loop", string.format("[In Training Area] Endemic Life UI: %s", tostring(error)));
|
||||||
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, error = pcall(buff_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.main_loop", "[In Training Area] Buff UI Draw Function threw an Exception");
|
error_handler.report("MHR_Overlay.main_loop", string.format("[In Training Area] Buff UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
if config.current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
||||||
local success = pcall(stats_UI.draw);
|
local success, error = pcall(stats_UI.draw);
|
||||||
if not success then
|
if not success then
|
||||||
error_handler.report("MHR_Overlay.main_loop", "[In Training Area] Stats UI Draw Function threw an Exception");
|
error_handler.report("MHR_Overlay.main_loop", string.format("[In Training Area] Stats UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -537,7 +543,6 @@ end
|
|||||||
|
|
||||||
re.on_frame(function()
|
re.on_frame(function()
|
||||||
time.update_timers();
|
time.update_timers();
|
||||||
keyboard.update();
|
|
||||||
|
|
||||||
if d2d == nil or not config.current_config.global_settings.renderer.use_d2d_if_available then
|
if d2d == nil or not config.current_config.global_settings.renderer.use_d2d_if_available then
|
||||||
draw_loop();
|
draw_loop();
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ local package = package;
|
|||||||
this.list = {
|
this.list = {
|
||||||
fireblight = nil,
|
fireblight = nil,
|
||||||
waterblight = nil,
|
waterblight = nil,
|
||||||
iceblight = nil,
|
|
||||||
thunderblight = nil,
|
thunderblight = nil,
|
||||||
|
iceblight = nil,
|
||||||
dragonblight = nil,
|
dragonblight = nil,
|
||||||
blastblight = nil,
|
blastblight = nil,
|
||||||
minor_bubbleblight = nil,
|
minor_bubbleblight = nil,
|
||||||
@@ -57,6 +57,7 @@ this.list = {
|
|||||||
deadly_poison = nil,
|
deadly_poison = nil,
|
||||||
stun = nil,
|
stun = nil,
|
||||||
paralysis = nil,
|
paralysis = nil,
|
||||||
|
falling_asleep = nil,
|
||||||
sleep = nil,
|
sleep = nil,
|
||||||
defense_down = nil,
|
defense_down = nil,
|
||||||
resistance_down = nil,
|
resistance_down = nil,
|
||||||
@@ -65,71 +66,107 @@ this.list = {
|
|||||||
webbed = nil,
|
webbed = nil,
|
||||||
stench = nil,
|
stench = nil,
|
||||||
leeched = nil,
|
leeched = nil,
|
||||||
whirlwind = nil,
|
-- whirlwind = nil,
|
||||||
bleeding = nil,
|
bleeding = nil,
|
||||||
frenzy = nil,
|
frenzy = nil,
|
||||||
frenzy_overcome = nil,
|
frenzy_overcome = nil,
|
||||||
frenzy_infection = nil,
|
|
||||||
engulfed = nil,
|
engulfed = nil,
|
||||||
frostblight = nil,
|
frostblight = nil,
|
||||||
muck = nil
|
muck = nil
|
||||||
};
|
};
|
||||||
|
|
||||||
local ailments_type_name = "ailments";
|
this.keys = {
|
||||||
|
"fireblight",
|
||||||
|
"waterblight",
|
||||||
|
"thunderblight",
|
||||||
|
"iceblight",
|
||||||
|
"dragonblight",
|
||||||
|
"blastblight",
|
||||||
|
"minor_bubbleblight",
|
||||||
|
"major_bubbleblight",
|
||||||
|
"hellfireblight",
|
||||||
|
"bloodblight",
|
||||||
|
"frostblight",
|
||||||
|
"poison",
|
||||||
|
"deadly_poison",
|
||||||
|
"stun",
|
||||||
|
"paralysis",
|
||||||
|
"falling_asleep",
|
||||||
|
"sleep",
|
||||||
|
"defense_down",
|
||||||
|
"resistance_down",
|
||||||
|
"tremor",
|
||||||
|
"roar",
|
||||||
|
"webbed",
|
||||||
|
"stench",
|
||||||
|
"leeched",
|
||||||
|
-- "whirlwind",
|
||||||
|
"bleeding",
|
||||||
|
"engulfed",
|
||||||
|
"muck",
|
||||||
|
"frenzy",
|
||||||
|
"frenzy_overcome",
|
||||||
|
"frenzy_infection"
|
||||||
|
};
|
||||||
|
|
||||||
|
this.UI = nil;
|
||||||
|
|
||||||
|
local abnormal_statuses_type_name = "abnormal_statuses";
|
||||||
|
|
||||||
local frenzy_infected_duration = 121;
|
local frenzy_infected_duration = 121;
|
||||||
|
|
||||||
local player_quest_base_type_def = sdk.find_type_definition("snow.player.PlayerQuestBase");
|
local player_quest_base_type_def = sdk.find_type_definition("snow.player.PlayerQuestBase");
|
||||||
|
|
||||||
-- Fireblight
|
-- Fireblight
|
||||||
local fire_duration_timer = player_quest_base_type_def:get_field("_FireLDurationTimer");
|
local fire_duration_timer_field = player_quest_base_type_def:get_field("_FireLDurationTimer");
|
||||||
-- Waterblight
|
-- Waterblight
|
||||||
local water_duration_timer = player_quest_base_type_def:get_field("_WaterLDurationTimer");
|
local water_duration_timer_field = player_quest_base_type_def:get_field("_WaterLDurationTimer");
|
||||||
-- Iceblight
|
|
||||||
local ice_duration_timer = player_quest_base_type_def:get_field("_IceLDurationTimer");
|
|
||||||
-- Thunderblight
|
-- Thunderblight
|
||||||
local thunder_duration_timer = player_quest_base_type_def:get_field("_ThunderLDurationTimer");
|
local thunder_duration_timer_field = player_quest_base_type_def:get_field("_ThunderLDurationTimer");
|
||||||
|
-- Iceblight
|
||||||
|
local ice_duration_timer_field = player_quest_base_type_def:get_field("_IceLDurationTimer");
|
||||||
-- Dragonblight
|
-- Dragonblight
|
||||||
local dragon_duration_timer = player_quest_base_type_def:get_field("_DragonLDurationTimer");
|
local dragon_duration_timer_field = player_quest_base_type_def:get_field("_DragonLDurationTimer");
|
||||||
-- blastblight
|
-- blastblight
|
||||||
local bomb_duration_timer = player_quest_base_type_def:get_field("_BombDurationTimer");
|
local bomb_duration_timer_field = player_quest_base_type_def:get_field("_BombDurationTimer");
|
||||||
-- Bubbleblight
|
-- Bubbleblight
|
||||||
local bubble_type_field = player_quest_base_type_def:get_field("_BubbleType");
|
local bubble_type_field = player_quest_base_type_def:get_field("_BubbleType");
|
||||||
local bubble_damage_timer = player_quest_base_type_def:get_field("_BubbleDamageTimer");
|
local bubble_damage_timer_field = player_quest_base_type_def:get_field("_BubbleDamageTimer");
|
||||||
-- Hellfireblight
|
-- Hellfireblight
|
||||||
local oni_bomb_duration_timer = player_quest_base_type_def:get_field("_OniBombDurationTimer");
|
local oni_bomb_duration_timer_field = player_quest_base_type_def:get_field("_OniBombDurationTimer");
|
||||||
-- Bloodblight
|
-- Bloodblight
|
||||||
local mystery_debuff_timer = player_quest_base_type_def:get_field("_MysteryDebuffTimer");
|
local mystery_debuff_timer_field = player_quest_base_type_def:get_field("_MysteryDebuffTimer");
|
||||||
-- Frostblight
|
-- Frostblight
|
||||||
local get_is_frozen_damage_method = player_quest_base_type_def:get_method("get_IsFrozenDamage");
|
local get_is_frozen_damage_method = player_quest_base_type_def:get_method("get_IsFrozenDamage");
|
||||||
|
|
||||||
-- Poison
|
-- Poison
|
||||||
local poison_level_field = player_quest_base_type_def:get_field("_PoisonLv");
|
local poison_level_field = player_quest_base_type_def:get_field("_PoisonLv");
|
||||||
local poison_duration_timer = player_quest_base_type_def:get_field("_PoisonDurationTimer");
|
local poison_duration_timer_field = player_quest_base_type_def:get_field("_PoisonDurationTimer");
|
||||||
-- Stun
|
-- Stun
|
||||||
local stun_duration_timer = player_quest_base_type_def:get_field("_StunDurationTimer");
|
local stun_duration_timer_field = player_quest_base_type_def:get_field("_StunDurationTimer");
|
||||||
|
-- Falling Sleep
|
||||||
|
local get_sleep_movable_timer_method = player_quest_base_type_def:get_method("get_SleepMovableTimer");
|
||||||
-- Sleep
|
-- Sleep
|
||||||
local sleep_duration_timer = player_quest_base_type_def:get_field("_SleepDurationTimer");
|
local sleep_duration_timer_field = player_quest_base_type_def:get_field("_SleepDurationTimer");
|
||||||
-- Paralysis
|
-- Paralysis
|
||||||
local paralyze_duration_timer = player_quest_base_type_def:get_field("_ParalyzeDurationTimer");
|
local paralyze_duration_timer_field = player_quest_base_type_def:get_field("_ParalyzeDurationTimer");
|
||||||
|
|
||||||
-- Defense Down
|
-- Defense Down
|
||||||
local defense_down_duration_timer = player_quest_base_type_def:get_field("_DefenceDownDurationTimer");
|
local defense_down_duration_timer_field = player_quest_base_type_def:get_field("_DefenceDownDurationTimer");
|
||||||
-- Resistance Down
|
-- Resistance Down
|
||||||
local resistance_down_duration_timer = player_quest_base_type_def:get_field("_ResistanceDownDurationTimer");
|
local resistance_down_duration_timer_field = player_quest_base_type_def:get_field("_ResistanceDownDurationTimer");
|
||||||
|
|
||||||
-- Tremor
|
-- Tremor
|
||||||
local quake_duration_timer = player_quest_base_type_def:get_field("_QuakeDurationTimer");
|
local quake_duration_timer_field = player_quest_base_type_def:get_field("_QuakeDurationTimer");
|
||||||
-- Roar
|
-- Roar
|
||||||
local ear_duration_timer = player_quest_base_type_def:get_field("_EarDurationTimer");
|
local ear_duration_timer_field = player_quest_base_type_def:get_field("_EarDurationTimer");
|
||||||
-- Webbed
|
-- Webbed
|
||||||
local beto_duration_timer = player_quest_base_type_def:get_field("_BetoDurationTimer");
|
local beto_duration_timer_field = player_quest_base_type_def:get_field("_BetoDurationTimer");
|
||||||
-- Stench
|
-- Stench
|
||||||
local stink_duration_timer = player_quest_base_type_def:get_field("_StinkDurationTimer");
|
local stink_duration_timer_field = player_quest_base_type_def:get_field("_StinkDurationTimer");
|
||||||
-- Leeched
|
-- Leeched
|
||||||
local blooding_enemy_timer = player_quest_base_type_def:get_field("_BloodingEnemyTimer");
|
local blooding_enemy_timer_field = player_quest_base_type_def:get_field("_BloodingEnemyTimer");
|
||||||
-- Bleeding
|
-- Bleeding
|
||||||
local bleeding_debuff_timer = player_quest_base_type_def:get_field("_BleedingDebuffTimer");
|
local bleeding_debuff_timer_field = player_quest_base_type_def:get_field("_BleedingDebuffTimer");
|
||||||
-- Engulfed
|
-- Engulfed
|
||||||
local get_is_vacuum_damage_method = player_quest_base_type_def:get_method("get__IsVacuumDamage");
|
local get_is_vacuum_damage_method = player_quest_base_type_def:get_method("get__IsVacuumDamage");
|
||||||
-- Muck
|
-- Muck
|
||||||
@@ -143,16 +180,11 @@ local virus_timer_field = player_quest_base_type_def:get_field("_VirusTimer");
|
|||||||
local virus_onset_timer_field = player_quest_base_type_def:get_field("_VirusOnsetTimer");
|
local virus_onset_timer_field = player_quest_base_type_def:get_field("_VirusOnsetTimer");
|
||||||
|
|
||||||
local player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
|
local player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
|
||||||
|
|
||||||
-- Frenzy Overcome
|
-- Frenzy Overcome
|
||||||
local virus_overcome_buff_timer_field = player_data_type_def:get_field("_VirusOvercomeBuffTimer");
|
local virus_overcome_buff_timer_field = player_data_type_def:get_field("_VirusOvercomeBuffTimer");
|
||||||
|
|
||||||
function this.update(player, player_data)
|
function this.update(player, player_data)
|
||||||
--local item_parameter = get_ref_item_parameter_method:call(singletons.player_manager);
|
|
||||||
--if item_parameter == nil then
|
|
||||||
-- error_handler.report("consumables.update", "Failed to access Data: item_parameter");
|
|
||||||
-- return;
|
|
||||||
--end
|
|
||||||
|
|
||||||
-- Missing:
|
-- Missing:
|
||||||
-- whirlwind?
|
-- whirlwind?
|
||||||
-- Wind Pressure?
|
-- Wind Pressure?
|
||||||
@@ -162,42 +194,68 @@ function this.update(player, player_data)
|
|||||||
this.update_muck(player);
|
this.update_muck(player);
|
||||||
this.update_frenzy_infection(player);
|
this.update_frenzy_infection(player);
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "fireblight", nil, nil, player, fire_duration_timer);
|
this.update_abnormal_status("fireblight", nil, nil, player, fire_duration_timer_field);
|
||||||
|
this.update_abnormal_status("waterblight", nil, nil, player, water_duration_timer_field);
|
||||||
|
this.update_abnormal_status("thunderblight", nil, nil, player, thunder_duration_timer_field);
|
||||||
|
this.update_abnormal_status("iceblight", nil, nil, player, ice_duration_timer_field);
|
||||||
|
this.update_abnormal_status("dragonblight", nil, nil, player, dragon_duration_timer_field);
|
||||||
|
this.update_abnormal_status("blastblight", nil, nil, player, bomb_duration_timer_field);
|
||||||
|
this.update_abnormal_status("hellfireblight", nil, nil, player, oni_bomb_duration_timer_field);
|
||||||
|
this.update_abnormal_status("bloodblight", nil, nil, player, mystery_debuff_timer_field);
|
||||||
|
this.update_abnormal_status("frostblight", player, get_is_frozen_damage_method);
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "fireblight", nil, nil, player, fire_duration_timer);
|
this.update_abnormal_status("stun", nil, nil, player, stun_duration_timer_field);
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "waterblight", nil, nil, player, water_duration_timer);
|
this.update_abnormal_status("paralysis", nil, nil, player, paralyze_duration_timer_field);
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "iceblight", nil, nil, player, ice_duration_timer);
|
this.update_abnormal_status("falling_asleep", nil, nil, player, get_sleep_movable_timer_method);
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "thunderblight", nil, nil, player, thunder_duration_timer);
|
this.update_abnormal_status("defense_down", nil, nil, player, defense_down_duration_timer_field);
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "dragonblight", nil, nil, player, dragon_duration_timer);
|
this.update_abnormal_status("resistance_down", nil, nil, player, resistance_down_duration_timer_field);
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "blastblight", nil, nil, player, bomb_duration_timer);
|
this.update_abnormal_status("tremor", nil, nil, player, quake_duration_timer_field);
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "hellfireblight", nil, nil, player, oni_bomb_duration_timer);
|
this.update_abnormal_status("roar", nil, nil, player, ear_duration_timer_field);
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "bloodblight", nil, nil, player, mystery_debuff_timer);
|
this.update_abnormal_status("webbed", nil, nil, player, beto_duration_timer_field);
|
||||||
|
this.update_abnormal_status("stench", nil, nil, player, stink_duration_timer_field);
|
||||||
|
this.update_abnormal_status("leeched", nil, nil, player, blooding_enemy_timer_field, true);
|
||||||
|
this.update_abnormal_status("bleeding", nil, nil, player, bleeding_debuff_timer_field);
|
||||||
|
this.update_abnormal_status("engulfed", player, get_is_vacuum_damage_method);
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "stun", nil, nil, player, stun_duration_timer);
|
this.update_abnormal_status("frenzy", nil, nil, player, virus_onset_timer_field);
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "paralysis", nil, nil, player, paralyze_duration_timer);
|
this.update_abnormal_status("frenzy_overcome", nil, nil, player_data, virus_overcome_buff_timer_field);
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "sleep", nil, nil, player, sleep_duration_timer);
|
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "defense_down", nil, nil, player, defense_down_duration_timer);
|
this.update_sleep(player);
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "resistance_down", nil, nil, player, resistance_down_duration_timer);
|
end
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "tremor", nil, nil, player, quake_duration_timer);
|
function this.update_abnormal_status(key, value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "roar", nil, nil, player, ear_duration_timer);
|
return buffs.update_generic_buff(this.list, config.current_config.buff_UI.filter.abnormal_statuses, this.get_abnormal_status_name,
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "webbed", nil, nil, player, beto_duration_timer);
|
abnormal_statuses_type_name, key, value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints);
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "stench", nil, nil, player, stink_duration_timer);
|
end
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "leeched", nil, nil, player, blooding_enemy_timer, nil, nil, true);
|
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "bleeding", nil, nil, player, bleeding_debuff_timer);
|
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "frenzy", nil, nil, player, virus_onset_timer_field);
|
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "frenzy_overcome", nil, nil, player_data, virus_overcome_buff_timer_field);
|
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "engulfed", player, get_is_vacuum_damage_method);
|
function this.update_generic(key, level, timer)
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "frostblight", player, get_is_frozen_damage_method);
|
return buffs.update_generic(this.list, this.get_abnormal_status_name, abnormal_statuses_type_name, key, level, timer);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.apply_filter(key)
|
||||||
|
return buffs.apply_filter(this.list, config.current_config.buff_UI.filter.abnormal_statuses, key);
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_poison(player)
|
function this.update_poison(player)
|
||||||
|
local cached_config = config.current_config.buff_UI.filter.abnormal_statuses;
|
||||||
|
|
||||||
|
if not cached_config.poison
|
||||||
|
and not cached_config.deadly_poison then
|
||||||
|
if this.apply_filter("poison") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if this.apply_filter("deadly_poison") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local poison_level = poison_level_field:get_data(player);
|
local poison_level = poison_level_field:get_data(player);
|
||||||
if poison_level == nil then
|
if poison_level == nil then
|
||||||
error_handler.report("abnormal_statuses.update_poison", "Failed to access Data: poison_level");
|
error_handler.report("abnormal_statuses.update_poison", "Failed to Access Data: poison_level");
|
||||||
|
this.list.poison = nil;
|
||||||
|
this.list.deadly_poison = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -208,18 +266,33 @@ function this.update_poison(player)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if poison_level == 1 then
|
if poison_level == 1 then
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "poison", player, poison_duration_timer);
|
this.update_abnormal_status("poison", nil, nil, player, poison_duration_timer_field);
|
||||||
this.list.deadly_poison = nil;
|
this.list.deadly_poison = nil;
|
||||||
else
|
else
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "deadly_poison", player, poison_duration_timer);
|
this.update_abnormal_status("deadly_poison", nil, nil, player, poison_duration_timer_field);
|
||||||
this.list.poison = nil;
|
this.list.poison = nil;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_bubbleblight(player)
|
function this.update_bubbleblight(player)
|
||||||
|
local cached_config = config.current_config.buff_UI.filter.abnormal_statuses;
|
||||||
|
|
||||||
|
if not cached_config.minor_bubbleblight
|
||||||
|
and not cached_config.major_bubbleblight then
|
||||||
|
if this.apply_filter("minor_bubbleblight") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if this.apply_filter("major_bubbleblight") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local bubble_type = bubble_type_field:get_data(player);
|
local bubble_type = bubble_type_field:get_data(player);
|
||||||
if bubble_type == nil then
|
if bubble_type == nil then
|
||||||
error_handler.report("abnormal_statuses.update_bubbleblight", "Failed to access Data: bubble_Type");
|
error_handler.report("abnormal_statuses.update_bubbleblight", "Failed to Access Data: bubble_Type");
|
||||||
|
this.list.minor_bubbleblight = nil;
|
||||||
|
this.list.major_bubbleblight = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -230,24 +303,30 @@ function this.update_bubbleblight(player)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if bubble_type == 1 then
|
if bubble_type == 1 then
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "minor_bubbleblight", player, bubble_damage_timer);
|
this.update_abnormal_status("minor_bubbleblight", nil, nil, player, bubble_damage_timer_field);
|
||||||
this.list.major_bubbleblight = nil;
|
this.list.major_bubbleblight = nil;
|
||||||
else
|
else
|
||||||
buffs.update_generic_buff(this.list, ailments_type_name, "major_bubbleblight", player, bubble_damage_timer);
|
this.update_abnormal_status("major_bubbleblight", nil, nil, player, bubble_damage_timer_field);
|
||||||
this.list.minor_bubbleblight = nil;
|
this.list.minor_bubbleblight = nil;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_muck(player)
|
function this.update_muck(player)
|
||||||
|
if this.apply_filter("muck") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
local is_mud_damage = get_is_mud_damage_method:call(player);
|
local is_mud_damage = get_is_mud_damage_method:call(player);
|
||||||
if is_mud_damage == nil then
|
if is_mud_damage == nil then
|
||||||
error_handler.report("abnormal_statuses.update_generic_boolean_value_method", "Failed to access Data: is_mud_damage");
|
error_handler.report("abnormal_statuses.update_generic_boolean_value_method", "Failed to Access Data: is_mud_damage");
|
||||||
|
this.list.muck = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_gold_mud_damage = get_is_gold_mud_damage_method:call(player);
|
local is_gold_mud_damage = get_is_gold_mud_damage_method:call(player);
|
||||||
if is_gold_mud_damage == nil then
|
if is_gold_mud_damage == nil then
|
||||||
error_handler.report("abnormal_statuses.update_generic_boolean_value_method", "Failed to access Data: is_gold_mud_damage");
|
error_handler.report("abnormal_statuses.update_generic_boolean_value_method", "Failed to Access Data: is_gold_mud_damage");
|
||||||
|
this.list.muck = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -256,19 +335,25 @@ function this.update_muck(player)
|
|||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
buffs.update_generic(ailments_type_name, "muck");
|
this.update_generic("muck");
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_frenzy_infection(player)
|
function this.update_frenzy_infection(player)
|
||||||
|
if this.apply_filter("frenzy_infection") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
local virus_accumulator_value = virus_accumulator_field:get_data(player);
|
local virus_accumulator_value = virus_accumulator_field:get_data(player);
|
||||||
if virus_accumulator_value == nil then
|
if virus_accumulator_value == nil then
|
||||||
error_handler.report("abnormal_statuses.update_frenzy_infection", "Failed to access Data: virus_accumulator_value");
|
error_handler.report("abnormal_statuses.update_frenzy_infection", "Failed to Access Data: virus_accumulator_value");
|
||||||
|
this.list.frenzy_infection = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local virus_timer = virus_timer_field:get_data(player);
|
local virus_timer = virus_timer_field:get_data(player);
|
||||||
if virus_timer == nil then
|
if virus_timer == nil then
|
||||||
error_handler.report("abnormal_statuses.update_frenzy_infection", "Failed to access Data: virus_timer");
|
error_handler.report("abnormal_statuses.update_frenzy_infection", "Failed to Access Data: virus_timer");
|
||||||
|
this.list.frenzy_infection = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -279,19 +364,42 @@ function this.update_frenzy_infection(player)
|
|||||||
|
|
||||||
local timer = frenzy_infected_duration - (virus_accumulator_value + virus_timer / 60);
|
local timer = frenzy_infected_duration - (virus_accumulator_value + virus_timer / 60);
|
||||||
|
|
||||||
buffs.update_generic(this.list, ailments_type_name, "frenzy_infection", 1, timer, frenzy_infected_duration);
|
this.update_generic("frenzy_infection", 1, timer);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_sleep(player)
|
||||||
|
if this.apply_filter("sleep") then
|
||||||
|
this.list.sleep = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if this.list.falling_asleep ~= nil then
|
||||||
|
this.list.sleep = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_abnormal_status("sleep", nil, nil, player, sleep_duration_timer_field);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_all_UI()
|
||||||
|
for abnormal_status_key, abnormal_status in pairs(this.list) do
|
||||||
|
buffs.init_UI(abnormal_status);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_names()
|
function this.init_names()
|
||||||
for debuff_key, debuff in pairs(this.list) do
|
for abnormal_status_key, abnormal_status in pairs(this.list) do
|
||||||
local name = language.current_language.ailments[debuff_key];
|
abnormal_status.name = this.get_abnormal_status_name(abnormal_status_key);
|
||||||
|
end
|
||||||
if name == nil then
|
|
||||||
name = debuff_key;
|
|
||||||
end
|
end
|
||||||
|
|
||||||
debuff.name = name;
|
function this.get_abnormal_status_name(key)
|
||||||
|
local abnormal_status_name = language.current_language.ailments[key];
|
||||||
|
if abnormal_status_name == nil then
|
||||||
|
return key;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
return abnormal_status_name;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_dependencies()
|
function this.init_dependencies()
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ local buff_UI_entity;
|
|||||||
local config;
|
local config;
|
||||||
local singletons;
|
local singletons;
|
||||||
local players;
|
local players;
|
||||||
local consumables;
|
local item_buffs;
|
||||||
local melody_effects;
|
local melody_effects;
|
||||||
local utils;
|
local utils;
|
||||||
local language;
|
local language;
|
||||||
@@ -13,10 +13,12 @@ local quest_status;
|
|||||||
local error_handler;
|
local error_handler;
|
||||||
local endemic_life_buffs;
|
local endemic_life_buffs;
|
||||||
local skills;
|
local skills;
|
||||||
local dangos;
|
local dango_skills;
|
||||||
local abnormal_statuses;
|
local abnormal_statuses;
|
||||||
local otomo_moves;
|
local otomo_moves;
|
||||||
local weapon_skills;
|
local weapon_skills;
|
||||||
|
local misc_buffs;
|
||||||
|
local rampage_skills;
|
||||||
|
|
||||||
local sdk = sdk;
|
local sdk = sdk;
|
||||||
local tostring = tostring;
|
local tostring = tostring;
|
||||||
@@ -51,8 +53,8 @@ local ValueType = ValueType;
|
|||||||
local package = package;
|
local package = package;
|
||||||
|
|
||||||
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
|
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 find_master_player_method = player_manager_type_def:get_method("findMasterPlayer");
|
||||||
|
local get_ref_item_parameter_method = player_manager_type_def:get_method("get_RefItemParameter");
|
||||||
|
|
||||||
local player_base_type_def = find_master_player_method:get_return_type();
|
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 get_player_data_method = player_base_type_def:get_method("get_PlayerData");
|
||||||
@@ -89,7 +91,7 @@ function this.new(type, key, name, level, duration)
|
|||||||
buff.timer = duration;
|
buff.timer = duration;
|
||||||
buff.duration = duration;
|
buff.duration = duration;
|
||||||
|
|
||||||
buff.is_active = true;
|
buff.is_visible = true;
|
||||||
|
|
||||||
buff.timer_percentage = 0;
|
buff.timer_percentage = 0;
|
||||||
|
|
||||||
@@ -109,27 +111,48 @@ function this.init_buffs()
|
|||||||
this.list = {};
|
this.list = {};
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function this.init_all_UI()
|
||||||
|
abnormal_statuses.init_all_UI();
|
||||||
|
item_buffs.init_all_UI();
|
||||||
|
endemic_life_buffs.init_all_UI();
|
||||||
|
melody_effects.init_all_UI();
|
||||||
|
dango_skills.init_all_UI();
|
||||||
|
rampage_skills.init_all_UI();
|
||||||
|
skills.init_all_UI();
|
||||||
|
weapon_skills.init_all_UI();
|
||||||
|
otomo_moves.init_all_UI();
|
||||||
|
misc_buffs.init_all_UI();
|
||||||
|
end
|
||||||
|
|
||||||
function this.init_UI(buff)
|
function this.init_UI(buff)
|
||||||
local cached_config = config.current_config.buff_UI;
|
local cached_config = config.current_config.buff_UI[buff.type];
|
||||||
buff.buff_UI = buff_UI_entity.new(cached_config.bar, cached_config.name_label, cached_config.timer_label);
|
buff.buff_UI = buff_UI_entity.new(cached_config.bar, cached_config.name_label, cached_config.timer_label);
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_names()
|
function this.init_names()
|
||||||
consumables.init_names();
|
|
||||||
melody_effects.init_names();
|
|
||||||
endemic_life_buffs.init_names();
|
|
||||||
skills.init_names();
|
|
||||||
dangos.init_names();
|
|
||||||
abnormal_statuses.init_names();
|
abnormal_statuses.init_names();
|
||||||
|
item_buffs.init_names();
|
||||||
|
endemic_life_buffs.init_names();
|
||||||
|
melody_effects.init_names();
|
||||||
|
dango_skills.init_names();
|
||||||
|
rampage_skills.init_names();
|
||||||
|
skills.init_names();
|
||||||
|
weapon_skills.init_names();
|
||||||
|
otomo_moves.init_names();
|
||||||
|
misc_buffs.init_names();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local tere = {};
|
||||||
|
local tere2 = {};
|
||||||
|
local tere3 = {};
|
||||||
|
|
||||||
function this.update()
|
function this.update()
|
||||||
if not config.current_config.buff_UI.enabled then
|
if not config.current_config.buff_UI.enabled then
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
if singletons.player_manager == nil then
|
if singletons.player_manager == nil then
|
||||||
error_handler.report("buffs.update", "Failed to access Data: player_manager");
|
error_handler.report("buffs.update", "Failed to Access Data: player_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -141,7 +164,7 @@ function this.update()
|
|||||||
|
|
||||||
local master_player = find_master_player_method:call(singletons.player_manager);
|
local master_player = find_master_player_method:call(singletons.player_manager);
|
||||||
if master_player == nil then
|
if master_player == nil then
|
||||||
error_handler.report("buffs.update", "Failed to access Data: master_player");
|
error_handler.report("buffs.update", "Failed to Access Data: master_player");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -149,31 +172,46 @@ function this.update()
|
|||||||
|
|
||||||
local master_player_data = get_player_data_method:call(master_player);
|
local master_player_data = get_player_data_method:call(master_player);
|
||||||
if master_player_data == nil then
|
if master_player_data == nil then
|
||||||
error_handler.report("buffs.update", "Failed to access Data: master_player_data");
|
error_handler.report("buffs.update", "Failed to Access Data: master_player_data");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local weapon_type = player_weapon_type_field:get_data(master_player);
|
local weapon_type = player_weapon_type_field:get_data(master_player);
|
||||||
if weapon_type == nil then
|
if weapon_type == nil then
|
||||||
error_handler.report("skills.update", "Failed to access Data: weapon_type");
|
error_handler.report("buffs.update", "Failed to Access Data: weapon_type");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if singletons.player_manager == nil then
|
||||||
|
error_handler.report("buffs.update", "Failed to Access Data: player_manager");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local item_parameter = get_ref_item_parameter_method:call(singletons.player_manager);
|
||||||
|
if item_parameter == nil then
|
||||||
|
error_handler.report("buffs.update", "Failed to Access Data: item_parameter");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_player_lobby_base = master_player:get_type_definition() == player_lobby_base_type_def;
|
local is_player_lobby_base = master_player:get_type_definition() == player_lobby_base_type_def;
|
||||||
|
|
||||||
consumables.update(master_player_data);
|
item_buffs.update(master_player_data, item_parameter);
|
||||||
|
rampage_skills.update(master_player_data);
|
||||||
otomo_moves.update(master_player_data);
|
otomo_moves.update(master_player_data);
|
||||||
|
|
||||||
if not is_player_lobby_base then
|
if not is_player_lobby_base then
|
||||||
skills.update(master_player, master_player_data, weapon_type);
|
|
||||||
dangos.update(master_player, master_player_data);
|
|
||||||
endemic_life_buffs.update(master_player, master_player_data);
|
|
||||||
abnormal_statuses.update(master_player, master_player_data);
|
abnormal_statuses.update(master_player, master_player_data);
|
||||||
|
endemic_life_buffs.update(master_player, master_player_data);
|
||||||
|
dango_skills.update(master_player, master_player_data);
|
||||||
|
skills.update(master_player, master_player_data, weapon_type);
|
||||||
weapon_skills.update(master_player, master_player_data, weapon_type);
|
weapon_skills.update(master_player, master_player_data, weapon_type);
|
||||||
|
misc_buffs.update(master_player, master_player_data, item_parameter);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_timer(buff, timer, duration)
|
function this.update_timer(buff, timer)
|
||||||
|
buff.is_visible = true;
|
||||||
|
|
||||||
if timer == nil then
|
if timer == nil then
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -182,10 +220,8 @@ function this.update_timer(buff, timer, duration)
|
|||||||
timer = 0;
|
timer = 0;
|
||||||
end
|
end
|
||||||
|
|
||||||
duration = duration or timer;
|
if timer > buff.duration or timer > buff.timer then
|
||||||
|
buff.duration = timer;
|
||||||
if duration > buff.duration then
|
|
||||||
buff.duration = duration;
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local minutes_left = math.floor(timer / 60);
|
local minutes_left = math.floor(timer / 60);
|
||||||
@@ -199,14 +235,17 @@ function this.update_timer(buff, timer, duration)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_generic_buff(buff_list, buff_type, buff_key,
|
function this.update_generic_buff(buff_list, filter_list, get_name_function,
|
||||||
|
buff_type, buff_key,
|
||||||
value_owner, value_holder,
|
value_owner, value_holder,
|
||||||
timer_owner, timer_holder,
|
timer_owner, timer_holder,
|
||||||
duration_owner, duration_holder,
|
|
||||||
is_infinite, minimal_value, level_breakpoints)
|
is_infinite, minimal_value, level_breakpoints)
|
||||||
|
|
||||||
|
if this.apply_filter(buff_list, filter_list, buff_key) then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
if timer_owner == nil then timer_owner = value_owner; end
|
if timer_owner == nil then timer_owner = value_owner; end
|
||||||
if duration_owner == nil then duration_owner = value_owner; end
|
|
||||||
if minimal_value == nil then minimal_value = 1; end
|
if minimal_value == nil then minimal_value = 1; end
|
||||||
|
|
||||||
local level = 1;
|
local level = 1;
|
||||||
@@ -220,7 +259,8 @@ function this.update_generic_buff(buff_list, buff_type, buff_key,
|
|||||||
end
|
end
|
||||||
|
|
||||||
if value == nil then
|
if value == nil then
|
||||||
error_handler.report("buffs.update_generic_number", string.format("Failed to access Data: %s_value", buff_key));
|
error_handler.report("buffs.update_generic_number", string.format("Failed to Access Data: %s_value", buff_key));
|
||||||
|
buff_list[buff_key] = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -256,7 +296,8 @@ function this.update_generic_buff(buff_list, buff_type, buff_key,
|
|||||||
end
|
end
|
||||||
|
|
||||||
if timer == nil then
|
if timer == nil then
|
||||||
error_handler.report("buffs.update_generic_number", string.format("Failed to access Data: %s_timer", buff_key));
|
error_handler.report("buffs.update_generic_number", string.format("Failed to Access Data: %s_timer", buff_key));
|
||||||
|
buff_list[buff_key] = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -272,41 +313,62 @@ function this.update_generic_buff(buff_list, buff_type, buff_key,
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local duration = nil;
|
return this.update_generic(buff_list, get_name_function, buff_type, buff_key, level, timer);
|
||||||
if duration_holder ~= nil then
|
|
||||||
if utils.type.is_REField(duration_holder) then
|
|
||||||
duration = duration_holder:get_data(duration_owner);
|
|
||||||
else
|
|
||||||
duration = duration_holder:call(duration_owner);
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if duration == nil then
|
function this.update_generic(buff_list, get_name_function, buff_type, buff_key, level, timer)
|
||||||
error_handler.report("buffs.update_generic_number", string.format("Failed to access Data: %s_duration", buff_key));
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return this.update_generic(buff_list, buff_type, buff_key, level, timer, duration);
|
|
||||||
end
|
|
||||||
|
|
||||||
function this.update_generic(buff_list, buff_type, buff_key, level, timer, duration)
|
|
||||||
duration = duration or timer;
|
|
||||||
level = level or 1;
|
level = level or 1;
|
||||||
|
|
||||||
local buff = buff_list[buff_key];
|
local buff = buff_list[buff_key];
|
||||||
if buff == nil then
|
if buff == nil then
|
||||||
local name = language.current_language[buff_type][buff_key];
|
local name = get_name_function(buff_key);
|
||||||
|
|
||||||
buff = this.new(buff_type, buff_key, name, level, duration);
|
buff = this.new(buff_type, buff_key, name, level, timer);
|
||||||
buff_list[buff_key] = buff;
|
buff_list[buff_key] = buff;
|
||||||
else
|
else
|
||||||
|
if buff.level ~= level then
|
||||||
|
buff.duration = timer;
|
||||||
|
end
|
||||||
|
|
||||||
buff.level = level;
|
buff.level = level;
|
||||||
this.update_timer(buff, timer, duration);
|
this.update_timer(buff, timer);
|
||||||
end
|
end
|
||||||
|
|
||||||
return buff;
|
return buff;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function this.apply_filter(buff_list, filter_list, buff_key)
|
||||||
|
if filter_list[buff_key] then
|
||||||
|
return false;
|
||||||
|
end
|
||||||
|
|
||||||
|
local buff = buff_list[buff_key];
|
||||||
|
if buff == nil then
|
||||||
|
return true;
|
||||||
|
end
|
||||||
|
|
||||||
|
if not buff.is_visible then
|
||||||
|
return true;
|
||||||
|
end
|
||||||
|
|
||||||
|
if buff.is_infinite then
|
||||||
|
buff_list[buff_key] = nil;
|
||||||
|
return true;
|
||||||
|
end
|
||||||
|
|
||||||
|
time.new_delay_timer(function()
|
||||||
|
|
||||||
|
local _buff = buff_list[buff_key];
|
||||||
|
if _buff ~= nil and not _buff.is_visible then
|
||||||
|
buff_list[buff_key] = nil;
|
||||||
|
end
|
||||||
|
|
||||||
|
end, buff.timer);
|
||||||
|
|
||||||
|
buff.is_visible = false;
|
||||||
|
return true;
|
||||||
|
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
|
||||||
@@ -316,7 +378,7 @@ function this.init_dependencies()
|
|||||||
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");
|
singletons = require("MHR_Overlay.Game_Handler.singletons");
|
||||||
players = require("MHR_Overlay.Damage_Meter.players");
|
players = require("MHR_Overlay.Damage_Meter.players");
|
||||||
consumables = require("MHR_Overlay.Buffs.consumables");
|
item_buffs = require("MHR_Overlay.Buffs.item_buffs");
|
||||||
melody_effects = require("MHR_Overlay.Buffs.melody_effects");
|
melody_effects = require("MHR_Overlay.Buffs.melody_effects");
|
||||||
utils = require("MHR_Overlay.Misc.utils");
|
utils = require("MHR_Overlay.Misc.utils");
|
||||||
language = require("MHR_Overlay.Misc.language");
|
language = require("MHR_Overlay.Misc.language");
|
||||||
@@ -325,10 +387,12 @@ function this.init_dependencies()
|
|||||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
endemic_life_buffs = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
endemic_life_buffs = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
||||||
skills = require("MHR_Overlay.Buffs.skills");
|
skills = require("MHR_Overlay.Buffs.skills");
|
||||||
dangos = require("MHR_Overlay.Buffs.dangos");
|
dango_skills = require("MHR_Overlay.Buffs.dango_skills");
|
||||||
abnormal_statuses = require("MHR_Overlay.Buffs.abnormal_statuses");
|
abnormal_statuses = require("MHR_Overlay.Buffs.abnormal_statuses");
|
||||||
otomo_moves = require("MHR_Overlay.Buffs.otomo_moves");
|
otomo_moves = require("MHR_Overlay.Buffs.otomo_moves");
|
||||||
weapon_skills = require("MHR_Overlay.Buffs.weapon_skills");
|
weapon_skills = require("MHR_Overlay.Buffs.weapon_skills");
|
||||||
|
rampage_skills = require("MHR_Overlay.Buffs.rampage_skills");
|
||||||
|
misc_buffs = require("MHR_Overlay.Buffs.misc_buffs");
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_module()
|
function this.init_module()
|
||||||
|
|||||||
@@ -1,245 +0,0 @@
|
|||||||
local this = {};
|
|
||||||
|
|
||||||
local buffs;
|
|
||||||
local buff_UI_entity;
|
|
||||||
local config;
|
|
||||||
local singletons;
|
|
||||||
local players;
|
|
||||||
local utils;
|
|
||||||
local language;
|
|
||||||
local error_handler;
|
|
||||||
|
|
||||||
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,
|
|
||||||
demon_powder = nil,
|
|
||||||
hardshell_powder = nil,
|
|
||||||
immunizer = nil,
|
|
||||||
dash_juice = nil,
|
|
||||||
gourmet_fish = nil,
|
|
||||||
};
|
|
||||||
|
|
||||||
local consumables_type_name = "consumables";
|
|
||||||
|
|
||||||
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");
|
|
||||||
-- Gourmet Fish
|
|
||||||
local fish_regene_enable_field = player_data_type_def:get_field("_FishRegeneEnableTimer");
|
|
||||||
|
|
||||||
function this.update(player_data)
|
|
||||||
local item_parameter = get_ref_item_parameter_method:call(singletons.player_manager);
|
|
||||||
if item_parameter == nil then
|
|
||||||
error_handler.report("consumables.update", "Failed to access Data: item_parameter");
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
this.update_demondrug(player_data, item_parameter);
|
|
||||||
this.update_armorskin(player_data, item_parameter);
|
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, consumables_type_name, "might_seed",
|
|
||||||
player_data, atk_up_buff_second_field,
|
|
||||||
player_data, atk_up_buff_second_timer_field,
|
|
||||||
item_parameter, might_seed_timer_field);
|
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, consumables_type_name, "adamant_seed",
|
|
||||||
player_data, def_up_buff_second_field,
|
|
||||||
player_data, def_up_buff_second_timer_field,
|
|
||||||
item_parameter, adamant_seed_timer_field);
|
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, consumables_type_name, "demon_powder",
|
|
||||||
player_data, atk_up_item_second_field,
|
|
||||||
player_data, atk_up_item_second_timer_field,
|
|
||||||
item_parameter, demondrug_powder_timer_field);
|
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, consumables_type_name, "hardshell_powder",
|
|
||||||
player_data, def_up_item_second_field,
|
|
||||||
player_data, def_up_item_second_timer_field,
|
|
||||||
item_parameter, armorskin_powder_timer_field);
|
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, consumables_type_name, "immunizer",
|
|
||||||
nil, nil,
|
|
||||||
player_data, vitalizer_timer_field,
|
|
||||||
item_parameter, vitalizer_timer_const_field);
|
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, consumables_type_name, "immunizer",
|
|
||||||
nil, nil,
|
|
||||||
player_data, stamina_up_buff_second_timer_field,
|
|
||||||
item_parameter, stamina_up_buff_second_field);
|
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, consumables_type_name, "gourmet_fish",
|
|
||||||
nil, nil,
|
|
||||||
player_data, fish_regene_enable_field,
|
|
||||||
nil, nil);
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
function this.update_demondrug(player_data, item_parameter)
|
|
||||||
local demondrug_value = atk_up_alive_field:get_data(player_data);
|
|
||||||
if demondrug_value == nil then
|
|
||||||
error_handler.report("consumables.update_demondrug", "Failed to access Data: demondrug_value");
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
if demondrug_value == 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
|
|
||||||
error_handler.report("consumables.update_demondrug", "Failed to access Data: demondrug_const_value");
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
local mega_demondrug_const_value = great_demondrug_atk_up_field:get_data(item_parameter);
|
|
||||||
if mega_demondrug_const_value == nil then
|
|
||||||
error_handler.report("consumables.update_demondrug", "Failed to access Data: mega_demondrug_const_value");
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
if demondrug_value == demondrug_const_value then
|
|
||||||
buffs.update_generic(this.list, consumables_type_name, "demondrug");
|
|
||||||
this.list.mega_demondrug = nil;
|
|
||||||
|
|
||||||
elseif demondrug_value == mega_demondrug_const_value then
|
|
||||||
buffs.update_generic(this.list, consumables_type_name, "mega_demondrug");
|
|
||||||
this.list.demondrug = nil;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function this.update_armorskin(player_data, item_parameter)
|
|
||||||
local armorskin_value = def_up_alive_field:get_data(player_data);
|
|
||||||
if armorskin_value == nil then
|
|
||||||
error_handler.report("consumables.update_armorskin", "Failed to access Data: armorskin_value");
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
if armorskin_value == 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
|
|
||||||
error_handler.report("consumables.update_armorskin", "Failed to access Data: armorskin_const_value");
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
local mega_armorskin_const_value = great_armorskin_def_up_field:get_data(item_parameter);
|
|
||||||
if mega_armorskin_const_value == nil then
|
|
||||||
error_handler.report("consumables.update_armorskin", "Failed to access Data: mega_armorskin_const_value");
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
if armorskin_value == armorskin_const_value then
|
|
||||||
buffs.update_generic(this.list, consumables_type_name, "armorskin");
|
|
||||||
this.list.mega_armorskin = nil;
|
|
||||||
|
|
||||||
elseif armorskin_value == mega_armorskin_const_value then
|
|
||||||
buffs.update_generic(this.list, consumables_type_name, "mega_armorskin");
|
|
||||||
this.list.armorskin = nil;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function this.init_names()
|
|
||||||
for consumable_key, consumable in pairs(this.list) do
|
|
||||||
local name = language.current_language.consumables[consumable_key];
|
|
||||||
|
|
||||||
if name == nil then
|
|
||||||
name = consumable_key;
|
|
||||||
end
|
|
||||||
|
|
||||||
consumable.name = name;
|
|
||||||
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");
|
|
||||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
|
||||||
end
|
|
||||||
|
|
||||||
function this.init_module()
|
|
||||||
end
|
|
||||||
|
|
||||||
return this;
|
|
||||||
405
reframework/autorun/MHR_Overlay/Buffs/dango_skills.lua
Normal file
405
reframework/autorun/MHR_Overlay/Buffs/dango_skills.lua
Normal file
@@ -0,0 +1,405 @@
|
|||||||
|
local this = {};
|
||||||
|
|
||||||
|
local buffs;
|
||||||
|
local buff_UI_entity;
|
||||||
|
local config;
|
||||||
|
local singletons;
|
||||||
|
local players;
|
||||||
|
local utils;
|
||||||
|
local language;
|
||||||
|
local error_handler;
|
||||||
|
local time;
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
dango_adrenaline = nil,
|
||||||
|
dango_booster = nil,
|
||||||
|
dango_connector = nil,
|
||||||
|
dango_defender = nil,
|
||||||
|
dango_flyer = nil,
|
||||||
|
dango_glutton = nil,
|
||||||
|
dango_hunter = nil,
|
||||||
|
dango_insurance = nil,
|
||||||
|
dango_insurance_defense_up = nil,
|
||||||
|
super_recovery_dango = nil
|
||||||
|
};
|
||||||
|
|
||||||
|
this.keys = {
|
||||||
|
"dango_adrenaline",
|
||||||
|
"dango_booster",
|
||||||
|
"dango_connector",
|
||||||
|
"dango_defender",
|
||||||
|
"dango_flyer",
|
||||||
|
"dango_glutton",
|
||||||
|
"dango_hunter",
|
||||||
|
"dango_insurance",
|
||||||
|
"dango_insurance_defense_up",
|
||||||
|
"super_recovery_dango"
|
||||||
|
};
|
||||||
|
|
||||||
|
local dango_skill_ids = {
|
||||||
|
-- dango_polisher = 1,
|
||||||
|
-- dango_rider = 2,
|
||||||
|
dango_adrenaline = 3,
|
||||||
|
-- dango_carver_lo = 4,
|
||||||
|
-- dango_carver_hi = 5,
|
||||||
|
-- dango_medic_lo = 6,
|
||||||
|
-- dango_medic_hi = 7,
|
||||||
|
-- dango_fighter = 8,
|
||||||
|
-- dango_pyro = 9,
|
||||||
|
-- dango_specialist = 10,
|
||||||
|
-- dango_defender_lo = 11,
|
||||||
|
-- dango_defender_hi = 12,
|
||||||
|
-- dango_harvester = 13,
|
||||||
|
-- dango_marksman = 14,
|
||||||
|
-- dango_fortune_caller = 15,
|
||||||
|
-- dango_miracle_worker = 16,
|
||||||
|
-- dango_deflector = 17,
|
||||||
|
-- dango_weakener = 18,
|
||||||
|
-- dango_calculator = 19,
|
||||||
|
-- dango_temper = 20,
|
||||||
|
-- dango_wall_runner = 21,
|
||||||
|
-- dango_slugger = 22,
|
||||||
|
-- dango_money_maker = 23,
|
||||||
|
-- dango_bombardier = 24,
|
||||||
|
-- dango_moxie = 25,
|
||||||
|
-- dango_immunizer = 26,
|
||||||
|
-- dango_trainer = 27,
|
||||||
|
dango_booster = 28,
|
||||||
|
-- dango_feet = 29,
|
||||||
|
dango_bulker = 30,
|
||||||
|
dango_insurance = 31,
|
||||||
|
-- dango_reviver = 32,
|
||||||
|
-- dango_summoner = 33,
|
||||||
|
-- dango_hurler = 34,
|
||||||
|
-- dango_fire_res_lo = 35,
|
||||||
|
-- dango_fire_res_hi = 36,
|
||||||
|
-- dango_water_res_lo = 37,
|
||||||
|
-- dango_water_res_hi = 38,
|
||||||
|
-- dango_thunder_res_lo = 39,
|
||||||
|
-- dango_thunder_res_hi = 40,
|
||||||
|
-- dango_ice_res_lo = 41,
|
||||||
|
-- dango_ice_res_hi = 42,
|
||||||
|
-- dango_dragon_res_lo = 43,
|
||||||
|
-- dango_dragon_res_hi = 44,
|
||||||
|
-- dango_gatherer = 45,
|
||||||
|
dango_glutton = 46,
|
||||||
|
-- dango_bird_caller = 47,
|
||||||
|
dango_flyer = 48,
|
||||||
|
dango_defender = 49,
|
||||||
|
-- enhanced_dango_fighter = 50,
|
||||||
|
-- dango_driver = 51,
|
||||||
|
dango_hunter = 52,
|
||||||
|
-- dango_guard = 53,
|
||||||
|
-- dango_shifter = 54,
|
||||||
|
dango_connector = 55,
|
||||||
|
super_recovery_dango = 56
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
this.is_dango_adrenaline_active = false;
|
||||||
|
|
||||||
|
local dango_skills_type_name = "dango_skills";
|
||||||
|
|
||||||
|
local dango_bulker_attack_up = 15;
|
||||||
|
local previous_super_recovery_dango_timer = 0;
|
||||||
|
|
||||||
|
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
|
||||||
|
local has_anyone_kitchen_skill_in_quest_method = player_manager_type_def:get_method("hasAnyoneKitchenSkillInQuest");
|
||||||
|
|
||||||
|
|
||||||
|
local player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
|
||||||
|
-- Dango Defender
|
||||||
|
local is_enable_kitchen_skill_048_reduce_field = player_data_type_def:get_field("_IsEnable_KitchenSkill048_Reduce");
|
||||||
|
-- Dango Booster
|
||||||
|
local kitchen_skill_027_timer_field = player_data_type_def:get_field("_KitchenSkill027Timer");
|
||||||
|
-- Dango Glutton
|
||||||
|
local kitchen_skill_045_timer_field = player_data_type_def:get_field("_KitchenSkill045Timer");
|
||||||
|
-- Dango Insurance
|
||||||
|
local kitchen_skill_insurance_def_up_lv3_field = player_data_type_def:get_field("_KitchenSkill_Insurance_DefUp_Lv3");
|
||||||
|
local kitchen_skill_insurance_def_up_lv4_field = player_data_type_def:get_field("_KitchenSkill_Insurance_DefUp_Lv4");
|
||||||
|
-- Dango Hunter
|
||||||
|
local kitchen_skill_051_atk_up_timer_field = player_data_type_def:get_field("_KitchenSkill051_AtkUpTimer");
|
||||||
|
-- Dango Connector
|
||||||
|
local kitchen_skill_054_timer_field = player_data_type_def:get_field("_KitchenSkill054_Timer");
|
||||||
|
|
||||||
|
|
||||||
|
local player_base_type_def = sdk.find_type_definition("snow.player.PlayerBase");
|
||||||
|
-- Dango Adrenaline
|
||||||
|
-- local is_kitchen_skill_predicament_powerup_method = player_base_type_def:get_method("isKitchenSkillPredicamentPowerUp");
|
||||||
|
-- Dango Flyer
|
||||||
|
local get_is_kitchen_skill_wire_stop_heal_spd_method = player_base_type_def:get_method("get_IsKitchenSkill_WireStop_HealSpd");
|
||||||
|
local get_is_kitchen_skill_wire_stop_regene_method = player_base_type_def:get_method("get_IsKitchenSkill_WireStop_Regene");
|
||||||
|
-- Super Recovery Dango
|
||||||
|
local get_kitchen_skill_surume_regene_timer_method = player_base_type_def:get_method("get_KitchenSkill_Surume_RegeneTimer");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local data_shortcut_type_def = sdk.find_type_definition("snow.data.DataShortcut");
|
||||||
|
local get_name_method = data_shortcut_type_def:get_method("getName(snow.data.DataDef.PlKitchenSkillId)");
|
||||||
|
|
||||||
|
local quest_manager_type_def = sdk.find_type_definition("snow.QuestManager");
|
||||||
|
local flag_cat_skill_insurance_field = quest_manager_type_def:get_field("_FlagCatSkillInsurance");
|
||||||
|
local is_cat_skill_insurance_method = quest_manager_type_def:get_method("isCatSkillInsurance");
|
||||||
|
|
||||||
|
function this.update(player, player_data)
|
||||||
|
this.update_dango_adrenaline();
|
||||||
|
this.update_dango_hunter(player_data);
|
||||||
|
this.update_dango_insurance();
|
||||||
|
this.update_dango_insurance_defense_up(player_data);
|
||||||
|
this.update_dango_flyer(player);
|
||||||
|
this.update_super_recovery_dango(player);
|
||||||
|
|
||||||
|
this.update_dango_skill("dango_booster", nil, nil, player_data, kitchen_skill_027_timer_field);
|
||||||
|
this.update_dango_skill("dango_defender", player_data, is_enable_kitchen_skill_048_reduce_field, nil, nil, true);
|
||||||
|
this.update_dango_skill("dango_glutton", nil, nil, player_data, kitchen_skill_045_timer_field);
|
||||||
|
this.update_dango_skill("dango_connector", nil, nil, player_data, kitchen_skill_054_timer_field);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_dango_skill(key, value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
|
return buffs.update_generic_buff(this.list, config.current_config.buff_UI.filter.dango_skills, this.get_dango_skill_name,
|
||||||
|
dango_skills_type_name, key,
|
||||||
|
value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_generic(key, level, timer)
|
||||||
|
return buffs.update_generic(this.list, this.get_dango_skill_name, dango_skills_type_name, key, level, timer);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.apply_filter(key)
|
||||||
|
return buffs.apply_filter(this.list, config.current_config.buff_UI.filter.dango_skills, key);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_dango_adrenaline()
|
||||||
|
if this.apply_filter("dango_adrenaline") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if not this.is_dango_adrenaline_active then
|
||||||
|
this.list.dango_adrenaline = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_generic("dango_adrenaline");
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_dango_insurance()
|
||||||
|
if this.apply_filter("dango_insurance") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if singletons.player_manager == nil then
|
||||||
|
error_handler.report("dango_skills.update_dango_insurance", "Failed to Access Data: player_manager");
|
||||||
|
this.list.dango_insurance = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if singletons.quest_manager == nil then
|
||||||
|
error_handler.report("dango_skills.update_dango_insurance", "Failed to Access Data: quest_manager");
|
||||||
|
this.list.dango_insurance = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local has_insurance_skill = has_anyone_kitchen_skill_in_quest_method:call(singletons.player_manager, dango_skill_ids.dango_insurance);
|
||||||
|
|
||||||
|
local flag_cat_skill_insurance = flag_cat_skill_insurance_field:get_data(singletons.quest_manager);
|
||||||
|
if flag_cat_skill_insurance == nil then
|
||||||
|
error_handler.report("dango_skills.update_dango_insurance", "Failed to Access Data: flag_cat_skill_insurance");
|
||||||
|
this.list.dango_insurance = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local is_cat_skill_insurance = is_cat_skill_insurance_method:call(singletons.quest_manager, flag_cat_skill_insurance);
|
||||||
|
if is_cat_skill_insurance == nil then
|
||||||
|
error_handler.report("dango_skills.update_dango_insurance", "Failed to Access Data: is_cat_skill_insurance");
|
||||||
|
this.list.dango_insurance = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if not has_insurance_skill or is_cat_skill_insurance then
|
||||||
|
this.list.dango_insurance = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_generic("dango_insurance");
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_dango_insurance_defense_up(player_data)
|
||||||
|
if this.apply_filter("dango_insurance_defense_up") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local level = 3;
|
||||||
|
|
||||||
|
local insurance_def_up_lv3 = kitchen_skill_insurance_def_up_lv3_field:get_data(player_data);
|
||||||
|
if insurance_def_up_lv3 == nil then
|
||||||
|
error_handler.report("dango_skills.update_dango_insurance_defense_up", "Failed to Access Data: insurance_def_up_lv3");
|
||||||
|
this.list.dango_insurance_defense_up = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if not insurance_def_up_lv3 then
|
||||||
|
local insurance_def_up_lv4 = kitchen_skill_insurance_def_up_lv4_field:get_data(player_data);
|
||||||
|
|
||||||
|
if insurance_def_up_lv4 == nil then
|
||||||
|
error_handler.report("dango_skills.update_dango_insurance_defense_up", "Failed to Access Data: insurance_def_up_lv4");
|
||||||
|
this.list.dango_insurance_defense_up = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if not insurance_def_up_lv4 then
|
||||||
|
this.list.dango_insurance_defense_up = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
level = 4;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_generic("dango_insurance_defense_up", level);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_dango_flyer(player)
|
||||||
|
if this.apply_filter("dango_flyer") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local level = 4;
|
||||||
|
|
||||||
|
local is_kitchen_skill_wire_stop_regene = get_is_kitchen_skill_wire_stop_regene_method:call(player);
|
||||||
|
if is_kitchen_skill_wire_stop_regene == nil then
|
||||||
|
error_handler.report("dango_skills.update_dango_flyer", "Failed to Access Data: is_kitchen_skill_wire_stop_regene");
|
||||||
|
this.list.dango_flyer = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if not is_kitchen_skill_wire_stop_regene then
|
||||||
|
|
||||||
|
local is_kitchen_skill_wire_stop_heal_spd = get_is_kitchen_skill_wire_stop_heal_spd_method:call(player);
|
||||||
|
if is_kitchen_skill_wire_stop_heal_spd == nil then
|
||||||
|
error_handler.report("dango_skills.update_dango_flyer", "Failed to Access Data: is_kitchen_skill_wire_stop_heal_spd");
|
||||||
|
this.list.dango_flyer = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if not is_kitchen_skill_wire_stop_regene then
|
||||||
|
this.list.dango_flyer = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
level = 3;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_generic("dango_flyer", level);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_dango_hunter(player_data)
|
||||||
|
local dango_hunter_buff = this.update_dango_skill("dango_hunter", nil, nil, player_data, kitchen_skill_051_atk_up_timer_field);
|
||||||
|
|
||||||
|
if dango_hunter_buff ~= nil then
|
||||||
|
dango_hunter_buff.level = 4;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_super_recovery_dango(player)
|
||||||
|
if this.apply_filter("super_recovery_dango") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local kitchen_skill_surume_regene_timer = get_kitchen_skill_surume_regene_timer_method:call(player);
|
||||||
|
if kitchen_skill_surume_regene_timer == nil then
|
||||||
|
error_handler.report("dango_skills.update_super_recovery_dango", "Failed to Access Data: kitchen_skill_surume_regene_timer");
|
||||||
|
this.list.super_recovery_dango = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if utils.number.is_equal(kitchen_skill_surume_regene_timer, 0)
|
||||||
|
and utils.number.is_equal(previous_super_recovery_dango_timer, 0) then
|
||||||
|
this.list.super_recovery_dango = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
previous_super_recovery_dango_timer = kitchen_skill_surume_regene_timer;
|
||||||
|
this.update_generic("super_recovery_dango");
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_all_UI()
|
||||||
|
for dango_skill_key, dango_skill in pairs(this.list) do
|
||||||
|
buffs.init_UI(dango_skill);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_names()
|
||||||
|
for dango_skill_key, dango_skill in pairs(this.list) do
|
||||||
|
dango_skill.name = this.get_dango_skill_name(dango_skill_key);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.get_dango_skill_name(key)
|
||||||
|
local dango_skill_id = dango_skill_ids[key];
|
||||||
|
if dango_skill_id == nil then
|
||||||
|
|
||||||
|
local dango_skill_name = language.current_language.dango_skills[key];
|
||||||
|
if dango_skill_name == nil then
|
||||||
|
return key;
|
||||||
|
end
|
||||||
|
|
||||||
|
return dango_skill_name;
|
||||||
|
end
|
||||||
|
|
||||||
|
local dango_skill_name = get_name_method:call(nil, dango_skill_id);
|
||||||
|
if dango_skill_name == nil then
|
||||||
|
error_handler.report("dango_skills.get_dango_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
|
return key;
|
||||||
|
end
|
||||||
|
|
||||||
|
return dango_skill_name;
|
||||||
|
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");
|
||||||
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
|
time = require("MHR_Overlay.Game_Handler.time");
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function this.init_module()
|
||||||
|
end
|
||||||
|
|
||||||
|
return this;
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
local this = {};
|
|
||||||
|
|
||||||
local buffs;
|
|
||||||
local buff_UI_entity;
|
|
||||||
local config;
|
|
||||||
local singletons;
|
|
||||||
local players;
|
|
||||||
local utils;
|
|
||||||
local language;
|
|
||||||
local error_handler;
|
|
||||||
|
|
||||||
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 = {
|
|
||||||
dango_defender = nil,
|
|
||||||
dango_adrenaline = nil
|
|
||||||
};
|
|
||||||
|
|
||||||
this.is_dango_adrenaline_active = false;
|
|
||||||
|
|
||||||
local dangos_type_name = "dangos";
|
|
||||||
local dango_defender_minimal_value = 200;
|
|
||||||
|
|
||||||
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 player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
|
|
||||||
-- Dango Defender
|
|
||||||
local kitchen_skill_048_field = player_data_type_def:get_field("_KitchenSkill048_Damage");
|
|
||||||
|
|
||||||
local player_base_type_def = sdk.find_type_definition("snow.player.PlayerBase");
|
|
||||||
-- Dango Adrenaline
|
|
||||||
local is_kitchen_skill_predicament_powerup_method = player_base_type_def:get_method("isKitchenSkillPredicamentPowerUp");
|
|
||||||
|
|
||||||
function this.update(player, player_data)
|
|
||||||
local item_parameter = get_ref_item_parameter_method:call(singletons.player_manager);
|
|
||||||
if item_parameter == nil then
|
|
||||||
error_handler.report("dangos.update", "Failed to access Data: item_parameter");
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
buffs.update_generic_buff(this.list, dangos_type_name, "dango_defender", player_data, kitchen_skill_048_field, nil, nil, nil, nil, true, dango_defender_minimal_value);
|
|
||||||
this.update_dango_adrenaline();
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
function this.update_dango_adrenaline()
|
|
||||||
if not this.is_dango_adrenaline_active then
|
|
||||||
this.list.dango_adrenaline = nil;
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
buffs.update_generic(this.list, dangos_type_name, "dango_adrenaline");
|
|
||||||
end
|
|
||||||
|
|
||||||
function this.init_names()
|
|
||||||
for dango_key, dango in pairs(this.list) do
|
|
||||||
local name = language.current_language.dangos[dango_key];
|
|
||||||
|
|
||||||
if name == nil then
|
|
||||||
name = dango_key;
|
|
||||||
end
|
|
||||||
|
|
||||||
dango.name = name;
|
|
||||||
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");
|
|
||||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
|
||||||
end
|
|
||||||
|
|
||||||
function this.init_module()
|
|
||||||
end
|
|
||||||
|
|
||||||
return this;
|
|
||||||
@@ -9,6 +9,8 @@ local utils;
|
|||||||
local language;
|
local language;
|
||||||
local error_handler;
|
local error_handler;
|
||||||
local env_creature;
|
local env_creature;
|
||||||
|
local item_buffs;
|
||||||
|
local time;
|
||||||
|
|
||||||
local sdk = sdk;
|
local sdk = sdk;
|
||||||
local tostring = tostring;
|
local tostring = tostring;
|
||||||
@@ -45,18 +47,35 @@ local package = package;
|
|||||||
this.list = {
|
this.list = {
|
||||||
cutterfly = nil,
|
cutterfly = nil,
|
||||||
clothfly = nil,
|
clothfly = nil,
|
||||||
|
butterflame = nil,
|
||||||
|
-- peepersects = nil,
|
||||||
|
stinkmink = nil,
|
||||||
ruby_wirebug = nil,
|
ruby_wirebug = nil,
|
||||||
gold_wirebug = nil
|
gold_wirebug = nil,
|
||||||
|
red_lampsquid = nil,
|
||||||
|
yellow_lampsquid = nil
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.keys = {
|
||||||
|
"cutterfly",
|
||||||
|
"clothfly",
|
||||||
|
"butterflame",
|
||||||
|
-- "peepersects",
|
||||||
|
"stinkmink",
|
||||||
|
"ruby_wirebug",
|
||||||
|
"gold_wirebug",
|
||||||
|
"red_lampsquid",
|
||||||
|
"yellow_lampsquid"
|
||||||
|
};
|
||||||
|
|
||||||
|
this.peepersects_duration = 90;
|
||||||
|
this.butterflame_attack_up = 25;
|
||||||
|
|
||||||
|
local endemic_life_buffs_type_name = "endemic_life_buffs";
|
||||||
|
|
||||||
local marionette_mode_types = { "ruby_wirebug", "gold_wirebug" };
|
local marionette_mode_types = { "ruby_wirebug", "gold_wirebug" };
|
||||||
|
|
||||||
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 player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
|
local player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
|
||||||
-- Cutterfly
|
-- Cutterfly
|
||||||
@@ -65,7 +84,15 @@ local crit_up_ec_second_timer_field = player_data_type_def:get_field("_CritUpEcS
|
|||||||
local def_up_buff_second_rate_timer_field = player_data_type_def:get_field("_DefUpBuffSecondRateTimer");
|
local def_up_buff_second_rate_timer_field = player_data_type_def:get_field("_DefUpBuffSecondRateTimer");
|
||||||
-- Ruby/Gold Wirebugs
|
-- Ruby/Gold Wirebugs
|
||||||
local wirebug_powerup_timer_field = player_data_type_def:get_field("_WireBugPowerUpTimer");
|
local wirebug_powerup_timer_field = player_data_type_def:get_field("_WireBugPowerUpTimer");
|
||||||
|
-- Butterflame
|
||||||
|
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");
|
||||||
|
-- Stinkmink
|
||||||
|
local lead_enemy_timer_field = player_data_type_def:get_field("_LeadEnemyTimer");
|
||||||
|
-- Red Lampsquid
|
||||||
|
local atk_up_ec_second_timer_field = player_data_type_def:get_field("_AtkUpEcSecondTimer");
|
||||||
|
-- Yellow Lampsquid
|
||||||
|
local def_up_ec_second_timer_field = player_data_type_def:get_field("_DefUpEcSecondTimer");
|
||||||
|
|
||||||
|
|
||||||
local player_quest_base_type_def = sdk.find_type_definition("snow.player.PlayerQuestBase");
|
local player_quest_base_type_def = sdk.find_type_definition("snow.player.PlayerQuestBase");
|
||||||
@@ -75,72 +102,50 @@ local get_marionette_mode_type_method = player_quest_base_type_def:get_method("g
|
|||||||
local message_manager_type_def = sdk.find_type_definition("snow.gui.MessageManager");
|
local message_manager_type_def = sdk.find_type_definition("snow.gui.MessageManager");
|
||||||
local get_env_creature_name_message_method = message_manager_type_def:get_method("getEnvCreatureNameMessage");
|
local get_env_creature_name_message_method = message_manager_type_def:get_method("getEnvCreatureNameMessage");
|
||||||
|
|
||||||
function this.update(player, player_data)
|
function this.update(player, player_data, item_parameter)
|
||||||
this.update_generic_timer("cutterfly", player_data, crit_up_ec_second_timer_field);
|
|
||||||
this.update_generic_timer("clothfly", player_data, def_up_buff_second_rate_timer_field);
|
|
||||||
this.update_ruby_and_gold_wirebugs(player, player_data);
|
this.update_ruby_and_gold_wirebugs(player, player_data);
|
||||||
|
this.update_butterflame(player_data);
|
||||||
|
|
||||||
|
this.update_endemic_life_buff("cutterfly", nil, nil, player_data, crit_up_ec_second_timer_field);
|
||||||
|
this.update_endemic_life_buff("clothfly", nil, nil, player_data, def_up_buff_second_rate_timer_field);
|
||||||
|
this.update_endemic_life_buff("stinkmink", nil, nil, player_data, lead_enemy_timer_field);
|
||||||
|
this.update_endemic_life_buff("red_lampsquid", nil, nil, player_data, atk_up_ec_second_timer_field);
|
||||||
|
this.update_endemic_life_buff("yellow_lampsquid", nil, nil, player_data, def_up_ec_second_timer_field);
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_generic_timer(endemic_life_buff_key, timer_owner, timer_holder, is_infinite)
|
function this.update_endemic_life_buff(key, value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
local timer = nil;
|
return buffs.update_generic_buff(this.list, config.current_config.buff_UI.filter.endemic_life_buffs, this.get_endemic_life_name,
|
||||||
if timer_holder ~= nil then
|
endemic_life_buffs_type_name, key,
|
||||||
if utils.type.is_REField then
|
value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
timer = timer_holder:get_data(timer_owner);
|
|
||||||
else
|
|
||||||
timer = timer_holder:call(timer_owner);
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if timer == nil then
|
function this.update_generic(key, level, timer)
|
||||||
error_handler.report("endemic_life_buffs.update_generic_timer", string.format("Failed to access Data: %s_timer", endemic_life_buff_key));
|
return buffs.update_generic(this.list, this.get_endemic_life_name, endemic_life_buffs_type_name, key, level, timer);
|
||||||
return;
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if utils.number.is_equal(timer, 0) then
|
function this.apply_filter(key)
|
||||||
this.list[endemic_life_buff_key] = nil;
|
return buffs.apply_filter(this.list, config.current_config.buff_UI.filter.endemic_life_buffs, key);
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
if is_infinite then
|
|
||||||
timer = nil;
|
|
||||||
else
|
|
||||||
timer = timer / 60;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
this.update_generic(endemic_life_buff_key, 1, timer);
|
|
||||||
end
|
|
||||||
|
|
||||||
function this.update_generic(endemic_life_buff_key, level, timer, duration)
|
|
||||||
duration = duration or timer;
|
|
||||||
|
|
||||||
if singletons.message_manager == nil then
|
|
||||||
error_handler.report("endemic_life_buffs.update_generic", "Failed to access Data: message_manager");
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
local endemic_life_buff = this.list[endemic_life_buff_key];
|
|
||||||
if endemic_life_buff == nil then
|
|
||||||
local name = get_env_creature_name_message_method:call(singletons.message_manager, env_creature.creature_ids[endemic_life_buff_key]);
|
|
||||||
if name == nil then
|
|
||||||
error_handler.report("endemic_life_buffs.update_generic", string.format("Failed to access Data: %s -> name", endemic_life_buff_key));
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
endemic_life_buff = buffs.new("endemic_life_buffs", endemic_life_buff_key, name, level, duration);
|
|
||||||
this.list[endemic_life_buff_key] = endemic_life_buff;
|
|
||||||
else
|
|
||||||
endemic_life_buff.level = level;
|
|
||||||
|
|
||||||
if timer ~= nil then
|
|
||||||
buffs.update_timer(endemic_life_buff, timer);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_ruby_and_gold_wirebugs(player, player_data)
|
function this.update_ruby_and_gold_wirebugs(player, player_data)
|
||||||
|
local cached_config = config.current_config.buff_UI.filter.endemic_life_buffs;
|
||||||
|
|
||||||
|
if not cached_config.ruby_wirebug
|
||||||
|
and not cached_config.gold_wirebug then
|
||||||
|
if this.apply_filter("ruby_wirebug") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if this.apply_filter("gold_wirebug") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local marionette_mode_type = get_marionette_mode_type_method:call(player);
|
local marionette_mode_type = get_marionette_mode_type_method:call(player);
|
||||||
if marionette_mode_type == nil then
|
if marionette_mode_type == nil then
|
||||||
error_handler.report("endemic_life_buffs.update_ruby_and_gold_wirebugs", "Failed to access Data: marionette_mode_type");
|
error_handler.report("endemic_life_buffs.update_ruby_and_gold_wirebugs", "Failed to Access Data: marionette_mode_type");
|
||||||
|
this.list.ruby_wirebug = nil;
|
||||||
|
this.list.gold_wirebug = nil;
|
||||||
end
|
end
|
||||||
|
|
||||||
if marionette_mode_type ~= 1 and marionette_mode_type ~= 2 then
|
if marionette_mode_type ~= 1 and marionette_mode_type ~= 2 then
|
||||||
@@ -154,12 +159,54 @@ function this.update_ruby_and_gold_wirebugs(player, player_data)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local endemic_life_buff_key = marionette_mode_types[marionette_mode_type];
|
local endemic_life_buff_key = marionette_mode_types[marionette_mode_type];
|
||||||
|
this.update_endemic_life_buff(endemic_life_buff_key, nil, nil, player_data, wirebug_powerup_timer_field);
|
||||||
|
end
|
||||||
|
|
||||||
this.update_generic_timer(endemic_life_buff_key, player_data, wirebug_powerup_timer_field);
|
function this.update_butterflame(player_data)
|
||||||
|
if this.apply_filter("butterflame") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local atk_up_buff_second = atk_up_buff_second_field:get_data(player_data);
|
||||||
|
if atk_up_buff_second == nil then
|
||||||
|
error_handler.report("item_buffs.update_butterflame", "Failed to Access Data: atk_up_buff_second");
|
||||||
|
this.list.butterflame = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if atk_up_buff_second ~= this.butterflame_attack_up then
|
||||||
|
this.list.butterflame = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_endemic_life_buff("butterflame", nil, nil, player_data, atk_up_buff_second_timer_field);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_all_UI()
|
||||||
|
for endemic_life_key, endemic_life in pairs(this.list) do
|
||||||
|
buffs.init_UI(endemic_life);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_names()
|
function this.init_names()
|
||||||
-- Nothing to do here
|
for endemic_life_key, endemic_life in pairs(this.list) do
|
||||||
|
endemic_life.name = this.get_endemic_life_name(endemic_life_key);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.get_endemic_life_name(key)
|
||||||
|
if singletons.message_manager == nil then
|
||||||
|
error_handler.report("endemic_life_buffs.get_endemic_life_name", "Failed to Access Data: message_manager");
|
||||||
|
return key;
|
||||||
|
end
|
||||||
|
|
||||||
|
local endemic_life_name = get_env_creature_name_message_method:call(singletons.message_manager, env_creature.creature_ids[key]);
|
||||||
|
if endemic_life_name == nil then
|
||||||
|
error_handler.report("endemic_life_buffs.get_endemic_life_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
|
return key;
|
||||||
|
end
|
||||||
|
|
||||||
|
return endemic_life_name;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_dependencies()
|
function this.init_dependencies()
|
||||||
@@ -172,6 +219,8 @@ function this.init_dependencies()
|
|||||||
language = require("MHR_Overlay.Misc.language");
|
language = require("MHR_Overlay.Misc.language");
|
||||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
env_creature = require("MHR_Overlay.Endemic_Life.env_creature");
|
env_creature = require("MHR_Overlay.Endemic_Life.env_creature");
|
||||||
|
item_buffs = require("MHR_Overlay.Buffs.item_buffs");
|
||||||
|
time = require("MHR_Overlay.Game_Handler.time");
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_module()
|
function this.init_module()
|
||||||
|
|||||||
340
reframework/autorun/MHR_Overlay/Buffs/item_buffs.lua
Normal file
340
reframework/autorun/MHR_Overlay/Buffs/item_buffs.lua
Normal file
@@ -0,0 +1,340 @@
|
|||||||
|
local this = {};
|
||||||
|
|
||||||
|
local buffs;
|
||||||
|
local buff_UI_entity;
|
||||||
|
local config;
|
||||||
|
local singletons;
|
||||||
|
local players;
|
||||||
|
local utils;
|
||||||
|
local language;
|
||||||
|
local error_handler;
|
||||||
|
local endemic_life_buffs;
|
||||||
|
|
||||||
|
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,
|
||||||
|
demon_powder = nil,
|
||||||
|
hardshell_powder = nil,
|
||||||
|
-- immunizer = nil,
|
||||||
|
-- dash_juice = nil,
|
||||||
|
gourmet_fish = nil,
|
||||||
|
demon_ammo = nil,
|
||||||
|
armor_ammo = nil
|
||||||
|
};
|
||||||
|
|
||||||
|
this.keys = {
|
||||||
|
"demondrug",
|
||||||
|
"mega_demondrug",
|
||||||
|
"armorskin",
|
||||||
|
"mega_armorskin",
|
||||||
|
"might_seed",
|
||||||
|
-- "adamant_seed",
|
||||||
|
"demon_powder",
|
||||||
|
"hardshell_powder",
|
||||||
|
-- "immunizer",
|
||||||
|
-- "dash_juice",
|
||||||
|
"gourmet_fish",
|
||||||
|
"demon_ammo",
|
||||||
|
"armor_ammo"
|
||||||
|
};
|
||||||
|
|
||||||
|
local item_ids = {
|
||||||
|
demondrug = 68157917,
|
||||||
|
mega_demondrug = 68157918,
|
||||||
|
armorskin = 68157922,
|
||||||
|
mega_armorskin = 68157923,
|
||||||
|
might_seed = 68157919,
|
||||||
|
-- adamant_seed = 68157924,
|
||||||
|
demon_powder = 68157920,
|
||||||
|
hardshell_powder = 68157925,
|
||||||
|
-- immunizer = 68157911,
|
||||||
|
-- dash_juice = 68157913,
|
||||||
|
gourmet_fish = 68157909,
|
||||||
|
demon_ammo = 68157595,
|
||||||
|
armor_ammo = 68157596
|
||||||
|
}
|
||||||
|
|
||||||
|
this.might_seed_attack_up = 10;
|
||||||
|
|
||||||
|
local item_buffs_type_name = "item_buffs";
|
||||||
|
|
||||||
|
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");
|
||||||
|
-- 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");
|
||||||
|
-- Gourmet Fish
|
||||||
|
local fish_regene_enable_field = player_data_type_def:get_field("_FishRegeneEnableTimer");
|
||||||
|
-- Demon Ammo
|
||||||
|
local kijin_bullet_timer_field = player_data_type_def:get_field("_KijinBulletTimer");
|
||||||
|
-- Armor Ammo
|
||||||
|
local kouka_bullet_timer_field = player_data_type_def:get_field("_KoukaBulletTimer");
|
||||||
|
|
||||||
|
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
|
||||||
|
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();
|
||||||
|
|
||||||
|
-- Demondrug/Mega Demondrug
|
||||||
|
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");
|
||||||
|
-- Armorskin/Mega Armorskin
|
||||||
|
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");
|
||||||
|
-- Might Seed
|
||||||
|
local might_seed_atk_up_field = player_user_data_item_parameter_type_def:get_field("_MightSeedAtkUp");
|
||||||
|
|
||||||
|
|
||||||
|
local data_shortcut_type_def = sdk.find_type_definition("snow.data.DataShortcut");
|
||||||
|
local get_name_method = data_shortcut_type_def:get_method("getName(snow.data.ContentsIdSystem.ItemId)");
|
||||||
|
|
||||||
|
function this.update(player_data, item_parameter)
|
||||||
|
this.update_demondrug(player_data, item_parameter);
|
||||||
|
this.update_armorskin(player_data, item_parameter);
|
||||||
|
this.update_might_seed(player_data, item_parameter);
|
||||||
|
|
||||||
|
this.update_item_buff("demon_powder", player_data, atk_up_item_second_field, player_data, atk_up_item_second_timer_field);
|
||||||
|
this.update_item_buff("hardshell_powder", player_data, def_up_item_second_field, player_data, def_up_item_second_timer_field);
|
||||||
|
this.update_item_buff("gourmet_fish", nil, nil, player_data, fish_regene_enable_field);
|
||||||
|
this.update_item_buff("demon_ammo", nil, nil, player_data, kijin_bullet_timer_field);
|
||||||
|
this.update_item_buff("armor_ammo", nil, nil, player_data, kouka_bullet_timer_field);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_item_buff(key, value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
|
return buffs.update_generic_buff(this.list, config.current_config.buff_UI.filter.item_buffs, this.get_item_buff_name,
|
||||||
|
item_buffs_type_name, key,
|
||||||
|
value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_generic(key, level, timer)
|
||||||
|
return buffs.update_generic(this.list, this.get_item_buff_name, item_buffs_type_name, key, level, timer);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.apply_filter(key)
|
||||||
|
return buffs.apply_filter(this.list, config.current_config.buff_UI.filter.item_buffs, key);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_demondrug(player_data, item_parameter)
|
||||||
|
local cached_config = config.current_config.buff_UI.filter.item_buffs;
|
||||||
|
|
||||||
|
if not cached_config.demondrug and not cached_config.mega_demondrug then
|
||||||
|
this.list.demondrug = nil;
|
||||||
|
this.list.mega_demondrug = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local demondrug_value = atk_up_alive_field:get_data(player_data);
|
||||||
|
if demondrug_value == nil then
|
||||||
|
error_handler.report("item_buffs.update_demondrug", "Failed to Access Data: demondrug_value");
|
||||||
|
this.list.demondrug = nil;
|
||||||
|
this.list.mega_demondrug = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if demondrug_value == 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
|
||||||
|
error_handler.report("item_buffs.update_demondrug", "Failed to Access Data: demondrug_const_value");
|
||||||
|
this.list.demondrug = nil;
|
||||||
|
this.list.mega_demondrug = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local mega_demondrug_const_value = great_demondrug_atk_up_field:get_data(item_parameter);
|
||||||
|
if mega_demondrug_const_value == nil then
|
||||||
|
error_handler.report("item_buffs.update_demondrug", "Failed to Access Data: mega_demondrug_const_value");
|
||||||
|
this.list.demondrug = nil;
|
||||||
|
this.list.mega_demondrug = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local item_key;
|
||||||
|
if demondrug_value == demondrug_const_value then
|
||||||
|
item_key = "demondrug";
|
||||||
|
this.list.mega_demondrug = nil;
|
||||||
|
|
||||||
|
elseif demondrug_value == mega_demondrug_const_value then
|
||||||
|
item_key = "mega_demondrug";
|
||||||
|
this.list.demondrug = nil;
|
||||||
|
end
|
||||||
|
|
||||||
|
if not cached_config[item_key] then
|
||||||
|
this.list[item_key] = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_generic(item_key);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_armorskin(player_data, item_parameter)
|
||||||
|
local cached_config = config.current_config.buff_UI.filter.item_buffs;
|
||||||
|
|
||||||
|
if not cached_config.armorskin and not cached_config.mega_armorskin then
|
||||||
|
this.list.armorskin = nil;
|
||||||
|
this.list.mega_armorskin = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local armorskin_value = def_up_alive_field:get_data(player_data);
|
||||||
|
if armorskin_value == nil then
|
||||||
|
error_handler.report("item_buffs.update_armorskin", "Failed to Access Data: armorskin_value");
|
||||||
|
this.list.armorskin = nil;
|
||||||
|
this.list.mega_armorskin = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if armorskin_value == 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
|
||||||
|
error_handler.report("item_buffs.update_armorskin", "Failed to Access Data: armorskin_const_value");
|
||||||
|
this.list.armorskin = nil;
|
||||||
|
this.list.mega_armorskin = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local mega_armorskin_const_value = great_armorskin_def_up_field:get_data(item_parameter);
|
||||||
|
if mega_armorskin_const_value == nil then
|
||||||
|
error_handler.report("item_buffs.update_armorskin", "Failed to Access Data: mega_armorskin_const_value");
|
||||||
|
this.list.armorskin = nil;
|
||||||
|
this.list.mega_armorskin = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local item_key;
|
||||||
|
if armorskin_value == armorskin_const_value then
|
||||||
|
item_key = "armorskin";
|
||||||
|
this.list.mega_armorskin = nil;
|
||||||
|
|
||||||
|
elseif armorskin_value == mega_armorskin_const_value then
|
||||||
|
item_key = "mega_armorskin";
|
||||||
|
this.list.armorskin = nil;
|
||||||
|
end
|
||||||
|
|
||||||
|
if not cached_config[item_key] then
|
||||||
|
this.list[item_key] = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_generic(item_key);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_might_seed(player_data, item_parameter)
|
||||||
|
if this.apply_filter("might_seed") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local atk_up_buff_second = atk_up_buff_second_field:get_data(player_data);
|
||||||
|
if atk_up_buff_second == nil then
|
||||||
|
error_handler.report("item_buffs.update_might_seed", "Failed to Access Data: atk_up_buff_second");
|
||||||
|
this.list.might_seed = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local might_seed_atk_up = might_seed_atk_up_field:get_data(item_parameter);
|
||||||
|
if might_seed_atk_up == nil then
|
||||||
|
error_handler.report("item_buffs.update_might_seed", "Failed to Access Data: might_seed_atk_up");
|
||||||
|
this.list.might_seed = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if atk_up_buff_second ~= might_seed_atk_up then
|
||||||
|
this.list.might_seed = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_item_buff("might_seed", nil, nil, player_data, atk_up_buff_second_timer_field);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_all_UI()
|
||||||
|
for item_buff_key, item_buff in pairs(this.list) do
|
||||||
|
buffs.init_UI(item_buff);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_names()
|
||||||
|
for item_buff_key, item_buff in pairs(this.list) do
|
||||||
|
item_buff.name = this.get_item_buff_name(item_buff_key);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.get_item_buff_name(key)
|
||||||
|
local item_buff_name = get_name_method:call(nil, item_ids[key]);
|
||||||
|
if item_buff_name == nil then
|
||||||
|
error_handler.report("item_buffs.get_item_buff_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
|
return key;
|
||||||
|
end
|
||||||
|
|
||||||
|
return item_buff_name;
|
||||||
|
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");
|
||||||
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
|
endemic_life_buffs = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_module()
|
||||||
|
end
|
||||||
|
|
||||||
|
return this;
|
||||||
@@ -8,6 +8,7 @@ local players;
|
|||||||
local utils;
|
local utils;
|
||||||
local language;
|
local language;
|
||||||
local error_handler;
|
local error_handler;
|
||||||
|
local time;
|
||||||
|
|
||||||
local sdk = sdk;
|
local sdk = sdk;
|
||||||
local tostring = tostring;
|
local tostring = tostring;
|
||||||
@@ -41,7 +42,7 @@ local os = os;
|
|||||||
local ValueType = ValueType;
|
local ValueType = ValueType;
|
||||||
local package = package;
|
local package = package;
|
||||||
|
|
||||||
local ids = {
|
--[[local melody_effect_ids = {
|
||||||
self_improvement = 0,
|
self_improvement = 0,
|
||||||
attack_up = 1,
|
attack_up = 1,
|
||||||
defense_up = 2,
|
defense_up = 2,
|
||||||
@@ -70,9 +71,9 @@ local ids = {
|
|||||||
infernal_melody = 25,
|
infernal_melody = 25,
|
||||||
sharpness_regeneration = 26,
|
sharpness_regeneration = 26,
|
||||||
sharpness_extension = 27
|
sharpness_extension = 27
|
||||||
};
|
};]]
|
||||||
|
|
||||||
local melody_effect_keys = {
|
this.keys = {
|
||||||
"self_improvement",
|
"self_improvement",
|
||||||
"attack_up",
|
"attack_up",
|
||||||
"defense_up",
|
"defense_up",
|
||||||
@@ -105,6 +106,8 @@ local melody_effect_keys = {
|
|||||||
|
|
||||||
this.list = {};
|
this.list = {};
|
||||||
|
|
||||||
|
local melody_effects_type_name = "melody_effects";
|
||||||
|
|
||||||
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
|
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
|
||||||
local find_master_player_method = player_manager_type_def:get_method("findMasterPlayer");
|
local find_master_player_method = player_manager_type_def:get_method("findMasterPlayer");
|
||||||
|
|
||||||
@@ -118,35 +121,52 @@ local system_array_type_def = sdk.find_type_definition("System.Array");
|
|||||||
local get_length_method = system_array_type_def:get_method("get_Length");
|
local get_length_method = system_array_type_def:get_method("get_Length");
|
||||||
local get_value_method = system_array_type_def:get_method("GetValue(System.Int32)");
|
local get_value_method = system_array_type_def:get_method("GetValue(System.Int32)");
|
||||||
|
|
||||||
|
local data_shortcut_type_def = sdk.find_type_definition("snow.data.DataShortcut");
|
||||||
|
local get_name_method = data_shortcut_type_def:get_method("getName(snow.data.DataDef.HornConcertId)");
|
||||||
|
|
||||||
function this.update(master_player)
|
function this.update(master_player)
|
||||||
local music_data_array = music_data_field:get_data(master_player);
|
local music_data_array = music_data_field:get_data(master_player);
|
||||||
if music_data_array == nil then
|
if music_data_array == nil then
|
||||||
error_handler.report("melody_effects.update", "Failed to access Data: music_data_array");
|
error_handler.report("melody_effects.update", "Failed to Access Data: music_data_array");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local length = get_length_method:call(music_data_array) - 1;
|
local length = get_length_method:call(music_data_array);
|
||||||
if length == nil then
|
if length == nil then
|
||||||
error_handler.report("melody_effects.update", "Failed to access Data: music_data_array -> length");
|
error_handler.report("melody_effects.update", "Failed to Access Data: music_data_array -> length");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
for i = 0, length do
|
length = length - 1;
|
||||||
local music_data = get_value_method:call(music_data_array, i);
|
|
||||||
if music_data == nil then
|
for id = 0, length do
|
||||||
error_handler.report("melody_effects.update", "Failed to access Data: music_data No." .. tostring(i));
|
|
||||||
|
local lua_index = id + 1;
|
||||||
|
|
||||||
|
local melody_effect = this.list[lua_index];
|
||||||
|
local key = this.keys[lua_index];
|
||||||
|
|
||||||
|
if this.apply_filter(key, lua_index) then
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
this.update_melody_effect(i + 1, music_data);
|
local music_data = get_value_method:call(music_data_array, id);
|
||||||
|
if music_data == nil then
|
||||||
|
error_handler.report("melody_effects.update", "Failed to Access Data: music_data No." .. tostring(id));
|
||||||
|
this.list[lua_index] = nil;
|
||||||
|
goto continue;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_melody_effect(lua_index, id, key, melody_effect, music_data);
|
||||||
::continue::
|
::continue::
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_melody_effect(lua_index, melody_data)
|
function this.update_melody_effect(lua_index, id, key, melody_effect, melody_data)
|
||||||
local melody_timer = time_field:get_data(melody_data);
|
local melody_timer = time_field:get_data(melody_data);
|
||||||
if melody_timer == nil then
|
if melody_timer == nil then
|
||||||
error_handler.report("melody_effects.update", "Failed to access Data: melody_timer No. " .. tostring(lua_index - 1));
|
error_handler.report("melody_effects.update_melody_effect", "Failed to Access Data: melody_timer No. " .. tostring(id));
|
||||||
|
this.list[lua_index] = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -155,28 +175,69 @@ function this.update_melody_effect(lua_index, melody_data)
|
|||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local melody_effect = this.list[lua_index];
|
|
||||||
if melody_effect == nil then
|
if melody_effect == nil then
|
||||||
local melody_effect_key = melody_effect_keys[lua_index];
|
local melody_effect_name = this.get_melody_effect_name(id);
|
||||||
local name = language.current_language.melody_effects[melody_effect_key];
|
|
||||||
|
|
||||||
melody_effect = buffs.new("melody_effects", melody_effect_key, name, 1, melody_timer / 60);
|
melody_effect = buffs.new(melody_effects_type_name, key, melody_effect_name, 1, melody_timer / 60);
|
||||||
this.list[lua_index] = melody_effect;
|
this.list[lua_index] = melody_effect;
|
||||||
else
|
else
|
||||||
buffs.update_timer(melody_effect, melody_timer / 60);
|
buffs.update_timer(melody_effect, melody_timer / 60);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function this.apply_filter(key, lua_index)
|
||||||
|
if config.current_config.buff_UI.filter.melody_effects[key] then
|
||||||
|
return false;
|
||||||
|
end
|
||||||
|
|
||||||
|
local buff = this.list[lua_index];
|
||||||
|
if buff == nil then
|
||||||
|
return true;
|
||||||
|
end
|
||||||
|
|
||||||
|
if not buff.is_visible then
|
||||||
|
return true;
|
||||||
|
end
|
||||||
|
|
||||||
|
if buff.is_infinite then
|
||||||
|
this.list[lua_index] = nil;
|
||||||
|
return true;
|
||||||
|
end
|
||||||
|
|
||||||
|
time.new_delay_timer(function()
|
||||||
|
|
||||||
|
local _buff = this.list[lua_index];
|
||||||
|
if _buff ~= nil and not _buff.is_visible then
|
||||||
|
this.list[lua_index] = nil;
|
||||||
|
end
|
||||||
|
|
||||||
|
end, buff.timer);
|
||||||
|
|
||||||
|
buff.is_visible = false;
|
||||||
|
return true;
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_all_UI()
|
||||||
|
for melody_effect_id, melody_effect in pairs(this.list) do
|
||||||
|
buffs.init_UI(melody_effect);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function this.init_names()
|
function this.init_names()
|
||||||
for index, dango in pairs(this.list) do
|
for melody_effect_id, melody_effect in pairs(this.list) do
|
||||||
local name = language.current_language.dangos[dango.key];
|
melody_effect.name = this.get_melody_effect_name(melody_effect_id - 1);
|
||||||
|
end
|
||||||
if name == nil then
|
|
||||||
name = dango.key;
|
|
||||||
end
|
end
|
||||||
|
|
||||||
dango.name = name;
|
function this.get_melody_effect_name(id)
|
||||||
|
local melody_effect_name = get_name_method:call(nil, id);
|
||||||
|
if melody_effect_name == nil then
|
||||||
|
local name = string.format("Melody Effect No. %d", id);
|
||||||
|
error_handler.report("melody_effects.get_melody_effect_name", "Failed to Access Data: " .. melody_effect_name);
|
||||||
|
return name;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
return melody_effect_name;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_dependencies()
|
function this.init_dependencies()
|
||||||
@@ -188,6 +249,7 @@ 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");
|
||||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
|
time = require("MHR_Overlay.Game_Handler.time");
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_module()
|
function this.init_module()
|
||||||
|
|||||||
190
reframework/autorun/MHR_Overlay/Buffs/misc_buffs.lua
Normal file
190
reframework/autorun/MHR_Overlay/Buffs/misc_buffs.lua
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
local this = {};
|
||||||
|
|
||||||
|
local buffs;
|
||||||
|
local buff_UI_entity;
|
||||||
|
local config;
|
||||||
|
local singletons;
|
||||||
|
local players;
|
||||||
|
local utils;
|
||||||
|
local language;
|
||||||
|
local error_handler;
|
||||||
|
local endemic_life_buffs;
|
||||||
|
local item_buffs;
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
attack_up = nil,
|
||||||
|
defense_up = nil,
|
||||||
|
stamina_use_down = nil,
|
||||||
|
natural_healing_up = nil,
|
||||||
|
immunity = nil
|
||||||
|
};
|
||||||
|
|
||||||
|
this.keys = {
|
||||||
|
"attack_up",
|
||||||
|
"defense_up",
|
||||||
|
"stamina_use_down",
|
||||||
|
"natural_healing_up",
|
||||||
|
"immunity"
|
||||||
|
};
|
||||||
|
|
||||||
|
-- Attack Up
|
||||||
|
-- Might Seed +10 3min -- Separated
|
||||||
|
-- Dango Bulker + 15 30sec
|
||||||
|
-- Chameleos Soul +15 30sec
|
||||||
|
-- Butterflame +25 1min -- Separated
|
||||||
|
|
||||||
|
-- Defense Up
|
||||||
|
-- Adamant Seed +20 3min
|
||||||
|
-- Chameleos Souls +20 30sec
|
||||||
|
|
||||||
|
-- Stamina Use Down
|
||||||
|
-- Dash Juice 3min
|
||||||
|
-- Peepersects 1.5min
|
||||||
|
-- Chameleos Soul 30sec
|
||||||
|
|
||||||
|
-- Natural Healing Up
|
||||||
|
-- Immunizer 5min
|
||||||
|
-- Vase of Vitality 20sec
|
||||||
|
|
||||||
|
local misc_buffs_type_name = "misc_buffs";
|
||||||
|
|
||||||
|
local player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
|
||||||
|
|
||||||
|
-- Attack Up
|
||||||
|
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");
|
||||||
|
-- Defense Up
|
||||||
|
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");
|
||||||
|
-- Stamina Use Down
|
||||||
|
local stamina_up_buff_second_timer_field = player_data_type_def:get_field("_StaminaUpBuffSecondTimer");
|
||||||
|
-- Immunity
|
||||||
|
local debuff_prevention_timer_field = player_data_type_def:get_field("_DebuffPreventionTimer");
|
||||||
|
-- Immunizer
|
||||||
|
local vitalizer_timer_field = player_data_type_def:get_field("_VitalizerTimer");
|
||||||
|
|
||||||
|
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
|
||||||
|
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();
|
||||||
|
|
||||||
|
-- Might Seed
|
||||||
|
local might_seed_atk_up_field = player_user_data_item_parameter_type_def:get_field("_MightSeedAtkUp");
|
||||||
|
|
||||||
|
function this.update(player, player_data, item_parameter)
|
||||||
|
this.update_attack_up(player_data, item_parameter);
|
||||||
|
|
||||||
|
--this.update_misc_buff("attack_up", player_data, atk_up_buff_second_field, player_data, atk_up_buff_second_timer_field);
|
||||||
|
this.update_misc_buff("defense_up", player_data, def_up_buff_second_field, player_data, def_up_buff_second_timer_field);
|
||||||
|
this.update_misc_buff("stamina_use_down", nil, nil, player_data, stamina_up_buff_second_timer_field);
|
||||||
|
this.update_misc_buff("natural_healing_up", nil, nil, player_data, vitalizer_timer_field);
|
||||||
|
this.update_misc_buff("immunity", nil, nil, player_data, debuff_prevention_timer_field);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_misc_buff(key, value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
|
return buffs.update_generic_buff(this.list, config.current_config.buff_UI.filter.misc_buffs, this.get_misc_buff_name,
|
||||||
|
misc_buffs_type_name, key,
|
||||||
|
value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.apply_filter(key)
|
||||||
|
return buffs.apply_filter(this.list, config.current_config.buff_UI.filter.misc_buffs, key);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_attack_up(player_data, item_parameter)
|
||||||
|
if this.apply_filter("attack_up") then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local atk_up_buff_second = atk_up_buff_second_field:get_data(player_data);
|
||||||
|
if atk_up_buff_second == nil then
|
||||||
|
error_handler.report("item_buffs.update_attack_up", "Failed to Access Data: atk_up_buff_second");
|
||||||
|
this.list.attack_up = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local might_seed_atk_up = might_seed_atk_up_field:get_data(item_parameter);
|
||||||
|
if might_seed_atk_up == nil then
|
||||||
|
error_handler.report("item_buffs.update_might_seed", "Failed to Access Data: might_seed_atk_up");
|
||||||
|
this.list.attack_up = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if atk_up_buff_second == might_seed_atk_up or atk_up_buff_second == endemic_life_buffs.butterflame_attack_up then
|
||||||
|
this.list.attack_up = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
this.update_misc_buff("attack_up", nil, nil, player_data, atk_up_buff_second_timer_field);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_all_UI()
|
||||||
|
for misc_buff_key, misc_buff in pairs(this.list) do
|
||||||
|
buffs.init_UI(misc_buff);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_names()
|
||||||
|
for misc_buff_key, misc_buff in pairs(this.list) do
|
||||||
|
misc_buff.name = this.get_misc_buff_name(misc_buff_key);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.get_misc_buff_name(key)
|
||||||
|
local misc_buff_name = language.current_language.misc_buffs[key];
|
||||||
|
if misc_buff_name == nil then
|
||||||
|
return key;
|
||||||
|
end
|
||||||
|
|
||||||
|
return misc_buff_name;
|
||||||
|
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");
|
||||||
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
|
endemic_life_buffs = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
||||||
|
item_buffs = require("MHR_Overlay.Buffs.item_buffs");
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_module()
|
||||||
|
end
|
||||||
|
|
||||||
|
return this;
|
||||||
@@ -46,15 +46,51 @@ local ValueType = ValueType;
|
|||||||
local package = package;
|
local package = package;
|
||||||
|
|
||||||
this.list = {
|
this.list = {
|
||||||
rousing_roar = nil,
|
go_fight_win = nil,
|
||||||
power_drum = nil,
|
power_drum = nil,
|
||||||
go_fight_win = nil
|
rousing_roar = nil
|
||||||
};
|
};
|
||||||
|
|
||||||
local otomo_moves_type_name = "otomo_moves";
|
this.keys = {
|
||||||
|
"go_fight_win",
|
||||||
|
"power_drum",
|
||||||
|
"rousing_roar"
|
||||||
|
};
|
||||||
|
|
||||||
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
|
local otomo_moves_ids = {
|
||||||
local get_player_data_method = player_manager_type_def:get_method("get_PlayerData");
|
-- herbaceous_healing = 1,
|
||||||
|
-- felyne_silkbind = 2,
|
||||||
|
-- felyne_wyvernblast = 3,
|
||||||
|
rousing_roar = 4,
|
||||||
|
-- endemic_life_barrage = 5,
|
||||||
|
-- health_horn = 6,
|
||||||
|
-- healing_bubble = 7,
|
||||||
|
vase_of_vitality = 8,
|
||||||
|
-- furbidden_acorn = 9,
|
||||||
|
-- poison_purr_ison = 10,
|
||||||
|
-- summeown_endemic_life = 11,
|
||||||
|
-- shock_purr_ison = 12,
|
||||||
|
go_fight_win = 13,
|
||||||
|
-- giga_barrel_bombay = 14,
|
||||||
|
-- flash_bombay = 15,
|
||||||
|
-- anti_monster_mine = 16,
|
||||||
|
-- zap_blast_spinner = 17,
|
||||||
|
-- furr_ious = 18,
|
||||||
|
power_drum = 19,
|
||||||
|
-- fleet_foot_feat = 20,
|
||||||
|
-- whirlwind_assault = 21,
|
||||||
|
-- pilfer = 22,
|
||||||
|
-- shock_tripper = 23,
|
||||||
|
-- mega_boomerang = 24,
|
||||||
|
-- camouflage = 25,
|
||||||
|
-- healing_clover_bat = 26,
|
||||||
|
-- felyne_firewors = 27,
|
||||||
|
-- lottery_box = 28,
|
||||||
|
-- felyne_powered_up = 29,
|
||||||
|
-- ameowzing_mist = 30
|
||||||
|
};
|
||||||
|
|
||||||
|
local otomo_moves_type_name = "otomo_moves"
|
||||||
|
|
||||||
local player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
|
local player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
|
||||||
-- Palico: Rousing Roar
|
-- Palico: Rousing Roar
|
||||||
@@ -64,22 +100,45 @@ local kijin_otomo_timer_field = player_data_type_def:get_field("_KijinOtomoTimer
|
|||||||
-- Palico: Go, Fight, Win
|
-- Palico: Go, Fight, Win
|
||||||
local runhigh_otomo_timer_field = player_data_type_def:get_field("_RunhighOtomoTimer");
|
local runhigh_otomo_timer_field = player_data_type_def:get_field("_RunhighOtomoTimer");
|
||||||
|
|
||||||
|
local data_shortcut_type_def = sdk.find_type_definition("snow.data.DataShortcut");
|
||||||
|
local get_name_method = data_shortcut_type_def:get_method("getName(snow.data.DataDef.OtSupportActionId)");
|
||||||
|
|
||||||
function this.update(player_data)
|
function this.update(player_data)
|
||||||
buffs.update_generic_buff(this.list, otomo_moves_type_name, "rousing_roar", nil, nil, player_data, beast_roar_otomo_timer_field);
|
this.update_otomo_move("rousing_roar", nil, nil, player_data, beast_roar_otomo_timer_field);
|
||||||
buffs.update_generic_buff(this.list, otomo_moves_type_name, "power_drum", nil, nil, player_data, kijin_otomo_timer_field);
|
this.update_otomo_move("go_fight_win", nil, nil, player_data, runhigh_otomo_timer_field);
|
||||||
buffs.update_generic_buff(this.list, otomo_moves_type_name, "go_fight_win", nil, nil, player_data, runhigh_otomo_timer_field);
|
this.update_otomo_move("power_drum", nil, nil, player_data, kijin_otomo_timer_field);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_otomo_move(key, value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
|
return buffs.update_generic_buff(this.list, config.current_config.buff_UI.filter.otomo_moves, this.get_otomo_move_name,
|
||||||
|
otomo_moves_type_name, key,
|
||||||
|
value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.apply_filter(key)
|
||||||
|
return buffs.apply_filter(this.list, config.current_config.buff_UI.filter.otomo_moves, key);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_all_UI()
|
||||||
|
for otomo_move_key, otomo_move in pairs(this.list) do
|
||||||
|
buffs.init_UI(otomo_move);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_names()
|
function this.init_names()
|
||||||
for otomo_move_key, otomo_move in pairs(this.list) do
|
for otomo_move_key, otomo_move in pairs(this.list) do
|
||||||
local name = language.current_language.otomo_moves[otomo_move_key];
|
otomo_move.name = this.get_otomo_move_name(otomo_move_key);
|
||||||
|
end
|
||||||
if name == nil then
|
|
||||||
name = otomo_move_key;
|
|
||||||
end
|
end
|
||||||
|
|
||||||
otomo_move.name = name;
|
function this.get_otomo_move_name(key)
|
||||||
|
local otomo_move_name = get_name_method:call(nil, otomo_moves_ids[key]);
|
||||||
|
if otomo_move_name == nil then
|
||||||
|
error_handler.report("otomo_moves.get_otomo_move_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
|
return key;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
return otomo_move_name;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_dependencies()
|
function this.init_dependencies()
|
||||||
|
|||||||
134
reframework/autorun/MHR_Overlay/Buffs/rampage_skills.lua
Normal file
134
reframework/autorun/MHR_Overlay/Buffs/rampage_skills.lua
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
local this = {};
|
||||||
|
|
||||||
|
local buffs;
|
||||||
|
local buff_UI_entity;
|
||||||
|
local config;
|
||||||
|
local singletons;
|
||||||
|
local players;
|
||||||
|
local utils;
|
||||||
|
local language;
|
||||||
|
local error_handler;
|
||||||
|
local env_creature;
|
||||||
|
local player_info;
|
||||||
|
local time;
|
||||||
|
local abnormal_statuses;
|
||||||
|
|
||||||
|
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 skills_type_name = 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 = {
|
||||||
|
chameleos_soul = nil,
|
||||||
|
kushala_daora_soul = nil,
|
||||||
|
};
|
||||||
|
|
||||||
|
this.keys = {
|
||||||
|
"chameleos_soul",
|
||||||
|
"kushala_daora_soul",
|
||||||
|
};
|
||||||
|
|
||||||
|
local rampage_skill_ids = {
|
||||||
|
chameleos_soul = 250,
|
||||||
|
kushala_daora_soul = 251,
|
||||||
|
};
|
||||||
|
|
||||||
|
local rampage_skills_type_name = "rampage_skills";
|
||||||
|
|
||||||
|
local kushara_daora_soul_breakpoint = 5;
|
||||||
|
|
||||||
|
local player_data_type_def = sdk.find_type_definition("snow.player.PlayerData");
|
||||||
|
-- Kushala Daora Soul
|
||||||
|
local hyakuryu_dragon_power_up_count_field = player_data_type_def:get_field("_HyakuryuDragonPowerUpCnt");
|
||||||
|
local hyakuryu_dragon_power_up_timer_field = player_data_type_def:get_field("_HyakuryuDragonPowerUpTimer");
|
||||||
|
-- Chameleos Soul
|
||||||
|
local hyakuryu_onazuti_power_up_interval_field = player_data_type_def:get_field("_HyakuryuHyakuryuOnazutiPowerUpInterval");
|
||||||
|
|
||||||
|
local data_shortcut_type_def = sdk.find_type_definition("snow.data.DataShortcut");
|
||||||
|
local get_name_method = data_shortcut_type_def:get_method("getName(snow.data.DataDef.PlHyakuryuSkillId)");
|
||||||
|
|
||||||
|
function this.update(player_data)
|
||||||
|
this.update_rampage_skill("kushala_daora_soul", player_data, hyakuryu_dragon_power_up_count_field,
|
||||||
|
player_data, hyakuryu_dragon_power_up_timer_field, false, nil, {kushara_daora_soul_breakpoint});
|
||||||
|
|
||||||
|
this.update_rampage_skill("chameleos_soul", nil, nil, player_data, hyakuryu_onazuti_power_up_interval_field);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_rampage_skill(key, value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
|
return buffs.update_generic_buff(this.list, config.current_config.buff_UI.filter.rampage_skills, this.get_rampage_skill_name,
|
||||||
|
rampage_skills_type_name, key,
|
||||||
|
value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints)
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.apply_filter(key)
|
||||||
|
return buffs.apply_filter(this.list, config.current_config.buff_UI.filter.rampage_skills, key);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_all_UI()
|
||||||
|
for rampage_skill_key, rampage_skill in pairs(this.list) do
|
||||||
|
buffs.init_UI(rampage_skill);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_names()
|
||||||
|
for rampage_skill_key, rampage_skill in pairs(this.list) do
|
||||||
|
rampage_skill.name = this.get_rampage_skill_name(rampage_skill_key);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.get_rampage_skill_name(key)
|
||||||
|
local rampage_skill_name = get_name_method:call(nil, rampage_skill_ids[key]);
|
||||||
|
if rampage_skill_name == nil then
|
||||||
|
error_handler.report("rampage_skills.get_rampage_skill_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
|
return key;
|
||||||
|
end
|
||||||
|
|
||||||
|
return rampage_skill_name;
|
||||||
|
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");
|
||||||
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
|
env_creature = require("MHR_Overlay.Endemic_Life.env_creature");
|
||||||
|
player_info = require("MHR_Overlay.Misc.player_info");
|
||||||
|
time = require("MHR_Overlay.Game_Handler.time");
|
||||||
|
abnormal_statuses = require("MHR_Overlay.Buffs.abnormal_statuses");
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.init_module()
|
||||||
|
end
|
||||||
|
|
||||||
|
return this;
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -107,13 +107,13 @@ function this.update_damage(enemy, enemy_calc_damage_info)
|
|||||||
local is_large_monster = is_boss_enemy_method:call(enemy);
|
local is_large_monster = is_boss_enemy_method:call(enemy);
|
||||||
|
|
||||||
if is_large_monster == nil then
|
if is_large_monster == nil then
|
||||||
error_handler.report("damage_hook.update_damage", "Failed to access Data: is_large_monster");
|
error_handler.report("damage_hook.update_damage", "Failed to Access Data: is_large_monster");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local dead_or_captured = check_die_method:call(enemy);
|
local dead_or_captured = check_die_method:call(enemy);
|
||||||
if dead_or_captured == nil then
|
if dead_or_captured == nil then
|
||||||
error_handler.report("damage_hook.update_damage", "Failed to access Data: dead_or_captured");
|
error_handler.report("damage_hook.update_damage", "Failed to Access Data: dead_or_captured");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -231,33 +231,6 @@ function this.update_damage(enemy, enemy_calc_damage_info)
|
|||||||
|
|
||||||
players.update_damage(players.total, damage_source_type, is_large_monster, damage_object);
|
players.update_damage(players.total, damage_source_type, is_large_monster, damage_object);
|
||||||
players.update_damage(player, damage_source_type, is_large_monster, damage_object);
|
players.update_damage(player, damage_source_type, is_large_monster, damage_object);
|
||||||
|
|
||||||
--[[xy = string.format(
|
|
||||||
|
|
||||||
PhysicalPartsVitalDamage(): %s
|
|
||||||
PhysicalPartsBreakVitalDamage(): %s
|
|
||||||
PhysicalPartsLossVitalDamage(): %s
|
|
||||||
PhysicalMultiPartsVitalDamage(): %s
|
|
||||||
|
|
||||||
ElementPartsVitalDamage(): %s
|
|
||||||
ElementPartsBreakVitalDamage(): %s
|
|
||||||
ElementPartsLossVitalDamage(): %s
|
|
||||||
ElementMultiPartsVitalDamage(): %s
|
|
||||||
|
|
||||||
IsBreakPartsDamage(): %s
|
|
||||||
,
|
|
||||||
tostring(enemy_calc_damage_info:get_PhysicalPartsVitalDamage()),
|
|
||||||
tostring(enemy_calc_damage_info:get_PhysicalPartsBreakVitalDamage()),
|
|
||||||
tostring(enemy_calc_damage_info:get_PhysicalPartsLossVitalDamage()),
|
|
||||||
tostring(enemy_calc_damage_info:get_PhysicalMultiPartsVitalDamage()),
|
|
||||||
|
|
||||||
tostring(enemy_calc_damage_info:get_ElementPartsVitalDamage()),
|
|
||||||
tostring(enemy_calc_damage_info:get_ElementPartsBreakVitalDamage()),
|
|
||||||
tostring(enemy_calc_damage_info:get_ElementPartsLossVitalDamage()),
|
|
||||||
tostring(enemy_calc_damage_info:get_ElementMultiPartsVitalDamage()),
|
|
||||||
|
|
||||||
tostring(enemy_calc_damage_info:get_IsBreakPartsDamage())
|
|
||||||
);]]
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.cart(dead_player_id, flag_cat_skill_insurance)
|
function this.cart(dead_player_id, flag_cat_skill_insurance)
|
||||||
@@ -358,7 +331,7 @@ function this.on_anomaly_core_break(anomaly_core_part)
|
|||||||
|
|
||||||
local anomaly_core_break_damage_rate = get_mystery_core_break_damage_rate_method:call(anomaly_monster.enemy);
|
local anomaly_core_break_damage_rate = get_mystery_core_break_damage_rate_method:call(anomaly_monster.enemy);
|
||||||
if anomaly_core_break_damage_rate == nil then
|
if anomaly_core_break_damage_rate == nil then
|
||||||
error_handler.report("damage_hook.on_anomaly_core_break", "Failed to access Data: anomaly_core_break_damage_rate");
|
error_handler.report("damage_hook.on_anomaly_core_break", "Failed to Access Data: anomaly_core_break_damage_rate");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -134,19 +134,19 @@ function this.update_servant_list()
|
|||||||
local cached_config = config.current_config.damage_meter_UI;
|
local cached_config = config.current_config.damage_meter_UI;
|
||||||
|
|
||||||
if singletons.servant_manager == nil then
|
if singletons.servant_manager == nil then
|
||||||
error_handler.report("non_players.update_servant_list", "Failed to access Data: servant_manager");
|
error_handler.report("non_players.update_servant_list", "Failed to Access Data: servant_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local quest_servant_id_list = get_quest_servant_id_list_method:call(singletons.servant_manager);
|
local quest_servant_id_list = get_quest_servant_id_list_method:call(singletons.servant_manager);
|
||||||
if quest_servant_id_list == nil then
|
if quest_servant_id_list == nil then
|
||||||
error_handler.report("non_players.update_servant_list", "Failed to access Data: quest_servant_id_list");
|
-- error_handler.report("non_players.update_servant_list", "Failed to Access Data: quest_servant_id_list");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local servant_count = servant_get_count_method:call(quest_servant_id_list);
|
local servant_count = servant_get_count_method:call(quest_servant_id_list);
|
||||||
if servant_count == nil then
|
if servant_count == nil then
|
||||||
error_handler.report("non_players.update_servant_list", "Failed to access Data: servant_count");
|
error_handler.report("non_players.update_servant_list", "Failed to Access Data: servant_count");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -154,20 +154,20 @@ function this.update_servant_list()
|
|||||||
for i = 0, servant_count - 1 do
|
for i = 0, servant_count - 1 do
|
||||||
local servant_id = servant_get_item_method:call(quest_servant_id_list, i);
|
local servant_id = servant_get_item_method:call(quest_servant_id_list, i);
|
||||||
if servant_id == nil then
|
if servant_id == nil then
|
||||||
error_handler.report("non_players.update_servant_list", "Failed to access Data: servant_id No." .. tostring(i));
|
error_handler.report("non_players.update_servant_list", "Failed to Access Data: servant_id No." .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
local ai_control = get_ai_control_by_servant_id_method:call(singletons.servant_manager, servant_id);
|
local ai_control = get_ai_control_by_servant_id_method:call(singletons.servant_manager, servant_id);
|
||||||
if ai_control == nil then
|
if ai_control == nil then
|
||||||
error_handler.report("non_players.update_servant_list", "Failed to access Data: ai_control No." .. tostring(i));
|
error_handler.report("non_players.update_servant_list", "Failed to Access Data: ai_control No." .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local servant_info = get_servant_info_method:call(ai_control);
|
local servant_info = get_servant_info_method:call(ai_control);
|
||||||
if servant_info == nil then
|
if servant_info == nil then
|
||||||
error_handler.report("non_players.update_servant_list", "Failed to access Data: servant_info No." .. tostring(i));
|
error_handler.report("non_players.update_servant_list", "Failed to Access Data: servant_info No." .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -191,7 +191,7 @@ end
|
|||||||
|
|
||||||
function this.update_otomo_list(is_on_quest, is_online)
|
function this.update_otomo_list(is_on_quest, is_online)
|
||||||
if singletons.otomo_manager == nil then
|
if singletons.otomo_manager == nil then
|
||||||
error_handler.report("non_players.update_otomo_list", "Failed to access Data: otomo_manager");
|
error_handler.report("non_players.update_otomo_list", "Failed to Access Data: otomo_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -220,11 +220,11 @@ function this.update_my_otomos()
|
|||||||
|
|
||||||
local first_otomo = get_master_otomo_info_method:call(singletons.otomo_manager, 0);
|
local first_otomo = get_master_otomo_info_method:call(singletons.otomo_manager, 0);
|
||||||
if first_otomo == nil then
|
if first_otomo == nil then
|
||||||
error_handler.report("non_players.update_my_otomos", "Failed to access Data: first_otomo");
|
error_handler.report("non_players.update_my_otomos", "Failed to Access Data: first_otomo");
|
||||||
else
|
else
|
||||||
local name = otomo_create_data_name_field:get_data(first_otomo);
|
local name = otomo_create_data_name_field:get_data(first_otomo);
|
||||||
if name == nil then
|
if name == nil then
|
||||||
error_handler.report("non_players.update_my_otomos", "Failed to access Data: first_otomo -> name");
|
error_handler.report("non_players.update_my_otomos", "Failed to Access Data: first_otomo -> name");
|
||||||
end
|
end
|
||||||
|
|
||||||
if name ~= nil and name ~= "" then
|
if name ~= nil and name ~= "" then
|
||||||
@@ -241,11 +241,11 @@ function this.update_my_otomos()
|
|||||||
|
|
||||||
local second_otomo = get_master_otomo_info_method:call(singletons.otomo_manager, 1);
|
local second_otomo = get_master_otomo_info_method:call(singletons.otomo_manager, 1);
|
||||||
if second_otomo == nil then
|
if second_otomo == nil then
|
||||||
error_handler.report("non_players.update_my_otomos", "Failed to access Data: second_otomo");
|
error_handler.report("non_players.update_my_otomos", "Failed to Access Data: second_otomo");
|
||||||
else
|
else
|
||||||
local name = otomo_create_data_name_field:get_data(second_otomo);
|
local name = otomo_create_data_name_field:get_data(second_otomo);
|
||||||
if name == nil then
|
if name == nil then
|
||||||
error_handler.report("non_players.update_my_otomos", "Failed to access Data: second_otomo -> name");
|
error_handler.report("non_players.update_my_otomos", "Failed to Access Data: second_otomo -> name");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -268,20 +268,20 @@ function this.update_servant_otomos()
|
|||||||
|
|
||||||
local servant_otomo_list = get_servant_otomo_list_method:call(singletons.otomo_manager);
|
local servant_otomo_list = get_servant_otomo_list_method:call(singletons.otomo_manager);
|
||||||
if servant_otomo_list == nil then
|
if servant_otomo_list == nil then
|
||||||
error_handler.report("non_players.update_servant_otomos", "Failed to access Data: servant_otomo_list");
|
error_handler.report("non_players.update_servant_otomos", "Failed to Access Data: servant_otomo_list");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local count = otomo_get_count_method:call(servant_otomo_list);
|
local count = otomo_get_count_method:call(servant_otomo_list);
|
||||||
if count == nil then
|
if count == nil then
|
||||||
error_handler.report("non_players.update_servant_otomos", "Failed to access Data: servant_otomo_list -> count");
|
error_handler.report("non_players.update_servant_otomos", "Failed to Access Data: servant_otomo_list -> count");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
for i = 0, count - 1 do
|
for i = 0, count - 1 do
|
||||||
local servant_otomo = otomo_get_item_method:call(servant_otomo_list, i);
|
local servant_otomo = otomo_get_item_method:call(servant_otomo_list, i);
|
||||||
if servant_otomo == nil then
|
if servant_otomo == nil then
|
||||||
error_handler.report("non_players.update_servant_otomos", "Failed to access Data: servant_otomo No. " .. tostring(i));
|
error_handler.report("non_players.update_servant_otomos", "Failed to Access Data: servant_otomo No. " .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -292,7 +292,7 @@ function this.update_servant_otomos()
|
|||||||
local member_id = otomo_create_data:get_field("MemberID");
|
local member_id = otomo_create_data:get_field("MemberID");
|
||||||
|
|
||||||
if name == nil then
|
if name == nil then
|
||||||
error_handler.report("non_players.update_servant_otomos", string.format("Failed to access Data: servant_otomo No. %d -> name", i));
|
error_handler.report("non_players.update_servant_otomos", string.format("Failed to Access Data: servant_otomo No. %d -> name", i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -313,33 +313,33 @@ function this.update_otomos(otomo_info_field_)
|
|||||||
local cached_config = config.current_config.damage_meter_UI;
|
local cached_config = config.current_config.damage_meter_UI;
|
||||||
|
|
||||||
if singletons.lobby_manager == nil then
|
if singletons.lobby_manager == nil then
|
||||||
error_handler.report("non_players.update_otomos", "Failed to access Data: lobby_manager");
|
error_handler.report("non_players.update_otomos", "Failed to Access Data: lobby_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- other players
|
-- other players
|
||||||
local otomo_info_list = otomo_info_field_:get_data(singletons.lobby_manager);
|
local otomo_info_list = otomo_info_field_:get_data(singletons.lobby_manager);
|
||||||
if otomo_info_list == nil then
|
if otomo_info_list == nil then
|
||||||
error_handler.report("non_players.update_otomos", "Failed to access Data: otomo_info_list");
|
error_handler.report("non_players.update_otomos", "Failed to Access Data: otomo_info_list");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local count = otomo_info_get_count_method:call(otomo_info_list);
|
local count = otomo_info_get_count_method:call(otomo_info_list);
|
||||||
if count == nil then
|
if count == nil then
|
||||||
error_handler.report("non_players.update_otomos", "Failed to access Data: otomo_info_list -> count");
|
error_handler.report("non_players.update_otomos", "Failed to Access Data: otomo_info_list -> count");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
for id = 0, count - 1 do
|
for id = 0, count - 1 do
|
||||||
local otomo_info = otomo_info_get_item_method:call(otomo_info_list, id);
|
local otomo_info = otomo_info_get_item_method:call(otomo_info_list, id);
|
||||||
if otomo_info == nil then
|
if otomo_info == nil then
|
||||||
error_handler.report("non_players.update_otomos", "Failed to access Data: otomo_info No. " .. tostring(id));
|
error_handler.report("non_players.update_otomos", "Failed to Access Data: otomo_info No. " .. tostring(id));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local name = otomo_info_name_field:get_data(otomo_info);
|
local name = otomo_info_name_field:get_data(otomo_info);
|
||||||
if name == nil then
|
if name == nil then
|
||||||
error_handler.report("non_players.update_otomos", string.format("Failed to access Data: otomo_info No. %d -> name", id));
|
error_handler.report("non_players.update_otomos", string.format("Failed to Access Data: otomo_info No. %d -> name", id));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -390,7 +390,7 @@ local get_pos_field = player_base_type_def:get_method("get_Pos");
|
|||||||
|
|
||||||
function this.update_myself_position()
|
function this.update_myself_position()
|
||||||
if singletons.player_manager == nil then
|
if singletons.player_manager == nil then
|
||||||
error_handler.report("players.update_myself_position", "Failed to access Data: player_manager");
|
error_handler.report("players.update_myself_position", "Failed to Access Data: player_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -401,13 +401,13 @@ function this.update_myself_position()
|
|||||||
|
|
||||||
local master_player = find_master_player_method:call(singletons.player_manager);
|
local master_player = find_master_player_method:call(singletons.player_manager);
|
||||||
if master_player == nil then
|
if master_player == nil then
|
||||||
error_handler.report("players.update_myself_position", "Failed to access Data: master_player");
|
error_handler.report("players.update_myself_position", "Failed to Access Data: master_player");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local position = get_pos_field:call(master_player);
|
local position = get_pos_field:call(master_player);
|
||||||
if position == nil then
|
if position == nil then
|
||||||
error_handler.report("players.update_myself_position", "Failed to access Data: position");
|
error_handler.report("players.update_myself_position", "Failed to Access Data: position");
|
||||||
end
|
end
|
||||||
|
|
||||||
this.myself_position = position;
|
this.myself_position = position;
|
||||||
@@ -466,25 +466,25 @@ function this.update_player_list(hunter_info_field_)
|
|||||||
local cached_config = config.current_config.damage_meter_UI;
|
local cached_config = config.current_config.damage_meter_UI;
|
||||||
|
|
||||||
if singletons.lobby_manager == nil then
|
if singletons.lobby_manager == nil then
|
||||||
error_handler.report("players.update_player_list", "Failed to access Data: lobby_manager");
|
error_handler.report("players.update_player_list", "Failed to Access Data: lobby_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
if singletons.progress_manager == nil then
|
if singletons.progress_manager == nil then
|
||||||
error_handler.report("players.update_player_list", "Failed to access Data: progress_manager");
|
error_handler.report("players.update_player_list", "Failed to Access Data: progress_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- myself player
|
-- myself player
|
||||||
local myself_player_info = my_hunter_info_field:get_data(singletons.lobby_manager);
|
local myself_player_info = my_hunter_info_field:get_data(singletons.lobby_manager);
|
||||||
if myself_player_info == nil then
|
if myself_player_info == nil then
|
||||||
error_handler.report("players.update_player_list", "Failed to access Data: myself_player_info");
|
error_handler.report("players.update_player_list", "Failed to Access Data: myself_player_info");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local myself_player_name = name_field:get_data(myself_player_info);
|
local myself_player_name = name_field:get_data(myself_player_info);
|
||||||
if myself_player_name == nil then
|
if myself_player_name == nil then
|
||||||
error_handler.report("players.update_player_list", "Failed to access Data: myself_player_name");
|
error_handler.report("players.update_player_list", "Failed to Access Data: myself_player_name");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -494,7 +494,7 @@ function this.update_player_list(hunter_info_field_)
|
|||||||
local myself_id = get_master_player_id_method:call(singletons.player_manager);
|
local myself_id = get_master_player_id_method:call(singletons.player_manager);
|
||||||
|
|
||||||
if myself_id == nil then
|
if myself_id == nil then
|
||||||
error_handler.report("players.update_player_list", "Failed to access Data: myself_id");
|
error_handler.report("players.update_player_list", "Failed to Access Data: myself_id");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -507,26 +507,26 @@ function this.update_player_list(hunter_info_field_)
|
|||||||
-- other players
|
-- other players
|
||||||
local player_info_array = hunter_info_field_:get_data(singletons.lobby_manager);
|
local player_info_array = hunter_info_field_:get_data(singletons.lobby_manager);
|
||||||
if player_info_array == nil then
|
if player_info_array == nil then
|
||||||
error_handler.report("players.update_player_list", "Failed to access Data: player_info_array");
|
error_handler.report("players.update_player_list", "Failed to Access Data: player_info_array");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local count = get_count_method:call(player_info_array);
|
local count = get_count_method:call(player_info_array);
|
||||||
if count == nil then
|
if count == nil then
|
||||||
error_handler.report("players.update_player_list", "Failed to access Data: player_info_array -> count");
|
error_handler.report("players.update_player_list", "Failed to Access Data: player_info_array -> count");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
for i = 0, count - 1 do
|
for i = 0, count - 1 do
|
||||||
local player_info = get_item_method:call(player_info_array, i);
|
local player_info = get_item_method:call(player_info_array, i);
|
||||||
if player_info == nil then
|
if player_info == nil then
|
||||||
error_handler.report("players.update_player_list", "Failed to access Data: player_info No. " .. tostring(i));
|
-- error_handler.report("players.update_player_list", "Failed to Access Data: player_info No. " .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local id = member_index_field:get_data(player_info);
|
local id = member_index_field:get_data(player_info);
|
||||||
if id == nil then
|
if id == nil then
|
||||||
error_handler.report("players.update_player_list", string.format("Failed to access Data: player_info No. %d -> id", i));
|
error_handler.report("players.update_player_list", string.format("Failed to Access Data: player_info No. %d -> id", i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -535,7 +535,7 @@ function this.update_player_list(hunter_info_field_)
|
|||||||
|
|
||||||
local name = name_field:get_data(player_info);
|
local name = name_field:get_data(player_info);
|
||||||
if name == nil then
|
if name == nil then
|
||||||
error_handler.report("players.update_player_list", string.format("Failed to access Data: player_info No. %d -> name", i));
|
error_handler.report("players.update_player_list", string.format("Failed to Access Data: player_info No. %d -> name", i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -42,12 +42,40 @@ local package = package;
|
|||||||
this.list = {};
|
this.list = {};
|
||||||
|
|
||||||
this.creature_ids = {
|
this.creature_ids = {
|
||||||
cutterfly = 50,
|
|
||||||
clothfly = 7,
|
clothfly = 7,
|
||||||
|
stinkmink = 23,
|
||||||
|
butterflame = 28,
|
||||||
|
peepersects = 29,
|
||||||
|
red_lampsquid = 34,
|
||||||
|
yellow_lampsquid = 35,
|
||||||
|
cutterfly = 50,
|
||||||
ruby_wirebug = 62,
|
ruby_wirebug = 62,
|
||||||
gold_wirebug = 63
|
gold_wirebug = 63,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
local environment_creature_base_type_def = sdk.find_type_definition("snow.envCreature.EnvironmentCreatureBase");
|
||||||
|
local creature_type_field = environment_creature_base_type_def:get_field("_Type");
|
||||||
|
local creature_is_inactive_field = environment_creature_base_type_def:get_field("<Muteki>k__BackingField");
|
||||||
|
|
||||||
|
local message_manager_type_def = sdk.find_type_definition("snow.gui.MessageManager");
|
||||||
|
local get_env_creature_name_message_method = message_manager_type_def:get_method("getEnvCreatureNameMessage");
|
||||||
|
|
||||||
|
local get_pos_method = environment_creature_base_type_def:get_method("get_Pos");
|
||||||
|
|
||||||
|
local get_ref_mesh_method = environment_creature_base_type_def:get_method("getMesh");
|
||||||
|
|
||||||
|
local mesh_type_def = get_ref_mesh_method:get_return_type();
|
||||||
|
local get_game_object_method = mesh_type_def:get_method("get_GameObject");
|
||||||
|
|
||||||
|
local game_object_type_def = get_game_object_method:get_return_type();
|
||||||
|
local get_transform_method = game_object_type_def:get_method("get_Transform");
|
||||||
|
|
||||||
|
local transform_type_def = get_transform_method:get_return_type();
|
||||||
|
local get_joint_by_name_method = transform_type_def:get_method("getJointByName");
|
||||||
|
|
||||||
|
local joint_type_def = get_joint_by_name_method:get_return_type();
|
||||||
|
local get_position_method = joint_type_def:get_method("get_Position");
|
||||||
|
|
||||||
function this.new(REcreature)
|
function this.new(REcreature)
|
||||||
local creature = {};
|
local creature = {};
|
||||||
|
|
||||||
@@ -76,29 +104,23 @@ function this.get_creature(REcreature)
|
|||||||
return this.list[REcreature];
|
return this.list[REcreature];
|
||||||
end
|
end
|
||||||
|
|
||||||
local environment_creature_base_type_def = sdk.find_type_definition("snow.envCreature.EnvironmentCreatureBase");
|
|
||||||
local creature_type_field = environment_creature_base_type_def:get_field("_Type");
|
|
||||||
local creature_is_inactive_field = environment_creature_base_type_def:get_field("<Muteki>k__BackingField");
|
|
||||||
|
|
||||||
local message_manager_type_def = sdk.find_type_definition("snow.gui.MessageManager");
|
|
||||||
local get_env_creature_name_message_method = message_manager_type_def:get_method("getEnvCreatureNameMessage");
|
|
||||||
|
|
||||||
local get_pos_method = environment_creature_base_type_def:get_method("get_Pos");
|
|
||||||
|
|
||||||
function this.init(creature, REcreature)
|
function this.init(creature, REcreature)
|
||||||
local creature_type = creature_type_field:get_data(REcreature);
|
local creature_type = creature_type_field:get_data(REcreature);
|
||||||
if creature_type == nil then
|
if creature_type == nil then
|
||||||
error_handler.report("env_creature.init", "Failed to access Data: creature_type");
|
error_handler.report("env_creature.init", "Failed to Access Data: creature_type");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local creature_name = get_env_creature_name_message_method:call(singletons.message_manager, creature_type);
|
local creature_name = get_env_creature_name_message_method:call(singletons.message_manager, creature_type);
|
||||||
if creature_name == nil then
|
if creature_name == nil then
|
||||||
error_handler.report("env_creature.init", "Failed to access Data: creature_name");
|
error_handler.report("env_creature.init", "Failed to Access Data: creature_name");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
creature.name = creature_name;
|
creature.name = creature_name;
|
||||||
|
creature.id = creature_type;
|
||||||
|
|
||||||
|
this.update_head_joint(REcreature, creature)
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_UI(creature)
|
function this.init_UI(creature)
|
||||||
@@ -121,10 +143,12 @@ function this.update_position(REcreature, creature)
|
|||||||
|
|
||||||
local position = get_pos_method:call(REcreature);
|
local position = get_pos_method:call(REcreature);
|
||||||
if position == nil then
|
if position == nil then
|
||||||
error_handler.report("env_creature.update_position", "Failed to access Data: position");
|
error_handler.report("env_creature.update_position", "Failed to Access Data: position");
|
||||||
end
|
end
|
||||||
|
|
||||||
creature.position = position;
|
creature.position = position;
|
||||||
|
|
||||||
|
this.update_head_position(REcreature, creature);
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update(REcreature, creature)
|
function this.update(REcreature, creature)
|
||||||
@@ -138,19 +162,94 @@ function this.update(REcreature, creature)
|
|||||||
|
|
||||||
local is_inactive = creature_is_inactive_field:get_data(REcreature);
|
local is_inactive = creature_is_inactive_field:get_data(REcreature);
|
||||||
if is_inactive == nil then
|
if is_inactive == nil then
|
||||||
error_handler.report("env_creature.update", "Failed to access Data: is_inactive");
|
error_handler.report("env_creature.update", "Failed to Access Data: is_inactive");
|
||||||
end
|
end
|
||||||
|
|
||||||
creature.is_inactive = is_inactive;
|
creature.is_inactive = is_inactive;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function this.update_head_joint(REcreature, creature)
|
||||||
|
local mesh = get_ref_mesh_method:call(REcreature);
|
||||||
|
if mesh == nil then
|
||||||
|
error_handler.report("env_creature.update_head_joint", "Failed to Access Data: Mesh");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local game_object = get_game_object_method:call(mesh);
|
||||||
|
if game_object == nil then
|
||||||
|
error_handler.report("env_creature.update_head_joint", "Failed to Access Data: GameObject");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local transform = get_transform_method:call(game_object);
|
||||||
|
if transform == nil then
|
||||||
|
error_handler.report("env_creature.update_head_joint", "Failed to Access Data: Transform");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local head_joint = get_joint_by_name_method:call(transform, "Head_00")
|
||||||
|
or get_joint_by_name_method:call(transform, "Head")
|
||||||
|
or get_joint_by_name_method:call(transform, "Head_01")
|
||||||
|
or get_joint_by_name_method:call(transform, "Spine_00")
|
||||||
|
or get_joint_by_name_method:call(transform, "Body_00")
|
||||||
|
or get_joint_by_name_method:call(transform, "body_00")
|
||||||
|
or get_joint_by_name_method:call(transform, "Cog")
|
||||||
|
or get_joint_by_name_method:call(transform, "Cog_00")
|
||||||
|
or get_joint_by_name_method:call(transform, "head")
|
||||||
|
or get_joint_by_name_method:call(transform, "root");
|
||||||
|
|
||||||
|
if head_joint == nil then
|
||||||
|
-- local out = "";
|
||||||
|
-- local joints = transform:get_Joints();
|
||||||
|
|
||||||
|
-- for i = 0, joints:get_Length() - 1 do
|
||||||
|
-- local joint = joints[i];
|
||||||
|
-- local joint_name = joint:get_Name();
|
||||||
|
|
||||||
|
-- out = out .. joint_name .. "\n";
|
||||||
|
-- end
|
||||||
|
|
||||||
|
-- error_handler.report(creature.name, out);
|
||||||
|
|
||||||
|
error_handler.report("small_monster.update_head_joint", "Failed to Access Data: HeadJoint");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
creature.head_joint = head_joint;
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_head_position(REcreature, creature)
|
||||||
|
if creature.head_joint == nil then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local head_position = get_position_method:call(creature.head_joint);
|
||||||
|
if head_position == nil then
|
||||||
|
error_handler.report("env_creature.update_head_position", "Failed to Access Data: HeadPosition");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
creature.head_position = head_position;
|
||||||
|
end
|
||||||
|
|
||||||
function this.draw(creature, position_on_screen, opacity_scale)
|
function this.draw(creature, position_on_screen, opacity_scale)
|
||||||
if d2d ~= nil and config.current_config.global_settings.renderer.use_d2d_if_available then
|
if d2d ~= nil and config.current_config.global_settings.renderer.use_d2d_if_available then
|
||||||
local text_width, text_height = drawing.font:measure(creature.name);
|
local text_width, text_height = drawing.font:measure(creature.name);
|
||||||
position_on_screen.x = position_on_screen.x - text_width / 2;
|
position_on_screen.x = position_on_screen.x - text_width / 2;
|
||||||
end
|
end
|
||||||
|
|
||||||
drawing.draw_label(creature.name_label, position_on_screen, opacity_scale, creature.name);
|
local cached_config = config.current_config.endemic_life_UI.creature_name_label.include;
|
||||||
|
|
||||||
|
local name_text = "";
|
||||||
|
if cached_config.name then
|
||||||
|
name_text = string.format("%s ", creature.name);
|
||||||
|
end
|
||||||
|
|
||||||
|
if cached_config.id then
|
||||||
|
name_text = string.format("%s%s ", name_text, tostring(creature.id));
|
||||||
|
end
|
||||||
|
|
||||||
|
drawing.draw_label(creature.name_label, position_on_screen, opacity_scale, name_text);
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_list()
|
function this.init_list()
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ local large_monster;
|
|||||||
local damage_meter_UI;
|
local damage_meter_UI;
|
||||||
local time;
|
local time;
|
||||||
local error_handler;
|
local error_handler;
|
||||||
|
local quest_status;
|
||||||
|
|
||||||
local sdk = sdk;
|
local sdk = sdk;
|
||||||
local tostring = tostring;
|
local tostring = tostring;
|
||||||
@@ -49,6 +50,7 @@ local hard_keyboard_field_type_def = hard_keyboard_field:get_type();
|
|||||||
local get_down_method = hard_keyboard_field_type_def:get_method("getDown");
|
local get_down_method = hard_keyboard_field_type_def:get_method("getDown");
|
||||||
local get_trigger_method = hard_keyboard_field_type_def:get_method("getTrg");
|
local get_trigger_method = hard_keyboard_field_type_def:get_method("getTrg");
|
||||||
local get_release_method = hard_keyboard_field_type_def:get_method("getRelease");
|
local get_release_method = hard_keyboard_field_type_def:get_method("getRelease");
|
||||||
|
local update_method = hard_keyboard_field_type_def:get_method("update");
|
||||||
|
|
||||||
this.hotkey_modifiers_down = {
|
this.hotkey_modifiers_down = {
|
||||||
ctrl = false,
|
ctrl = false,
|
||||||
@@ -334,15 +336,9 @@ this.keys = {
|
|||||||
--[254] = "Clear"
|
--[254] = "Clear"
|
||||||
};
|
};
|
||||||
|
|
||||||
function this.update()
|
function this.update(hard_keyboard)
|
||||||
if singletons.game_keyboard == nil then
|
|
||||||
error_handler.report("keyboard.update", "Failed to access Data: game_keyboard");
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
local hard_keyboard = hard_keyboard_field:get_data(singletons.game_keyboard);
|
|
||||||
if hard_keyboard == nil then
|
if hard_keyboard == nil then
|
||||||
error_handler.report("keyboard.update", "Failed to access Data: hard_keyboard");
|
error_handler.report("keyboard.update", "Failed to Access Data: hard_keyboard");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -480,6 +476,28 @@ function this.register_hotkey(hard_keyboard)
|
|||||||
return true;
|
return true;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
elseif customization_menu.buff_UI_waiting_for_key then
|
||||||
|
for key, key_name in pairs(this.keys) do
|
||||||
|
if get_release_method:call(hard_keyboard, key) then
|
||||||
|
cached_config.buff_UI.ctrl = this.hotkey_modifiers_down.ctrl;
|
||||||
|
cached_config.buff_UI.shift = this.hotkey_modifiers_down.shift;
|
||||||
|
cached_config.buff_UI.alt = this.hotkey_modifiers_down.alt;
|
||||||
|
cached_config.buff_UI.key = key;
|
||||||
|
customization_menu.buff_UI_waiting_for_key = false;
|
||||||
|
return true;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
elseif customization_menu.stats_UI_waiting_for_key then
|
||||||
|
for key, key_name in pairs(this.keys) do
|
||||||
|
if get_release_method:call(hard_keyboard, key) then
|
||||||
|
cached_config.stats_UI.ctrl = this.hotkey_modifiers_down.ctrl;
|
||||||
|
cached_config.stats_UI.shift = this.hotkey_modifiers_down.shift;
|
||||||
|
cached_config.stats_UI.alt = this.hotkey_modifiers_down.alt;
|
||||||
|
cached_config.stats_UI.key = key;
|
||||||
|
customization_menu.stats_UI_waiting_for_key = false;
|
||||||
|
return true;
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -495,7 +513,7 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local all_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.all_UI.key));
|
local all_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.all_UI.key));
|
||||||
|
|
||||||
if all_UI_key_release == nil then
|
if all_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: all_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: all_UI_key_release");
|
||||||
|
|
||||||
elseif all_UI_key_release then
|
elseif all_UI_key_release then
|
||||||
local is_any_enabled = config.current_config.time_UI.enabled
|
local is_any_enabled = config.current_config.time_UI.enabled
|
||||||
@@ -503,7 +521,10 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
or config.current_config.large_monster_UI.dynamic.enabled
|
or config.current_config.large_monster_UI.dynamic.enabled
|
||||||
or config.current_config.large_monster_UI.static.enabled
|
or config.current_config.large_monster_UI.static.enabled
|
||||||
or config.current_config.large_monster_UI.highlighted.enabled
|
or config.current_config.large_monster_UI.highlighted.enabled
|
||||||
or config.current_config.damage_meter_UI.enabled;
|
or config.current_config.damage_meter_UI.enabled
|
||||||
|
or config.current_config.endemic_life_UI.enabled
|
||||||
|
or config.current_config.buff_UI.enabled
|
||||||
|
or config.current_config.stats_UI.enabled;
|
||||||
|
|
||||||
config.current_config.time_UI.enabled = not is_any_enabled;
|
config.current_config.time_UI.enabled = not is_any_enabled;
|
||||||
config.current_config.small_monster_UI.enabled = not is_any_enabled;
|
config.current_config.small_monster_UI.enabled = not is_any_enabled;
|
||||||
@@ -511,6 +532,9 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
config.current_config.large_monster_UI.static.enabled = not is_any_enabled;
|
config.current_config.large_monster_UI.static.enabled = not is_any_enabled;
|
||||||
config.current_config.large_monster_UI.highlighted.enabled = not is_any_enabled;
|
config.current_config.large_monster_UI.highlighted.enabled = not is_any_enabled;
|
||||||
config.current_config.damage_meter_UI.enabled = not is_any_enabled;
|
config.current_config.damage_meter_UI.enabled = not is_any_enabled;
|
||||||
|
config.current_config.endemic_life_UI.enabled = not is_any_enabled;
|
||||||
|
config.current_config.buff_UI.enabled = not is_any_enabled;
|
||||||
|
config.current_config.stats_UI.enabled = not is_any_enabled;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -521,7 +545,7 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local small_monster_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.small_monster_UI.key));
|
local small_monster_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.small_monster_UI.key));
|
||||||
|
|
||||||
if small_monster_UI_key_release == nil then
|
if small_monster_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: small_monster_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: small_monster_UI_key_release");
|
||||||
|
|
||||||
elseif small_monster_UI_key_release then
|
elseif small_monster_UI_key_release then
|
||||||
config.current_config.small_monster_UI.enabled = not config.current_config.small_monster_UI.enabled;
|
config.current_config.small_monster_UI.enabled = not config.current_config.small_monster_UI.enabled;
|
||||||
@@ -535,7 +559,7 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local large_monster_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.large_monster_UI.key));
|
local large_monster_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.large_monster_UI.key));
|
||||||
|
|
||||||
if large_monster_UI_key_release == nil then
|
if large_monster_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: large_monster_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: large_monster_UI_key_release");
|
||||||
|
|
||||||
elseif large_monster_UI_key_release then
|
elseif large_monster_UI_key_release then
|
||||||
local is_any_enabled = config.current_config.large_monster_UI.dynamic.enabled
|
local is_any_enabled = config.current_config.large_monster_UI.dynamic.enabled
|
||||||
@@ -555,7 +579,7 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local large_monster_dynamic_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.large_monster_dynamic_UI.key));
|
local large_monster_dynamic_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.large_monster_dynamic_UI.key));
|
||||||
|
|
||||||
if large_monster_dynamic_UI_key_release == nil then
|
if large_monster_dynamic_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: large_monster_dynamic_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: large_monster_dynamic_UI_key_release");
|
||||||
|
|
||||||
elseif large_monster_dynamic_UI_key_release then
|
elseif large_monster_dynamic_UI_key_release then
|
||||||
config.current_config.large_monster_UI.dynamic.enabled = not config.current_config.large_monster_UI.dynamic.enabled;
|
config.current_config.large_monster_UI.dynamic.enabled = not config.current_config.large_monster_UI.dynamic.enabled;
|
||||||
@@ -569,7 +593,7 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local large_monster_static_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.large_monster_static_UI.key));
|
local large_monster_static_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.large_monster_static_UI.key));
|
||||||
|
|
||||||
if large_monster_static_UI_key_release == nil then
|
if large_monster_static_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: large_monster_static_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: large_monster_static_UI_key_release");
|
||||||
|
|
||||||
elseif large_monster_static_UI_key_release then
|
elseif large_monster_static_UI_key_release then
|
||||||
config.current_config.large_monster_UI.static.enabled = not config.current_config.large_monster_UI.static.enabled;
|
config.current_config.large_monster_UI.static.enabled = not config.current_config.large_monster_UI.static.enabled;
|
||||||
@@ -583,7 +607,7 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local large_monster_highlighted_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.large_monster_highlighted_UI.key));
|
local large_monster_highlighted_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.large_monster_highlighted_UI.key));
|
||||||
|
|
||||||
if large_monster_highlighted_UI_key_release == nil then
|
if large_monster_highlighted_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: large_monster_highlighted_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: large_monster_highlighted_UI_key_release");
|
||||||
|
|
||||||
elseif large_monster_highlighted_UI_key_release then
|
elseif large_monster_highlighted_UI_key_release then
|
||||||
config.current_config.large_monster_UI.highlighted.enabled = not config.current_config.large_monster_UI.highlighted.enabled;
|
config.current_config.large_monster_UI.highlighted.enabled = not config.current_config.large_monster_UI.highlighted.enabled;
|
||||||
@@ -597,7 +621,7 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local time_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.time_UI.key));
|
local time_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.time_UI.key));
|
||||||
|
|
||||||
if time_UI_key_release == nil then
|
if time_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: time_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: time_UI_key_release");
|
||||||
|
|
||||||
elseif time_UI_key_release then
|
elseif time_UI_key_release then
|
||||||
config.current_config.time_UI.enabled = not config.current_config.time_UI.enabled;
|
config.current_config.time_UI.enabled = not config.current_config.time_UI.enabled;
|
||||||
@@ -611,7 +635,7 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local damage_meter_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.damage_meter_UI.key));
|
local damage_meter_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.damage_meter_UI.key));
|
||||||
|
|
||||||
if damage_meter_UI_key_release == nil then
|
if damage_meter_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: damage_meter_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: damage_meter_UI_key_release");
|
||||||
|
|
||||||
elseif damage_meter_UI_key_release then
|
elseif damage_meter_UI_key_release then
|
||||||
config.current_config.damage_meter_UI.enabled = not config.current_config.damage_meter_UI.enabled;
|
config.current_config.damage_meter_UI.enabled = not config.current_config.damage_meter_UI.enabled;
|
||||||
@@ -625,12 +649,40 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local endemic_life_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.endemic_life_UI.key));
|
local endemic_life_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.endemic_life_UI.key));
|
||||||
|
|
||||||
if endemic_life_UI_key_release == nil then
|
if endemic_life_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: endemic_life_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: endemic_life_UI_key_release");
|
||||||
|
|
||||||
elseif endemic_life_UI_key_release then
|
elseif endemic_life_UI_key_release then
|
||||||
config.current_config.endemic_life_UI.enabled = not config.current_config.endemic_life_UI.enabled;
|
config.current_config.endemic_life_UI.enabled = not config.current_config.endemic_life_UI.enabled;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if not (cached_config.buff_UI.ctrl and not this.hotkey_modifiers_down.ctrl)
|
||||||
|
and not (cached_config.buff_UI.shift and not this.hotkey_modifiers_down.shift)
|
||||||
|
and not (cached_config.buff_UI.alt and not this.hotkey_modifiers_down.alt) then
|
||||||
|
|
||||||
|
local buff_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.buff_UI.key));
|
||||||
|
|
||||||
|
if buff_UI_key_release == nil then
|
||||||
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: buff_UI_key_release");
|
||||||
|
|
||||||
|
elseif buff_UI_key_release then
|
||||||
|
config.current_config.buff_UI.enabled = not config.current_config.buff_UI.enabled;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if not (cached_config.stats_UI.ctrl and not this.hotkey_modifiers_down.ctrl)
|
||||||
|
and not (cached_config.stats_UI.shift and not this.hotkey_modifiers_down.shift)
|
||||||
|
and not (cached_config.stats_UI.alt and not this.hotkey_modifiers_down.alt) then
|
||||||
|
|
||||||
|
local stats_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.stats_UI.key));
|
||||||
|
|
||||||
|
if stats_UI_key_release == nil then
|
||||||
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: stats_UI_key_release");
|
||||||
|
|
||||||
|
elseif stats_UI_key_release then
|
||||||
|
config.current_config.stats_UI.enabled = not config.current_config.stats_UI.enabled;
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.get_hotkey_name(hotkey)
|
function this.get_hotkey_name(hotkey)
|
||||||
@@ -661,9 +713,19 @@ function this.init_dependencies()
|
|||||||
damage_meter_UI = require("MHR_Overlay.UI.Modules.damage_meter_UI");
|
damage_meter_UI = require("MHR_Overlay.UI.Modules.damage_meter_UI");
|
||||||
time = require("MHR_Overlay.Game_Handler.time");
|
time = require("MHR_Overlay.Game_Handler.time");
|
||||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
|
quest_status = require("MHR_Overlay.Game_Handler.quest_status");
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_module()
|
function this.init_module()
|
||||||
|
sdk.hook(update_method, function(args)
|
||||||
|
|
||||||
|
local hard_keyboard = sdk.to_managed_object(args[2]);
|
||||||
|
|
||||||
|
this.update(hard_keyboard);
|
||||||
|
|
||||||
|
end, function(retval)
|
||||||
|
return retval;
|
||||||
|
end);
|
||||||
end
|
end
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
@@ -177,44 +177,44 @@ end
|
|||||||
|
|
||||||
function this.update_cart_count()
|
function this.update_cart_count()
|
||||||
if singletons.quest_manager == nil then
|
if singletons.quest_manager == nil then
|
||||||
error_handler.report("quest_status.update_cart_count", "Failed to access Data: quest_manager");
|
error_handler.report("quest_status.update_cart_count", "Failed to Access Data: quest_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local death_num = get_death_num_method:call(singletons.quest_manager);
|
local death_num = get_death_num_method:call(singletons.quest_manager);
|
||||||
if death_num == nil then
|
if death_num == nil then
|
||||||
error_handler.report("quest_status.update_cart_count", "Failed to access Data: death_num");
|
error_handler.report("quest_status.update_cart_count", "Failed to Access Data: death_num");
|
||||||
else
|
else
|
||||||
this.cart_count = death_num;
|
this.cart_count = death_num;
|
||||||
end
|
end
|
||||||
|
|
||||||
if singletons.player_manager == nil then
|
if singletons.player_manager == nil then
|
||||||
error_handler.report("quest_status.update_cart_count", "Failed to access Data: player_manager");
|
error_handler.report("quest_status.update_cart_count", "Failed to Access Data: player_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local player_data_array = get_player_data_method:call(singletons.player_manager);
|
local player_data_array = get_player_data_method:call(singletons.player_manager);
|
||||||
if player_data_array == nil then
|
if player_data_array == nil then
|
||||||
error_handler.report("quest_status.update_cart_count", "Failed to access Data: player_data_array");
|
error_handler.report("quest_status.update_cart_count", "Failed to Access Data: player_data_array");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local player_data_array_length = get_length_method:call(player_data_array);
|
local player_data_array_length = get_length_method:call(player_data_array);
|
||||||
if player_data_array_length == nil then
|
if player_data_array_length == nil then
|
||||||
error_handler.report("quest_status.update_cart_count", "Failed to access Data: player_data_array_length");
|
error_handler.report("quest_status.update_cart_count", "Failed to Access Data: player_data_array_length");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
for i = 0, player_data_array_length - 1 do
|
for i = 0, player_data_array_length - 1 do
|
||||||
local player_data = get_value_method:call(player_data_array, i);
|
local player_data = get_value_method:call(player_data_array, i);
|
||||||
if player_data_array_length == nil then
|
if player_data_array_length == nil then
|
||||||
error_handler.report("quest_status.update_cart_count", string.format("Failed to access Data: player_data No. %d", i));
|
error_handler.report("quest_status.update_cart_count", string.format("Failed to Access Data: player_data No. %d", i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local die_count = die_count_field:get_data(player_data);
|
local die_count = die_count_field:get_data(player_data);
|
||||||
if die_count == nil then
|
if die_count == nil then
|
||||||
error_handler.report("quest_status.update_cart_count", string.format("Failed to access Data: die_count No. %d", i));
|
error_handler.report("quest_status.update_cart_count", string.format("Failed to Access Data: die_count No. %d", i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -229,13 +229,13 @@ end
|
|||||||
|
|
||||||
function this.get_max_cart_count()
|
function this.get_max_cart_count()
|
||||||
if singletons.quest_manager == nil then
|
if singletons.quest_manager == nil then
|
||||||
error_handler.report("quest_status.get_max_cart_count", "Failed to access Data: quest_manager");
|
error_handler.report("quest_status.get_max_cart_count", "Failed to Access Data: quest_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local quest_life = get_quest_life_method:call(singletons.quest_manager);
|
local quest_life = get_quest_life_method:call(singletons.quest_manager);
|
||||||
if quest_life == nil then
|
if quest_life == nil then
|
||||||
error_handler.report("quest_status.get_max_cart_count", "Failed to access Data: quest_life");
|
error_handler.report("quest_status.get_max_cart_count", "Failed to Access Data: quest_life");
|
||||||
end
|
end
|
||||||
|
|
||||||
this.max_cart_count = quest_life;
|
this.max_cart_count = quest_life;
|
||||||
@@ -256,7 +256,7 @@ function this.on_demo_request_activation(request_data_base)
|
|||||||
|
|
||||||
local request_data_type = request_data_base:call("get_Type");
|
local request_data_type = request_data_base:call("get_Type");
|
||||||
if request_data_type == nil then
|
if request_data_type == nil then
|
||||||
error_handler.report("quest_status.on_demo_request_activation", "Failed to access Data: request_data_type");
|
error_handler.report("quest_status.on_demo_request_activation", "Failed to Access Data: request_data_type");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -388,13 +388,13 @@ end
|
|||||||
|
|
||||||
function this.init()
|
function this.init()
|
||||||
if singletons.quest_manager == nil then
|
if singletons.quest_manager == nil then
|
||||||
error_handler.report("quest_status.init", "Failed to access Data: quest_manager");
|
error_handler.report("quest_status.init", "Failed to Access Data: quest_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local new_quest_status = get_status_method:call(singletons.game_manager);
|
local new_quest_status = get_status_method:call(singletons.game_manager);
|
||||||
if new_quest_status == nil then
|
if new_quest_status == nil then
|
||||||
error_handler.report("quest_status.init", "Failed to access Data: new_quest_status");
|
error_handler.report("quest_status.init", "Failed to Access Data: new_quest_status");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -415,13 +415,13 @@ end
|
|||||||
|
|
||||||
function this.update_is_online()
|
function this.update_is_online()
|
||||||
if singletons.lobby_manager == nil then
|
if singletons.lobby_manager == nil then
|
||||||
error_handler.report("quest_status.update_is_online", "Failed to access Data: lobby_manager");
|
error_handler.report("quest_status.update_is_online", "Failed to Access Data: lobby_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_quest_online = is_quest_online_method:call(singletons.lobby_manager);
|
local is_quest_online = is_quest_online_method:call(singletons.lobby_manager);
|
||||||
if is_quest_online == nil then
|
if is_quest_online == nil then
|
||||||
error_handler.report("quest_status.update_is_online", "Failed to access Data: is_quest_online");
|
error_handler.report("quest_status.update_is_online", "Failed to Access Data: is_quest_online");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -430,13 +430,13 @@ end
|
|||||||
|
|
||||||
--[[function quest_status.update_is_quest_host()
|
--[[function quest_status.update_is_quest_host()
|
||||||
if singletons.lobby_manager == nil then
|
if singletons.lobby_manager == nil then
|
||||||
error_handler.report("quest_status.update_is_quest_host", "Failed to access Data: lobby_manager");
|
error_handler.report("quest_status.update_is_quest_host", "Failed to Access Data: lobby_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_quest_host = is_quest_host_method:call(singletons.lobby_manager, true);
|
local is_quest_host = is_quest_host_method:call(singletons.lobby_manager, true);
|
||||||
if is_quest_host == nil then
|
if is_quest_host == nil then
|
||||||
error_handler.report("quest_status.update_is_quest_host", "Failed to access Data: is_quest_host");
|
error_handler.report("quest_status.update_is_quest_host", "Failed to Access Data: is_quest_host");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -445,13 +445,13 @@ end--]]
|
|||||||
|
|
||||||
function this.update_is_training_area()
|
function this.update_is_training_area()
|
||||||
if singletons.village_area_manager == nil then
|
if singletons.village_area_manager == nil then
|
||||||
error_handler.report("quest_status.update_is_training_area", "Failed to access Data: village_area_manager");
|
error_handler.report("quest_status.update_is_training_area", "Failed to Access Data: village_area_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_training_area = check_current_area_training_area_method:call(singletons.village_area_manager);
|
local is_training_area = check_current_area_training_area_method:call(singletons.village_area_manager);
|
||||||
if is_training_area == nil then
|
if is_training_area == nil then
|
||||||
error_handler.report("quest_status.update_is_training_area", "Failed to access Data: is_training_area");
|
error_handler.report("quest_status.update_is_training_area", "Failed to Access Data: is_training_area");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -75,26 +75,26 @@ function this.get_game_window_size()
|
|||||||
scene_view = sdk.call_native_func(singletons.scene_manager, sdk.find_type_definition("via.SceneManager") , "get_MainView");
|
scene_view = sdk.call_native_func(singletons.scene_manager, sdk.find_type_definition("via.SceneManager") , "get_MainView");
|
||||||
|
|
||||||
if scene_view == nil then
|
if scene_view == nil then
|
||||||
error_handler.report("screen.get_game_window_size", "Failed to access Data: scene_view");
|
error_handler.report("screen.get_game_window_size", "Failed to Access Data: scene_view");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local size = get_size_method:call(scene_view);
|
local size = get_size_method:call(scene_view);
|
||||||
if size == nil then
|
if size == nil then
|
||||||
error_handler.report("screen.get_game_window_size", "Failed to access Data: size");
|
error_handler.report("screen.get_game_window_size", "Failed to Access Data: size");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local screen_width = width_field:get_data(size);
|
local screen_width = width_field:get_data(size);
|
||||||
if screen_width == nil then
|
if screen_width == nil then
|
||||||
error_handler.report("screen.get_game_window_size", "Failed to access Data: screen_width");
|
error_handler.report("screen.get_game_window_size", "Failed to Access Data: screen_width");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local screen_height = height_field:get_data(size);
|
local screen_height = height_field:get_data(size);
|
||||||
if screen_height == nil then
|
if screen_height == nil then
|
||||||
error_handler.report("screen.get_game_window_size", "Failed to access Data: screen_height");
|
error_handler.report("screen.get_game_window_size", "Failed to Access Data: screen_height");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -48,151 +48,170 @@ this.game_keyboard = nil;
|
|||||||
this.scene_manager = nil;
|
this.scene_manager = nil;
|
||||||
this.game_manager = nil;
|
this.game_manager = nil;
|
||||||
|
|
||||||
function this.init()
|
function this.update()
|
||||||
this.init_message_manager();
|
this.update_message_manager();
|
||||||
this.init_enemy_manager();
|
this.update_enemy_manager();
|
||||||
this.init_lobby_manager()
|
this.update_lobby_manager()
|
||||||
this.init_progress_manager();
|
this.update_progress_manager();
|
||||||
this.init_quest_manager();
|
this.update_quest_manager();
|
||||||
this.init_player_manager();
|
this.update_player_manager();
|
||||||
this.init_village_area_manager();
|
this.update_village_area_manager();
|
||||||
this.init_gui_manager();
|
this.update_gui_manager();
|
||||||
this.init_game_keyboard();
|
this.update_game_keyboard();
|
||||||
this.init_scene_manager();
|
this.update_scene_manager();
|
||||||
this.init_game_manager();
|
this.update_game_manager();
|
||||||
this.init_servant_manager();
|
this.update_servant_manager();
|
||||||
this.init_otomo_manager();
|
this.update_otomo_manager();
|
||||||
this.init_long_sword_shell_manager();
|
this.update_long_sword_shell_manager();
|
||||||
|
this.update_light_bowgun_shell_manager();
|
||||||
|
this.update_horn_shell_manager();
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_message_manager()
|
function this.update_message_manager()
|
||||||
this.message_manager = sdk.get_managed_singleton("snow.gui.MessageManager");
|
this.message_manager = sdk.get_managed_singleton("snow.gui.MessageManager");
|
||||||
if this.message_manager == nil then
|
if this.message_manager == nil then
|
||||||
error_handler.report("singletons.init_message_manager", "Failed to access Data: message_manager");
|
error_handler.report("singletons.update_message_manager", "Failed to Access Data: message_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.message_manager;
|
return this.message_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_enemy_manager()
|
function this.update_enemy_manager()
|
||||||
this.enemy_manager = sdk.get_managed_singleton("snow.enemy.EnemyManager");
|
this.enemy_manager = sdk.get_managed_singleton("snow.enemy.EnemyManager");
|
||||||
if this.enemy_manager == nil then
|
if this.enemy_manager == nil then
|
||||||
error_handler.report("singletons.init_enemy_manager", "Failed to access Data: enemy_manager");
|
error_handler.report("singletons.update_enemy_manager", "Failed to Access Data: enemy_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.enemy_manager;
|
return this.enemy_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_lobby_manager()
|
function this.update_lobby_manager()
|
||||||
this.lobby_manager = sdk.get_managed_singleton("snow.LobbyManager");
|
this.lobby_manager = sdk.get_managed_singleton("snow.LobbyManager");
|
||||||
if this.lobby_manager == nil then
|
if this.lobby_manager == nil then
|
||||||
error_handler.report("singletons.init_lobby_manager", "Failed to access Data: lobby_manager");
|
error_handler.report("singletons.update_lobby_manager", "Failed to Access Data: lobby_manager");
|
||||||
return false;
|
return false;
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.lobby_manager;
|
return this.lobby_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_progress_manager()
|
function this.update_progress_manager()
|
||||||
this.progress_manager = sdk.get_managed_singleton("snow.progress.ProgressManager");
|
this.progress_manager = sdk.get_managed_singleton("snow.progress.ProgressManager");
|
||||||
if this.progress_manager == nil then
|
if this.progress_manager == nil then
|
||||||
error_handler.report("singletons.init_lobby_manager", "Failed to access Data: progress_manager");
|
error_handler.report("singletons.update_progress_manager", "Failed to Access Data: progress_manager");
|
||||||
return false;
|
return false;
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.progress_manager;
|
return this.progress_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_quest_manager()
|
function this.update_quest_manager()
|
||||||
this.quest_manager = sdk.get_managed_singleton("snow.QuestManager");
|
this.quest_manager = sdk.get_managed_singleton("snow.QuestManager");
|
||||||
if this.quest_manager == nil then
|
if this.quest_manager == nil then
|
||||||
error_handler.report("singletons.init_quest_manager", "Failed to access Data: quest_manager");
|
error_handler.report("singletons.update_quest_manager", "Failed to Access Data: quest_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.quest_manager;
|
return this.quest_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_player_manager()
|
function this.update_player_manager()
|
||||||
this.player_manager = sdk.get_managed_singleton("snow.player.PlayerManager");
|
this.player_manager = sdk.get_managed_singleton("snow.player.PlayerManager");
|
||||||
if this.player_manager == nil then
|
if this.player_manager == nil then
|
||||||
error_handler.report("singletons.init_player_manager", "Failed to access Data: player_manager");
|
error_handler.report("singletons.update_player_manager", "Failed to Access Data: player_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.player_manager;
|
return this.player_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_village_area_manager()
|
function this.update_village_area_manager()
|
||||||
this.village_area_manager = sdk.get_managed_singleton("snow.VillageAreaManager");
|
this.village_area_manager = sdk.get_managed_singleton("snow.VillageAreaManager");
|
||||||
if this.village_area_manager == nil then
|
if this.village_area_manager == nil then
|
||||||
error_handler.report("singletons.init_village_area_manager", "Failed to access Data: village_area_manager");
|
-- error_handler.report("singletons.update_village_area_manager", "Failed to Access Data: village_area_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.village_area_manager;
|
return this.village_area_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_gui_manager()
|
function this.update_gui_manager()
|
||||||
this.gui_manager = sdk.get_managed_singleton("snow.gui.GuiManager");
|
this.gui_manager = sdk.get_managed_singleton("snow.gui.GuiManager");
|
||||||
if this.gui_manager == nil then
|
if this.gui_manager == nil then
|
||||||
error_handler.report("singletons.init_gui_manager", "Failed to access Data: gui_manager");
|
error_handler.report("singletons.update_gui_manager", "Failed to Access Data: gui_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.gui_manager;
|
return this.gui_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_game_keyboard()
|
function this.update_game_keyboard()
|
||||||
this.game_keyboard = sdk.get_managed_singleton("snow.GameKeyboard");
|
this.game_keyboard = sdk.get_managed_singleton("snow.GameKeyboard");
|
||||||
if this.game_keyboard == nil then
|
if this.game_keyboard == nil then
|
||||||
error_handler.report("singletons.init_game_keyboard", "Failed to access Data: game_keyboard");
|
error_handler.report("singletons.update_game_keyboard", "Failed to Access Data: game_keyboard");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.game_keyboard;
|
return this.game_keyboard;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_scene_manager()
|
function this.update_scene_manager()
|
||||||
this.scene_manager = sdk.get_native_singleton("via.SceneManager");
|
this.scene_manager = sdk.get_native_singleton("via.SceneManager");
|
||||||
if this.scene_manager == nil then
|
if this.scene_manager == nil then
|
||||||
error_handler.report("singletons.init_scene_manager", "Failed to access Data: scene_manager");
|
error_handler.report("singletons.update_scene_manager", "Failed to Access Data: scene_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.scene_manager;
|
return this.scene_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_game_manager()
|
function this.update_game_manager()
|
||||||
this.game_manager = sdk.get_managed_singleton("snow.SnowGameManager");
|
this.game_manager = sdk.get_managed_singleton("snow.SnowGameManager");
|
||||||
if this.game_manager == nil then
|
if this.game_manager == nil then
|
||||||
error_handler.report("singletons.init_game_manager", "Failed to access Data: game_manager");
|
error_handler.report("singletons.update_game_manager", "Failed to Access Data: game_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.game_manager;
|
return this.game_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_servant_manager()
|
function this.update_servant_manager()
|
||||||
this.servant_manager = sdk.get_managed_singleton("snow.ai.ServantManager");
|
this.servant_manager = sdk.get_managed_singleton("snow.ai.ServantManager");
|
||||||
if this.servant_manager == nil then
|
if this.servant_manager == nil then
|
||||||
error_handler.report("singletons.init_servant_manager", "Failed to access Data: servant_manager");
|
error_handler.report("singletons.update_servant_manager", "Failed to Access Data: servant_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.servant_manager;
|
return this.servant_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_otomo_manager()
|
function this.update_otomo_manager()
|
||||||
this.otomo_manager = sdk.get_managed_singleton("snow.otomo.OtomoManager");
|
this.otomo_manager = sdk.get_managed_singleton("snow.otomo.OtomoManager");
|
||||||
if this.otomo_manager == nil then
|
if this.otomo_manager == nil then
|
||||||
error_handler.report("singletons.init_otomo_manager", "Failed to access Data: otomo_manager");
|
error_handler.report("singletons.update_otomo_manager", "Failed to Access Data: otomo_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.otomo_manager;
|
return this.otomo_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_long_sword_shell_manager()
|
function this.update_long_sword_shell_manager()
|
||||||
this.long_sword_shell_manager = sdk.get_managed_singleton("snow.shell.LongSwordShellManager");
|
this.long_sword_shell_manager = sdk.get_managed_singleton("snow.shell.LongSwordShellManager");
|
||||||
if this.long_sword_shell_manager == nil then
|
if this.long_sword_shell_manager == nil then
|
||||||
error_handler.report("singletons.init_long_sword_shell_manager", "Failed to access Data: long_sword_shell_manager");
|
error_handler.report("singletons.update_long_sword_shell_manager", "Failed to Access Data: long_sword_shell_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.long_sword_shell_manager;
|
return this.long_sword_shell_manager;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function this.update_light_bowgun_shell_manager()
|
||||||
|
this.light_bowgun_shell_manager = sdk.get_managed_singleton("snow.shell.LightBowgunShellManager");
|
||||||
|
if this.light_bowgun_shell_manager == nil then
|
||||||
|
error_handler.report("singletons.update_light_bowgun_shell_manager", "Failed to Access Data: light_bowgun_shell_manager");
|
||||||
|
end
|
||||||
|
|
||||||
|
return this.light_bowgun_shell_manager;
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_horn_shell_manager()
|
||||||
|
this.horn_shell_manager = sdk.get_managed_singleton("snow.shell.HornShellManager");
|
||||||
|
if this.horn_shell_manager == nil then
|
||||||
|
error_handler.report("singletons.update_horn_shell_manager", "Failed to Access Data: horn_shell_manager");
|
||||||
|
end
|
||||||
|
|
||||||
|
return this.horn_shell_manager;
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
function this.init_dependencies()
|
function this.init_dependencies()
|
||||||
@@ -202,7 +221,7 @@ function this.init_dependencies()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function this.init_module()
|
function this.init_module()
|
||||||
this.init();
|
this.update();
|
||||||
end
|
end
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@@ -72,39 +72,45 @@ function this.new_timer(callback, cooldown_seconds, start_offset_seconds)
|
|||||||
timer.last_trigger_time = os.clock() + start_offset_seconds;
|
timer.last_trigger_time = os.clock() + start_offset_seconds;
|
||||||
|
|
||||||
this.timer_list[callback] = timer;
|
this.timer_list[callback] = timer;
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.new_delay_timer(callback, delay)
|
function this.new_delay_timer(callback, delay_seconds)
|
||||||
if callback == nil or delay == nil then
|
if callback == nil or delay_seconds == nil then
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local delay_timer = {};
|
local delay_timer = {};
|
||||||
delay_timer.callback = callback;
|
delay_timer.callback = callback;
|
||||||
delay_timer.delay = delay;
|
delay_timer.delay = delay_seconds;
|
||||||
|
|
||||||
delay_timer.init_time = os.clock();
|
delay_timer.init_time = os.clock();
|
||||||
|
|
||||||
this.delay_timer_list[callback] = delay_timer;
|
this.delay_timer_list[callback] = delay_timer;
|
||||||
|
|
||||||
return delay_timer;
|
return delay_timer;
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.remove_delay_timer(delay_timer)
|
function this.remove_delay_timer(delay_timer)
|
||||||
|
if delay_timer == nil then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
this.delay_timer_list[delay_timer.callback] = nil;
|
this.delay_timer_list[delay_timer.callback] = nil;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_global_timers()
|
function this.init_global_timers()
|
||||||
this.new_timer(singletons.init, 1);
|
local cached_config = config.current_config.global_settings.performance.timer_delays;
|
||||||
this.new_timer(screen.update_window_size, 1);
|
|
||||||
this.new_timer(quest_status.update_is_online, 1);
|
this.timer_list = {};
|
||||||
this.new_timer(this.update_quest_time, 1 / 60);
|
|
||||||
this.new_timer(players.update_players, 0.5);
|
this.new_timer(singletons.update, cached_config.update_singletons_delay);
|
||||||
this.new_timer(players.update_myself_position, 1);
|
this.new_timer(screen.update_window_size, cached_config.update_window_size_delay);
|
||||||
this.new_timer(buffs.update, 1/60);
|
this.new_timer(quest_status.update_is_online, cached_config.update_is_online_delay);
|
||||||
this.new_timer(player_info.update, 0.5);
|
this.new_timer(this.update_quest_time, cached_config.update_quest_time_delay);
|
||||||
|
this.new_timer(players.update_players, cached_config.update_players_delay);
|
||||||
|
this.new_timer(players.update_myself_position, cached_config.update_myself_position_delay);
|
||||||
|
this.new_timer(buffs.update, cached_config.update_buffs_delay);
|
||||||
|
this.new_timer(player_info.update, cached_config.update_player_info_delay);
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_timers()
|
function this.update_timers()
|
||||||
@@ -147,14 +153,14 @@ function this.update_quest_time()
|
|||||||
|
|
||||||
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
|
||||||
error_handler.report("time.update_quest_time", "Failed to access Data: quest_time_elapsed_minutes");
|
error_handler.report("time.update_quest_time", "Failed to Access Data: quest_time_elapsed_minutes");
|
||||||
else
|
else
|
||||||
this.elapsed_minutes = quest_time_elapsed_minutes;
|
this.elapsed_minutes = quest_time_elapsed_minutes;
|
||||||
end
|
end
|
||||||
|
|
||||||
local quest_time_total_elapsed_seconds = get_quest_elapsed_time_sec_method:call(singletons.quest_manager);
|
local quest_time_total_elapsed_seconds = get_quest_elapsed_time_sec_method:call(singletons.quest_manager);
|
||||||
if quest_time_total_elapsed_seconds == nil then
|
if quest_time_total_elapsed_seconds == nil then
|
||||||
error_handler.report("time.update_quest_time", "Failed to access Data: quest_time_total_elapsed_seconds");
|
error_handler.report("time.update_quest_time", "Failed to Access Data: quest_time_total_elapsed_seconds");
|
||||||
else
|
else
|
||||||
this.total_elapsed_seconds = quest_time_total_elapsed_seconds;
|
this.total_elapsed_seconds = quest_time_total_elapsed_seconds;
|
||||||
end
|
end
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -37,47 +37,53 @@ local package = package;
|
|||||||
|
|
||||||
this.language_folder = "MHR Overlay\\languages\\";
|
this.language_folder = "MHR Overlay\\languages\\";
|
||||||
|
|
||||||
--[[
|
-- this.chinese_ranges = {
|
||||||
EXAMPLE:
|
-- 0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
||||||
unicode_glyph_ranges = {
|
-- 0x2000, 0x206F, -- General Punctuations
|
||||||
0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
-- 0x2E80, 0x2EFF, -- CJK Radicals Supplement
|
||||||
0x2000, 0x206F, -- General Punctuation
|
-- 0x3000, 0x303F, -- CJK Symbols and Punctuations
|
||||||
0x3000, 0x30FF, -- CJK Symbols and Punctuations, Hiragana, Katakana
|
-- 0x3200, 0x4DBF, -- Enclosed CJK Letters and Months, CJK Compatibility, CJK Unified Ideographs Extension A
|
||||||
0x31F0, 0x31FF, -- Katakana Phonetic Extensions
|
-- 0x4E00, 0x9FFF, -- CJK Unified Ideograms
|
||||||
0x4e00, 0x9FAF, -- CJK Ideograms
|
-- 0xF900, 0xFAFF, -- CJK Compatibility Ideographs
|
||||||
0xFF00, 0xFFEF, -- Half-width characters
|
-- 0xFE30, 0xFE4F, -- CJK Compatibility Forms
|
||||||
0
|
-- 0xFF00, 0xFFEF, -- Half-width characters
|
||||||
},
|
-- 0
|
||||||
]]
|
-- };
|
||||||
|
|
||||||
--[[
|
-- this.japanese_glyph_ranges = {
|
||||||
EXAMPLE:
|
-- 0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
||||||
unicode_glyph_ranges = {
|
-- 0x2000, 0x206F, -- General Punctuation
|
||||||
0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
-- 0x2E80, 0x2EFF, -- CJK Radicals Supplement
|
||||||
0x0400, 0x052F, -- Cyrillic
|
-- 0x3000, 0x30FF, -- CJK Symbols and Punctuations, Hiragana, Katakana
|
||||||
0x2000, 0x206F, -- General Punctuation
|
-- 0x31F0, 0x4DBF, -- Katakana Phonetic Extensions, Enclosed CJK Letters and Months, CJK Compatibility, CJK Unified Ideographs Extension A
|
||||||
0xFF00, 0xFFEF, -- Half-width characters
|
-- 0x4E00, 0x9FFF, -- CJK Unified Ideograms
|
||||||
0
|
-- 0xF900, 0xFAFF, -- CJK Compatibility Ideographs
|
||||||
},
|
-- 0xFE30, 0xFE4F, -- CJK Compatibility Forms
|
||||||
]]
|
-- 0xFF00, 0xFFEF, -- Half-width characters
|
||||||
|
-- 0
|
||||||
|
-- };
|
||||||
|
|
||||||
--[[
|
-- this.korean_glyph_ranges = {
|
||||||
EXAMPLE:
|
-- 0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
||||||
unicode_glyph_ranges = {
|
-- 0x1100, 0x11FF, -- Hangul Jamo
|
||||||
0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
-- 0x2000, 0x206F, -- General Punctuation
|
||||||
0x1100, 0x11FF, -- Hangul Jamo
|
-- 0x2E80, 0x2EFF, -- CJK Radicals Supplement
|
||||||
0x2000, 0x206F, -- General Punctuation
|
-- 0x3000, 0x303F, -- CJK Symbols and Punctuations
|
||||||
0x3130, 0x318F, -- Hangul Compatibility Jamo
|
-- 0x3130, 0x318F, -- Hangul Compatibility Jamo
|
||||||
0xAC00, 0xD7AF, -- Hangul Syllables
|
-- 0x3200, 0x4DBF, -- Enclosed CJK Letters and Months, CJK Compatibility, CJK Unified Ideographs Extension A
|
||||||
0xFF00, 0xFFEF, -- Half-width characters
|
-- 0x4E00, 0x9FFF, -- CJK Unified Ideograms
|
||||||
0
|
-- 0xAC00, 0xD7AF, -- Hangul Syllables
|
||||||
},
|
-- 0xF900, 0xFAFF, -- CJK Compatibility Ideographs
|
||||||
]]
|
-- 0xFE30, 0xFE4F, -- CJK Compatibility Forms
|
||||||
|
-- 0xFF00, 0xFFEF, -- Half-width characters
|
||||||
|
-- 0
|
||||||
|
-- }
|
||||||
|
|
||||||
this.current_language = {};
|
this.current_language = {};
|
||||||
this.default_language = {
|
this.default_language = {
|
||||||
font_name = "",
|
font_name = nil,
|
||||||
unicode_glyph_ranges = {0},
|
unicode_glyph_ranges = nil,
|
||||||
|
|
||||||
parts = {
|
parts = {
|
||||||
head = "Head",
|
head = "Head",
|
||||||
neck = "Neck",
|
neck = "Neck",
|
||||||
@@ -180,8 +186,8 @@ this.default_language = {
|
|||||||
|
|
||||||
fireblight = "Fireblight",
|
fireblight = "Fireblight",
|
||||||
waterblight = "Waterblight",
|
waterblight = "Waterblight",
|
||||||
iceblight = "Iceblight",
|
|
||||||
thunderblight = "Thunderblight",
|
thunderblight = "Thunderblight",
|
||||||
|
iceblight = "Iceblight",
|
||||||
|
|
||||||
fall_trap = "Fall Trap",
|
fall_trap = "Fall Trap",
|
||||||
shock_trap = "Shock Trap",
|
shock_trap = "Shock Trap",
|
||||||
@@ -204,6 +210,7 @@ this.default_language = {
|
|||||||
defense_down = "Defense Down",
|
defense_down = "Defense Down",
|
||||||
resistance_down = "Resistance Down",
|
resistance_down = "Resistance Down",
|
||||||
|
|
||||||
|
falling_asleep = "Falling Asleep",
|
||||||
tremor = "Tremor",
|
tremor = "Tremor",
|
||||||
roar = "Roar",
|
roar = "Roar",
|
||||||
webbed = "Webbed",
|
webbed = "Webbed",
|
||||||
@@ -217,7 +224,7 @@ this.default_language = {
|
|||||||
frenzy_overcome = "Frenzy Overcome"
|
frenzy_overcome = "Frenzy Overcome"
|
||||||
},
|
},
|
||||||
|
|
||||||
consumables = {
|
item_buffs = {
|
||||||
demondrug = "Demondrug",
|
demondrug = "Demondrug",
|
||||||
mega_demondrug = "Mega Demondrug",
|
mega_demondrug = "Mega Demondrug",
|
||||||
armorskin = "Armorskin",
|
armorskin = "Armorskin",
|
||||||
@@ -228,7 +235,21 @@ this.default_language = {
|
|||||||
hardshell_powder = "Hardshell Powder",
|
hardshell_powder = "Hardshell Powder",
|
||||||
immunizer = "Immunizer",
|
immunizer = "Immunizer",
|
||||||
dash_juice = "Dash Juice",
|
dash_juice = "Dash Juice",
|
||||||
gourmet_fish = "Gourmet Fish"
|
gourmet_fish = "Gourmet Fish",
|
||||||
|
demon_ammo = "Demon Ammo",
|
||||||
|
armor_ammo = "Armor Ammo",
|
||||||
|
},
|
||||||
|
|
||||||
|
endemic_life = {
|
||||||
|
cutterfly = "Cutterfly",
|
||||||
|
clothfly = "Clothfly",
|
||||||
|
butterflame = "Butterflame",
|
||||||
|
peepersects = "Peepersects",
|
||||||
|
stinkmink = "Stinkmink",
|
||||||
|
ruby_wirebug = "Ruby Wirebug",
|
||||||
|
gold_wirebug = "Gold Wirebug",
|
||||||
|
red_lampsquid = "Red Lampsquid",
|
||||||
|
yellow_lampsquid = "Yellow Lampsquid"
|
||||||
},
|
},
|
||||||
|
|
||||||
melody_effects = {
|
melody_effects = {
|
||||||
@@ -259,227 +280,182 @@ this.default_language = {
|
|||||||
sonic_barrier = "Sonic Barrier",
|
sonic_barrier = "Sonic Barrier",
|
||||||
infernal_melody = "Infernal Melody",
|
infernal_melody = "Infernal Melody",
|
||||||
sharpness_regeneration = "Sharpness Regeneration",
|
sharpness_regeneration = "Sharpness Regeneration",
|
||||||
sharpness_extension = "Sharpness Extension"
|
sharpness_extension = "Sharpness Extension",
|
||||||
|
},
|
||||||
|
|
||||||
|
dango_skills = {
|
||||||
|
dango_adrenaline = "Dango Adrenaline",
|
||||||
|
dango_booster = "Dango Booster",
|
||||||
|
dango_bulker = "Dango Bulker",
|
||||||
|
dango_connector = "Dango Connector",
|
||||||
|
dango_defender = "Dango Defender",
|
||||||
|
dango_flyer = "Dango Flyer",
|
||||||
|
dango_glutton = "Dango Glutton",
|
||||||
|
dango_hunter = "Dango Hunter",
|
||||||
|
dango_insurance = "Dango Insurance",
|
||||||
|
dango_insurance_defense_up = "Dango Insurance Defense Up",
|
||||||
|
super_recovery_dango = "Super Recovery Dango"
|
||||||
|
},
|
||||||
|
|
||||||
|
rampage_skills = {
|
||||||
|
chameleos_soul = "Chameleos Soul",
|
||||||
|
kushala_daora_soul = "Kushala Daora Soul"
|
||||||
},
|
},
|
||||||
|
|
||||||
skills = {
|
skills = {
|
||||||
-- attack_boost = "Attack Boost",
|
adrenaline_rush = "Adrenaline Rush",
|
||||||
|
affinity_sliding = "Affinity Sliding",
|
||||||
agitator = "Agitator",
|
agitator = "Agitator",
|
||||||
peak_performance = "Peak Performance",
|
berserk = "Berserk",
|
||||||
resentment = "Resentment",
|
bladescale_hone = "Bladescale Hone",
|
||||||
resuscitate = "Resuscitate",
|
blood_awakening = "Blood Awakening",
|
||||||
-- critical_eye = "Critical Eye",
|
bloodlust = "Bloodlust",
|
||||||
-- critical_boost = "Critical Boost",
|
burst = "Burst",
|
||||||
-- weakness_exploit = "Weakness Exploit",
|
coalescence = "Coalescence",
|
||||||
|
counterstrike = "Counterstrike",
|
||||||
|
dereliction = "Dereliction",
|
||||||
|
dragon_conversion_elemental_attack_up = "Dragon Conversion: Elem. Atk Up",
|
||||||
|
dragon_conversion_elemental_res_up = "Dragon Conversion: Elem. Res Up",
|
||||||
|
dragonheart = "Dragonheart",
|
||||||
|
embolden = "Embolden",
|
||||||
|
frenzied_bloodlust = "Frenzied Bloodlust",
|
||||||
|
furious = "Furious",
|
||||||
|
grinder_s = "Grinder (S)",
|
||||||
|
heaven_sent = "Heaven-Sent",
|
||||||
|
hellfire_cloak = "Hellfire Cloak",
|
||||||
|
heroics = "Heroics",
|
||||||
|
inspiration = "Inspiration",
|
||||||
|
intrepid_heart = "Intrepid Heart",
|
||||||
latent_power = "Latent Power",
|
latent_power = "Latent Power",
|
||||||
maximum_might = "Maximum Might",
|
maximum_might = "Maximum Might",
|
||||||
-- critical_element = "Critical Element",
|
|
||||||
-- masters_touch = "Master's Touch",
|
|
||||||
-- fire_attack = "Fire Attack",
|
|
||||||
-- water_attack = "Water Attack",
|
|
||||||
-- ice_attack = "Ice Attack",
|
|
||||||
-- thunder_attack = "Thunder Attack",
|
|
||||||
-- dragon_attack = "Dragon Attack",
|
|
||||||
-- poison_attack = "Poison Attack",
|
|
||||||
-- paralysis_attack = "Paralysis Attack",
|
|
||||||
-- sleep_attack = "Sleep Attack",
|
|
||||||
-- blast_attack = "Blast Attack",
|
|
||||||
-- handicraft = "Handicraft",
|
|
||||||
-- razor_sharp = "Razor Sharp",
|
|
||||||
-- spare_shot = "Spare Shot",
|
|
||||||
protective_polish = "Protective Polish",
|
|
||||||
-- minds_eye = "Mind's Eye",
|
|
||||||
-- ballistics = "Ballistics",
|
|
||||||
-- bludgeoner = "Bludgeoner",
|
|
||||||
-- bow_charge_plus = "Bow Charge Plus",
|
|
||||||
-- focus = "Focus",
|
|
||||||
-- power_prolonger = "Power Prolonger",
|
|
||||||
-- marathon_runner = "Marathon Runner",
|
|
||||||
-- constitution= "Constitution",
|
|
||||||
-- stamina_surge = "Stamina Surge",
|
|
||||||
-- guard = "Guard",
|
|
||||||
-- guard_up = "Guard Up",
|
|
||||||
offensive_guard = "Offensive Guard",
|
offensive_guard = "Offensive Guard",
|
||||||
-- critical_draw = "Critical Draw",
|
partbreaker = "Partbreaker",
|
||||||
-- punishing_draw = "Punishing Draw",
|
peak_performance = "Peak Performance",
|
||||||
-- quick_sheathe = "Quick Sheathe",
|
powder_mantle_red = "Powder Mantle (Red)",
|
||||||
-- slugger = "Slugger",
|
powder_mantle_blue = "Powder Mantle (Blue)",
|
||||||
-- stamina_thief = "Stamina Thief",
|
protective_polish = "Protective Polish",
|
||||||
affinity_sliding = "Affinity Sliding",
|
resentment = "Resentment",
|
||||||
-- horn_maestro = "Horn Maestro",
|
resuscitate = "Resuscitate",
|
||||||
-- artillery = "Artillery",
|
spiribirds_call = "Spiribird's Call",
|
||||||
-- load_shells = "Load Shells",
|
|
||||||
-- special_ammo_boost = "Special Ammo Boost",
|
|
||||||
-- normal_rapid_up = "Normal/Rapid Up",
|
|
||||||
-- pierce_up = "Pierce Up",
|
|
||||||
-- spread_up = "Spread Up",
|
|
||||||
-- ammo_up = "Ammo Up",
|
|
||||||
-- reload_speed = "Reload Speed",
|
|
||||||
-- recoil_down = "Recoil Down",
|
|
||||||
-- steadiness = "Steadiness",
|
|
||||||
-- rapid_fire_up = "Rapid Fire Up",
|
|
||||||
-- defense_boost = "Defense Boost",
|
|
||||||
-- divine_blessing = "Divine Blessing",
|
|
||||||
-- recovery_up = "Recovery Up",
|
|
||||||
-- recovery_speed = "Recovery Speed",
|
|
||||||
-- speed_eating = "Speed Eating",
|
|
||||||
-- earplugs = "Earplugs",
|
|
||||||
-- windproof = "Windproof",
|
|
||||||
-- tremor_resistance = "Tremor Resistance",
|
|
||||||
-- bubbly_dance = "Bubbly Dance",
|
|
||||||
-- evade_window = "Evade Window",
|
|
||||||
-- evade_extender = "Evade Extender",
|
|
||||||
-- fire_resistance = "Fire Resistance",
|
|
||||||
-- water_resistance = "Water Resistance",
|
|
||||||
-- ice_resistance = "Ice Resistance",
|
|
||||||
-- thunder_resistance = "Thunder Resistance",
|
|
||||||
-- Dragon_resistance = "Dragon Resistance",
|
|
||||||
-- blight_resistance = "Blight Resistance",
|
|
||||||
-- poison_resistance = "Poison Resistance",
|
|
||||||
-- paralysis_resistance = "Paralysis Resistance",
|
|
||||||
-- sleep_resistance = "Sleep Resistance",
|
|
||||||
-- stun_resistance = "Stun Resistance",
|
|
||||||
-- muck_resistance = "Muck Resistance",
|
|
||||||
-- blast_resistance = "Blast Resistance",
|
|
||||||
-- botanist = "Botanist",
|
|
||||||
-- geologist = "Geologist",
|
|
||||||
-- partbreaker = "Partbreaker",
|
|
||||||
-- capture_master = "Capture Master",
|
|
||||||
-- carving_master = "Carving Master",
|
|
||||||
-- good_luck = "Good Luck",
|
|
||||||
-- speed_sharpening = "Speed Sharpening",
|
|
||||||
-- bombardier = "Bombardier",
|
|
||||||
-- mushroomancer = "Mushroomancer",
|
|
||||||
-- item_prolonger = "Item Prolonger",
|
|
||||||
-- wide_range = "Wide-Range",
|
|
||||||
-- free_meal = "Free Meal",
|
|
||||||
heroics = "Heroics",
|
|
||||||
-- fortify = "Fortify",
|
|
||||||
-- flinch_free = "Flinch Free",
|
|
||||||
-- jump_master = "Jump Master",
|
|
||||||
-- carving_pro = "Carving Pro",
|
|
||||||
-- hunger_resistance = "Hunger Resistance",
|
|
||||||
-- leap_of_faith = "Leap of Faith",
|
|
||||||
-- diversion = "Diversion",
|
|
||||||
-- master_mounter = "Master Mounter",
|
|
||||||
-- chameleos_blessing = "Chameleos Blessing",
|
|
||||||
-- kushala_blessing = "Kushala Blessing",
|
|
||||||
-- teostra_blessing = "Teostra Blessing",
|
|
||||||
dragonheart = "Dragonheart",
|
|
||||||
-- wirebug_whisperer = "Wirebug Whisperer",
|
|
||||||
wall_runner = "Wall Runner",
|
|
||||||
counterstrike = "Counterstrike",
|
|
||||||
-- rapid_morph = "Rapid Morph",
|
|
||||||
hellfire_cloak = "Hellfire Cloak",
|
|
||||||
-- wind_alignment = "Wind Alignment",
|
|
||||||
-- thunder_alignment = "Thunder Alignment",
|
|
||||||
-- stormsoul = "Stormsoul",
|
|
||||||
-- blood_rite = "Blood Rite",
|
|
||||||
dereliction = "Dereliction",
|
|
||||||
furious = "Furious",
|
|
||||||
-- mail_of_hellfire = "Mail of Hellfire",
|
|
||||||
coalescence = "Coalescence",
|
|
||||||
bloodlust = "Bloodlust",
|
|
||||||
-- defiance = "Defiance",
|
|
||||||
-- sneak_attack = "Sneak Attack",
|
|
||||||
adrenaline_rush = "Adrenaline Rush",
|
|
||||||
-- redirection = "Redirection",
|
|
||||||
-- spiribirds_call = "Spiribird's Call",
|
|
||||||
-- charge_master = "Charge Master",
|
|
||||||
-- foray = "Foray",
|
|
||||||
-- tune_up = "Tune-Up",
|
|
||||||
grinder_s = "Grinder (S)",
|
|
||||||
-- bladescale_hone = "Bladescale Hone",
|
|
||||||
-- wall_runner_boost = "Wall Runner (Boost)",
|
|
||||||
-- quick_breath = "Quick Breath",
|
|
||||||
-- element_exploit = "Element Exploit",
|
|
||||||
burst = "Burst",
|
|
||||||
-- guts = "Guts",
|
|
||||||
status_trigger = "Status Trigger",
|
status_trigger = "Status Trigger",
|
||||||
intrepid_heart = "Intrepid Heart",
|
strife = "Strife",
|
||||||
-- buildup_boost = "Buildup Boost",
|
wall_runner = "Wall Runner",
|
||||||
-- embolden = "Embolden",
|
wind_mantle = "Wind Mantle"
|
||||||
wind_mantle = "Wind Mantle",
|
|
||||||
-- powder_mantle = "Powder Mantle",
|
|
||||||
-- berserk = "Berserk",
|
|
||||||
-- strife = "Strife",
|
|
||||||
-- frostcraft = "Frostcraft",
|
|
||||||
-- dragon_conversion = "Dragon Conversion",
|
|
||||||
heaven_sent = "Heaven-Sent",
|
|
||||||
frenzied_bloodlust = "Frenzied Bloodlust",
|
|
||||||
-- blood_awakening = "Blood Awakening",
|
|
||||||
-- shock_absorber = "Shock Absorber",
|
|
||||||
-- inspiration = "Inspiration",
|
|
||||||
|
|
||||||
kushala_daora_soul = "Kushala Daora Soul",
|
|
||||||
},
|
},
|
||||||
|
|
||||||
dangos = {
|
weapons = {
|
||||||
dango_hurler = "Dango Hurler",
|
great_sword = "Great Sword",
|
||||||
dango_specialist = "Dango Specialist",
|
long_sword = "Long Sword",
|
||||||
dango_deflector = "Dango Deflector",
|
sword_and_shield = "Sword & Shield",
|
||||||
dango_bulker = "Dango Bulker",
|
dual_blades = "Dual Blades",
|
||||||
dango_booster = "Dango Booster",
|
lance = "Lance",
|
||||||
dango_slugger = "Dango Slugger",
|
gunlance = "Gunlance",
|
||||||
dango_bombardier = "Dango Bombardier",
|
hammer = "Hammer",
|
||||||
dango_temper = "Dango Temper",
|
hunting_horn = "Hunting Horn",
|
||||||
dango_connector = "Dango Connector",
|
switch_axe = "Switch Axe",
|
||||||
|
charge_blade = "Charge Blade",
|
||||||
dango_insurance = "Dango Insurance",
|
insect_glaive = "Insect Glaive",
|
||||||
dango_defender_hi = "Dango Defender (Hi)",
|
light_bowgun = "Light Bowgun",
|
||||||
dango_medic = "Dango Medic",
|
heavy_bowgun = "Heavy Bowgun",
|
||||||
dango_medic_hi = "Dango Medic (Hi)",
|
bow = "Bow"
|
||||||
dango_reviver = "Dango Reviver",
|
|
||||||
dango_immunizer = "Dango Immunizer",
|
|
||||||
dango_fire_res = "Dango Fire Res",
|
|
||||||
dango_water_res = "Dango Water Res",
|
|
||||||
dango_thunder_res = "Dango Thunder Res ",
|
|
||||||
dango_ice_res = "Dango Ice Res",
|
|
||||||
dango_dragon_res = "Dango Dragon Res",
|
|
||||||
dango_fire_res_hi = "Dango Fire Res (Hi)",
|
|
||||||
dango_water_res_hi = "Dango Water Res (Hi)",
|
|
||||||
dango_thunder_res_hi = "Dango Thunder Res (Hi)",
|
|
||||||
dango_ice_res_hi = "Dango Ice Res (Hi)",
|
|
||||||
dango_dragon_res_hi = "Dango Dragon Res (Hi)",
|
|
||||||
dango_moxie = "Dango Moxie",
|
|
||||||
dango_adrenaline = "Dango Adrenaline",
|
|
||||||
dango_defender = "Dango Defender",
|
|
||||||
dango_guard = "Dango Guard",
|
|
||||||
dango_driver = "Dango Driver",
|
|
||||||
|
|
||||||
dango_polisher = "Dango Polisher",
|
|
||||||
dango_pyro = "Dango Pyro",
|
|
||||||
dango_feet = "Dango Feet",
|
|
||||||
dango_marksman = "Dango Marksman",
|
|
||||||
dango_wall_runner = "Dango Wall Runner",
|
|
||||||
dango_fighter = "Dango Fighter",
|
|
||||||
dango_glutton = "Dango Glutton",
|
|
||||||
dango_weakener = "Dango Weakener",
|
|
||||||
dango_rider = "Dango Rider",
|
|
||||||
dango_hunter = "Dango Hunter",
|
|
||||||
dango_shifter = "Dango Shifter",
|
|
||||||
super_recovery_dango = "Super Recovery Dango",
|
|
||||||
dango_flyer = "Dango Flyer"
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
otomo_moves = {
|
|
||||||
rousing_roar = "Rousing Roar",
|
|
||||||
power_drum = "Power Drum",
|
|
||||||
go_fight_win = "Go, Fight, Win"
|
|
||||||
},
|
},
|
||||||
|
|
||||||
weapon_skills = {
|
weapon_skills = {
|
||||||
-- Great Sword
|
-- Great Sword
|
||||||
power_sheathe = "Power Sheathe",
|
great_sword = {
|
||||||
-- Switch Axe
|
power_sheathe = "Power Sheathe"
|
||||||
amped_state = "Amped State",
|
},
|
||||||
switch_charger = "Switch Charger",
|
|
||||||
axe_heavy_slam = "Axe: Heavy Slam",
|
|
||||||
-- Long Sword
|
-- Long Sword
|
||||||
spirit_gauge_autofill = "Spirit Gauge Autofill", -- Soaring Kick, Iai Slash
|
long_sword = {
|
||||||
|
harvest_moon = "Harvest Moon",
|
||||||
|
iai_slash = "Iai Slash",
|
||||||
|
soaring_kick = "Soaring Kick",
|
||||||
spirit_gauge = "Spirit Gauge",
|
spirit_gauge = "Spirit Gauge",
|
||||||
harvest_moon = "Harvest Moon"
|
spirit_gauge_autofill = "Spirit Gauge Autofill", -- Soaring Kick, Iai Slash
|
||||||
|
},
|
||||||
|
-- Sword & Shield
|
||||||
|
sword_and_shield = {
|
||||||
|
destroyer_oil = "Destroyer Oil"
|
||||||
|
},
|
||||||
|
-- Dual Blades
|
||||||
|
dual_blades = {
|
||||||
|
archdemon_mode = "Archdemon Mode",
|
||||||
|
ironshine_silk = "Ironshine Silk"
|
||||||
|
},
|
||||||
|
-- Lance
|
||||||
|
lance = {
|
||||||
|
anchor_rage = "Anchor Rage",
|
||||||
|
spiral_thrust = "Spiral Thrust",
|
||||||
|
twin_wine = "Twin Wine"
|
||||||
|
},
|
||||||
|
-- Gunlance
|
||||||
|
gunlance = {
|
||||||
|
erupting_cannon = "Erupting Cannon",
|
||||||
|
ground_splitter = "Ground Splitter"
|
||||||
|
},
|
||||||
|
-- Hammer
|
||||||
|
hammer = {
|
||||||
|
impact_burst = "Impact Burst"
|
||||||
|
},
|
||||||
|
-- Hunting Horn
|
||||||
|
hunting_horn = {
|
||||||
|
bead_of_resonance = "Bead of Resonance",
|
||||||
|
silkbind_shockwave = "Silkbind Shockwave",
|
||||||
|
sonic_bloom = "Sonic Bloom"
|
||||||
|
},
|
||||||
|
-- Switch Axe
|
||||||
|
switch_axe = {
|
||||||
|
amped_state = "Amped State",
|
||||||
|
axe_heavy_slam = "Axe: Heavy Slam",
|
||||||
|
switch_charger = "Switch Charger"
|
||||||
|
},
|
||||||
|
-- Charge Blade
|
||||||
|
charge_blade = {
|
||||||
|
element_boost = "Element Boost",
|
||||||
|
sword_boost_mode = "Sword Boost Mode"
|
||||||
|
},
|
||||||
|
-- Insect Glaive
|
||||||
|
insect_glaive = {
|
||||||
|
red_extract = "Red Extract",
|
||||||
|
white_extract = "White Extract",
|
||||||
|
orange_extract = "Orange Extract",
|
||||||
|
all_extracts_mix = "All Extracts Mix"
|
||||||
|
},
|
||||||
|
-- Light Bowgun
|
||||||
|
light_bowgun = {
|
||||||
|
fanning_maneuver = "Fanning Maneuver",
|
||||||
|
wyvernblast_reload = "Wyvernblast Reload"
|
||||||
|
},
|
||||||
|
-- Heavy Bowgun
|
||||||
|
heavy_bowgun = {
|
||||||
|
counter_charger = "Counter Charger",
|
||||||
|
overheat = "Overheat",
|
||||||
|
rising_moon = "Rising Moon",
|
||||||
|
setting_sun = "Setting Sun",
|
||||||
|
wyvernsnipe_reload = "Wyvernsnipe Reload"
|
||||||
|
},
|
||||||
|
-- Bow
|
||||||
|
bow = {
|
||||||
|
arc_shot_affinity = "Arc Shot: Affinity",
|
||||||
|
arc_shot_brace = "Arc Shot: Brace",
|
||||||
|
bolt_boost = "Bolt Boost",
|
||||||
|
herculean_draw = "Herculean Draw"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
otomo_moves = {
|
||||||
|
go_fight_win = "Go, Fight, Win",
|
||||||
|
power_drum = "Power Drum",
|
||||||
|
rousing_roar = "Rousing Roar",
|
||||||
|
vase_of_vitality = "Vase of Vitality",
|
||||||
|
},
|
||||||
|
|
||||||
|
misc_buffs = {
|
||||||
|
attack_up = "Attack Up",
|
||||||
|
defense_up = "Defense Up",
|
||||||
|
stamina_use_down = "Stamina Use Down",
|
||||||
|
immunity = "Immunity",
|
||||||
|
natural_healing_up = "Natural Healing Up"
|
||||||
},
|
},
|
||||||
|
|
||||||
UI = {
|
UI = {
|
||||||
@@ -499,6 +475,28 @@ this.default_language = {
|
|||||||
|
|
||||||
otomo = "Buddy",
|
otomo = "Buddy",
|
||||||
servant = "Follower",
|
servant = "Follower",
|
||||||
|
|
||||||
|
lv = ""
|
||||||
|
},
|
||||||
|
|
||||||
|
stats = {
|
||||||
|
attack = "Attack",
|
||||||
|
defense = "Defense",
|
||||||
|
affinity = "Affinity",
|
||||||
|
|
||||||
|
fire_resistance = "Fire Res";
|
||||||
|
water_resistance = "Water Res";
|
||||||
|
thunder_resistance = "Thunder Res";
|
||||||
|
ice_resistance = "Ice Res";
|
||||||
|
dragon_resistance = "Dragon Res";
|
||||||
|
|
||||||
|
stamina = "Stamina",
|
||||||
|
|
||||||
|
fire = "Fire",
|
||||||
|
water = "Water",
|
||||||
|
thunder = "Thunder",
|
||||||
|
ice = "Ice",
|
||||||
|
dragon = "Dragon",
|
||||||
},
|
},
|
||||||
|
|
||||||
customization_menu = {
|
customization_menu = {
|
||||||
@@ -878,28 +876,35 @@ this.default_language = {
|
|||||||
ice_resistance_label = "Ice Resistance Label",
|
ice_resistance_label = "Ice Resistance Label",
|
||||||
dragon_resistance_label = "Dragon Resistance Label",
|
dragon_resistance_label = "Dragon Resistance Label",
|
||||||
element_label = "Element Label",
|
element_label = "Element Label",
|
||||||
element_2_label = "Element 2 Label"
|
element_2_label = "Element 2 Label",
|
||||||
|
|
||||||
|
abnormal_statuses = "Abnormal Statuses",
|
||||||
|
item_buffs = "Item Buffs",
|
||||||
|
endemic_life_buffs = "Endemic Life Buffs",
|
||||||
|
melody_effects = "Melody Effects",
|
||||||
|
dango_skills = "Dango Skills",
|
||||||
|
rampage_skills = "Rampage Skills",
|
||||||
|
skills = "Skills",
|
||||||
|
weapon_skills = "Weapon Skills",
|
||||||
|
otomo_moves = "Buddy Moves",
|
||||||
|
misc_buffs = "Misc Buffs",
|
||||||
|
|
||||||
|
timer_delays = "Timer Delays",
|
||||||
|
update_singletons_delay = "Update Singletons (seconds)",
|
||||||
|
update_window_size_delay = "Update Window Size (seconds)",
|
||||||
|
update_quest_time_delay = "Update Quest Time (seconds)",
|
||||||
|
update_is_online_delay = "Update Is Online (seconds)",
|
||||||
|
update_players_delay = "Update Players (seconds)",
|
||||||
|
update_myself_position_delay = "Update Myself Position (seconds)",
|
||||||
|
update_player_info_delay = "Update Player Info (seconds)",
|
||||||
|
update_buffs_delay = "Update Buffs (seconds)",
|
||||||
|
|
||||||
|
infinite_buffs_location = "Infinite Buffs Location",
|
||||||
|
|
||||||
|
effect_level = "Effect Level",
|
||||||
|
|
||||||
|
head_tracking = "Head Tracking"
|
||||||
},
|
},
|
||||||
|
|
||||||
stats = {
|
|
||||||
attack = "Attack",
|
|
||||||
defense = "Defense",
|
|
||||||
affinity = "Affinity",
|
|
||||||
|
|
||||||
fire_resistance = "Fire Res";
|
|
||||||
water_resistance = "Water Res";
|
|
||||||
thunder_resistance = "Thunder Res";
|
|
||||||
ice_resistance = "Ice Res";
|
|
||||||
dragon_resistance = "Dragon Res";
|
|
||||||
|
|
||||||
stamina = "Stamina",
|
|
||||||
|
|
||||||
fire = "Fire",
|
|
||||||
water = "Water",
|
|
||||||
thunder = "Thunder",
|
|
||||||
ice = "Ice",
|
|
||||||
dragon = "Dragon",
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
this.language_names = { "default" };
|
this.language_names = { "default" };
|
||||||
@@ -956,9 +961,21 @@ function this.init_dependencies()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function this.init_module()
|
function this.init_module()
|
||||||
this.save_default();
|
|
||||||
this.load();
|
this.load();
|
||||||
this.current_language = this.default_language;
|
this.current_language = this.default_language;
|
||||||
|
|
||||||
|
this.default_language.font_name = "NotoSans-Bold.otf";
|
||||||
|
this.default_language.unicode_glyph_ranges = {
|
||||||
|
0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
||||||
|
0x0100, 0x024F, -- Latin Extended-A, Latin Extended-B,
|
||||||
|
0x0400, 0x052F, -- Cyrillic, Cyrillic Supplementary
|
||||||
|
0x1E00, 0x1EFF, -- Latin Extended Additional
|
||||||
|
0x2000, 0x206F, -- General Punctuation
|
||||||
|
0xFF00, 0xFFEF, -- Halfwidth and Fullwidth Forms
|
||||||
|
0
|
||||||
|
};
|
||||||
|
|
||||||
|
this.save_default();
|
||||||
end
|
end
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ local utils;
|
|||||||
local error_handler;
|
local error_handler;
|
||||||
local quest_status;
|
local quest_status;
|
||||||
local time;
|
local time;
|
||||||
local dangos;
|
local dango_skills;
|
||||||
|
local skills;
|
||||||
|
|
||||||
local sdk = sdk;
|
local sdk = sdk;
|
||||||
local tostring = tostring;
|
local tostring = tostring;
|
||||||
@@ -104,6 +105,8 @@ local player_quest_base_update_method = player_quest_base_type_def:get_method("u
|
|||||||
local is_master_player_method = player_quest_base_type_def:get_method("isMasterPlayer");
|
local is_master_player_method = player_quest_base_type_def:get_method("isMasterPlayer");
|
||||||
|
|
||||||
local player_base_type_def = sdk.find_type_definition("snow.player.PlayerBase");
|
local player_base_type_def = sdk.find_type_definition("snow.player.PlayerBase");
|
||||||
|
-- Heroics
|
||||||
|
local is_predicament_power_up_method = player_base_type_def:get_method("isPredicamentPowerUp");
|
||||||
-- Dango Adrenaline
|
-- Dango Adrenaline
|
||||||
local is_kitchen_skill_predicament_powerup_method = player_base_type_def:get_method("isKitchenSkillPredicamentPowerUp");
|
local is_kitchen_skill_predicament_powerup_method = player_base_type_def:get_method("isKitchenSkillPredicamentPowerUp");
|
||||||
|
|
||||||
@@ -126,19 +129,19 @@ function this.update()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if singletons.player_manager == nil then
|
if singletons.player_manager == nil then
|
||||||
error_handler.report("player_info.update", "Failed to access Data: player_manager");
|
error_handler.report("player_info.update", "Failed to Access Data: player_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local master_player = find_master_player_method:call(singletons.player_manager);
|
local master_player = find_master_player_method:call(singletons.player_manager);
|
||||||
if master_player == nil then
|
if master_player == nil then
|
||||||
error_handler.report("player_info.update", "Failed to access Data: master_player");
|
error_handler.report("player_info.update", "Failed to Access Data: master_player");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local master_player_data = get_player_data_method:call(master_player);
|
local master_player_data = get_player_data_method:call(master_player);
|
||||||
if master_player_data == nil then
|
if master_player_data == nil then
|
||||||
error_handler.report("player_info.update", "Failed to access Data: master_player_data");
|
error_handler.report("player_info.update", "Failed to Access Data: master_player_data");
|
||||||
end
|
end
|
||||||
|
|
||||||
master_player_ref = master_player;
|
master_player_ref = master_player;
|
||||||
@@ -173,7 +176,7 @@ end
|
|||||||
function this.update_generic(key, player_data, field)
|
function this.update_generic(key, player_data, field)
|
||||||
local value = field:get_data(player_data);
|
local value = field:get_data(player_data);
|
||||||
if value == nil then
|
if value == nil then
|
||||||
error_handler.report("player_info.update_generic", string.format("Failed to access Data: %s_value", key));
|
error_handler.report("player_info.update_generic", string.format("Failed to Access Data: %s_value", key));
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -183,14 +186,14 @@ end
|
|||||||
function this.update_resistances(player_data)
|
function this.update_resistances(player_data)
|
||||||
local resistance_element_array = resistance_element_field:get_data(player_data);
|
local resistance_element_array = resistance_element_field:get_data(player_data);
|
||||||
if resistance_element_array == nil then
|
if resistance_element_array == nil then
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: resistance_element_array");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: resistance_element_array");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Fire Resistance
|
-- Fire Resistance
|
||||||
local fire_resistance_single_valtype = get_value_method:call(resistance_element_array, 0);
|
local fire_resistance_single_valtype = get_value_method:call(resistance_element_array, 0);
|
||||||
if fire_resistance_single_valtype == nil then
|
if fire_resistance_single_valtype == nil then
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: fire_resistance_single_valtype");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: fire_resistance_single_valtype");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -198,14 +201,14 @@ function this.update_resistances(player_data)
|
|||||||
if fire_resistance ~= nil then
|
if fire_resistance ~= nil then
|
||||||
this.list.fire_resistance = math.floor(fire_resistance);
|
this.list.fire_resistance = math.floor(fire_resistance);
|
||||||
else
|
else
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: fire_resistance");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: fire_resistance");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Water Resistance
|
-- Water Resistance
|
||||||
local water_resistance_single_valtype = get_value_method:call(resistance_element_array, 1);
|
local water_resistance_single_valtype = get_value_method:call(resistance_element_array, 1);
|
||||||
if water_resistance_single_valtype == nil then
|
if water_resistance_single_valtype == nil then
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: water_resistance_single_valtype");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: water_resistance_single_valtype");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -213,14 +216,14 @@ function this.update_resistances(player_data)
|
|||||||
if water_resistance ~= nil then
|
if water_resistance ~= nil then
|
||||||
this.list.water_resistance = math.floor(water_resistance);
|
this.list.water_resistance = math.floor(water_resistance);
|
||||||
else
|
else
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: water_resistance");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: water_resistance");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Thunder Resistance
|
-- Thunder Resistance
|
||||||
local thunder_resistance_single_valtype = get_value_method:call(resistance_element_array, 2);
|
local thunder_resistance_single_valtype = get_value_method:call(resistance_element_array, 2);
|
||||||
if thunder_resistance_single_valtype == nil then
|
if thunder_resistance_single_valtype == nil then
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: thunder_resistance_single_valtype");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: thunder_resistance_single_valtype");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -228,14 +231,14 @@ function this.update_resistances(player_data)
|
|||||||
if thunder_resistance ~= nil then
|
if thunder_resistance ~= nil then
|
||||||
this.list.thunder_resistance = math.floor(thunder_resistance);
|
this.list.thunder_resistance = math.floor(thunder_resistance);
|
||||||
else
|
else
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: thunder_resistance");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: thunder_resistance");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Ice Resistance
|
-- Ice Resistance
|
||||||
local ice_resistance_single_valtype = get_value_method:call(resistance_element_array, 3);
|
local ice_resistance_single_valtype = get_value_method:call(resistance_element_array, 3);
|
||||||
if ice_resistance_single_valtype == nil then
|
if ice_resistance_single_valtype == nil then
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: ice_resistance_single_valtype");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: ice_resistance_single_valtype");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -243,14 +246,14 @@ function this.update_resistances(player_data)
|
|||||||
if ice_resistance ~= nil then
|
if ice_resistance ~= nil then
|
||||||
this.list.ice_resistance = math.floor(ice_resistance);
|
this.list.ice_resistance = math.floor(ice_resistance);
|
||||||
else
|
else
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: ice_resistance");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: ice_resistance");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Dragon Resistance
|
-- Dragon Resistance
|
||||||
local dragon_resistance_single_valtype = get_value_method:call(resistance_element_array, 4);
|
local dragon_resistance_single_valtype = get_value_method:call(resistance_element_array, 4);
|
||||||
if dragon_resistance_single_valtype == nil then
|
if dragon_resistance_single_valtype == nil then
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: dragon_resistance_single_valtype");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: dragon_resistance_single_valtype");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -258,7 +261,7 @@ function this.update_resistances(player_data)
|
|||||||
if dragon_resistance ~= nil then
|
if dragon_resistance ~= nil then
|
||||||
this.list.dragon_resistance = math.floor(dragon_resistance);
|
this.list.dragon_resistance = math.floor(dragon_resistance);
|
||||||
else
|
else
|
||||||
error_handler.report("player_info.update_resistances", "Failed to access Data: dragon_resistance");
|
error_handler.report("player_info.update_resistances", "Failed to Access Data: dragon_resistance");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -273,6 +276,7 @@ function this.on_pre_player_update(quest_player_base)
|
|||||||
end
|
end
|
||||||
|
|
||||||
this.update_health(quest_player_base);
|
this.update_health(quest_player_base);
|
||||||
|
this.update_heroics(quest_player_base);
|
||||||
this.update_dango_adrenaline(quest_player_base);
|
this.update_dango_adrenaline(quest_player_base);
|
||||||
|
|
||||||
should_health_update = false;
|
should_health_update = false;
|
||||||
@@ -281,21 +285,39 @@ end
|
|||||||
function this.update_health(quest_player_base)
|
function this.update_health(quest_player_base)
|
||||||
local vital = get_vital_method:call(master_player_data_ref);
|
local vital = get_vital_method:call(master_player_data_ref);
|
||||||
if vital == nil then
|
if vital == nil then
|
||||||
error_handler.report("player_info.update_health", "Failed to access Data: vital");
|
error_handler.report("player_info.update_health", "Failed to Access Data: vital");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
this.list.health = vital;
|
this.list.health = vital;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update_dango_adrenaline(quest_player_base)
|
function this.update_heroics(quest_player_base)
|
||||||
local is_kitchen_skill_predicament_powerup = is_kitchen_skill_predicament_powerup_method:call(master_player_ref);
|
if not config.current_config.buff_UI.filter.skills.heroics then
|
||||||
if is_kitchen_skill_predicament_powerup == nil then
|
|
||||||
error_handler.report("player_info.update_dango_adrenaline", "Failed to access Data: is_kitchen_skill_predicament_powerup");
|
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
dangos.is_dango_adrenaline_active = is_kitchen_skill_predicament_powerup;
|
local is_predicament_power_up = is_predicament_power_up_method:call(master_player_ref);
|
||||||
|
if is_predicament_power_up == nil then
|
||||||
|
error_handler.report("player_info.update_heroics", "Failed to Access Data: is_predicament_power_up");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
skills.is_heroics_active = is_predicament_power_up;
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_dango_adrenaline(quest_player_base)
|
||||||
|
if not config.current_config.buff_UI.filter.dango_skills.dango_adrenaline then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local is_kitchen_skill_predicament_powerup = is_kitchen_skill_predicament_powerup_method:call(master_player_ref);
|
||||||
|
if is_kitchen_skill_predicament_powerup == nil then
|
||||||
|
error_handler.report("player_info.update_dango_adrenaline", "Failed to Access Data: is_kitchen_skill_predicament_powerup");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
dango_skills.is_dango_adrenaline_active = is_kitchen_skill_predicament_powerup;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_dependencies()
|
function this.init_dependencies()
|
||||||
@@ -312,7 +334,8 @@ function this.init_dependencies()
|
|||||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
quest_status = require("MHR_Overlay.Game_Handler.quest_status");
|
quest_status = require("MHR_Overlay.Game_Handler.quest_status");
|
||||||
time = require("MHR_Overlay.Game_Handler.time");
|
time = require("MHR_Overlay.Game_Handler.time");
|
||||||
dangos = require("MHR_Overlay.Buffs.dangos");
|
dango_skills = require("MHR_Overlay.Buffs.dango_skills");
|
||||||
|
skills = require("MHR_Overlay.Buffs.skills");
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_module()
|
function this.init_module()
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ this.vec3 = {};
|
|||||||
this.vec4 = {};
|
this.vec4 = {};
|
||||||
this.math = {};
|
this.math = {};
|
||||||
this.unicode = {};
|
this.unicode = {};
|
||||||
|
this.sdk = {};
|
||||||
|
|
||||||
this.constants = {};
|
this.constants = {};
|
||||||
this.constants.uninitialized_int = -420;
|
this.constants.uninitialized_int = -420;
|
||||||
@@ -442,6 +443,40 @@ 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.sdk.generate_enum(type_def)
|
||||||
|
if not type_def then
|
||||||
|
return {};
|
||||||
|
end
|
||||||
|
|
||||||
|
local fields = type_def:get_fields();
|
||||||
|
local enum = {};
|
||||||
|
|
||||||
|
for i, field in ipairs(fields) do
|
||||||
|
if field:is_static() then
|
||||||
|
local name = field:get_name();
|
||||||
|
local raw_value = field:get_data(nil);
|
||||||
|
|
||||||
|
local enum_entry = {
|
||||||
|
name = name,
|
||||||
|
value = raw_value;
|
||||||
|
};
|
||||||
|
|
||||||
|
table.insert(enum, enum_entry);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return enum;
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.sdk.generate_enum_by_typename(type_name)
|
||||||
|
local type_def = sdk.find_type_definition(type_name);
|
||||||
|
if not type_def then
|
||||||
|
return {};
|
||||||
|
end;
|
||||||
|
|
||||||
|
return this.sdk.generate_enum(type_def);
|
||||||
|
end
|
||||||
|
|
||||||
function this.init_dependencies()
|
function this.init_dependencies()
|
||||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -69,13 +69,13 @@ function this.poison_proc(poison_param)
|
|||||||
|
|
||||||
local enemy = get_enemy_method:call(poison_param);
|
local enemy = get_enemy_method:call(poison_param);
|
||||||
if enemy == nil then
|
if enemy == nil then
|
||||||
error_handler.report("ailment_hook.poison_proc", "Failed to access Data: enemy");
|
error_handler.report("ailment_hook.poison_proc", "Failed to Access Data: enemy");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_large = is_boss_enemy_method:call(enemy);
|
local is_large = is_boss_enemy_method:call(enemy);
|
||||||
if is_large == nil then
|
if is_large == nil then
|
||||||
error_handler.report("ailment_hook.poison_proc", "Failed to access Data: is_large");
|
error_handler.report("ailment_hook.poison_proc", "Failed to Access Data: is_large");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -100,13 +100,13 @@ function this.blast_proc(blast_param)
|
|||||||
|
|
||||||
local enemy = get_enemy_method:call(blast_param);
|
local enemy = get_enemy_method:call(blast_param);
|
||||||
if enemy == nil then
|
if enemy == nil then
|
||||||
error_handler.report("ailment_hook.blast_proc", "Failed to access Data: enemy");
|
error_handler.report("ailment_hook.blast_proc", "Failed to Access Data: enemy");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_large = is_boss_enemy_method:call(enemy);
|
local is_large = is_boss_enemy_method:call(enemy);
|
||||||
if is_large == nil then
|
if is_large == nil then
|
||||||
error_handler.report("ailment_hook.blast_proc", "Failed to access Data: is_large");
|
error_handler.report("ailment_hook.blast_proc", "Failed to Access Data: is_large");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -128,13 +128,13 @@ function this.stock_damage()
|
|||||||
for enemy, monster in pairs(large_monster.list) do
|
for enemy, monster in pairs(large_monster.list) do
|
||||||
local damage_param = get_damage_param_method:call(enemy);
|
local damage_param = get_damage_param_method:call(enemy);
|
||||||
if damage_param == nil then
|
if damage_param == nil then
|
||||||
error_handler.report("ailment_hook.stock_damage", "Failed to access Data: large_monster -> damage_param");
|
error_handler.report("ailment_hook.stock_damage", "Failed to Access Data: large_monster -> damage_param");
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local poison_param = poison_param_field:get_data(damage_param);
|
local poison_param = poison_param_field:get_data(damage_param);
|
||||||
if poison_param == nil then
|
if poison_param == nil then
|
||||||
error_handler.report("ailment_hook.stock_damage", "Failed to access Data: large_monster -> poison_param");
|
error_handler.report("ailment_hook.stock_damage", "Failed to Access Data: large_monster -> poison_param");
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -145,13 +145,13 @@ function this.stock_damage()
|
|||||||
for enemy, monster in pairs(small_monster.list) do
|
for enemy, monster in pairs(small_monster.list) do
|
||||||
local damage_param = get_damage_param_method:call(enemy);
|
local damage_param = get_damage_param_method:call(enemy);
|
||||||
if damage_param == nil then
|
if damage_param == nil then
|
||||||
error_handler.report("ailment_hook.stock_damage", "Failed to access Data: small_monster -> damage_param");
|
error_handler.report("ailment_hook.stock_damage", "Failed to Access Data: small_monster -> damage_param");
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local poison_param = poison_param_field:get_data(damage_param);
|
local poison_param = poison_param_field:get_data(damage_param);
|
||||||
if poison_param == nil then
|
if poison_param == nil then
|
||||||
error_handler.report("ailment_hook.stock_damage", "Failed to access Data: small_monster -> poison_param");
|
error_handler.report("ailment_hook.stock_damage", "Failed to Access Data: small_monster -> poison_param");
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ function this.update_ailments(enemy, monster)
|
|||||||
|
|
||||||
local damage_param = get_damage_param_method:call(enemy);
|
local damage_param = get_damage_param_method:call(enemy);
|
||||||
if damage_param == nil then
|
if damage_param == nil then
|
||||||
error_handler.report("ailments.update_ailments", "Failed to access Data: damage_param");
|
error_handler.report("ailments.update_ailments", "Failed to Access Data: damage_param");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -307,13 +307,13 @@ function this.update_ailments(enemy, monster)
|
|||||||
|
|
||||||
local condition_param_array = get_condition_param_method:call(damage_param);
|
local condition_param_array = get_condition_param_method:call(damage_param);
|
||||||
if condition_param_array == nil then
|
if condition_param_array == nil then
|
||||||
error_handler.report("ailments.update_ailments", "Failed to access Data: condition_param_array");
|
error_handler.report("ailments.update_ailments", "Failed to Access Data: condition_param_array");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local condition_param_array_length = get_length_method:call(condition_param_array);
|
local condition_param_array_length = get_length_method:call(condition_param_array);
|
||||||
if condition_param_array_length == nil then
|
if condition_param_array_length == nil then
|
||||||
error_handler.report("ailments.update_ailments", "Failed to access Data: condition_param_array_length");
|
error_handler.report("ailments.update_ailments", "Failed to Access Data: condition_param_array_length");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -324,7 +324,7 @@ function this.update_ailments(enemy, monster)
|
|||||||
|
|
||||||
local ailment_param = get_value_method:call(condition_param_array, id);
|
local ailment_param = get_value_method:call(condition_param_array, id);
|
||||||
if ailment_param == nil then
|
if ailment_param == nil then
|
||||||
error_handler.report("ailments.update_ailments", "Failed to access Data: ailment_param No. " .. tostring(id));
|
error_handler.report("ailments.update_ailments", "Failed to Access Data: ailment_param No. " .. tostring(id));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -338,21 +338,21 @@ function this.update_stun_poison_blast_ailments(monster, damage_param)
|
|||||||
if stun_param ~= nil then
|
if stun_param ~= nil then
|
||||||
this.update_ailment(monster, stun_param, this.stun_id);
|
this.update_ailment(monster, stun_param, this.stun_id);
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_stun_poison_blast_ailments", "Failed to access Data: stun_param");
|
error_handler.report("ailments.update_stun_poison_blast_ailments", "Failed to Access Data: stun_param");
|
||||||
end
|
end
|
||||||
|
|
||||||
local poison_param = poison_param_field:get_data(damage_param);
|
local poison_param = poison_param_field:get_data(damage_param);
|
||||||
if poison_param ~= nil then
|
if poison_param ~= nil then
|
||||||
this.update_ailment(monster, poison_param, this.poison_id);
|
this.update_ailment(monster, poison_param, this.poison_id);
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_stun_poison_blast_ailments", "Failed to access Data: poison_param");
|
error_handler.report("ailments.update_stun_poison_blast_ailments", "Failed to Access Data: poison_param");
|
||||||
end
|
end
|
||||||
|
|
||||||
local blast_param = blast_param_field:get_data(damage_param);
|
local blast_param = blast_param_field:get_data(damage_param);
|
||||||
if blast_param ~= nil then
|
if blast_param ~= nil then
|
||||||
this.update_ailment(monster, blast_param, this.blast_id);
|
this.update_ailment(monster, blast_param, this.blast_id);
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_stun_poison_blast_ailments", "Failed to access Data: blast_param");
|
error_handler.report("ailments.update_stun_poison_blast_ailments", "Failed to Access Data: blast_param");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -380,14 +380,14 @@ function this.update_ailment(monster, ailment_param, id)
|
|||||||
if activate_count_valtype ~= nil then
|
if activate_count_valtype ~= nil then
|
||||||
activate_count = int32_mvalue_field:get_data(activate_count_valtype);
|
activate_count = int32_mvalue_field:get_data(activate_count_valtype);
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: activate_count_valtype");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: activate_count_valtype");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: activate_count_array_length");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: activate_count_array_length");
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: activate_count_array");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: activate_count_array");
|
||||||
end
|
end
|
||||||
|
|
||||||
if buildup_array ~= nil then
|
if buildup_array ~= nil then
|
||||||
@@ -401,14 +401,14 @@ function this.update_ailment(monster, ailment_param, id)
|
|||||||
if buildup_valtype ~= nil then
|
if buildup_valtype ~= nil then
|
||||||
buildup = single_mvalue_field:get_data(buildup_valtype);
|
buildup = single_mvalue_field:get_data(buildup_valtype);
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: buildup_valtype");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: buildup_valtype");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: buildup_array_length");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: buildup_array_length");
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: buildup_array");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: buildup_array");
|
||||||
end
|
end
|
||||||
|
|
||||||
if buildup_limit_array ~= nil then
|
if buildup_limit_array ~= nil then
|
||||||
@@ -422,14 +422,14 @@ function this.update_ailment(monster, ailment_param, id)
|
|||||||
if buildup_limit_valtype ~= nil then
|
if buildup_limit_valtype ~= nil then
|
||||||
buildup_limit = single_mvalue_field:get_data(buildup_limit_valtype);
|
buildup_limit = single_mvalue_field:get_data(buildup_limit_valtype);
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: buildup_limit_valtype");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: buildup_limit_valtype");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: buildup_limit_array_length");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: buildup_limit_array_length");
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: buildup_limit_array");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: buildup_limit_array");
|
||||||
end
|
end
|
||||||
|
|
||||||
if is_enable == nil then
|
if is_enable == nil then
|
||||||
@@ -453,7 +453,7 @@ function this.update_ailment(monster, ailment_param, id)
|
|||||||
|
|
||||||
monster.ailments[id].activate_count = activate_count;
|
monster.ailments[id].activate_count = activate_count;
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: activate_count");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: activate_count");
|
||||||
end
|
end
|
||||||
|
|
||||||
if buildup ~= nil then
|
if buildup ~= nil then
|
||||||
@@ -463,7 +463,7 @@ function this.update_ailment(monster, ailment_param, id)
|
|||||||
|
|
||||||
monster.ailments[id].total_buildup = buildup;
|
monster.ailments[id].total_buildup = buildup;
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: buildup");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: buildup");
|
||||||
end
|
end
|
||||||
|
|
||||||
if buildup_limit ~= nil then
|
if buildup_limit ~= nil then
|
||||||
@@ -473,7 +473,7 @@ function this.update_ailment(monster, ailment_param, id)
|
|||||||
|
|
||||||
monster.ailments[id].buildup_limit = buildup_limit;
|
monster.ailments[id].buildup_limit = buildup_limit;
|
||||||
else
|
else
|
||||||
error_handler.report("ailments.update_ailment", "Failed to access Data: buildup_limit");
|
error_handler.report("ailments.update_ailment", "Failed to Access Data: buildup_limit");
|
||||||
end
|
end
|
||||||
|
|
||||||
if buildup ~= nil and buildup_limit ~= nil and buildup_limit ~= 0 then
|
if buildup ~= nil and buildup_limit ~= nil and buildup_limit ~= 0 then
|
||||||
@@ -544,7 +544,7 @@ function this.update_poison(monster, poison_param)
|
|||||||
--if poison tick, apply damage
|
--if poison tick, apply damage
|
||||||
local is_damage = poison_get_is_damage_method:call(poison_param);
|
local is_damage = poison_get_is_damage_method:call(poison_param);
|
||||||
if is_damage == nil then
|
if is_damage == nil then
|
||||||
error_handler.report("ailments.update_poison", "Failed to access Data: is_damage");
|
error_handler.report("ailments.update_poison", "Failed to Access Data: is_damage");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -554,7 +554,7 @@ function this.update_poison(monster, poison_param)
|
|||||||
|
|
||||||
local poison_damage = poison_damage_field:get_data(poison_param);
|
local poison_damage = poison_damage_field:get_data(poison_param);
|
||||||
if poison_damage == nil then
|
if poison_damage == nil then
|
||||||
error_handler.report("ailments.update_poison", "Failed to access Data: poison_damage");
|
error_handler.report("ailments.update_poison", "Failed to Access Data: poison_damage");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -64,6 +64,126 @@ this.monster_ids = {
|
|||||||
risen_chameleos = 2073
|
risen_chameleos = 2073
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase");
|
||||||
|
|
||||||
|
local enemy_type_field = enemy_character_base_type_def:get_field("<EnemyType>k__BackingField");
|
||||||
|
local get_monster_list_register_scale_method = enemy_character_base_type_def:get_method("get_MonsterListRegisterScale");
|
||||||
|
|
||||||
|
local message_manager_type_def = sdk.find_type_definition("snow.gui.MessageManager");
|
||||||
|
local get_enemy_name_message_method = message_manager_type_def:get_method("getEnemyNameMessage");
|
||||||
|
|
||||||
|
local enemy_manager_type_def = sdk.find_type_definition("snow.enemy.EnemyManager");
|
||||||
|
local find_enemy_size_info_method = enemy_manager_type_def:get_method("findEnemySizeInfo");
|
||||||
|
|
||||||
|
local size_info_type_def = find_enemy_size_info_method:get_return_type();
|
||||||
|
local get_small_border_method = size_info_type_def:get_method("get_SmallBorder");
|
||||||
|
local get_big_border_method = size_info_type_def:get_method("get_BigBorder");
|
||||||
|
local get_king_border_method = size_info_type_def:get_method("get_KingBorder");
|
||||||
|
|
||||||
|
local get_set_info_method = enemy_character_base_type_def:get_method("get_SetInfo");
|
||||||
|
|
||||||
|
local set_info_type = get_set_info_method:get_return_type();
|
||||||
|
local get_unique_id_method = set_info_type:get_method("get_UniqueId");
|
||||||
|
|
||||||
|
local get_physical_param_method = enemy_character_base_type_def:get_method("get_PhysicalParam");
|
||||||
|
local get_stamina_param_method = enemy_character_base_type_def:get_method("get_StaminaParam");
|
||||||
|
local get_anger_param_method = enemy_character_base_type_def:get_method("get_AngerParam");
|
||||||
|
local get_damage_param_method = enemy_character_base_type_def:get_method("get_DamageParam");
|
||||||
|
local get_mystery_param_method = enemy_character_base_type_def:get_method("get_MysteryParam");
|
||||||
|
local get_mario_param_method = enemy_character_base_type_def:get_method("get_MarioParam");
|
||||||
|
|
||||||
|
local check_die_method = enemy_character_base_type_def:get_method("checkDie");
|
||||||
|
local is_disp_icon_mini_map_method = enemy_character_base_type_def:get_method("isDispIconMiniMap");
|
||||||
|
|
||||||
|
local get_ref_mesh_method = enemy_character_base_type_def:get_method("get_RefMesh");
|
||||||
|
|
||||||
|
local mesh_type_def = get_ref_mesh_method:get_return_type();
|
||||||
|
local get_game_object_method = mesh_type_def:get_method("get_GameObject");
|
||||||
|
|
||||||
|
local game_object_type_def = get_game_object_method:get_return_type();
|
||||||
|
local get_transform_method = game_object_type_def:get_method("get_Transform");
|
||||||
|
|
||||||
|
local transform_type_def = get_transform_method:get_return_type();
|
||||||
|
local get_joint_by_name_method = transform_type_def:get_method("getJointByName");
|
||||||
|
|
||||||
|
local joint_type_def = get_joint_by_name_method:get_return_type();
|
||||||
|
local get_position_method = joint_type_def:get_method("get_Position");
|
||||||
|
|
||||||
|
local physical_param_type_def = get_physical_param_method:get_return_type();
|
||||||
|
local get_vital_method = physical_param_type_def:get_method("getVital");
|
||||||
|
local get_capture_hp_vital_method = physical_param_type_def:get_method("get_CaptureHpVital");
|
||||||
|
|
||||||
|
local vital_param_type_def = get_vital_method:get_return_type();
|
||||||
|
local get_current_method = vital_param_type_def:get_method("get_Current");
|
||||||
|
local get_max_method = vital_param_type_def:get_method("get_Max");
|
||||||
|
local is_enable_method = vital_param_type_def:get_method("isEnable");
|
||||||
|
|
||||||
|
local stamina_param_type_def = get_stamina_param_method:get_return_type();
|
||||||
|
local is_tired_method = stamina_param_type_def:get_method("isTired");
|
||||||
|
local get_stamina_method = stamina_param_type_def:get_method("getStamina");
|
||||||
|
local get_max_stamina_method = stamina_param_type_def:get_method("getMaxStamina");
|
||||||
|
|
||||||
|
local get_remaining_tired_time_method = stamina_param_type_def:get_method("getStaminaRemainingTime");
|
||||||
|
local get_total_tired_time_method = stamina_param_type_def:get_method("get_TiredSec");
|
||||||
|
|
||||||
|
local anger_param_type_def = get_anger_param_method:get_return_type();
|
||||||
|
local is_anger_method = anger_param_type_def:get_method("isAnger");
|
||||||
|
local get_anger_point_method = anger_param_type_def:get_method("get_AngerPoint");
|
||||||
|
local get_limit_anger_method = anger_param_type_def:get_method("get_LimitAnger");
|
||||||
|
|
||||||
|
local get_remaining_anger_time_method = anger_param_type_def:get_method("getAngerRemainingTime");
|
||||||
|
local get_total_anger_time_method = anger_param_type_def:get_method("get_TimerAnger");
|
||||||
|
|
||||||
|
local mario_param_type_def = get_mario_param_method:get_return_type();
|
||||||
|
local get_is_marionette_method = mario_param_type_def:get_method("get_IsMarionette");
|
||||||
|
local get_mario_player_index_method = mario_param_type_def:get_method("get_MarioPlayerIndex");
|
||||||
|
|
||||||
|
local get_pos_field = enemy_character_base_type_def:get_method("get_Pos");
|
||||||
|
|
||||||
|
local system_array_type_def = sdk.find_type_definition("System.Array");
|
||||||
|
local get_length_method = system_array_type_def:get_method("get_Length");
|
||||||
|
local get_value_method = system_array_type_def:get_method("GetValue(System.Int32)");
|
||||||
|
|
||||||
|
-- Lucent Nargacuga
|
||||||
|
local em037_02Character_type_def = sdk.find_type_definition("snow.enemy.em037.Em037_02Character");
|
||||||
|
local is_stealth_method = em037_02Character_type_def:get_method("isStealth");
|
||||||
|
|
||||||
|
-- Risen Chameleos and CHameleos
|
||||||
|
local Em025Character_base_type_Def = sdk.find_type_definition("snow.enemy.em025.Em025CharacterBase");
|
||||||
|
local get_stealth_ctrl_method = Em025Character_base_type_Def:get_method("get_StealthCtrl");
|
||||||
|
|
||||||
|
local stealth_ctrl_type_def = get_stealth_ctrl_method:get_return_type();
|
||||||
|
local get_current_status_method = stealth_ctrl_type_def:get_method("get_CurrentStatus");
|
||||||
|
|
||||||
|
local damage_param_type_def = get_damage_param_method:get_return_type();
|
||||||
|
local enemy_parts_damage_info_field = damage_param_type_def:get_field("_EnemyPartsDamageInfo");
|
||||||
|
|
||||||
|
local enemy_parts_damage_info_type_def = enemy_parts_damage_info_field:get_type();
|
||||||
|
local get_part_info_array_method = enemy_parts_damage_info_type_def:get_method("get_PartsInfo");
|
||||||
|
|
||||||
|
local enemy_parts_info_type_def = sdk.find_type_definition("snow.enemy.EnemyDamageParam.EnemyPartsDamageInfo.EnemyPartsInfo");
|
||||||
|
local get_parts_break_damage_level_method = enemy_parts_info_type_def:get_method("get_PartsBreakDamageLevel");
|
||||||
|
local get_parts_break_damage_max_level_method = enemy_parts_info_type_def:get_method("get_PartsBreakDamageMaxLevel");
|
||||||
|
local get_parts_loss_state_method = enemy_parts_info_type_def:get_method("get_PartsLossState");
|
||||||
|
|
||||||
|
local mystery_param_type_def = get_mystery_param_method:get_return_type();
|
||||||
|
local core_parts_array_field = mystery_param_type_def:get_field("CoreParts");
|
||||||
|
|
||||||
|
local enemy_mystery_core_parts_type_def = sdk.find_type_definition("snow.enemy.EnemyMysteryCoreParts");
|
||||||
|
local core_parts_get_vital_method = enemy_mystery_core_parts_type_def:get_method("get_Vital");
|
||||||
|
local core_parts_get_is_active_method = enemy_mystery_core_parts_type_def:get_method("get_IsActive");
|
||||||
|
local core_parts_get_dying_vital_threashold_method = enemy_mystery_core_parts_type_def:get_method("get_DyingVitalThreashold");
|
||||||
|
local on_break_method = enemy_mystery_core_parts_type_def:get_method("onBreak");
|
||||||
|
|
||||||
|
local gui_manager_type_def = sdk.find_type_definition("snow.gui.GuiManager");
|
||||||
|
local get_tg_camera_method = gui_manager_type_def:get_method("get_refGuiHud_TgCamera");
|
||||||
|
|
||||||
|
local tg_camera_type_def = get_tg_camera_method:get_return_type();
|
||||||
|
local get_targeting_enemy_index_field = tg_camera_type_def:get_field("OldTargetingEmIndex");
|
||||||
|
|
||||||
|
local lobby_manager_type_def = sdk.find_type_definition("snow.LobbyManager");
|
||||||
|
local receive_quest_hunter_info_method = lobby_manager_type_def:get_method("receiveQuestHunterInfo");
|
||||||
|
|
||||||
function this.new(enemy)
|
function this.new(enemy)
|
||||||
local monster = {};
|
local monster = {};
|
||||||
|
|
||||||
@@ -116,7 +236,10 @@ function this.new(enemy)
|
|||||||
monster.rage_seconds_left = 0;
|
monster.rage_seconds_left = 0;
|
||||||
monster.rage_timer_percentage = 0;
|
monster.rage_timer_percentage = 0;
|
||||||
|
|
||||||
|
monster.head_joint = nil;
|
||||||
|
|
||||||
monster.position = Vector3f.new(0, 0, 0);
|
monster.position = Vector3f.new(0, 0, 0);
|
||||||
|
monster.head_position = Vector3f.new(0, 0, 0);
|
||||||
monster.distance = 0;
|
monster.distance = 0;
|
||||||
|
|
||||||
monster.name = "Large Monster";
|
monster.name = "Large Monster";
|
||||||
@@ -166,116 +289,10 @@ function this.get_monster(enemy)
|
|||||||
return monster;
|
return monster;
|
||||||
end
|
end
|
||||||
|
|
||||||
local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase");
|
|
||||||
|
|
||||||
local enemy_type_field = enemy_character_base_type_def:get_field("<EnemyType>k__BackingField");
|
|
||||||
local get_monster_list_register_scale_method = enemy_character_base_type_def:get_method("get_MonsterListRegisterScale");
|
|
||||||
|
|
||||||
local message_manager_type_def = sdk.find_type_definition("snow.gui.MessageManager");
|
|
||||||
local get_enemy_name_message_method = message_manager_type_def:get_method("getEnemyNameMessage");
|
|
||||||
|
|
||||||
local enemy_manager_type_def = sdk.find_type_definition("snow.enemy.EnemyManager");
|
|
||||||
local find_enemy_size_info_method = enemy_manager_type_def:get_method("findEnemySizeInfo");
|
|
||||||
|
|
||||||
local size_info_type = find_enemy_size_info_method:get_return_type();
|
|
||||||
local get_small_border_method = size_info_type:get_method("get_SmallBorder");
|
|
||||||
local get_big_border_method = size_info_type:get_method("get_BigBorder");
|
|
||||||
local get_king_border_method = size_info_type:get_method("get_KingBorder");
|
|
||||||
|
|
||||||
local get_set_info_method = enemy_character_base_type_def:get_method("get_SetInfo");
|
|
||||||
|
|
||||||
local set_info_type = get_set_info_method:get_return_type();
|
|
||||||
local get_unique_id_method = set_info_type:get_method("get_UniqueId");
|
|
||||||
|
|
||||||
local get_physical_param_method = enemy_character_base_type_def:get_method("get_PhysicalParam");
|
|
||||||
local get_stamina_param_method = enemy_character_base_type_def:get_method("get_StaminaParam");
|
|
||||||
local get_anger_param_method = enemy_character_base_type_def:get_method("get_AngerParam");
|
|
||||||
local get_damage_param_method = enemy_character_base_type_def:get_method("get_DamageParam");
|
|
||||||
local get_mystery_param_method = enemy_character_base_type_def:get_method("get_MysteryParam");
|
|
||||||
local get_mario_param_method = enemy_character_base_type_def:get_method("get_MarioParam");
|
|
||||||
|
|
||||||
local check_die_method = enemy_character_base_type_def:get_method("checkDie");
|
|
||||||
local is_disp_icon_mini_map_method = enemy_character_base_type_def:get_method("isDispIconMiniMap");
|
|
||||||
|
|
||||||
local physical_param_type = get_physical_param_method:get_return_type();
|
|
||||||
local get_vital_method = physical_param_type:get_method("getVital");
|
|
||||||
local get_capture_hp_vital_method = physical_param_type:get_method("get_CaptureHpVital");
|
|
||||||
|
|
||||||
local vital_param_type = get_vital_method:get_return_type();
|
|
||||||
local get_current_method = vital_param_type:get_method("get_Current");
|
|
||||||
local get_max_method = vital_param_type:get_method("get_Max");
|
|
||||||
local is_enable_method = vital_param_type:get_method("isEnable");
|
|
||||||
|
|
||||||
local stamina_param_type = get_stamina_param_method:get_return_type();
|
|
||||||
local is_tired_method = stamina_param_type:get_method("isTired");
|
|
||||||
local get_stamina_method = stamina_param_type:get_method("getStamina");
|
|
||||||
local get_max_stamina_method = stamina_param_type:get_method("getMaxStamina");
|
|
||||||
|
|
||||||
local get_remaining_tired_time_method = stamina_param_type:get_method("getStaminaRemainingTime");
|
|
||||||
local get_total_tired_time_method = stamina_param_type:get_method("get_TiredSec");
|
|
||||||
|
|
||||||
local anger_param_type = get_anger_param_method:get_return_type();
|
|
||||||
local is_anger_method = anger_param_type:get_method("isAnger");
|
|
||||||
local get_anger_point_method = anger_param_type:get_method("get_AngerPoint");
|
|
||||||
local get_limit_anger_method = anger_param_type:get_method("get_LimitAnger");
|
|
||||||
|
|
||||||
local get_remaining_anger_time_method = anger_param_type:get_method("getAngerRemainingTime");
|
|
||||||
local get_total_anger_time_method = anger_param_type:get_method("get_TimerAnger");
|
|
||||||
|
|
||||||
local mario_param_type = get_mario_param_method:get_return_type();
|
|
||||||
local get_is_marionette_method = mario_param_type:get_method("get_IsMarionette");
|
|
||||||
local get_mario_player_index_method = mario_param_type:get_method("get_MarioPlayerIndex");
|
|
||||||
|
|
||||||
local get_pos_field = enemy_character_base_type_def:get_method("get_Pos");
|
|
||||||
|
|
||||||
local system_array_type_def = sdk.find_type_definition("System.Array");
|
|
||||||
local get_length_method = system_array_type_def:get_method("get_Length");
|
|
||||||
local get_value_method = system_array_type_def:get_method("GetValue(System.Int32)");
|
|
||||||
|
|
||||||
-- Lucent Nargacuga
|
|
||||||
local em037_02Character_type_def = sdk.find_type_definition("snow.enemy.em037.Em037_02Character");
|
|
||||||
local is_stealth_method = em037_02Character_type_def:get_method("isStealth");
|
|
||||||
|
|
||||||
-- Risen Chameleos and CHameleos
|
|
||||||
local Em025Character_base_type_Def = sdk.find_type_definition("snow.enemy.em025.Em025CharacterBase");
|
|
||||||
local get_stealth_ctrl_method = Em025Character_base_type_Def:get_method("get_StealthCtrl");
|
|
||||||
|
|
||||||
local stealth_ctrl_type_def = get_stealth_ctrl_method:get_return_type();
|
|
||||||
local get_current_status_method = stealth_ctrl_type_def:get_method("get_CurrentStatus");
|
|
||||||
|
|
||||||
local damage_param_type_def = get_damage_param_method:get_return_type();
|
|
||||||
local enemy_parts_damage_info_field = damage_param_type_def:get_field("_EnemyPartsDamageInfo");
|
|
||||||
|
|
||||||
local enemy_parts_damage_info_type_def = enemy_parts_damage_info_field:get_type();
|
|
||||||
local get_part_info_array_method = enemy_parts_damage_info_type_def:get_method("get_PartsInfo");
|
|
||||||
|
|
||||||
local enemy_parts_info_type_def = sdk.find_type_definition("snow.enemy.EnemyDamageParam.EnemyPartsDamageInfo.EnemyPartsInfo");
|
|
||||||
local get_parts_break_damage_level_method = enemy_parts_info_type_def:get_method("get_PartsBreakDamageLevel");
|
|
||||||
local get_parts_break_damage_max_level_method = enemy_parts_info_type_def:get_method("get_PartsBreakDamageMaxLevel");
|
|
||||||
local get_parts_loss_state_method = enemy_parts_info_type_def:get_method("get_PartsLossState");
|
|
||||||
|
|
||||||
local mystery_param_type_def = get_mystery_param_method:get_return_type();
|
|
||||||
local core_parts_array_field = mystery_param_type_def:get_field("CoreParts");
|
|
||||||
|
|
||||||
local enemy_mystery_core_parts_type_def = sdk.find_type_definition("snow.enemy.EnemyMysteryCoreParts");
|
|
||||||
local core_parts_get_vital_method = enemy_mystery_core_parts_type_def:get_method("get_Vital");
|
|
||||||
local core_parts_get_is_active_method = enemy_mystery_core_parts_type_def:get_method("get_IsActive");
|
|
||||||
local core_parts_get_dying_vital_threashold_method = enemy_mystery_core_parts_type_def:get_method("get_DyingVitalThreashold");
|
|
||||||
local on_break_method = enemy_mystery_core_parts_type_def:get_method("onBreak");
|
|
||||||
|
|
||||||
local gui_manager_type_def = sdk.find_type_definition("snow.gui.GuiManager");
|
|
||||||
local get_tg_camera_method = gui_manager_type_def:get_method("get_refGuiHud_TgCamera");
|
|
||||||
|
|
||||||
local tg_camera_type_def = get_tg_camera_method:get_return_type();
|
|
||||||
local get_targeting_enemy_index_field = tg_camera_type_def:get_field("OldTargetingEmIndex");
|
|
||||||
|
|
||||||
local lobby_manager_type_def = sdk.find_type_definition("snow.LobbyManager");
|
|
||||||
local receive_quest_hunter_info_method = lobby_manager_type_def:get_method("receiveQuestHunterInfo");
|
|
||||||
|
|
||||||
function this.init(monster, enemy)
|
function this.init(monster, enemy)
|
||||||
local monster_id = enemy_type_field:get_data(enemy);
|
local monster_id = enemy_type_field:get_data(enemy);
|
||||||
if monster_id == nil then
|
if monster_id == nil then
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: enemy_type");
|
error_handler.report("large_monster.init", "Failed to Access Data: enemy_type");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -289,7 +306,7 @@ function this.init(monster, enemy)
|
|||||||
if enemy_name ~= nil then
|
if enemy_name ~= nil then
|
||||||
monster.name = enemy_name;
|
monster.name = enemy_name;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: enemy_name");
|
error_handler.report("large_monster.init", "Failed to Access Data: enemy_name");
|
||||||
end
|
end
|
||||||
|
|
||||||
if monster_id ~= this.monster_ids.toadversary then
|
if monster_id ~= this.monster_ids.toadversary then
|
||||||
@@ -299,10 +316,10 @@ function this.init(monster, enemy)
|
|||||||
if unique_id ~= nil then
|
if unique_id ~= nil then
|
||||||
monster.unique_id = unique_id;
|
monster.unique_id = unique_id;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: unique_id");
|
error_handler.report("large_monster.init", "Failed to Access Data: unique_id");
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: set_info");
|
error_handler.report("large_monster.init", "Failed to Access Data: set_info");
|
||||||
end
|
end
|
||||||
|
|
||||||
local size_info = find_enemy_size_info_method:call(singletons.enemy_manager, monster_id);
|
local size_info = find_enemy_size_info_method:call(singletons.enemy_manager, monster_id);
|
||||||
@@ -316,25 +333,25 @@ function this.init(monster, enemy)
|
|||||||
if small_border ~= nil then
|
if small_border ~= nil then
|
||||||
monster.small_border = small_border;
|
monster.small_border = small_border;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: small_border");
|
error_handler.report("large_monster.init", "Failed to Access Data: small_border");
|
||||||
end
|
end
|
||||||
|
|
||||||
if big_border ~= nil then
|
if big_border ~= nil then
|
||||||
monster.big_border = big_border;
|
monster.big_border = big_border;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: big_border");
|
error_handler.report("large_monster.init", "Failed to Access Data: big_border");
|
||||||
end
|
end
|
||||||
|
|
||||||
if king_border ~= nil then
|
if king_border ~= nil then
|
||||||
monster.king_border = king_border;
|
monster.king_border = king_border;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: king_border");
|
error_handler.report("large_monster.init", "Failed to Access Data: king_border");
|
||||||
end
|
end
|
||||||
|
|
||||||
if size ~= nil then
|
if size ~= nil then
|
||||||
monster.size = size;
|
monster.size = size;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: size");
|
error_handler.report("large_monster.init", "Failed to Access Data: size");
|
||||||
end
|
end
|
||||||
|
|
||||||
if monster.size <= monster.small_border then
|
if monster.size <= monster.small_border then
|
||||||
@@ -345,7 +362,7 @@ function this.init(monster, enemy)
|
|||||||
monster.crown = language.current_language.UI.silver;
|
monster.crown = language.current_language.UI.silver;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: size_info");
|
error_handler.report("large_monster.init", "Failed to Access Data: size_info");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -360,13 +377,13 @@ function this.init(monster, enemy)
|
|||||||
if is_capture_enable_ ~= nil then
|
if is_capture_enable_ ~= nil then
|
||||||
is_capture_enable = is_capture_enable_;
|
is_capture_enable = is_capture_enable_;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: is_capture_enable_");
|
error_handler.report("large_monster.init", "Failed to Access Data: is_capture_enable_");
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: capture_param");
|
error_handler.report("large_monster.init", "Failed to Access Data: capture_param");
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.init", "Failed to access Data: damage_param");
|
error_handler.report("large_monster.init", "Failed to Access Data: damage_param");
|
||||||
end
|
end
|
||||||
|
|
||||||
local mystery_param = get_mystery_param_method:call(enemy);
|
local mystery_param = get_mystery_param_method:call(enemy);
|
||||||
@@ -374,6 +391,8 @@ function this.init(monster, enemy)
|
|||||||
|
|
||||||
monster.is_anomaly = is_anomaly;
|
monster.is_anomaly = is_anomaly;
|
||||||
monster.is_capturable = is_capture_enable and not is_anomaly;
|
monster.is_capturable = is_capture_enable and not is_anomaly;
|
||||||
|
|
||||||
|
this.update_head_joint(enemy, monster);
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_UI(monster, monster_UI, cached_config)
|
function this.init_UI(monster, monster_UI, cached_config)
|
||||||
@@ -478,10 +497,73 @@ function this.update_position(enemy, monster)
|
|||||||
|
|
||||||
local position = get_pos_field:call(enemy);
|
local position = get_pos_field:call(enemy);
|
||||||
if position == nil then
|
if position == nil then
|
||||||
error_handler.report("large_monster.update_position", "Failed to access Data: position");
|
error_handler.report("large_monster.update_position", "Failed to Access Data: position");
|
||||||
end
|
end
|
||||||
|
|
||||||
monster.position = position;
|
monster.position = position;
|
||||||
|
|
||||||
|
this.update_head_position(enemy, monster);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_head_joint(enemy, monster)
|
||||||
|
local mesh = get_ref_mesh_method:call(enemy);
|
||||||
|
if mesh == nil then
|
||||||
|
error_handler.report("large_monster.update_head_joint", "Failed to Access Data: Mesh");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local game_object = get_game_object_method:call(mesh);
|
||||||
|
if game_object == nil then
|
||||||
|
error_handler.report("large_monster.update_head_joint", "Failed to Access Data: GameObject");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local transform = get_transform_method:call(game_object);
|
||||||
|
if transform == nil then
|
||||||
|
error_handler.report("large_monster.update_head_joint", "Failed to Access Data: Transform");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local head_joint = get_joint_by_name_method:call(transform, "Head_00")
|
||||||
|
or get_joint_by_name_method:call(transform, "Head")
|
||||||
|
or get_joint_by_name_method:call(transform, "Head_01")
|
||||||
|
or get_joint_by_name_method:call(transform, "Spine_00")
|
||||||
|
or get_joint_by_name_method:call(transform, "Cog")
|
||||||
|
or get_joint_by_name_method:call(transform, "head")
|
||||||
|
or get_joint_by_name_method:call(transform, "root");
|
||||||
|
|
||||||
|
if head_joint == nil then
|
||||||
|
-- local joints = transform:get_Joints();
|
||||||
|
-- local out = "";
|
||||||
|
|
||||||
|
-- for i = 0, joints:get_Length() - 1 do
|
||||||
|
-- local joint = joints[i];
|
||||||
|
-- local joint_name = joint:get_Name();
|
||||||
|
|
||||||
|
-- out = out .. joint_name .. "\n";
|
||||||
|
-- end
|
||||||
|
|
||||||
|
-- error_handler.report(monster.name, out);
|
||||||
|
|
||||||
|
error_handler.report("large_monster.update_head_joint", "Failed to Access Data: HeadJoint");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
monster.head_joint = head_joint;
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_head_position(enemy, monster)
|
||||||
|
if monster.head_joint == nil then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local head_position = get_position_method:call(monster.head_joint);
|
||||||
|
if head_position == nil then
|
||||||
|
error_handler.report("large_monster.update_head_position", "Failed to Access Data: HeadPosition");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
monster.head_position = head_position;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Code by coavins
|
-- Code by coavins
|
||||||
@@ -490,20 +572,20 @@ function this.update_all_riders()
|
|||||||
-- get marionette rider
|
-- get marionette rider
|
||||||
local mario_param = get_mario_param_method:call(enemy);
|
local mario_param = get_mario_param_method:call(enemy);
|
||||||
if mario_param == nil then
|
if mario_param == nil then
|
||||||
error_handler.report("large_monster.update_all_riders", "Failed to access Data: mario_param");
|
error_handler.report("large_monster.update_all_riders", "Failed to Access Data: mario_param");
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_marionette = get_is_marionette_method:call(mario_param);
|
local is_marionette = get_is_marionette_method:call(mario_param);
|
||||||
if is_marionette == nil then
|
if is_marionette == nil then
|
||||||
error_handler.report("large_monster.update_all_riders", "Failed to access Data: is_marionette");
|
error_handler.report("large_monster.update_all_riders", "Failed to Access Data: is_marionette");
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
if is_marionette then
|
if is_marionette then
|
||||||
local player_id = get_mario_player_index_method:call(mario_param);
|
local player_id = get_mario_player_index_method:call(mario_param);
|
||||||
if player_id == nil then
|
if player_id == nil then
|
||||||
error_handler.report("large_monster.update_all_riders", "Failed to access Data: player_id");
|
error_handler.report("large_monster.update_all_riders", "Failed to Access Data: player_id");
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -529,14 +611,14 @@ function this.update(enemy, monster)
|
|||||||
if dead_or_captured ~= nil then
|
if dead_or_captured ~= nil then
|
||||||
monster.dead_or_captured = dead_or_captured;
|
monster.dead_or_captured = dead_or_captured;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update", "Failed to access Data: dead_or_captured");
|
error_handler.report("large_monster.update", "Failed to Access Data: dead_or_captured");
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_disp_icon_mini_map = is_disp_icon_mini_map_method:call(enemy);
|
local is_disp_icon_mini_map = is_disp_icon_mini_map_method:call(enemy);
|
||||||
if is_disp_icon_mini_map ~= nil then
|
if is_disp_icon_mini_map ~= nil then
|
||||||
monster.is_disp_icon_mini_map = is_disp_icon_mini_map;
|
monster.is_disp_icon_mini_map = is_disp_icon_mini_map;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update", "Failed to access Data: is_disp_icon_mini_map");
|
error_handler.report("large_monster.update", "Failed to Access Data: is_disp_icon_mini_map");
|
||||||
end
|
end
|
||||||
|
|
||||||
if monster.id == this.monster_ids.lucent_nargacuga or monster.id == this.monster_ids.chameleos or monster.id == this.monster_ids.risen_chameleos then
|
if monster.id == this.monster_ids.lucent_nargacuga or monster.id == this.monster_ids.chameleos or monster.id == this.monster_ids.risen_chameleos then
|
||||||
@@ -550,7 +632,7 @@ function this.update(enemy, monster)
|
|||||||
if is_stealth == nil then
|
if is_stealth == nil then
|
||||||
monster.is_stealth = is_stealth;
|
monster.is_stealth = is_stealth;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update", "Failed to access Data: is_stealth");
|
error_handler.report("large_monster.update", "Failed to Access Data: is_stealth");
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Chameleos and Risen Chameleos
|
-- Chameleos and Risen Chameleos
|
||||||
@@ -560,14 +642,14 @@ function this.update(enemy, monster)
|
|||||||
local status = get_current_status_method:call(stealth_controller);
|
local status = get_current_status_method:call(stealth_controller);
|
||||||
|
|
||||||
if status == nil then
|
if status == nil then
|
||||||
error_handler.report("large_monster.update", "Failed to access Data: status");
|
error_handler.report("large_monster.update", "Failed to Access Data: status");
|
||||||
elseif status >= 2 then
|
elseif status >= 2 then
|
||||||
monster.is_stealth = true;
|
monster.is_stealth = true;
|
||||||
else
|
else
|
||||||
monster.is_stealth = false;
|
monster.is_stealth = false;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update", "Failed to access Data: stealth_controller");
|
error_handler.report("large_monster.update", "Failed to Access Data: stealth_controller");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -592,13 +674,13 @@ function this.update_health(enemy, monster)
|
|||||||
|
|
||||||
local physical_param = get_physical_param_method:call(enemy);
|
local physical_param = get_physical_param_method:call(enemy);
|
||||||
if physical_param == nil then
|
if physical_param == nil then
|
||||||
error_handler.report("large_monster.update_health", "Failed to access Data: physical_param");
|
error_handler.report("large_monster.update_health", "Failed to Access Data: physical_param");
|
||||||
return nil;
|
return nil;
|
||||||
end
|
end
|
||||||
|
|
||||||
local vital_param = get_vital_method:call(physical_param, 0, 0);
|
local vital_param = get_vital_method:call(physical_param, 0, 0);
|
||||||
if vital_param == nil then
|
if vital_param == nil then
|
||||||
error_handler.report("large_monster.update_health", "Failed to access Data: vital_param");
|
error_handler.report("large_monster.update_health", "Failed to Access Data: vital_param");
|
||||||
return nil;
|
return nil;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -606,21 +688,21 @@ function this.update_health(enemy, monster)
|
|||||||
if health ~= nil then
|
if health ~= nil then
|
||||||
monster.health = health;
|
monster.health = health;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_health", "Failed to access Data: health");
|
error_handler.report("large_monster.update_health", "Failed to Access Data: health");
|
||||||
end
|
end
|
||||||
|
|
||||||
local max_health = get_max_method:call(vital_param);
|
local max_health = get_max_method:call(vital_param);
|
||||||
if max_health ~= nil then
|
if max_health ~= nil then
|
||||||
monster.max_health = max_health;
|
monster.max_health = max_health;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_health", "Failed to access Data: max_health");
|
error_handler.report("large_monster.update_health", "Failed to Access Data: max_health");
|
||||||
end
|
end
|
||||||
|
|
||||||
local capture_health = get_capture_hp_vital_method:call(physical_param);
|
local capture_health = get_capture_hp_vital_method:call(physical_param);
|
||||||
if capture_health ~= nil then
|
if capture_health ~= nil then
|
||||||
monster.capture_health = capture_health;
|
monster.capture_health = capture_health;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_health", "Failed to access Data: capture_health");
|
error_handler.report("large_monster.update_health", "Failed to Access Data: capture_health");
|
||||||
end
|
end
|
||||||
|
|
||||||
monster.missing_health = max_health - health;
|
monster.missing_health = max_health - health;
|
||||||
@@ -652,7 +734,7 @@ function this.update_stamina(enemy, monster, stamina_param)
|
|||||||
if stamina_param == nil then
|
if stamina_param == nil then
|
||||||
stamina_param = get_stamina_param_method:call(enemy);
|
stamina_param = get_stamina_param_method:call(enemy);
|
||||||
if stamina_param == nil then
|
if stamina_param == nil then
|
||||||
error_handler.report("large_monster.update_stamina", "Failed to access Data: stamina_param");
|
error_handler.report("large_monster.update_stamina", "Failed to Access Data: stamina_param");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -661,7 +743,7 @@ function this.update_stamina(enemy, monster, stamina_param)
|
|||||||
if is_tired ~= nil then
|
if is_tired ~= nil then
|
||||||
monster.is_tired = is_tired;
|
monster.is_tired = is_tired;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_stamina", "Failed to access Data: is_tired");
|
error_handler.report("large_monster.update_stamina", "Failed to Access Data: is_tired");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -673,7 +755,7 @@ function this.update_stamina(enemy, monster, stamina_param)
|
|||||||
if stamina ~= nil then
|
if stamina ~= nil then
|
||||||
monster.stamina = stamina;
|
monster.stamina = stamina;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_stamina", "Failed to access Data: stamina");
|
error_handler.report("large_monster.update_stamina", "Failed to Access Data: stamina");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -681,7 +763,7 @@ function this.update_stamina(enemy, monster, stamina_param)
|
|||||||
if max_stamina ~= nil then
|
if max_stamina ~= nil then
|
||||||
monster.max_stamina = max_stamina;
|
monster.max_stamina = max_stamina;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_stamina", "Failed to access Data: max_stamina");
|
error_handler.report("large_monster.update_stamina", "Failed to Access Data: max_stamina");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -709,7 +791,7 @@ function this.update_stamina_timer(enemy, monster, stamina_param)
|
|||||||
if stamina_param == nil then
|
if stamina_param == nil then
|
||||||
stamina_param = get_stamina_param_method:call(enemy);
|
stamina_param = get_stamina_param_method:call(enemy);
|
||||||
if stamina_param == nil then
|
if stamina_param == nil then
|
||||||
error_handler.report("large_monster.update_stamina_timer", "Failed to access Data: stamina_param");
|
error_handler.report("large_monster.update_stamina_timer", "Failed to Access Data: stamina_param");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -718,7 +800,7 @@ function this.update_stamina_timer(enemy, monster, stamina_param)
|
|||||||
if is_tired ~= nil then
|
if is_tired ~= nil then
|
||||||
monster.is_tired = is_tired;
|
monster.is_tired = is_tired;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_stamina_timer", "Failed to access Data: is_tired");
|
error_handler.report("large_monster.update_stamina_timer", "Failed to Access Data: is_tired");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -730,7 +812,7 @@ function this.update_stamina_timer(enemy, monster, stamina_param)
|
|||||||
if tired_timer ~= nil then
|
if tired_timer ~= nil then
|
||||||
monster.tired_timer = tired_timer;
|
monster.tired_timer = tired_timer;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_stamina_timer", "Failed to access Data: tired_timer");
|
error_handler.report("large_monster.update_stamina_timer", "Failed to Access Data: tired_timer");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -738,7 +820,7 @@ function this.update_stamina_timer(enemy, monster, stamina_param)
|
|||||||
if tired_duration ~= nil then
|
if tired_duration ~= nil then
|
||||||
monster.tired_duration = tired_duration;
|
monster.tired_duration = tired_duration;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_stamina_timer", "Failed to access Data: tired_duration");
|
error_handler.report("large_monster.update_stamina_timer", "Failed to Access Data: tired_duration");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -773,7 +855,7 @@ function this.update_rage(enemy, monster, anger_param)
|
|||||||
if anger_param == nil then
|
if anger_param == nil then
|
||||||
anger_param = get_anger_param_method:call(enemy);
|
anger_param = get_anger_param_method:call(enemy);
|
||||||
if anger_param == nil then
|
if anger_param == nil then
|
||||||
error_handler.report("large_monster.update_rage", "Failed to access Data: anger_param");
|
error_handler.report("large_monster.update_rage", "Failed to Access Data: anger_param");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -782,7 +864,7 @@ function this.update_rage(enemy, monster, anger_param)
|
|||||||
if is_in_rage ~= nil then
|
if is_in_rage ~= nil then
|
||||||
monster.is_in_rage = is_in_rage;
|
monster.is_in_rage = is_in_rage;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_rage", "Failed to access Data: is_in_rage");
|
error_handler.report("large_monster.update_rage", "Failed to Access Data: is_in_rage");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -794,7 +876,7 @@ function this.update_rage(enemy, monster, anger_param)
|
|||||||
if rage_point ~= nil then
|
if rage_point ~= nil then
|
||||||
monster.rage_point = rage_point;
|
monster.rage_point = rage_point;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_rage", "Failed to access Data: rage_point");
|
error_handler.report("large_monster.update_rage", "Failed to Access Data: rage_point");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -802,7 +884,7 @@ function this.update_rage(enemy, monster, anger_param)
|
|||||||
if rage_limit ~= nil then
|
if rage_limit ~= nil then
|
||||||
monster.rage_limit = rage_limit;
|
monster.rage_limit = rage_limit;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_rage", "Failed to access Data: rage_limit");
|
error_handler.report("large_monster.update_rage", "Failed to Access Data: rage_limit");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -829,7 +911,7 @@ function this.update_rage_timer(enemy, monster, anger_param)
|
|||||||
if anger_param == nil then
|
if anger_param == nil then
|
||||||
anger_param = get_anger_param_method:call(enemy);
|
anger_param = get_anger_param_method:call(enemy);
|
||||||
if anger_param == nil then
|
if anger_param == nil then
|
||||||
error_handler.report("large_monster.update_rage_timer", "Failed to access Data: anger_param");
|
error_handler.report("large_monster.update_rage_timer", "Failed to Access Data: anger_param");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -838,7 +920,7 @@ function this.update_rage_timer(enemy, monster, anger_param)
|
|||||||
if is_in_rage ~= nil then
|
if is_in_rage ~= nil then
|
||||||
monster.is_in_rage = is_in_rage;
|
monster.is_in_rage = is_in_rage;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_rage_timer", "Failed to access Data: is_in_rage");
|
error_handler.report("large_monster.update_rage_timer", "Failed to Access Data: is_in_rage");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -850,7 +932,7 @@ function this.update_rage_timer(enemy, monster, anger_param)
|
|||||||
if rage_timer ~= nil then
|
if rage_timer ~= nil then
|
||||||
monster.rage_timer = rage_timer;
|
monster.rage_timer = rage_timer;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_rage_timer", "Failed to access Data: rage_timer");
|
error_handler.report("large_monster.update_rage_timer", "Failed to Access Data: rage_timer");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -858,7 +940,7 @@ function this.update_rage_timer(enemy, monster, anger_param)
|
|||||||
if rage_duration ~= nil then
|
if rage_duration ~= nil then
|
||||||
monster.rage_duration = rage_duration;
|
monster.rage_duration = rage_duration;
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_rage_timer", "Failed to access Data: rage_duration");
|
error_handler.report("large_monster.update_rage_timer", "Failed to Access Data: rage_duration");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -905,32 +987,32 @@ function this.update_parts(enemy, monster, physical_param)
|
|||||||
if physical_param == nil then
|
if physical_param == nil then
|
||||||
physical_param = get_physical_param_method:call(enemy);
|
physical_param = get_physical_param_method:call(enemy);
|
||||||
if physical_param == nil then
|
if physical_param == nil then
|
||||||
error_handler.report("large_monster.update_parts", "Failed to access Data: physical_param");
|
error_handler.report("large_monster.update_parts", "Failed to Access Data: physical_param");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local damage_param = get_damage_param_method:call(enemy);
|
local damage_param = get_damage_param_method:call(enemy);
|
||||||
if damage_param == nil then
|
if damage_param == nil then
|
||||||
error_handler.report("large_monster.update_parts", "Failed to access Data: damage_param");
|
error_handler.report("large_monster.update_parts", "Failed to Access Data: damage_param");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local enemy_parts_damage_info = enemy_parts_damage_info_field:get_data(damage_param);
|
local enemy_parts_damage_info = enemy_parts_damage_info_field:get_data(damage_param);
|
||||||
if enemy_parts_damage_info == nil then
|
if enemy_parts_damage_info == nil then
|
||||||
error_handler.report("large_monster.update_parts", "Failed to access Data: enemy_parts_damage_info");
|
error_handler.report("large_monster.update_parts", "Failed to Access Data: enemy_parts_damage_info");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local core_parts_array = get_part_info_array_method:call(enemy_parts_damage_info);
|
local core_parts_array = get_part_info_array_method:call(enemy_parts_damage_info);
|
||||||
if core_parts_array == nil then
|
if core_parts_array == nil then
|
||||||
error_handler.report("large_monster.update_parts", "Failed to access Data: core_parts_array");
|
error_handler.report("large_monster.update_parts", "Failed to Access Data: core_parts_array");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local core_parts_array_length = get_length_method:call(core_parts_array);
|
local core_parts_array_length = get_length_method:call(core_parts_array);
|
||||||
if core_parts_array_length == nil then
|
if core_parts_array_length == nil then
|
||||||
error_handler.report("large_monster.update_parts", "Failed to access Data: core_parts_array_length");
|
error_handler.report("large_monster.update_parts", "Failed to Access Data: core_parts_array_length");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -939,7 +1021,7 @@ function this.update_parts(enemy, monster, physical_param)
|
|||||||
|
|
||||||
local enemy_parts_info = get_value_method:call(core_parts_array, i);
|
local enemy_parts_info = get_value_method:call(core_parts_array, i);
|
||||||
if enemy_parts_info == nil then
|
if enemy_parts_info == nil then
|
||||||
error_handler.report("large_monster.update_parts", "Failed to access Data: enemy_parts_info No. " .. tostring(i));
|
error_handler.report("large_monster.update_parts", "Failed to Access Data: enemy_parts_info No. " .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -963,19 +1045,19 @@ function this.update_parts(enemy, monster, physical_param)
|
|||||||
|
|
||||||
local part_current = get_current_method:call(part_vital);
|
local part_current = get_current_method:call(part_vital);
|
||||||
if part_current == nil then
|
if part_current == nil then
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_current", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_current", i));
|
||||||
end
|
end
|
||||||
|
|
||||||
local part_max = get_max_method:call(part_vital);
|
local part_max = get_max_method:call(part_vital);
|
||||||
if part_max == nil then
|
if part_max == nil then
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_max", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_max", i));
|
||||||
end
|
end
|
||||||
|
|
||||||
if part_current ~= nil and part_max ~= nil then
|
if part_current ~= nil and part_max ~= nil then
|
||||||
body_part.update_flinch(part, part_current, part_max);
|
body_part.update_flinch(part, part_current, part_max);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_vital", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_vital", i));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -988,29 +1070,29 @@ function this.update_parts(enemy, monster, physical_param)
|
|||||||
|
|
||||||
local part_break_current = get_current_method:call(part_break_vital);
|
local part_break_current = get_current_method:call(part_break_vital);
|
||||||
if part_break_current == nil then
|
if part_break_current == nil then
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_break_current", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_break_current", i));
|
||||||
end
|
end
|
||||||
|
|
||||||
local part_break_max = get_max_method:call(part_break_vital);
|
local part_break_max = get_max_method:call(part_break_vital);
|
||||||
if part_break_max == nil then
|
if part_break_max == nil then
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_break_max", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_break_max", i));
|
||||||
end
|
end
|
||||||
|
|
||||||
local part_break_count = get_parts_break_damage_level_method:call(enemy_parts_info);
|
local part_break_count = get_parts_break_damage_level_method:call(enemy_parts_info);
|
||||||
if part_break_count == nil then
|
if part_break_count == nil then
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_break_count", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_break_count", i));
|
||||||
end
|
end
|
||||||
|
|
||||||
local part_break_max_count = get_parts_break_damage_max_level_method:call(enemy_parts_info);
|
local part_break_max_count = get_parts_break_damage_max_level_method:call(enemy_parts_info);
|
||||||
if part_break_max_count == nil then
|
if part_break_max_count == nil then
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_break_max_count", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_break_max_count", i));
|
||||||
end
|
end
|
||||||
|
|
||||||
if part_break_current ~= nil and part_break_max ~= nil and part_break_count ~= nil and part_break_max_count ~= nil then
|
if part_break_current ~= nil and part_break_max ~= nil and part_break_count ~= nil and part_break_max_count ~= nil then
|
||||||
body_part.update_break(part, part_break_current, part_break_max, part_break_count, part_break_max_count);
|
body_part.update_break(part, part_break_current, part_break_max, part_break_count, part_break_max_count);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_break_vital", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_break_vital", i));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1023,24 +1105,24 @@ function this.update_parts(enemy, monster, physical_param)
|
|||||||
|
|
||||||
local part_loss_current = get_current_method:call(part_loss_vital);
|
local part_loss_current = get_current_method:call(part_loss_vital);
|
||||||
if part_loss_current == nil then
|
if part_loss_current == nil then
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_loss_current", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_loss_current", i));
|
||||||
end
|
end
|
||||||
|
|
||||||
local part_loss_max = get_max_method:call(part_loss_vital);
|
local part_loss_max = get_max_method:call(part_loss_vital);
|
||||||
if part_loss_max == nil then
|
if part_loss_max == nil then
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_loss_max", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_loss_max", i));
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_severed = get_parts_loss_state_method:call(enemy_parts_info);
|
local is_severed = get_parts_loss_state_method:call(enemy_parts_info);
|
||||||
if is_severed == nil then
|
if is_severed == nil then
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> is_severed", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> is_severed", i));
|
||||||
end
|
end
|
||||||
|
|
||||||
if part_loss_current ~= nil and part_loss_max ~= nil and is_severed ~= nil then
|
if part_loss_current ~= nil and part_loss_max ~= nil and is_severed ~= nil then
|
||||||
body_part.update_loss(part, part_loss_current, part_loss_max, is_severed);
|
body_part.update_loss(part, part_loss_current, part_loss_max, is_severed);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error_handler.report("large_monster.update_parts", string.format("Failed to access Data: enemy_parts_info No. %d -> part_loss_vital", i));
|
error_handler.report("large_monster.update_parts", string.format("Failed to Access Data: enemy_parts_info No. %d -> part_loss_vital", i));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1078,13 +1160,13 @@ function this.update_anomaly_parts(enemy, monster, mystery_param)
|
|||||||
|
|
||||||
local core_parts_array = core_parts_array_field:get_data(mystery_param);
|
local core_parts_array = core_parts_array_field:get_data(mystery_param);
|
||||||
if core_parts_array == nil then
|
if core_parts_array == nil then
|
||||||
error_handler.report("large_monster.update_anomaly_parts", "Failed to access Data: core_parts_array");
|
error_handler.report("large_monster.update_anomaly_parts", "Failed to Access Data: core_parts_array");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local core_parts_array_length = get_length_method:call(core_parts_array);
|
local core_parts_array_length = get_length_method:call(core_parts_array);
|
||||||
if core_parts_array_length == nil then
|
if core_parts_array_length == nil then
|
||||||
error_handler.report("large_monster.update_anomaly_parts", "Failed to access Data: core_parts_array_length");
|
error_handler.report("large_monster.update_anomaly_parts", "Failed to Access Data: core_parts_array_length");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1093,7 +1175,7 @@ function this.update_anomaly_parts(enemy, monster, mystery_param)
|
|||||||
|
|
||||||
local core_part = get_value_method:call(core_parts_array, i);
|
local core_part = get_value_method:call(core_parts_array, i);
|
||||||
if core_part == nil then
|
if core_part == nil then
|
||||||
error_handler.report("large_monster.update_anomaly_parts", "Failed to access Data: core_part No. " .. tostring(i));
|
error_handler.report("large_monster.update_anomaly_parts", "Failed to Access Data: core_part No. " .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1110,13 +1192,13 @@ function this.update_anomaly_parts(enemy, monster, mystery_param)
|
|||||||
|
|
||||||
local part_vital = core_parts_get_vital_method:call(core_part);
|
local part_vital = core_parts_get_vital_method:call(core_part);
|
||||||
if part_vital == nil then
|
if part_vital == nil then
|
||||||
error_handler.report("large_monster.update_anomaly_parts", "Failed to access Data: part_vital No. " .. tostring(i));
|
error_handler.report("large_monster.update_anomaly_parts", "Failed to Access Data: part_vital No. " .. tostring(i));
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local part_is_active = core_parts_get_is_active_method:call(core_part);
|
local part_is_active = core_parts_get_is_active_method:call(core_part);
|
||||||
if part_is_active == nil then
|
if part_is_active == nil then
|
||||||
error_handler.report("large_monster.update_anomaly_parts", "Failed to access Data: part_is_active No. " .. tostring(i));
|
error_handler.report("large_monster.update_anomaly_parts", "Failed to Access Data: part_is_active No. " .. tostring(i));
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1124,19 +1206,19 @@ function this.update_anomaly_parts(enemy, monster, mystery_param)
|
|||||||
|
|
||||||
local part_current = get_current_method:call(part_vital);
|
local part_current = get_current_method:call(part_vital);
|
||||||
if part_current == nil then
|
if part_current == nil then
|
||||||
error_handler.report("large_monster.update_anomaly_parts", "Failed to access Data: part_current No. " .. tostring(i));
|
error_handler.report("large_monster.update_anomaly_parts", "Failed to Access Data: part_current No. " .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local part_max = get_max_method:call(part_vital);
|
local part_max = get_max_method:call(part_vital);
|
||||||
if part_max == nil then
|
if part_max == nil then
|
||||||
error_handler.report("large_monster.update_anomaly_parts", "Failed to access Data: part_max No. " .. tostring(i));
|
error_handler.report("large_monster.update_anomaly_parts", "Failed to Access Data: part_max No. " .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
local part_is_enabled = is_enable_method:call(part_vital);
|
local part_is_enabled = is_enable_method:call(part_vital);
|
||||||
if part_is_enabled == nil then
|
if part_is_enabled == nil then
|
||||||
error_handler.report("large_monster.update_anomaly_parts", "Failed to access Data: part_is_enabled No. " .. tostring(i));
|
error_handler.report("large_monster.update_anomaly_parts", "Failed to Access Data: part_is_enabled No. " .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1159,19 +1241,19 @@ function this.update_highlighted_id()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if singletons.gui_manager == nil then
|
if singletons.gui_manager == nil then
|
||||||
error_handler.report("large_monster.update_highlighted_id", "Failed to access Data: gui_manager");
|
error_handler.report("large_monster.update_highlighted_id", "Failed to Access Data: gui_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local gui_hud_target_camera = get_tg_camera_method:call(singletons.gui_manager);
|
local gui_hud_target_camera = get_tg_camera_method:call(singletons.gui_manager);
|
||||||
if gui_hud_target_camera == nil then
|
if gui_hud_target_camera == nil then
|
||||||
error_handler.report("large_monster.update_highlighted_id", "Failed to access Data: gui_hud_target_camera");
|
error_handler.report("large_monster.update_highlighted_id", "Failed to Access Data: gui_hud_target_camera");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local highlighted_id = get_targeting_enemy_index_field:get_data(gui_hud_target_camera);
|
local highlighted_id = get_targeting_enemy_index_field:get_data(gui_hud_target_camera);
|
||||||
if highlighted_id == nil then
|
if highlighted_id == nil then
|
||||||
error_handler.report("large_monster_UI.update_highlighted_id", "Failed to access Data: highlighted_id");
|
error_handler.report("large_monster_UI.update_highlighted_id", "Failed to Access Data: highlighted_id");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -205,13 +205,13 @@ end
|
|||||||
function this.update_health(enemy_damage_check)
|
function this.update_health(enemy_damage_check)
|
||||||
local enemy = get_ref_enemy:call(enemy_damage_check);
|
local enemy = get_ref_enemy:call(enemy_damage_check);
|
||||||
if enemy == nil then
|
if enemy == nil then
|
||||||
error_handler.report("monster_hook.update_health", "Failed to access Data: enemy");
|
error_handler.report("monster_hook.update_health", "Failed to Access Data: enemy");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_large = is_boss_enemy_method:call(enemy);
|
local is_large = is_boss_enemy_method:call(enemy);
|
||||||
if is_large == nil then
|
if is_large == nil then
|
||||||
error_handler.report("monster_hook.update_health", "Failed to access Data: is_large");
|
error_handler.report("monster_hook.update_health", "Failed to Access Data: is_large");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -234,7 +234,7 @@ function this.update_stamina(stamina_param, stamina_sub)
|
|||||||
|
|
||||||
local enemy = get_enemy_method:call(stamina_param);
|
local enemy = get_enemy_method:call(stamina_param);
|
||||||
if enemy == nil then
|
if enemy == nil then
|
||||||
error_handler.report("monster_hook.update_stamina", "Failed to access Data: enemy");
|
error_handler.report("monster_hook.update_stamina", "Failed to Access Data: enemy");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,39 @@ local package = package;
|
|||||||
|
|
||||||
this.list = {};
|
this.list = {};
|
||||||
|
|
||||||
|
|
||||||
|
local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase");
|
||||||
|
local enemy_type_field = enemy_character_base_type_def:get_field("<EnemyType>k__BackingField");
|
||||||
|
|
||||||
|
local message_manager_type_def = sdk.find_type_definition("snow.gui.MessageManager");
|
||||||
|
local get_enemy_name_message_method = message_manager_type_def:get_method("getEnemyNameMessage");
|
||||||
|
|
||||||
|
local get_ref_mesh_method = enemy_character_base_type_def:get_method("get_RefMesh");
|
||||||
|
|
||||||
|
local mesh_type_def = get_ref_mesh_method:get_return_type();
|
||||||
|
local get_game_object_method = mesh_type_def:get_method("get_GameObject");
|
||||||
|
|
||||||
|
local game_object_type_def = get_game_object_method:get_return_type();
|
||||||
|
local get_transform_method = game_object_type_def:get_method("get_Transform");
|
||||||
|
|
||||||
|
local transform_type_def = get_transform_method:get_return_type();
|
||||||
|
local get_joint_by_name_method = transform_type_def:get_method("getJointByName");
|
||||||
|
|
||||||
|
local joint_type_def = get_joint_by_name_method:get_return_type();
|
||||||
|
local get_position_method = joint_type_def:get_method("get_Position");
|
||||||
|
|
||||||
|
local get_physical_param_method = enemy_character_base_type_def:get_method("get_PhysicalParam");
|
||||||
|
local check_die_method = enemy_character_base_type_def:get_method("checkDie");
|
||||||
|
|
||||||
|
local physical_param_type = get_physical_param_method:get_return_type();
|
||||||
|
local get_vital_method = physical_param_type:get_method("getVital");
|
||||||
|
|
||||||
|
local vital_param_type = get_vital_method:get_return_type();
|
||||||
|
local get_current_method = vital_param_type:get_method("get_Current");
|
||||||
|
local get_max_method = vital_param_type:get_method("get_Max");
|
||||||
|
|
||||||
|
local get_pos_method = enemy_character_base_type_def:get_method("get_Pos");
|
||||||
|
|
||||||
function this.new(enemy)
|
function this.new(enemy)
|
||||||
local monster = {};
|
local monster = {};
|
||||||
monster.is_large = false;
|
monster.is_large = false;
|
||||||
@@ -58,7 +91,10 @@ function this.new(enemy)
|
|||||||
monster.missing_health = 0;
|
monster.missing_health = 0;
|
||||||
monster.capture_health = 0;
|
monster.capture_health = 0;
|
||||||
|
|
||||||
|
monster.head_joint = nil;
|
||||||
|
|
||||||
monster.position = Vector3f.new(0, 0, 0);
|
monster.position = Vector3f.new(0, 0, 0);
|
||||||
|
monster.head_position = Vector3f.new(0, 0, 0);
|
||||||
monster.distance = 0;
|
monster.distance = 0;
|
||||||
|
|
||||||
monster.name = "Small Monster";
|
monster.name = "Small Monster";
|
||||||
@@ -89,16 +125,10 @@ function this.get_monster(enemy)
|
|||||||
return monster;
|
return monster;
|
||||||
end
|
end
|
||||||
|
|
||||||
local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase");
|
|
||||||
local enemy_type_field = enemy_character_base_type_def:get_field("<EnemyType>k__BackingField");
|
|
||||||
|
|
||||||
local message_manager_type_def = sdk.find_type_definition("snow.gui.MessageManager");
|
|
||||||
local get_enemy_name_message_method = message_manager_type_def:get_method("getEnemyNameMessage");
|
|
||||||
|
|
||||||
function this.init(monster, enemy)
|
function this.init(monster, enemy)
|
||||||
local enemy_type = enemy_type_field:get_data(enemy);
|
local enemy_type = enemy_type_field:get_data(enemy);
|
||||||
if enemy_type == nil then
|
if enemy_type == nil then
|
||||||
error_handler.report("small_monster.init", "Failed to access Data: enemy_type");
|
error_handler.report("small_monster.init", "Failed to Access Data: enemy_type");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -106,10 +136,12 @@ function this.init(monster, enemy)
|
|||||||
|
|
||||||
local enemy_name = get_enemy_name_message_method:call(singletons.message_manager, enemy_type);
|
local enemy_name = get_enemy_name_message_method:call(singletons.message_manager, enemy_type);
|
||||||
if enemy_name == nil then
|
if enemy_name == nil then
|
||||||
error_handler.report("small_monster.init", "Failed to access Data: enemy_name");
|
error_handler.report("small_monster.init", "Failed to Access Data: enemy_name");
|
||||||
end
|
end
|
||||||
|
|
||||||
monster.name = enemy_name;
|
monster.name = enemy_name;
|
||||||
|
|
||||||
|
this.update_head_joint(enemy, monster);
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_UI(monster)
|
function this.init_UI(monster)
|
||||||
@@ -153,18 +185,6 @@ function this.init_UI(monster)
|
|||||||
);
|
);
|
||||||
end
|
end
|
||||||
|
|
||||||
local get_physical_param_method = enemy_character_base_type_def:get_method("get_PhysicalParam");
|
|
||||||
local check_die_method = enemy_character_base_type_def:get_method("checkDie");
|
|
||||||
|
|
||||||
local physical_param_type = get_physical_param_method:get_return_type();
|
|
||||||
local get_vital_method = physical_param_type:get_method("getVital");
|
|
||||||
|
|
||||||
local vital_param_type = get_vital_method:get_return_type();
|
|
||||||
local get_current_method = vital_param_type:get_method("get_Current");
|
|
||||||
local get_max_method = vital_param_type:get_method("get_Max");
|
|
||||||
|
|
||||||
local get_pos_method = enemy_character_base_type_def:get_method("get_Pos");
|
|
||||||
|
|
||||||
function this.update_position(enemy, monster)
|
function this.update_position(enemy, monster)
|
||||||
local cached_config = config.current_config.small_monster_UI;
|
local cached_config = config.current_config.small_monster_UI;
|
||||||
|
|
||||||
@@ -179,10 +199,73 @@ function this.update_position(enemy, monster)
|
|||||||
|
|
||||||
local position = get_pos_method:call(enemy);
|
local position = get_pos_method:call(enemy);
|
||||||
if position == nil then
|
if position == nil then
|
||||||
error_handler.report("small_monster.update_position", "Failed to access Data: position");
|
error_handler.report("small_monster.update_position", "Failed to Access Data: position");
|
||||||
end
|
end
|
||||||
|
|
||||||
monster.position = position;
|
monster.position = position;
|
||||||
|
|
||||||
|
this.update_head_position(enemy, monster);
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_head_joint(enemy, monster)
|
||||||
|
local mesh = get_ref_mesh_method:call(enemy);
|
||||||
|
if mesh == nil then
|
||||||
|
error_handler.report("small_monster.update_head_joint", "Failed to Access Data: Mesh");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local game_object = get_game_object_method:call(mesh);
|
||||||
|
if game_object == nil then
|
||||||
|
error_handler.report("small_monster.update_head_joint", "Failed to Access Data: GameObject");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local transform = get_transform_method:call(game_object);
|
||||||
|
if transform == nil then
|
||||||
|
error_handler.report("small_monster.update_head_joint", "Failed to Access Data: Transform");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local head_joint = get_joint_by_name_method:call(transform, "Head_00")
|
||||||
|
or get_joint_by_name_method:call(transform, "Head")
|
||||||
|
or get_joint_by_name_method:call(transform, "Head_01")
|
||||||
|
or get_joint_by_name_method:call(transform, "Spine_00")
|
||||||
|
or get_joint_by_name_method:call(transform, "Cog")
|
||||||
|
or get_joint_by_name_method:call(transform, "head")
|
||||||
|
or get_joint_by_name_method:call(transform, "root");
|
||||||
|
|
||||||
|
if head_joint == nil then
|
||||||
|
-- local out = "";
|
||||||
|
-- local joints = transform:get_Joints();
|
||||||
|
|
||||||
|
-- for i = 0, joints:get_Length() - 1 do
|
||||||
|
-- local joint = joints[i];
|
||||||
|
-- local joint_name = joint:get_Name();
|
||||||
|
|
||||||
|
-- out = out .. joint_name .. "\n";
|
||||||
|
-- end
|
||||||
|
|
||||||
|
-- error_handler.report(monster.name, out);
|
||||||
|
|
||||||
|
error_handler.report("small_monster.update_head_joint", "Failed to Access Data: HeadJoint");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
monster.head_joint = head_joint;
|
||||||
|
end
|
||||||
|
|
||||||
|
function this.update_head_position(enemy, monster)
|
||||||
|
if monster.head_joint == nil then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local head_position = get_position_method:call(monster.head_joint);
|
||||||
|
if head_position == nil then
|
||||||
|
error_handler.report("small_monster.update_head_position", "Failed to Access Data: HeadPosition");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
monster.head_position = head_position;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.update(enemy, monster)
|
function this.update(enemy, monster)
|
||||||
@@ -194,7 +277,7 @@ function this.update(enemy, monster)
|
|||||||
if dead_or_captured ~= nil then
|
if dead_or_captured ~= nil then
|
||||||
monster.dead_or_captured = dead_or_captured;
|
monster.dead_or_captured = dead_or_captured;
|
||||||
else
|
else
|
||||||
error_handler.report("small_monster.update", "Failed to access Data: dead_or_captured");
|
error_handler.report("small_monster.update", "Failed to Access Data: dead_or_captured");
|
||||||
end
|
end
|
||||||
|
|
||||||
pcall(ailments.update_ailments, enemy, monster);
|
pcall(ailments.update_ailments, enemy, monster);
|
||||||
@@ -207,13 +290,13 @@ function this.update_health(enemy, monster)
|
|||||||
|
|
||||||
local physical_param = get_physical_param_method:call(enemy);
|
local physical_param = get_physical_param_method:call(enemy);
|
||||||
if physical_param == nil then
|
if physical_param == nil then
|
||||||
error_handler.report("small_monster.update_health", "Failed to access Data: physical_param");
|
error_handler.report("small_monster.update_health", "Failed to Access Data: physical_param");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local vital_param = get_vital_method:call(physical_param, 0, 0);
|
local vital_param = get_vital_method:call(physical_param, 0, 0);
|
||||||
if vital_param == nil then
|
if vital_param == nil then
|
||||||
error_handler.report("small_monster.update_health", "Failed to access Data: vital_param");
|
error_handler.report("small_monster.update_health", "Failed to Access Data: vital_param");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -221,7 +304,7 @@ function this.update_health(enemy, monster)
|
|||||||
if health ~= nil then
|
if health ~= nil then
|
||||||
monster.health = health;
|
monster.health = health;
|
||||||
else
|
else
|
||||||
error_handler.report("small_monster.update_health", "Failed to access Data: health");
|
error_handler.report("small_monster.update_health", "Failed to Access Data: health");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -229,7 +312,7 @@ function this.update_health(enemy, monster)
|
|||||||
if max_health ~= nil then
|
if max_health ~= nil then
|
||||||
monster.max_health = max_health;
|
monster.max_health = max_health;
|
||||||
else
|
else
|
||||||
error_handler.report("small_monster.update_health", "Failed to access Data: max_health");
|
error_handler.report("small_monster.update_health", "Failed to Access Data: max_health");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -3,17 +3,19 @@ local this = {};
|
|||||||
local buff_UI_entity;
|
local buff_UI_entity;
|
||||||
local config;
|
local config;
|
||||||
local buffs;
|
local buffs;
|
||||||
local consumables;
|
local item_buffs;
|
||||||
local melody_effects;
|
local melody_effects;
|
||||||
local endemic_life_buff;
|
local endemic_life_buff;
|
||||||
local screen;
|
local screen;
|
||||||
local utils;
|
local utils;
|
||||||
local error_handler;
|
local error_handler;
|
||||||
local skills;
|
local skills;
|
||||||
local dangos;
|
local dango_skills;
|
||||||
local abnormal_statuses;
|
local abnormal_statuses;
|
||||||
local otomo_moves;
|
local otomo_moves;
|
||||||
local weapon_skills;
|
local weapon_skills;
|
||||||
|
local misc_buffs;
|
||||||
|
local rampage_skills;
|
||||||
|
|
||||||
local sdk = sdk;
|
local sdk = sdk;
|
||||||
local tostring = tostring;
|
local tostring = tostring;
|
||||||
@@ -54,122 +56,274 @@ function this.update()
|
|||||||
|
|
||||||
local _displayed_buffs = {};
|
local _displayed_buffs = {};
|
||||||
|
|
||||||
for key, consumable in pairs(consumables.list) do
|
for key, abnormal_status in pairs(abnormal_statuses.list) do
|
||||||
|
|
||||||
if not consumable.is_active then
|
if abnormal_status.is_visible then
|
||||||
goto continue;
|
table.insert(_displayed_buffs, abnormal_status);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
table.insert(_displayed_buffs, consumable);
|
for key, item_buff in pairs(item_buffs.list) do
|
||||||
|
|
||||||
::continue::
|
if item_buff.is_visible then
|
||||||
|
table.insert(_displayed_buffs, item_buff);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for key, endemic_life_buff in pairs(endemic_life_buff.list) do
|
||||||
|
|
||||||
|
if endemic_life_buff.is_visible then
|
||||||
|
table.insert(_displayed_buffs, endemic_life_buff);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, melody_effect in pairs(melody_effects.list) do
|
for _, melody_effect in pairs(melody_effects.list) do
|
||||||
|
|
||||||
if not melody_effect.is_active then
|
if melody_effect.is_visible then
|
||||||
goto continue2;
|
|
||||||
end
|
|
||||||
|
|
||||||
table.insert(_displayed_buffs, melody_effect);
|
table.insert(_displayed_buffs, melody_effect);
|
||||||
|
end
|
||||||
::continue2::
|
|
||||||
end
|
end
|
||||||
|
|
||||||
for key, endemic_life_buff in pairs(endemic_life_buff.list) do
|
for key, dango_skill in pairs(dango_skills.list) do
|
||||||
if not endemic_life_buff.is_active then
|
|
||||||
goto continue3;
|
if dango_skill.is_visible then
|
||||||
|
table.insert(_displayed_buffs, dango_skill);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
table.insert(_displayed_buffs, endemic_life_buff);
|
for key, rampage_skill in pairs(rampage_skills.list) do
|
||||||
|
|
||||||
::continue3::
|
if rampage_skill.is_visible then
|
||||||
|
table.insert(_displayed_buffs, rampage_skill);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
for key, skill in pairs(skills.list) do
|
for key, skill in pairs(skills.list) do
|
||||||
if not skill.is_active then
|
|
||||||
goto continue4;
|
|
||||||
end
|
|
||||||
|
|
||||||
|
if skill.is_visible then
|
||||||
table.insert(_displayed_buffs, skill);
|
table.insert(_displayed_buffs, skill);
|
||||||
|
|
||||||
::continue4::
|
|
||||||
end
|
end
|
||||||
|
|
||||||
for key, dango_buff in pairs(dangos.list) do
|
|
||||||
if not dango_buff.is_active then
|
|
||||||
goto continue5;
|
|
||||||
end
|
|
||||||
|
|
||||||
table.insert(_displayed_buffs, dango_buff);
|
|
||||||
|
|
||||||
::continue5::
|
|
||||||
end
|
|
||||||
|
|
||||||
for key, abnormal_status in pairs(abnormal_statuses.list) do
|
|
||||||
if not abnormal_status.is_active then
|
|
||||||
goto continue6;
|
|
||||||
end
|
|
||||||
|
|
||||||
table.insert(_displayed_buffs, abnormal_status);
|
|
||||||
|
|
||||||
::continue6::
|
|
||||||
end
|
|
||||||
|
|
||||||
for key, otomo_move in pairs(otomo_moves.list) do
|
|
||||||
if not otomo_move.is_active then
|
|
||||||
goto continue7;
|
|
||||||
end
|
|
||||||
|
|
||||||
table.insert(_displayed_buffs, otomo_move);
|
|
||||||
|
|
||||||
::continue7::
|
|
||||||
end
|
end
|
||||||
|
|
||||||
for key, weapon_skill in pairs(weapon_skills.list) do
|
for key, weapon_skill in pairs(weapon_skills.list) do
|
||||||
if not weapon_skill.is_active then
|
|
||||||
goto continue8;
|
if weapon_skill.is_visible then
|
||||||
|
table.insert(_displayed_buffs, weapon_skill);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
table.insert(_displayed_buffs, weapon_skill);
|
for key, otomo_move in pairs(otomo_moves.list) do
|
||||||
|
|
||||||
::continue8::
|
if otomo_move.is_visible then
|
||||||
|
table.insert(_displayed_buffs, otomo_move);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for key, misc_buffs in pairs(misc_buffs.list) do
|
||||||
|
|
||||||
|
if misc_buffs.is_visible then
|
||||||
|
table.insert(_displayed_buffs, misc_buffs);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
displayed_buffs = this.sort_buffs(_displayed_buffs, cached_config);
|
displayed_buffs = this.sort_buffs(_displayed_buffs, cached_config);
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.sort_buffs(_displayed_buffs, cached_config)
|
function this.sort_buffs(_displayed_buffs, cached_config)
|
||||||
|
local infinite_buffs_location = cached_config.settings.infinite_buffs_location;
|
||||||
cached_config = cached_config.sorting;
|
cached_config = cached_config.sorting;
|
||||||
|
|
||||||
if cached_config.type == "Name" then
|
if cached_config.type == "Name" then
|
||||||
if cached_config.reversed_order then
|
if cached_config.reversed_order then
|
||||||
table.sort(_displayed_buffs, function(left, right)
|
table.sort(_displayed_buffs, function(left, right)
|
||||||
return left.name > right.name;
|
|
||||||
|
if infinite_buffs_location == "First" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.name < right.name;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return true;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return left.name < right.name;
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif infinite_buffs_location == "Last" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.name < right.name;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return false;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return left.name < right.name;
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
return left.name < right.name;
|
||||||
|
end
|
||||||
end);
|
end);
|
||||||
else
|
else
|
||||||
table.sort(_displayed_buffs, function(left, right)
|
table.sort(_displayed_buffs, function(left, right)
|
||||||
return left.name < right.name;
|
|
||||||
|
if infinite_buffs_location == "First" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.name > right.name;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return false;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return left.name > right.name;
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif infinite_buffs_location == "Last" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.name > right.name;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return true;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return left.name > right.name;
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
return left.name > right.name;
|
||||||
|
end
|
||||||
end);
|
end);
|
||||||
end
|
end
|
||||||
elseif cached_config.type == "Timer" then
|
elseif cached_config.type == "Timer" then
|
||||||
if cached_config.reversed_order then
|
if cached_config.reversed_order then
|
||||||
table.sort(_displayed_buffs, function(left, right)
|
table.sort(_displayed_buffs, function(left, right)
|
||||||
return left.timer > right.timer;
|
|
||||||
|
if infinite_buffs_location == "First" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.timer < right.timer;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return true;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return left.timer < right.timer;
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif infinite_buffs_location == "Last" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.timer < right.timer;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return false;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return left.timer < right.timer;
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
return left.timer < right.timer;
|
||||||
|
end
|
||||||
end);
|
end);
|
||||||
else
|
else
|
||||||
table.sort(_displayed_buffs, function(left, right)
|
table.sort(_displayed_buffs, function(left, right)
|
||||||
return left.timer < right.timer;
|
|
||||||
|
if infinite_buffs_location == "First" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.timer > right.timer;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return false;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return left.timer > right.timer;
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif infinite_buffs_location == "Last" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.timer > right.timer;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return true;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return left.timer > right.timer;
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
return left.timer > right.timer;
|
||||||
|
end
|
||||||
end);
|
end);
|
||||||
end
|
end
|
||||||
else
|
else -- Duration
|
||||||
if cached_config.reversed_order then
|
if cached_config.reversed_order then
|
||||||
table.sort(_displayed_buffs, function(left, right)
|
table.sort(_displayed_buffs, function(left, right)
|
||||||
return left.duration > right.duration;
|
|
||||||
|
if infinite_buffs_location == "First" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.duration < right.duration;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return true;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return left.duration < right.duration;
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif infinite_buffs_location == "Last" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.duration < right.duration;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return false;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return left.duration < right.duration;
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
return left.duration < right.duration;
|
||||||
|
end
|
||||||
end);
|
end);
|
||||||
else
|
else
|
||||||
table.sort(_displayed_buffs, function(left, right)
|
table.sort(_displayed_buffs, function(left, right)
|
||||||
return left.duration < right.duration;
|
|
||||||
|
if infinite_buffs_location == "First" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.duration > right.duration;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return false;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return left.duration > right.duration;
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif infinite_buffs_location == "Last" then
|
||||||
|
|
||||||
|
if left.is_infinite and right.is_infinite then
|
||||||
|
return left.duration > right.duration;
|
||||||
|
elseif left.is_infinite then
|
||||||
|
return true;
|
||||||
|
elseif right.is_infinite then
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return left.duration > right.duration;
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
return left.duration > right.duration;
|
||||||
|
end
|
||||||
end);
|
end);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -201,7 +355,7 @@ end
|
|||||||
function this.init_dependencies()
|
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");
|
item_buffs = require("MHR_Overlay.Buffs.item_buffs");
|
||||||
melody_effects = require("MHR_Overlay.Buffs.melody_effects");
|
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");
|
||||||
@@ -216,10 +370,12 @@ function this.init_dependencies()
|
|||||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
endemic_life_buff = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
endemic_life_buff = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
||||||
skills = require("MHR_Overlay.Buffs.skills");
|
skills = require("MHR_Overlay.Buffs.skills");
|
||||||
dangos = require("MHR_Overlay.Buffs.dangos");
|
dango_skills = require("MHR_Overlay.Buffs.dango_skills");
|
||||||
abnormal_statuses = require("MHR_Overlay.Buffs.abnormal_statuses");
|
abnormal_statuses = require("MHR_Overlay.Buffs.abnormal_statuses");
|
||||||
otomo_moves = require("MHR_Overlay.Buffs.otomo_moves");
|
otomo_moves = require("MHR_Overlay.Buffs.otomo_moves");
|
||||||
weapon_skills = require("MHR_Overlay.Buffs.weapon_skills");
|
weapon_skills = require("MHR_Overlay.Buffs.weapon_skills");
|
||||||
|
misc_buffs = require("MHR_Overlay.Buffs.misc_buffs");
|
||||||
|
rampage_skills = require("MHR_Overlay.Buffs.rampage_skills");
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_module()
|
function this.init_module()
|
||||||
|
|||||||
@@ -86,7 +86,12 @@ function this.draw()
|
|||||||
cached_config.world_offset.z
|
cached_config.world_offset.z
|
||||||
);
|
);
|
||||||
|
|
||||||
local position_on_screen = draw.world_to_screen(creature.position + world_offset);
|
local position_on_screen;
|
||||||
|
if cached_config.settings.head_tracking then
|
||||||
|
position_on_screen = draw.world_to_screen(creature.head_position + world_offset);
|
||||||
|
else
|
||||||
|
position_on_screen = draw.world_to_screen(creature.position + world_offset);
|
||||||
|
end
|
||||||
|
|
||||||
if position_on_screen == nil then
|
if position_on_screen == nil then
|
||||||
goto continue;
|
goto continue;
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ function this.update(dynamic_enabled, static_enabled, highlighted_enabled)
|
|||||||
local cached_config = config.current_config.large_monster_UI;
|
local cached_config = config.current_config.large_monster_UI;
|
||||||
|
|
||||||
if singletons.enemy_manager == nil then
|
if singletons.enemy_manager == nil then
|
||||||
error_handler.report("large_monster_UI.update", "Failed to access Data: enemy_manager");
|
error_handler.report("large_monster_UI.update", "Failed to Access Data: enemy_manager");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ function this.update(dynamic_enabled, static_enabled, highlighted_enabled)
|
|||||||
|
|
||||||
local enemy_count = get_boss_enemy_count_method:call(singletons.enemy_manager);
|
local enemy_count = get_boss_enemy_count_method:call(singletons.enemy_manager);
|
||||||
if enemy_count == nil then
|
if enemy_count == nil then
|
||||||
error_handler.report("large_monster_UI.update", "Failed to access Data: enemy_count");
|
error_handler.report("large_monster_UI.update", "Failed to Access Data: enemy_count");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ function this.update(dynamic_enabled, static_enabled, highlighted_enabled)
|
|||||||
for i = 0, enemy_count - 1 do
|
for i = 0, enemy_count - 1 do
|
||||||
local enemy = get_boss_enemy_method:call(singletons.enemy_manager, i);
|
local enemy = get_boss_enemy_method:call(singletons.enemy_manager, i);
|
||||||
if enemy == nil then
|
if enemy == nil then
|
||||||
error_handler.report("large_monster_UI.update", "Failed to access Data: enemy No. " .. tostring(i));
|
error_handler.report("large_monster_UI.update", "Failed to Access Data: enemy No. " .. tostring(i));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -337,7 +337,13 @@ function this.draw_dynamic(cached_config)
|
|||||||
local i = 0;
|
local i = 0;
|
||||||
for _, monster in ipairs(displayed_dynamic_monsters) do
|
for _, monster in ipairs(displayed_dynamic_monsters) do
|
||||||
local world_offset = Vector3f.new(cached_config.world_offset.x, cached_config.world_offset.y, cached_config.world_offset.z);
|
local world_offset = Vector3f.new(cached_config.world_offset.x, cached_config.world_offset.y, cached_config.world_offset.z);
|
||||||
local position_on_screen = draw.world_to_screen(monster.position + world_offset);
|
|
||||||
|
local position_on_screen;
|
||||||
|
if cached_config.settings.head_tracking then
|
||||||
|
position_on_screen = draw.world_to_screen(monster.head_position + world_offset);
|
||||||
|
else
|
||||||
|
position_on_screen = draw.world_to_screen(monster.position + world_offset);
|
||||||
|
end
|
||||||
|
|
||||||
if position_on_screen == nil then
|
if position_on_screen == nil then
|
||||||
goto continue;
|
goto continue;
|
||||||
|
|||||||
@@ -126,7 +126,8 @@ end
|
|||||||
function this.draw()
|
function this.draw()
|
||||||
local cached_config = config.current_config.small_monster_UI;
|
local cached_config = config.current_config.small_monster_UI;
|
||||||
|
|
||||||
local is_dynamic_positioning_enabled = cached_config.dynamic_positioning.enabled;
|
local dynamic_positioning_config = cached_config.dynamic_positioning;
|
||||||
|
local is_dynamic_positioning_enabled = dynamic_positioning_config.enabled;
|
||||||
|
|
||||||
local i = 0;
|
local i = 0;
|
||||||
for _, monster in ipairs(displayed_monsters) do
|
for _, monster in ipairs(displayed_monsters) do
|
||||||
@@ -134,19 +135,23 @@ function this.draw()
|
|||||||
|
|
||||||
if is_dynamic_positioning_enabled then
|
if is_dynamic_positioning_enabled then
|
||||||
local world_offset = Vector3f.new(
|
local world_offset = Vector3f.new(
|
||||||
cached_config.dynamic_positioning.world_offset.x,
|
dynamic_positioning_config.world_offset.x,
|
||||||
cached_config.dynamic_positioning.world_offset.y,
|
dynamic_positioning_config.world_offset.y,
|
||||||
cached_config.dynamic_positioning.world_offset.z
|
dynamic_positioning_config.world_offset.z
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if dynamic_positioning_config.head_tracking then
|
||||||
|
position_on_screen = draw.world_to_screen(monster.head_position + world_offset);
|
||||||
|
else
|
||||||
position_on_screen = draw.world_to_screen(monster.position + world_offset);
|
position_on_screen = draw.world_to_screen(monster.position + world_offset);
|
||||||
|
end
|
||||||
|
|
||||||
if position_on_screen == nil then
|
if position_on_screen == nil then
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
position_on_screen.x = position_on_screen.x + cached_config.dynamic_positioning.viewport_offset.x;
|
position_on_screen.x = position_on_screen.x + dynamic_positioning_config.viewport_offset.x;
|
||||||
position_on_screen.y = position_on_screen.y + cached_config.dynamic_positioning.viewport_offset.y;
|
position_on_screen.y = position_on_screen.y + dynamic_positioning_config.viewport_offset.y;
|
||||||
else
|
else
|
||||||
position_on_screen = screen.calculate_absolute_coordinates(cached_config.static_position);
|
position_on_screen = screen.calculate_absolute_coordinates(cached_config.static_position);
|
||||||
if cached_config.settings.orientation == "Horizontal" then
|
if cached_config.settings.orientation == "Horizontal" then
|
||||||
@@ -157,9 +162,9 @@ function this.draw()
|
|||||||
end
|
end
|
||||||
|
|
||||||
local opacity_scale = 1;
|
local opacity_scale = 1;
|
||||||
if is_dynamic_positioning_enabled and cached_config.dynamic_positioning.opacity_falloff then
|
if is_dynamic_positioning_enabled and dynamic_positioning_config.opacity_falloff then
|
||||||
monster.distance = (players.myself_position - monster.position):length();
|
monster.distance = (players.myself_position - monster.position):length();
|
||||||
opacity_scale = 1 - (monster.distance / cached_config.dynamic_positioning.max_distance);
|
opacity_scale = 1 - (monster.distance / dynamic_positioning_config.max_distance);
|
||||||
end
|
end
|
||||||
|
|
||||||
small_monster.draw(monster, cached_config, position_on_screen, opacity_scale);
|
small_monster.draw(monster, cached_config, position_on_screen, opacity_scale);
|
||||||
|
|||||||
@@ -3,14 +3,14 @@ local this = {};
|
|||||||
local buff_UI_entity;
|
local buff_UI_entity;
|
||||||
local config;
|
local config;
|
||||||
local buffs;
|
local buffs;
|
||||||
local consumables;
|
local item_buffs;
|
||||||
local melody_effects;
|
local melody_effects;
|
||||||
local endemic_life_buff;
|
local endemic_life_buff;
|
||||||
local screen;
|
local screen;
|
||||||
local utils;
|
local utils;
|
||||||
local error_handler;
|
local error_handler;
|
||||||
local skills;
|
local skills;
|
||||||
local dangos;
|
local dango_skills;
|
||||||
local abnormal_statuses;
|
local abnormal_statuses;
|
||||||
local drawing;
|
local drawing;
|
||||||
local player_info;
|
local player_info;
|
||||||
@@ -293,7 +293,7 @@ end
|
|||||||
function this.init_dependencies()
|
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");
|
item_buffs = require("MHR_Overlay.Buffs.item_buffs");
|
||||||
melody_effects = require("MHR_Overlay.Buffs.melody_effects");
|
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");
|
||||||
@@ -308,7 +308,7 @@ function this.init_dependencies()
|
|||||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||||
endemic_life_buff = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
endemic_life_buff = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
||||||
skills = require("MHR_Overlay.Buffs.skills");
|
skills = require("MHR_Overlay.Buffs.skills");
|
||||||
dangos = require("MHR_Overlay.Buffs.dangos");
|
dango_skills = require("MHR_Overlay.Buffs.dango_skills");
|
||||||
abnormal_statuses = require("MHR_Overlay.Buffs.abnormal_statuses");
|
abnormal_statuses = require("MHR_Overlay.Buffs.abnormal_statuses");
|
||||||
drawing = require("MHR_Overlay.UI.drawing");
|
drawing = require("MHR_Overlay.UI.drawing");
|
||||||
player_info = require("MHR_Overlay.Misc.player_info");
|
player_info = require("MHR_Overlay.Misc.player_info");
|
||||||
|
|||||||
@@ -73,9 +73,13 @@ function this.draw(buff, buff_UI, position_on_screen, opacity_scale)
|
|||||||
drawing.draw_bar(buff_UI.bar, position_on_screen, opacity_scale, 1);
|
drawing.draw_bar(buff_UI.bar, position_on_screen, opacity_scale, 1);
|
||||||
end
|
end
|
||||||
|
|
||||||
local buff_name = buff.name;
|
local buff_name = "";
|
||||||
if cached_config.name_label.include.skill_level and buff.level > 1 then
|
if buff_UI.name_label.include.name then
|
||||||
buff_name = string.format("%s %d", buff_name, buff.level);
|
buff_name = string.format("%s ", buff.name);
|
||||||
|
end
|
||||||
|
|
||||||
|
if buff_UI.name_label.include.effect_level and buff.level > 1 then
|
||||||
|
buff_name = string.format("%s%s%d", buff_name, language.current_language.UI.lv, buff.level);
|
||||||
end
|
end
|
||||||
|
|
||||||
drawing.draw_label(buff_UI.name_label, position_on_screen, opacity_scale, buff_name);
|
drawing.draw_label(buff_UI.name_label, position_on_screen, opacity_scale, buff_name);
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,7 @@
|
|||||||
"HP": "HP:",
|
"HP": "HP:",
|
||||||
"buildup": "Buildup:",
|
"buildup": "Buildup:",
|
||||||
"gold": "Gold",
|
"gold": "Gold",
|
||||||
|
"lv": "",
|
||||||
"mini": "Mini",
|
"mini": "Mini",
|
||||||
"otomo": "Buddy",
|
"otomo": "Buddy",
|
||||||
"part_anomaly_core": "Anomaly Core",
|
"part_anomaly_core": "Anomaly Core",
|
||||||
@@ -29,6 +30,7 @@
|
|||||||
"exhaust": "Exhaust",
|
"exhaust": "Exhaust",
|
||||||
"fall_otomo_trap": "Fall Buddy Trap",
|
"fall_otomo_trap": "Fall Buddy Trap",
|
||||||
"fall_trap": "Fall Trap",
|
"fall_trap": "Fall Trap",
|
||||||
|
"falling_asleep": "Falling Asleep",
|
||||||
"fireblight": "Fireblight",
|
"fireblight": "Fireblight",
|
||||||
"flash": "Flash",
|
"flash": "Flash",
|
||||||
"frenzy": "Frenzy",
|
"frenzy": "Frenzy",
|
||||||
@@ -59,22 +61,10 @@
|
|||||||
"waterblight": "Waterblight",
|
"waterblight": "Waterblight",
|
||||||
"webbed": "Webbed"
|
"webbed": "Webbed"
|
||||||
},
|
},
|
||||||
"consumables": {
|
|
||||||
"adamant_seed": "Adamant Seed",
|
|
||||||
"armorskin": "Armorskin",
|
|
||||||
"dash_juice": "Dash Juice",
|
|
||||||
"demon_powder": "Demon Powder",
|
|
||||||
"demondrug": "Demondrug",
|
|
||||||
"gourmet_fish": "Gourmet Fish",
|
|
||||||
"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!",
|
||||||
|
"abnormal_statuses": "Abnormal Statuses",
|
||||||
"activation_count": "Activation Count",
|
"activation_count": "Activation Count",
|
||||||
"affinity_label": "Affinity Label",
|
"affinity_label": "Affinity Label",
|
||||||
"ailment_buildups": "Ailment Buildups",
|
"ailment_buildups": "Ailment Buildups",
|
||||||
@@ -137,6 +127,7 @@
|
|||||||
"damage_meter_UI": "Damage Meter UI",
|
"damage_meter_UI": "Damage Meter UI",
|
||||||
"damage_percentage_label": "Damage Percentage Label",
|
"damage_percentage_label": "Damage Percentage Label",
|
||||||
"damage_value_label": "Damage Value Label",
|
"damage_value_label": "Damage Value Label",
|
||||||
|
"dango_skills": "Dango Skills",
|
||||||
"debug": "Debug",
|
"debug": "Debug",
|
||||||
"default_state": "Default State",
|
"default_state": "Default State",
|
||||||
"defense_label": "Defense Label",
|
"defense_label": "Defense Label",
|
||||||
@@ -150,12 +141,14 @@
|
|||||||
"duration": "Duration",
|
"duration": "Duration",
|
||||||
"dynamic_positioning": "Dynamic Positioning",
|
"dynamic_positioning": "Dynamic Positioning",
|
||||||
"dynamically_positioned": "Dynamically Positioned",
|
"dynamically_positioned": "Dynamically Positioned",
|
||||||
|
"effect_level": "Effect Level",
|
||||||
"element_2_label": "Element 2 Label",
|
"element_2_label": "Element 2 Label",
|
||||||
"element_label": "Element Label",
|
"element_label": "Element Label",
|
||||||
"enable_for": "Enable for",
|
"enable_for": "Enable for",
|
||||||
"enabled": "Enabled",
|
"enabled": "Enabled",
|
||||||
"endemic_life": "Endemic Life",
|
"endemic_life": "Endemic Life",
|
||||||
"endemic_life_UI": "Endemic Life UI",
|
"endemic_life_UI": "Endemic Life UI",
|
||||||
|
"endemic_life_buffs": "Endemic Life Buffs",
|
||||||
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
||||||
"family": "Family",
|
"family": "Family",
|
||||||
"farthest": "Farthest",
|
"farthest": "Farthest",
|
||||||
@@ -172,6 +165,7 @@
|
|||||||
"global_position_modifier": "Global Position Modifier",
|
"global_position_modifier": "Global Position Modifier",
|
||||||
"global_scale_modifier": "Global Scale Modifier",
|
"global_scale_modifier": "Global Scale Modifier",
|
||||||
"global_settings": "Global Settings",
|
"global_settings": "Global Settings",
|
||||||
|
"head_tracking": "Head Tracking",
|
||||||
"health": "Health",
|
"health": "Health",
|
||||||
"health_anomaly_filter": "Health + Anomaly Core",
|
"health_anomaly_filter": "Health + Anomaly Core",
|
||||||
"health_break_anomaly_filter": "Health + Break + Anomaly Core",
|
"health_break_anomaly_filter": "Health + Break + Anomaly Core",
|
||||||
@@ -219,9 +213,11 @@
|
|||||||
"in_lobby": "In Lobby",
|
"in_lobby": "In Lobby",
|
||||||
"in_training_area": "In Training Area",
|
"in_training_area": "In Training Area",
|
||||||
"include": "Include",
|
"include": "Include",
|
||||||
|
"infinite_buffs_location": "Infinite Buffs Location",
|
||||||
"inside": "Inside",
|
"inside": "Inside",
|
||||||
"installations": "Installations",
|
"installations": "Installations",
|
||||||
"italic": "Italic",
|
"italic": "Italic",
|
||||||
|
"item_buffs": "Item Buffs",
|
||||||
"join_time": "Join Time",
|
"join_time": "Join Time",
|
||||||
"killcam": "Killcam",
|
"killcam": "Killcam",
|
||||||
"kunai": "Kunai",
|
"kunai": "Kunai",
|
||||||
@@ -245,8 +241,10 @@
|
|||||||
"max_monster_updates_per_tick": "Max Monster Updates per Tick",
|
"max_monster_updates_per_tick": "Max Monster Updates per Tick",
|
||||||
"max_value": "Max Value",
|
"max_value": "Max Value",
|
||||||
"me": "Me",
|
"me": "Me",
|
||||||
|
"melody_effects": "Melody Effects",
|
||||||
"menu_font": "Menu Font",
|
"menu_font": "Menu Font",
|
||||||
"menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!",
|
"menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!",
|
||||||
|
"misc_buffs": "Misc Buffs",
|
||||||
"mod_name": "MHR Overlay",
|
"mod_name": "MHR Overlay",
|
||||||
"mode": "Mode",
|
"mode": "Mode",
|
||||||
"modifiers": "Modifiers",
|
"modifiers": "Modifiers",
|
||||||
@@ -272,6 +270,7 @@
|
|||||||
"other": "Other",
|
"other": "Other",
|
||||||
"other_player_otomos": "Other Player Buddies",
|
"other_player_otomos": "Other Player Buddies",
|
||||||
"other_players": "Other Players",
|
"other_players": "Other Players",
|
||||||
|
"otomo_moves": "Buddy Moves",
|
||||||
"otomos": "Buddies",
|
"otomos": "Buddies",
|
||||||
"outline": "Outline",
|
"outline": "Outline",
|
||||||
"outside": "Outside",
|
"outside": "Outside",
|
||||||
@@ -295,6 +294,7 @@
|
|||||||
"quest_start_animation": "Quest Start Animation",
|
"quest_start_animation": "Quest Start Animation",
|
||||||
"quest_time": "Quest Time",
|
"quest_time": "Quest Time",
|
||||||
"rage": "Rage",
|
"rage": "Rage",
|
||||||
|
"rampage_skills": "Rampage Skills",
|
||||||
"reframework_outdated": "Installed REFramework version is outdated. Please, update. Otherwise, MHR Overlay won't work correctly.",
|
"reframework_outdated": "Installed REFramework version is outdated. Please, update. Otherwise, MHR Overlay won't work correctly.",
|
||||||
"relative_offset": "Relative Offset",
|
"relative_offset": "Relative Offset",
|
||||||
"rename": "Rename",
|
"rename": "Rename",
|
||||||
@@ -317,6 +317,7 @@
|
|||||||
"show_other_player_otomos_separately": "Show Other Player Buddies separately",
|
"show_other_player_otomos_separately": "Show Other Player Buddies separately",
|
||||||
"show_servant_otomos_separately": "Show Follower Buddies separately",
|
"show_servant_otomos_separately": "Show Follower Buddies separately",
|
||||||
"size": "Size",
|
"size": "Size",
|
||||||
|
"skills": "Skills",
|
||||||
"small_monster_UI": "Small Monster UI",
|
"small_monster_UI": "Small Monster UI",
|
||||||
"small_monsters": "Small Monsters",
|
"small_monsters": "Small Monsters",
|
||||||
"sorting": "Sorting",
|
"sorting": "Sorting",
|
||||||
@@ -339,6 +340,7 @@
|
|||||||
"time_label": "Time Label",
|
"time_label": "Time Label",
|
||||||
"time_limit": "Time Limit (seconds)",
|
"time_limit": "Time Limit (seconds)",
|
||||||
"timer": "Timer",
|
"timer": "Timer",
|
||||||
|
"timer_delays": "Timer Delays",
|
||||||
"timer_label": "Timer Label",
|
"timer_label": "Timer Label",
|
||||||
"top_buildup": "Top Buildup",
|
"top_buildup": "Top Buildup",
|
||||||
"top_damage": "Top Damage",
|
"top_damage": "Top Damage",
|
||||||
@@ -361,6 +363,14 @@
|
|||||||
"tracked_damage_types": "Tracked Damage Types",
|
"tracked_damage_types": "Tracked Damage Types",
|
||||||
"tracked_monster_types": "Tracked Monster Types",
|
"tracked_monster_types": "Tracked Monster Types",
|
||||||
"type": "Type",
|
"type": "Type",
|
||||||
|
"update_buffs_delay": "Update Buffs (seconds)",
|
||||||
|
"update_is_online_delay": "Update Is Online (seconds)",
|
||||||
|
"update_myself_position_delay": "Update Myself Position (seconds)",
|
||||||
|
"update_player_info_delay": "Update Player Info (seconds)",
|
||||||
|
"update_players_delay": "Update Players (seconds)",
|
||||||
|
"update_quest_time_delay": "Update Quest Time (seconds)",
|
||||||
|
"update_singletons_delay": "Update Singletons (seconds)",
|
||||||
|
"update_window_size_delay": "Update Window Size (seconds)",
|
||||||
"use_d2d_if_available": "Use Direct2D if available",
|
"use_d2d_if_available": "Use Direct2D if available",
|
||||||
"value": "Value",
|
"value": "Value",
|
||||||
"value_label": "Value Label",
|
"value_label": "Value Label",
|
||||||
@@ -368,6 +378,7 @@
|
|||||||
"viewport_offset": "Viewport Offset",
|
"viewport_offset": "Viewport Offset",
|
||||||
"visible": "Visible",
|
"visible": "Visible",
|
||||||
"water_resistance_label": "Water Resistance Label",
|
"water_resistance_label": "Water Resistance Label",
|
||||||
|
"weapon_skills": "Weapon Skills",
|
||||||
"width": "Width",
|
"width": "Width",
|
||||||
"world_offset": "World Offset",
|
"world_offset": "World Offset",
|
||||||
"wyvern_riding": "Wyvern Riding",
|
"wyvern_riding": "Wyvern Riding",
|
||||||
@@ -375,52 +386,46 @@
|
|||||||
"y": "Y",
|
"y": "Y",
|
||||||
"z": "Z"
|
"z": "Z"
|
||||||
},
|
},
|
||||||
"dangos": {
|
"dango_skills": {
|
||||||
"dango_adrenaline": "Dango Adrenaline",
|
"dango_adrenaline": "Dango Adrenaline",
|
||||||
"dango_bombardier": "Dango Bombardier",
|
|
||||||
"dango_booster": "Dango Booster",
|
"dango_booster": "Dango Booster",
|
||||||
"dango_bulker": "Dango Bulker",
|
"dango_bulker": "Dango Bulker",
|
||||||
"dango_connector": "Dango Connector",
|
"dango_connector": "Dango Connector",
|
||||||
"dango_defender": "Dango Defender",
|
"dango_defender": "Dango Defender",
|
||||||
"dango_defender_hi": "Dango Defender (Hi)",
|
|
||||||
"dango_deflector": "Dango Deflector",
|
|
||||||
"dango_dragon_res": "Dango Dragon Res",
|
|
||||||
"dango_dragon_res_hi": "Dango Dragon Res (Hi)",
|
|
||||||
"dango_driver": "Dango Driver",
|
|
||||||
"dango_feet": "Dango Feet",
|
|
||||||
"dango_fighter": "Dango Fighter",
|
|
||||||
"dango_fire_res": "Dango Fire Res",
|
|
||||||
"dango_fire_res_hi": "Dango Fire Res (Hi)",
|
|
||||||
"dango_flyer": "Dango Flyer",
|
"dango_flyer": "Dango Flyer",
|
||||||
"dango_glutton": "Dango Glutton",
|
"dango_glutton": "Dango Glutton",
|
||||||
"dango_guard": "Dango Guard",
|
|
||||||
"dango_hunter": "Dango Hunter",
|
"dango_hunter": "Dango Hunter",
|
||||||
"dango_hurler": "Dango Hurler",
|
|
||||||
"dango_ice_res": "Dango Ice Res",
|
|
||||||
"dango_ice_res_hi": "Dango Ice Res (Hi)",
|
|
||||||
"dango_immunizer": "Dango Immunizer",
|
|
||||||
"dango_insurance": "Dango Insurance",
|
"dango_insurance": "Dango Insurance",
|
||||||
"dango_marksman": "Dango Marksman",
|
"dango_insurance_defense_up": "Dango Insurance Defense Up",
|
||||||
"dango_medic": "Dango Medic",
|
|
||||||
"dango_medic_hi": "Dango Medic (Hi)",
|
|
||||||
"dango_moxie": "Dango Moxie",
|
|
||||||
"dango_polisher": "Dango Polisher",
|
|
||||||
"dango_pyro": "Dango Pyro",
|
|
||||||
"dango_reviver": "Dango Reviver",
|
|
||||||
"dango_rider": "Dango Rider",
|
|
||||||
"dango_shifter": "Dango Shifter",
|
|
||||||
"dango_slugger": "Dango Slugger",
|
|
||||||
"dango_specialist": "Dango Specialist",
|
|
||||||
"dango_temper": "Dango Temper",
|
|
||||||
"dango_thunder_res": "Dango Thunder Res ",
|
|
||||||
"dango_thunder_res_hi": "Dango Thunder Res (Hi)",
|
|
||||||
"dango_wall_runner": "Dango Wall Runner",
|
|
||||||
"dango_water_res": "Dango Water Res",
|
|
||||||
"dango_water_res_hi": "Dango Water Res (Hi)",
|
|
||||||
"dango_weakener": "Dango Weakener",
|
|
||||||
"super_recovery_dango": "Super Recovery Dango"
|
"super_recovery_dango": "Super Recovery Dango"
|
||||||
},
|
},
|
||||||
"font_name": "",
|
"endemic_life": {
|
||||||
|
"butterflame": "Butterflame",
|
||||||
|
"clothfly": "Clothfly",
|
||||||
|
"cutterfly": "Cutterfly",
|
||||||
|
"gold_wirebug": "Gold Wirebug",
|
||||||
|
"peepersects": "Peepersects",
|
||||||
|
"red_lampsquid": "Red Lampsquid",
|
||||||
|
"ruby_wirebug": "Ruby Wirebug",
|
||||||
|
"stinkmink": "Stinkmink",
|
||||||
|
"yellow_lampsquid": "Yellow Lampsquid"
|
||||||
|
},
|
||||||
|
"font_name": "NotoSans-Bold.otf",
|
||||||
|
"item_buffs": {
|
||||||
|
"adamant_seed": "Adamant Seed",
|
||||||
|
"armor_ammo": "Armor Ammo",
|
||||||
|
"armorskin": "Armorskin",
|
||||||
|
"dash_juice": "Dash Juice",
|
||||||
|
"demon_ammo": "Demon Ammo",
|
||||||
|
"demon_powder": "Demon Powder",
|
||||||
|
"demondrug": "Demondrug",
|
||||||
|
"gourmet_fish": "Gourmet Fish",
|
||||||
|
"hardshell_powder": "Hardshell Powder",
|
||||||
|
"immunizer": "Immunizer",
|
||||||
|
"mega_armorskin": "Mega Armorskin",
|
||||||
|
"mega_demondrug": "Mega Demondrug",
|
||||||
|
"might_seed": "Might Seed"
|
||||||
|
},
|
||||||
"melody_effects": {
|
"melody_effects": {
|
||||||
"affinity_up": "Affinity Up",
|
"affinity_up": "Affinity Up",
|
||||||
"attack_and_affinity_up": "Attack and Affinity Up",
|
"attack_and_affinity_up": "Attack and Affinity Up",
|
||||||
@@ -451,10 +456,18 @@
|
|||||||
"tremors_negated": "Tremors Negated",
|
"tremors_negated": "Tremors Negated",
|
||||||
"wind_pressure_negated": "Wind Pressure Negated"
|
"wind_pressure_negated": "Wind Pressure Negated"
|
||||||
},
|
},
|
||||||
|
"misc_buffs": {
|
||||||
|
"attack_up": "Attack Up",
|
||||||
|
"defense_up": "Defense Up",
|
||||||
|
"immunity": "Immunity",
|
||||||
|
"natural_healing_up": "Natural Healing Up",
|
||||||
|
"stamina_use_down": "Stamina Use Down"
|
||||||
|
},
|
||||||
"otomo_moves": {
|
"otomo_moves": {
|
||||||
"go_fight_win": "Go, Fight, Win",
|
"go_fight_win": "Go, Fight, Win",
|
||||||
"power_drum": "Power Drum",
|
"power_drum": "Power Drum",
|
||||||
"rousing_roar": "Rousing Roar"
|
"rousing_roar": "Rousing Roar",
|
||||||
|
"vase_of_vitality": "Vase of Vitality"
|
||||||
},
|
},
|
||||||
"parts": {
|
"parts": {
|
||||||
"abdomen": "Abdomen",
|
"abdomen": "Abdomen",
|
||||||
@@ -525,32 +538,47 @@
|
|||||||
"wingclaws": "Wingclaws",
|
"wingclaws": "Wingclaws",
|
||||||
"wings": "Wings"
|
"wings": "Wings"
|
||||||
},
|
},
|
||||||
|
"rampage_skills": {
|
||||||
|
"chameleos_soul": "Chameleos Soul",
|
||||||
|
"kushala_daora_soul": "Kushala Daora Soul"
|
||||||
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"adrenaline_rush": "Adrenaline Rush",
|
"adrenaline_rush": "Adrenaline Rush",
|
||||||
"affinity_sliding": "Affinity Sliding",
|
"affinity_sliding": "Affinity Sliding",
|
||||||
"agitator": "Agitator",
|
"agitator": "Agitator",
|
||||||
|
"berserk": "Berserk",
|
||||||
|
"bladescale_hone": "Bladescale Hone",
|
||||||
|
"blood_awakening": "Blood Awakening",
|
||||||
"bloodlust": "Bloodlust",
|
"bloodlust": "Bloodlust",
|
||||||
"burst": "Burst",
|
"burst": "Burst",
|
||||||
"coalescence": "Coalescence",
|
"coalescence": "Coalescence",
|
||||||
"counterstrike": "Counterstrike",
|
"counterstrike": "Counterstrike",
|
||||||
"dereliction": "Dereliction",
|
"dereliction": "Dereliction",
|
||||||
|
"dragon_conversion_elemental_attack_up": "Dragon Conversion: Elem. Atk Up",
|
||||||
|
"dragon_conversion_elemental_res_up": "Dragon Conversion: Elem. Res Up",
|
||||||
"dragonheart": "Dragonheart",
|
"dragonheart": "Dragonheart",
|
||||||
|
"embolden": "Embolden",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"frenzied_bloodlust": "Frenzied Bloodlust",
|
||||||
"furious": "Furious",
|
"furious": "Furious",
|
||||||
"grinder_s": "Grinder (S)",
|
"grinder_s": "Grinder (S)",
|
||||||
"heaven_sent": "Heaven-Sent",
|
"heaven_sent": "Heaven-Sent",
|
||||||
"hellfire_cloak": "Hellfire Cloak",
|
"hellfire_cloak": "Hellfire Cloak",
|
||||||
"heroics": "Heroics",
|
"heroics": "Heroics",
|
||||||
|
"inspiration": "Inspiration",
|
||||||
"intrepid_heart": "Intrepid Heart",
|
"intrepid_heart": "Intrepid Heart",
|
||||||
"kushala_daora_soul": "Kushala Daora Soul",
|
|
||||||
"latent_power": "Latent Power",
|
"latent_power": "Latent Power",
|
||||||
"maximum_might": "Maximum Might",
|
"maximum_might": "Maximum Might",
|
||||||
"offensive_guard": "Offensive Guard",
|
"offensive_guard": "Offensive Guard",
|
||||||
|
"partbreaker": "Partbreaker",
|
||||||
"peak_performance": "Peak Performance",
|
"peak_performance": "Peak Performance",
|
||||||
|
"powder_mantle_blue": "Powder Mantle (Blue)",
|
||||||
|
"powder_mantle_red": "Powder Mantle (Red)",
|
||||||
"protective_polish": "Protective Polish",
|
"protective_polish": "Protective Polish",
|
||||||
"resentment": "Resentment",
|
"resentment": "Resentment",
|
||||||
"resuscitate": "Resuscitate",
|
"resuscitate": "Resuscitate",
|
||||||
|
"spiribirds_call": "Spiribird's Call",
|
||||||
"status_trigger": "Status Trigger",
|
"status_trigger": "Status Trigger",
|
||||||
|
"strife": "Strife",
|
||||||
"wall_runner": "Wall Runner",
|
"wall_runner": "Wall Runner",
|
||||||
"wind_mantle": "Wind Mantle"
|
"wind_mantle": "Wind Mantle"
|
||||||
},
|
},
|
||||||
@@ -571,15 +599,102 @@
|
|||||||
"water_resistance": "Water Res"
|
"water_resistance": "Water Res"
|
||||||
},
|
},
|
||||||
"unicode_glyph_ranges": [
|
"unicode_glyph_ranges": [
|
||||||
|
32,
|
||||||
|
255,
|
||||||
|
256,
|
||||||
|
591,
|
||||||
|
1024,
|
||||||
|
1327,
|
||||||
|
7680,
|
||||||
|
7935,
|
||||||
|
8192,
|
||||||
|
8303,
|
||||||
|
65280,
|
||||||
|
65519,
|
||||||
0
|
0
|
||||||
],
|
],
|
||||||
"weapon_skills": {
|
"weapon_skills": {
|
||||||
|
"bow": {
|
||||||
|
"arc_shot_affinity": "Arc Shot: Affinity",
|
||||||
|
"arc_shot_brace": "Arc Shot: Brace",
|
||||||
|
"bolt_boost": "Bolt Boost",
|
||||||
|
"herculean_draw": "Herculean Draw"
|
||||||
|
},
|
||||||
|
"charge_blade": {
|
||||||
|
"element_boost": "Element Boost",
|
||||||
|
"sword_boost_mode": "Sword Boost Mode"
|
||||||
|
},
|
||||||
|
"dual_blades": {
|
||||||
|
"archdemon_mode": "Archdemon Mode",
|
||||||
|
"ironshine_silk": "Ironshine Silk"
|
||||||
|
},
|
||||||
|
"great_sword": {
|
||||||
|
"power_sheathe": "Power Sheathe"
|
||||||
|
},
|
||||||
|
"gunlance": {
|
||||||
|
"erupting_cannon": "Erupting Cannon",
|
||||||
|
"ground_splitter": "Ground Splitter"
|
||||||
|
},
|
||||||
|
"hammer": {
|
||||||
|
"impact_burst": "Impact Burst"
|
||||||
|
},
|
||||||
|
"heavy_bowgun": {
|
||||||
|
"counter_charger": "Counter Charger",
|
||||||
|
"overheat": "Overheat",
|
||||||
|
"rising_moon": "Rising Moon",
|
||||||
|
"setting_sun": "Setting Sun",
|
||||||
|
"wyvernsnipe_reload": "Wyvernsnipe Reload"
|
||||||
|
},
|
||||||
|
"hunting_horn": {
|
||||||
|
"bead_of_resonance": "Bead of Resonance",
|
||||||
|
"silkbind_shockwave": "Silkbind Shockwave",
|
||||||
|
"sonic_bloom": "Sonic Bloom"
|
||||||
|
},
|
||||||
|
"insect_glaive": {
|
||||||
|
"all_extracts_mix": "All Extracts Mix",
|
||||||
|
"orange_extract": "Orange Extract",
|
||||||
|
"red_extract": "Red Extract",
|
||||||
|
"white_extract": "White Extract"
|
||||||
|
},
|
||||||
|
"lance": {
|
||||||
|
"anchor_rage": "Anchor Rage",
|
||||||
|
"spiral_thrust": "Spiral Thrust",
|
||||||
|
"twin_wine": "Twin Wine"
|
||||||
|
},
|
||||||
|
"light_bowgun": {
|
||||||
|
"fanning_maneuver": "Fanning Maneuver",
|
||||||
|
"wyvernblast_reload": "Wyvernblast Reload"
|
||||||
|
},
|
||||||
|
"long_sword": {
|
||||||
|
"harvest_moon": "Harvest Moon",
|
||||||
|
"iai_slash": "Iai Slash",
|
||||||
|
"soaring_kick": "Soaring Kick",
|
||||||
|
"spirit_gauge": "Spirit Gauge",
|
||||||
|
"spirit_gauge_autofill": "Spirit Gauge Autofill"
|
||||||
|
},
|
||||||
|
"switch_axe": {
|
||||||
"amped_state": "Amped State",
|
"amped_state": "Amped State",
|
||||||
"axe_heavy_slam": "Axe: Heavy Slam",
|
"axe_heavy_slam": "Axe: Heavy Slam",
|
||||||
"harvest_moon": "Harvest Moon",
|
|
||||||
"power_sheathe": "Power Sheathe",
|
|
||||||
"spirit_gauge": "Spirit Gauge",
|
|
||||||
"spirit_gauge_autofill": "Spirit Gauge Autofill",
|
|
||||||
"switch_charger": "Switch Charger"
|
"switch_charger": "Switch Charger"
|
||||||
|
},
|
||||||
|
"sword_and_shield": {
|
||||||
|
"destroyer_oil": "Destroyer Oil"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"weapons": {
|
||||||
|
"bow": "Bow",
|
||||||
|
"charge_blade": "Charge Blade",
|
||||||
|
"dual_blades": "Dual Blades",
|
||||||
|
"great_sword": "Great Sword",
|
||||||
|
"gunlance": "Gunlance",
|
||||||
|
"hammer": "Hammer",
|
||||||
|
"heavy_bowgun": "Heavy Bowgun",
|
||||||
|
"hunting_horn": "Hunting Horn",
|
||||||
|
"insect_glaive": "Insect Glaive",
|
||||||
|
"lance": "Lance",
|
||||||
|
"light_bowgun": "Light Bowgun",
|
||||||
|
"long_sword": "Long Sword",
|
||||||
|
"switch_axe": "Switch Axe",
|
||||||
|
"sword_and_shield": "Sword & Shield"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
"HP": "HP:",
|
"HP": "HP:",
|
||||||
"buildup": "蓄積値:",
|
"buildup": "蓄積値:",
|
||||||
"gold": "金冠",
|
"gold": "金冠",
|
||||||
|
"lv": "",
|
||||||
"mini": "小型",
|
"mini": "小型",
|
||||||
"otomo": "Buddy",
|
"otomo": "Buddy",
|
||||||
"part_anomaly_core": "Anomaly Core",
|
"part_anomaly_core": "Anomaly Core",
|
||||||
@@ -21,7 +22,6 @@
|
|||||||
"blastblight": "Blastblight",
|
"blastblight": "Blastblight",
|
||||||
"bleeding": "Bleeding",
|
"bleeding": "Bleeding",
|
||||||
"bloodblight": "Bloodblight",
|
"bloodblight": "Bloodblight",
|
||||||
"bubbleblight": "Bubbleblight",
|
|
||||||
"deadly_poison": "Deadly Poison",
|
"deadly_poison": "Deadly Poison",
|
||||||
"defense_down": "Defense Down",
|
"defense_down": "Defense Down",
|
||||||
"dragonblight": "Dragonblight",
|
"dragonblight": "Dragonblight",
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
"exhaust": "疲労",
|
"exhaust": "疲労",
|
||||||
"fall_otomo_trap": "オトモ落とし穴",
|
"fall_otomo_trap": "オトモ落とし穴",
|
||||||
"fall_trap": "落とし穴",
|
"fall_trap": "落とし穴",
|
||||||
|
"falling_asleep": "Falling Asleep",
|
||||||
"fireblight": "火属性やられ",
|
"fireblight": "火属性やられ",
|
||||||
"flash": "目くらまし",
|
"flash": "目くらまし",
|
||||||
"frenzy": "Frenzy",
|
"frenzy": "Frenzy",
|
||||||
@@ -60,22 +61,10 @@
|
|||||||
"waterblight": "水属性やられ",
|
"waterblight": "水属性やられ",
|
||||||
"webbed": "Webbed"
|
"webbed": "Webbed"
|
||||||
},
|
},
|
||||||
"consumables": {
|
|
||||||
"adamant_seed": "Adamant Seed",
|
|
||||||
"armorskin": "Armorskin",
|
|
||||||
"dash_juice": "Dash Juice",
|
|
||||||
"demon_powder": "Demon Powder",
|
|
||||||
"demondrug": "Demondrug",
|
|
||||||
"gourmet_fish": "Gourmet Fish",
|
|
||||||
"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": "フォントの変更後はスクリプトリセットを行ってください。",
|
||||||
|
"abnormal_statuses": "Abnormal Statuses",
|
||||||
"activation_count": "適用までのカウント",
|
"activation_count": "適用までのカウント",
|
||||||
"affinity_label": "Affinity Label",
|
"affinity_label": "Affinity Label",
|
||||||
"ailment_buildups": "状態異常の蓄積値",
|
"ailment_buildups": "状態異常の蓄積値",
|
||||||
@@ -138,6 +127,7 @@
|
|||||||
"damage_meter_UI": "ダメージメーターUI",
|
"damage_meter_UI": "ダメージメーターUI",
|
||||||
"damage_percentage_label": "ダメージ割合(%)ラベル",
|
"damage_percentage_label": "ダメージ割合(%)ラベル",
|
||||||
"damage_value_label": "ダメージラベル",
|
"damage_value_label": "ダメージラベル",
|
||||||
|
"dango_skills": "Dango Skills",
|
||||||
"debug": "Debug",
|
"debug": "Debug",
|
||||||
"default_state": "Default State",
|
"default_state": "Default State",
|
||||||
"defense_label": "Defense Label",
|
"defense_label": "Defense Label",
|
||||||
@@ -151,12 +141,14 @@
|
|||||||
"duration": "Duration",
|
"duration": "Duration",
|
||||||
"dynamic_positioning": "動的な場所",
|
"dynamic_positioning": "動的な場所",
|
||||||
"dynamically_positioned": "モンスターに追随して表示",
|
"dynamically_positioned": "モンスターに追随して表示",
|
||||||
|
"effect_level": "Effect Level",
|
||||||
"element_2_label": "Element 2 Label",
|
"element_2_label": "Element 2 Label",
|
||||||
"element_label": "Element Label",
|
"element_label": "Element Label",
|
||||||
"enable_for": "有効にする",
|
"enable_for": "有効にする",
|
||||||
"enabled": "有効",
|
"enabled": "有効",
|
||||||
"endemic_life": "Endemic Life",
|
"endemic_life": "Endemic Life",
|
||||||
"endemic_life_UI": "環境生物UI",
|
"endemic_life_UI": "環境生物UI",
|
||||||
|
"endemic_life_buffs": "Endemic Life Buffs",
|
||||||
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
||||||
"family": "Family",
|
"family": "Family",
|
||||||
"farthest": "Farthest",
|
"farthest": "Farthest",
|
||||||
@@ -173,6 +165,7 @@
|
|||||||
"global_position_modifier": "全体的な位置の調整",
|
"global_position_modifier": "全体的な位置の調整",
|
||||||
"global_scale_modifier": "全体的なスケールの調整",
|
"global_scale_modifier": "全体的なスケールの調整",
|
||||||
"global_settings": "全体設定",
|
"global_settings": "全体設定",
|
||||||
|
"head_tracking": "Head Tracking",
|
||||||
"health": "体力",
|
"health": "体力",
|
||||||
"health_anomaly_filter": "Health + Anomaly Core",
|
"health_anomaly_filter": "Health + Anomaly Core",
|
||||||
"health_break_anomaly_filter": "Health + Break + Anomaly Core",
|
"health_break_anomaly_filter": "Health + Break + Anomaly Core",
|
||||||
@@ -220,9 +213,11 @@
|
|||||||
"in_lobby": "In Lobby",
|
"in_lobby": "In Lobby",
|
||||||
"in_training_area": "In Training Area",
|
"in_training_area": "In Training Area",
|
||||||
"include": "含める情報",
|
"include": "含める情報",
|
||||||
|
"infinite_buffs_location": "Infinite Buffs Location",
|
||||||
"inside": "Inside",
|
"inside": "Inside",
|
||||||
"installations": "Installations",
|
"installations": "Installations",
|
||||||
"italic": "イタリック",
|
"italic": "イタリック",
|
||||||
|
"item_buffs": "Item Buffs",
|
||||||
"join_time": "参加時間",
|
"join_time": "参加時間",
|
||||||
"killcam": "Killcam",
|
"killcam": "Killcam",
|
||||||
"kunai": "Kunai",
|
"kunai": "Kunai",
|
||||||
@@ -246,8 +241,10 @@
|
|||||||
"max_monster_updates_per_tick": "モンスター情報をアップデートする間隔",
|
"max_monster_updates_per_tick": "モンスター情報をアップデートする間隔",
|
||||||
"max_value": "Max Value",
|
"max_value": "Max Value",
|
||||||
"me": "自分",
|
"me": "自分",
|
||||||
|
"melody_effects": "Melody Effects",
|
||||||
"menu_font": "メニューで使うフォント",
|
"menu_font": "メニューで使うフォント",
|
||||||
"menu_font_change_disclaimer": "言語とメニューのフォントサイズを何度も変更すると、クラッシュが発生します。",
|
"menu_font_change_disclaimer": "言語とメニューのフォントサイズを何度も変更すると、クラッシュが発生します。",
|
||||||
|
"misc_buffs": "Misc Buffs",
|
||||||
"mod_name": "MHR Overlay",
|
"mod_name": "MHR Overlay",
|
||||||
"mode": "Mode",
|
"mode": "Mode",
|
||||||
"modifiers": "全体的な調整",
|
"modifiers": "全体的な調整",
|
||||||
@@ -273,6 +270,7 @@
|
|||||||
"other": "Other",
|
"other": "Other",
|
||||||
"other_player_otomos": "Other Player Buddies",
|
"other_player_otomos": "Other Player Buddies",
|
||||||
"other_players": "他のプレイヤー",
|
"other_players": "他のプレイヤー",
|
||||||
|
"otomo_moves": "Buddy Moves",
|
||||||
"otomos": "Buddies",
|
"otomos": "Buddies",
|
||||||
"outline": "Outline",
|
"outline": "Outline",
|
||||||
"outside": "Outside",
|
"outside": "Outside",
|
||||||
@@ -296,6 +294,7 @@
|
|||||||
"quest_start_animation": "Quest Start Animation",
|
"quest_start_animation": "Quest Start Animation",
|
||||||
"quest_time": "クエスト時間",
|
"quest_time": "クエスト時間",
|
||||||
"rage": "怒り値",
|
"rage": "怒り値",
|
||||||
|
"rampage_skills": "Rampage Skills",
|
||||||
"reframework_outdated": "Installed REFramework version is outdated. Please, update. Otherwise, MHR Overlay won't work correctly.",
|
"reframework_outdated": "Installed REFramework version is outdated. Please, update. Otherwise, MHR Overlay won't work correctly.",
|
||||||
"relative_offset": "相対的な表示位置",
|
"relative_offset": "相対的な表示位置",
|
||||||
"rename": "Rename",
|
"rename": "Rename",
|
||||||
@@ -318,6 +317,7 @@
|
|||||||
"show_other_player_otomos_separately": "Show Other Player Buddies separately",
|
"show_other_player_otomos_separately": "Show Other Player Buddies separately",
|
||||||
"show_servant_otomos_separately": "Show Follower Buddies separately",
|
"show_servant_otomos_separately": "Show Follower Buddies separately",
|
||||||
"size": "サイズ",
|
"size": "サイズ",
|
||||||
|
"skills": "Skills",
|
||||||
"small_monster_UI": "小型モンスターUI",
|
"small_monster_UI": "小型モンスターUI",
|
||||||
"small_monsters": "小型モンスター",
|
"small_monsters": "小型モンスター",
|
||||||
"sorting": "ソート",
|
"sorting": "ソート",
|
||||||
@@ -340,6 +340,7 @@
|
|||||||
"time_label": "タイムラベル",
|
"time_label": "タイムラベル",
|
||||||
"time_limit": "タイムリミット(s.)",
|
"time_limit": "タイムリミット(s.)",
|
||||||
"timer": "Timer",
|
"timer": "Timer",
|
||||||
|
"timer_delays": "Timer Delays",
|
||||||
"timer_label": "タイマーラベル",
|
"timer_label": "タイマーラベル",
|
||||||
"top_buildup": "最高蓄積値",
|
"top_buildup": "最高蓄積値",
|
||||||
"top_damage": "最高ダメージ",
|
"top_damage": "最高ダメージ",
|
||||||
@@ -362,6 +363,14 @@
|
|||||||
"tracked_damage_types": "ダメージタイプでの追跡",
|
"tracked_damage_types": "ダメージタイプでの追跡",
|
||||||
"tracked_monster_types": "モンスタータイプでの追跡",
|
"tracked_monster_types": "モンスタータイプでの追跡",
|
||||||
"type": "タイプ",
|
"type": "タイプ",
|
||||||
|
"update_buffs_delay": "Update Buffs (seconds)",
|
||||||
|
"update_is_online_delay": "Update Is Online (seconds)",
|
||||||
|
"update_myself_position_delay": "Update Myself Position (seconds)",
|
||||||
|
"update_player_info_delay": "Update Player Info (seconds)",
|
||||||
|
"update_players_delay": "Update Players (seconds)",
|
||||||
|
"update_quest_time_delay": "Update Quest Time (seconds)",
|
||||||
|
"update_singletons_delay": "Update Singletons (seconds)",
|
||||||
|
"update_window_size_delay": "Update Window Size (seconds)",
|
||||||
"use_d2d_if_available": "Use Direct2D if available",
|
"use_d2d_if_available": "Use Direct2D if available",
|
||||||
"value": "Value",
|
"value": "Value",
|
||||||
"value_label": "バリューラベル",
|
"value_label": "バリューラベル",
|
||||||
@@ -369,6 +378,7 @@
|
|||||||
"viewport_offset": "表示領域からの位置",
|
"viewport_offset": "表示領域からの位置",
|
||||||
"visible": "表示する",
|
"visible": "表示する",
|
||||||
"water_resistance_label": "Water Resistance Label",
|
"water_resistance_label": "Water Resistance Label",
|
||||||
|
"weapon_skills": "Weapon Skills",
|
||||||
"width": "幅",
|
"width": "幅",
|
||||||
"world_offset": "表示位置",
|
"world_offset": "表示位置",
|
||||||
"wyvern_riding": "Wyvern Riding",
|
"wyvern_riding": "Wyvern Riding",
|
||||||
@@ -376,52 +386,46 @@
|
|||||||
"y": "Y",
|
"y": "Y",
|
||||||
"z": "Z"
|
"z": "Z"
|
||||||
},
|
},
|
||||||
"dangos": {
|
"dango_skills": {
|
||||||
"dango_adrenaline": "Dango Adrenaline",
|
"dango_adrenaline": "Dango Adrenaline",
|
||||||
"dango_bombardier": "Dango Bombardier",
|
|
||||||
"dango_booster": "Dango Booster",
|
"dango_booster": "Dango Booster",
|
||||||
"dango_bulker": "Dango Bulker",
|
"dango_bulker": "Dango Bulker",
|
||||||
"dango_connector": "Dango Connector",
|
"dango_connector": "Dango Connector",
|
||||||
"dango_defender": "Dango Defender",
|
"dango_defender": "Dango Defender",
|
||||||
"dango_defender_hi": "Dango Defender (Hi)",
|
|
||||||
"dango_deflector": "Dango Deflector",
|
|
||||||
"dango_dragon_res": "Dango Dragon Res",
|
|
||||||
"dango_dragon_res_hi": "Dango Dragon Res (Hi)",
|
|
||||||
"dango_driver": "Dango Driver",
|
|
||||||
"dango_feet": "Dango Feet",
|
|
||||||
"dango_fighter": "Dango Fighter",
|
|
||||||
"dango_fire_res": "Dango Fire Res",
|
|
||||||
"dango_fire_res_hi": "Dango Fire Res (Hi)",
|
|
||||||
"dango_flyer": "Dango Flyer",
|
"dango_flyer": "Dango Flyer",
|
||||||
"dango_glutton": "Dango Glutton",
|
"dango_glutton": "Dango Glutton",
|
||||||
"dango_guard": "Dango Guard",
|
|
||||||
"dango_hunter": "Dango Hunter",
|
"dango_hunter": "Dango Hunter",
|
||||||
"dango_hurler": "Dango Hurler",
|
|
||||||
"dango_ice_res": "Dango Ice Res",
|
|
||||||
"dango_ice_res_hi": "Dango Ice Res (Hi)",
|
|
||||||
"dango_immunizer": "Dango Immunizer",
|
|
||||||
"dango_insurance": "Dango Insurance",
|
"dango_insurance": "Dango Insurance",
|
||||||
"dango_marksman": "Dango Marksman",
|
"dango_insurance_defense_up": "Dango Insurance Defense Up",
|
||||||
"dango_medic": "Dango Medic",
|
|
||||||
"dango_medic_hi": "Dango Medic (Hi)",
|
|
||||||
"dango_moxie": "Dango Moxie",
|
|
||||||
"dango_polisher": "Dango Polisher",
|
|
||||||
"dango_pyro": "Dango Pyro",
|
|
||||||
"dango_reviver": "Dango Reviver",
|
|
||||||
"dango_rider": "Dango Rider",
|
|
||||||
"dango_shifter": "Dango Shifter",
|
|
||||||
"dango_slugger": "Dango Slugger",
|
|
||||||
"dango_specialist": "Dango Specialist",
|
|
||||||
"dango_temper": "Dango Temper",
|
|
||||||
"dango_thunder_res": "Dango Thunder Res ",
|
|
||||||
"dango_thunder_res_hi": "Dango Thunder Res (Hi)",
|
|
||||||
"dango_wall_runner": "Dango Wall Runner",
|
|
||||||
"dango_water_res": "Dango Water Res",
|
|
||||||
"dango_water_res_hi": "Dango Water Res (Hi)",
|
|
||||||
"dango_weakener": "Dango Weakener",
|
|
||||||
"super_recovery_dango": "Super Recovery Dango"
|
"super_recovery_dango": "Super Recovery Dango"
|
||||||
},
|
},
|
||||||
|
"endemic_life": {
|
||||||
|
"butterflame": "Butterflame",
|
||||||
|
"clothfly": "Clothfly",
|
||||||
|
"cutterfly": "Cutterfly",
|
||||||
|
"gold_wirebug": "Gold Wirebug",
|
||||||
|
"peepersects": "Peepersects",
|
||||||
|
"red_lampsquid": "Red Lampsquid",
|
||||||
|
"ruby_wirebug": "Ruby Wirebug",
|
||||||
|
"stinkmink": "Stinkmink",
|
||||||
|
"yellow_lampsquid": "Yellow Lampsquid"
|
||||||
|
},
|
||||||
"font_name": "NotoSansJP-Bold.otf",
|
"font_name": "NotoSansJP-Bold.otf",
|
||||||
|
"item_buffs": {
|
||||||
|
"adamant_seed": "Adamant Seed",
|
||||||
|
"armor_ammo": "Armor Ammo",
|
||||||
|
"armorskin": "Armorskin",
|
||||||
|
"dash_juice": "Dash Juice",
|
||||||
|
"demon_ammo": "Demon Ammo",
|
||||||
|
"demon_powder": "Demon Powder",
|
||||||
|
"demondrug": "Demondrug",
|
||||||
|
"gourmet_fish": "Gourmet Fish",
|
||||||
|
"hardshell_powder": "Hardshell Powder",
|
||||||
|
"immunizer": "Immunizer",
|
||||||
|
"mega_armorskin": "Mega Armorskin",
|
||||||
|
"mega_demondrug": "Mega Demondrug",
|
||||||
|
"might_seed": "Might Seed"
|
||||||
|
},
|
||||||
"melody_effects": {
|
"melody_effects": {
|
||||||
"affinity_up": "Affinity Up",
|
"affinity_up": "Affinity Up",
|
||||||
"attack_and_affinity_up": "Attack and Affinity Up",
|
"attack_and_affinity_up": "Attack and Affinity Up",
|
||||||
@@ -452,10 +456,18 @@
|
|||||||
"tremors_negated": "Tremors Negated",
|
"tremors_negated": "Tremors Negated",
|
||||||
"wind_pressure_negated": "Wind Pressure Negated"
|
"wind_pressure_negated": "Wind Pressure Negated"
|
||||||
},
|
},
|
||||||
|
"misc_buffs": {
|
||||||
|
"attack_up": "Attack Up",
|
||||||
|
"defense_up": "Defense Up",
|
||||||
|
"immunity": "Immunity",
|
||||||
|
"natural_healing_up": "Natural Healing Up",
|
||||||
|
"stamina_use_down": "Stamina Use Down"
|
||||||
|
},
|
||||||
"otomo_moves": {
|
"otomo_moves": {
|
||||||
"go_fight_win": "Go, Fight, Win",
|
"go_fight_win": "Go, Fight, Win",
|
||||||
"power_drum": "Power Drum",
|
"power_drum": "Power Drum",
|
||||||
"rousing_roar": "Rousing Roar"
|
"rousing_roar": "Rousing Roar",
|
||||||
|
"vase_of_vitality": "Vase of Vitality"
|
||||||
},
|
},
|
||||||
"parts": {
|
"parts": {
|
||||||
"abdomen": "腹部",
|
"abdomen": "腹部",
|
||||||
@@ -526,32 +538,47 @@
|
|||||||
"wingclaws": "Wingclaws",
|
"wingclaws": "Wingclaws",
|
||||||
"wings": "翼"
|
"wings": "翼"
|
||||||
},
|
},
|
||||||
|
"rampage_skills": {
|
||||||
|
"chameleos_soul": "Chameleos Soul",
|
||||||
|
"kushala_daora_soul": "Kushala Daora Soul"
|
||||||
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"adrenaline_rush": "Adrenaline Rush",
|
"adrenaline_rush": "Adrenaline Rush",
|
||||||
"affinity_sliding": "Affinity Sliding",
|
"affinity_sliding": "Affinity Sliding",
|
||||||
"agitator": "Agitator",
|
"agitator": "Agitator",
|
||||||
|
"berserk": "Berserk",
|
||||||
|
"bladescale_hone": "Bladescale Hone",
|
||||||
|
"blood_awakening": "Blood Awakening",
|
||||||
"bloodlust": "Bloodlust",
|
"bloodlust": "Bloodlust",
|
||||||
"burst": "Burst",
|
"burst": "Burst",
|
||||||
"coalescence": "Coalescence",
|
"coalescence": "Coalescence",
|
||||||
"counterstrike": "Counterstrike",
|
"counterstrike": "Counterstrike",
|
||||||
"dereliction": "Dereliction",
|
"dereliction": "Dereliction",
|
||||||
|
"dragon_conversion_elemental_attack_up": "Dragon Conversion: Elem. Atk Up",
|
||||||
|
"dragon_conversion_elemental_res_up": "Dragon Conversion: Elem. Res Up",
|
||||||
"dragonheart": "Dragonheart",
|
"dragonheart": "Dragonheart",
|
||||||
|
"embolden": "Embolden",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"frenzied_bloodlust": "Frenzied Bloodlust",
|
||||||
"furious": "Furious",
|
"furious": "Furious",
|
||||||
"grinder_s": "Grinder (S)",
|
"grinder_s": "Grinder (S)",
|
||||||
"heaven_sent": "Heaven-Sent",
|
"heaven_sent": "Heaven-Sent",
|
||||||
"hellfire_cloak": "Hellfire Cloak",
|
"hellfire_cloak": "Hellfire Cloak",
|
||||||
"heroics": "Heroics",
|
"heroics": "Heroics",
|
||||||
|
"inspiration": "Inspiration",
|
||||||
"intrepid_heart": "Intrepid Heart",
|
"intrepid_heart": "Intrepid Heart",
|
||||||
"kushala_daora_soul": "Kushala Daora Soul",
|
|
||||||
"latent_power": "Latent Power",
|
"latent_power": "Latent Power",
|
||||||
"maximum_might": "Maximum Might",
|
"maximum_might": "Maximum Might",
|
||||||
"offensive_guard": "Offensive Guard",
|
"offensive_guard": "Offensive Guard",
|
||||||
|
"partbreaker": "Partbreaker",
|
||||||
"peak_performance": "Peak Performance",
|
"peak_performance": "Peak Performance",
|
||||||
|
"powder_mantle_blue": "Powder Mantle (Blue)",
|
||||||
|
"powder_mantle_red": "Powder Mantle (Red)",
|
||||||
"protective_polish": "Protective Polish",
|
"protective_polish": "Protective Polish",
|
||||||
"resentment": "Resentment",
|
"resentment": "Resentment",
|
||||||
"resuscitate": "Resuscitate",
|
"resuscitate": "Resuscitate",
|
||||||
|
"spiribirds_call": "Spiribird's Call",
|
||||||
"status_trigger": "Status Trigger",
|
"status_trigger": "Status Trigger",
|
||||||
|
"strife": "Strife",
|
||||||
"wall_runner": "Wall Runner",
|
"wall_runner": "Wall Runner",
|
||||||
"wind_mantle": "Wind Mantle"
|
"wind_mantle": "Wind Mantle"
|
||||||
},
|
},
|
||||||
@@ -576,25 +603,104 @@
|
|||||||
255,
|
255,
|
||||||
8192,
|
8192,
|
||||||
8303,
|
8303,
|
||||||
|
11904,
|
||||||
|
12031,
|
||||||
12288,
|
12288,
|
||||||
12543,
|
12543,
|
||||||
12784,
|
12784,
|
||||||
12799,
|
19903,
|
||||||
19968,
|
19968,
|
||||||
40879,
|
40959,
|
||||||
|
63744,
|
||||||
|
64255,
|
||||||
|
65072,
|
||||||
|
65103,
|
||||||
65280,
|
65280,
|
||||||
65519,
|
65519,
|
||||||
0
|
0
|
||||||
],
|
],
|
||||||
"weapon_skills": {
|
"weapon_skills": {
|
||||||
"amped_state": "Amped State",
|
"bow": {
|
||||||
"axe_heavy_slam": "Axe: Heavy Slam",
|
"arc_shot_affinity": "Arc Shot: Affinity",
|
||||||
|
"arc_shot_brace": "Arc Shot: Brace",
|
||||||
|
"bolt_boost": "Bolt Boost",
|
||||||
|
"herculean_draw": "Herculean Draw"
|
||||||
|
},
|
||||||
|
"charge_blade": {
|
||||||
|
"element_boost": "Element Boost",
|
||||||
|
"sword_boost_mode": "Sword Boost Mode"
|
||||||
|
},
|
||||||
|
"dual_blades": {
|
||||||
|
"archdemon_mode": "Archdemon Mode",
|
||||||
|
"ironshine_silk": "Ironshine Silk"
|
||||||
|
},
|
||||||
|
"great_sword": {
|
||||||
|
"power_sheathe": "Power Sheathe"
|
||||||
|
},
|
||||||
|
"gunlance": {
|
||||||
|
"erupting_cannon": "Erupting Cannon",
|
||||||
|
"ground_splitter": "Ground Splitter"
|
||||||
|
},
|
||||||
|
"hammer": {
|
||||||
|
"impact_burst": "Impact Burst"
|
||||||
|
},
|
||||||
|
"heavy_bowgun": {
|
||||||
|
"counter_charger": "Counter Charger",
|
||||||
|
"overheat": "Overheat",
|
||||||
|
"rising_moon": "Rising Moon",
|
||||||
|
"setting_sun": "Setting Sun",
|
||||||
|
"wyvernsnipe_reload": "Wyvernsnipe Reload"
|
||||||
|
},
|
||||||
|
"hunting_horn": {
|
||||||
|
"bead_of_resonance": "Bead of Resonance",
|
||||||
|
"silkbind_shockwave": "Silkbind Shockwave",
|
||||||
|
"sonic_bloom": "Sonic Bloom"
|
||||||
|
},
|
||||||
|
"insect_glaive": {
|
||||||
|
"all_extracts_mix": "All Extracts Mix",
|
||||||
|
"orange_extract": "Orange Extract",
|
||||||
|
"red_extract": "Red Extract",
|
||||||
|
"white_extract": "White Extract"
|
||||||
|
},
|
||||||
|
"lance": {
|
||||||
|
"anchor_rage": "Anchor Rage",
|
||||||
|
"spiral_thrust": "Spiral Thrust",
|
||||||
|
"twin_wine": "Twin Wine"
|
||||||
|
},
|
||||||
|
"light_bowgun": {
|
||||||
|
"fanning_maneuver": "Fanning Maneuver",
|
||||||
|
"wyvernblast_reload": "Wyvernblast Reload"
|
||||||
|
},
|
||||||
|
"long_sword": {
|
||||||
"harvest_moon": "Harvest Moon",
|
"harvest_moon": "Harvest Moon",
|
||||||
"iai_slash": "Iai Slash",
|
"iai_slash": "Iai Slash",
|
||||||
"power_sheathe": "Power Sheathe",
|
|
||||||
"soaring_kick": "Soaring Kick",
|
"soaring_kick": "Soaring Kick",
|
||||||
"spirit_gauge": "Spirit Gauge",
|
"spirit_gauge": "Spirit Gauge",
|
||||||
"spirit_gauge_autofill": "Spirit Gauge Autofill",
|
"spirit_gauge_autofill": "Spirit Gauge Autofill"
|
||||||
|
},
|
||||||
|
"switch_axe": {
|
||||||
|
"amped_state": "Amped State",
|
||||||
|
"axe_heavy_slam": "Axe: Heavy Slam",
|
||||||
"switch_charger": "Switch Charger"
|
"switch_charger": "Switch Charger"
|
||||||
|
},
|
||||||
|
"sword_and_shield": {
|
||||||
|
"destroyer_oil": "Destroyer Oil"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"weapons": {
|
||||||
|
"bow": "Bow",
|
||||||
|
"charge_blade": "Charge Blade",
|
||||||
|
"dual_blades": "Dual Blades",
|
||||||
|
"great_sword": "Great Sword",
|
||||||
|
"gunlance": "Gunlance",
|
||||||
|
"hammer": "Hammer",
|
||||||
|
"heavy_bowgun": "Heavy Bowgun",
|
||||||
|
"hunting_horn": "Hunting Horn",
|
||||||
|
"insect_glaive": "Insect Glaive",
|
||||||
|
"lance": "Lance",
|
||||||
|
"light_bowgun": "Light Bowgun",
|
||||||
|
"long_sword": "Long Sword",
|
||||||
|
"switch_axe": "Switch Axe",
|
||||||
|
"sword_and_shield": "Sword & Shield"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
"HP": "체력:",
|
"HP": "체력:",
|
||||||
"buildup": "누적치:",
|
"buildup": "누적치:",
|
||||||
"gold": "금관",
|
"gold": "금관",
|
||||||
|
"lv": "",
|
||||||
"mini": "최소",
|
"mini": "최소",
|
||||||
"otomo": "동반자",
|
"otomo": "동반자",
|
||||||
"part_anomaly_core": "괴이핵",
|
"part_anomaly_core": "괴이핵",
|
||||||
@@ -21,7 +22,6 @@
|
|||||||
"blastblight": "Blastblight",
|
"blastblight": "Blastblight",
|
||||||
"bleeding": "Bleeding",
|
"bleeding": "Bleeding",
|
||||||
"bloodblight": "Bloodblight",
|
"bloodblight": "Bloodblight",
|
||||||
"bubbleblight": "Bubbleblight",
|
|
||||||
"deadly_poison": "Deadly Poison",
|
"deadly_poison": "Deadly Poison",
|
||||||
"defense_down": "Defense Down",
|
"defense_down": "Defense Down",
|
||||||
"dragonblight": "Dragonblight",
|
"dragonblight": "Dragonblight",
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
"exhaust": "탈진",
|
"exhaust": "탈진",
|
||||||
"fall_otomo_trap": "동반자 구멍 함정",
|
"fall_otomo_trap": "동반자 구멍 함정",
|
||||||
"fall_trap": "구멍 함정",
|
"fall_trap": "구멍 함정",
|
||||||
|
"falling_asleep": "Falling Asleep",
|
||||||
"fireblight": "불바위구리",
|
"fireblight": "불바위구리",
|
||||||
"flash": "섬광",
|
"flash": "섬광",
|
||||||
"frenzy": "Frenzy",
|
"frenzy": "Frenzy",
|
||||||
@@ -60,22 +61,10 @@
|
|||||||
"waterblight": "진흙구리",
|
"waterblight": "진흙구리",
|
||||||
"webbed": "Webbed"
|
"webbed": "Webbed"
|
||||||
},
|
},
|
||||||
"consumables": {
|
|
||||||
"adamant_seed": "Adamant Seed",
|
|
||||||
"armorskin": "Armorskin",
|
|
||||||
"dash_juice": "Dash Juice",
|
|
||||||
"demon_powder": "Demon Powder",
|
|
||||||
"demondrug": "Demondrug",
|
|
||||||
"gourmet_fish": "Gourmet Fish",
|
|
||||||
"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": "글꼴 변경시 스크립트를 리로드 해야합니다!",
|
||||||
|
"abnormal_statuses": "Abnormal Statuses",
|
||||||
"activation_count": "활성 횟수",
|
"activation_count": "활성 횟수",
|
||||||
"affinity_label": "Affinity Label",
|
"affinity_label": "Affinity Label",
|
||||||
"ailment_buildups": "상태이상 누적치",
|
"ailment_buildups": "상태이상 누적치",
|
||||||
@@ -138,8 +127,8 @@
|
|||||||
"damage_meter_UI": "대미지 미터 UI",
|
"damage_meter_UI": "대미지 미터 UI",
|
||||||
"damage_percentage_label": "대미지 비율 정보",
|
"damage_percentage_label": "대미지 비율 정보",
|
||||||
"damage_value_label": "대미지 값 정보",
|
"damage_value_label": "대미지 값 정보",
|
||||||
|
"dango_skills": "Dango Skills",
|
||||||
"debug": "Debug",
|
"debug": "Debug",
|
||||||
"debug_errors": "Debug Errors",
|
|
||||||
"default_state": "기본 상태",
|
"default_state": "기본 상태",
|
||||||
"defense_label": "Defense Label",
|
"defense_label": "Defense Label",
|
||||||
"delete": "삭제하기",
|
"delete": "삭제하기",
|
||||||
@@ -152,12 +141,14 @@
|
|||||||
"duration": "지속시간",
|
"duration": "지속시간",
|
||||||
"dynamic_positioning": "유동 위치",
|
"dynamic_positioning": "유동 위치",
|
||||||
"dynamically_positioned": "유동 위치 UI",
|
"dynamically_positioned": "유동 위치 UI",
|
||||||
|
"effect_level": "Effect Level",
|
||||||
"element_2_label": "Element 2 Label",
|
"element_2_label": "Element 2 Label",
|
||||||
"element_label": "Element Label",
|
"element_label": "Element Label",
|
||||||
"enable_for": "표시 대상",
|
"enable_for": "표시 대상",
|
||||||
"enabled": "사용함",
|
"enabled": "사용함",
|
||||||
"endemic_life": "환경생물",
|
"endemic_life": "환경생물",
|
||||||
"endemic_life_UI": "환경생물 UI",
|
"endemic_life_UI": "환경생물 UI",
|
||||||
|
"endemic_life_buffs": "Endemic Life Buffs",
|
||||||
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
||||||
"family": "글꼴",
|
"family": "글꼴",
|
||||||
"farthest": "가장 멀리있는",
|
"farthest": "가장 멀리있는",
|
||||||
@@ -174,6 +165,7 @@
|
|||||||
"global_position_modifier": "전역 위치 배율",
|
"global_position_modifier": "전역 위치 배율",
|
||||||
"global_scale_modifier": "전역 크기 배율",
|
"global_scale_modifier": "전역 크기 배율",
|
||||||
"global_settings": "전역 설정",
|
"global_settings": "전역 설정",
|
||||||
|
"head_tracking": "Head Tracking",
|
||||||
"health": "체력",
|
"health": "체력",
|
||||||
"health_anomaly_filter": "체력 + 괴이핵",
|
"health_anomaly_filter": "체력 + 괴이핵",
|
||||||
"health_break_anomaly_filter": "체력 + 파괴 + 괴이핵",
|
"health_break_anomaly_filter": "체력 + 파괴 + 괴이핵",
|
||||||
@@ -221,9 +213,11 @@
|
|||||||
"in_lobby": "로비 내",
|
"in_lobby": "로비 내",
|
||||||
"in_training_area": "훈련구역 내",
|
"in_training_area": "훈련구역 내",
|
||||||
"include": "포함",
|
"include": "포함",
|
||||||
|
"infinite_buffs_location": "Infinite Buffs Location",
|
||||||
"inside": "내부",
|
"inside": "내부",
|
||||||
"installations": "설치",
|
"installations": "설치",
|
||||||
"italic": "기울임",
|
"italic": "기울임",
|
||||||
|
"item_buffs": "Item Buffs",
|
||||||
"join_time": "참가 시간",
|
"join_time": "참가 시간",
|
||||||
"killcam": "처치 영상",
|
"killcam": "처치 영상",
|
||||||
"kunai": "쿠나이",
|
"kunai": "쿠나이",
|
||||||
@@ -247,8 +241,10 @@
|
|||||||
"max_monster_updates_per_tick": "틱당 최대 몬스터 갱신 횟수",
|
"max_monster_updates_per_tick": "틱당 최대 몬스터 갱신 횟수",
|
||||||
"max_value": "최대값",
|
"max_value": "최대값",
|
||||||
"me": "나",
|
"me": "나",
|
||||||
|
"melody_effects": "Melody Effects",
|
||||||
"menu_font": "메뉴 글꼴",
|
"menu_font": "메뉴 글꼴",
|
||||||
"menu_font_change_disclaimer": "언어 및 메뉴 글꼴 크기를 여러 번 변경하면 비정상 종료가 될 수 있습니다!",
|
"menu_font_change_disclaimer": "언어 및 메뉴 글꼴 크기를 여러 번 변경하면 비정상 종료가 될 수 있습니다!",
|
||||||
|
"misc_buffs": "Misc Buffs",
|
||||||
"mod_name": "MHR Overlay",
|
"mod_name": "MHR Overlay",
|
||||||
"mode": "모드",
|
"mode": "모드",
|
||||||
"modifiers": "설정 배율",
|
"modifiers": "설정 배율",
|
||||||
@@ -274,6 +270,7 @@
|
|||||||
"other": "기타",
|
"other": "기타",
|
||||||
"other_player_otomos": "다른 플레이어 동반자",
|
"other_player_otomos": "다른 플레이어 동반자",
|
||||||
"other_players": "다른 헌터",
|
"other_players": "다른 헌터",
|
||||||
|
"otomo_moves": "Buddy Moves",
|
||||||
"otomos": "동반자",
|
"otomos": "동반자",
|
||||||
"outline": "외곽선",
|
"outline": "외곽선",
|
||||||
"outside": "외부",
|
"outside": "외부",
|
||||||
@@ -297,6 +294,7 @@
|
|||||||
"quest_start_animation": "퀘스트 시작 영상",
|
"quest_start_animation": "퀘스트 시작 영상",
|
||||||
"quest_time": "퀘스트 시간",
|
"quest_time": "퀘스트 시간",
|
||||||
"rage": "분노",
|
"rage": "분노",
|
||||||
|
"rampage_skills": "Rampage Skills",
|
||||||
"reframework_outdated": "설치된 REFramework가 구버전입니다. 업데이트 하지 않으면 MHR Overlay가 제대로 동작하지 않을 수 있습니다.",
|
"reframework_outdated": "설치된 REFramework가 구버전입니다. 업데이트 하지 않으면 MHR Overlay가 제대로 동작하지 않을 수 있습니다.",
|
||||||
"relative_offset": "상대적 위치 오프셋",
|
"relative_offset": "상대적 위치 오프셋",
|
||||||
"rename": "이름 변경",
|
"rename": "이름 변경",
|
||||||
@@ -319,6 +317,7 @@
|
|||||||
"show_other_player_otomos_separately": "다른 플레이어의 동반자를 따로",
|
"show_other_player_otomos_separately": "다른 플레이어의 동반자를 따로",
|
||||||
"show_servant_otomos_separately": "맹우의 동반자를 따로",
|
"show_servant_otomos_separately": "맹우의 동반자를 따로",
|
||||||
"size": "크기",
|
"size": "크기",
|
||||||
|
"skills": "Skills",
|
||||||
"small_monster_UI": "소형 몬스터 UI",
|
"small_monster_UI": "소형 몬스터 UI",
|
||||||
"small_monsters": "소형 몬스터",
|
"small_monsters": "소형 몬스터",
|
||||||
"sorting": "정렬방법",
|
"sorting": "정렬방법",
|
||||||
@@ -341,6 +340,7 @@
|
|||||||
"time_label": "시간 정보",
|
"time_label": "시간 정보",
|
||||||
"time_limit": "시간 제한 (단위: 초)",
|
"time_limit": "시간 제한 (단위: 초)",
|
||||||
"timer": "타이머",
|
"timer": "타이머",
|
||||||
|
"timer_delays": "Timer Delays",
|
||||||
"timer_label": "타이머 정보",
|
"timer_label": "타이머 정보",
|
||||||
"top_buildup": "총 누적치",
|
"top_buildup": "총 누적치",
|
||||||
"top_damage": "최고 대미지",
|
"top_damage": "최고 대미지",
|
||||||
@@ -363,6 +363,14 @@
|
|||||||
"tracked_damage_types": "추적할 대미지 종류",
|
"tracked_damage_types": "추적할 대미지 종류",
|
||||||
"tracked_monster_types": "추적할 몬스터 타입",
|
"tracked_monster_types": "추적할 몬스터 타입",
|
||||||
"type": "종류",
|
"type": "종류",
|
||||||
|
"update_buffs_delay": "Update Buffs (seconds)",
|
||||||
|
"update_is_online_delay": "Update Is Online (seconds)",
|
||||||
|
"update_myself_position_delay": "Update Myself Position (seconds)",
|
||||||
|
"update_player_info_delay": "Update Player Info (seconds)",
|
||||||
|
"update_players_delay": "Update Players (seconds)",
|
||||||
|
"update_quest_time_delay": "Update Quest Time (seconds)",
|
||||||
|
"update_singletons_delay": "Update Singletons (seconds)",
|
||||||
|
"update_window_size_delay": "Update Window Size (seconds)",
|
||||||
"use_d2d_if_available": "가능한 Direct2D를 사용함",
|
"use_d2d_if_available": "가능한 Direct2D를 사용함",
|
||||||
"value": "Value",
|
"value": "Value",
|
||||||
"value_label": "값 정보",
|
"value_label": "값 정보",
|
||||||
@@ -370,6 +378,7 @@
|
|||||||
"viewport_offset": "뷰포트 오프셋",
|
"viewport_offset": "뷰포트 오프셋",
|
||||||
"visible": "표시함",
|
"visible": "표시함",
|
||||||
"water_resistance_label": "Water Resistance Label",
|
"water_resistance_label": "Water Resistance Label",
|
||||||
|
"weapon_skills": "Weapon Skills",
|
||||||
"width": "너비",
|
"width": "너비",
|
||||||
"world_offset": "전역 오프셋",
|
"world_offset": "전역 오프셋",
|
||||||
"wyvern_riding": "용조종",
|
"wyvern_riding": "용조종",
|
||||||
@@ -377,52 +386,46 @@
|
|||||||
"y": "Y",
|
"y": "Y",
|
||||||
"z": "Z"
|
"z": "Z"
|
||||||
},
|
},
|
||||||
"dangos": {
|
"dango_skills": {
|
||||||
"dango_adrenaline": "Dango Adrenaline",
|
"dango_adrenaline": "Dango Adrenaline",
|
||||||
"dango_bombardier": "Dango Bombardier",
|
|
||||||
"dango_booster": "Dango Booster",
|
"dango_booster": "Dango Booster",
|
||||||
"dango_bulker": "Dango Bulker",
|
"dango_bulker": "Dango Bulker",
|
||||||
"dango_connector": "Dango Connector",
|
"dango_connector": "Dango Connector",
|
||||||
"dango_defender": "Dango Defender",
|
"dango_defender": "Dango Defender",
|
||||||
"dango_defender_hi": "Dango Defender (Hi)",
|
|
||||||
"dango_deflector": "Dango Deflector",
|
|
||||||
"dango_dragon_res": "Dango Dragon Res",
|
|
||||||
"dango_dragon_res_hi": "Dango Dragon Res (Hi)",
|
|
||||||
"dango_driver": "Dango Driver",
|
|
||||||
"dango_feet": "Dango Feet",
|
|
||||||
"dango_fighter": "Dango Fighter",
|
|
||||||
"dango_fire_res": "Dango Fire Res",
|
|
||||||
"dango_fire_res_hi": "Dango Fire Res (Hi)",
|
|
||||||
"dango_flyer": "Dango Flyer",
|
"dango_flyer": "Dango Flyer",
|
||||||
"dango_glutton": "Dango Glutton",
|
"dango_glutton": "Dango Glutton",
|
||||||
"dango_guard": "Dango Guard",
|
|
||||||
"dango_hunter": "Dango Hunter",
|
"dango_hunter": "Dango Hunter",
|
||||||
"dango_hurler": "Dango Hurler",
|
|
||||||
"dango_ice_res": "Dango Ice Res",
|
|
||||||
"dango_ice_res_hi": "Dango Ice Res (Hi)",
|
|
||||||
"dango_immunizer": "Dango Immunizer",
|
|
||||||
"dango_insurance": "Dango Insurance",
|
"dango_insurance": "Dango Insurance",
|
||||||
"dango_marksman": "Dango Marksman",
|
"dango_insurance_defense_up": "Dango Insurance Defense Up",
|
||||||
"dango_medic": "Dango Medic",
|
|
||||||
"dango_medic_hi": "Dango Medic (Hi)",
|
|
||||||
"dango_moxie": "Dango Moxie",
|
|
||||||
"dango_polisher": "Dango Polisher",
|
|
||||||
"dango_pyro": "Dango Pyro",
|
|
||||||
"dango_reviver": "Dango Reviver",
|
|
||||||
"dango_rider": "Dango Rider",
|
|
||||||
"dango_shifter": "Dango Shifter",
|
|
||||||
"dango_slugger": "Dango Slugger",
|
|
||||||
"dango_specialist": "Dango Specialist",
|
|
||||||
"dango_temper": "Dango Temper",
|
|
||||||
"dango_thunder_res": "Dango Thunder Res ",
|
|
||||||
"dango_thunder_res_hi": "Dango Thunder Res (Hi)",
|
|
||||||
"dango_wall_runner": "Dango Wall Runner",
|
|
||||||
"dango_water_res": "Dango Water Res",
|
|
||||||
"dango_water_res_hi": "Dango Water Res (Hi)",
|
|
||||||
"dango_weakener": "Dango Weakener",
|
|
||||||
"super_recovery_dango": "Super Recovery Dango"
|
"super_recovery_dango": "Super Recovery Dango"
|
||||||
},
|
},
|
||||||
|
"endemic_life": {
|
||||||
|
"butterflame": "Butterflame",
|
||||||
|
"clothfly": "Clothfly",
|
||||||
|
"cutterfly": "Cutterfly",
|
||||||
|
"gold_wirebug": "Gold Wirebug",
|
||||||
|
"peepersects": "Peepersects",
|
||||||
|
"red_lampsquid": "Red Lampsquid",
|
||||||
|
"ruby_wirebug": "Ruby Wirebug",
|
||||||
|
"stinkmink": "Stinkmink",
|
||||||
|
"yellow_lampsquid": "Yellow Lampsquid"
|
||||||
|
},
|
||||||
"font_name": "NotoSansKR-Bold.otf",
|
"font_name": "NotoSansKR-Bold.otf",
|
||||||
|
"item_buffs": {
|
||||||
|
"adamant_seed": "Adamant Seed",
|
||||||
|
"armor_ammo": "Armor Ammo",
|
||||||
|
"armorskin": "Armorskin",
|
||||||
|
"dash_juice": "Dash Juice",
|
||||||
|
"demon_ammo": "Demon Ammo",
|
||||||
|
"demon_powder": "Demon Powder",
|
||||||
|
"demondrug": "Demondrug",
|
||||||
|
"gourmet_fish": "Gourmet Fish",
|
||||||
|
"hardshell_powder": "Hardshell Powder",
|
||||||
|
"immunizer": "Immunizer",
|
||||||
|
"mega_armorskin": "Mega Armorskin",
|
||||||
|
"mega_demondrug": "Mega Demondrug",
|
||||||
|
"might_seed": "Might Seed"
|
||||||
|
},
|
||||||
"melody_effects": {
|
"melody_effects": {
|
||||||
"affinity_up": "Affinity Up",
|
"affinity_up": "Affinity Up",
|
||||||
"attack_and_affinity_up": "Attack and Affinity Up",
|
"attack_and_affinity_up": "Attack and Affinity Up",
|
||||||
@@ -453,10 +456,18 @@
|
|||||||
"tremors_negated": "Tremors Negated",
|
"tremors_negated": "Tremors Negated",
|
||||||
"wind_pressure_negated": "Wind Pressure Negated"
|
"wind_pressure_negated": "Wind Pressure Negated"
|
||||||
},
|
},
|
||||||
|
"misc_buffs": {
|
||||||
|
"attack_up": "Attack Up",
|
||||||
|
"defense_up": "Defense Up",
|
||||||
|
"immunity": "Immunity",
|
||||||
|
"natural_healing_up": "Natural Healing Up",
|
||||||
|
"stamina_use_down": "Stamina Use Down"
|
||||||
|
},
|
||||||
"otomo_moves": {
|
"otomo_moves": {
|
||||||
"go_fight_win": "Go, Fight, Win",
|
"go_fight_win": "Go, Fight, Win",
|
||||||
"power_drum": "Power Drum",
|
"power_drum": "Power Drum",
|
||||||
"rousing_roar": "Rousing Roar"
|
"rousing_roar": "Rousing Roar",
|
||||||
|
"vase_of_vitality": "Vase of Vitality"
|
||||||
},
|
},
|
||||||
"parts": {
|
"parts": {
|
||||||
"abdomen": "배",
|
"abdomen": "배",
|
||||||
@@ -527,32 +538,47 @@
|
|||||||
"wingclaws": "날개발톱",
|
"wingclaws": "날개발톱",
|
||||||
"wings": "날개"
|
"wings": "날개"
|
||||||
},
|
},
|
||||||
|
"rampage_skills": {
|
||||||
|
"chameleos_soul": "Chameleos Soul",
|
||||||
|
"kushala_daora_soul": "Kushala Daora Soul"
|
||||||
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"adrenaline_rush": "Adrenaline Rush",
|
"adrenaline_rush": "Adrenaline Rush",
|
||||||
"affinity_sliding": "Affinity Sliding",
|
"affinity_sliding": "Affinity Sliding",
|
||||||
"agitator": "Agitator",
|
"agitator": "Agitator",
|
||||||
|
"berserk": "Berserk",
|
||||||
|
"bladescale_hone": "Bladescale Hone",
|
||||||
|
"blood_awakening": "Blood Awakening",
|
||||||
"bloodlust": "Bloodlust",
|
"bloodlust": "Bloodlust",
|
||||||
"burst": "Burst",
|
"burst": "Burst",
|
||||||
"coalescence": "Coalescence",
|
"coalescence": "Coalescence",
|
||||||
"counterstrike": "Counterstrike",
|
"counterstrike": "Counterstrike",
|
||||||
"dereliction": "Dereliction",
|
"dereliction": "Dereliction",
|
||||||
|
"dragon_conversion_elemental_attack_up": "Dragon Conversion: Elem. Atk Up",
|
||||||
|
"dragon_conversion_elemental_res_up": "Dragon Conversion: Elem. Res Up",
|
||||||
"dragonheart": "Dragonheart",
|
"dragonheart": "Dragonheart",
|
||||||
|
"embolden": "Embolden",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"frenzied_bloodlust": "Frenzied Bloodlust",
|
||||||
"furious": "Furious",
|
"furious": "Furious",
|
||||||
"grinder_s": "Grinder (S)",
|
"grinder_s": "Grinder (S)",
|
||||||
"heaven_sent": "Heaven-Sent",
|
"heaven_sent": "Heaven-Sent",
|
||||||
"hellfire_cloak": "Hellfire Cloak",
|
"hellfire_cloak": "Hellfire Cloak",
|
||||||
"heroics": "Heroics",
|
"heroics": "Heroics",
|
||||||
|
"inspiration": "Inspiration",
|
||||||
"intrepid_heart": "Intrepid Heart",
|
"intrepid_heart": "Intrepid Heart",
|
||||||
"kushala_daora_soul": "Kushala Daora Soul",
|
|
||||||
"latent_power": "Latent Power",
|
"latent_power": "Latent Power",
|
||||||
"maximum_might": "Maximum Might",
|
"maximum_might": "Maximum Might",
|
||||||
"offensive_guard": "Offensive Guard",
|
"offensive_guard": "Offensive Guard",
|
||||||
|
"partbreaker": "Partbreaker",
|
||||||
"peak_performance": "Peak Performance",
|
"peak_performance": "Peak Performance",
|
||||||
|
"powder_mantle_blue": "Powder Mantle (Blue)",
|
||||||
|
"powder_mantle_red": "Powder Mantle (Red)",
|
||||||
"protective_polish": "Protective Polish",
|
"protective_polish": "Protective Polish",
|
||||||
"resentment": "Resentment",
|
"resentment": "Resentment",
|
||||||
"resuscitate": "Resuscitate",
|
"resuscitate": "Resuscitate",
|
||||||
|
"spiribirds_call": "Spiribird's Call",
|
||||||
"status_trigger": "Status Trigger",
|
"status_trigger": "Status Trigger",
|
||||||
|
"strife": "Strife",
|
||||||
"wall_runner": "Wall Runner",
|
"wall_runner": "Wall Runner",
|
||||||
"wind_mantle": "Wind Mantle"
|
"wind_mantle": "Wind Mantle"
|
||||||
},
|
},
|
||||||
@@ -579,23 +605,108 @@
|
|||||||
4607,
|
4607,
|
||||||
8192,
|
8192,
|
||||||
8303,
|
8303,
|
||||||
|
11904,
|
||||||
|
12031,
|
||||||
|
12288,
|
||||||
|
12351,
|
||||||
12592,
|
12592,
|
||||||
12687,
|
12687,
|
||||||
|
12800,
|
||||||
|
19903,
|
||||||
|
19968,
|
||||||
|
40959,
|
||||||
44032,
|
44032,
|
||||||
55215,
|
55215,
|
||||||
|
63744,
|
||||||
|
64255,
|
||||||
|
65072,
|
||||||
|
65103,
|
||||||
65280,
|
65280,
|
||||||
65519,
|
65519,
|
||||||
0
|
0
|
||||||
],
|
],
|
||||||
"weapon_skills": {
|
"weapon_skills": {
|
||||||
"amped_state": "Amped State",
|
"bow": {
|
||||||
"axe_heavy_slam": "Axe: Heavy Slam",
|
"arc_shot_affinity": "Arc Shot: Affinity",
|
||||||
|
"arc_shot_brace": "Arc Shot: Brace",
|
||||||
|
"bolt_boost": "Bolt Boost",
|
||||||
|
"herculean_draw": "Herculean Draw"
|
||||||
|
},
|
||||||
|
"charge_blade": {
|
||||||
|
"element_boost": "Element Boost",
|
||||||
|
"sword_boost_mode": "Sword Boost Mode"
|
||||||
|
},
|
||||||
|
"dual_blades": {
|
||||||
|
"archdemon_mode": "Archdemon Mode",
|
||||||
|
"ironshine_silk": "Ironshine Silk"
|
||||||
|
},
|
||||||
|
"great_sword": {
|
||||||
|
"power_sheathe": "Power Sheathe"
|
||||||
|
},
|
||||||
|
"gunlance": {
|
||||||
|
"erupting_cannon": "Erupting Cannon",
|
||||||
|
"ground_splitter": "Ground Splitter"
|
||||||
|
},
|
||||||
|
"hammer": {
|
||||||
|
"impact_burst": "Impact Burst"
|
||||||
|
},
|
||||||
|
"heavy_bowgun": {
|
||||||
|
"counter_charger": "Counter Charger",
|
||||||
|
"overheat": "Overheat",
|
||||||
|
"rising_moon": "Rising Moon",
|
||||||
|
"setting_sun": "Setting Sun",
|
||||||
|
"wyvernsnipe_reload": "Wyvernsnipe Reload"
|
||||||
|
},
|
||||||
|
"hunting_horn": {
|
||||||
|
"bead_of_resonance": "Bead of Resonance",
|
||||||
|
"silkbind_shockwave": "Silkbind Shockwave",
|
||||||
|
"sonic_bloom": "Sonic Bloom"
|
||||||
|
},
|
||||||
|
"insect_glaive": {
|
||||||
|
"all_extracts_mix": "All Extracts Mix",
|
||||||
|
"orange_extract": "Orange Extract",
|
||||||
|
"red_extract": "Red Extract",
|
||||||
|
"white_extract": "White Extract"
|
||||||
|
},
|
||||||
|
"lance": {
|
||||||
|
"anchor_rage": "Anchor Rage",
|
||||||
|
"spiral_thrust": "Spiral Thrust",
|
||||||
|
"twin_wine": "Twin Wine"
|
||||||
|
},
|
||||||
|
"light_bowgun": {
|
||||||
|
"fanning_maneuver": "Fanning Maneuver",
|
||||||
|
"wyvernblast_reload": "Wyvernblast Reload"
|
||||||
|
},
|
||||||
|
"long_sword": {
|
||||||
"harvest_moon": "Harvest Moon",
|
"harvest_moon": "Harvest Moon",
|
||||||
"iai_slash": "Iai Slash",
|
"iai_slash": "Iai Slash",
|
||||||
"power_sheathe": "Power Sheathe",
|
|
||||||
"soaring_kick": "Soaring Kick",
|
"soaring_kick": "Soaring Kick",
|
||||||
"spirit_gauge": "Spirit Gauge",
|
"spirit_gauge": "Spirit Gauge",
|
||||||
"spirit_gauge_autofill": "Spirit Gauge Autofill",
|
"spirit_gauge_autofill": "Spirit Gauge Autofill"
|
||||||
|
},
|
||||||
|
"switch_axe": {
|
||||||
|
"amped_state": "Amped State",
|
||||||
|
"axe_heavy_slam": "Axe: Heavy Slam",
|
||||||
"switch_charger": "Switch Charger"
|
"switch_charger": "Switch Charger"
|
||||||
|
},
|
||||||
|
"sword_and_shield": {
|
||||||
|
"destroyer_oil": "Destroyer Oil"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"weapons": {
|
||||||
|
"bow": "Bow",
|
||||||
|
"charge_blade": "Charge Blade",
|
||||||
|
"dual_blades": "Dual Blades",
|
||||||
|
"great_sword": "Great Sword",
|
||||||
|
"gunlance": "Gunlance",
|
||||||
|
"hammer": "Hammer",
|
||||||
|
"heavy_bowgun": "Heavy Bowgun",
|
||||||
|
"hunting_horn": "Hunting Horn",
|
||||||
|
"insect_glaive": "Insect Glaive",
|
||||||
|
"lance": "Lance",
|
||||||
|
"light_bowgun": "Light Bowgun",
|
||||||
|
"long_sword": "Long Sword",
|
||||||
|
"switch_axe": "Switch Axe",
|
||||||
|
"sword_and_shield": "Sword & Shield"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
"HP": "ОЗ:",
|
"HP": "ОЗ:",
|
||||||
"buildup": "Накопление",
|
"buildup": "Накопление",
|
||||||
"gold": "Золото",
|
"gold": "Золото",
|
||||||
|
"lv": "",
|
||||||
"mini": "Мини",
|
"mini": "Мини",
|
||||||
"otomo": "Cпутник",
|
"otomo": "Cпутник",
|
||||||
"part_anomaly_core": "Ядро аномалии",
|
"part_anomaly_core": "Ядро аномалии",
|
||||||
@@ -18,66 +19,54 @@
|
|||||||
},
|
},
|
||||||
"ailments": {
|
"ailments": {
|
||||||
"blast": "Взрыв",
|
"blast": "Взрыв",
|
||||||
"blastblight": "Blastblight",
|
"blastblight": "Взрывная порча",
|
||||||
"bleeding": "Bleeding",
|
"bleeding": "Кровотечение",
|
||||||
"bloodblight": "Bloodblight",
|
"bloodblight": "Кровавая порча",
|
||||||
"bubbleblight": "Bubbleblight",
|
"deadly_poison": "Смертельный яд",
|
||||||
"deadly_poison": "Deadly Poison",
|
"defense_down": "Защита снижена",
|
||||||
"defense_down": "Defense Down",
|
"dragonblight": "Драконья Порча",
|
||||||
"dragonblight": "Dragonblight",
|
|
||||||
"dung_bomb": "Навозная бомба",
|
"dung_bomb": "Навозная бомба",
|
||||||
"engulfed": "Engulfed",
|
"engulfed": "Окутывание",
|
||||||
"exhaust": "Усталость",
|
"exhaust": "Усталость",
|
||||||
"fall_otomo_trap": "Волчья яма спутника",
|
"fall_otomo_trap": "Волчья яма спутника",
|
||||||
"fall_trap": "Волчья яма",
|
"fall_trap": "Волчья яма",
|
||||||
|
"falling_asleep": "Засыпание",
|
||||||
"fireblight": "Огненная порча",
|
"fireblight": "Огненная порча",
|
||||||
"flash": "Оглушение",
|
"flash": "Оглушение",
|
||||||
"frenzy": "Frenzy",
|
"frenzy": "Бешенство",
|
||||||
"frenzy_infection": "Frenzy Infection",
|
"frenzy_infection": "Инфекция бешенства",
|
||||||
"frenzy_overcome": "Frenzy Overcome",
|
"frenzy_overcome": "Преодоление бешенства",
|
||||||
"frostblight": "Frostblight",
|
"frostblight": "Ледяная (морозная) порча",
|
||||||
"hellfireblight": "Hellfireblight",
|
"hellfireblight": "Порча адского пламени",
|
||||||
"iceblight": "Ледяная порча",
|
"iceblight": "Ледяная порча",
|
||||||
"leeched": "Leeched",
|
"leeched": "Истощение",
|
||||||
"major_bubbleblight": "Major Bubbleblight",
|
"major_bubbleblight": "Великая пузырьковая порча",
|
||||||
"minor_bubbleblight": "Minor Bubbleblight",
|
"minor_bubbleblight": "Малая пузырьковая порча",
|
||||||
"muck": "Muck",
|
"muck": "Грязь",
|
||||||
"paralysis": "Паралич",
|
"paralysis": "Паралич",
|
||||||
"poison": "Отравление",
|
"poison": "Отравление",
|
||||||
"quick_sand": "Зыбучий песок",
|
"quick_sand": "Зыбучий песок",
|
||||||
"resistance_down": "Resistance Down",
|
"resistance_down": "Сопротивление снижено",
|
||||||
"ride": "Езда на виверне",
|
"ride": "Езда на виверне",
|
||||||
"roar": "Roar",
|
"roar": "Рык",
|
||||||
"shock_otomo_trap": "Шоковая ловушка спутника",
|
"shock_otomo_trap": "Шоковая ловушка спутника",
|
||||||
"shock_trap": "Шоковая ловушка",
|
"shock_trap": "Шоковая ловушка",
|
||||||
"sleep": "Сон",
|
"sleep": "Сон",
|
||||||
"steel_fang": "Стальной клык",
|
"steel_fang": "Стальной клык",
|
||||||
"stench": "Stench",
|
"stench": "Зловоние",
|
||||||
"stun": "Оглушение",
|
"stun": "Оглушение",
|
||||||
"thunderblight": "Грозовая порча",
|
"thunderblight": "Грозовая порча",
|
||||||
"tranq_bomb": "Снотворная порча",
|
"tranq_bomb": "Снотворная порча",
|
||||||
"tremor": "Tremor",
|
"tremor": "Тряска",
|
||||||
"waterblight": "Водяная порча",
|
"waterblight": "Водяная порча",
|
||||||
"webbed": "Webbed"
|
"webbed": "В паутине"
|
||||||
},
|
|
||||||
"consumables": {
|
|
||||||
"adamant_seed": "Adamant Seed",
|
|
||||||
"armorskin": "Armorskin",
|
|
||||||
"dash_juice": "Dash Juice",
|
|
||||||
"demon_powder": "Demon Powder",
|
|
||||||
"demondrug": "Demondrug",
|
|
||||||
"gourmet_fish": "Gourmet Fish",
|
|
||||||
"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": "Любые изменения шрифта требуют перезагрузку скрипта!",
|
||||||
|
"abnormal_statuses": "Аномальные статусы",
|
||||||
"activation_count": "Кол-во активаций",
|
"activation_count": "Кол-во активаций",
|
||||||
"affinity_label": "Affinity Label",
|
"affinity_label": "Метка мастерства",
|
||||||
"ailment_buildups": "Накопление аномального статуса",
|
"ailment_buildups": "Накопление аномального статуса",
|
||||||
"ailment_name": "Название аномального статуса",
|
"ailment_name": "Название аномального статуса",
|
||||||
"ailment_name_label": "Метка названия аномального статуса",
|
"ailment_name_label": "Метка названия аномального статуса",
|
||||||
@@ -91,7 +80,7 @@
|
|||||||
"anomaly_health_percentage": "Здоровье ядра аномалии в процентах",
|
"anomaly_health_percentage": "Здоровье ядра аномалии в процентах",
|
||||||
"apply": "Применить",
|
"apply": "Применить",
|
||||||
"assign_new_key": "Привязать клавишу",
|
"assign_new_key": "Привязать клавишу",
|
||||||
"attack_label": "Attack Label",
|
"attack_label": "Метка Атаки",
|
||||||
"auto_highlight": "Автофокус",
|
"auto_highlight": "Автофокус",
|
||||||
"background": "Фон",
|
"background": "Фон",
|
||||||
"bar": "Шкала",
|
"bar": "Шкала",
|
||||||
@@ -110,7 +99,7 @@
|
|||||||
"break_max_count": "Максимальное кол-во повреждений",
|
"break_max_count": "Максимальное кол-во повреждений",
|
||||||
"break_sever_anomaly_filter": "Повреждение + Отсечение + Ядро аномалии",
|
"break_sever_anomaly_filter": "Повреждение + Отсечение + Ядро аномалии",
|
||||||
"break_sever_filter": "Повреждение + Отсечение",
|
"break_sever_filter": "Повреждение + Отсечение",
|
||||||
"buff_UI": "Интерфейс баффов",
|
"buff_UI": "Интерфейс эффектов",
|
||||||
"buildup": "Накопление",
|
"buildup": "Накопление",
|
||||||
"buildup_bar": "Шкала накопления",
|
"buildup_bar": "Шкала накопления",
|
||||||
"buildup_bars_are_relative_to": "Шкалы накопления расположены относительно к",
|
"buildup_bars_are_relative_to": "Шкалы накопления расположены относительно к",
|
||||||
@@ -129,7 +118,7 @@
|
|||||||
"crown": "Корона",
|
"crown": "Корона",
|
||||||
"crown_thresholds": "Лимиты корон",
|
"crown_thresholds": "Лимиты корон",
|
||||||
"current_state": "Текущее состояние",
|
"current_state": "Текущее состояние",
|
||||||
"current_time": "Current Time",
|
"current_time": "Текущее время",
|
||||||
"current_value": "Текущее значение",
|
"current_value": "Текущее значение",
|
||||||
"cutscene": "Катсцена",
|
"cutscene": "Катсцена",
|
||||||
"damage": "Урон",
|
"damage": "Урон",
|
||||||
@@ -138,34 +127,36 @@
|
|||||||
"damage_meter_UI": "Интерфейс модуля урона",
|
"damage_meter_UI": "Интерфейс модуля урона",
|
||||||
"damage_percentage_label": "Метка урона в процентах",
|
"damage_percentage_label": "Метка урона в процентах",
|
||||||
"damage_value_label": "Метка значений урона",
|
"damage_value_label": "Метка значений урона",
|
||||||
"debug": "Debug",
|
"dango_skills": "Навыки данго",
|
||||||
"debug_errors": "Debug Errors",
|
"debug": "Отладка",
|
||||||
"default_state": "Состояние по умолчанию",
|
"default_state": "Состояние по умолчанию",
|
||||||
"defense_label": "Defense Label",
|
"defense_label": "Метка защиты",
|
||||||
"delete": "Удалить",
|
"delete": "Удалить",
|
||||||
"distance": "Расстояние",
|
"distance": "Расстояние",
|
||||||
"dps": "Урон в секунду",
|
"dps": "Урон в секунду",
|
||||||
"dps_label": "Метка урона в секунду",
|
"dps_label": "Метка урона в секунду",
|
||||||
"dps_mode": "Режим урона в секунду",
|
"dps_mode": "Режим урона в секунду",
|
||||||
"dragon_resistance_label": "Dragon Resistance Label",
|
"dragon_resistance_label": "Метка сопротивления дракону",
|
||||||
"duplicate": "Дублировать",
|
"duplicate": "Дублировать",
|
||||||
"duration": "Продолжительность",
|
"duration": "Продолжительность",
|
||||||
"dynamic_positioning": "Динамическое позиционирование",
|
"dynamic_positioning": "Динамическое позиционирование",
|
||||||
"dynamically_positioned": "Рассположенный динамично",
|
"dynamically_positioned": "Рассположенный динамично",
|
||||||
"element_2_label": "Element 2 Label",
|
"effect_level": "Уровень эффекта",
|
||||||
"element_label": "Element Label",
|
"element_2_label": "Метка элемента 2",
|
||||||
|
"element_label": "Метка элемента",
|
||||||
"enable_for": "Показывать для",
|
"enable_for": "Показывать для",
|
||||||
"enabled": "Включить",
|
"enabled": "Включить",
|
||||||
"endemic_life": "Местная живность",
|
"endemic_life": "Местная живность",
|
||||||
"endemic_life_UI": "Интерфейс местной живности",
|
"endemic_life_UI": "Интерфейс местной живности",
|
||||||
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
"endemic_life_buffs": "Эффекты местной живности",
|
||||||
|
"everything_seems_to_be_ok": "Кажется, всё в порядке!",
|
||||||
"family": "Семейство",
|
"family": "Семейство",
|
||||||
"farthest": "Самый дальний",
|
"farthest": "Самый дальний",
|
||||||
"fight_time": "Время в бою",
|
"fight_time": "Время в бою",
|
||||||
"fill_direction": "Направление заполнения",
|
"fill_direction": "Направление заполнения",
|
||||||
"filter": "Фильтр",
|
"filter": "Фильтр",
|
||||||
"filter_mode": "Режим Фильтра",
|
"filter_mode": "Режим Фильтра",
|
||||||
"fire_resistance_label": "Fire Resistance Label",
|
"fire_resistance_label": "Метка сопротивления огню",
|
||||||
"first": "Первый",
|
"first": "Первый",
|
||||||
"first_hit": "Первый удар",
|
"first_hit": "Первый удар",
|
||||||
"flinch_count": "Кол-во вздрагиваний",
|
"flinch_count": "Кол-во вздрагиваний",
|
||||||
@@ -174,6 +165,7 @@
|
|||||||
"global_position_modifier": "Глобальный модификатор расположения",
|
"global_position_modifier": "Глобальный модификатор расположения",
|
||||||
"global_scale_modifier": "Глобальный модификатор размера",
|
"global_scale_modifier": "Глобальный модификатор размера",
|
||||||
"global_settings": "Общие настройки",
|
"global_settings": "Общие настройки",
|
||||||
|
"head_tracking": "Отслеживание головы",
|
||||||
"health": "Здоровье",
|
"health": "Здоровье",
|
||||||
"health_anomaly_filter": "Здоровье + Ядро аномалии",
|
"health_anomaly_filter": "Здоровье + Ядро аномалии",
|
||||||
"health_break_anomaly_filter": "Здоровье + Повреждение + Ядро аномалии",
|
"health_break_anomaly_filter": "Здоровье + Повреждение + Ядро аномалии",
|
||||||
@@ -181,7 +173,7 @@
|
|||||||
"health_break_sever_anomaly_filter": "Здоровье + Повреждение + Отсечение + Ядро аномалии",
|
"health_break_sever_anomaly_filter": "Здоровье + Повреждение + Отсечение + Ядро аномалии",
|
||||||
"health_break_sever_filter": "Здоровье + Повреждение + Отсечение",
|
"health_break_sever_filter": "Здоровье + Повреждение + Отсечение",
|
||||||
"health_filter": "Здоровье",
|
"health_filter": "Здоровье",
|
||||||
"health_label": "Health Label",
|
"health_label": "Метка здоровья",
|
||||||
"health_percentage": "Здоровье в процентах",
|
"health_percentage": "Здоровье в процентах",
|
||||||
"health_sever_anomaly_filter": "Здоровье + Отсечение + Ядро аномалии",
|
"health_sever_anomaly_filter": "Здоровье + Отсечение + Ядро аномалии",
|
||||||
"health_sever_filter": "Здоровье + Отсечение",
|
"health_sever_filter": "Здоровье + Отсечение",
|
||||||
@@ -189,7 +181,7 @@
|
|||||||
"hide_ailments_with_zero_buildup": "Скрыть аномальный статус, если накопление равно 0",
|
"hide_ailments_with_zero_buildup": "Скрыть аномальный статус, если накопление равно 0",
|
||||||
"hide_all_active_ailments": "Скрыть все активные аномальные статусы",
|
"hide_all_active_ailments": "Скрыть все активные аномальные статусы",
|
||||||
"hide_all_inactive_ailments": "Скрыть все неактивные аномальные статусы",
|
"hide_all_inactive_ailments": "Скрыть все неактивные аномальные статусы",
|
||||||
"hide_bar_for_infinite_buffs": "Скрыть шкалу у бесконечных баффов",
|
"hide_bar_for_infinite_buffs": "Скрыть шкалу у бесконечных эффектов",
|
||||||
"hide_dead_or_captured": "Скрыть мёртвых и захваченных монстров",
|
"hide_dead_or_captured": "Скрыть мёртвых и захваченных монстров",
|
||||||
"hide_disabled_ailments": "Скрыть отключенные аномальные статусы",
|
"hide_disabled_ailments": "Скрыть отключенные аномальные статусы",
|
||||||
"hide_inactive_ailments_with_no_buildup_support": "Скрыть неактивные аномальные статусы без поддержки накопления",
|
"hide_inactive_ailments_with_no_buildup_support": "Скрыть неактивные аномальные статусы без поддержки накопления",
|
||||||
@@ -199,7 +191,7 @@
|
|||||||
"hide_other_players": "Скрыть остальных игроков",
|
"hide_other_players": "Скрыть остальных игроков",
|
||||||
"hide_player_if_player_damage_is_zero": "Скрыть игрока, если его урон равен 0",
|
"hide_player_if_player_damage_is_zero": "Скрыть игрока, если его урон равен 0",
|
||||||
"hide_servants": "Скрыть последователей",
|
"hide_servants": "Скрыть последователей",
|
||||||
"hide_timer_for_infinite_buffs": "Скрыть таймер у бесконечных баффов",
|
"hide_timer_for_infinite_buffs": "Скрыть таймер у бесконечных эффектов",
|
||||||
"hide_total_damage": "Скрыть общий урон",
|
"hide_total_damage": "Скрыть общий урон",
|
||||||
"hide_total_if_total_damage_is_zero": "Скрыть общий урон, если он равен 0",
|
"hide_total_if_total_damage_is_zero": "Скрыть общий урон, если он равен 0",
|
||||||
"hide_undamaged_parts": "Скрыть неповреждённые части тела",
|
"hide_undamaged_parts": "Скрыть неповреждённые части тела",
|
||||||
@@ -210,20 +202,22 @@
|
|||||||
"highlighted_buildup_bar": "Помеченная шкала накопления",
|
"highlighted_buildup_bar": "Помеченная шкала накопления",
|
||||||
"highlighted_damage_bar": "Помеченная шкала урона",
|
"highlighted_damage_bar": "Помеченная шкала урона",
|
||||||
"highlighted_targeted": "Помеченный",
|
"highlighted_targeted": "Помеченный",
|
||||||
"history": "History",
|
"history": "История",
|
||||||
"history_size": "History Size",
|
"history_size": "Размер истории",
|
||||||
"horizontal": "Горизонтально",
|
"horizontal": "Горизонтально",
|
||||||
"hotkeys": "Горячие клавиши",
|
"hotkeys": "Горячие клавиши",
|
||||||
"hunter_rank": "Ранг охотника",
|
"hunter_rank": "Ранг охотника",
|
||||||
"hunter_rank_label": "Метка ранга охотника",
|
"hunter_rank_label": "Метка ранга охотника",
|
||||||
"ice_resistance_label": "Ice Resistance Label",
|
"ice_resistance_label": "Метка сопротивления льду",
|
||||||
"id": "ID",
|
"id": "ID",
|
||||||
"in_lobby": "В лобби",
|
"in_lobby": "В лобби",
|
||||||
"in_training_area": "В тренировочной зоне",
|
"in_training_area": "В тренировочной зоне",
|
||||||
"include": "Элементы",
|
"include": "Элементы",
|
||||||
|
"infinite_buffs_location": "Позиция бесконечных эффектов",
|
||||||
"inside": "Внутри",
|
"inside": "Внутри",
|
||||||
"installations": "Установки",
|
"installations": "Установки",
|
||||||
"italic": "Курсив",
|
"italic": "Курсив",
|
||||||
|
"item_buffs": "Эффекты предметов",
|
||||||
"join_time": "Время присоединения",
|
"join_time": "Время присоединения",
|
||||||
"killcam": "Камера смерти",
|
"killcam": "Камера смерти",
|
||||||
"kunai": "Кунаи",
|
"kunai": "Кунаи",
|
||||||
@@ -247,8 +241,10 @@
|
|||||||
"max_monster_updates_per_tick": "Макс. кол-во обновлений за тик",
|
"max_monster_updates_per_tick": "Макс. кол-во обновлений за тик",
|
||||||
"max_value": "Максимальное значение",
|
"max_value": "Максимальное значение",
|
||||||
"me": "Я",
|
"me": "Я",
|
||||||
|
"melody_effects": "Эффекты мелодии",
|
||||||
"menu_font": "Шрифт меню",
|
"menu_font": "Шрифт меню",
|
||||||
"menu_font_change_disclaimer": "Изменение языка и размера шрифта меню несколько раз приведёт к вылету!",
|
"menu_font_change_disclaimer": "Изменение языка и размера шрифта меню несколько раз приведёт к вылету!",
|
||||||
|
"misc_buffs": "Разные эффекты",
|
||||||
"mod_name": "MHR Overlay",
|
"mod_name": "MHR Overlay",
|
||||||
"mode": "Режим",
|
"mode": "Режим",
|
||||||
"modifiers": "Модификаторы",
|
"modifiers": "Модификаторы",
|
||||||
@@ -274,6 +270,7 @@
|
|||||||
"other": "Другое",
|
"other": "Другое",
|
||||||
"other_player_otomos": "Спутники других игроков",
|
"other_player_otomos": "Спутники других игроков",
|
||||||
"other_players": "Другие игроки",
|
"other_players": "Другие игроки",
|
||||||
|
"otomo_moves": "Навыки спутника",
|
||||||
"otomos": "Спутники",
|
"otomos": "Спутники",
|
||||||
"outline": "Обводка",
|
"outline": "Обводка",
|
||||||
"outside": "Снаружи",
|
"outside": "Снаружи",
|
||||||
@@ -297,6 +294,7 @@
|
|||||||
"quest_start_animation": "Анимация начала квеста",
|
"quest_start_animation": "Анимация начала квеста",
|
||||||
"quest_time": "Время квеста",
|
"quest_time": "Время квеста",
|
||||||
"rage": "Ярость",
|
"rage": "Ярость",
|
||||||
|
"rampage_skills": "Навыки буйства",
|
||||||
"reframework_outdated": "Установленная версия REFramework устарела. Пожалуйста, обновитесь, иначе MHR Overlay будет работать некорректно.",
|
"reframework_outdated": "Установленная версия REFramework устарела. Пожалуйста, обновитесь, иначе MHR Overlay будет работать некорректно.",
|
||||||
"relative_offset": "Относительный сдвиг",
|
"relative_offset": "Относительный сдвиг",
|
||||||
"rename": "Переименовать",
|
"rename": "Переименовать",
|
||||||
@@ -319,28 +317,30 @@
|
|||||||
"show_other_player_otomos_separately": "Показывать спутников других игроков отдельно",
|
"show_other_player_otomos_separately": "Показывать спутников других игроков отдельно",
|
||||||
"show_servant_otomos_separately": "Показывать спутников последователей отдельно",
|
"show_servant_otomos_separately": "Показывать спутников последователей отдельно",
|
||||||
"size": "Размер",
|
"size": "Размер",
|
||||||
|
"skills": "Навыки",
|
||||||
"small_monster_UI": "Интерфейс малых монстров",
|
"small_monster_UI": "Интерфейс малых монстров",
|
||||||
"small_monsters": "Малые монстры",
|
"small_monsters": "Малые монстры",
|
||||||
"sorting": "Сортировка",
|
"sorting": "Сортировка",
|
||||||
"spacing": "Расстояние между элементами",
|
"spacing": "Расстояние между элементами",
|
||||||
"stamina": "Выносливость",
|
"stamina": "Выносливость",
|
||||||
"stamina_label": "Stamina Label",
|
"stamina_label": "Метка выносливости",
|
||||||
"static_orientation": "Статичная ориентация",
|
"static_orientation": "Статичная ориентация",
|
||||||
"static_position": "Статичное расположение",
|
"static_position": "Статичное расположение",
|
||||||
"static_sorting": "Статичная сортировка",
|
"static_sorting": "Статичная сортировка",
|
||||||
"static_spacing": "Статичное расстояние между элементами",
|
"static_spacing": "Статичное расстояние между элементами",
|
||||||
"statically_positioned": "Рассположенный статично",
|
"statically_positioned": "Рассположенный статично",
|
||||||
"stats_UI": "Stats UI",
|
"stats_UI": "Интерфейс статуса",
|
||||||
"status": "Статус",
|
"status": "Статус",
|
||||||
"style": "Стиль",
|
"style": "Стиль",
|
||||||
"summary_screen": "Экран Результатов",
|
"summary_screen": "Экран результатов",
|
||||||
"text_label": "Текстовая метка",
|
"text_label": "Текстовая метка",
|
||||||
"thickness": "Толщина",
|
"thickness": "Толщина",
|
||||||
"thunder_resistance_label": "Thunder Resistance Label",
|
"thunder_resistance_label": "Метка сопротивления грозе",
|
||||||
"time_UI": "Интерфейс времени",
|
"time_UI": "Интерфейс времени",
|
||||||
"time_label": "Метка времени",
|
"time_label": "Метка времени",
|
||||||
"time_limit": "Ограничение по времени (cек.)",
|
"time_limit": "Ограничение по времени (cек.)",
|
||||||
"timer": "Таймер",
|
"timer": "Таймер",
|
||||||
|
"timer_delays": "Задержка таймеров",
|
||||||
"timer_label": "Метка таймера",
|
"timer_label": "Метка таймера",
|
||||||
"top_buildup": "Наибольшее накопление",
|
"top_buildup": "Наибольшее накопление",
|
||||||
"top_damage": "Наибольший урон",
|
"top_damage": "Наибольший урон",
|
||||||
@@ -363,13 +363,22 @@
|
|||||||
"tracked_damage_types": "Отслеживаемые типы урона",
|
"tracked_damage_types": "Отслеживаемые типы урона",
|
||||||
"tracked_monster_types": "Отслеживаемые типы монстров",
|
"tracked_monster_types": "Отслеживаемые типы монстров",
|
||||||
"type": "Тип",
|
"type": "Тип",
|
||||||
|
"update_buffs_delay": "Обновление эффектов (cек.)",
|
||||||
|
"update_is_online_delay": "Обновление онлайн статуса (cек.)",
|
||||||
|
"update_myself_position_delay": "Обновление собственных координат (cек.)",
|
||||||
|
"update_player_info_delay": "Обновление информации об игроке (cек.)",
|
||||||
|
"update_players_delay": "Обновление списка игроков (cек.)",
|
||||||
|
"update_quest_time_delay": "Обновление продолжительности задания (cек.)",
|
||||||
|
"update_singletons_delay": "Обновление синглтонов (cек.)",
|
||||||
|
"update_window_size_delay": "Обновление размеров окна (cек.)",
|
||||||
"use_d2d_if_available": "Использовать Direct2D, если доступен",
|
"use_d2d_if_available": "Использовать Direct2D, если доступен",
|
||||||
"value": "Value",
|
"value": "Значение",
|
||||||
"value_label": "Метка значений",
|
"value_label": "Метка значений",
|
||||||
"vertical": "Вертикально",
|
"vertical": "Вертикально",
|
||||||
"viewport_offset": "Сдвиг в экранном пространстве",
|
"viewport_offset": "Сдвиг в экранном пространстве",
|
||||||
"visible": "Включить",
|
"visible": "Включить",
|
||||||
"water_resistance_label": "Water Resistance Label",
|
"water_resistance_label": "Метка сопротивления воде",
|
||||||
|
"weapon_skills": "Навыки оружия",
|
||||||
"width": "Ширина",
|
"width": "Ширина",
|
||||||
"world_offset": "Сдвиг в игровом пространстве",
|
"world_offset": "Сдвиг в игровом пространстве",
|
||||||
"wyvern_riding": "Езда на виверне",
|
"wyvern_riding": "Езда на виверне",
|
||||||
@@ -377,86 +386,88 @@
|
|||||||
"y": "Y",
|
"y": "Y",
|
||||||
"z": "Z"
|
"z": "Z"
|
||||||
},
|
},
|
||||||
"dangos": {
|
"dango_skills": {
|
||||||
"dango_adrenaline": "Dango Adrenaline",
|
"dango_adrenaline": "Данго-адреналин",
|
||||||
"dango_bombardier": "Dango Bombardier",
|
"dango_booster": "Данго-усилитель",
|
||||||
"dango_booster": "Dango Booster",
|
"dango_bulker": "Данго-пижон",
|
||||||
"dango_bulker": "Dango Bulker",
|
"dango_connector": "Данго-сцепщик",
|
||||||
"dango_connector": "Dango Connector",
|
"dango_defender": "Данго-защитник",
|
||||||
"dango_defender": "Dango Defender",
|
"dango_flyer": "Данго-пилот",
|
||||||
"dango_defender_hi": "Dango Defender (Hi)",
|
"dango_glutton": "Данго-обжора",
|
||||||
"dango_deflector": "Dango Deflector",
|
"dango_hunter": "Данго-охотник",
|
||||||
"dango_dragon_res": "Dango Dragon Res",
|
"dango_insurance": "Данго-страховщик",
|
||||||
"dango_dragon_res_hi": "Dango Dragon Res (Hi)",
|
"dango_insurance_defense_up": "Данго-страховщик: усил. защиты",
|
||||||
"dango_driver": "Dango Driver",
|
"super_recovery_dango": "Супервосстан. данго"
|
||||||
"dango_feet": "Dango Feet",
|
},
|
||||||
"dango_fighter": "Dango Fighter",
|
"endemic_life": {
|
||||||
"dango_fire_res": "Dango Fire Res",
|
"butterflame": "Огнебабочка",
|
||||||
"dango_fire_res_hi": "Dango Fire Res (Hi)",
|
"clothfly": "Тканебабочка",
|
||||||
"dango_flyer": "Dango Flyer",
|
"cutterfly": "Стрекоза-нож",
|
||||||
"dango_glutton": "Dango Glutton",
|
"gold_wirebug": "Золотой Протожук",
|
||||||
"dango_guard": "Dango Guard",
|
"peepersects": "Глазобабочки",
|
||||||
"dango_hunter": "Dango Hunter",
|
"red_lampsquid": "Крс. Лампокальм.",
|
||||||
"dango_hurler": "Dango Hurler",
|
"ruby_wirebug": "Рубиновый Протожук",
|
||||||
"dango_ice_res": "Dango Ice Res",
|
"stinkmink": "Пахучка",
|
||||||
"dango_ice_res_hi": "Dango Ice Res (Hi)",
|
"yellow_lampsquid": "Жлт. Лампокальм."
|
||||||
"dango_immunizer": "Dango Immunizer",
|
},
|
||||||
"dango_insurance": "Dango Insurance",
|
"font_name": "NotoSans-Bold.otf",
|
||||||
"dango_marksman": "Dango Marksman",
|
"item_buffs": {
|
||||||
"dango_medic": "Dango Medic",
|
"adamant_seed": "Адамант. зерно",
|
||||||
"dango_medic_hi": "Dango Medic (Hi)",
|
"armor_ammo": "Защитные снаряды",
|
||||||
"dango_moxie": "Dango Moxie",
|
"armorskin": "Бронир. кожа",
|
||||||
"dango_polisher": "Dango Polisher",
|
"dash_juice": "Сок бодрости",
|
||||||
"dango_pyro": "Dango Pyro",
|
"demon_ammo": "Демон. снаряды",
|
||||||
"dango_reviver": "Dango Reviver",
|
"demon_powder": "Демон. порошок",
|
||||||
"dango_rider": "Dango Rider",
|
"demondrug": "Демон. снадобье",
|
||||||
"dango_shifter": "Dango Shifter",
|
"gourmet_fish": "Вкусная рыба",
|
||||||
"dango_slugger": "Dango Slugger",
|
"hardshell_powder": "Пор. из скорлупы",
|
||||||
"dango_specialist": "Dango Specialist",
|
"immunizer": "Иммунатор",
|
||||||
"dango_temper": "Dango Temper",
|
"mega_armorskin": "Мегабронир. кожа",
|
||||||
"dango_thunder_res": "Dango Thunder Res ",
|
"mega_demondrug": "Мегадемон. снад.",
|
||||||
"dango_thunder_res_hi": "Dango Thunder Res (Hi)",
|
"might_seed": "Зер. могущества"
|
||||||
"dango_wall_runner": "Dango Wall Runner",
|
|
||||||
"dango_water_res": "Dango Water Res",
|
|
||||||
"dango_water_res_hi": "Dango Water Res (Hi)",
|
|
||||||
"dango_weakener": "Dango Weakener",
|
|
||||||
"super_recovery_dango": "Super Recovery Dango"
|
|
||||||
},
|
},
|
||||||
"font_name": "NotoSansKR-Bold.otf",
|
|
||||||
"melody_effects": {
|
"melody_effects": {
|
||||||
"affinity_up": "Affinity Up",
|
"affinity_up": "Усиление мастерства",
|
||||||
"attack_and_affinity_up": "Attack and Affinity Up",
|
"attack_and_affinity_up": "Усиление атаки и мастерства",
|
||||||
"attack_and_defense_up": "Attack and Defense Up",
|
"attack_and_defense_up": "Усиление атаки и защиты",
|
||||||
"attack_up": "Attack Up",
|
"attack_up": "Усиление атаки",
|
||||||
"blight_negated": "Blight Negated",
|
"blight_negated": "Снятие порчи",
|
||||||
"defense_up": "Defense Up",
|
"defense_up": "Усиление защиты",
|
||||||
"divine_protection": "Divine Protection",
|
"divine_protection": "Божественная защита",
|
||||||
"earplugs_l": "Earplugs (L)",
|
"earplugs_l": "Наушники (L)",
|
||||||
"earplugs_s": "Earplugs (S)",
|
"earplugs_s": "Наушники (S)",
|
||||||
"elemental_attack_boost": "Elemental Attack Boost",
|
"elemental_attack_boost": "Усиление атаки стихией",
|
||||||
"environment_damage_negated": "Environment Damage Negated",
|
"environment_damage_negated": "Отмена урона окружением",
|
||||||
"health_recovery_l": "Health Recovery (L)",
|
"health_recovery_l": "Восст. здоровья (L)",
|
||||||
"health_recovery_s": "Health Recovery (S)",
|
"health_recovery_s": "Восст. здоровья (S)",
|
||||||
"health_recovery_s_antidote": "Health Recovery (S) + Antidote",
|
"health_recovery_s_antidote": "Восст. здоровья (S) + по-ядие",
|
||||||
"health_regeneration": "Health Regeneration",
|
"health_regeneration": "Регенерация ",
|
||||||
"infernal_melody": "Infernal Melody",
|
"infernal_melody": "Песня яростного пламени",
|
||||||
"knockbacks_negated": "Knockbacks Negated",
|
"knockbacks_negated": "Нейтрализация сбив. с ног",
|
||||||
"self_improvement": "Self-Improvement",
|
"self_improvement": "Самосовершенствование",
|
||||||
"sharpness_extension": "Sharpness Extension",
|
"sharpness_extension": "Увеличение остроты",
|
||||||
"sharpness_loss_reduced": "Sharpness Loss Reduced",
|
"sharpness_loss_reduced": "Замедление затупления",
|
||||||
"sharpness_regeneration": "Sharpness Regeneration",
|
"sharpness_regeneration": "Регенерация остроты",
|
||||||
"sonic_barrier": "Sonic Barrier",
|
"sonic_barrier": "Звуковой барьер",
|
||||||
"sonic_wave": "Sonic Wave",
|
"sonic_wave": "Звуковая волна",
|
||||||
"stamina_recovery_up": "Stamina Recovery Up",
|
"stamina_recovery_up": "Улучш. восст. выносливости",
|
||||||
"stamina_use_reduced": "Stamina Use Reduced",
|
"stamina_use_reduced": "Усиление выносливости",
|
||||||
"stun_negated": "Stun Negated",
|
"stun_negated": "Нейтрализация оглушения",
|
||||||
"tremors_negated": "Tremors Negated",
|
"tremors_negated": "Нейтрализация тряски",
|
||||||
"wind_pressure_negated": "Wind Pressure Negated"
|
"wind_pressure_negated": "Отмена давления ветра"
|
||||||
|
},
|
||||||
|
"misc_buffs": {
|
||||||
|
"attack_up": "Усиление атаки",
|
||||||
|
"defense_up": "Усиление защиты",
|
||||||
|
"immunity": "Устойчивость",
|
||||||
|
"natural_healing_up": "Естественное лечение",
|
||||||
|
"stamina_use_down": "Уменьшение расхода выносливости"
|
||||||
},
|
},
|
||||||
"otomo_moves": {
|
"otomo_moves": {
|
||||||
"go_fight_win": "Go, Fight, Win",
|
"go_fight_win": "Сражайся, побеждай",
|
||||||
"power_drum": "Power Drum",
|
"power_drum": "Барабан силы",
|
||||||
"rousing_roar": "Rousing Roar"
|
"rousing_roar": "Воодушевляющий рев",
|
||||||
|
"vase_of_vitality": "Ваза живучести"
|
||||||
},
|
},
|
||||||
"parts": {
|
"parts": {
|
||||||
"abdomen": "Брюхо",
|
"abdomen": "Брюхо",
|
||||||
@@ -527,71 +538,169 @@
|
|||||||
"wingclaws": "Крыло-коготь",
|
"wingclaws": "Крыло-коготь",
|
||||||
"wings": "Крылья"
|
"wings": "Крылья"
|
||||||
},
|
},
|
||||||
|
"rampage_skills": {
|
||||||
|
"chameleos_soul": "Душа Хамелеоса",
|
||||||
|
"kushala_daora_soul": "Душа Кушалы Даоры"
|
||||||
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"adrenaline_rush": "Adrenaline Rush",
|
"adrenaline_rush": "Прилив адреналина",
|
||||||
"affinity_sliding": "Affinity Sliding",
|
"affinity_sliding": "Мастерский подкат",
|
||||||
"agitator": "Agitator",
|
"agitator": "Подстрекатель",
|
||||||
"bloodlust": "Bloodlust",
|
"berserk": "Безумец",
|
||||||
"burst": "Burst",
|
"bladescale_hone": "Острая чешуя",
|
||||||
"coalescence": "Coalescence",
|
"blood_awakening": "Пробуждение крови",
|
||||||
"counterstrike": "Counterstrike",
|
"bloodlust": "Кровожадность",
|
||||||
"dereliction": "Dereliction",
|
"burst": "Выброс",
|
||||||
"dragonheart": "Dragonheart",
|
"coalescence": "Сращивание",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"counterstrike": "Контрудар",
|
||||||
"furious": "Furious",
|
"dereliction": "Упущение",
|
||||||
"grinder_s": "Grinder (S)",
|
"dragon_conversion_elemental_attack_up": "Преобраз-е дракона: усил. эл. атаки",
|
||||||
"heaven_sent": "Heaven-Sent",
|
"dragon_conversion_elemental_res_up": "Преобраз-е дракона: усил. сопротивл.",
|
||||||
"hellfire_cloak": "Hellfire Cloak",
|
"dragonheart": "Драконье сердце",
|
||||||
"heroics": "Heroics",
|
"embolden": "Воодушевление",
|
||||||
"intrepid_heart": "Intrepid Heart",
|
"frenzied_bloodlust": "Буйная кровожадность",
|
||||||
"kushala_daora_soul": "Kushala Daora Soul",
|
"furious": "Гнев",
|
||||||
"latent_power": "Latent Power",
|
"grinder_s": "Дробилка (S)",
|
||||||
"maximum_might": "Maximum Might",
|
"heaven_sent": "Божий посланник",
|
||||||
"offensive_guard": "Offensive Guard",
|
"hellfire_cloak": "Завеса ад. пламени",
|
||||||
"peak_performance": "Peak Performance",
|
"heroics": "Героизм",
|
||||||
"protective_polish": "Protective Polish",
|
"inspiration": "Вдохновение",
|
||||||
"resentment": "Resentment",
|
"intrepid_heart": "бесстрашное сердце",
|
||||||
"resuscitate": "Resuscitate",
|
"latent_power": "Скрытая энергия",
|
||||||
"status_trigger": "Status Trigger",
|
"maximum_might": "Макс. могущество",
|
||||||
"wall_runner": "Wall Runner",
|
"offensive_guard": "Агрессивная защита",
|
||||||
"wind_mantle": "Wind Mantle"
|
"partbreaker": "Рассекатель",
|
||||||
|
"peak_performance": "На высоте",
|
||||||
|
"powder_mantle_blue": "Порошковый покров (синий)",
|
||||||
|
"powder_mantle_red": "Порошковый покров (красный)",
|
||||||
|
"protective_polish": "Защитная полировка",
|
||||||
|
"resentment": "Презрение",
|
||||||
|
"resuscitate": "Оживление",
|
||||||
|
"spiribirds_call": "Зов Духоптицы",
|
||||||
|
"status_trigger": "Смена статуса",
|
||||||
|
"strife": "Борьба",
|
||||||
|
"wall_runner": "Бегун по стенам",
|
||||||
|
"wind_mantle": "Мантия ветра"
|
||||||
},
|
},
|
||||||
"stats": {
|
"stats": {
|
||||||
"affinity": "Affinity",
|
"affinity": "Мастерство",
|
||||||
"attack": "Attack",
|
"attack": "Атака",
|
||||||
"defense": "Defense",
|
"defense": "Защита",
|
||||||
"dragon": "Dragon",
|
"dragon": "Дракон",
|
||||||
"dragon_resistance": "Dragon Res",
|
"dragon_resistance": "Сопрот. дракону",
|
||||||
"fire": "Fire",
|
"fire": "Огонь",
|
||||||
"fire_resistance": "Fire Res",
|
"fire_resistance": "Сопрот. огню",
|
||||||
"ice": "Ice",
|
"ice": "Лед",
|
||||||
"ice_resistance": "Ice Res",
|
"ice_resistance": "Сопрот. льду",
|
||||||
"stamina": "Stamina",
|
"stamina": "Выносливость",
|
||||||
"thunder": "Thunder",
|
"thunder": "Гроза",
|
||||||
"thunder_resistance": "Thunder Res",
|
"thunder_resistance": "Сопрот. грозе",
|
||||||
"water": "Water",
|
"water": "Вода",
|
||||||
"water_resistance": "Water Res"
|
"water_resistance": "Сопрот. воде"
|
||||||
},
|
},
|
||||||
"unicode_glyph_ranges": [
|
"unicode_glyph_ranges": [
|
||||||
32,
|
32,
|
||||||
255,
|
255,
|
||||||
|
256,
|
||||||
|
383,
|
||||||
1024,
|
1024,
|
||||||
1241,
|
1327,
|
||||||
|
7680,
|
||||||
|
7935,
|
||||||
8192,
|
8192,
|
||||||
8303,
|
8303,
|
||||||
65280,
|
65280,
|
||||||
65519,
|
65519,
|
||||||
|
0,
|
||||||
|
64255,
|
||||||
|
65072,
|
||||||
|
65103,
|
||||||
|
65280,
|
||||||
|
65519,
|
||||||
0
|
0
|
||||||
],
|
],
|
||||||
"weapon_skills": {
|
"weapon_skills": {
|
||||||
"amped_state": "Amped State",
|
"bow": {
|
||||||
"axe_heavy_slam": "Axe: Heavy Slam",
|
"arc_shot_affinity": "Выстрел дугой: мастерство",
|
||||||
"harvest_moon": "Harvest Moon",
|
"arc_shot_brace": "Выстрел дугой: сгруппир.",
|
||||||
"iai_slash": "Iai Slash",
|
"bolt_boost": "Усиление снарядов",
|
||||||
"power_sheathe": "Power Sheathe",
|
"herculean_draw": "Натяжение Геркулеса"
|
||||||
"soaring_kick": "Soaring Kick",
|
},
|
||||||
"spirit_gauge": "Spirit Gauge",
|
"charge_blade": {
|
||||||
"spirit_gauge_autofill": "Spirit Gauge Autofill",
|
"element_boost": "Усиление стихии",
|
||||||
"switch_charger": "Switch Charger"
|
"sword_boost_mode": "Режим усиления меча"
|
||||||
|
},
|
||||||
|
"dual_blades": {
|
||||||
|
"archdemon_mode": "Режим архидемона",
|
||||||
|
"ironshine_silk": "Блестящий шелк"
|
||||||
|
},
|
||||||
|
"great_sword": {
|
||||||
|
"power_sheathe": "Мощное убирание оружия"
|
||||||
|
},
|
||||||
|
"gunlance": {
|
||||||
|
"erupting_cannon": "Вулканическая пушка",
|
||||||
|
"ground_splitter": "Раскол земли"
|
||||||
|
},
|
||||||
|
"hammer": {
|
||||||
|
"impact_burst": "Взрыв от удара"
|
||||||
|
},
|
||||||
|
"heavy_bowgun": {
|
||||||
|
"counter_charger": "Заряженная контратака",
|
||||||
|
"overheat": "Перегрев",
|
||||||
|
"rising_moon": "Восходящая луна",
|
||||||
|
"setting_sun": "Заходящее солнце",
|
||||||
|
"wyvernsnipe_reload": "Перезарядка меткости виверны"
|
||||||
|
},
|
||||||
|
"hunting_horn": {
|
||||||
|
"bead_of_resonance": "Бусина резонанса",
|
||||||
|
"silkbind_shockwave": "Волна паутины",
|
||||||
|
"sonic_bloom": "Звуковой цветов"
|
||||||
|
},
|
||||||
|
"insect_glaive": {
|
||||||
|
"all_extracts_mix": "Смесь всех экстрактов",
|
||||||
|
"orange_extract": "Оранжевый экстракт",
|
||||||
|
"red_extract": "Красный экстракт",
|
||||||
|
"white_extract": "Белый экстракт"
|
||||||
|
},
|
||||||
|
"lance": {
|
||||||
|
"anchor_rage": "Опорный гнев",
|
||||||
|
"spiral_thrust": "Спиральный выпад",
|
||||||
|
"twin_wine": "Побеги-близнецы"
|
||||||
|
},
|
||||||
|
"light_bowgun": {
|
||||||
|
"fanning_maneuver": "Веерный маневр",
|
||||||
|
"wyvernblast_reload": "Перезарядка взрыва виверны"
|
||||||
|
},
|
||||||
|
"long_sword": {
|
||||||
|
"harvest_moon": "Луна урожая",
|
||||||
|
"iai_slash": "Удар на выхвате",
|
||||||
|
"soaring_kick": "Парящий удар ногой",
|
||||||
|
"spirit_gauge": "Шкала духа",
|
||||||
|
"spirit_gauge_autofill": "Самозаполнение шкалы духа"
|
||||||
|
},
|
||||||
|
"switch_axe": {
|
||||||
|
"amped_state": "Усил. состояние",
|
||||||
|
"axe_heavy_slam": "Топор: Неистовый удар",
|
||||||
|
"switch_charger": "Выкидной заряд"
|
||||||
|
},
|
||||||
|
"sword_and_shield": {
|
||||||
|
"destroyer_oil": "Масло уничтожения"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"weapons": {
|
||||||
|
"bow": "Лук",
|
||||||
|
"charge_blade": "Силовой клинок",
|
||||||
|
"dual_blades": "Два клинка",
|
||||||
|
"great_sword": "Двуручный меч",
|
||||||
|
"gunlance": "Копьепушка",
|
||||||
|
"hammer": "Молот",
|
||||||
|
"heavy_bowgun": "Тяжелое лукорудие",
|
||||||
|
"hunting_horn": "Охотничий рог",
|
||||||
|
"insect_glaive": "Глефа насекомых",
|
||||||
|
"lance": "Копье",
|
||||||
|
"light_bowgun": "Легкое лукорудие",
|
||||||
|
"long_sword": "Бастард",
|
||||||
|
"switch_axe": "Выкидной топор",
|
||||||
|
"sword_and_shield": "Меч и щит"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,9 +3,10 @@
|
|||||||
"HP": "生命:",
|
"HP": "生命:",
|
||||||
"buildup": "积累值:",
|
"buildup": "积累值:",
|
||||||
"gold": "金冠",
|
"gold": "金冠",
|
||||||
|
"lv": "",
|
||||||
"mini": "小型",
|
"mini": "小型",
|
||||||
"otomo": "随从",
|
"otomo": "随从",
|
||||||
"part_anomaly_core": "怪异核",
|
"part_anomaly_core": "Anomaly Core",
|
||||||
"part_break": "部位破坏",
|
"part_break": "部位破坏",
|
||||||
"part_sever": "部位切断",
|
"part_sever": "部位切断",
|
||||||
"player": "玩家",
|
"player": "玩家",
|
||||||
@@ -21,7 +22,6 @@
|
|||||||
"blastblight": "Blastblight",
|
"blastblight": "Blastblight",
|
||||||
"bleeding": "Bleeding",
|
"bleeding": "Bleeding",
|
||||||
"bloodblight": "Bloodblight",
|
"bloodblight": "Bloodblight",
|
||||||
"bubbleblight": "Bubbleblight",
|
|
||||||
"deadly_poison": "Deadly Poison",
|
"deadly_poison": "Deadly Poison",
|
||||||
"defense_down": "Defense Down",
|
"defense_down": "Defense Down",
|
||||||
"dragonblight": "Dragonblight",
|
"dragonblight": "Dragonblight",
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
"exhaust": "减气",
|
"exhaust": "减气",
|
||||||
"fall_otomo_trap": "随从落穴陷阱",
|
"fall_otomo_trap": "随从落穴陷阱",
|
||||||
"fall_trap": "落穴陷阱",
|
"fall_trap": "落穴陷阱",
|
||||||
|
"falling_asleep": "Falling Asleep",
|
||||||
"fireblight": "火异常状态",
|
"fireblight": "火异常状态",
|
||||||
"flash": "闪光",
|
"flash": "闪光",
|
||||||
"frenzy": "Frenzy",
|
"frenzy": "Frenzy",
|
||||||
@@ -60,22 +61,10 @@
|
|||||||
"waterblight": "水异常状态",
|
"waterblight": "水异常状态",
|
||||||
"webbed": "Webbed"
|
"webbed": "Webbed"
|
||||||
},
|
},
|
||||||
"consumables": {
|
|
||||||
"adamant_seed": "Adamant Seed",
|
|
||||||
"armorskin": "Armorskin",
|
|
||||||
"dash_juice": "Dash Juice",
|
|
||||||
"demon_powder": "Demon Powder",
|
|
||||||
"demondrug": "Demondrug",
|
|
||||||
"gourmet_fish": "Gourmet Fish",
|
|
||||||
"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": "当更改字体时,请重新加载脚本!",
|
||||||
|
"abnormal_statuses": "Abnormal Statuses",
|
||||||
"activation_count": "激活次数",
|
"activation_count": "激活次数",
|
||||||
"affinity_label": "Affinity Label",
|
"affinity_label": "Affinity Label",
|
||||||
"ailment_buildups": "状态异常积累值",
|
"ailment_buildups": "状态异常积累值",
|
||||||
@@ -85,10 +74,10 @@
|
|||||||
"ailments": "状态异常",
|
"ailments": "状态异常",
|
||||||
"all_UI": "所有UI",
|
"all_UI": "所有UI",
|
||||||
"anchor": "锚点",
|
"anchor": "锚点",
|
||||||
"anomaly_cores": "怪异核",
|
"anomaly_cores": "Anomaly Cores",
|
||||||
"anomaly_filter": "怪异核",
|
"anomaly_filter": "Anomaly Core",
|
||||||
"anomaly_health": "怪异核破坏值",
|
"anomaly_health": "Anomaly Core Health",
|
||||||
"anomaly_health_percentage": "怪异核破坏百分比",
|
"anomaly_health_percentage": "Anomaly Core Health Percentage",
|
||||||
"apply": "应用",
|
"apply": "应用",
|
||||||
"assign_new_key": "指定新按键",
|
"assign_new_key": "指定新按键",
|
||||||
"attack_label": "Attack Label",
|
"attack_label": "Attack Label",
|
||||||
@@ -98,17 +87,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_filter": "Break + Anomaly Core",
|
||||||
"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_filter": "Break + Sever + Anomaly Core",
|
||||||
"break_sever_filter": "破坏+切断",
|
"break_sever_filter": "破坏+切断",
|
||||||
"buff_UI": "Buff UI",
|
"buff_UI": "Buff UI",
|
||||||
"buildup": "积累值",
|
"buildup": "积累值",
|
||||||
@@ -138,8 +127,8 @@
|
|||||||
"damage_meter_UI": "伤害统计UI",
|
"damage_meter_UI": "伤害统计UI",
|
||||||
"damage_percentage_label": "伤害百分比标签",
|
"damage_percentage_label": "伤害百分比标签",
|
||||||
"damage_value_label": "伤害量标签",
|
"damage_value_label": "伤害量标签",
|
||||||
|
"dango_skills": "Dango Skills",
|
||||||
"debug": "Debug",
|
"debug": "Debug",
|
||||||
"debug_errors": "Debug Errors",
|
|
||||||
"default_state": "默认阶段",
|
"default_state": "默认阶段",
|
||||||
"defense_label": "Defense Label",
|
"defense_label": "Defense Label",
|
||||||
"delete": "删除",
|
"delete": "删除",
|
||||||
@@ -152,17 +141,19 @@
|
|||||||
"duration": "持续时间",
|
"duration": "持续时间",
|
||||||
"dynamic_positioning": "动态位置",
|
"dynamic_positioning": "动态位置",
|
||||||
"dynamically_positioned": "动态位置",
|
"dynamically_positioned": "动态位置",
|
||||||
|
"effect_level": "Effect Level",
|
||||||
"element_2_label": "Element 2 Label",
|
"element_2_label": "Element 2 Label",
|
||||||
"element_label": "Element Label",
|
"element_label": "Element Label",
|
||||||
"enable_for": "开启",
|
"enable_for": "开启",
|
||||||
"enabled": "开启",
|
"enabled": "开启",
|
||||||
"endemic_life": "环境生物",
|
"endemic_life": "Endemic Life",
|
||||||
"endemic_life_UI": "环境生物UI",
|
"endemic_life_UI": "环境生物UI",
|
||||||
|
"endemic_life_buffs": "Endemic Life Buffs",
|
||||||
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
||||||
"family": "字体",
|
"family": "字体",
|
||||||
"farthest": "最远",
|
"farthest": "最远",
|
||||||
"fight_time": "战斗时间",
|
"fight_time": "战斗时间",
|
||||||
"fill_direction": "填充方向",
|
"fill_direction": "Fill Direction",
|
||||||
"filter": "筛选器",
|
"filter": "筛选器",
|
||||||
"filter_mode": "筛选方式",
|
"filter_mode": "筛选方式",
|
||||||
"fire_resistance_label": "Fire Resistance Label",
|
"fire_resistance_label": "Fire Resistance Label",
|
||||||
@@ -174,16 +165,17 @@
|
|||||||
"global_position_modifier": "全局位置更改",
|
"global_position_modifier": "全局位置更改",
|
||||||
"global_scale_modifier": "全局比例更改",
|
"global_scale_modifier": "全局比例更改",
|
||||||
"global_settings": "全局设定",
|
"global_settings": "全局设定",
|
||||||
|
"head_tracking": "Head Tracking",
|
||||||
"health": "生命",
|
"health": "生命",
|
||||||
"health_anomaly_filter": "生命+怪异核",
|
"health_anomaly_filter": "Health + Anomaly Core",
|
||||||
"health_break_anomaly_filter": "生命+破坏+怪异核",
|
"health_break_anomaly_filter": "Health + Break + Anomaly Core",
|
||||||
"health_break_filter": "生命+破坏",
|
"health_break_filter": "生命+破坏",
|
||||||
"health_break_sever_anomaly_filter": "生命+破坏+切断+怪异核",
|
"health_break_sever_anomaly_filter": "Health + Break + Sever + Anomaly Core",
|
||||||
"health_break_sever_filter": "生命+破坏+切断",
|
"health_break_sever_filter": "生命+破坏+切断",
|
||||||
"health_filter": "生命",
|
"health_filter": "生命",
|
||||||
"health_label": "Health Label",
|
"health_label": "Health Label",
|
||||||
"health_percentage": "生命百分比",
|
"health_percentage": "生命百分比",
|
||||||
"health_sever_anomaly_filter": "生命+切断+怪异核",
|
"health_sever_anomaly_filter": "Health + Sever + Anomaly Core",
|
||||||
"health_sever_filter": "生命+切断",
|
"health_sever_filter": "生命+切断",
|
||||||
"height": "高度",
|
"height": "高度",
|
||||||
"hide_ailments_with_zero_buildup": "当积累值为0时隐藏该状态异常",
|
"hide_ailments_with_zero_buildup": "当积累值为0时隐藏该状态异常",
|
||||||
@@ -221,12 +213,14 @@
|
|||||||
"in_lobby": "在大厅",
|
"in_lobby": "在大厅",
|
||||||
"in_training_area": "在修炼场",
|
"in_training_area": "在修炼场",
|
||||||
"include": "包含",
|
"include": "包含",
|
||||||
|
"infinite_buffs_location": "Infinite Buffs Location",
|
||||||
"inside": "里面",
|
"inside": "里面",
|
||||||
"installations": "狩猎设备",
|
"installations": "Installations",
|
||||||
"italic": "斜体",
|
"italic": "斜体",
|
||||||
|
"item_buffs": "Item Buffs",
|
||||||
"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",
|
||||||
@@ -234,7 +228,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": "任务加载中",
|
||||||
@@ -247,8 +241,10 @@
|
|||||||
"max_monster_updates_per_tick": "每次更新的最大怪物数量",
|
"max_monster_updates_per_tick": "每次更新的最大怪物数量",
|
||||||
"max_value": "最大值",
|
"max_value": "最大值",
|
||||||
"me": "我",
|
"me": "我",
|
||||||
|
"melody_effects": "Melody Effects",
|
||||||
"menu_font": "菜单字体",
|
"menu_font": "菜单字体",
|
||||||
"menu_font_change_disclaimer": "多次改变字体或语言会导致崩溃!",
|
"menu_font_change_disclaimer": "多次改变字体或语言会导致崩溃!",
|
||||||
|
"misc_buffs": "Misc Buffs",
|
||||||
"mod_name": "MHR Overlay",
|
"mod_name": "MHR Overlay",
|
||||||
"mode": "模式",
|
"mode": "模式",
|
||||||
"modifiers": "更改项",
|
"modifiers": "更改项",
|
||||||
@@ -258,7 +254,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": "我自己",
|
||||||
@@ -271,10 +267,11 @@
|
|||||||
"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": "随从",
|
"otomo_moves": "Buddy Moves",
|
||||||
|
"otomos": "Buddies",
|
||||||
"outline": "轮廓",
|
"outline": "轮廓",
|
||||||
"outside": "外面",
|
"outside": "外面",
|
||||||
"part_health": "部位生命值",
|
"part_health": "部位生命值",
|
||||||
@@ -285,7 +282,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": "位置",
|
||||||
@@ -297,28 +294,30 @@
|
|||||||
"quest_start_animation": "任务开始动画",
|
"quest_start_animation": "任务开始动画",
|
||||||
"quest_time": "任务时间",
|
"quest_time": "任务时间",
|
||||||
"rage": "愤怒",
|
"rage": "愤怒",
|
||||||
|
"rampage_skills": "Rampage Skills",
|
||||||
"reframework_outdated": "已安装的REFramework版本过低,请更新。否则MHR Overlay不能正常工作。",
|
"reframework_outdated": "已安装的REFramework版本过低,请更新。否则MHR Overlay不能正常工作。",
|
||||||
"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_filter": "Sever + Anomaly Core",
|
||||||
"sever_filter": "切断",
|
"sever_filter": "切断",
|
||||||
"shadow": "阴影",
|
"shadow": "阴影",
|
||||||
"show_my_otomos_separately": "分开显示我的随从",
|
"show_my_otomos_separately": "分开显示我的随从",
|
||||||
"show_other_player_otomos_separately": "分开显示其他玩家的随从",
|
"show_other_player_otomos_separately": "分开显示其他玩家的随从",
|
||||||
"show_servant_otomos_separately": "分开显示盟友的随从",
|
"show_servant_otomos_separately": "分开显示盟友的随从",
|
||||||
"size": "大小",
|
"size": "大小",
|
||||||
|
"skills": "Skills",
|
||||||
"small_monster_UI": "小型怪物UI",
|
"small_monster_UI": "小型怪物UI",
|
||||||
"small_monsters": "小型怪物群",
|
"small_monsters": "小型怪物群",
|
||||||
"sorting": "排序方式",
|
"sorting": "排序方式",
|
||||||
@@ -341,13 +340,14 @@
|
|||||||
"time_label": "时间标签",
|
"time_label": "时间标签",
|
||||||
"time_limit": "时间限制(秒)",
|
"time_limit": "时间限制(秒)",
|
||||||
"timer": "计时器",
|
"timer": "计时器",
|
||||||
|
"timer_delays": "Timer Delays",
|
||||||
"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": "总积累值标签",
|
||||||
@@ -363,6 +363,14 @@
|
|||||||
"tracked_damage_types": "跟踪的伤害类型",
|
"tracked_damage_types": "跟踪的伤害类型",
|
||||||
"tracked_monster_types": "跟踪的怪物类型",
|
"tracked_monster_types": "跟踪的怪物类型",
|
||||||
"type": "类型",
|
"type": "类型",
|
||||||
|
"update_buffs_delay": "Update Buffs (seconds)",
|
||||||
|
"update_is_online_delay": "Update Is Online (seconds)",
|
||||||
|
"update_myself_position_delay": "Update Myself Position (seconds)",
|
||||||
|
"update_player_info_delay": "Update Player Info (seconds)",
|
||||||
|
"update_players_delay": "Update Players (seconds)",
|
||||||
|
"update_quest_time_delay": "Update Quest Time (seconds)",
|
||||||
|
"update_singletons_delay": "Update Singletons (seconds)",
|
||||||
|
"update_window_size_delay": "Update Window Size (seconds)",
|
||||||
"use_d2d_if_available": "可用时使用Direct2D",
|
"use_d2d_if_available": "可用时使用Direct2D",
|
||||||
"value": "Value",
|
"value": "Value",
|
||||||
"value_label": "数字",
|
"value_label": "数字",
|
||||||
@@ -370,59 +378,54 @@
|
|||||||
"viewport_offset": "窗口偏移",
|
"viewport_offset": "窗口偏移",
|
||||||
"visible": "可见",
|
"visible": "可见",
|
||||||
"water_resistance_label": "Water Resistance Label",
|
"water_resistance_label": "Water Resistance Label",
|
||||||
|
"weapon_skills": "Weapon Skills",
|
||||||
"width": "宽度",
|
"width": "宽度",
|
||||||
"world_offset": "整体偏移",
|
"world_offset": "整体偏移",
|
||||||
"wyvern_riding": "御龙",
|
"wyvern_riding": "Wyvern Riding",
|
||||||
"x": "X轴",
|
"x": "X轴",
|
||||||
"y": "Y轴",
|
"y": "Y轴",
|
||||||
"z": "Z轴"
|
"z": "Z轴"
|
||||||
},
|
},
|
||||||
"dangos": {
|
"dango_skills": {
|
||||||
"dango_adrenaline": "Dango Adrenaline",
|
"dango_adrenaline": "Dango Adrenaline",
|
||||||
"dango_bombardier": "Dango Bombardier",
|
|
||||||
"dango_booster": "Dango Booster",
|
"dango_booster": "Dango Booster",
|
||||||
"dango_bulker": "Dango Bulker",
|
"dango_bulker": "Dango Bulker",
|
||||||
"dango_connector": "Dango Connector",
|
"dango_connector": "Dango Connector",
|
||||||
"dango_defender": "Dango Defender",
|
"dango_defender": "Dango Defender",
|
||||||
"dango_defender_hi": "Dango Defender (Hi)",
|
|
||||||
"dango_deflector": "Dango Deflector",
|
|
||||||
"dango_dragon_res": "Dango Dragon Res",
|
|
||||||
"dango_dragon_res_hi": "Dango Dragon Res (Hi)",
|
|
||||||
"dango_driver": "Dango Driver",
|
|
||||||
"dango_feet": "Dango Feet",
|
|
||||||
"dango_fighter": "Dango Fighter",
|
|
||||||
"dango_fire_res": "Dango Fire Res",
|
|
||||||
"dango_fire_res_hi": "Dango Fire Res (Hi)",
|
|
||||||
"dango_flyer": "Dango Flyer",
|
"dango_flyer": "Dango Flyer",
|
||||||
"dango_glutton": "Dango Glutton",
|
"dango_glutton": "Dango Glutton",
|
||||||
"dango_guard": "Dango Guard",
|
|
||||||
"dango_hunter": "Dango Hunter",
|
"dango_hunter": "Dango Hunter",
|
||||||
"dango_hurler": "Dango Hurler",
|
|
||||||
"dango_ice_res": "Dango Ice Res",
|
|
||||||
"dango_ice_res_hi": "Dango Ice Res (Hi)",
|
|
||||||
"dango_immunizer": "Dango Immunizer",
|
|
||||||
"dango_insurance": "Dango Insurance",
|
"dango_insurance": "Dango Insurance",
|
||||||
"dango_marksman": "Dango Marksman",
|
"dango_insurance_defense_up": "Dango Insurance Defense Up",
|
||||||
"dango_medic": "Dango Medic",
|
|
||||||
"dango_medic_hi": "Dango Medic (Hi)",
|
|
||||||
"dango_moxie": "Dango Moxie",
|
|
||||||
"dango_polisher": "Dango Polisher",
|
|
||||||
"dango_pyro": "Dango Pyro",
|
|
||||||
"dango_reviver": "Dango Reviver",
|
|
||||||
"dango_rider": "Dango Rider",
|
|
||||||
"dango_shifter": "Dango Shifter",
|
|
||||||
"dango_slugger": "Dango Slugger",
|
|
||||||
"dango_specialist": "Dango Specialist",
|
|
||||||
"dango_temper": "Dango Temper",
|
|
||||||
"dango_thunder_res": "Dango Thunder Res ",
|
|
||||||
"dango_thunder_res_hi": "Dango Thunder Res (Hi)",
|
|
||||||
"dango_wall_runner": "Dango Wall Runner",
|
|
||||||
"dango_water_res": "Dango Water Res",
|
|
||||||
"dango_water_res_hi": "Dango Water Res (Hi)",
|
|
||||||
"dango_weakener": "Dango Weakener",
|
|
||||||
"super_recovery_dango": "Super Recovery Dango"
|
"super_recovery_dango": "Super Recovery Dango"
|
||||||
},
|
},
|
||||||
|
"endemic_life": {
|
||||||
|
"butterflame": "Butterflame",
|
||||||
|
"clothfly": "Clothfly",
|
||||||
|
"cutterfly": "Cutterfly",
|
||||||
|
"gold_wirebug": "Gold Wirebug",
|
||||||
|
"peepersects": "Peepersects",
|
||||||
|
"red_lampsquid": "Red Lampsquid",
|
||||||
|
"ruby_wirebug": "Ruby Wirebug",
|
||||||
|
"stinkmink": "Stinkmink",
|
||||||
|
"yellow_lampsquid": "Yellow Lampsquid"
|
||||||
|
},
|
||||||
"font_name": "NotoSansSC-Bold.otf",
|
"font_name": "NotoSansSC-Bold.otf",
|
||||||
|
"item_buffs": {
|
||||||
|
"adamant_seed": "Adamant Seed",
|
||||||
|
"armor_ammo": "Armor Ammo",
|
||||||
|
"armorskin": "Armorskin",
|
||||||
|
"dash_juice": "Dash Juice",
|
||||||
|
"demon_ammo": "Demon Ammo",
|
||||||
|
"demon_powder": "Demon Powder",
|
||||||
|
"demondrug": "Demondrug",
|
||||||
|
"gourmet_fish": "Gourmet Fish",
|
||||||
|
"hardshell_powder": "Hardshell Powder",
|
||||||
|
"immunizer": "Immunizer",
|
||||||
|
"mega_armorskin": "Mega Armorskin",
|
||||||
|
"mega_demondrug": "Mega Demondrug",
|
||||||
|
"might_seed": "Might Seed"
|
||||||
|
},
|
||||||
"melody_effects": {
|
"melody_effects": {
|
||||||
"affinity_up": "Affinity Up",
|
"affinity_up": "Affinity Up",
|
||||||
"attack_and_affinity_up": "Attack and Affinity Up",
|
"attack_and_affinity_up": "Attack and Affinity Up",
|
||||||
@@ -453,10 +456,18 @@
|
|||||||
"tremors_negated": "Tremors Negated",
|
"tremors_negated": "Tremors Negated",
|
||||||
"wind_pressure_negated": "Wind Pressure Negated"
|
"wind_pressure_negated": "Wind Pressure Negated"
|
||||||
},
|
},
|
||||||
|
"misc_buffs": {
|
||||||
|
"attack_up": "Attack Up",
|
||||||
|
"defense_up": "Defense Up",
|
||||||
|
"immunity": "Immunity",
|
||||||
|
"natural_healing_up": "Natural Healing Up",
|
||||||
|
"stamina_use_down": "Stamina Use Down"
|
||||||
|
},
|
||||||
"otomo_moves": {
|
"otomo_moves": {
|
||||||
"go_fight_win": "Go, Fight, Win",
|
"go_fight_win": "Go, Fight, Win",
|
||||||
"power_drum": "Power Drum",
|
"power_drum": "Power Drum",
|
||||||
"rousing_roar": "Rousing Roar"
|
"rousing_roar": "Rousing Roar",
|
||||||
|
"vase_of_vitality": "Vase of Vitality"
|
||||||
},
|
},
|
||||||
"parts": {
|
"parts": {
|
||||||
"abdomen": "腹部",
|
"abdomen": "腹部",
|
||||||
@@ -527,32 +538,47 @@
|
|||||||
"wingclaws": "翼爪",
|
"wingclaws": "翼爪",
|
||||||
"wings": "翼"
|
"wings": "翼"
|
||||||
},
|
},
|
||||||
|
"rampage_skills": {
|
||||||
|
"chameleos_soul": "Chameleos Soul",
|
||||||
|
"kushala_daora_soul": "Kushala Daora Soul"
|
||||||
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"adrenaline_rush": "Adrenaline Rush",
|
"adrenaline_rush": "Adrenaline Rush",
|
||||||
"affinity_sliding": "Affinity Sliding",
|
"affinity_sliding": "Affinity Sliding",
|
||||||
"agitator": "Agitator",
|
"agitator": "Agitator",
|
||||||
|
"berserk": "Berserk",
|
||||||
|
"bladescale_hone": "Bladescale Hone",
|
||||||
|
"blood_awakening": "Blood Awakening",
|
||||||
"bloodlust": "Bloodlust",
|
"bloodlust": "Bloodlust",
|
||||||
"burst": "Burst",
|
"burst": "Burst",
|
||||||
"coalescence": "Coalescence",
|
"coalescence": "Coalescence",
|
||||||
"counterstrike": "Counterstrike",
|
"counterstrike": "Counterstrike",
|
||||||
"dereliction": "Dereliction",
|
"dereliction": "Dereliction",
|
||||||
|
"dragon_conversion_elemental_attack_up": "Dragon Conversion: Elem. Atk Up",
|
||||||
|
"dragon_conversion_elemental_res_up": "Dragon Conversion: Elem. Res Up",
|
||||||
"dragonheart": "Dragonheart",
|
"dragonheart": "Dragonheart",
|
||||||
|
"embolden": "Embolden",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"frenzied_bloodlust": "Frenzied Bloodlust",
|
||||||
"furious": "Furious",
|
"furious": "Furious",
|
||||||
"grinder_s": "Grinder (S)",
|
"grinder_s": "Grinder (S)",
|
||||||
"heaven_sent": "Heaven-Sent",
|
"heaven_sent": "Heaven-Sent",
|
||||||
"hellfire_cloak": "Hellfire Cloak",
|
"hellfire_cloak": "Hellfire Cloak",
|
||||||
"heroics": "Heroics",
|
"heroics": "Heroics",
|
||||||
|
"inspiration": "Inspiration",
|
||||||
"intrepid_heart": "Intrepid Heart",
|
"intrepid_heart": "Intrepid Heart",
|
||||||
"kushala_daora_soul": "Kushala Daora Soul",
|
|
||||||
"latent_power": "Latent Power",
|
"latent_power": "Latent Power",
|
||||||
"maximum_might": "Maximum Might",
|
"maximum_might": "Maximum Might",
|
||||||
"offensive_guard": "Offensive Guard",
|
"offensive_guard": "Offensive Guard",
|
||||||
|
"partbreaker": "Partbreaker",
|
||||||
"peak_performance": "Peak Performance",
|
"peak_performance": "Peak Performance",
|
||||||
|
"powder_mantle_blue": "Powder Mantle (Blue)",
|
||||||
|
"powder_mantle_red": "Powder Mantle (Red)",
|
||||||
"protective_polish": "Protective Polish",
|
"protective_polish": "Protective Polish",
|
||||||
"resentment": "Resentment",
|
"resentment": "Resentment",
|
||||||
"resuscitate": "Resuscitate",
|
"resuscitate": "Resuscitate",
|
||||||
|
"spiribirds_call": "Spiribird's Call",
|
||||||
"status_trigger": "Status Trigger",
|
"status_trigger": "Status Trigger",
|
||||||
|
"strife": "Strife",
|
||||||
"wall_runner": "Wall Runner",
|
"wall_runner": "Wall Runner",
|
||||||
"wind_mantle": "Wind Mantle"
|
"wind_mantle": "Wind Mantle"
|
||||||
},
|
},
|
||||||
@@ -577,25 +603,104 @@
|
|||||||
255,
|
255,
|
||||||
8192,
|
8192,
|
||||||
8303,
|
8303,
|
||||||
|
11904,
|
||||||
|
12031,
|
||||||
12288,
|
12288,
|
||||||
12543,
|
12351,
|
||||||
12784,
|
12800,
|
||||||
12799,
|
19903,
|
||||||
19968,
|
19968,
|
||||||
40879,
|
40959,
|
||||||
|
63744,
|
||||||
|
64255,
|
||||||
|
65072,
|
||||||
|
65103,
|
||||||
65280,
|
65280,
|
||||||
65519,
|
65519,
|
||||||
0
|
0
|
||||||
],
|
],
|
||||||
"weapon_skills": {
|
"weapon_skills": {
|
||||||
"amped_state": "Amped State",
|
"bow": {
|
||||||
"axe_heavy_slam": "Axe: Heavy Slam",
|
"arc_shot_affinity": "Arc Shot: Affinity",
|
||||||
|
"arc_shot_brace": "Arc Shot: Brace",
|
||||||
|
"bolt_boost": "Bolt Boost",
|
||||||
|
"herculean_draw": "Herculean Draw"
|
||||||
|
},
|
||||||
|
"charge_blade": {
|
||||||
|
"element_boost": "Element Boost",
|
||||||
|
"sword_boost_mode": "Sword Boost Mode"
|
||||||
|
},
|
||||||
|
"dual_blades": {
|
||||||
|
"archdemon_mode": "Archdemon Mode",
|
||||||
|
"ironshine_silk": "Ironshine Silk"
|
||||||
|
},
|
||||||
|
"great_sword": {
|
||||||
|
"power_sheathe": "Power Sheathe"
|
||||||
|
},
|
||||||
|
"gunlance": {
|
||||||
|
"erupting_cannon": "Erupting Cannon",
|
||||||
|
"ground_splitter": "Ground Splitter"
|
||||||
|
},
|
||||||
|
"hammer": {
|
||||||
|
"impact_burst": "Impact Burst"
|
||||||
|
},
|
||||||
|
"heavy_bowgun": {
|
||||||
|
"counter_charger": "Counter Charger",
|
||||||
|
"overheat": "Overheat",
|
||||||
|
"rising_moon": "Rising Moon",
|
||||||
|
"setting_sun": "Setting Sun",
|
||||||
|
"wyvernsnipe_reload": "Wyvernsnipe Reload"
|
||||||
|
},
|
||||||
|
"hunting_horn": {
|
||||||
|
"bead_of_resonance": "Bead of Resonance",
|
||||||
|
"silkbind_shockwave": "Silkbind Shockwave",
|
||||||
|
"sonic_bloom": "Sonic Bloom"
|
||||||
|
},
|
||||||
|
"insect_glaive": {
|
||||||
|
"all_extracts_mix": "All Extracts Mix",
|
||||||
|
"orange_extract": "Orange Extract",
|
||||||
|
"red_extract": "Red Extract",
|
||||||
|
"white_extract": "White Extract"
|
||||||
|
},
|
||||||
|
"lance": {
|
||||||
|
"anchor_rage": "Anchor Rage",
|
||||||
|
"spiral_thrust": "Spiral Thrust",
|
||||||
|
"twin_wine": "Twin Wine"
|
||||||
|
},
|
||||||
|
"light_bowgun": {
|
||||||
|
"fanning_maneuver": "Fanning Maneuver",
|
||||||
|
"wyvernblast_reload": "Wyvernblast Reload"
|
||||||
|
},
|
||||||
|
"long_sword": {
|
||||||
"harvest_moon": "Harvest Moon",
|
"harvest_moon": "Harvest Moon",
|
||||||
"iai_slash": "Iai Slash",
|
"iai_slash": "Iai Slash",
|
||||||
"power_sheathe": "Power Sheathe",
|
|
||||||
"soaring_kick": "Soaring Kick",
|
"soaring_kick": "Soaring Kick",
|
||||||
"spirit_gauge": "Spirit Gauge",
|
"spirit_gauge": "Spirit Gauge",
|
||||||
"spirit_gauge_autofill": "Spirit Gauge Autofill",
|
"spirit_gauge_autofill": "Spirit Gauge Autofill"
|
||||||
|
},
|
||||||
|
"switch_axe": {
|
||||||
|
"amped_state": "Amped State",
|
||||||
|
"axe_heavy_slam": "Axe: Heavy Slam",
|
||||||
"switch_charger": "Switch Charger"
|
"switch_charger": "Switch Charger"
|
||||||
|
},
|
||||||
|
"sword_and_shield": {
|
||||||
|
"destroyer_oil": "Destroyer Oil"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"weapons": {
|
||||||
|
"bow": "Bow",
|
||||||
|
"charge_blade": "Charge Blade",
|
||||||
|
"dual_blades": "Dual Blades",
|
||||||
|
"great_sword": "Great Sword",
|
||||||
|
"gunlance": "Gunlance",
|
||||||
|
"hammer": "Hammer",
|
||||||
|
"heavy_bowgun": "Heavy Bowgun",
|
||||||
|
"hunting_horn": "Hunting Horn",
|
||||||
|
"insect_glaive": "Insect Glaive",
|
||||||
|
"lance": "Lance",
|
||||||
|
"light_bowgun": "Light Bowgun",
|
||||||
|
"long_sword": "Long Sword",
|
||||||
|
"switch_axe": "Switch Axe",
|
||||||
|
"sword_and_shield": "Sword & Shield"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
"HP": "生命:",
|
"HP": "生命:",
|
||||||
"buildup": "累積值:",
|
"buildup": "累積值:",
|
||||||
"gold": "金冠",
|
"gold": "金冠",
|
||||||
|
"lv": "",
|
||||||
"mini": "小型",
|
"mini": "小型",
|
||||||
"otomo": "Buddy",
|
"otomo": "Buddy",
|
||||||
"part_anomaly_core": "Anomaly Core",
|
"part_anomaly_core": "Anomaly Core",
|
||||||
@@ -21,7 +22,6 @@
|
|||||||
"blastblight": "Blastblight",
|
"blastblight": "Blastblight",
|
||||||
"bleeding": "Bleeding",
|
"bleeding": "Bleeding",
|
||||||
"bloodblight": "Bloodblight",
|
"bloodblight": "Bloodblight",
|
||||||
"bubbleblight": "Bubbleblight",
|
|
||||||
"deadly_poison": "Deadly Poison",
|
"deadly_poison": "Deadly Poison",
|
||||||
"defense_down": "Defense Down",
|
"defense_down": "Defense Down",
|
||||||
"dragonblight": "Dragonblight",
|
"dragonblight": "Dragonblight",
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
"exhaust": "疲勞",
|
"exhaust": "疲勞",
|
||||||
"fall_otomo_trap": "隨從地洞陷阱",
|
"fall_otomo_trap": "隨從地洞陷阱",
|
||||||
"fall_trap": "地洞陷阱",
|
"fall_trap": "地洞陷阱",
|
||||||
|
"falling_asleep": "Falling Asleep",
|
||||||
"fireblight": "火屬性異常",
|
"fireblight": "火屬性異常",
|
||||||
"flash": "失明",
|
"flash": "失明",
|
||||||
"frenzy": "Frenzy",
|
"frenzy": "Frenzy",
|
||||||
@@ -60,22 +61,10 @@
|
|||||||
"waterblight": "水屬性異常",
|
"waterblight": "水屬性異常",
|
||||||
"webbed": "Webbed"
|
"webbed": "Webbed"
|
||||||
},
|
},
|
||||||
"consumables": {
|
|
||||||
"adamant_seed": "Adamant Seed",
|
|
||||||
"armorskin": "Armorskin",
|
|
||||||
"dash_juice": "Dash Juice",
|
|
||||||
"demon_powder": "Demon Powder",
|
|
||||||
"demondrug": "Demondrug",
|
|
||||||
"gourmet_fish": "Gourmet Fish",
|
|
||||||
"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": "當更改文字時,請重新載入",
|
||||||
|
"abnormal_statuses": "Abnormal Statuses",
|
||||||
"activation_count": "觸發次數",
|
"activation_count": "觸發次數",
|
||||||
"affinity_label": "Affinity Label",
|
"affinity_label": "Affinity Label",
|
||||||
"ailment_buildups": "異常狀態累積值",
|
"ailment_buildups": "異常狀態累積值",
|
||||||
@@ -138,8 +127,8 @@
|
|||||||
"damage_meter_UI": "傷害量計算 UI",
|
"damage_meter_UI": "傷害量計算 UI",
|
||||||
"damage_percentage_label": "傷害量百分比",
|
"damage_percentage_label": "傷害量百分比",
|
||||||
"damage_value_label": "傷害量",
|
"damage_value_label": "傷害量",
|
||||||
|
"dango_skills": "Dango Skills",
|
||||||
"debug": "Debug",
|
"debug": "Debug",
|
||||||
"debug_errors": "Debug Errors",
|
|
||||||
"default_state": "Default State",
|
"default_state": "Default State",
|
||||||
"defense_label": "Defense Label",
|
"defense_label": "Defense Label",
|
||||||
"delete": "Delete",
|
"delete": "Delete",
|
||||||
@@ -152,12 +141,14 @@
|
|||||||
"duration": "Duration",
|
"duration": "Duration",
|
||||||
"dynamic_positioning": "浮動的資訊位置",
|
"dynamic_positioning": "浮動的資訊位置",
|
||||||
"dynamically_positioned": "浮動的魔物資訊",
|
"dynamically_positioned": "浮動的魔物資訊",
|
||||||
|
"effect_level": "Effect Level",
|
||||||
"element_2_label": "Element 2 Label",
|
"element_2_label": "Element 2 Label",
|
||||||
"element_label": "Element Label",
|
"element_label": "Element Label",
|
||||||
"enable_for": "啟用對象",
|
"enable_for": "啟用對象",
|
||||||
"enabled": "啟用",
|
"enabled": "啟用",
|
||||||
"endemic_life": "Endemic Life",
|
"endemic_life": "Endemic Life",
|
||||||
"endemic_life_UI": "環境生物 UI",
|
"endemic_life_UI": "環境生物 UI",
|
||||||
|
"endemic_life_buffs": "Endemic Life Buffs",
|
||||||
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
"everything_seems_to_be_ok": "Everything seems to be OK!",
|
||||||
"family": "字體",
|
"family": "字體",
|
||||||
"farthest": "最遠的",
|
"farthest": "最遠的",
|
||||||
@@ -174,6 +165,7 @@
|
|||||||
"global_position_modifier": "全域位置更改",
|
"global_position_modifier": "全域位置更改",
|
||||||
"global_scale_modifier": "全域比例更改",
|
"global_scale_modifier": "全域比例更改",
|
||||||
"global_settings": "全域設定",
|
"global_settings": "全域設定",
|
||||||
|
"head_tracking": "Head Tracking",
|
||||||
"health": "血量",
|
"health": "血量",
|
||||||
"health_anomaly_filter": "Health + Anomaly Core",
|
"health_anomaly_filter": "Health + Anomaly Core",
|
||||||
"health_break_anomaly_filter": "Health + Break + Anomaly Core",
|
"health_break_anomaly_filter": "Health + Break + Anomaly Core",
|
||||||
@@ -221,9 +213,11 @@
|
|||||||
"in_lobby": "In Lobby",
|
"in_lobby": "In Lobby",
|
||||||
"in_training_area": "In Training Area",
|
"in_training_area": "In Training Area",
|
||||||
"include": "細部資訊調整",
|
"include": "細部資訊調整",
|
||||||
|
"infinite_buffs_location": "Infinite Buffs Location",
|
||||||
"inside": "內部",
|
"inside": "內部",
|
||||||
"installations": "Installations",
|
"installations": "Installations",
|
||||||
"italic": "斜體",
|
"italic": "斜體",
|
||||||
|
"item_buffs": "Item Buffs",
|
||||||
"join_time": "加入時間",
|
"join_time": "加入時間",
|
||||||
"killcam": "Killcam",
|
"killcam": "Killcam",
|
||||||
"kunai": "Kunai",
|
"kunai": "Kunai",
|
||||||
@@ -247,8 +241,10 @@
|
|||||||
"max_monster_updates_per_tick": "每次更新的最大魔物數量",
|
"max_monster_updates_per_tick": "每次更新的最大魔物數量",
|
||||||
"max_value": "Max Value",
|
"max_value": "Max Value",
|
||||||
"me": "我",
|
"me": "我",
|
||||||
|
"melody_effects": "Melody Effects",
|
||||||
"menu_font": "選單字體大小",
|
"menu_font": "選單字體大小",
|
||||||
"menu_font_change_disclaimer": "重複變更語言和選單字型大小有可能會當機!",
|
"menu_font_change_disclaimer": "重複變更語言和選單字型大小有可能會當機!",
|
||||||
|
"misc_buffs": "Misc Buffs",
|
||||||
"mod_name": "MHR Overlay",
|
"mod_name": "MHR Overlay",
|
||||||
"mode": "Mode",
|
"mode": "Mode",
|
||||||
"modifiers": "更改項",
|
"modifiers": "更改項",
|
||||||
@@ -274,6 +270,7 @@
|
|||||||
"other": "Other",
|
"other": "Other",
|
||||||
"other_player_otomos": "Other Player Buddies",
|
"other_player_otomos": "Other Player Buddies",
|
||||||
"other_players": "其他玩家",
|
"other_players": "其他玩家",
|
||||||
|
"otomo_moves": "Buddy Moves",
|
||||||
"otomos": "Buddies",
|
"otomos": "Buddies",
|
||||||
"outline": "描邊",
|
"outline": "描邊",
|
||||||
"outside": "外部",
|
"outside": "外部",
|
||||||
@@ -297,6 +294,7 @@
|
|||||||
"quest_start_animation": "Quest Start Animation",
|
"quest_start_animation": "Quest Start Animation",
|
||||||
"quest_time": "任務時間",
|
"quest_time": "任務時間",
|
||||||
"rage": "憤怒度",
|
"rage": "憤怒度",
|
||||||
|
"rampage_skills": "Rampage Skills",
|
||||||
"reframework_outdated": "已安裝的 REFramework 版本已過期. 麻煩請更新版本, 否則 MHR Overlay 無法正確作用.",
|
"reframework_outdated": "已安裝的 REFramework 版本已過期. 麻煩請更新版本, 否則 MHR Overlay 無法正確作用.",
|
||||||
"relative_offset": "相對偏移",
|
"relative_offset": "相對偏移",
|
||||||
"rename": "Rename",
|
"rename": "Rename",
|
||||||
@@ -319,6 +317,7 @@
|
|||||||
"show_other_player_otomos_separately": "Show Other Player Buddies separately",
|
"show_other_player_otomos_separately": "Show Other Player Buddies separately",
|
||||||
"show_servant_otomos_separately": "Show Follower Buddies separately",
|
"show_servant_otomos_separately": "Show Follower Buddies separately",
|
||||||
"size": "大小",
|
"size": "大小",
|
||||||
|
"skills": "Skills",
|
||||||
"small_monster_UI": "小型魔物 UI",
|
"small_monster_UI": "小型魔物 UI",
|
||||||
"small_monsters": "小型魔物群",
|
"small_monsters": "小型魔物群",
|
||||||
"sorting": "排序方式",
|
"sorting": "排序方式",
|
||||||
@@ -341,6 +340,7 @@
|
|||||||
"time_label": "時間",
|
"time_label": "時間",
|
||||||
"time_limit": "時限 (秒)",
|
"time_limit": "時限 (秒)",
|
||||||
"timer": "Timer",
|
"timer": "Timer",
|
||||||
|
"timer_delays": "Timer Delays",
|
||||||
"timer_label": "計時器",
|
"timer_label": "計時器",
|
||||||
"top_buildup": "最高累積值",
|
"top_buildup": "最高累積值",
|
||||||
"top_damage": "最高傷害",
|
"top_damage": "最高傷害",
|
||||||
@@ -363,6 +363,14 @@
|
|||||||
"tracked_damage_types": "追蹤的傷害類型",
|
"tracked_damage_types": "追蹤的傷害類型",
|
||||||
"tracked_monster_types": "追蹤的魔物類型",
|
"tracked_monster_types": "追蹤的魔物類型",
|
||||||
"type": "類型",
|
"type": "類型",
|
||||||
|
"update_buffs_delay": "Update Buffs (seconds)",
|
||||||
|
"update_is_online_delay": "Update Is Online (seconds)",
|
||||||
|
"update_myself_position_delay": "Update Myself Position (seconds)",
|
||||||
|
"update_player_info_delay": "Update Player Info (seconds)",
|
||||||
|
"update_players_delay": "Update Players (seconds)",
|
||||||
|
"update_quest_time_delay": "Update Quest Time (seconds)",
|
||||||
|
"update_singletons_delay": "Update Singletons (seconds)",
|
||||||
|
"update_window_size_delay": "Update Window Size (seconds)",
|
||||||
"use_d2d_if_available": "Use Direct2D if available",
|
"use_d2d_if_available": "Use Direct2D if available",
|
||||||
"value": "Value",
|
"value": "Value",
|
||||||
"value_label": "數字",
|
"value_label": "數字",
|
||||||
@@ -370,6 +378,7 @@
|
|||||||
"viewport_offset": "視窗的位置",
|
"viewport_offset": "視窗的位置",
|
||||||
"visible": "可見",
|
"visible": "可見",
|
||||||
"water_resistance_label": "Water Resistance Label",
|
"water_resistance_label": "Water Resistance Label",
|
||||||
|
"weapon_skills": "Weapon Skills",
|
||||||
"width": "寬度",
|
"width": "寬度",
|
||||||
"world_offset": "地圖中的位置",
|
"world_offset": "地圖中的位置",
|
||||||
"wyvern_riding": "Wyvern Riding",
|
"wyvern_riding": "Wyvern Riding",
|
||||||
@@ -377,52 +386,46 @@
|
|||||||
"y": "Y軸",
|
"y": "Y軸",
|
||||||
"z": "Z軸"
|
"z": "Z軸"
|
||||||
},
|
},
|
||||||
"dangos": {
|
"dango_skills": {
|
||||||
"dango_adrenaline": "Dango Adrenaline",
|
"dango_adrenaline": "Dango Adrenaline",
|
||||||
"dango_bombardier": "Dango Bombardier",
|
|
||||||
"dango_booster": "Dango Booster",
|
"dango_booster": "Dango Booster",
|
||||||
"dango_bulker": "Dango Bulker",
|
"dango_bulker": "Dango Bulker",
|
||||||
"dango_connector": "Dango Connector",
|
"dango_connector": "Dango Connector",
|
||||||
"dango_defender": "Dango Defender",
|
"dango_defender": "Dango Defender",
|
||||||
"dango_defender_hi": "Dango Defender (Hi)",
|
|
||||||
"dango_deflector": "Dango Deflector",
|
|
||||||
"dango_dragon_res": "Dango Dragon Res",
|
|
||||||
"dango_dragon_res_hi": "Dango Dragon Res (Hi)",
|
|
||||||
"dango_driver": "Dango Driver",
|
|
||||||
"dango_feet": "Dango Feet",
|
|
||||||
"dango_fighter": "Dango Fighter",
|
|
||||||
"dango_fire_res": "Dango Fire Res",
|
|
||||||
"dango_fire_res_hi": "Dango Fire Res (Hi)",
|
|
||||||
"dango_flyer": "Dango Flyer",
|
"dango_flyer": "Dango Flyer",
|
||||||
"dango_glutton": "Dango Glutton",
|
"dango_glutton": "Dango Glutton",
|
||||||
"dango_guard": "Dango Guard",
|
|
||||||
"dango_hunter": "Dango Hunter",
|
"dango_hunter": "Dango Hunter",
|
||||||
"dango_hurler": "Dango Hurler",
|
|
||||||
"dango_ice_res": "Dango Ice Res",
|
|
||||||
"dango_ice_res_hi": "Dango Ice Res (Hi)",
|
|
||||||
"dango_immunizer": "Dango Immunizer",
|
|
||||||
"dango_insurance": "Dango Insurance",
|
"dango_insurance": "Dango Insurance",
|
||||||
"dango_marksman": "Dango Marksman",
|
"dango_insurance_defense_up": "Dango Insurance Defense Up",
|
||||||
"dango_medic": "Dango Medic",
|
|
||||||
"dango_medic_hi": "Dango Medic (Hi)",
|
|
||||||
"dango_moxie": "Dango Moxie",
|
|
||||||
"dango_polisher": "Dango Polisher",
|
|
||||||
"dango_pyro": "Dango Pyro",
|
|
||||||
"dango_reviver": "Dango Reviver",
|
|
||||||
"dango_rider": "Dango Rider",
|
|
||||||
"dango_shifter": "Dango Shifter",
|
|
||||||
"dango_slugger": "Dango Slugger",
|
|
||||||
"dango_specialist": "Dango Specialist",
|
|
||||||
"dango_temper": "Dango Temper",
|
|
||||||
"dango_thunder_res": "Dango Thunder Res ",
|
|
||||||
"dango_thunder_res_hi": "Dango Thunder Res (Hi)",
|
|
||||||
"dango_wall_runner": "Dango Wall Runner",
|
|
||||||
"dango_water_res": "Dango Water Res",
|
|
||||||
"dango_water_res_hi": "Dango Water Res (Hi)",
|
|
||||||
"dango_weakener": "Dango Weakener",
|
|
||||||
"super_recovery_dango": "Super Recovery Dango"
|
"super_recovery_dango": "Super Recovery Dango"
|
||||||
},
|
},
|
||||||
|
"endemic_life": {
|
||||||
|
"butterflame": "Butterflame",
|
||||||
|
"clothfly": "Clothfly",
|
||||||
|
"cutterfly": "Cutterfly",
|
||||||
|
"gold_wirebug": "Gold Wirebug",
|
||||||
|
"peepersects": "Peepersects",
|
||||||
|
"red_lampsquid": "Red Lampsquid",
|
||||||
|
"ruby_wirebug": "Ruby Wirebug",
|
||||||
|
"stinkmink": "Stinkmink",
|
||||||
|
"yellow_lampsquid": "Yellow Lampsquid"
|
||||||
|
},
|
||||||
"font_name": "NotoSansTC-Bold.otf",
|
"font_name": "NotoSansTC-Bold.otf",
|
||||||
|
"item_buffs": {
|
||||||
|
"adamant_seed": "Adamant Seed",
|
||||||
|
"armor_ammo": "Armor Ammo",
|
||||||
|
"armorskin": "Armorskin",
|
||||||
|
"dash_juice": "Dash Juice",
|
||||||
|
"demon_ammo": "Demon Ammo",
|
||||||
|
"demon_powder": "Demon Powder",
|
||||||
|
"demondrug": "Demondrug",
|
||||||
|
"gourmet_fish": "Gourmet Fish",
|
||||||
|
"hardshell_powder": "Hardshell Powder",
|
||||||
|
"immunizer": "Immunizer",
|
||||||
|
"mega_armorskin": "Mega Armorskin",
|
||||||
|
"mega_demondrug": "Mega Demondrug",
|
||||||
|
"might_seed": "Might Seed"
|
||||||
|
},
|
||||||
"melody_effects": {
|
"melody_effects": {
|
||||||
"affinity_up": "Affinity Up",
|
"affinity_up": "Affinity Up",
|
||||||
"attack_and_affinity_up": "Attack and Affinity Up",
|
"attack_and_affinity_up": "Attack and Affinity Up",
|
||||||
@@ -453,10 +456,18 @@
|
|||||||
"tremors_negated": "Tremors Negated",
|
"tremors_negated": "Tremors Negated",
|
||||||
"wind_pressure_negated": "Wind Pressure Negated"
|
"wind_pressure_negated": "Wind Pressure Negated"
|
||||||
},
|
},
|
||||||
|
"misc_buffs": {
|
||||||
|
"attack_up": "Attack Up",
|
||||||
|
"defense_up": "Defense Up",
|
||||||
|
"immunity": "Immunity",
|
||||||
|
"natural_healing_up": "Natural Healing Up",
|
||||||
|
"stamina_use_down": "Stamina Use Down"
|
||||||
|
},
|
||||||
"otomo_moves": {
|
"otomo_moves": {
|
||||||
"go_fight_win": "Go, Fight, Win",
|
"go_fight_win": "Go, Fight, Win",
|
||||||
"power_drum": "Power Drum",
|
"power_drum": "Power Drum",
|
||||||
"rousing_roar": "Rousing Roar"
|
"rousing_roar": "Rousing Roar",
|
||||||
|
"vase_of_vitality": "Vase of Vitality"
|
||||||
},
|
},
|
||||||
"parts": {
|
"parts": {
|
||||||
"abdomen": "腹部",
|
"abdomen": "腹部",
|
||||||
@@ -527,32 +538,47 @@
|
|||||||
"wingclaws": "翼爪",
|
"wingclaws": "翼爪",
|
||||||
"wings": "翅膀"
|
"wings": "翅膀"
|
||||||
},
|
},
|
||||||
|
"rampage_skills": {
|
||||||
|
"chameleos_soul": "Chameleos Soul",
|
||||||
|
"kushala_daora_soul": "Kushala Daora Soul"
|
||||||
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"adrenaline_rush": "Adrenaline Rush",
|
"adrenaline_rush": "Adrenaline Rush",
|
||||||
"affinity_sliding": "Affinity Sliding",
|
"affinity_sliding": "Affinity Sliding",
|
||||||
"agitator": "Agitator",
|
"agitator": "Agitator",
|
||||||
|
"berserk": "Berserk",
|
||||||
|
"bladescale_hone": "Bladescale Hone",
|
||||||
|
"blood_awakening": "Blood Awakening",
|
||||||
"bloodlust": "Bloodlust",
|
"bloodlust": "Bloodlust",
|
||||||
"burst": "Burst",
|
"burst": "Burst",
|
||||||
"coalescence": "Coalescence",
|
"coalescence": "Coalescence",
|
||||||
"counterstrike": "Counterstrike",
|
"counterstrike": "Counterstrike",
|
||||||
"dereliction": "Dereliction",
|
"dereliction": "Dereliction",
|
||||||
|
"dragon_conversion_elemental_attack_up": "Dragon Conversion: Elem. Atk Up",
|
||||||
|
"dragon_conversion_elemental_res_up": "Dragon Conversion: Elem. Res Up",
|
||||||
"dragonheart": "Dragonheart",
|
"dragonheart": "Dragonheart",
|
||||||
|
"embolden": "Embolden",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"frenzied_bloodlust": "Frenzied Bloodlust",
|
||||||
"furious": "Furious",
|
"furious": "Furious",
|
||||||
"grinder_s": "Grinder (S)",
|
"grinder_s": "Grinder (S)",
|
||||||
"heaven_sent": "Heaven-Sent",
|
"heaven_sent": "Heaven-Sent",
|
||||||
"hellfire_cloak": "Hellfire Cloak",
|
"hellfire_cloak": "Hellfire Cloak",
|
||||||
"heroics": "Heroics",
|
"heroics": "Heroics",
|
||||||
|
"inspiration": "Inspiration",
|
||||||
"intrepid_heart": "Intrepid Heart",
|
"intrepid_heart": "Intrepid Heart",
|
||||||
"kushala_daora_soul": "Kushala Daora Soul",
|
|
||||||
"latent_power": "Latent Power",
|
"latent_power": "Latent Power",
|
||||||
"maximum_might": "Maximum Might",
|
"maximum_might": "Maximum Might",
|
||||||
"offensive_guard": "Offensive Guard",
|
"offensive_guard": "Offensive Guard",
|
||||||
|
"partbreaker": "Partbreaker",
|
||||||
"peak_performance": "Peak Performance",
|
"peak_performance": "Peak Performance",
|
||||||
|
"powder_mantle_blue": "Powder Mantle (Blue)",
|
||||||
|
"powder_mantle_red": "Powder Mantle (Red)",
|
||||||
"protective_polish": "Protective Polish",
|
"protective_polish": "Protective Polish",
|
||||||
"resentment": "Resentment",
|
"resentment": "Resentment",
|
||||||
"resuscitate": "Resuscitate",
|
"resuscitate": "Resuscitate",
|
||||||
|
"spiribirds_call": "Spiribird's Call",
|
||||||
"status_trigger": "Status Trigger",
|
"status_trigger": "Status Trigger",
|
||||||
|
"strife": "Strife",
|
||||||
"wall_runner": "Wall Runner",
|
"wall_runner": "Wall Runner",
|
||||||
"wind_mantle": "Wind Mantle"
|
"wind_mantle": "Wind Mantle"
|
||||||
},
|
},
|
||||||
@@ -577,25 +603,104 @@
|
|||||||
255,
|
255,
|
||||||
8192,
|
8192,
|
||||||
8303,
|
8303,
|
||||||
|
11904,
|
||||||
|
12031,
|
||||||
12288,
|
12288,
|
||||||
12543,
|
12351,
|
||||||
12784,
|
12800,
|
||||||
12799,
|
19903,
|
||||||
19968,
|
19968,
|
||||||
40879,
|
40959,
|
||||||
|
63744,
|
||||||
|
64255,
|
||||||
|
65072,
|
||||||
|
65103,
|
||||||
65280,
|
65280,
|
||||||
65519,
|
65519,
|
||||||
0
|
0
|
||||||
],
|
],
|
||||||
"weapon_skills": {
|
"weapon_skills": {
|
||||||
"amped_state": "Amped State",
|
"bow": {
|
||||||
"axe_heavy_slam": "Axe: Heavy Slam",
|
"arc_shot_affinity": "Arc Shot: Affinity",
|
||||||
|
"arc_shot_brace": "Arc Shot: Brace",
|
||||||
|
"bolt_boost": "Bolt Boost",
|
||||||
|
"herculean_draw": "Herculean Draw"
|
||||||
|
},
|
||||||
|
"charge_blade": {
|
||||||
|
"element_boost": "Element Boost",
|
||||||
|
"sword_boost_mode": "Sword Boost Mode"
|
||||||
|
},
|
||||||
|
"dual_blades": {
|
||||||
|
"archdemon_mode": "Archdemon Mode",
|
||||||
|
"ironshine_silk": "Ironshine Silk"
|
||||||
|
},
|
||||||
|
"great_sword": {
|
||||||
|
"power_sheathe": "Power Sheathe"
|
||||||
|
},
|
||||||
|
"gunlance": {
|
||||||
|
"erupting_cannon": "Erupting Cannon",
|
||||||
|
"ground_splitter": "Ground Splitter"
|
||||||
|
},
|
||||||
|
"hammer": {
|
||||||
|
"impact_burst": "Impact Burst"
|
||||||
|
},
|
||||||
|
"heavy_bowgun": {
|
||||||
|
"counter_charger": "Counter Charger",
|
||||||
|
"overheat": "Overheat",
|
||||||
|
"rising_moon": "Rising Moon",
|
||||||
|
"setting_sun": "Setting Sun",
|
||||||
|
"wyvernsnipe_reload": "Wyvernsnipe Reload"
|
||||||
|
},
|
||||||
|
"hunting_horn": {
|
||||||
|
"bead_of_resonance": "Bead of Resonance",
|
||||||
|
"silkbind_shockwave": "Silkbind Shockwave",
|
||||||
|
"sonic_bloom": "Sonic Bloom"
|
||||||
|
},
|
||||||
|
"insect_glaive": {
|
||||||
|
"all_extracts_mix": "All Extracts Mix",
|
||||||
|
"orange_extract": "Orange Extract",
|
||||||
|
"red_extract": "Red Extract",
|
||||||
|
"white_extract": "White Extract"
|
||||||
|
},
|
||||||
|
"lance": {
|
||||||
|
"anchor_rage": "Anchor Rage",
|
||||||
|
"spiral_thrust": "Spiral Thrust",
|
||||||
|
"twin_wine": "Twin Wine"
|
||||||
|
},
|
||||||
|
"light_bowgun": {
|
||||||
|
"fanning_maneuver": "Fanning Maneuver",
|
||||||
|
"wyvernblast_reload": "Wyvernblast Reload"
|
||||||
|
},
|
||||||
|
"long_sword": {
|
||||||
"harvest_moon": "Harvest Moon",
|
"harvest_moon": "Harvest Moon",
|
||||||
"iai_slash": "Iai Slash",
|
"iai_slash": "Iai Slash",
|
||||||
"power_sheathe": "Power Sheathe",
|
|
||||||
"soaring_kick": "Soaring Kick",
|
"soaring_kick": "Soaring Kick",
|
||||||
"spirit_gauge": "Spirit Gauge",
|
"spirit_gauge": "Spirit Gauge",
|
||||||
"spirit_gauge_autofill": "Spirit Gauge Autofill",
|
"spirit_gauge_autofill": "Spirit Gauge Autofill"
|
||||||
|
},
|
||||||
|
"switch_axe": {
|
||||||
|
"amped_state": "Amped State",
|
||||||
|
"axe_heavy_slam": "Axe: Heavy Slam",
|
||||||
"switch_charger": "Switch Charger"
|
"switch_charger": "Switch Charger"
|
||||||
|
},
|
||||||
|
"sword_and_shield": {
|
||||||
|
"destroyer_oil": "Destroyer Oil"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"weapons": {
|
||||||
|
"bow": "Bow",
|
||||||
|
"charge_blade": "Charge Blade",
|
||||||
|
"dual_blades": "Dual Blades",
|
||||||
|
"great_sword": "Great Sword",
|
||||||
|
"gunlance": "Gunlance",
|
||||||
|
"hammer": "Hammer",
|
||||||
|
"heavy_bowgun": "Heavy Bowgun",
|
||||||
|
"hunting_horn": "Hunting Horn",
|
||||||
|
"insect_glaive": "Insect Glaive",
|
||||||
|
"lance": "Lance",
|
||||||
|
"light_bowgun": "Light Bowgun",
|
||||||
|
"long_sword": "Long Sword",
|
||||||
|
"switch_axe": "Switch Axe",
|
||||||
|
"sword_and_shield": "Sword & Shield"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BIN
reframework/fonts/NotoSans-Bold.otf
Normal file
BIN
reframework/fonts/NotoSans-Bold.otf
Normal file
Binary file not shown.
Binary file not shown.
BIN
reframework/fonts/NotoSansArabic-Bold.otf
Normal file
BIN
reframework/fonts/NotoSansArabic-Bold.otf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user