mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-30 23:38:04 -08:00
Compare commits
44 Commits
ba571b0426
...
v2.7.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e0e7c9d824 | ||
|
|
3bd627fdfb | ||
|
|
beeb45db46 | ||
|
|
a82168fc4e | ||
|
|
d62a72a778 | ||
|
|
2390bfe8ac | ||
|
|
7398bab9ea | ||
|
|
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 |
39
README.md
39
README.md
@@ -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.5.6%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.1%2B-green?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
|
||||||
|
|
||||||
|
|||||||
@@ -271,14 +271,16 @@ log.info("[MHR Overlay] Loaded.");
|
|||||||
-- #region
|
-- #region
|
||||||
|
|
||||||
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
|
local current_config = config.current_config;
|
||||||
|
|
||||||
|
if module_visibility_config.small_monster_UI and current_config.small_monster_UI.enabled then
|
||||||
local success, error = 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: %s", flow_state_name, tostring(error)));
|
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Small Monster UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local large_monster_UI_config = config.current_config.large_monster_UI;
|
local large_monster_UI_config = current_config.large_monster_UI;
|
||||||
|
|
||||||
local dynamic_enabled = large_monster_UI_config.dynamic.enabled and module_visibility_config.large_monster_dynamic_UI;
|
local dynamic_enabled = large_monster_UI_config.dynamic.enabled and module_visibility_config.large_monster_dynamic_UI;
|
||||||
local static_enabled = large_monster_UI_config.static.enabled and module_visibility_config.large_monster_static_UI;
|
local static_enabled = large_monster_UI_config.static.enabled and module_visibility_config.large_monster_static_UI;
|
||||||
@@ -291,21 +293,21 @@ local function update_modules(module_visibility_config, flow_state_name)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
if current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
||||||
local success, error = 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: %s", flow_state_name, tostring(error)));
|
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 current_config.endemic_life_UI.enabled and module_visibility_config.endemic_life_UI then
|
||||||
local success, error = 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: %s", flow_state_name, tostring(error)));
|
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 current_config.buff_UI.enabled and module_visibility_config.buff_UI then
|
||||||
local success, error = 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: %s", flow_state_name, tostring(error)));
|
error_handler.report("MHR_Overlay.update_modules", string.format("[%s] Buff UI: %s", flow_state_name, tostring(error)));
|
||||||
@@ -314,14 +316,16 @@ local function update_modules(module_visibility_config, flow_state_name)
|
|||||||
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
|
local current_config = config.current_config;
|
||||||
|
|
||||||
|
if module_visibility_config.small_monster_UI and current_config.small_monster_UI.enabled then
|
||||||
local success, error = 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: %s", flow_state_name, tostring(error)));
|
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Small Monster UI: %s", flow_state_name, tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local large_monster_UI_config = config.current_config.large_monster_UI;
|
local large_monster_UI_config = current_config.large_monster_UI;
|
||||||
|
|
||||||
local dynamic_enabled = large_monster_UI_config.dynamic.enabled and module_visibility_config.large_monster_dynamic_UI;
|
local dynamic_enabled = large_monster_UI_config.dynamic.enabled and module_visibility_config.large_monster_dynamic_UI;
|
||||||
local static_enabled = large_monster_UI_config.static.enabled and module_visibility_config.large_monster_static_UI;
|
local static_enabled = large_monster_UI_config.static.enabled and module_visibility_config.large_monster_static_UI;
|
||||||
@@ -334,35 +338,35 @@ local function draw_modules(module_visibility_config, flow_state_name)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.time_UI.enabled and module_visibility_config.time_UI then
|
if current_config.time_UI.enabled and module_visibility_config.time_UI then
|
||||||
local success, error = 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: %s", flow_state_name, tostring(error)));
|
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 current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
||||||
local success, error = 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: %s", flow_state_name, tostring(error)));
|
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 current_config.endemic_life_UI.enabled and module_visibility_config.endemic_life_UI then
|
||||||
local success, error = 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: %s", flow_state_name, tostring(error)));
|
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 current_config.buff_UI.enabled and module_visibility_config.buff_UI then
|
||||||
local success, error = 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: %s", flow_state_name, tostring(error)));
|
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 current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
||||||
local success, error = 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: %s", flow_state_name, tostring(error)));
|
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Stats UI: %s", flow_state_name, tostring(error)));
|
||||||
@@ -371,14 +375,18 @@ local function draw_modules(module_visibility_config, flow_state_name)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function update_UI()
|
local function update_UI()
|
||||||
if quest_status.flow_state == quest_status.flow_states.IN_TRAINING_AREA then
|
local current_config = config.current_config;
|
||||||
|
local module_visibility_config = current_config.global_settings.module_visibility;
|
||||||
|
local flow_states = quest_status.flow_states;
|
||||||
|
|
||||||
local large_monster_UI_config = config.current_config.large_monster_UI;
|
if quest_status.flow_state == flow_states.IN_TRAINING_AREA then
|
||||||
local module_visibility_config = config.current_config.global_settings.module_visibility.in_training_area;
|
|
||||||
|
|
||||||
local dynamic_enabled = large_monster_UI_config.dynamic.enabled and module_visibility_config.large_monster_dynamic_UI;
|
local large_monster_UI_config = current_config.large_monster_UI;
|
||||||
local static_enabled = large_monster_UI_config.static.enabled and module_visibility_config.large_monster_static_UI;
|
local module_visibility_in_training_area_config = module_visibility_config.in_training_area;
|
||||||
local highlighted_enabled = large_monster_UI_config.highlighted.enabled and module_visibility_config.large_monster_highlighted_UI;
|
|
||||||
|
local dynamic_enabled = large_monster_UI_config.dynamic.enabled and module_visibility_in_training_area_config.large_monster_dynamic_UI;
|
||||||
|
local static_enabled = large_monster_UI_config.static.enabled and module_visibility_in_training_area_config.large_monster_static_UI;
|
||||||
|
local highlighted_enabled = large_monster_UI_config.highlighted.enabled and module_visibility_in_training_area_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, error = 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);
|
||||||
@@ -387,69 +395,73 @@ local function update_UI()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
if current_config.damage_meter_UI.enabled and module_visibility_in_training_area_config.damage_meter_UI then
|
||||||
local success, error = 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_UI", string.format("[In Training Area] Damage Meter UI: %s", tostring(error)));
|
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 current_config.endemic_life_UI.enabled and module_visibility_in_training_area_config.endemic_life_UI then
|
||||||
local success, error = 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_UI", string.format("[In Training Area] Endemic Life UI: %s", tostring(error)));
|
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 current_config.buff_UI.enabled and module_visibility_in_training_area_config.buff_UI then
|
||||||
local success, error = 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_UI", string.format("[In Training Area] Buff UI: %s", tostring(error)));
|
error_handler.report("MHR_Overlay.update_UI", string.format("[In Training Area] Buff UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.CUTSCENE then
|
elseif quest_status.flow_state == flow_states.CUTSCENE then
|
||||||
update_modules(config.current_config.global_settings.module_visibility.cutscene, "Cutscene");
|
update_modules(module_visibility_config.cutscene, "Cutscene");
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.LOADING_QUEST then
|
elseif quest_status.flow_state == flow_states.LOADING_QUEST then
|
||||||
update_modules(config.current_config.global_settings.module_visibility.loading_quest, "Loading Quest");
|
update_modules(module_visibility_config.loading_quest, "Loading Quest");
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.QUEST_START_ANIMATION then
|
elseif quest_status.flow_state == flow_states.QUEST_START_ANIMATION then
|
||||||
update_modules(config.current_config.global_settings.module_visibility.quest_start_animation, "Quest Start Animation");
|
update_modules(module_visibility_config.quest_start_animation, "Quest Start Animation");
|
||||||
elseif quest_status.flow_state >= quest_status.flow_states.PLAYING_QUEST and quest_status.flow_state <= quest_status.flow_states.WYVERN_RIDING_START_ANIMATION then
|
elseif quest_status.flow_state >= flow_states.PLAYING_QUEST and quest_status.flow_state <= flow_states.WYVERN_RIDING_START_ANIMATION then
|
||||||
update_modules(config.current_config.global_settings.module_visibility.playing_quest, "Playing Quest");
|
update_modules(module_visibility_config.playing_quest, "Playing Quest");
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.KILLCAM then
|
elseif quest_status.flow_state == flow_states.KILLCAM then
|
||||||
update_modules(config.current_config.global_settings.module_visibility.killcam, "Killcam");
|
update_modules(module_visibility_config.killcam, "Killcam");
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.QUEST_END_TIMER then
|
elseif quest_status.flow_state == flow_states.QUEST_END_TIMER then
|
||||||
update_modules(config.current_config.global_settings.module_visibility.quest_end_timer, "Quest End Timer");
|
update_modules(module_visibility_config.quest_end_timer, "Quest End Timer");
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.QUEST_END_ANIMATION then
|
elseif quest_status.flow_state == flow_states.QUEST_END_ANIMATION then
|
||||||
update_modules(config.current_config.global_settings.module_visibility.quest_end_animation, "Quest End Animation");
|
update_modules(module_visibility_config.quest_end_animation, "Quest End Animation");
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.QUEST_END_SCREEN then
|
elseif quest_status.flow_state == flow_states.QUEST_END_SCREEN then
|
||||||
update_modules(config.current_config.global_settings.module_visibility.quest_end_screen, "Quest End Screen");
|
update_modules(module_visibility_config.quest_end_screen, "Quest End Screen");
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.REWARD_SCREEN then
|
elseif quest_status.flow_state == flow_states.REWARD_SCREEN then
|
||||||
update_modules(config.current_config.global_settings.module_visibility.reward_screen, "Reward Screen");
|
update_modules(module_visibility_config.reward_screen, "Reward Screen");
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.SUMMARY_SCREEN then
|
elseif quest_status.flow_state == flow_states.SUMMARY_SCREEN then
|
||||||
update_modules(config.current_config.global_settings.module_visibility.summary_screen, "Summary Screen");
|
update_modules(module_visibility_config.summary_screen, "Summary Screen");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function draw_loop()
|
local function draw_loop()
|
||||||
if quest_status.flow_state == quest_status.flow_states.IN_LOBBY then
|
local current_config = config.current_config;
|
||||||
local module_visibility_config = config.current_config.global_settings.module_visibility.in_lobby;
|
local module_visibility_config = current_config.global_settings.module_visibility;
|
||||||
|
local flow_states = quest_status.flow_states;
|
||||||
|
|
||||||
if config.current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
if quest_status.flow_state == flow_states.IN_LOBBY then
|
||||||
|
local module_visibility_in_lobby_config = module_visibility_config.in_lobby;
|
||||||
|
|
||||||
|
if current_config.stats_UI.enabled and module_visibility_in_lobby_config.stats_UI then
|
||||||
local success, error = 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", string.format("[In Training Area] Stats UI: %s", tostring(error)));
|
error_handler.report("MHR_Overlay.main_loop", string.format("[In Training Area] Stats UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.IN_TRAINING_AREA then
|
elseif quest_status.flow_state == flow_states.IN_TRAINING_AREA then
|
||||||
|
|
||||||
local large_monster_UI_config = config.current_config.large_monster_UI;
|
local large_monster_UI_config = current_config.large_monster_UI;
|
||||||
local module_visibility_config = config.current_config.global_settings.module_visibility.in_training_area;
|
local module_visibility_in_training_area_config = module_visibility_config.in_training_area;
|
||||||
|
|
||||||
local dynamic_enabled = large_monster_UI_config.dynamic.enabled and module_visibility_config.large_monster_dynamic_UI;
|
local dynamic_enabled = large_monster_UI_config.dynamic.enabled and module_visibility_in_training_area_config.large_monster_dynamic_UI;
|
||||||
local static_enabled = large_monster_UI_config.static.enabled and module_visibility_config.large_monster_static_UI;
|
local static_enabled = large_monster_UI_config.static.enabled and module_visibility_in_training_area_config.large_monster_static_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_in_training_area_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, error = 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);
|
||||||
@@ -458,55 +470,54 @@ local function draw_loop()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if config.current_config.damage_meter_UI.enabled and module_visibility_config.damage_meter_UI then
|
if current_config.damage_meter_UI.enabled and module_visibility_in_training_area_config.damage_meter_UI then
|
||||||
local success, error = 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", string.format("[In Training Area] Damage Meter UI: %s", tostring(error)));
|
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 current_config.endemic_life_UI.enabled and module_visibility_in_training_area_config.endemic_life_UI then
|
||||||
local success, error = 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", string.format("[In Training Area] Endemic Life UI: %s", tostring(error)));
|
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 current_config.buff_UI.enabled and module_visibility_in_training_area_config.buff_UI then
|
||||||
local success, error = 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", string.format("[In Training Area] Buff UI: %s", tostring(error)));
|
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 current_config.stats_UI.enabled and module_visibility_in_training_area_config.stats_UI then
|
||||||
local success, error = 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", string.format("[In Training Area] Stats UI: %s", tostring(error)));
|
error_handler.report("MHR_Overlay.main_loop", string.format("[In Training Area] Stats UI: %s", tostring(error)));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
elseif quest_status.flow_state == flow_states.CUTSCENE then
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.CUTSCENE then
|
draw_modules(module_visibility_config.cutscene, "Cutscene");
|
||||||
draw_modules(config.current_config.global_settings.module_visibility.cutscene, "Cutscene");
|
elseif quest_status.flow_state == flow_states.LOADING_QUEST then
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.LOADING_QUEST then
|
draw_modules(module_visibility_config.loading_quest, "Loading Quest");
|
||||||
draw_modules(config.current_config.global_settings.module_visibility.loading_quest, "Loading Quest");
|
elseif quest_status.flow_state == flow_states.QUEST_START_ANIMATION then
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.QUEST_START_ANIMATION then
|
draw_modules(module_visibility_config.quest_start_animation, "Quest Start Animation");
|
||||||
draw_modules(config.current_config.global_settings.module_visibility.quest_start_animation, "Quest Start Animation");
|
elseif quest_status.flow_state >= flow_states.PLAYING_QUEST and quest_status.flow_state <= flow_states.WYVERN_RIDING_START_ANIMATION then
|
||||||
elseif quest_status.flow_state >= quest_status.flow_states.PLAYING_QUEST and quest_status.flow_state <= quest_status.flow_states.WYVERN_RIDING_START_ANIMATION then
|
draw_modules(module_visibility_config.playing_quest, "Playing Quest");
|
||||||
draw_modules(config.current_config.global_settings.module_visibility.playing_quest, "Playing Quest");
|
elseif quest_status.flow_state == flow_states.KILLCAM then
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.KILLCAM then
|
draw_modules(module_visibility_config.killcam, "Killcam");
|
||||||
draw_modules(config.current_config.global_settings.module_visibility.killcam, "Killcam");
|
elseif quest_status.flow_state == flow_states.QUEST_END_TIMER then
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.QUEST_END_TIMER then
|
draw_modules(module_visibility_config.quest_end_timer, "Quest End Timer");
|
||||||
draw_modules(config.current_config.global_settings.module_visibility.quest_end_timer, "Quest End Timer");
|
elseif quest_status.flow_state == flow_states.QUEST_END_ANIMATION then
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.QUEST_END_ANIMATION then
|
draw_modules(module_visibility_config.quest_end_animation, "Quest End Animation");
|
||||||
draw_modules(config.current_config.global_settings.module_visibility.quest_end_animation, "Quest End Animation");
|
elseif quest_status.flow_state == flow_states.QUEST_END_SCREEN then
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.QUEST_END_SCREEN then
|
draw_modules(module_visibility_config.quest_end_screen, "Quest End Screen");
|
||||||
draw_modules(config.current_config.global_settings.module_visibility.quest_end_screen, "Quest End Screen");
|
elseif quest_status.flow_state == flow_states.REWARD_SCREEN then
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.REWARD_SCREEN then
|
draw_modules(module_visibility_config.reward_screen, "Reward Screen");
|
||||||
draw_modules(config.current_config.global_settings.module_visibility.reward_screen, "Reward Screen");
|
elseif quest_status.flow_state == flow_states.SUMMARY_SCREEN then
|
||||||
elseif quest_status.flow_state == quest_status.flow_states.SUMMARY_SCREEN then
|
draw_modules(module_visibility_config.summary_screen, "Summary Screen");
|
||||||
draw_modules(config.current_config.global_settings.module_visibility.summary_screen, "Summary Screen");
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -543,7 +554,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();
|
||||||
|
|||||||
@@ -253,7 +253,9 @@ function this.update_poison(player)
|
|||||||
|
|
||||||
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
|
||||||
|
|
||||||
@@ -288,7 +290,9 @@ function this.update_bubbleblight(player)
|
|||||||
|
|
||||||
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
|
||||||
|
|
||||||
@@ -314,13 +318,15 @@ function this.update_muck(player)
|
|||||||
|
|
||||||
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
|
||||||
|
|
||||||
@@ -339,13 +345,15 @@ function this.update_frenzy_infection(player)
|
|||||||
|
|
||||||
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
|
||||||
|
|
||||||
@@ -361,6 +369,7 @@ end
|
|||||||
|
|
||||||
function this.update_sleep(player)
|
function this.update_sleep(player)
|
||||||
if this.apply_filter("sleep") then
|
if this.apply_filter("sleep") then
|
||||||
|
this.list.sleep = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -142,13 +142,17 @@ function this.init_names()
|
|||||||
misc_buffs.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
|
||||||
|
|
||||||
@@ -160,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
|
||||||
|
|
||||||
@@ -168,24 +172,24 @@ 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("buffs.update", "Failed to access Data: weapon_type");
|
error_handler.report("buffs.update", "Failed to Access Data: weapon_type");
|
||||||
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
|
||||||
|
|
||||||
local item_parameter = get_ref_item_parameter_method:call(singletons.player_manager);
|
local item_parameter = get_ref_item_parameter_method:call(singletons.player_manager);
|
||||||
if item_parameter == nil then
|
if item_parameter == nil then
|
||||||
error_handler.report("buffs.update", "Failed to access Data: item_parameter");
|
error_handler.report("buffs.update", "Failed to Access Data: item_parameter");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -255,7 +259,8 @@ function this.update_generic_buff(buff_list, filter_list, get_name_function,
|
|||||||
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
|
||||||
|
|
||||||
@@ -291,7 +296,8 @@ function this.update_generic_buff(buff_list, filter_list, get_name_function,
|
|||||||
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
|
||||||
|
|
||||||
|
|||||||
@@ -220,12 +220,14 @@ function this.update_dango_insurance()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if singletons.player_manager == nil then
|
if singletons.player_manager == nil then
|
||||||
error_handler.report("dango_skills.update_dango_insurance", "Failed to access Data: player_manager");
|
error_handler.report("dango_skills.update_dango_insurance", "Failed to Access Data: player_manager");
|
||||||
|
this.list.dango_insurance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
if singletons.quest_manager == nil then
|
if singletons.quest_manager == nil then
|
||||||
error_handler.report("dango_skills.update_dango_insurance", "Failed to access Data: quest_manager");
|
error_handler.report("dango_skills.update_dango_insurance", "Failed to Access Data: quest_manager");
|
||||||
|
this.list.dango_insurance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -233,13 +235,15 @@ function this.update_dango_insurance()
|
|||||||
|
|
||||||
local flag_cat_skill_insurance = flag_cat_skill_insurance_field:get_data(singletons.quest_manager);
|
local flag_cat_skill_insurance = flag_cat_skill_insurance_field:get_data(singletons.quest_manager);
|
||||||
if flag_cat_skill_insurance == nil then
|
if flag_cat_skill_insurance == nil then
|
||||||
error_handler.report("dango_skills.update_dango_insurance", "Failed to access Data: flag_cat_skill_insurance");
|
error_handler.report("dango_skills.update_dango_insurance", "Failed to Access Data: flag_cat_skill_insurance");
|
||||||
|
this.list.dango_insurance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_cat_skill_insurance = is_cat_skill_insurance_method:call(singletons.quest_manager, flag_cat_skill_insurance);
|
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
|
if is_cat_skill_insurance == nil then
|
||||||
error_handler.report("dango_skills.update_dango_insurance", "Failed to access Data: is_cat_skill_insurance");
|
error_handler.report("dango_skills.update_dango_insurance", "Failed to Access Data: is_cat_skill_insurance");
|
||||||
|
this.list.dango_insurance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -260,7 +264,8 @@ function this.update_dango_insurance_defense_up(player_data)
|
|||||||
|
|
||||||
local insurance_def_up_lv3 = kitchen_skill_insurance_def_up_lv3_field:get_data(player_data);
|
local insurance_def_up_lv3 = kitchen_skill_insurance_def_up_lv3_field:get_data(player_data);
|
||||||
if insurance_def_up_lv3 == nil then
|
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");
|
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;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -268,7 +273,8 @@ function this.update_dango_insurance_defense_up(player_data)
|
|||||||
local insurance_def_up_lv4 = kitchen_skill_insurance_def_up_lv4_field:get_data(player_data);
|
local insurance_def_up_lv4 = kitchen_skill_insurance_def_up_lv4_field:get_data(player_data);
|
||||||
|
|
||||||
if insurance_def_up_lv4 == nil then
|
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");
|
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;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -292,7 +298,8 @@ function this.update_dango_flyer(player)
|
|||||||
|
|
||||||
local is_kitchen_skill_wire_stop_regene = get_is_kitchen_skill_wire_stop_regene_method:call(player);
|
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
|
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");
|
error_handler.report("dango_skills.update_dango_flyer", "Failed to Access Data: is_kitchen_skill_wire_stop_regene");
|
||||||
|
this.list.dango_flyer = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -300,7 +307,8 @@ function this.update_dango_flyer(player)
|
|||||||
|
|
||||||
local is_kitchen_skill_wire_stop_heal_spd = get_is_kitchen_skill_wire_stop_heal_spd_method:call(player);
|
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
|
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");
|
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;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -330,7 +338,8 @@ function this.update_super_recovery_dango(player)
|
|||||||
|
|
||||||
local kitchen_skill_surume_regene_timer = get_kitchen_skill_surume_regene_timer_method:call(player);
|
local kitchen_skill_surume_regene_timer = get_kitchen_skill_surume_regene_timer_method:call(player);
|
||||||
if kitchen_skill_surume_regene_timer == nil then
|
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");
|
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;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -370,7 +379,7 @@ function this.get_dango_skill_name(key)
|
|||||||
|
|
||||||
local dango_skill_name = get_name_method:call(nil, dango_skill_id);
|
local dango_skill_name = get_name_method:call(nil, dango_skill_id);
|
||||||
if dango_skill_name == nil then
|
if dango_skill_name == nil then
|
||||||
error_handler.report("dango_skills.get_dango_name", string.format("Failed to access Data: %s_name", key));
|
error_handler.report("dango_skills.get_dango_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
return key;
|
return key;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -143,7 +143,9 @@ function this.update_ruby_and_gold_wirebugs(player, player_data)
|
|||||||
|
|
||||||
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
|
||||||
@@ -167,7 +169,8 @@ function this.update_butterflame(player_data)
|
|||||||
|
|
||||||
local atk_up_buff_second = atk_up_buff_second_field:get_data(player_data);
|
local atk_up_buff_second = atk_up_buff_second_field:get_data(player_data);
|
||||||
if atk_up_buff_second == nil then
|
if atk_up_buff_second == nil then
|
||||||
error_handler.report("item_buffs.update_butterflame", "Failed to access Data: atk_up_buff_second");
|
error_handler.report("item_buffs.update_butterflame", "Failed to Access Data: atk_up_buff_second");
|
||||||
|
this.list.butterflame = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -193,13 +196,13 @@ end
|
|||||||
|
|
||||||
function this.get_endemic_life_name(key)
|
function this.get_endemic_life_name(key)
|
||||||
if singletons.message_manager == nil then
|
if singletons.message_manager == nil then
|
||||||
error_handler.report("endemic_life_buffs.get_endemic_life_name", "Failed to access Data: message_manager");
|
error_handler.report("endemic_life_buffs.get_endemic_life_name", "Failed to Access Data: message_manager");
|
||||||
return key;
|
return key;
|
||||||
end
|
end
|
||||||
|
|
||||||
local endemic_life_name = get_env_creature_name_message_method:call(singletons.message_manager, env_creature.creature_ids[key]);
|
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
|
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));
|
error_handler.report("endemic_life_buffs.get_endemic_life_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
return key;
|
return key;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -170,7 +170,9 @@ function this.update_demondrug(player_data, item_parameter)
|
|||||||
|
|
||||||
local demondrug_value = atk_up_alive_field:get_data(player_data);
|
local demondrug_value = atk_up_alive_field:get_data(player_data);
|
||||||
if demondrug_value == nil then
|
if demondrug_value == nil then
|
||||||
error_handler.report("item_buffs.update_demondrug", "Failed to access Data: demondrug_value");
|
error_handler.report("item_buffs.update_demondrug", "Failed to Access Data: demondrug_value");
|
||||||
|
this.list.demondrug = nil;
|
||||||
|
this.list.mega_demondrug = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -182,13 +184,17 @@ function this.update_demondrug(player_data, item_parameter)
|
|||||||
|
|
||||||
local demondrug_const_value = demondrug_atk_up_field:get_data(item_parameter);
|
local demondrug_const_value = demondrug_atk_up_field:get_data(item_parameter);
|
||||||
if demondrug_const_value == nil then
|
if demondrug_const_value == nil then
|
||||||
error_handler.report("item_buffs.update_demondrug", "Failed to access Data: demondrug_const_value");
|
error_handler.report("item_buffs.update_demondrug", "Failed to Access Data: demondrug_const_value");
|
||||||
|
this.list.demondrug = nil;
|
||||||
|
this.list.mega_demondrug = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local mega_demondrug_const_value = great_demondrug_atk_up_field:get_data(item_parameter);
|
local mega_demondrug_const_value = great_demondrug_atk_up_field:get_data(item_parameter);
|
||||||
if mega_demondrug_const_value == nil then
|
if mega_demondrug_const_value == nil then
|
||||||
error_handler.report("item_buffs.update_demondrug", "Failed to access Data: mega_demondrug_const_value");
|
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;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -221,7 +227,9 @@ function this.update_armorskin(player_data, item_parameter)
|
|||||||
|
|
||||||
local armorskin_value = def_up_alive_field:get_data(player_data);
|
local armorskin_value = def_up_alive_field:get_data(player_data);
|
||||||
if armorskin_value == nil then
|
if armorskin_value == nil then
|
||||||
error_handler.report("item_buffs.update_armorskin", "Failed to access Data: armorskin_value");
|
error_handler.report("item_buffs.update_armorskin", "Failed to Access Data: armorskin_value");
|
||||||
|
this.list.armorskin = nil;
|
||||||
|
this.list.mega_armorskin = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -233,13 +241,17 @@ function this.update_armorskin(player_data, item_parameter)
|
|||||||
|
|
||||||
local armorskin_const_value = armorskin_def_up_field:get_data(item_parameter);
|
local armorskin_const_value = armorskin_def_up_field:get_data(item_parameter);
|
||||||
if armorskin_const_value == nil then
|
if armorskin_const_value == nil then
|
||||||
error_handler.report("item_buffs.update_armorskin", "Failed to access Data: armorskin_const_value");
|
error_handler.report("item_buffs.update_armorskin", "Failed to Access Data: armorskin_const_value");
|
||||||
|
this.list.armorskin = nil;
|
||||||
|
this.list.mega_armorskin = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local mega_armorskin_const_value = great_armorskin_def_up_field:get_data(item_parameter);
|
local mega_armorskin_const_value = great_armorskin_def_up_field:get_data(item_parameter);
|
||||||
if mega_armorskin_const_value == nil then
|
if mega_armorskin_const_value == nil then
|
||||||
error_handler.report("item_buffs.update_armorskin", "Failed to access Data: mega_armorskin_const_value");
|
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;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -268,13 +280,15 @@ function this.update_might_seed(player_data, item_parameter)
|
|||||||
|
|
||||||
local atk_up_buff_second = atk_up_buff_second_field:get_data(player_data);
|
local atk_up_buff_second = atk_up_buff_second_field:get_data(player_data);
|
||||||
if atk_up_buff_second == nil then
|
if atk_up_buff_second == nil then
|
||||||
error_handler.report("item_buffs.update_might_seed", "Failed to access Data: atk_up_buff_second");
|
error_handler.report("item_buffs.update_might_seed", "Failed to Access Data: atk_up_buff_second");
|
||||||
|
this.list.might_seed = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local might_seed_atk_up = might_seed_atk_up_field:get_data(item_parameter);
|
local might_seed_atk_up = might_seed_atk_up_field:get_data(item_parameter);
|
||||||
if might_seed_atk_up == nil then
|
if might_seed_atk_up == nil then
|
||||||
error_handler.report("item_buffs.update_might_seed", "Failed to access Data: might_seed_atk_up");
|
error_handler.report("item_buffs.update_might_seed", "Failed to Access Data: might_seed_atk_up");
|
||||||
|
this.list.might_seed = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -301,7 +315,7 @@ end
|
|||||||
function this.get_item_buff_name(key)
|
function this.get_item_buff_name(key)
|
||||||
local item_buff_name = get_name_method:call(nil, item_ids[key]);
|
local item_buff_name = get_name_method:call(nil, item_ids[key]);
|
||||||
if item_buff_name == nil then
|
if item_buff_name == nil then
|
||||||
error_handler.report("item_buffs.get_item_buff_name", string.format("Failed to access Data: %s_name", key));
|
error_handler.report("item_buffs.get_item_buff_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
return key;
|
return key;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -127,13 +127,13 @@ local get_name_method = data_shortcut_type_def:get_method("getName(snow.data.Dat
|
|||||||
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);
|
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
|
||||||
|
|
||||||
@@ -152,7 +152,8 @@ function this.update(master_player)
|
|||||||
|
|
||||||
local music_data = get_value_method:call(music_data_array, id);
|
local music_data = get_value_method:call(music_data_array, id);
|
||||||
if music_data == nil then
|
if music_data == nil then
|
||||||
error_handler.report("melody_effects.update", "Failed to access Data: music_data No." .. tostring(id));
|
error_handler.report("melody_effects.update", "Failed to Access Data: music_data No." .. tostring(id));
|
||||||
|
this.list[lua_index] = nil;
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -164,7 +165,8 @@ end
|
|||||||
function this.update_melody_effect(lua_index, id, key, melody_effect, 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_melody_effect", "Failed to access Data: melody_timer No. " .. tostring(id));
|
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
|
||||||
|
|
||||||
@@ -231,7 +233,7 @@ function this.get_melody_effect_name(id)
|
|||||||
local melody_effect_name = get_name_method:call(nil, id);
|
local melody_effect_name = get_name_method:call(nil, id);
|
||||||
if melody_effect_name == nil then
|
if melody_effect_name == nil then
|
||||||
local name = string.format("Melody Effect No. %d", id);
|
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);
|
error_handler.report("melody_effects.get_melody_effect_name", "Failed to Access Data: " .. melody_effect_name);
|
||||||
return name;
|
return name;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -130,13 +130,15 @@ function this.update_attack_up(player_data, item_parameter)
|
|||||||
|
|
||||||
local atk_up_buff_second = atk_up_buff_second_field:get_data(player_data);
|
local atk_up_buff_second = atk_up_buff_second_field:get_data(player_data);
|
||||||
if atk_up_buff_second == nil then
|
if atk_up_buff_second == nil then
|
||||||
error_handler.report("item_buffs.update_attack_up", "Failed to access Data: atk_up_buff_second");
|
error_handler.report("item_buffs.update_attack_up", "Failed to Access Data: atk_up_buff_second");
|
||||||
|
this.list.attack_up = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local might_seed_atk_up = might_seed_atk_up_field:get_data(item_parameter);
|
local might_seed_atk_up = might_seed_atk_up_field:get_data(item_parameter);
|
||||||
if might_seed_atk_up == nil then
|
if might_seed_atk_up == nil then
|
||||||
error_handler.report("item_buffs.update_might_seed", "Failed to access Data: might_seed_atk_up");
|
error_handler.report("item_buffs.update_might_seed", "Failed to Access Data: might_seed_atk_up");
|
||||||
|
this.list.attack_up = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ end
|
|||||||
function this.get_otomo_move_name(key)
|
function this.get_otomo_move_name(key)
|
||||||
local otomo_move_name = get_name_method:call(nil, otomo_moves_ids[key]);
|
local otomo_move_name = get_name_method:call(nil, otomo_moves_ids[key]);
|
||||||
if otomo_move_name == nil then
|
if otomo_move_name == nil then
|
||||||
error_handler.report("otomo_moves.get_otomo_move_name", string.format("Failed to access Data: %s_name", key));
|
error_handler.report("otomo_moves.get_otomo_move_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
return key;
|
return key;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ function this.update_rampage_skill(key, value_owner, value_holder, timer_owner,
|
|||||||
end
|
end
|
||||||
|
|
||||||
function this.apply_filter(key)
|
function this.apply_filter(key)
|
||||||
return this.apply_filter(this.list, config.current_config.buff_UI.filter.rampage_skills, key);
|
return buffs.apply_filter(this.list, config.current_config.buff_UI.filter.rampage_skills, key);
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_all_UI()
|
function this.init_all_UI()
|
||||||
@@ -106,7 +106,7 @@ end
|
|||||||
function this.get_rampage_skill_name(key)
|
function this.get_rampage_skill_name(key)
|
||||||
local rampage_skill_name = get_name_method:call(nil, rampage_skill_ids[key]);
|
local rampage_skill_name = get_name_method:call(nil, rampage_skill_ids[key]);
|
||||||
if rampage_skill_name == nil then
|
if rampage_skill_name == nil then
|
||||||
error_handler.report("rampage_skills.get_rampage_skill_name", string.format("Failed to access Data: %s_name", key));
|
error_handler.report("rampage_skills.get_rampage_skill_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
return key;
|
return key;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -472,7 +472,7 @@ end
|
|||||||
function this.update_equipped_skill_data(player)
|
function this.update_equipped_skill_data(player)
|
||||||
local player_skill_list = get_player_skill_list_method:call(player);
|
local player_skill_list = get_player_skill_list_method:call(player);
|
||||||
if player_skill_list == nil then
|
if player_skill_list == nil then
|
||||||
error_handler.report("this.update_equipped_skill_data", "Failed to access Data: player_skill_list");
|
error_handler.report("this.update_equipped_skill_data", "Failed to Access Data: player_skill_list");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -490,7 +490,7 @@ function this.update_equipped_skill_data(player)
|
|||||||
|
|
||||||
local skill_level = skill_lv_field:get_data(re_skill_data);
|
local skill_level = skill_lv_field:get_data(re_skill_data);
|
||||||
if skill_level == nil then
|
if skill_level == nil then
|
||||||
error_handler.report("skills.update_equipped_skill_data", string.format("Failed to access Data: %s -> skill_level", skill_key));
|
error_handler.report("skills.update_equipped_skill_data", string.format("Failed to Access Data: %s -> skill_level", skill_key));
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -514,7 +514,8 @@ function this.update_wind_mantle(player, weapon_type)
|
|||||||
|
|
||||||
local is_wind_mantle_enable = is_equip_skill_226_enable_field:get_data(player);
|
local is_wind_mantle_enable = is_equip_skill_226_enable_field:get_data(player);
|
||||||
if is_wind_mantle_enable == nil then
|
if is_wind_mantle_enable == nil then
|
||||||
error_handler.report("skills.update_wind_mantle", "Failed to access Data: is_wind_mantle_enable");
|
error_handler.report("skills.update_wind_mantle", "Failed to Access Data: is_wind_mantle_enable");
|
||||||
|
this.list.wind_mantle = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -525,13 +526,15 @@ function this.update_wind_mantle(player, weapon_type)
|
|||||||
|
|
||||||
local wind_mantle_timer = equip_skill_226_attack_off_timer_field:get_data(player);
|
local wind_mantle_timer = equip_skill_226_attack_off_timer_field:get_data(player);
|
||||||
if wind_mantle_timer == nil then
|
if wind_mantle_timer == nil then
|
||||||
error_handler.report("skills.update_wind_mantle", "Failed to access Data: wind_mantle_timer");
|
error_handler.report("skills.update_wind_mantle", "Failed to Access Data: wind_mantle_timer");
|
||||||
|
this.list.wind_mantle = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local wind_mantle_value = equip_skill_226_attack_count_field:get_data(player);
|
local wind_mantle_value = equip_skill_226_attack_count_field:get_data(player);
|
||||||
if wind_mantle_value == nil then
|
if wind_mantle_value == nil then
|
||||||
error_handler.report("skills.update_wind_mantle", "Failed to access Data: wind_mantle_value");
|
error_handler.report("skills.update_wind_mantle", "Failed to Access Data: wind_mantle_value");
|
||||||
|
this.list.wind_mantle = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -564,11 +567,13 @@ function this.update_maximum_might(player_data)
|
|||||||
|
|
||||||
local whole_body_timer = whole_body_timer_field:get_data(player_data);
|
local whole_body_timer = whole_body_timer_field:get_data(player_data);
|
||||||
if whole_body_timer == nil then
|
if whole_body_timer == nil then
|
||||||
error_handler.report("skills.update_maximum_might", "Failed to access Data: whole_body_timer");
|
error_handler.report("skills.update_maximum_might", "Failed to Access Data: whole_body_timer");
|
||||||
|
this.list.maximum_might = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
if player_info.list.max_stamina == -1 then
|
if player_info.list.max_stamina == -1 then
|
||||||
|
this.list.maximum_might = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -627,7 +632,8 @@ function this.update_bloodlust()
|
|||||||
if bloodlust == nil then
|
if bloodlust == nil then
|
||||||
local bloodlust_name = this.get_skill_name("bloodlust");
|
local bloodlust_name = this.get_skill_name("bloodlust");
|
||||||
if bloodlust_name == nil then
|
if bloodlust_name == nil then
|
||||||
error_handler.report("skills.update_bloodlust", "Failed to access Data: bloodlust_name");
|
error_handler.report("skills.update_bloodlust", "Failed to Access Data: bloodlust_name");
|
||||||
|
this.list.bloodlust = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -644,7 +650,8 @@ function this.update_frenzied_bloodlust(player, player_data)
|
|||||||
|
|
||||||
local hunter_wire_skill_231_num = get_hunter_wire_skill_231_num_method:call(player);
|
local hunter_wire_skill_231_num = get_hunter_wire_skill_231_num_method:call(player);
|
||||||
if hunter_wire_skill_231_num == nil then
|
if hunter_wire_skill_231_num == nil then
|
||||||
error_handler.report("skills.update_frenzied_bloodlust", "Failed to access Data: hunter_wire_skill_231_num");
|
error_handler.report("skills.update_frenzied_bloodlust", "Failed to Access Data: hunter_wire_skill_231_num");
|
||||||
|
this.list.frenzied_bloodlust = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -657,13 +664,15 @@ function this.update_frenzied_bloodlust(player, player_data)
|
|||||||
|
|
||||||
local equip_skill_231_wire_num_timer = equip_skill_231_wire_num_timer_field:get_data(player_data);
|
local equip_skill_231_wire_num_timer = equip_skill_231_wire_num_timer_field:get_data(player_data);
|
||||||
if equip_skill_231_wire_num_timer == nil then
|
if equip_skill_231_wire_num_timer == nil then
|
||||||
error_handler.report("skills.update_frenzied_bloodlust", "Failed to access Data: equip_skill_231_wire_num_timer");
|
error_handler.report("skills.update_frenzied_bloodlust", "Failed to Access Data: equip_skill_231_wire_num_timer");
|
||||||
|
this.list.frenzied_bloodlust = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local equip_skill_231_wp_off_timer = equip_skill_231_wp_off_timer_field:get_data(player_data);
|
local equip_skill_231_wp_off_timer = equip_skill_231_wp_off_timer_field:get_data(player_data);
|
||||||
if equip_skill_231_wp_off_timer == nil then
|
if equip_skill_231_wp_off_timer == nil then
|
||||||
error_handler.report("skills.update_frenzied_bloodlust", "Failed to access Data: equip_skill_231_wp_off_timer");
|
error_handler.report("skills.update_frenzied_bloodlust", "Failed to Access Data: equip_skill_231_wp_off_timer");
|
||||||
|
this.list.frenzied_bloodlust = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -770,7 +779,8 @@ function this.update_resentment(player_data)
|
|||||||
|
|
||||||
local r_vital = r_vital_field:get_data(player_data);
|
local r_vital = r_vital_field:get_data(player_data);
|
||||||
if r_vital == nil then
|
if r_vital == nil then
|
||||||
error_handler.report("skills.update_resentment", "Failed to access Data: r_vital");
|
error_handler.report("skills.update_resentment", "Failed to Access Data: r_vital");
|
||||||
|
this.list.resentment = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -802,7 +812,8 @@ function this.update_spiribirds_call(player_data)
|
|||||||
|
|
||||||
local equip_skill_211_timer = equip_skill_211_timer_field:get_data(player_data);
|
local equip_skill_211_timer = equip_skill_211_timer_field:get_data(player_data);
|
||||||
if equip_skill_211_timer == nil then
|
if equip_skill_211_timer == nil then
|
||||||
error_handler.report("skills.update_spiribirds_call", "Failed to access Data: equip_skill_211_timer");
|
error_handler.report("skills.update_spiribirds_call", "Failed to Access Data: equip_skill_211_timer");
|
||||||
|
this.list.spiribirds_call = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -863,7 +874,7 @@ function this.get_skill_name(key)
|
|||||||
|
|
||||||
local skill_name = get_name_method:call(nil, skill_data_list[key].id);
|
local skill_name = get_name_method:call(nil, skill_data_list[key].id);
|
||||||
if skill_name == nil then
|
if skill_name == nil then
|
||||||
error_handler.report("skills.get_skill_name", string.format("Failed to access Data: %s_name", key));
|
error_handler.report("skills.get_skill_name", string.format("Failed to Access Data: %s_name", key));
|
||||||
return key;
|
return key;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -304,7 +304,7 @@ local insect_glaive_type_name = "insect_glaive";
|
|||||||
-- 13 Bow
|
-- 13 Bow
|
||||||
local bow_type_name = "bow";
|
local bow_type_name = "bow";
|
||||||
|
|
||||||
local previous_weapon_type = -1;
|
local previous_weapon_type = 0;
|
||||||
local previous_weapon_key = "great_sword";
|
local previous_weapon_key = "great_sword";
|
||||||
|
|
||||||
local spirit_gauge_breakpoints = {3, 2};
|
local spirit_gauge_breakpoints = {3, 2};
|
||||||
@@ -503,7 +503,7 @@ function this.update(player, player_data, weapon_type)
|
|||||||
end
|
end
|
||||||
|
|
||||||
previous_weapon_type = weapon_type;
|
previous_weapon_type = weapon_type;
|
||||||
previous_weapon_key = this.keys[previous_weapon_type].key;
|
previous_weapon_key = this.keys[previous_weapon_type + 1].key;
|
||||||
|
|
||||||
if weapon_type == 0 then
|
if weapon_type == 0 then
|
||||||
this.update_great_sword_skills(player);
|
this.update_great_sword_skills(player);
|
||||||
@@ -586,35 +586,41 @@ function this.update_harvest_moon()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if singletons.long_sword_shell_manager == nil then
|
if singletons.long_sword_shell_manager == nil then
|
||||||
error_handler.report("weapon_skills.update_harvest_moon", "Failed to access Data: long_sword_shell_manager");
|
error_handler.report("weapon_skills.update_harvest_moon", "Failed to Access Data: long_sword_shell_manager");
|
||||||
|
this.list.harvest_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local master_long_sword_shell_010_list = get_master_long_sword_shell_010s_method:call(singletons.long_sword_shell_manager, players.myself.id);
|
local master_long_sword_shell_010_list = get_master_long_sword_shell_010s_method:call(singletons.long_sword_shell_manager, players.myself.id);
|
||||||
if master_long_sword_shell_010_list == nil then
|
if master_long_sword_shell_010_list == nil then
|
||||||
error_handler.report("weapon_skills.update_harvest_moon", "Failed to access Data: master_long_sword_shell_010_list");
|
error_handler.report("weapon_skills.update_harvest_moon", "Failed to Access Data: master_long_sword_shell_010_list");
|
||||||
|
this.list.harvest_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local master_long_sword_shell_010_list_count = get_long_sword_shell_010_list_count_method:call(master_long_sword_shell_010_list);
|
local master_long_sword_shell_010_list_count = get_long_sword_shell_010_list_count_method:call(master_long_sword_shell_010_list);
|
||||||
if master_long_sword_shell_010_list_count == nil then
|
if master_long_sword_shell_010_list_count == nil then
|
||||||
error_handler.report("weapon_skills.update_harvest_moon", "Failed to access Data: master_long_sword_shell_010_list_count");
|
error_handler.report("weapon_skills.update_harvest_moon", "Failed to Access Data: master_long_sword_shell_010_list_count");
|
||||||
|
this.list.harvest_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
if master_long_sword_shell_010_list_count == 0 then
|
if master_long_sword_shell_010_list_count == 0 then
|
||||||
|
this.list.harvest_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local master_long_sword_shell_010 = get_long_sword_shell_010_list_item_method:call(master_long_sword_shell_010_list, 0);
|
local master_long_sword_shell_010 = get_long_sword_shell_010_list_item_method:call(master_long_sword_shell_010_list, 0);
|
||||||
if master_long_sword_shell_010 == nil then
|
if master_long_sword_shell_010 == nil then
|
||||||
error_handler.report("weapon_skills.update_harvest_moon", "Failed to access Data: master_long_sword_shell_010");
|
error_handler.report("weapon_skills.update_harvest_moon", "Failed to Access Data: master_long_sword_shell_010");
|
||||||
|
this.list.harvest_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local life_timer = long_sword_shell_010_life_timer_field:get_data(master_long_sword_shell_010);
|
local life_timer = long_sword_shell_010_life_timer_field:get_data(master_long_sword_shell_010);
|
||||||
if life_timer == nil then
|
if life_timer == nil then
|
||||||
error_handler.report("weapon_skills.update_harvest_moon", "Failed to access Data: life_timer");
|
error_handler.report("weapon_skills.update_harvest_moon", "Failed to Access Data: life_timer");
|
||||||
|
this.list.harvest_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -639,7 +645,8 @@ function this.update_wyvernblast_reload(player_data)
|
|||||||
|
|
||||||
local wyvernblast_reload_timer = wyvernblast_reload_timer_field:get_data(player_data);
|
local wyvernblast_reload_timer = wyvernblast_reload_timer_field:get_data(player_data);
|
||||||
if wyvernblast_reload_timer == nil then
|
if wyvernblast_reload_timer == nil then
|
||||||
error_handler.report("weapon_skills.update_wyvernblast_reload", "Failed to access Data: heavy_bowgun_overheat_timer_field");
|
error_handler.report("weapon_skills.update_wyvernblast_reload", "Failed to Access Data: heavy_bowgun_overheat_timer_field");
|
||||||
|
this.list.wyvernblast_reload = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -668,19 +675,22 @@ function this.update_rising_moon()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if singletons.light_bowgun_shell_manager == nil then
|
if singletons.light_bowgun_shell_manager == nil then
|
||||||
error_handler.report("weapon_skills.update_rising_moon", "Failed to access Data: light_bowgun_shell_manager");
|
error_handler.report("weapon_skills.update_rising_moon", "Failed to Access Data: light_bowgun_shell_manager");
|
||||||
|
this.list.rising_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local light_bowgun_shell_030s_speed_boost_list = get_light_bowgun_shell_030s_speed_boost_list_method:call(singletons.light_bowgun_shell_manager);
|
local light_bowgun_shell_030s_speed_boost_list = get_light_bowgun_shell_030s_speed_boost_list_method:call(singletons.light_bowgun_shell_manager);
|
||||||
if light_bowgun_shell_030s_speed_boost_list == nil then
|
if light_bowgun_shell_030s_speed_boost_list == nil then
|
||||||
error_handler.report("weapon_skills.update_rising_moon", "Failed to access Data: light_bowgun_shell_030s_speed_boost_list");
|
error_handler.report("weapon_skills.update_rising_moon", "Failed to Access Data: light_bowgun_shell_030s_speed_boost_list");
|
||||||
|
this.list.rising_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local light_bowgun_shell_030_speed_boost_list_count = get_light_bowgun_shell_030_list_count_method:call(light_bowgun_shell_030s_speed_boost_list);
|
local light_bowgun_shell_030_speed_boost_list_count = get_light_bowgun_shell_030_list_count_method:call(light_bowgun_shell_030s_speed_boost_list);
|
||||||
if light_bowgun_shell_030_speed_boost_list_count == nil then
|
if light_bowgun_shell_030_speed_boost_list_count == nil then
|
||||||
error_handler.report("weapon_skills.update_rising_moon", "Failed to access Data: light_bowgun_shell_030_speed_boost_list_count");
|
error_handler.report("weapon_skills.update_rising_moon", "Failed to Access Data: light_bowgun_shell_030_speed_boost_list_count");
|
||||||
|
this.list.rising_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -689,16 +699,17 @@ function this.update_rising_moon()
|
|||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Possibly requires players.myself.id instead of 0?
|
|
||||||
local light_bowgun_shell_030 = get_light_bowgun_shell_030_list_item_method:call(light_bowgun_shell_030s_speed_boost_list, 0);
|
local light_bowgun_shell_030 = get_light_bowgun_shell_030_list_item_method:call(light_bowgun_shell_030s_speed_boost_list, 0);
|
||||||
if light_bowgun_shell_030 == nil then
|
if light_bowgun_shell_030 == nil then
|
||||||
error_handler.report("weapon_skills.update_rising_moon", "Failed to access Data: light_bowgun_shell_030");
|
error_handler.report("weapon_skills.update_rising_moon", "Failed to Access Data: light_bowgun_shell_030");
|
||||||
|
this.list.rising_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_hit_enable = light_bowgun_shell_030_is_enable_hit_field:get_data(light_bowgun_shell_030);
|
local is_hit_enable = light_bowgun_shell_030_is_enable_hit_field:get_data(light_bowgun_shell_030);
|
||||||
if is_hit_enable == nil then
|
if is_hit_enable == nil then
|
||||||
error_handler.report("weapon_skills.update_rising_moon", "Failed to access Data: is_hit_enable");
|
error_handler.report("weapon_skills.update_rising_moon", "Failed to Access Data: is_hit_enable");
|
||||||
|
this.list.rising_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -709,7 +720,8 @@ function this.update_rising_moon()
|
|||||||
|
|
||||||
local timer = light_bowgun_shell_030_timer_field:get_data(light_bowgun_shell_030);
|
local timer = light_bowgun_shell_030_timer_field:get_data(light_bowgun_shell_030);
|
||||||
if timer == nil then
|
if timer == nil then
|
||||||
error_handler.report("weapon_skills.update_rising_moon", "Failed to access Data: timer");
|
error_handler.report("weapon_skills.update_rising_moon", "Failed to Access Data: timer");
|
||||||
|
this.list.rising_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -727,19 +739,22 @@ function this.update_setting_sun()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if singletons.light_bowgun_shell_manager == nil then
|
if singletons.light_bowgun_shell_manager == nil then
|
||||||
error_handler.report("weapon_skills.update_setting_sun", "Failed to access Data: light_bowgun_shell_manager");
|
error_handler.report("weapon_skills.update_setting_sun", "Failed to Access Data: light_bowgun_shell_manager");
|
||||||
|
this.list.setting_sun = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local light_bowgun_shell_030s_all_list = get_light_bowgun_shell_030s_all_list_method:call(singletons.light_bowgun_shell_manager);
|
local light_bowgun_shell_030s_all_list = get_light_bowgun_shell_030s_all_list_method:call(singletons.light_bowgun_shell_manager);
|
||||||
if light_bowgun_shell_030s_all_list == nil then
|
if light_bowgun_shell_030s_all_list == nil then
|
||||||
error_handler.report("weapon_skills.update_setting_sun", "Failed to access Data: light_bowgun_shell_030s_all_list");
|
error_handler.report("weapon_skills.update_setting_sun", "Failed to Access Data: light_bowgun_shell_030s_all_list");
|
||||||
|
this.list.setting_sun = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local light_bowgun_shell_030_all_list_count = get_light_bowgun_shell_030_list_count_method:call(light_bowgun_shell_030s_all_list);
|
local light_bowgun_shell_030_all_list_count = get_light_bowgun_shell_030_list_count_method:call(light_bowgun_shell_030s_all_list);
|
||||||
if light_bowgun_shell_030_all_list_count == nil then
|
if light_bowgun_shell_030_all_list_count == nil then
|
||||||
error_handler.report("weapon_skills.update_setting_sun", "Failed to access Data: light_bowgun_shell_030_all_list_count");
|
error_handler.report("weapon_skills.update_setting_sun", "Failed to Access Data: light_bowgun_shell_030_all_list_count");
|
||||||
|
this.list.setting_sun = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -753,16 +768,17 @@ function this.update_setting_sun()
|
|||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Possibly requires players.myself.id instead of 0?
|
|
||||||
local light_bowgun_shell_030 = get_light_bowgun_shell_030_list_item_method:call(light_bowgun_shell_030s_all_list, 0);
|
local light_bowgun_shell_030 = get_light_bowgun_shell_030_list_item_method:call(light_bowgun_shell_030s_all_list, 0);
|
||||||
if light_bowgun_shell_030 == nil then
|
if light_bowgun_shell_030 == nil then
|
||||||
error_handler.report("weapon_skills.update_setting_sun", "Failed to access Data: light_bowgun_shell_030");
|
error_handler.report("weapon_skills.update_setting_sun", "Failed to Access Data: light_bowgun_shell_030");
|
||||||
|
this.list.setting_sun = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local is_hit_enable = light_bowgun_shell_030_is_enable_hit_field:get_data(light_bowgun_shell_030);
|
local is_hit_enable = light_bowgun_shell_030_is_enable_hit_field:get_data(light_bowgun_shell_030);
|
||||||
if is_hit_enable == nil then
|
if is_hit_enable == nil then
|
||||||
error_handler.report("weapon_skills.update_setting_sun", "Failed to access Data: is_hit_enable");
|
error_handler.report("weapon_skills.update_setting_sun", "Failed to Access Data: is_hit_enable");
|
||||||
|
this.list.setting_sun = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -773,7 +789,8 @@ function this.update_setting_sun()
|
|||||||
|
|
||||||
local timer = light_bowgun_shell_030_timer_field:get_data(light_bowgun_shell_030);
|
local timer = light_bowgun_shell_030_timer_field:get_data(light_bowgun_shell_030);
|
||||||
if timer == nil then
|
if timer == nil then
|
||||||
error_handler.report("weapon_skills.update_setting_sun", "Failed to access Data: timer");
|
error_handler.report("weapon_skills.update_setting_sun", "Failed to Access Data: timer");
|
||||||
|
this.list.setting_sun = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -792,7 +809,8 @@ function this.update_overheat(player_data)
|
|||||||
|
|
||||||
local heavy_bowgun_overheat_timer = heavy_bowgun_overheat_timer_field:get_data(player_data);
|
local heavy_bowgun_overheat_timer = heavy_bowgun_overheat_timer_field:get_data(player_data);
|
||||||
if heavy_bowgun_overheat_timer_field == nil then
|
if heavy_bowgun_overheat_timer_field == nil then
|
||||||
error_handler.report("weapon_skills.update_overheat", "Failed to access Data: heavy_bowgun_overheat_timer_field");
|
error_handler.report("weapon_skills.update_overheat", "Failed to Access Data: heavy_bowgun_overheat_timer_field");
|
||||||
|
this.list.overheat = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -827,7 +845,8 @@ function this.update_twin_wine(player)
|
|||||||
|
|
||||||
local chain_death_match_shell = chain_death_match_shell_field:get_data(player);
|
local chain_death_match_shell = chain_death_match_shell_field:get_data(player);
|
||||||
if chain_death_match_shell == nil then
|
if chain_death_match_shell == nil then
|
||||||
error_handler.report("weapon_skills.update_twin_wine", "Failed to access Data: chain_death_match_shell");
|
error_handler.report("weapon_skills.update_twin_wine", "Failed to Access Data: chain_death_match_shell");
|
||||||
|
this.list.twin_wine = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -851,7 +870,8 @@ function this.update_archdemon_mode(player)
|
|||||||
|
|
||||||
local is_kijin_kyouka = is_kijin_kyouka_field:get_data(player);
|
local is_kijin_kyouka = is_kijin_kyouka_field:get_data(player);
|
||||||
if is_kijin_kyouka == nil then
|
if is_kijin_kyouka == nil then
|
||||||
error_handler.report("weapon_skills.update_archdemon_mode", "Failed to access Data: is_kijin_kyouka");
|
error_handler.report("weapon_skills.update_archdemon_mode", "Failed to Access Data: is_kijin_kyouka");
|
||||||
|
this.list.archdemon_mode = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -862,7 +882,8 @@ function this.update_archdemon_mode(player)
|
|||||||
|
|
||||||
local kijin_kyouka_gauge = get_kijin_kyouka_gauge_method:call(player);
|
local kijin_kyouka_gauge = get_kijin_kyouka_gauge_method:call(player);
|
||||||
if kijin_kyouka_gauge == nil then
|
if kijin_kyouka_gauge == nil then
|
||||||
error_handler.report("weapon_skills.update_archdemon_mode", "Failed to access Data: kijin_kyouka_gauge");
|
error_handler.report("weapon_skills.update_archdemon_mode", "Failed to Access Data: kijin_kyouka_gauge");
|
||||||
|
this.list.archdemon_mode = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -887,36 +908,41 @@ function this.update_bead_of_resonance()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if singletons.horn_shell_manager == nil then
|
if singletons.horn_shell_manager == nil then
|
||||||
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to access Data: horn_shell_manager");
|
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to Access Data: horn_shell_manager");
|
||||||
|
this.list.bead_of_resonance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local horn_shell_003s_array = horn_shell_003s_field:get_data(singletons.horn_shell_manager);
|
local horn_shell_003s_array = horn_shell_003s_field:get_data(singletons.horn_shell_manager);
|
||||||
if horn_shell_003s_array == nil then
|
if horn_shell_003s_array == nil then
|
||||||
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to access Data: horn_shell_003s_list");
|
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to Access Data: horn_shell_003s_list");
|
||||||
|
this.list.bead_of_resonance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local horn_shell_003s_array_length = get_length_method:call(horn_shell_003s_array);
|
local horn_shell_003s_array_length = get_length_method:call(horn_shell_003s_array);
|
||||||
if horn_shell_003s_array_length == nil then
|
if horn_shell_003s_array_length == nil then
|
||||||
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to access Data: horn_shell_003s_array_length");
|
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to Access Data: horn_shell_003s_array_length");
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
if players.myself.id >= horn_shell_003s_array_length then
|
|
||||||
this.list.bead_of_resonance = nil;
|
this.list.bead_of_resonance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local horn_shell_003_list = get_value_method:call(horn_shell_003s_array, players.myself.id);
|
if horn_shell_003s_array_length == 0 then
|
||||||
|
this.list.bead_of_resonance = nil;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
local horn_shell_003_list = get_value_method:call(horn_shell_003s_array, 0);
|
||||||
if horn_shell_003_list == nil then
|
if horn_shell_003_list == nil then
|
||||||
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to access Data: horn_shell_003_list");
|
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to Access Data: horn_shell_003_list");
|
||||||
|
this.list.bead_of_resonance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local horn_shell_003_list_count = get_horn_shell_003_list_count_method:call(horn_shell_003_list);
|
local horn_shell_003_list_count = get_horn_shell_003_list_count_method:call(horn_shell_003_list);
|
||||||
if horn_shell_003_list_count == nil then
|
if horn_shell_003_list_count == nil then
|
||||||
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to access Data: horn_shell_003_list_count");
|
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to Access Data: horn_shell_003_list_count");
|
||||||
|
this.list.bead_of_resonance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -927,13 +953,15 @@ function this.update_bead_of_resonance()
|
|||||||
|
|
||||||
local horn_shell_003 = get_horn_shell_003_list_item_method:call(horn_shell_003_list, 0);
|
local horn_shell_003 = get_horn_shell_003_list_item_method:call(horn_shell_003_list, 0);
|
||||||
if horn_shell_003 == nil then
|
if horn_shell_003 == nil then
|
||||||
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to access Data: horn_shell_003");
|
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to Access Data: horn_shell_003");
|
||||||
|
this.list.bead_of_resonance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local life_timer = horn_shell_003_life_timer_field:get_data(horn_shell_003);
|
local life_timer = horn_shell_003_life_timer_field:get_data(horn_shell_003);
|
||||||
if life_timer == nil then
|
if life_timer == nil then
|
||||||
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to access Data: life_timer");
|
error_handler.report("weapon_skills.update_bead_of_resonance", "Failed to Access Data: life_timer");
|
||||||
|
this.list.bead_of_resonance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -952,18 +980,19 @@ function this.update_sonic_bloom(player)
|
|||||||
|
|
||||||
local blast_speaker_shell = get_ref_blast_speaker_shell_method:call(player);
|
local blast_speaker_shell = get_ref_blast_speaker_shell_method:call(player);
|
||||||
if blast_speaker_shell == nil then
|
if blast_speaker_shell == nil then
|
||||||
this.list.bead_of_resonance = nil;
|
this.list.sonic_bloom = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
local life_timer = horn_shell_020_life_timer_field:get_data(blast_speaker_shell);
|
local life_timer = horn_shell_020_life_timer_field:get_data(blast_speaker_shell);
|
||||||
if life_timer == nil then
|
if life_timer == nil then
|
||||||
error_handler.report("weapon_skills.update_sonic_bloom", "Failed to access Data: life_timer");
|
error_handler.report("weapon_skills.update_sonic_bloom", "Failed to Access Data: life_timer");
|
||||||
|
this.list.sonic_bloom = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
if utils.number.is_equal(life_timer, 0) then
|
if utils.number.is_equal(life_timer, 0) then
|
||||||
this.list.bead_of_resonance = nil;
|
this.list.sonic_bloom = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -972,7 +1001,6 @@ end
|
|||||||
|
|
||||||
function this.update_charge_blade_skills(player)
|
function this.update_charge_blade_skills(player)
|
||||||
this.update_weapon_skill("element_boost", charge_blade_type_name, nil, nil, player, shield_buff_timer_field);
|
this.update_weapon_skill("element_boost", charge_blade_type_name, nil, nil, player, shield_buff_timer_field);
|
||||||
|
|
||||||
this.update_weapon_skill("sword_boost_mode", charge_blade_type_name, nil, nil, player, sword_buff_timer_field);
|
this.update_weapon_skill("sword_boost_mode", charge_blade_type_name, nil, nil, player, sword_buff_timer_field);
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -998,7 +1026,8 @@ function this.update_all_extracts_mix(player)
|
|||||||
|
|
||||||
local is_get_all_extractive = is_get_all_extractive_method:call(player);
|
local is_get_all_extractive = is_get_all_extractive_method:call(player);
|
||||||
if is_get_all_extractive == nil then
|
if is_get_all_extractive == nil then
|
||||||
error_handler.report("weapon_skills.update_all_extracts_mix", "Failed to access Data: is_get_all_extractive");
|
error_handler.report("weapon_skills.update_all_extracts_mix", "Failed to Access Data: is_get_all_extractive");
|
||||||
|
this.list.all_extracts_mix = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1009,7 +1038,8 @@ function this.update_all_extracts_mix(player)
|
|||||||
|
|
||||||
local red_extractive_time = get_red_extractive_time_method:call(player);
|
local red_extractive_time = get_red_extractive_time_method:call(player);
|
||||||
if red_extractive_time == nil then
|
if red_extractive_time == nil then
|
||||||
error_handler.report("weapon_skills.update_all_extracts_mix", "Failed to access Data: red_extractive_time");
|
error_handler.report("weapon_skills.update_all_extracts_mix", "Failed to Access Data: red_extractive_time");
|
||||||
|
this.list.all_extracts_mix = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1028,7 +1058,8 @@ function this.update_extract(player, extract_key, time_holder)
|
|||||||
|
|
||||||
local extractive_time = time_holder:call(player);
|
local extractive_time = time_holder:call(player);
|
||||||
if extractive_time == nil then
|
if extractive_time == nil then
|
||||||
error_handler.report("weapon_skills.update_extract", string.format("Failed to access Data: %s_extractive_time", extract_key));
|
error_handler.report("weapon_skills.update_extract", string.format("Failed to Access Data: %s_extractive_time", extract_key));
|
||||||
|
this.list[extract_key] = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1073,7 +1104,7 @@ function this.get_weapon_skill_name(weapon_skill_key)
|
|||||||
|
|
||||||
local weapon_skill_name = get_name_method:call(nil, weapon_skill_id);
|
local weapon_skill_name = get_name_method:call(nil, weapon_skill_id);
|
||||||
if weapon_skill_name == nil then
|
if weapon_skill_name == nil then
|
||||||
error_handler.report("weapon_skills.get_weapon_skill_name", string.format("Failed to access Data: %s_name", weapon_skill_key));
|
error_handler.report("weapon_skills.get_weapon_skill_name", string.format("Failed to Access Data: %s_name", weapon_skill_key));
|
||||||
return weapon_skill_key;
|
return weapon_skill_key;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -331,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
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,29 @@ this.creature_ids = {
|
|||||||
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 = {};
|
||||||
|
|
||||||
@@ -81,30 +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;
|
creature.id = creature_type;
|
||||||
|
|
||||||
|
this.update_head_joint(REcreature, creature)
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_UI(creature)
|
function this.init_UI(creature)
|
||||||
@@ -127,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)
|
||||||
@@ -144,12 +162,76 @@ 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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -79,7 +79,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -88,7 +88,7 @@ end
|
|||||||
function this.update_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.update_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
|
||||||
|
|
||||||
@@ -98,7 +98,7 @@ end
|
|||||||
function this.update_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.update_progress_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
|
||||||
|
|
||||||
@@ -108,7 +108,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -117,7 +117,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -126,7 +126,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -135,7 +135,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -144,7 +144,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -153,7 +153,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -162,7 +162,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -171,7 +171,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -180,7 +180,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -189,7 +189,7 @@ end
|
|||||||
function this.update_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.update_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;
|
||||||
@@ -198,7 +198,7 @@ end
|
|||||||
function this.update_light_bowgun_shell_manager()
|
function this.update_light_bowgun_shell_manager()
|
||||||
this.light_bowgun_shell_manager = sdk.get_managed_singleton("snow.shell.LightBowgunShellManager");
|
this.light_bowgun_shell_manager = sdk.get_managed_singleton("snow.shell.LightBowgunShellManager");
|
||||||
if this.light_bowgun_shell_manager == nil then
|
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");
|
error_handler.report("singletons.update_light_bowgun_shell_manager", "Failed to Access Data: light_bowgun_shell_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.light_bowgun_shell_manager;
|
return this.light_bowgun_shell_manager;
|
||||||
@@ -207,7 +207,7 @@ end
|
|||||||
function this.update_horn_shell_manager()
|
function this.update_horn_shell_manager()
|
||||||
this.horn_shell_manager = sdk.get_managed_singleton("snow.shell.HornShellManager");
|
this.horn_shell_manager = sdk.get_managed_singleton("snow.shell.HornShellManager");
|
||||||
if this.horn_shell_manager == nil then
|
if this.horn_shell_manager == nil then
|
||||||
error_handler.report("singletons.update_horn_shell_manager", "Failed to access Data: horn_shell_manager");
|
error_handler.report("singletons.update_horn_shell_manager", "Failed to Access Data: horn_shell_manager");
|
||||||
end
|
end
|
||||||
|
|
||||||
return this.horn_shell_manager;
|
return this.horn_shell_manager;
|
||||||
|
|||||||
@@ -74,14 +74,14 @@ function this.new_timer(callback, cooldown_seconds, 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();
|
||||||
|
|
||||||
@@ -153,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
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ local os = os;
|
|||||||
local ValueType = ValueType;
|
local ValueType = ValueType;
|
||||||
local package = package;
|
local package = package;
|
||||||
|
|
||||||
this.version = "2.6";
|
this.version = "2.7.2";
|
||||||
|
|
||||||
this.config_folder = "MHR Overlay\\configs\\";
|
this.config_folder = "MHR Overlay\\configs\\";
|
||||||
this.current_config_value_file_name = "MHR Overlay\\config.json";
|
this.current_config_value_file_name = "MHR Overlay\\config.json";
|
||||||
@@ -292,6 +292,20 @@ function this.init_default()
|
|||||||
ctrl = false,
|
ctrl = false,
|
||||||
alt = false,
|
alt = false,
|
||||||
key = 0
|
key = 0
|
||||||
|
},
|
||||||
|
|
||||||
|
buff_UI = {
|
||||||
|
shift = false,
|
||||||
|
ctrl = false,
|
||||||
|
alt = false,
|
||||||
|
key = 0
|
||||||
|
},
|
||||||
|
|
||||||
|
stats_UI = {
|
||||||
|
shift = false,
|
||||||
|
ctrl = false,
|
||||||
|
alt = false,
|
||||||
|
key = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -306,18 +320,20 @@ function this.init_default()
|
|||||||
|
|
||||||
dynamic_positioning = {
|
dynamic_positioning = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
max_distance = 300,
|
head_tracking = true,
|
||||||
|
|
||||||
opacity_falloff = true,
|
opacity_falloff = true,
|
||||||
|
max_distance = 300,
|
||||||
|
|
||||||
world_offset = {
|
world_offset = {
|
||||||
x = 0,
|
x = 0,
|
||||||
y = 3,
|
y = 1,
|
||||||
z = 0
|
z = 0
|
||||||
},
|
},
|
||||||
|
|
||||||
viewport_offset = {
|
viewport_offset = {
|
||||||
x = -50,
|
x = -50,
|
||||||
y = 0
|
y = -30
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1008,23 +1024,24 @@ function this.init_default()
|
|||||||
enabled = true,
|
enabled = true,
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
head_tracking = true,
|
||||||
hide_dead_or_captured = true,
|
hide_dead_or_captured = true,
|
||||||
render_highlighted_monster = true,
|
render_highlighted_monster = true,
|
||||||
render_not_highlighted_monsters = true,
|
render_not_highlighted_monsters = true,
|
||||||
max_distance = 300,
|
|
||||||
opacity_falloff = true,
|
opacity_falloff = true,
|
||||||
|
max_distance = 300,
|
||||||
time_limit = 15
|
time_limit = 15
|
||||||
},
|
},
|
||||||
|
|
||||||
world_offset = {
|
world_offset = {
|
||||||
x = 0,
|
x = 0,
|
||||||
y = 6,
|
y = 2,
|
||||||
z = 0
|
z = 0
|
||||||
},
|
},
|
||||||
|
|
||||||
viewport_offset = {
|
viewport_offset = {
|
||||||
x = -100,
|
x = -100,
|
||||||
y = 0
|
y = -30
|
||||||
},
|
},
|
||||||
|
|
||||||
monster_name_label = {
|
monster_name_label = {
|
||||||
@@ -7440,6 +7457,7 @@ function this.init_default()
|
|||||||
enabled = false,
|
enabled = false,
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
head_tracking = true,
|
||||||
hide_inactive_creatures = true,
|
hide_inactive_creatures = true,
|
||||||
max_distance = 300,
|
max_distance = 300,
|
||||||
opacity_falloff = true
|
opacity_falloff = true
|
||||||
@@ -7533,6 +7551,7 @@ function this.init_default()
|
|||||||
deadly_poison = true,
|
deadly_poison = true,
|
||||||
stun = true,
|
stun = true,
|
||||||
paralysis = true,
|
paralysis = true,
|
||||||
|
falling_asleep = true,
|
||||||
sleep = true,
|
sleep = true,
|
||||||
defense_down = true,
|
defense_down = true,
|
||||||
resistance_down = true,
|
resistance_down = true,
|
||||||
@@ -7556,6 +7575,7 @@ function this.init_default()
|
|||||||
mega_demondrug = true,
|
mega_demondrug = true,
|
||||||
armorskin = true,
|
armorskin = true,
|
||||||
mega_armorskin = true,
|
mega_armorskin = true,
|
||||||
|
might_seed = true,
|
||||||
demon_powder = true,
|
demon_powder = true,
|
||||||
hardshell_powder = true,
|
hardshell_powder = true,
|
||||||
gourmet_fish = true,
|
gourmet_fish = true,
|
||||||
@@ -9199,7 +9219,7 @@ function this.load_configs()
|
|||||||
table.insert(this.config_names, this.current_config_name);
|
table.insert(this.config_names, this.current_config_name);
|
||||||
table.insert(this.configs, this.current_config);
|
table.insert(this.configs, this.current_config);
|
||||||
|
|
||||||
this.save(this.current_config_name, this.current_config);
|
this.save(string.format("%s\\%s.json", this.config_folder, this.current_config_name), this.current_config);
|
||||||
end
|
end
|
||||||
|
|
||||||
this.save_current_config_name();
|
this.save_current_config_name();
|
||||||
|
|||||||
@@ -37,17 +37,17 @@ local package = package;
|
|||||||
|
|
||||||
this.language_folder = "MHR Overlay\\languages\\";
|
this.language_folder = "MHR Overlay\\languages\\";
|
||||||
|
|
||||||
-- this.traditional_chinese_ranges = {
|
-- this.chinese_ranges = {
|
||||||
-- 0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
-- 0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
||||||
-- 0x2000, 0x206F, -- General Punctuation
|
-- 0x2000, 0x206F, -- General Punctuations
|
||||||
-- 0x2E80, 0x2EFF, -- CJK Radicals Supplement
|
-- 0x2E80, 0x2EFF, -- CJK Radicals Supplement
|
||||||
-- 0x3000, 0x303F, -- CJK Symbols and Punctuations
|
-- 0x3000, 0x303F, -- CJK Symbols and Punctuations
|
||||||
-- 0x31F0, 0x31FF, -- Katakana Phonetic Extensions
|
|
||||||
-- 0x3200, 0x4DBF, -- Enclosed CJK Letters and Months, CJK Compatibility, CJK Unified Ideographs Extension A
|
-- 0x3200, 0x4DBF, -- Enclosed CJK Letters and Months, CJK Compatibility, CJK Unified Ideographs Extension A
|
||||||
-- 0x4E00, 0x9FAF, -- CJK Unified Ideograms
|
-- 0x4E00, 0x9FFF, -- CJK Unified Ideograms
|
||||||
-- 0xF900, 0xFAFF, -- CJK Compatibility Ideographs
|
-- 0xF900, 0xFAFF, -- CJK Compatibility Ideographs
|
||||||
-- 0xFE30, 0xFE4F, -- CJK Compatibility Forms
|
-- 0xFE30, 0xFE4F, -- CJK Compatibility Forms
|
||||||
-- 0xFF00, 0xFFEF, -- Half-width characters
|
-- 0xFF00, 0xFFEF, -- Half-width characters
|
||||||
|
-- 0
|
||||||
-- };
|
-- };
|
||||||
|
|
||||||
-- this.japanese_glyph_ranges = {
|
-- this.japanese_glyph_ranges = {
|
||||||
@@ -55,36 +55,34 @@ this.language_folder = "MHR Overlay\\languages\\";
|
|||||||
-- 0x2000, 0x206F, -- General Punctuation
|
-- 0x2000, 0x206F, -- General Punctuation
|
||||||
-- 0x2E80, 0x2EFF, -- CJK Radicals Supplement
|
-- 0x2E80, 0x2EFF, -- CJK Radicals Supplement
|
||||||
-- 0x3000, 0x30FF, -- CJK Symbols and Punctuations, Hiragana, Katakana
|
-- 0x3000, 0x30FF, -- CJK Symbols and Punctuations, Hiragana, Katakana
|
||||||
-- 0x31F0, 0x31FF, -- Katakana Phonetic Extensions
|
-- 0x31F0, 0x4DBF, -- Katakana Phonetic Extensions, Enclosed CJK Letters and Months, CJK Compatibility, CJK Unified Ideographs Extension A
|
||||||
-- 0x3200, 0x4DBF, -- Enclosed CJK Letters and Months, CJK Compatibility, CJK Unified Ideographs Extension A
|
-- 0x4E00, 0x9FFF, -- CJK Unified Ideograms
|
||||||
-- 0x4E00, 0x9FAF, -- CJK Unified Ideograms
|
|
||||||
-- 0xF900, 0xFAFF, -- CJK Compatibility Ideographs
|
-- 0xF900, 0xFAFF, -- CJK Compatibility Ideographs
|
||||||
-- 0xFE30, 0xFE4F, -- CJK Compatibility Forms
|
-- 0xFE30, 0xFE4F, -- CJK Compatibility Forms
|
||||||
-- 0xFF00, 0xFFEF, -- Half-width characters
|
-- 0xFF00, 0xFFEF, -- Half-width characters
|
||||||
|
-- 0
|
||||||
-- };
|
-- };
|
||||||
|
|
||||||
-- this.korean_glyph_ranges = {
|
-- this.korean_glyph_ranges = {
|
||||||
-- 0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
-- 0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
||||||
-- 0x1100, 0x11FF, -- Hangul Jamo
|
-- 0x1100, 0x11FF, -- Hangul Jamo
|
||||||
-- 0x2000, 0x206F, -- General Punctuation
|
-- 0x2000, 0x206F, -- General Punctuation
|
||||||
|
-- 0x2E80, 0x2EFF, -- CJK Radicals Supplement
|
||||||
|
-- 0x3000, 0x303F, -- CJK Symbols and Punctuations
|
||||||
-- 0x3130, 0x318F, -- Hangul Compatibility Jamo
|
-- 0x3130, 0x318F, -- Hangul Compatibility Jamo
|
||||||
|
-- 0x3200, 0x4DBF, -- Enclosed CJK Letters and Months, CJK Compatibility, CJK Unified Ideographs Extension A
|
||||||
|
-- 0x4E00, 0x9FFF, -- CJK Unified Ideograms
|
||||||
-- 0xAC00, 0xD7AF, -- Hangul Syllables
|
-- 0xAC00, 0xD7AF, -- Hangul Syllables
|
||||||
|
-- 0xF900, 0xFAFF, -- CJK Compatibility Ideographs
|
||||||
|
-- 0xFE30, 0xFE4F, -- CJK Compatibility Forms
|
||||||
-- 0xFF00, 0xFFEF, -- Half-width characters
|
-- 0xFF00, 0xFFEF, -- Half-width characters
|
||||||
-- 0
|
-- 0
|
||||||
-- }
|
-- }
|
||||||
|
|
||||||
this.current_language = {};
|
this.current_language = {};
|
||||||
this.default_language = {
|
this.default_language = {
|
||||||
font_name = "NotoSans-Bold.otf",
|
font_name = nil,
|
||||||
unicode_glyph_ranges = {
|
unicode_glyph_ranges = nil,
|
||||||
0x0020, 0x00FF, -- Basic Latin + Latin Supplement
|
|
||||||
0x0100, 0x017F, -- Latin Extended-A
|
|
||||||
0x0400, 0x052F, -- Cyrillic
|
|
||||||
0x1E00, 0x1EFF, -- Latin Extended Additional
|
|
||||||
0x2000, 0x206F, -- General Punctuation
|
|
||||||
0xFF00, 0xFFEF, -- Halfwidth and Fullwidth Forms
|
|
||||||
0
|
|
||||||
},
|
|
||||||
|
|
||||||
parts = {
|
parts = {
|
||||||
head = "Head",
|
head = "Head",
|
||||||
@@ -316,8 +314,8 @@ this.default_language = {
|
|||||||
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_attack_up = "Dragon Conversion: Elem. Atk Up",
|
||||||
dragon_conversion_elemental_res_up = "Dragon Conversion Elem. Res Up",
|
dragon_conversion_elemental_res_up = "Dragon Conversion: Elem. Res Up",
|
||||||
dragonheart = "Dragonheart",
|
dragonheart = "Dragonheart",
|
||||||
embolden = "Embolden",
|
embolden = "Embolden",
|
||||||
frenzied_bloodlust = "Frenzied Bloodlust",
|
frenzied_bloodlust = "Frenzied Bloodlust",
|
||||||
@@ -904,6 +902,8 @@ this.default_language = {
|
|||||||
infinite_buffs_location = "Infinite Buffs Location",
|
infinite_buffs_location = "Infinite Buffs Location",
|
||||||
|
|
||||||
effect_level = "Effect Level",
|
effect_level = "Effect Level",
|
||||||
|
|
||||||
|
head_tracking = "Head Tracking"
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -961,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;
|
||||||
|
|||||||
@@ -129,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;
|
||||||
@@ -176,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
|
||||||
|
|
||||||
@@ -186,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
|
||||||
|
|
||||||
@@ -201,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
|
||||||
|
|
||||||
@@ -216,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
|
||||||
|
|
||||||
@@ -231,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
|
||||||
|
|
||||||
@@ -246,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
|
||||||
|
|
||||||
@@ -261,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
|
||||||
@@ -285,7 +285,7 @@ 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
|
||||||
|
|
||||||
@@ -299,7 +299,7 @@ function this.update_heroics(quest_player_base)
|
|||||||
|
|
||||||
local is_predicament_power_up = is_predicament_power_up_method:call(master_player_ref);
|
local is_predicament_power_up = is_predicament_power_up_method:call(master_player_ref);
|
||||||
if is_predicament_power_up == nil then
|
if is_predicament_power_up == nil then
|
||||||
error_handler.report("player_info.update_heroics", "Failed to access Data: is_predicament_power_up");
|
error_handler.report("player_info.update_heroics", "Failed to Access Data: is_predicament_power_up");
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -313,7 +313,7 @@ function this.update_dango_adrenaline(quest_player_base)
|
|||||||
|
|
||||||
local is_kitchen_skill_predicament_powerup = is_kitchen_skill_predicament_powerup_method:call(master_player_ref);
|
local is_kitchen_skill_predicament_powerup = is_kitchen_skill_predicament_powerup_method:call(master_player_ref);
|
||||||
if is_kitchen_skill_predicament_powerup == nil 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");
|
error_handler.report("player_info.update_dango_adrenaline", "Failed to Access Data: is_kitchen_skill_predicament_powerup");
|
||||||
return;
|
return;
|
||||||
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
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.Enemy
|
|||||||
local enemy_character_base_update_method = enemy_character_base_type_def:get_method("update");
|
local enemy_character_base_update_method = enemy_character_base_type_def:get_method("update");
|
||||||
|
|
||||||
local is_boss_enemy_method = enemy_character_base_type_def:get_method("get_isBossEnemy");
|
local is_boss_enemy_method = enemy_character_base_type_def:get_method("get_isBossEnemy");
|
||||||
|
local on_destroy_method = enemy_character_base_type_def:get_method("onDestroy");
|
||||||
|
|
||||||
local enemy_damage_check_type_def = sdk.find_type_definition("snow.enemy.EnemyDamageCheck");
|
local enemy_damage_check_type_def = sdk.find_type_definition("snow.enemy.EnemyDamageCheck");
|
||||||
local damage_check_update_param_update_method = enemy_damage_check_type_def:get_method("updateParam");
|
local damage_check_update_param_update_method = enemy_damage_check_type_def:get_method("updateParam");
|
||||||
@@ -205,13 +206,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 +235,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
|
||||||
|
|
||||||
@@ -261,6 +262,20 @@ function this.update_rage_timer(anger_param, enemy)
|
|||||||
large_monster.update_rage_timer(enemy, monster, anger_param);
|
large_monster.update_rage_timer(enemy, monster, anger_param);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function this.on_destroy(enemy)
|
||||||
|
local is_large = is_boss_enemy_method:call(enemy);
|
||||||
|
if is_large == nil then
|
||||||
|
error_handler.report("monster_hook.on_destroy", "Failed to Access Data: is_large");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if is_large then
|
||||||
|
large_monster.list[enemy] = nil;
|
||||||
|
else
|
||||||
|
small_monster.list[enemy] = nil;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function this.init_dependencies()
|
function this.init_dependencies()
|
||||||
small_monster = require("MHR_Overlay.Monsters.small_monster");
|
small_monster = require("MHR_Overlay.Monsters.small_monster");
|
||||||
large_monster = require("MHR_Overlay.Monsters.large_monster");
|
large_monster = require("MHR_Overlay.Monsters.large_monster");
|
||||||
@@ -296,6 +311,12 @@ function this.init_module()
|
|||||||
end, function(retval)
|
end, function(retval)
|
||||||
return retval;
|
return retval;
|
||||||
end);
|
end);
|
||||||
|
|
||||||
|
sdk.hook(on_destroy_method, function(args)
|
||||||
|
pcall(this.on_destroy, sdk.to_managed_object(args[2]));
|
||||||
|
end, function(retval)
|
||||||
|
return retval;
|
||||||
|
end);
|
||||||
end
|
end
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ function this.sort_buffs(_displayed_buffs, cached_config)
|
|||||||
if infinite_buffs_location == "First" then
|
if infinite_buffs_location == "First" then
|
||||||
|
|
||||||
if left.is_infinite and right.is_infinite then
|
if left.is_infinite and right.is_infinite then
|
||||||
return left.timer < right.timer;
|
return left.name < right.name;
|
||||||
elseif left.is_infinite then
|
elseif left.is_infinite then
|
||||||
return true;
|
return true;
|
||||||
elseif right.is_infinite then
|
elseif right.is_infinite then
|
||||||
@@ -217,7 +217,7 @@ function this.sort_buffs(_displayed_buffs, cached_config)
|
|||||||
elseif infinite_buffs_location == "Last" then
|
elseif infinite_buffs_location == "Last" then
|
||||||
|
|
||||||
if left.is_infinite and right.is_infinite then
|
if left.is_infinite and right.is_infinite then
|
||||||
return left.timer < right.timer;
|
return left.name < right.name;
|
||||||
elseif left.is_infinite then
|
elseif left.is_infinite then
|
||||||
return false;
|
return false;
|
||||||
elseif right.is_infinite then
|
elseif right.is_infinite then
|
||||||
@@ -236,7 +236,7 @@ function this.sort_buffs(_displayed_buffs, cached_config)
|
|||||||
if infinite_buffs_location == "First" then
|
if infinite_buffs_location == "First" then
|
||||||
|
|
||||||
if left.is_infinite and right.is_infinite then
|
if left.is_infinite and right.is_infinite then
|
||||||
return left.timer > right.timer;
|
return left.name > right.name;
|
||||||
elseif left.is_infinite then
|
elseif left.is_infinite then
|
||||||
return false;
|
return false;
|
||||||
elseif right.is_infinite then
|
elseif right.is_infinite then
|
||||||
@@ -248,7 +248,7 @@ function this.sort_buffs(_displayed_buffs, cached_config)
|
|||||||
elseif infinite_buffs_location == "Last" then
|
elseif infinite_buffs_location == "Last" then
|
||||||
|
|
||||||
if left.is_infinite and right.is_infinite then
|
if left.is_infinite and right.is_infinite then
|
||||||
return left.timer > right.timer;
|
return left.name > right.name;
|
||||||
elseif left.is_infinite then
|
elseif left.is_infinite then
|
||||||
return true;
|
return true;
|
||||||
elseif right.is_infinite then
|
elseif right.is_infinite then
|
||||||
@@ -269,7 +269,7 @@ function this.sort_buffs(_displayed_buffs, cached_config)
|
|||||||
if infinite_buffs_location == "First" then
|
if infinite_buffs_location == "First" then
|
||||||
|
|
||||||
if left.is_infinite and right.is_infinite then
|
if left.is_infinite and right.is_infinite then
|
||||||
return left.duration < right.duration;
|
return left.name < right.name;
|
||||||
elseif left.is_infinite then
|
elseif left.is_infinite then
|
||||||
return true;
|
return true;
|
||||||
elseif right.is_infinite then
|
elseif right.is_infinite then
|
||||||
@@ -281,7 +281,7 @@ function this.sort_buffs(_displayed_buffs, cached_config)
|
|||||||
elseif infinite_buffs_location == "Last" then
|
elseif infinite_buffs_location == "Last" then
|
||||||
|
|
||||||
if left.is_infinite and right.is_infinite then
|
if left.is_infinite and right.is_infinite then
|
||||||
return left.duration < right.duration;
|
return left.name < right.name;
|
||||||
elseif left.is_infinite then
|
elseif left.is_infinite then
|
||||||
return false;
|
return false;
|
||||||
elseif right.is_infinite then
|
elseif right.is_infinite then
|
||||||
@@ -300,7 +300,7 @@ function this.sort_buffs(_displayed_buffs, cached_config)
|
|||||||
if infinite_buffs_location == "First" then
|
if infinite_buffs_location == "First" then
|
||||||
|
|
||||||
if left.is_infinite and right.is_infinite then
|
if left.is_infinite and right.is_infinite then
|
||||||
return left.duration > right.duration;
|
return left.name > right.name;
|
||||||
elseif left.is_infinite then
|
elseif left.is_infinite then
|
||||||
return false;
|
return false;
|
||||||
elseif right.is_infinite then
|
elseif right.is_infinite then
|
||||||
@@ -312,7 +312,7 @@ function this.sort_buffs(_displayed_buffs, cached_config)
|
|||||||
elseif infinite_buffs_location == "Last" then
|
elseif infinite_buffs_location == "Last" then
|
||||||
|
|
||||||
if left.is_infinite and right.is_infinite then
|
if left.is_infinite and right.is_infinite then
|
||||||
return left.duration > right.duration;
|
return left.name > right.name;
|
||||||
elseif left.is_infinite then
|
elseif left.is_infinite then
|
||||||
return true;
|
return true;
|
||||||
elseif right.is_infinite then
|
elseif right.is_infinite then
|
||||||
|
|||||||
@@ -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
|
||||||
);
|
);
|
||||||
|
|
||||||
position_on_screen = draw.world_to_screen(monster.position + world_offset);
|
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);
|
||||||
|
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);
|
||||||
|
|||||||
@@ -145,6 +145,8 @@ this.large_monster_highlighted_UI_waiting_for_key = false;
|
|||||||
this.time_UI_waiting_for_key = false;
|
this.time_UI_waiting_for_key = false;
|
||||||
this.damage_meter_UI_waiting_for_key = false;
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
this.endemic_life_UI_waiting_for_key = false;
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
|
this.buff_UI_waiting_for_key = false;
|
||||||
|
this.stats_UI_waiting_for_key = false;
|
||||||
this.menu_font_changed = false;
|
this.menu_font_changed = false;
|
||||||
|
|
||||||
this.config_name_input = "";
|
this.config_name_input = "";
|
||||||
@@ -387,6 +389,7 @@ function this.draw()
|
|||||||
local language_changed = false;
|
local language_changed = false;
|
||||||
local modifiers_changed = false;
|
local modifiers_changed = false;
|
||||||
local modules_changed = false;
|
local modules_changed = false;
|
||||||
|
local hotkeys_changed = false;
|
||||||
local global_settings_changed = false;
|
local global_settings_changed = false;
|
||||||
local timer_delays_changed = false;
|
local timer_delays_changed = false;
|
||||||
local small_monster_UI_changed = false;
|
local small_monster_UI_changed = false;
|
||||||
@@ -422,7 +425,7 @@ function this.draw()
|
|||||||
|
|
||||||
config_changed, apply_font_requested = this.draw_config();
|
config_changed, apply_font_requested = this.draw_config();
|
||||||
modules_changed = this.draw_modules();
|
modules_changed = this.draw_modules();
|
||||||
this.draw_hotkeys();
|
hotkeys_changed = this.draw_hotkeys();
|
||||||
global_settings_changed, modifiers_changed, timer_delays_changed, apply_font_requested, language_changed = this.draw_global_settings(apply_font_requested, config_changed);
|
global_settings_changed, modifiers_changed, timer_delays_changed, apply_font_requested, language_changed = this.draw_global_settings(apply_font_requested, config_changed);
|
||||||
small_monster_UI_changed = this.draw_small_monster_UI();
|
small_monster_UI_changed = this.draw_small_monster_UI();
|
||||||
|
|
||||||
@@ -442,96 +445,6 @@ function this.draw()
|
|||||||
imgui.new_line();
|
imgui.new_line();
|
||||||
debug_changed = this.draw_debug();
|
debug_changed = this.draw_debug();
|
||||||
|
|
||||||
-- local lorem_ipsum = [[
|
|
||||||
-- Japanese:
|
|
||||||
-- 個、えろつのはんエセコモニョ雲雲てなっけもいてのょり阿目手区きも模差露毛阿はら雲毛かくれめ二野なすなまよひか氏氏くっ瀬知魔んよ絵魔て列離日ね留差ほつれつえてゆせそそ、都、うし絵らにな根遊二雲以ゆ野目るヒカヤロ、オシレ遊擢ねてゆ等手津もえ。津阿みこえ知氏阿ンカカおぬやてと。
|
|
||||||
-- おせす尾樹目個二阿樹ねけゃもたら。おうょる阿雲けてろふ尾課二毛日ニュサのへひ課遊にらそほき離以ろひむもふそろは素日シキハモゅつ野知つせ毛舳ひ列留よせ御遊舳れつ、ねすんと譜保。以樹。夜津尾派露鵜り手手すやとれあろまめにて、こに列留魔知他列二樹ほ。はつに保知等てまゃ無夜とひけやへこ。
|
|
||||||
-- 素派目鵜ちうはえなエヘフレキ、派知他瀬列遊根区いな都留手けもつっそぬりいゆおふゅれもイタキホ無二コチクキやそるき野毛以そいはぬうめ御んせたくめ遊模魔つ鵜阿ほよほつ擢以露、等離譜ぬれ鵜ゆおきまうるかせ擢ひたフンユ。
|
|
||||||
-- 保ゆぬホノハスシカ以屋ら日模へたよ樹手手まお手根派御マツッセチカら、ヒョアレょへち保以屋瀬キョュナめにゆな樹舳毛手え鵜留等瀬ほえ夜区鵜根目名阿絵区日素めフルモョヌスリサクマテカ根鵜さおゆヒエサレ露日鵜留りすせいへたそりるきや個舳らそめっっ知二阿露きね課譜名けょひ根区列以樹個。列津以模ャセャサョみうえのらす鵜派舳。
|
|
||||||
-- 目個なふ、そゃ氏区、鵜瀬保以露遊やはみすき舳課保手舳津譜素個等くせうアメヨルラチヘ留素保手氏たえたお露瀬日毛野ちふ巣課瀬日留列ぬりにほゆ絵擢名模。ふの。っうつゆ、みょタノフカ目列巣舳手知けすん手魔、無雲の課ゅおんりょ。
|
|
||||||
-- 魔雲留課舳根舳か手素二はめ差ーャオシ津やちんなふやてもか列等以露つまえよ。はゆて擢露譜へねょ以区ねのへふもとゃえきナュユモトヌセ樹列知阿阿他列等みれとほルスナ。魔お区ゃゅね素遊ふにふ以個素日絵こもとれち。ゆゆっや阿絵ちネネむろ夜派等阿離知手氏るつねおきえ巣留夜派雲名目他ュノミサミキメウケヘ。
|
|
||||||
-- 氏毛かき夜鵜まのひよかひほねに他んんはし、しへ課氏模めなサシヌケミヘけんむりひめめえもこほよ。差根トャレムリテメへめメメ個差津らめのはょゃ巣えせく列名個舳もま個派るみめ根鵜、きすめ区瀬屋雲れ。鵜留譜夜ツリミふたれ個とい「めつょめこったゅふ」ゅ、すぬやら日区尾等手んひ模、マホセね絵絵コヤヌマ絵んんっへけなぬ野差課瀬ゅり絵等ウチイヌヘ樹、雲他ねろくす名無尾派手遊等区雲そほせるえ派列。
|
|
||||||
-- よそ津根差屋雲う夜舳野絵こさほえふろクヒはす目鵜っえンノネモソ尾野毛おむめ保日等夜ささえゃうあ列瀬ョイニケョセオウュレヘすすさめ、ぬちひぬはゅれしまろむ屋知まきぬむのひひの目津名二名尾無知め区津津瀬えくよほえっしえお目個留瀬毛譜二雲野知屋ぬ差無鵜のやゆアコハサシヤ根素手無、や模露ョヌヒムフクミ。
|
|
||||||
-- きまるふかいゅみ他夜都知手野雲サヨシ舳露。くち、野フノユタせおょち目課るれらつはッサウセモュムオンョ無尾列かりのこけろイネいまてめの、絵夜毛遊毛離差無以素課瀬日ゆこう素瀬シサスヒモン列擢はやせ留知名すさぬ。
|
|
||||||
-- 魔等むホカヨアるユチエリサ御都。素樹絵そたゃ擢個尾列ま無雲知名セイ譜津遊たち夜尾ゅっきたろん無模毛都遊ゆ名差。さ雲目ちゆゅんれ、素御やひい巣擢樹つあそ魔、模都以巣舳すれ鵜以「鵜ヘノメヨメヘにさ」もちかしみっはまひゅねほら鵜保尾氏派かろるめあ。遊目樹目鵜毛はせなへめ。
|
|
||||||
|
|
||||||
-- English:
|
|
||||||
-- abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
|
||||||
|
|
||||||
-- French:
|
|
||||||
-- abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ Àà Ââ Ææ Çç Éé Èè Êê Ëë Îî Ïï Ôô Œœ Ùù Ûû Üü Ÿÿ
|
|
||||||
|
|
||||||
-- German:
|
|
||||||
-- abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ Ä Ü Ö ß
|
|
||||||
|
|
||||||
-- Italian:
|
|
||||||
-- abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
|
||||||
|
|
||||||
-- Spanish:
|
|
||||||
-- abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ Ññ
|
|
||||||
|
|
||||||
-- Russian:
|
|
||||||
-- абвгдеёжзийклмнопрстуфцчшщъыьэюя АБВГДЕЁЖЗИЙКЛМНОПРСТУФЦЧШЩЪЫЬЭЮЯ
|
|
||||||
|
|
||||||
-- Polish:
|
|
||||||
-- abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ Ąą Ćć Ęę Łł Ńń Óó Śś Źź Żż é
|
|
||||||
|
|
||||||
-- Brazilian Portuguese:
|
|
||||||
-- abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
|
||||||
|
|
||||||
-- Korean
|
|
||||||
-- ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎㅏ ㅑ ㅓ ㅕ ㅗ ㅛ ㅜ ㅠ ㅡ ㅣㄲ ㄸ ㅃ ㅉ ㅆ ㅢ ㅚ ㅐ ㅟ ㅔ ㅒ ㅖ ㅘ ㅝ ㅙ ㅞ
|
|
||||||
-- 기관과 간에 이 것이다. 풀밭에 부패뿐이다, 보라, 봄바람이다. 희망의 황금시대다, 못할 앞이 지혜는 공자는 평화스러운 그리하였는가? 긴지라 청춘이 없으면 바이며, 우리의 길지 미묘한 무엇을 끝에 것은 사는가 끓는다. 인류의 그것을 같이.
|
|
||||||
-- 같으며, 물방아 예수는 풍부하게 이상의 있으랴? 그들의 용기가 튼튼하며, 사라지지 보내는 내려온 위하여서 꽃이 것이다. 심장의 피가 고행을 무한한 끝까지 보라. 같이. 그리하였는가? 무엇이 넣는 물방아 봄바람이다. 이것은 청춘의 있는 이것이다. 못할 방지하는 구하기 능히 속에 피다.
|
|
||||||
-- 찾아다녀도. 쓸쓸한 생생하며. 찾아다녀도. 튼튼하며. 이상의 피다, 눈에 새가 피부가 그들의 그들의 작고 것은 운다. 부패를 인생에 이상은 보배를 그리하였는가? 품었기 창공에 작고 커다란 용기가 것이 것이다, 쓸쓸하랴?이것을 심장의 긴지라 착목한는 것이다.
|
|
||||||
-- 속에 우리 그들은 광야에서 인생에 노년에게서 청춘이 동산에는 것이다. 얼음과 할지니. 길지 낙원을 대한 말이다. 뭇 피가 이것이다, 풍부하게 바이며. 살았으며. 스며들어 착목한는 이상은 우리 밥을 그들은 평화스러운 용기가 칼이다, 방황하여도.
|
|
||||||
-- 얼음과 장식하는 아니한 있다. 소금이라 온갖 너의 것이다. 눈이 동력은 그들의 이상. 끓는 뼈 이상은 싶이 보내는 인간의 뿐이다, 피어나는 착목한는 이것이야말로 사랑의 쓸쓸하랴? 가치를 그것을 놀이 싸인 무엇이 이것이다. 곧 않는 풀밭에 것은 용감하고 낙원을 황금시대다. 몸이 인간의 교향악이다. 너의 반짝이는 우리의 방지하는 아름다우냐? 트고.
|
|
||||||
-- 힘차게 이 같으며, 앞이 동력은 인생의 바로 심장은 바이며. 역사를 고동을 약동하다. 실현에 투명하되 별과 낙원을 듣는다. 구하지 같은 노년에게서 열락의 이상의 있으며, 같지 인간은 위하여. 못할 가치를 인생을 그들은 무엇이 내려온 때문이다, 하는 꽃 인간의 같이 미인을 인생을 이것이다.
|
|
||||||
-- 용감하고 때에. 가치를 기관과 그러므로 사랑의 이상은 살았으며. 방황하였으며. 그들은 방황하여도. 그들은 철환하였는가 운다. 끝에 동산에는 눈이 풀이 동력은 품에 주는 일월과 아름다우냐? 가는 같은 하여도 그리하였는가? 주는 몸이 위하여. 목숨을 이것은 곧 피부가 날카로우나 위하여 청춘의 위하여. 약동하다.
|
|
||||||
-- 불러 과실이 가는 쓸쓸하랴? 보내는 것이 뜨거운지라. 것이다. 가치를 인간은 풀이 이상 하여도 없으면. 산야에 위하여. 피고. 모래뿐일 낙원을 바이며, 우리 작고 바로 많이 있는 위하여서, 길지 피가 시들어 힘차게 주며.
|
|
||||||
-- 아름답고 그들에게 꽃 그러므로 약동하다. 만물은 품었기 따뜻한 석가는 봄바람이다. 천지는 크고 것이다. 구할 이상의 무한한 눈이 것이다. 그와 이상의 사랑의 바로 보배를 가지에 동력은 열매를 사막이다. 같이 것이 할지니. 인생에 기쁘며. 방황하였으며.
|
|
||||||
-- 우리의 찬미를 없으면 아니더면. 그러므로 인생에 얼마나 그것은 것이다. 바이며. 얼음에 그들의 시들어 하였으며, 것이다. 천자만홍이 품었기 청춘이 끓는 않는 끓는다. 같이 발휘하기 열매를 예수는 인생의 때문이다, 얼음과 낙원을 우리의 없으면 용기가 이것이야말로 돋고.
|
|
||||||
|
|
||||||
-- Chinese Traditional:
|
|
||||||
-- 枝測歳就大治昔室帯師象験庁編共。識問好加者元位指領化書今情。究都高転一質年語聞療土児任記流成週照竹定。房宿案月新報謙欺上健済逮毎子祭。籍成未移違行彩暮者多謝略文。提校意社接停報適増交匠氏室絶。導購説瞬彼花町提談氷計票記載聞防需。暮貢毎水細文東降健与回勢。年読治教来詳指答販名殺平芸民必和。薬幹読輔断事那主放合変端英利走。
|
|
||||||
-- 団無次住時問多事権少全般執理凱声透浄記。警国消報提造幾事連野投算伊見。活対真覧意近話大上日長点。提催思展産一可子心参幅一犠。標問鳴開台前由有違済任木必乗岐問費氏応録。基集引具下応日続年官者局両覧能種傷次。変年南調年流撃張代延見幕金物逆上記決地。誰事路専金拓数質大法判図部石。野親二画減頭絞選同支著全意策賭落必能。
|
|
||||||
-- 個記郎梅政格棋明北情偉支禁趣択旋議。切気功首日始格科打浮夕位端木。更房野実瞬保拠融元図航申憂機攻堀界景。権政闘催偽各遅果五面方代谷。覧登睦輪味身属博同二思裂開治。聞足事年人督治進開済郷疑芸用多。化事惑火広想三報共図京場一罪述合音。名町差導電国費陸済足景時口遺再写搬。者禁宅茶議手天保内術結生社受健問開。
|
|
||||||
-- 光話今世日員月供団載社池委撮観実造北規。一特通従貴和上美井買板婦放開記市総。図枝向旅刻野欲内放賛好千率初。初戦掛要保社際転目読以急活変反読。産程士旬介抗吉両過国芸社着民若所務田南。会立名尚講派話教事中自種浜。治謙績信歓土力松笑会億果併。路研害多響測求阿知高超学和影念。能提腹国碁問思全除札図講敗円張任北況。
|
|
||||||
-- 術高歌道転認情女必浜阪起者外。属芋辞土理性聞東音供昭豊裕。料三実玉短別上立童守庭終京社点協開。処模歩棚員要育通人筑変品転。覚並稿災答瑞用能見特阪受洲退。青般見販住悲識教東回福川演取確康対学足。開町体之室売世態略味器庁転北習。誰属役編研扱玲宰勝世利稿痕見話携問。午使際季回成読写子陸校稿図変逃時樹。
|
|
||||||
-- 健要南浜紹神名元田価散細後療熱郎顧。調現速清質宅対把辺急建所必強題演有見。柴別聴試互行門浩詐左話判私由屋。意類打円全施引権豊共打禁再雪。場含納験圧目表説磯開利世家東積月断在極業。勝撮意道面間打低転彰終鳥徹。著北案社族来破転大力収見運任企。有富景油購石超支自神報直雪追真根。約車万視作男審弱書化求住人要連元極。
|
|
||||||
-- 載改阜新社保聞活辺盤司間情渡問。登第実止領著義望施変模彼務説企。里科遊事事訴病危芸留際年芸掲問。告著営元住課提遂対呼問暮成。提発下限時軋小主百北明合聴社告送肪響際。林査今浪米特宇会北購玲健。記語吉延恋流終社費士西標下検器北家担。理極載価問木世鱸籍治勢浮芸予可百。道敗組解住人真始日美幹録送件子治。
|
|
||||||
-- 面好沿上全業物速効炭時題界表変省磁因。警学際年準訳時俊用岡鋭呼漢。賞団堂情開体性子転権貴顔考裁崩経。舞詰池碁田魚経紀情宮動施再。新嶋乳引済下守提公生春際目。蔵家代通資町者量村法年東仕題。合親講好治秋根主表必背元方碁任江部医。権海献停完定質対済興造載非禁納独野池時。最長覧事堂定創人検新経要企。賞経上関工写時声繊園人恥大。
|
|
||||||
-- 疎舎岡実約来新心境広長腹本蓮茎気宅費。警間表川舞傾考暴圏無量顔召検密需惑領。平朝使一在士面地芸要問海街了連。館想児作入新謙的質木極原辞田係摘営。生車賞石破載記枚川弁題立重禁。着演郷任和総能天講中全転才部。層愛続好務橋疾土健給節球情合。業国場鈴圏断埼画検判氏品購情写者校思。図技衝舞強読画再上査趣発府挑侵。
|
|
||||||
-- 部国為経番弘超首応理貸駆面橋以内。打郵西版庁車支特手世用面。運崎王穏小込画録量全度彦綿視補囲提的辺解。掲子乳百面自紀古測市際変年月。目京協投大講子経跡備株年更職室。為鈴門輸田学碁花法国務理。津再合紹覧岳容春言馬通返。銭著問転写命久広覧葉女提供覧日第精戻王点。評白付難担変切見雨潔速八。席長日倉魚開玲理料報男本業負文一衛。
|
|
||||||
|
|
||||||
-- Chinese Simplified:
|
|
||||||
-- 住們投水覺很你音行行定把
|
|
||||||
-- 古特縣人同,能的開電際認所友吸賣子如目眼它時李了做廣加令另受香大有積我喜士成施到山不且回推。
|
|
||||||
-- 病是大西參的金:期那代、對一物而書車書濟熱她。現美影海當投中一生放準時鄉機;起遠富行……我在開們住這,為明調主情今……決像民覺起政管是性:集物萬屋師後時但或裝邊裡腳,支而可論不沒毒業難統息精上父適。
|
|
||||||
-- 告像經功滿一我爭我收學有代。始狀裝園時火型隨不精?
|
|
||||||
-- 第我光:倒沒平成想這清對朋目才設平業。配力我學,條一上何法語氣會倒著有美時人下也創進道香臺水著們府。
|
|
||||||
-- 解裡什;甚國對經吃上個了白?要來北維外就古要何大作女由會為資,臺師爭一主機大時像遠百究到下目往有生怕運上回,房會成不岸術員一,國我親得。隊是下過分人來才體風精,對答水球制也,沒當吸在女王此存頭黃人建有性、不樣影、關的國課:通當作平何你得早獨以面處,傳林票由是麗的也朋決顧我想各術有險,商日則山的不配那話在黨進相許一們春界企、政會家視業,門行差加那當野此不林打願。一強起,住大熱總成百花。
|
|
||||||
|
|
||||||
-- Arabic:
|
|
||||||
-- ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي ء
|
|
||||||
|
|
||||||
-- لان هنا؟ عجّل العسكري أن, تم يبق يرتبط اسبوعين وباستثناء, فصل قامت العمليات التغييرات أي. غير هُزم وسوء بداية مع, أجزاء المدن ثم عرض. أم كلا غضون حاملات, وبدأت المبرمة تشيكوسلوفاكيا أي الى. ومطالبة واندونيسيا، جعل ثم.
|
|
||||||
-- قد بتطويق مقاومة الإقتصادي ومن. أن عملية يعادل وفي, خلاف جديداً ضرب ثم, و الشهير التبرعات بحق. لم اسبوعين ألمانيا الجنرال بين. أملاً الإيطالية عدد ما, تونس انتهت أم وفي, ثمّة وبدأت استراليا، تلك أي. ثم إبّان عالمية قُدُماً بعد. يبق عجّل بقسوة الشرقي عن.
|
|
||||||
-- أن أخر أسابيع الأسيوي, ٣٠ الحكم مسارح الحيلولة تعد. بلا تمهيد الثالث وقوعها، لم, ضرب خطّة مرجع تجهيز ثم. سابق أواخر حكومة ومن بـ, أن يبق المواد ليتسنّى بريطانيا, ألمّ تاريخ السفن تم جهة. والنفيس والفلبين أسر بل.
|
|
||||||
-- دون هو الدمج انتباه بريطانيا،, ثم حصدت ساعة واعتلاء شيء. شيء تم أدنى وسمّيت المتاخمة, إيو عل لعدم مشروط مقاطعة. بل تطوير حاملات بمباركة وصل, كما قُدُماً بالولايات بـ. دون الثالث، للإتحاد وحلفاؤها أم, أمّا والديون الأثناء، ذلك قد.
|
|
||||||
-- ما أحكم مواقعها لان. الأرواح لتقليعة بـ الا, مايو ومحاولة المتساقطة، فقد تم. لم بخطوط تشيكوسلوفاكيا ذات, بلا لم مساعدة الجنرال, ان خطّة للأراضي ذلك. لم كانت كانتا تغييرات بحق. دون أي عشوائية باستحداث.
|
|
||||||
-- ذلك بقصف البشريةً كل. كنقطة اعلان بالولايات من بين, أخذ وسوء الساحل لم, بقيادة إتفاقية الإثنان لم لها. وبدأت السيطرة المشتّتون عل بين, عن إعادة انتهت للإتحاد أخر. إذ ليرتفع وتتحمّل عدد. مايو فكانت كما كل.
|
|
||||||
-- قد مارد الإقتصادية حول, حتى أم وأزيز مساعدة الأرضية, بحق ما خطّة وتتحمّل. بـ غير تنفّس البرية ولكسمبورغ, تم جهة عقبت أسيا. تعداد المارق بمحاولة بـ الى, لم أعمال عشوائية بين. أم حيث هُزم أثره، ليركز, لأداء المارق فصل ما. أسر لم لهيمنة السيطرة. ما إيو لإنعدام التقليدي وبالتحديد،.
|
|
||||||
-- كان كل خلاف موالية, بال ثم غريمه بتحدّي. هذا هو وترك تحرير, فصل من فرنسية واستمرت. مع قبضتهم ويكيبيديا فصل. ما فهرست وحلفاؤها بلا, كما مع ٠٨٠٤ وسمّيت استطاعوا.
|
|
||||||
-- أن ويعزى الشهيرة بالرّغم تحت. مع أسر رئيس ماليزيا، المتساقطة،, فمرّ اليابان الحيلولة كلا في. دار ما غرّة، يتعلّق, موالية المواد لبلجيكا، في بين, أحكم المجتمع التنازلي تم ومن. يبق جديدة إعادة مكثّفة ان, لإعادة جزيرتي واعتلاء بال ما. الخاسرة بالإنزال ما يتم, اسبوعين الأثناء، حيث أم.
|
|
||||||
-- فشكّل الإتفاقية قد كان, ابتدعها وفنلندا بل انه. في جهة تاريخ احداث تكتيكاً, أمام للصين إختار وتم إذ. أما بأضرار الربيع، عشوائية من, وشعار نهاية كُلفة بل تحت. هو أخذ اوروبا الأسيوي قُدُماً. دون في للصين فرنسا أدوات. غير تسبب الذود الأحمر ثم.
|
|
||||||
|
|
||||||
-- Latin American Spanish:
|
|
||||||
-- abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ Ññ
|
|
||||||
-- ]];
|
|
||||||
|
|
||||||
-- imgui.text(lorem_ipsum);
|
|
||||||
|
|
||||||
imgui.pop_font();
|
imgui.pop_font();
|
||||||
imgui.end_window();
|
imgui.end_window();
|
||||||
|
|
||||||
@@ -607,7 +520,7 @@ function this.draw()
|
|||||||
this.reload_font();
|
this.reload_font();
|
||||||
end
|
end
|
||||||
|
|
||||||
if window_changed or modules_changed or global_settings_changed or small_monster_UI_changed or large_monster_dynamic_UI_changed or
|
if window_changed or modules_changed or hotkeys_changed or global_settings_changed or small_monster_UI_changed or large_monster_dynamic_UI_changed or
|
||||||
large_monster_static_UI_changed or large_monster_highlighted_UI_changed or time_UI_changed or damage_meter_UI_changed or
|
large_monster_static_UI_changed or large_monster_highlighted_UI_changed or time_UI_changed or damage_meter_UI_changed or
|
||||||
endemic_life_UI_changed or buff_UI_changed or stats_UI_changed or modifiers_changed or config_changed or debug_changed then
|
endemic_life_UI_changed or buff_UI_changed or stats_UI_changed or modifiers_changed or config_changed or debug_changed then
|
||||||
config.save_current();
|
config.save_current();
|
||||||
@@ -743,6 +656,8 @@ function this.draw_modules()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function this.draw_hotkeys()
|
function this.draw_hotkeys()
|
||||||
|
local config_changed = false;
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.hotkeys) then
|
if imgui.tree_node(language.current_language.customization_menu.hotkeys) then
|
||||||
if this.all_UI_waiting_for_key then
|
if this.all_UI_waiting_for_key then
|
||||||
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
@@ -751,25 +666,26 @@ function this.draw_hotkeys()
|
|||||||
config.current_config.global_settings.hotkeys_with_modifiers.all_UI.shift = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.all_UI.shift = false;
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.all_UI.alt = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.all_UI.alt = false;
|
||||||
this.all_UI_waiting_for_key = false;
|
this.all_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
end
|
end
|
||||||
|
|
||||||
elseif imgui.button(language.current_language.customization_menu.all_UI) then
|
elseif imgui.button(language.current_language.customization_menu.all_UI) then
|
||||||
local is_any_other_waiting = this.small_monster_UI_waiting_for_key or
|
this.all_UI_waiting_for_key = true;
|
||||||
this.large_monster_UI_waiting_for_key or
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_dynamic_UI_waiting_for_key or
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_static_UI_waiting_for_key or
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
this.large_monster_highlighted_UI_waiting_for_key or
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
this.time_UI_waiting_for_key or
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
this.damage_meter_UI_waiting_for_key or
|
this.time_UI_waiting_for_key = false;
|
||||||
this.endemic_life_UI_waiting_for_key;
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
if not is_any_other_waiting then
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
this.all_UI_waiting_for_key = true;
|
this.buff_UI_waiting_for_key = false;
|
||||||
end
|
this.stats_UI_waiting_for_key = false;
|
||||||
end
|
end
|
||||||
|
|
||||||
imgui.same_line();
|
imgui.same_line();
|
||||||
|
|
||||||
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.all_UI));
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.all_UI));
|
||||||
|
|
||||||
if this.small_monster_UI_waiting_for_key then
|
if this.small_monster_UI_waiting_for_key then
|
||||||
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.small_monster_UI.key = 0;
|
config.current_config.global_settings.hotkeys_with_modifiers.small_monster_UI.key = 0;
|
||||||
@@ -777,24 +693,25 @@ function this.draw_hotkeys()
|
|||||||
config.current_config.global_settings.hotkeys_with_modifiers.small_monster_UI.shift = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.small_monster_UI.shift = false;
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.small_monster_UI.alt = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.small_monster_UI.alt = false;
|
||||||
this.small_monster_UI_waiting_for_key = false;
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
end
|
end
|
||||||
elseif imgui.button(language.current_language.customization_menu.small_monster_UI) then
|
elseif imgui.button(language.current_language.customization_menu.small_monster_UI) then
|
||||||
local is_any_other_waiting = this.all_UI_waiting_for_key or
|
this.all_UI_waiting_for_key = false;
|
||||||
this.large_monster_UI_waiting_for_key or
|
this.small_monster_UI_waiting_for_key = true;
|
||||||
this.large_monster_dynamic_UI_waiting_for_key or
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_static_UI_waiting_for_key or
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
this.large_monster_highlighted_UI_waiting_for_key or
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
this.time_UI_waiting_for_key or
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
this.damage_meter_UI_waiting_for_key or
|
this.time_UI_waiting_for_key = false;
|
||||||
this.endemic_life_UI_waiting_for_key;
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
if not is_any_other_waiting then
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
this.small_monster_UI_waiting_for_key = true;
|
this.buff_UI_waiting_for_key = false;
|
||||||
end
|
this.stats_UI_waiting_for_key = false;
|
||||||
end
|
end
|
||||||
|
|
||||||
imgui.same_line();
|
imgui.same_line();
|
||||||
|
|
||||||
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.small_monster_UI));
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.small_monster_UI));
|
||||||
|
|
||||||
if this.large_monster_UI_waiting_for_key then
|
if this.large_monster_UI_waiting_for_key then
|
||||||
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_UI.key = 0;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_UI.key = 0;
|
||||||
@@ -802,24 +719,25 @@ function this.draw_hotkeys()
|
|||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_UI.shift = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_UI.shift = false;
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_UI.alt = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_UI.alt = false;
|
||||||
this.large_monster_UI_waiting_for_key = false;
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
end
|
end
|
||||||
elseif imgui.button(language.current_language.customization_menu.large_monster_UI) then
|
elseif imgui.button(language.current_language.customization_menu.large_monster_UI) then
|
||||||
local is_any_other_waiting = this.all_UI_waiting_for_key or
|
this.all_UI_waiting_for_key = false;
|
||||||
this.small_monster_UI_waiting_for_key or
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_dynamic_UI_waiting_for_key or
|
this.large_monster_UI_waiting_for_key = true;
|
||||||
this.large_monster_static_UI_waiting_for_key or
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
this.large_monster_highlighted_UI_waiting_for_key or
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
this.time_UI_waiting_for_key or
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
this.damage_meter_UI_waiting_for_key or
|
this.time_UI_waiting_for_key = false;
|
||||||
this.endemic_life_UI_waiting_for_key;
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
if not is_any_other_waiting then
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
this.large_monster_UI_waiting_for_key = true;
|
this.buff_UI_waiting_for_key = false;
|
||||||
end
|
this.stats_UI_waiting_for_key = false;
|
||||||
end
|
end
|
||||||
|
|
||||||
imgui.same_line();
|
imgui.same_line();
|
||||||
|
|
||||||
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.large_monster_UI));
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.large_monster_UI));
|
||||||
|
|
||||||
if this.large_monster_dynamic_UI_waiting_for_key then
|
if this.large_monster_dynamic_UI_waiting_for_key then
|
||||||
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_dynamic_UI.key = 0;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_dynamic_UI.key = 0;
|
||||||
@@ -827,25 +745,25 @@ function this.draw_hotkeys()
|
|||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_dynamic_UI.shift = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_dynamic_UI.shift = false;
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_dynamic_UI.alt = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_dynamic_UI.alt = false;
|
||||||
this.large_monster_dynamic_UI_waiting_for_key = false;
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
end
|
end
|
||||||
elseif imgui.button(language.current_language.customization_menu.large_monster_dynamic_UI) then
|
elseif imgui.button(language.current_language.customization_menu.large_monster_dynamic_UI) then
|
||||||
local is_any_other_waiting = this.all_UI_waiting_for_key or
|
this.all_UI_waiting_for_key = false;
|
||||||
this.small_monster_UI_waiting_for_key or
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_UI_waiting_for_key or
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_static_UI_waiting_for_key or
|
this.large_monster_dynamic_UI_waiting_for_key = true;
|
||||||
this.large_monster_highlighted_UI_waiting_for_key or
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
this.time_UI_waiting_for_key or
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
this.damage_meter_UI_waiting_for_key or
|
this.time_UI_waiting_for_key = false;
|
||||||
this.endemic_life_UI_waiting_for_key;
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
if not is_any_other_waiting then
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
this.large_monster_dynamic_UI_waiting_for_key = true;
|
this.buff_UI_waiting_for_key = false;
|
||||||
end
|
this.stats_UI_waiting_for_key = false;
|
||||||
end
|
end
|
||||||
|
|
||||||
imgui.same_line();
|
imgui.same_line();
|
||||||
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.large_monster_dynamic_UI));
|
||||||
|
|
||||||
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers
|
|
||||||
.large_monster_dynamic_UI));
|
|
||||||
if this.large_monster_static_UI_waiting_for_key then
|
if this.large_monster_static_UI_waiting_for_key then
|
||||||
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_static_UI.key = 0;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_static_UI.key = 0;
|
||||||
@@ -853,25 +771,25 @@ function this.draw_hotkeys()
|
|||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_static_UI.shift = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_static_UI.shift = false;
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_static_UI.alt = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_static_UI.alt = false;
|
||||||
this.large_monster_static_UI_waiting_for_key = false;
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
end
|
end
|
||||||
elseif imgui.button(language.current_language.customization_menu.large_monster_static_UI) then
|
elseif imgui.button(language.current_language.customization_menu.large_monster_static_UI) then
|
||||||
local is_any_other_waiting = this.all_UI_waiting_for_key or
|
this.all_UI_waiting_for_key = false;
|
||||||
this.small_monster_UI_waiting_for_key or
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_UI_waiting_for_key or
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_dynamic_UI_waiting_for_key or
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
this.large_monster_highlighted_UI_waiting_for_key or
|
this.large_monster_static_UI_waiting_for_key = true;
|
||||||
this.time_UI_waiting_for_key or
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
this.damage_meter_UI_waiting_for_key or
|
this.time_UI_waiting_for_key = false;
|
||||||
this.endemic_life_UI_waiting_for_key;
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
if not is_any_other_waiting then
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
this.large_monster_static_UI_waiting_for_key = true;
|
this.buff_UI_waiting_for_key = false;
|
||||||
end
|
this.stats_UI_waiting_for_key = false;
|
||||||
end
|
end
|
||||||
|
|
||||||
imgui.same_line();
|
imgui.same_line();
|
||||||
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.large_monster_static_UI));
|
||||||
|
|
||||||
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers
|
|
||||||
.large_monster_static_UI));
|
|
||||||
if this.large_monster_highlighted_UI_waiting_for_key then
|
if this.large_monster_highlighted_UI_waiting_for_key then
|
||||||
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_highlighted_UI.key = 0;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_highlighted_UI.key = 0;
|
||||||
@@ -879,23 +797,25 @@ function this.draw_hotkeys()
|
|||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_highlighted_UI.shift = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_highlighted_UI.shift = false;
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_highlighted_UI.alt = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.large_monster_highlighted_UI.alt = false;
|
||||||
this.large_monster_highlighted_UI_waiting_for_key = false;
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
end
|
end
|
||||||
elseif imgui.button(language.current_language.customization_menu.large_monster_highlighted_UI) then
|
elseif imgui.button(language.current_language.customization_menu.large_monster_highlighted_UI) then
|
||||||
local is_any_other_waiting = this.all_UI_waiting_for_key or
|
this.all_UI_waiting_for_key = false;
|
||||||
this.small_monster_UI_waiting_for_key or
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_UI_waiting_for_key or
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_dynamic_UI_waiting_for_key or
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
this.large_monster_static_UI_waiting_for_key or
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
this.time_UI_waiting_for_key or
|
this.large_monster_highlighted_UI_waiting_for_key = true;
|
||||||
this.damage_meter_UI_waiting_for_key or
|
this.time_UI_waiting_for_key = false;
|
||||||
this.endemic_life_UI_waiting_for_key;
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
if not is_any_other_waiting then
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
this.large_monster_highlighted_UI_waiting_for_key = true;
|
this.buff_UI_waiting_for_key = false;
|
||||||
end
|
this.stats_UI_waiting_for_key = false;
|
||||||
end
|
end
|
||||||
|
|
||||||
imgui.same_line();
|
imgui.same_line();
|
||||||
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.large_monster_highlighted_UI));
|
||||||
.large_monster_highlighted_UI));
|
|
||||||
if this.time_UI_waiting_for_key then
|
if this.time_UI_waiting_for_key then
|
||||||
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.time_UI.key = 0;
|
config.current_config.global_settings.hotkeys_with_modifiers.time_UI.key = 0;
|
||||||
@@ -903,24 +823,25 @@ function this.draw_hotkeys()
|
|||||||
config.current_config.global_settings.hotkeys_with_modifiers.time_UI.shift = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.time_UI.shift = false;
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.time_UI.alt = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.time_UI.alt = false;
|
||||||
this.time_UI_waiting_for_key = false;
|
this.time_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
end
|
end
|
||||||
elseif imgui.button(language.current_language.customization_menu.time_UI) then
|
elseif imgui.button(language.current_language.customization_menu.time_UI) then
|
||||||
local is_any_other_waiting = this.all_UI_waiting_for_key or
|
this.all_UI_waiting_for_key = false;
|
||||||
this.small_monster_UI_waiting_for_key or
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_UI_waiting_for_key or
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_dynamic_UI_waiting_for_key or
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
this.large_monster_static_UI_waiting_for_key or
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
this.large_monster_highlighted_UI_waiting_for_key or
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
this.damage_meter_UI_waiting_for_key or
|
this.time_UI_waiting_for_key = true;
|
||||||
this.endemic_life_UI_waiting_for_key;
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
if not is_any_other_waiting then
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
this.time_UI_waiting_for_key = true;
|
this.buff_UI_waiting_for_key = false;
|
||||||
end
|
this.stats_UI_waiting_for_key = false;
|
||||||
end
|
end
|
||||||
|
|
||||||
imgui.same_line();
|
imgui.same_line();
|
||||||
|
|
||||||
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.time_UI));
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.time_UI));
|
||||||
|
|
||||||
if this.damage_meter_UI_waiting_for_key then
|
if this.damage_meter_UI_waiting_for_key then
|
||||||
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.damage_meter_UI.key = 0;
|
config.current_config.global_settings.hotkeys_with_modifiers.damage_meter_UI.key = 0;
|
||||||
@@ -928,24 +849,25 @@ function this.draw_hotkeys()
|
|||||||
config.current_config.global_settings.hotkeys_with_modifiers.damage_meter_UI.shift = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.damage_meter_UI.shift = false;
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.damage_meter_UI.alt = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.damage_meter_UI.alt = false;
|
||||||
this.damage_meter_UI_waiting_for_key = false;
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
end
|
end
|
||||||
elseif imgui.button(language.current_language.customization_menu.damage_meter_UI) then
|
elseif imgui.button(language.current_language.customization_menu.damage_meter_UI) then
|
||||||
local is_any_other_waiting = this.all_UI_waiting_for_key or
|
this.all_UI_waiting_for_key = false;
|
||||||
this.small_monster_UI_waiting_for_key or
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_UI_waiting_for_key or
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_dynamic_UI_waiting_for_key or
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
this.large_monster_static_UI_waiting_for_key or
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
this.large_monster_highlighted_UI_waiting_for_key or
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
this.time_UI_waiting_for_key or
|
this.time_UI_waiting_for_key = false;
|
||||||
this.endemic_life_UI_waiting_for_key;
|
this.damage_meter_UI_waiting_for_key = true;
|
||||||
if not is_any_other_waiting then
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
this.damage_meter_UI_waiting_for_key = true;
|
this.buff_UI_waiting_for_key = false;
|
||||||
end
|
this.stats_UI_waiting_for_key = false;
|
||||||
end
|
end
|
||||||
|
|
||||||
imgui.same_line();
|
imgui.same_line();
|
||||||
|
|
||||||
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.damage_meter_UI));
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.damage_meter_UI));
|
||||||
|
|
||||||
if this.endemic_life_UI_waiting_for_key then
|
if this.endemic_life_UI_waiting_for_key then
|
||||||
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.endemic_life_UI.key = 0;
|
config.current_config.global_settings.hotkeys_with_modifiers.endemic_life_UI.key = 0;
|
||||||
@@ -953,26 +875,81 @@ function this.draw_hotkeys()
|
|||||||
config.current_config.global_settings.hotkeys_with_modifiers.endemic_life_UI.shift = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.endemic_life_UI.shift = false;
|
||||||
config.current_config.global_settings.hotkeys_with_modifiers.endemic_life_UI.alt = false;
|
config.current_config.global_settings.hotkeys_with_modifiers.endemic_life_UI.alt = false;
|
||||||
this.endemic_life_UI_waiting_for_key = false;
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
end
|
end
|
||||||
elseif imgui.button(language.current_language.customization_menu.endemic_life_UI) then
|
elseif imgui.button(language.current_language.customization_menu.endemic_life_UI) then
|
||||||
local is_any_other_waiting = this.all_UI_waiting_for_key or
|
this.all_UI_waiting_for_key = false;
|
||||||
this.small_monster_UI_waiting_for_key or
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_UI_waiting_for_key or
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
this.large_monster_dynamic_UI_waiting_for_key or
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
this.large_monster_static_UI_waiting_for_key or
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
this.large_monster_highlighted_UI_waiting_for_key or
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
this.time_UI_waiting_for_key or
|
this.time_UI_waiting_for_key = false;
|
||||||
this.endemic_life_UI_waiting_for_key;
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
if not is_any_other_waiting then
|
this.endemic_life_UI_waiting_for_key = true;
|
||||||
this.endemic_life_UI_waiting_for_key = true;
|
this.buff_UI_waiting_for_key = false;
|
||||||
end
|
this.stats_UI_waiting_for_key = false;
|
||||||
end
|
end
|
||||||
|
|
||||||
imgui.same_line();
|
imgui.same_line();
|
||||||
|
|
||||||
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.endemic_life_UI));
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.endemic_life_UI));
|
||||||
|
|
||||||
|
if this.buff_UI_waiting_for_key then
|
||||||
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
|
config.current_config.global_settings.hotkeys_with_modifiers.buff_UI.key = 0;
|
||||||
|
config.current_config.global_settings.hotkeys_with_modifiers.buff_UI.ctrl = false;
|
||||||
|
config.current_config.global_settings.hotkeys_with_modifiers.buff_UI.shift = false;
|
||||||
|
config.current_config.global_settings.hotkeys_with_modifiers.buff_UI.alt = false;
|
||||||
|
this.buff_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
|
end
|
||||||
|
elseif imgui.button(language.current_language.customization_menu.buff_UI) then
|
||||||
|
this.all_UI_waiting_for_key = false;
|
||||||
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
|
this.time_UI_waiting_for_key = false;
|
||||||
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
|
this.buff_UI_waiting_for_key = true;
|
||||||
|
this.stats_UI_waiting_for_key = false;
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.same_line();
|
||||||
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.buff_UI));
|
||||||
|
|
||||||
|
if this.stats_UI_waiting_for_key then
|
||||||
|
if imgui.button(language.current_language.customization_menu.press_any_key) then
|
||||||
|
config.current_config.global_settings.hotkeys_with_modifiers.stats_UI.key = 0;
|
||||||
|
config.current_config.global_settings.hotkeys_with_modifiers.stats_UI.ctrl = false;
|
||||||
|
config.current_config.global_settings.hotkeys_with_modifiers.stats_UI.shift = false;
|
||||||
|
config.current_config.global_settings.hotkeys_with_modifiers.stats_UI.alt = false;
|
||||||
|
this.stats_UI_waiting_for_key = false;
|
||||||
|
config_changed = true;
|
||||||
|
end
|
||||||
|
elseif imgui.button(language.current_language.customization_menu.stats_UI) then
|
||||||
|
this.all_UI_waiting_for_key = false;
|
||||||
|
this.small_monster_UI_waiting_for_key = false;
|
||||||
|
this.large_monster_UI_waiting_for_key = false;
|
||||||
|
this.large_monster_dynamic_UI_waiting_for_key = false;
|
||||||
|
this.large_monster_static_UI_waiting_for_key = false;
|
||||||
|
this.large_monster_highlighted_UI_waiting_for_key = false;
|
||||||
|
this.time_UI_waiting_for_key = false;
|
||||||
|
this.damage_meter_UI_waiting_for_key = false;
|
||||||
|
this.endemic_life_UI_waiting_for_key = false;
|
||||||
|
this.buff_UI_waiting_for_key = false;
|
||||||
|
this.stats_UI_waiting_for_key = true;
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.same_line();
|
||||||
|
imgui.text(keyboard.get_hotkey_name(config.current_config.global_settings.hotkeys_with_modifiers.stats_UI));
|
||||||
|
|
||||||
imgui.tree_pop();
|
imgui.tree_pop();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
return config_changed;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.draw_global_settings(apply_font_requested, language_changed)
|
function this.draw_global_settings(apply_font_requested, language_changed)
|
||||||
@@ -1361,6 +1338,11 @@ function this.draw_small_monster_UI()
|
|||||||
|
|
||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
|
changed, cached_config.dynamic_positioning.head_tracking = imgui.checkbox(
|
||||||
|
language.current_language.customization_menu.head_tracking, cached_config.dynamic_positioning.head_tracking);
|
||||||
|
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
changed, cached_config.dynamic_positioning.opacity_falloff =
|
changed, cached_config.dynamic_positioning.opacity_falloff =
|
||||||
imgui.checkbox(language.current_language.customization_menu.opacity_falloff,
|
imgui.checkbox(language.current_language.customization_menu.opacity_falloff,
|
||||||
cached_config.dynamic_positioning.opacity_falloff);
|
cached_config.dynamic_positioning.opacity_falloff);
|
||||||
@@ -1502,6 +1484,11 @@ function this.draw_large_monster_dynamic_UI()
|
|||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.settings) then
|
if imgui.tree_node(language.current_language.customization_menu.settings) then
|
||||||
|
changed, cached_config.settings.head_tracking = imgui.checkbox(
|
||||||
|
language.current_language.customization_menu.head_tracking, cached_config.settings.head_tracking);
|
||||||
|
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
changed, cached_config.settings.hide_dead_or_captured = imgui.checkbox(
|
changed, cached_config.settings.hide_dead_or_captured = imgui.checkbox(
|
||||||
language.current_language.customization_menu.hide_dead_or_captured, cached_config.settings.hide_dead_or_captured);
|
language.current_language.customization_menu.hide_dead_or_captured, cached_config.settings.hide_dead_or_captured);
|
||||||
|
|
||||||
@@ -2323,6 +2310,11 @@ function this.draw_endemic_life_UI()
|
|||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.settings) then
|
if imgui.tree_node(language.current_language.customization_menu.settings) then
|
||||||
|
changed, cached_config.settings.head_tracking = imgui.checkbox(
|
||||||
|
language.current_language.customization_menu.head_tracking, cached_config.settings.head_tracking);
|
||||||
|
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
|
||||||
changed, cached_config.settings.hide_inactive_creatures = imgui.checkbox(
|
changed, cached_config.settings.hide_inactive_creatures = imgui.checkbox(
|
||||||
language.current_language.customization_menu.hide_inactive_creatures, cached_config.settings.hide_inactive_creatures);
|
language.current_language.customization_menu.hide_inactive_creatures, cached_config.settings.hide_inactive_creatures);
|
||||||
|
|
||||||
|
|||||||
@@ -165,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",
|
||||||
@@ -553,8 +554,8 @@
|
|||||||
"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_attack_up": "Dragon Conversion: Elem. Atk Up",
|
||||||
"dragon_conversion_elemental_res_up": "Dragon Conversion Elem. Res Up",
|
"dragon_conversion_elemental_res_up": "Dragon Conversion: Elem. Res Up",
|
||||||
"dragonheart": "Dragonheart",
|
"dragonheart": "Dragonheart",
|
||||||
"embolden": "Embolden",
|
"embolden": "Embolden",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"frenzied_bloodlust": "Frenzied Bloodlust",
|
||||||
@@ -601,7 +602,7 @@
|
|||||||
32,
|
32,
|
||||||
255,
|
255,
|
||||||
256,
|
256,
|
||||||
383,
|
591,
|
||||||
1024,
|
1024,
|
||||||
1327,
|
1327,
|
||||||
7680,
|
7680,
|
||||||
|
|||||||
@@ -165,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",
|
||||||
@@ -553,8 +554,8 @@
|
|||||||
"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_attack_up": "Dragon Conversion: Elem. Atk Up",
|
||||||
"dragon_conversion_elemental_res_up": "Dragon Conversion Elem. Res Up",
|
"dragon_conversion_elemental_res_up": "Dragon Conversion: Elem. Res Up",
|
||||||
"dragonheart": "Dragonheart",
|
"dragonheart": "Dragonheart",
|
||||||
"embolden": "Embolden",
|
"embolden": "Embolden",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"frenzied_bloodlust": "Frenzied Bloodlust",
|
||||||
@@ -602,12 +603,18 @@
|
|||||||
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
|
||||||
|
|||||||
@@ -165,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": "체력 + 파괴 + 괴이핵",
|
||||||
@@ -553,8 +554,8 @@
|
|||||||
"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_attack_up": "Dragon Conversion: Elem. Atk Up",
|
||||||
"dragon_conversion_elemental_res_up": "Dragon Conversion Elem. Res Up",
|
"dragon_conversion_elemental_res_up": "Dragon Conversion: Elem. Res Up",
|
||||||
"dragonheart": "Dragonheart",
|
"dragonheart": "Dragonheart",
|
||||||
"embolden": "Embolden",
|
"embolden": "Embolden",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"frenzied_bloodlust": "Frenzied Bloodlust",
|
||||||
@@ -604,10 +605,22 @@
|
|||||||
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
|
||||||
|
|||||||
@@ -165,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": "Здоровье + Повреждение + Ядро аномалии",
|
||||||
@@ -409,7 +410,7 @@
|
|||||||
"stinkmink": "Пахучка",
|
"stinkmink": "Пахучка",
|
||||||
"yellow_lampsquid": "Жлт. Лампокальм."
|
"yellow_lampsquid": "Жлт. Лампокальм."
|
||||||
},
|
},
|
||||||
"font_name": "NotoSansKR-Bold.otf",
|
"font_name": "NotoSans-Bold.otf",
|
||||||
"item_buffs": {
|
"item_buffs": {
|
||||||
"adamant_seed": "Адамант. зерно",
|
"adamant_seed": "Адамант. зерно",
|
||||||
"armor_ammo": "Защитные снаряды",
|
"armor_ammo": "Защитные снаряды",
|
||||||
@@ -600,14 +601,20 @@
|
|||||||
"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,
|
0,
|
||||||
8303,
|
64255,
|
||||||
|
65072,
|
||||||
|
65103,
|
||||||
65280,
|
65280,
|
||||||
65519,
|
65519,
|
||||||
0
|
0
|
||||||
|
|||||||
@@ -165,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",
|
||||||
@@ -553,8 +554,8 @@
|
|||||||
"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_attack_up": "Dragon Conversion: Elem. Atk Up",
|
||||||
"dragon_conversion_elemental_res_up": "Dragon Conversion Elem. Res Up",
|
"dragon_conversion_elemental_res_up": "Dragon Conversion: Elem. Res Up",
|
||||||
"dragonheart": "Dragonheart",
|
"dragonheart": "Dragonheart",
|
||||||
"embolden": "Embolden",
|
"embolden": "Embolden",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"frenzied_bloodlust": "Frenzied Bloodlust",
|
||||||
@@ -602,12 +603,18 @@
|
|||||||
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
|
||||||
|
|||||||
@@ -165,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",
|
||||||
@@ -553,8 +554,8 @@
|
|||||||
"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_attack_up": "Dragon Conversion: Elem. Atk Up",
|
||||||
"dragon_conversion_elemental_res_up": "Dragon Conversion Elem. Res Up",
|
"dragon_conversion_elemental_res_up": "Dragon Conversion: Elem. Res Up",
|
||||||
"dragonheart": "Dragonheart",
|
"dragonheart": "Dragonheart",
|
||||||
"embolden": "Embolden",
|
"embolden": "Embolden",
|
||||||
"frenzied_bloodlust": "Frenzied Bloodlust",
|
"frenzied_bloodlust": "Frenzied Bloodlust",
|
||||||
@@ -602,12 +603,18 @@
|
|||||||
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
|
||||||
|
|||||||
BIN
reframework/fonts/NotoSans-Bold.otf
Normal file
BIN
reframework/fonts/NotoSans-Bold.otf
Normal file
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.
Reference in New Issue
Block a user