mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-24 04:18:11 -08:00
Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30f76efd37 | ||
|
|
dad031af4b | ||
|
|
2f355308ce | ||
|
|
c6708876b1 | ||
|
|
a6160f77fd | ||
|
|
e0e7c9d824 | ||
|
|
3bd627fdfb | ||
|
|
beeb45db46 | ||
|
|
a82168fc4e | ||
|
|
d62a72a778 | ||
|
|
2390bfe8ac | ||
|
|
7398bab9ea | ||
|
|
877a48583a | ||
|
|
ee6dfe2139 | ||
|
|
d4c52617d9 | ||
|
|
30d858b1f8 | ||
|
|
3c8f5019ab | ||
|
|
4caa69930d | ||
|
|
874c89daa5 | ||
|
|
26590a3e0b | ||
|
|
1439498a67 | ||
|
|
6a876ccdb4 | ||
|
|
9560dad602 | ||
|
|
032b77ca95 | ||
|
|
efdaae5b5a | ||
|
|
419d25070b | ||
|
|
bee2e7d873 |
@@ -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.605%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>
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
|
|
||||||
# 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)**;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -534,7 +545,7 @@ end);
|
|||||||
if d2d ~= nil then
|
if d2d ~= nil then
|
||||||
d2d.register(function()
|
d2d.register(function()
|
||||||
drawing.init_font();
|
drawing.init_font();
|
||||||
end, function()
|
end, function()
|
||||||
if config.current_config.global_settings.renderer.use_d2d_if_available then
|
if config.current_config.global_settings.renderer.use_d2d_if_available then
|
||||||
draw_loop();
|
draw_loop();
|
||||||
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,7 @@ 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.poison = nil;
|
||||||
this.list.deadly_poison = nil;
|
this.list.deadly_poison = nil;
|
||||||
return;
|
return;
|
||||||
@@ -290,7 +290,7 @@ 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.minor_bubbleblight = nil;
|
||||||
this.list.major_bubbleblight = nil;
|
this.list.major_bubbleblight = nil;
|
||||||
return;
|
return;
|
||||||
@@ -318,14 +318,14 @@ 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;
|
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;
|
this.list.muck = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -345,14 +345,14 @@ 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;
|
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;
|
this.list.frenzy_infection = 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
|
||||||
|
|
||||||
@@ -158,9 +162,9 @@ function this.update()
|
|||||||
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("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,7 @@ 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;
|
buff_list[buff_key] = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -292,7 +296,7 @@ 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;
|
buff_list[buff_key] = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -220,13 +220,13 @@ 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;
|
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;
|
this.list.dango_insurance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -235,14 +235,14 @@ 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;
|
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;
|
this.list.dango_insurance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -264,7 +264,7 @@ 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;
|
this.list.dango_insurance_defense_up = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -273,7 +273,7 @@ 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;
|
this.list.dango_insurance_defense_up = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -298,7 +298,7 @@ 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;
|
this.list.dango_flyer = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -307,7 +307,7 @@ 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;
|
this.list.dango_flyer = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -338,7 +338,7 @@ 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;
|
this.list.super_recovery_dango = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -379,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,7 @@ 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.ruby_wirebug = nil;
|
||||||
this.list.gold_wirebug = nil;
|
this.list.gold_wirebug = nil;
|
||||||
end
|
end
|
||||||
@@ -169,7 +169,7 @@ 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;
|
this.list.butterflame = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -196,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,7 @@ 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.demondrug = nil;
|
||||||
this.list.mega_demondrug = nil;
|
this.list.mega_demondrug = nil;
|
||||||
return;
|
return;
|
||||||
@@ -184,7 +184,7 @@ 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.demondrug = nil;
|
||||||
this.list.mega_demondrug = nil;
|
this.list.mega_demondrug = nil;
|
||||||
return;
|
return;
|
||||||
@@ -192,7 +192,7 @@ function this.update_demondrug(player_data, item_parameter)
|
|||||||
|
|
||||||
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.demondrug = nil;
|
||||||
this.list.mega_demondrug = nil;
|
this.list.mega_demondrug = nil;
|
||||||
return;
|
return;
|
||||||
@@ -227,7 +227,7 @@ 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.armorskin = nil;
|
||||||
this.list.mega_armorskin = nil;
|
this.list.mega_armorskin = nil;
|
||||||
return;
|
return;
|
||||||
@@ -241,7 +241,7 @@ 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.armorskin = nil;
|
||||||
this.list.mega_armorskin = nil;
|
this.list.mega_armorskin = nil;
|
||||||
return;
|
return;
|
||||||
@@ -249,7 +249,7 @@ function this.update_armorskin(player_data, item_parameter)
|
|||||||
|
|
||||||
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.armorskin = nil;
|
||||||
this.list.mega_armorskin = nil;
|
this.list.mega_armorskin = nil;
|
||||||
return;
|
return;
|
||||||
@@ -280,14 +280,14 @@ 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;
|
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;
|
this.list.might_seed = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -315,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,7 @@ 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;
|
this.list[lua_index] = nil;
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
@@ -165,7 +165,7 @@ 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;
|
this.list[lua_index] = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -233,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,14 +130,14 @@ 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;
|
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;
|
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
|
||||||
|
|
||||||
|
|||||||
@@ -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,7 @@ 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;
|
this.list.wind_mantle = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -526,14 +526,14 @@ 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;
|
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;
|
this.list.wind_mantle = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -567,7 +567,7 @@ 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;
|
this.list.maximum_might = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -632,7 +632,7 @@ 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;
|
this.list.bloodlust = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -650,7 +650,7 @@ 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;
|
this.list.frenzied_bloodlust = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -664,14 +664,14 @@ 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;
|
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;
|
this.list.frenzied_bloodlust = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -779,7 +779,7 @@ 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;
|
this.list.resentment = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -812,7 +812,7 @@ 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;
|
this.list.spiribirds_call = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -874,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
|
||||||
|
|
||||||
|
|||||||
@@ -586,21 +586,21 @@ 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;
|
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;
|
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;
|
this.list.harvest_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -612,14 +612,14 @@ function this.update_harvest_moon()
|
|||||||
|
|
||||||
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;
|
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;
|
this.list.harvest_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -645,7 +645,7 @@ 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;
|
this.list.wyvernblast_reload = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -675,21 +675,21 @@ 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;
|
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;
|
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;
|
this.list.rising_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -699,17 +699,16 @@ 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;
|
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;
|
this.list.rising_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -721,7 +720,7 @@ 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;
|
this.list.rising_moon = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -740,21 +739,21 @@ 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;
|
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;
|
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;
|
this.list.setting_sun = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -769,17 +768,16 @@ 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;
|
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;
|
this.list.setting_sun = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -791,7 +789,7 @@ 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;
|
this.list.setting_sun = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -811,7 +809,7 @@ 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;
|
this.list.overheat = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -847,7 +845,7 @@ 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;
|
this.list.twin_wine = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -872,7 +870,7 @@ 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;
|
this.list.archdemon_mode = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -884,7 +882,7 @@ 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;
|
this.list.archdemon_mode = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -910,40 +908,40 @@ 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;
|
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;
|
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");
|
||||||
this.list.bead_of_resonance = nil;
|
this.list.bead_of_resonance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
if players.myself.id >= horn_shell_003s_array_length then
|
if horn_shell_003s_array_length == 0 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);
|
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;
|
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;
|
this.list.bead_of_resonance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -955,14 +953,14 @@ 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;
|
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;
|
this.list.bead_of_resonance = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -988,7 +986,7 @@ function this.update_sonic_bloom(player)
|
|||||||
|
|
||||||
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;
|
this.list.sonic_bloom = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -1028,7 +1026,7 @@ 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;
|
this.list.all_extracts_mix = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -1040,7 +1038,7 @@ 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;
|
this.list.all_extracts_mix = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -1060,7 +1058,7 @@ 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;
|
this.list[extract_key] = nil;
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -1106,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
|
||||||
|
|
||||||
@@ -517,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
|
||||||
@@ -549,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;
|
||||||
@@ -563,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
|
||||||
@@ -583,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;
|
||||||
@@ -597,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;
|
||||||
@@ -611,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;
|
||||||
@@ -625,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;
|
||||||
@@ -639,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;
|
||||||
@@ -653,7 +649,7 @@ 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;
|
||||||
@@ -667,7 +663,7 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local buff_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.buff_UI.key));
|
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
|
if buff_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: buff_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: buff_UI_key_release");
|
||||||
|
|
||||||
elseif buff_UI_key_release then
|
elseif buff_UI_key_release then
|
||||||
config.current_config.buff_UI.enabled = not config.current_config.buff_UI.enabled;
|
config.current_config.buff_UI.enabled = not config.current_config.buff_UI.enabled;
|
||||||
@@ -681,7 +677,7 @@ function this.check_hotkeys(hard_keyboard)
|
|||||||
local stats_UI_key_release = get_release_method:call(hard_keyboard, math.tointeger(cached_config.stats_UI.key));
|
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
|
if stats_UI_key_release == nil then
|
||||||
error_handler.report("keyboard.check_hotkeys", "Failed to access Data: stats_UI_key_release");
|
error_handler.report("keyboard.check_hotkeys", "Failed to Access Data: stats_UI_key_release");
|
||||||
|
|
||||||
elseif stats_UI_key_release then
|
elseif stats_UI_key_release then
|
||||||
config.current_config.stats_UI.enabled = not config.current_config.stats_UI.enabled;
|
config.current_config.stats_UI.enabled = not config.current_config.stats_UI.enabled;
|
||||||
@@ -717,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();
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ function this.remove_delay_timer(delay_timer)
|
|||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
this.delay_timer_list[delay_timer.callback] = nil;
|
this.delay_timer_list[delay_timer.callback] = nil;
|
||||||
end
|
end
|
||||||
|
|
||||||
function this.init_global_timers()
|
function this.init_global_timers()
|
||||||
@@ -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.4";
|
this.version = "2.7.3";
|
||||||
|
|
||||||
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";
|
||||||
@@ -320,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
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1022,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 = {
|
||||||
@@ -7454,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
|
||||||
|
|||||||
@@ -902,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"
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -1338,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);
|
||||||
@@ -1479,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);
|
||||||
|
|
||||||
@@ -2300,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);
|
||||||
|
|
||||||
|
|||||||
700
reframework/data/MHR Overlay/languages/de-de.json
Normal file
700
reframework/data/MHR Overlay/languages/de-de.json
Normal file
@@ -0,0 +1,700 @@
|
|||||||
|
{
|
||||||
|
"UI": {
|
||||||
|
"HP": "HP:",
|
||||||
|
"buildup": "Buildup:",
|
||||||
|
"gold": "Gold",
|
||||||
|
"lv": "",
|
||||||
|
"mini": "Mini",
|
||||||
|
"otomo": "Buddy",
|
||||||
|
"part_anomaly_core": "Anomaliekern",
|
||||||
|
"part_break": "Bruch",
|
||||||
|
"part_sever": "Schnitt",
|
||||||
|
"player": "Spieler",
|
||||||
|
"rage": "Wut:",
|
||||||
|
"servant": "Anhänger",
|
||||||
|
"silver": "Silber",
|
||||||
|
"stamina": "Ausdauer:",
|
||||||
|
"total_buildup": "Gesamt-Buildup",
|
||||||
|
"total_damage": "Gesamt-Schaden"
|
||||||
|
},
|
||||||
|
"ailments": {
|
||||||
|
"blast": "Explosion",
|
||||||
|
"blastblight": "Explosionspest",
|
||||||
|
"bleeding": "Blutung",
|
||||||
|
"bloodblight": "Blutpest",
|
||||||
|
"deadly_poison": "Tödliches Gift",
|
||||||
|
"defense_down": "Verteidigung -",
|
||||||
|
"dragonblight": "Drachenpest",
|
||||||
|
"dung_bomb": "Dungbombe",
|
||||||
|
"engulfed": "Verschlungen",
|
||||||
|
"exhaust": "Erschöpft",
|
||||||
|
"fall_otomo_trap": "Buddy Fallgrube",
|
||||||
|
"fall_trap": "Fallgrube",
|
||||||
|
"falling_asleep": "Am Einschlafen",
|
||||||
|
"fireblight": "Feuerpest",
|
||||||
|
"flash": "Blenden",
|
||||||
|
"frenzy": "Raserei",
|
||||||
|
"frenzy_infection": "Raserei Erlegen",
|
||||||
|
"frenzy_overcome": "Raserei Besiegt",
|
||||||
|
"frostblight": "Frostpest",
|
||||||
|
"hellfireblight": "Höllenfeuerpest",
|
||||||
|
"iceblight": "Eispest",
|
||||||
|
"leeched": "Blutegel",
|
||||||
|
"major_bubbleblight": "Blasenpest (L)",
|
||||||
|
"minor_bubbleblight": "Blasenpest (S)",
|
||||||
|
"muck": "Schlamm",
|
||||||
|
"paralysis": "Lähmung",
|
||||||
|
"poison": "Gift",
|
||||||
|
"quick_sand": "Treibsand",
|
||||||
|
"resistance_down": "Widerstand -",
|
||||||
|
"ride": "Wyvern-Reiten",
|
||||||
|
"roar": "Schrei",
|
||||||
|
"shock_otomo_trap": "Buddy Schockfalle",
|
||||||
|
"shock_trap": "Schockfalle",
|
||||||
|
"sleep": "Schlaf",
|
||||||
|
"steel_fang": "Stahl-Reißzahn",
|
||||||
|
"stench": "Gestank",
|
||||||
|
"stun": "Betäuben",
|
||||||
|
"thunderblight": "Donnerpest",
|
||||||
|
"tranq_bomb": "Beruhigungsbombe",
|
||||||
|
"tremor": "Erschütterung",
|
||||||
|
"waterblight": "Wasserpest",
|
||||||
|
"webbed": "Eingenetzt"
|
||||||
|
},
|
||||||
|
"customization_menu": {
|
||||||
|
"UI_font": "UI Schrift",
|
||||||
|
"UI_font_notice": "Schriftartänderungen erfordern einen Skiptneustart!",
|
||||||
|
"abnormal_statuses": "Status-Anomalien",
|
||||||
|
"activation_count": "Aktivierungsanzahl",
|
||||||
|
"affinity_label": "Affinität-Etikett",
|
||||||
|
"ailment_buildups": "Anomalie-Buildups",
|
||||||
|
"ailment_name": "Anomalie-Name",
|
||||||
|
"ailment_name_label": "Anomalie-Name-Etikett",
|
||||||
|
"ailment_spacing": "Anomalie-Abstand",
|
||||||
|
"ailments": "Anomalien",
|
||||||
|
"all_UI": "Ganze UI",
|
||||||
|
"anchor": "Anker",
|
||||||
|
"anomaly_cores": "Anomaliekerne",
|
||||||
|
"anomaly_filter": "Anomaliekern",
|
||||||
|
"anomaly_health": "Anomaliekern-Zustand",
|
||||||
|
"anomaly_health_percentage": "Anomaliekern-Zustand in %",
|
||||||
|
"apply": "Übernehmen",
|
||||||
|
"assign_new_key": "Neue Taste zuweisen",
|
||||||
|
"attack_label": "Angriff-Etikett",
|
||||||
|
"auto_highlight": "Auto-Erfassen",
|
||||||
|
"background": "Hintergrund",
|
||||||
|
"bar": "Leiste",
|
||||||
|
"blast": "Explosion",
|
||||||
|
"body_parts": "Körperteile",
|
||||||
|
"bold": "Fett",
|
||||||
|
"bombs": "Bomben",
|
||||||
|
"bottom_left": "Unten Links",
|
||||||
|
"bottom_right": "Unten Rechts",
|
||||||
|
"bottom_to_top": "Unten nach Oben",
|
||||||
|
"break_anomaly_filter": "Bruch + Anomaliekern",
|
||||||
|
"break_count": "Bruchanzahl",
|
||||||
|
"break_filter": "Bruch",
|
||||||
|
"break_health": "Bruch-HP",
|
||||||
|
"break_health_percentage": "Bruch-HP in %",
|
||||||
|
"break_max_count": "Max Bruchanzahl",
|
||||||
|
"break_sever_anomaly_filter": "Bruch + Schnitt + Anomaliekern",
|
||||||
|
"break_sever_filter": "Bruch + Schnitt",
|
||||||
|
"buff_UI": "Buff UI",
|
||||||
|
"buildup": "Buildup",
|
||||||
|
"buildup_bar": "Buildup-Leiste",
|
||||||
|
"buildup_bars_are_relative_to": "Buildup-Leisten relativ zu",
|
||||||
|
"buildup_percentage": "Buildup in %",
|
||||||
|
"buildup_percentage_label": "Buildup in %-Etikett",
|
||||||
|
"buildup_value_label": "Buildup-Wert-Etikett",
|
||||||
|
"capture_line": "Fanggrenze",
|
||||||
|
"cart_count": "Karrenanzahl",
|
||||||
|
"cart_count_label": "Karrenanzahl-Etikett",
|
||||||
|
"center": "Mitte",
|
||||||
|
"closest": "Nächster",
|
||||||
|
"color": "Farbe",
|
||||||
|
"colors": "Farben",
|
||||||
|
"config": "Voreinstellungen",
|
||||||
|
"creature_name_label": "Kreaturenname-Etikett",
|
||||||
|
"crown": "Krone",
|
||||||
|
"crown_thresholds": "Krone Grenzwerte",
|
||||||
|
"current_state": "Aktueller Zustand",
|
||||||
|
"current_time": "Aktuelle Zeit",
|
||||||
|
"current_value": "Aktueller Wert",
|
||||||
|
"cutscene": "Zwischensequenz",
|
||||||
|
"damage": "Schaden",
|
||||||
|
"damage_bar": "Schadensleiste",
|
||||||
|
"damage_bars_are_relative_to": "Schadensleiste relativ zu",
|
||||||
|
"damage_meter_UI": "Schadens-UI",
|
||||||
|
"damage_percentage_label": "Schaden in %-Etikett",
|
||||||
|
"damage_value_label": "Schadenswert-Etikett",
|
||||||
|
"dango_skills": "Dango-Fähigkeiten",
|
||||||
|
"debug": "Debug",
|
||||||
|
"default_state": "Voreinstellung",
|
||||||
|
"defense_label": "Verteidigung-Etikett",
|
||||||
|
"delete": "Löschen",
|
||||||
|
"distance": "Entfernung",
|
||||||
|
"dps": "DPS",
|
||||||
|
"dps_label": "DPS-Etikett",
|
||||||
|
"dps_mode": "DPS Modus",
|
||||||
|
"dragon_resistance_label": "Drachenwiderstand-Etikett",
|
||||||
|
"duplicate": "Klonen",
|
||||||
|
"duration": "Dauer",
|
||||||
|
"dynamic_positioning": "Dynamische Platzierung",
|
||||||
|
"dynamically_positioned": "Dynamisch Platziert",
|
||||||
|
"effect_level": "Effekt-Stufe",
|
||||||
|
"element_2_label": "Element 2-Etikett",
|
||||||
|
"element_label": "Element-Etikett",
|
||||||
|
"enable_for": "Aktiviere für",
|
||||||
|
"enabled": "Aktiviert",
|
||||||
|
"endemic_life": "Einheimische Wesen",
|
||||||
|
"endemic_life_UI": "Einheimische Wesen UI",
|
||||||
|
"endemic_life_buffs": "Einheimische Wesen Buffs",
|
||||||
|
"everything_seems_to_be_ok": "Alles scheint gut zu sein!",
|
||||||
|
"family": "Familie",
|
||||||
|
"farthest": "Weitester",
|
||||||
|
"fight_time": "Kampfdauer",
|
||||||
|
"fill_direction": "Füllrichtung",
|
||||||
|
"filter": "Filter",
|
||||||
|
"filter_mode": "Filter-Modus",
|
||||||
|
"fire_resistance_label": "Feuerwiderstand-Etikett",
|
||||||
|
"first": "Zuerst",
|
||||||
|
"first_hit": "Erster Treffer",
|
||||||
|
"flinch_count": "Stolper-Anzahl",
|
||||||
|
"foreground": "Vordergrund",
|
||||||
|
"freeze_dps_on_quest_end": "DPS bei Questabschluss einfrieren",
|
||||||
|
"global_position_modifier": "Allgemeiner Positions-Modifikator",
|
||||||
|
"global_scale_modifier": "Allgemeiner Größen-Modifikator",
|
||||||
|
"global_settings": "Allgemeine Einstellungen",
|
||||||
|
"head_tracking": "Auf Kopf fixieren",
|
||||||
|
"health": "HP",
|
||||||
|
"health_anomaly_filter": "HP + Anomaliekern",
|
||||||
|
"health_break_anomaly_filter": "HP + Bruch + Anomaliekern",
|
||||||
|
"health_break_filter": "HP + Bruch",
|
||||||
|
"health_break_sever_anomaly_filter": "HP + Bruch + Schnitt + Anomaliekern",
|
||||||
|
"health_break_sever_filter": "HP + Bruch + Schnitt",
|
||||||
|
"health_filter": "HP",
|
||||||
|
"health_label": "HP-Etikett",
|
||||||
|
"health_percentage": "HP in %",
|
||||||
|
"health_sever_anomaly_filter": "HP + Schnitt + Anomaliekern",
|
||||||
|
"health_sever_filter": "HP + Schnitt",
|
||||||
|
"height": "Höhe",
|
||||||
|
"hide_ailments_with_zero_buildup": "Anomalien mit 0 Buildup verbergen",
|
||||||
|
"hide_all_active_ailments": "Alle Aktiven Anomalien verbergen",
|
||||||
|
"hide_all_inactive_ailments": "Alle Inaktiven Anomalien verbergen",
|
||||||
|
"hide_bar_for_infinite_buffs": "Leiste für unbegrenzte Buffs verbergen",
|
||||||
|
"hide_dead_or_captured": "Tote oder Gefangene verbergen",
|
||||||
|
"hide_disabled_ailments": "Vom Spiel deaktivierte Anomalien verbergen",
|
||||||
|
"hide_inactive_ailments_with_no_buildup_support": "Inaktive Anomalien ohne Buildup-Möglichkeit verbergen",
|
||||||
|
"hide_inactive_creatures": "Inaktive Kreaturen verbergen",
|
||||||
|
"hide_module_if_total_damage_is_zero": "Modul bei 0 Schaden verbergen",
|
||||||
|
"hide_myself": "Selbst verbergen",
|
||||||
|
"hide_other_players": "Andere Spieler verbergen",
|
||||||
|
"hide_player_if_player_damage_is_zero": "Spieler mit 0 Schaden verbergen",
|
||||||
|
"hide_servants": "Anhänger verbergen",
|
||||||
|
"hide_timer_for_infinite_buffs": "Dauer für unbegrenzte Buffs verbergen",
|
||||||
|
"hide_total_damage": "Gesamtschaden verbergen",
|
||||||
|
"hide_total_if_total_damage_is_zero": "Bei 0 Gesamtschaden verbergen",
|
||||||
|
"hide_undamaged_parts": "Unbeschädigte Teile verbergen",
|
||||||
|
"highest_health": "Höchste HP",
|
||||||
|
"highest_health_percentage": "Höchste HP in %",
|
||||||
|
"highlighted": "Erfasst",
|
||||||
|
"highlighted_bar": "Erfasst-Leiste",
|
||||||
|
"highlighted_buildup_bar": "Erfasst Buildup-Leiste",
|
||||||
|
"highlighted_damage_bar": "Erfasst Schadensleiste",
|
||||||
|
"highlighted_targeted": "Erfasst (anvisiert)",
|
||||||
|
"history": "Verlauf",
|
||||||
|
"history_size": "Verlaufsgröße",
|
||||||
|
"horizontal": "Horizontal",
|
||||||
|
"hotkeys": "Hotkeys",
|
||||||
|
"hunter_rank": "Jägerrang",
|
||||||
|
"hunter_rank_label": "Jägerrang-Etikett",
|
||||||
|
"ice_resistance_label": "Eiswiderstand-Etikett",
|
||||||
|
"id": "ID",
|
||||||
|
"in_lobby": "Im Lager",
|
||||||
|
"in_training_area": "Im Trainingsbereich",
|
||||||
|
"include": "Beinhaltet",
|
||||||
|
"infinite_buffs_location": "Ort für Unbegrenzte Buffs",
|
||||||
|
"inside": "Innen",
|
||||||
|
"installations": "Anlagen",
|
||||||
|
"italic": "Kursiv",
|
||||||
|
"item_buffs": "Gegenstand-Buffs",
|
||||||
|
"join_time": "Beirittszeit",
|
||||||
|
"killcam": "Killcam",
|
||||||
|
"kunai": "Kunai",
|
||||||
|
"language": "Sprache",
|
||||||
|
"large_monster_UI": "Großmonster UI",
|
||||||
|
"large_monster_dynamic_UI": "Großmonster Dynamische UI",
|
||||||
|
"large_monster_highlighted_UI": "Großmonster Erfasst UI",
|
||||||
|
"large_monster_static_UI": "Großmonster Feste UI",
|
||||||
|
"large_monsters": "Große Monster",
|
||||||
|
"last": "Zuletzt",
|
||||||
|
"left_to_right": "Links nach Rechts",
|
||||||
|
"level": "Stufe",
|
||||||
|
"level_label": "Stufe-Etikett",
|
||||||
|
"loading_quest": "Lade Quest",
|
||||||
|
"loss_health": "Schnitt-HP",
|
||||||
|
"loss_health_percentage": "Schnitt-HP in %",
|
||||||
|
"lowest_health": "Niedrigste HP",
|
||||||
|
"lowest_health_percentage": "Niedrigste HP in %",
|
||||||
|
"master_rank": "Meisterrang",
|
||||||
|
"max_distance": "Max Entfernung",
|
||||||
|
"max_monster_updates_per_tick": "Max Monster-Updates pro Tick",
|
||||||
|
"max_value": "Max Wert",
|
||||||
|
"me": "Ich",
|
||||||
|
"melody_effects": "Melodie-Effekte",
|
||||||
|
"menu_font": "Menü-Schriftart",
|
||||||
|
"menu_font_change_disclaimer": "Mehrmals Sprache und Menüschriftart ändern führt zu einem Absturz!",
|
||||||
|
"misc_buffs": "Diverse Buffs",
|
||||||
|
"mod_name": "MHR Overlay",
|
||||||
|
"mode": "Modus",
|
||||||
|
"modifiers": "Modifikatoren",
|
||||||
|
"module_visibility_based_on_game_state": "Sichtbarkeit abhängig vom Spielzustand",
|
||||||
|
"modules": "Modul",
|
||||||
|
"monster_can_be_captured": "Monster ist fangbar",
|
||||||
|
"monster_id": "Monster-ID",
|
||||||
|
"monster_name": "Monster-Name",
|
||||||
|
"monster_name_label": "Monster-Name-Etikett",
|
||||||
|
"monsters": "Monster",
|
||||||
|
"my_damage_bar_location": "Ort für Meine Schadensleiste",
|
||||||
|
"my_otomos": "Meine Buddies",
|
||||||
|
"myself": "Selbst",
|
||||||
|
"name": "Name",
|
||||||
|
"name_label": "Namens-Label",
|
||||||
|
"new": "Neu",
|
||||||
|
"none": "Nichts",
|
||||||
|
"normal": "Normal",
|
||||||
|
"offset": "Offset",
|
||||||
|
"offset_is_relative_to_parts": "Offset ist relativ zu Teile",
|
||||||
|
"opacity_falloff": "Abfall der Deckkraft",
|
||||||
|
"orientation": "Orientierung",
|
||||||
|
"other": "Andere",
|
||||||
|
"other_player_otomos": "Buddies anderer Spieler",
|
||||||
|
"other_players": "Andere Spieler",
|
||||||
|
"otomo_moves": "Buddy Aktionen",
|
||||||
|
"otomos": "Buddies",
|
||||||
|
"outline": "Umrandung",
|
||||||
|
"outside": "Außen",
|
||||||
|
"part_health": "Teil-HP",
|
||||||
|
"part_name": "Teil-Name",
|
||||||
|
"part_name_label": "Teil-Name-Etikett",
|
||||||
|
"percentage_label": "Prozent-Etikett",
|
||||||
|
"performance": "Leistung",
|
||||||
|
"player_name_label": "Spielername-Etikett",
|
||||||
|
"player_name_size_limit": "Höchstbreite Spielername",
|
||||||
|
"player_spacing": "Spieler Abstand",
|
||||||
|
"players": "Spieler",
|
||||||
|
"playing_quest": "Während Quest",
|
||||||
|
"poison": "Gift",
|
||||||
|
"position": "Position",
|
||||||
|
"press_any_key": "Drücke eine Taste...",
|
||||||
|
"prioritize_large_monsters": "Große Monster priorisieren",
|
||||||
|
"quest_end_animation": "Questabschluss-Szene",
|
||||||
|
"quest_end_screen": "Questabschluss-Schirm",
|
||||||
|
"quest_end_timer": "Questabschluss-Zähler",
|
||||||
|
"quest_start_animation": "Questbeginn-Animation",
|
||||||
|
"quest_time": "Quest-Zeit",
|
||||||
|
"rage": "Wut",
|
||||||
|
"rampage_skills": "Randale-Fähigkeiten",
|
||||||
|
"reframework_outdated": "Die installierte REFramework Version ist veraltet. Bitte aktualisieren. Sonst wird MHR Overlay nicht richtig arbeiten.",
|
||||||
|
"relative_offset": "Relatives Offset",
|
||||||
|
"rename": "Umbenennen",
|
||||||
|
"render_highlighted_monster": "Rendere erfasstes Monster",
|
||||||
|
"render_inactive_anomaly_cores": "Rendere inaktive Anomaliekerne",
|
||||||
|
"render_not_highlighted_monsters": "Rendere nicht erfasste Monster",
|
||||||
|
"renderer": "Renderer",
|
||||||
|
"reset": "Zurücksetzen",
|
||||||
|
"reversed_order": "Umgekehrte Reihenfolge",
|
||||||
|
"reward_screen": "Belohnungsauswahl",
|
||||||
|
"right_alignment_shift": "Ausrichtungsverschiebung Rechts",
|
||||||
|
"right_to_left": "Rechts nach Links",
|
||||||
|
"servant_otomos": "Anhänger-Buddies",
|
||||||
|
"servants": "Anhänger",
|
||||||
|
"settings": "Einstellungen",
|
||||||
|
"sever_anomaly_filter": "Schnitt + Anomaliekern",
|
||||||
|
"sever_filter": "Schnitt",
|
||||||
|
"shadow": "Schatten",
|
||||||
|
"show_my_otomos_separately": "Zeige Meine Buddies getrennt",
|
||||||
|
"show_other_player_otomos_separately": "Zeige Buddies anderer Spieler getrennt",
|
||||||
|
"show_servant_otomos_separately": "Zeige Anhänger-Buddies getrennt",
|
||||||
|
"size": "Größe",
|
||||||
|
"skills": "Fähigkeiten",
|
||||||
|
"small_monster_UI": "Kleinmonster UI",
|
||||||
|
"small_monsters": "Kleine Monster",
|
||||||
|
"sorting": "Sortierung",
|
||||||
|
"spacing": "Abstand",
|
||||||
|
"stamina": "Ausdauer",
|
||||||
|
"stamina_label": "Ausdauer-Etikett",
|
||||||
|
"static_orientation": "Feste Orientierung",
|
||||||
|
"static_position": "Feste Platzierung",
|
||||||
|
"static_sorting": "Feste Sortierung",
|
||||||
|
"static_spacing": "Fester Abstand",
|
||||||
|
"statically_positioned": "Fest Platziert",
|
||||||
|
"stats_UI": "Status UI",
|
||||||
|
"status": "Status",
|
||||||
|
"style": "Stil",
|
||||||
|
"summary_screen": "Zusammenfassung",
|
||||||
|
"text_label": "Text-Etikett",
|
||||||
|
"thickness": "Dicke",
|
||||||
|
"thunder_resistance_label": "Donnerwiderstand-Etikett",
|
||||||
|
"time_UI": "Zeit UI",
|
||||||
|
"time_label": "Zeit-Etikett",
|
||||||
|
"time_limit": "Zeitlimit (Sekunden)",
|
||||||
|
"timer": "Dauer",
|
||||||
|
"timer_delays": "Zeitabstände",
|
||||||
|
"timer_label": "Dauer-Etikett",
|
||||||
|
"top_buildup": "Bester Buildup",
|
||||||
|
"top_damage": "Bester Schaden",
|
||||||
|
"top_dps": "Bester DPS",
|
||||||
|
"top_left": "Oben Links",
|
||||||
|
"top_right": "Oben Rechts",
|
||||||
|
"top_to_bottom": "Oben nach Unten",
|
||||||
|
"total": "Gesamt",
|
||||||
|
"total_buildup": "Gesamt Buildup",
|
||||||
|
"total_buildup_label": "Gesamt Buildup-Etikett",
|
||||||
|
"total_buildup_value_label": "Gesamt Buildup-Wert-Etikett",
|
||||||
|
"total_cart_count_label": "Gesamtanzahl Karren-Etikett",
|
||||||
|
"total_damage": "Gesamtschaden",
|
||||||
|
"total_damage_label": "Gesamtschaden-Etikett",
|
||||||
|
"total_damage_location": "Ort für Gesamtschadensleiste",
|
||||||
|
"total_damage_offset_is_relative": "Gesamtschaden Offset ist relativ",
|
||||||
|
"total_damage_value_label": "Gesamtschadenswert-Etikett",
|
||||||
|
"total_dps": "Gesamte DPS",
|
||||||
|
"total_dps_label": "Gesamte DPS-Etikett",
|
||||||
|
"tracked_damage_types": "Verfolgte Schadensarten",
|
||||||
|
"tracked_monster_types": "Verfolgte Monsterarten",
|
||||||
|
"type": "Typ",
|
||||||
|
"update_buffs_delay": "Buffs abfragen (in Sek.)",
|
||||||
|
"update_is_online_delay": "Onlinecheck abfragen (in Sek.)",
|
||||||
|
"update_myself_position_delay": "Eigene Position abfragen (in Sek.)",
|
||||||
|
"update_player_info_delay": "Spielerinfo abfragen (in Sek.)",
|
||||||
|
"update_players_delay": "Spieler abfragen (in Sek.)",
|
||||||
|
"update_quest_time_delay": "Questzeit abfragen (in Sek.)",
|
||||||
|
"update_singletons_delay": "Singletons abfragen (in Sek.)",
|
||||||
|
"update_window_size_delay": "Fenstergröße abfragen (in Sek.)",
|
||||||
|
"use_d2d_if_available": "Direct2D nutzen wenn vorhanden",
|
||||||
|
"value": "Wert",
|
||||||
|
"value_label": "Wert-Etikett",
|
||||||
|
"vertical": "Vertikal",
|
||||||
|
"viewport_offset": "Viewport Offset",
|
||||||
|
"visible": "Sichtbar",
|
||||||
|
"water_resistance_label": "Wasserwiderstand-Etikett",
|
||||||
|
"weapon_skills": "Waffen-Fähigkeiten",
|
||||||
|
"width": "Breite",
|
||||||
|
"world_offset": "Welt Offset",
|
||||||
|
"wyvern_riding": "Wyvern-Reiten",
|
||||||
|
"x": "X",
|
||||||
|
"y": "Y",
|
||||||
|
"z": "Z"
|
||||||
|
},
|
||||||
|
"dango_skills": {
|
||||||
|
"dango_adrenaline": "Dango-Adrenalin",
|
||||||
|
"dango_booster": "Dango-Verstärker",
|
||||||
|
"dango_bulker": "Dango-Kraftprotz",
|
||||||
|
"dango_connector": "Dango-Verbinder",
|
||||||
|
"dango_defender": "Dango-Verteidiger",
|
||||||
|
"dango_flyer": "Dango-Jongleur",
|
||||||
|
"dango_glutton": "Dango-Nimmersatt",
|
||||||
|
"dango_hunter": "Dango-Jäger",
|
||||||
|
"dango_insurance": "Dango-Sicherer",
|
||||||
|
"dango_insurance_defense_up": "Dango-Sicherer Verteidigung +",
|
||||||
|
"super_recovery_dango": "Super-Erholungs-Dango"
|
||||||
|
},
|
||||||
|
"endemic_life": {
|
||||||
|
"butterflame": "Flämmling",
|
||||||
|
"clothfly": "Tuchfalter",
|
||||||
|
"cutterfly": "Schnibelle",
|
||||||
|
"gold_wirebug": "Goldseilkäfer",
|
||||||
|
"peepersects": "Späherlinge",
|
||||||
|
"red_lampsquid": "Rotlichtkalmar",
|
||||||
|
"ruby_wirebug": "Rubinseilkäfer",
|
||||||
|
"stinkmink": "Miefnerz",
|
||||||
|
"yellow_lampsquid": "Gelblichtkalmar"
|
||||||
|
},
|
||||||
|
"font_name": "NotoSans-Bold.otf",
|
||||||
|
"item_buffs": {
|
||||||
|
"adamant_seed": "Diamantsamen",
|
||||||
|
"armor_ammo": "Rüstung (Munition)",
|
||||||
|
"armorskin": "Panzerhaut",
|
||||||
|
"dash_juice": "Sprintsaft",
|
||||||
|
"demon_ammo": "Dämon (Munition)",
|
||||||
|
"demon_powder": "Dämonenpulver",
|
||||||
|
"demondrug": "Dämonenmittel",
|
||||||
|
"gourmet_fish": "Gourmet-Fisch",
|
||||||
|
"hardshell_powder": "Harthülsenpulver",
|
||||||
|
"immunizer": "Immunisierer",
|
||||||
|
"mega_armorskin": "Mega-Panzerhaut",
|
||||||
|
"mega_demondrug": "Mega-Dämonenmittel",
|
||||||
|
"might_seed": "Machtsamen"
|
||||||
|
},
|
||||||
|
"melody_effects": {
|
||||||
|
"affinity_up": "Affinität +",
|
||||||
|
"attack_and_affinity_up": "Angriff & Affinität +",
|
||||||
|
"attack_and_defense_up": "Angriff & Verteidigung +",
|
||||||
|
"attack_up": "Angriff +",
|
||||||
|
"blight_negated": "Pest negiert",
|
||||||
|
"defense_up": "Verteidigung +",
|
||||||
|
"divine_protection": "Göttlicher Schutz",
|
||||||
|
"earplugs_l": "Ohrstöpsel II",
|
||||||
|
"earplugs_s": "Ohrstöpsel I",
|
||||||
|
"elemental_attack_boost": "Elementangriff-Boost",
|
||||||
|
"environment_damage_negated": "Umgebungsschaden negiert",
|
||||||
|
"health_recovery_l": "Gesundheitserholung (L)",
|
||||||
|
"health_recovery_s": "Gesundheitserholung (S)",
|
||||||
|
"health_recovery_s_antidote": "Gesundheitserholung (S) + Gegengift",
|
||||||
|
"health_regeneration": "Gesundheitsregeneration",
|
||||||
|
"infernal_melody": "Höllenmelodie",
|
||||||
|
"knockbacks_negated": "Rückschläge negiert",
|
||||||
|
"self_improvement": "Selbstverbesserung",
|
||||||
|
"sharpness_extension": "Schärfeverlängerung",
|
||||||
|
"sharpness_loss_reduced": "Schärfeverlust reduziert",
|
||||||
|
"sharpness_regeneration": "Schärferegeneration",
|
||||||
|
"sonic_barrier": "Schallbarriere",
|
||||||
|
"sonic_wave": "Schallwelle",
|
||||||
|
"stamina_recovery_up": "Ausdauer-Erholung +",
|
||||||
|
"stamina_use_reduced": "Ausdauernutzung -",
|
||||||
|
"stun_negated": "Betäuben negiert",
|
||||||
|
"tremors_negated": "Erschütterungen negiert",
|
||||||
|
"wind_pressure_negated": "Winddruck negiert"
|
||||||
|
},
|
||||||
|
"misc_buffs": {
|
||||||
|
"attack_up": "Angriff +",
|
||||||
|
"defense_up": "Verteidigung +",
|
||||||
|
"immunity": "Immunität",
|
||||||
|
"natural_healing_up": "Natürliche Heilung +",
|
||||||
|
"stamina_use_down": "Ausdauernutzung -"
|
||||||
|
},
|
||||||
|
"otomo_moves": {
|
||||||
|
"go_fight_win": "Jubeltanz",
|
||||||
|
"power_drum": "Krafttrommel",
|
||||||
|
"rousing_roar": "Stärkungsbrüllen",
|
||||||
|
"vase_of_vitality": "Vase der Vitalität"
|
||||||
|
},
|
||||||
|
"parts": {
|
||||||
|
"abdomen": "Abdomen",
|
||||||
|
"amatsu_unknown": "?",
|
||||||
|
"antenna": "Fühler",
|
||||||
|
"arms": "Arme",
|
||||||
|
"arms_mud": "Arme (Schlamm)",
|
||||||
|
"back": "Rücken",
|
||||||
|
"back_windsac": "Rücken (Windsack)",
|
||||||
|
"body": "Körper",
|
||||||
|
"body_mud": "Körper (Schlamm)",
|
||||||
|
"carapace": "Platte",
|
||||||
|
"chest": "Brust",
|
||||||
|
"chest_windsac": "Brust (Windsack)",
|
||||||
|
"claw": "Klaue",
|
||||||
|
"crest": "Kamm",
|
||||||
|
"dorsal_fin": "Rückenflosse",
|
||||||
|
"foreleg": "Vorderbein",
|
||||||
|
"forelegs": "Vorderbeine",
|
||||||
|
"head": "Kopf",
|
||||||
|
"head_mud": "Kopf (Schlamm)",
|
||||||
|
"hind_leg": "Hinterbein",
|
||||||
|
"hind_legs": "Hinterbeine",
|
||||||
|
"large_mudbulb": "Große Schlammknolle",
|
||||||
|
"left_arm": "Arm L",
|
||||||
|
"left_arm_ice": "Arm L (Eis)",
|
||||||
|
"left_claw": "Klaue L",
|
||||||
|
"left_cutwing": "Schnittflügel L",
|
||||||
|
"left_foreleg": "Vorderbein L",
|
||||||
|
"left_hind_leg": "Hinterbein L",
|
||||||
|
"left_leg": "Bein L",
|
||||||
|
"left_leg_mud": "Bein L (Schlamm)",
|
||||||
|
"left_legs": "Beine L",
|
||||||
|
"left_wing": "Flügel L",
|
||||||
|
"left_wingclaw": "Flügelklaue L",
|
||||||
|
"legs": "Beine",
|
||||||
|
"lower_back": "Unterer Rücken",
|
||||||
|
"lower_body": "Unterkörper",
|
||||||
|
"mane": "Mähne",
|
||||||
|
"mudbulb": "Schlammknolle",
|
||||||
|
"neck": "Hals",
|
||||||
|
"rear": "Hintern",
|
||||||
|
"right_arm": "Arm R",
|
||||||
|
"right_arm_ice": "Arm R (Eis)",
|
||||||
|
"right_claw": "Klaue R",
|
||||||
|
"right_cutwing": "Schnittflügel R",
|
||||||
|
"right_foreleg": "Vorderbein R",
|
||||||
|
"right_hind_leg": "Hinterbein R",
|
||||||
|
"right_leg": "Bein R",
|
||||||
|
"right_leg_mud": "Bein R (Schlamm)",
|
||||||
|
"right_legs": "Beine R",
|
||||||
|
"right_wing": "Flügel R",
|
||||||
|
"right_wingclaw": "Flügelklaue R",
|
||||||
|
"rock": "Fels",
|
||||||
|
"shell": "Panzer",
|
||||||
|
"spinning": "Spinning",
|
||||||
|
"tail": "Schwanz",
|
||||||
|
"tail_mud": "Schwanz (Schlamm)",
|
||||||
|
"tail_tip": "Schwanzspitze",
|
||||||
|
"tail_windsac": "Schwanz (Windsack)",
|
||||||
|
"thundersacs": "Funkensack",
|
||||||
|
"torso": "Torso",
|
||||||
|
"torso_mud": "Torso (Schlamm)",
|
||||||
|
"unknown": "?",
|
||||||
|
"upper_back": "Oberer Rücken",
|
||||||
|
"upper_body": "Oberkörper",
|
||||||
|
"wingclaw": "Flügelklaue",
|
||||||
|
"wingclaws": "Flügelklauen",
|
||||||
|
"wings": "Flügel"
|
||||||
|
},
|
||||||
|
"rampage_skills": {
|
||||||
|
"chameleos_soul": "Chameleos-Seele",
|
||||||
|
"kushala_daora_soul": "Kushala-Daora-Seele"
|
||||||
|
},
|
||||||
|
"skills": {
|
||||||
|
"adrenaline_rush": "Adrenalinschub",
|
||||||
|
"affinity_sliding": "Affinitätsschlittern",
|
||||||
|
"agitator": "Aufhetzer",
|
||||||
|
"berserk": "Berserker",
|
||||||
|
"bladescale_hone": "KlingenschVerbess",
|
||||||
|
"blood_awakening": "Bluterwachen",
|
||||||
|
"bloodlust": "Blutdurst",
|
||||||
|
"burst": "Salve",
|
||||||
|
"coalescence": "Verschmelzung",
|
||||||
|
"counterstrike": "Gegenschlag",
|
||||||
|
"dereliction": "Verwahrlosung",
|
||||||
|
"dragon_conversion_elemental_attack_up": "Drachenumwandlung: Elem. Ang +",
|
||||||
|
"dragon_conversion_elemental_res_up": "Drachenumwandlung: Elem. Wdr +",
|
||||||
|
"dragonheart": "Drachenherz",
|
||||||
|
"embolden": "Ermutigen",
|
||||||
|
"frenzied_bloodlust": "Raserei-Blutdurst",
|
||||||
|
"furious": "Zorniger",
|
||||||
|
"grinder_s": "Schleifer (S)",
|
||||||
|
"heaven_sent": "Wie gerufen",
|
||||||
|
"hellfire_cloak": "Höllenfeuer-Umhang",
|
||||||
|
"heroics": "Heldentat",
|
||||||
|
"inspiration": "Inspiration",
|
||||||
|
"intrepid_heart": "Furchtloses Herz",
|
||||||
|
"latent_power": "Latente Kraft",
|
||||||
|
"maximum_might": "Höchstmacht",
|
||||||
|
"offensive_guard": "Offensive Abwehr",
|
||||||
|
"partbreaker": "Teilezerstörer",
|
||||||
|
"peak_performance": "Höchstleistung",
|
||||||
|
"powder_mantle_blue": "Pulver-Mantel (Blau)",
|
||||||
|
"powder_mantle_red": "Pulver-Mantel (Rot)",
|
||||||
|
"protective_polish": "Schutzpolitur",
|
||||||
|
"resentment": "Groll",
|
||||||
|
"resuscitate": "Wiederbelebung",
|
||||||
|
"spiribirds_call": "Irrlitzruf",
|
||||||
|
"status_trigger": "Statusauslöser",
|
||||||
|
"strife": "Kampf",
|
||||||
|
"wall_runner": "Wandläufer",
|
||||||
|
"wind_mantle": "Wind-Mantel"
|
||||||
|
},
|
||||||
|
"stats": {
|
||||||
|
"affinity": "Affinität",
|
||||||
|
"attack": "Angriff",
|
||||||
|
"defense": "Verteidigung",
|
||||||
|
"dragon": "Drache",
|
||||||
|
"dragon_resistance": "Drachenwdrstd",
|
||||||
|
"fire": "Feuer",
|
||||||
|
"fire_resistance": "Feuerwdrstd",
|
||||||
|
"ice": "Eis",
|
||||||
|
"ice_resistance": "EIswdrstd",
|
||||||
|
"stamina": "Ausdauer",
|
||||||
|
"thunder": "Donner",
|
||||||
|
"thunder_resistance": "Donnerwdrstd",
|
||||||
|
"water": "Wasser",
|
||||||
|
"water_resistance": "Wasserwdrstd"
|
||||||
|
},
|
||||||
|
"unicode_glyph_ranges": [
|
||||||
|
32,
|
||||||
|
255,
|
||||||
|
256,
|
||||||
|
591,
|
||||||
|
1024,
|
||||||
|
1327,
|
||||||
|
7680,
|
||||||
|
7935,
|
||||||
|
8192,
|
||||||
|
8303,
|
||||||
|
65280,
|
||||||
|
65519,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"weapon_skills": {
|
||||||
|
"bow": {
|
||||||
|
"arc_shot_affinity": "Bogenschuss: Affinität",
|
||||||
|
"arc_shot_brace": "Bogenschuss: Festhalten",
|
||||||
|
"bolt_boost": "Bolzen-Booster",
|
||||||
|
"herculean_draw": "Herkulisches Ziehen"
|
||||||
|
},
|
||||||
|
"charge_blade": {
|
||||||
|
"element_boost": "Elementbonus",
|
||||||
|
"sword_boost_mode": "Schwertmodus Verstärkt"
|
||||||
|
},
|
||||||
|
"dual_blades": {
|
||||||
|
"archdemon_mode": "Erzdämonenmodus",
|
||||||
|
"ironshine_silk": "Eisenschimmer-Seide"
|
||||||
|
},
|
||||||
|
"great_sword": {
|
||||||
|
"power_sheathe": "Kraft-Wegstecken"
|
||||||
|
},
|
||||||
|
"gunlance": {
|
||||||
|
"erupting_cannon": "Eruptionskanone",
|
||||||
|
"ground_splitter": "Bodenteiler"
|
||||||
|
},
|
||||||
|
"hammer": {
|
||||||
|
"impact_burst": "Einschlagsexplosion"
|
||||||
|
},
|
||||||
|
"heavy_bowgun": {
|
||||||
|
"counter_charger": "Konter-Aufladen",
|
||||||
|
"overheat": "Überhitzt",
|
||||||
|
"rising_moon": "Aufgehender Mond",
|
||||||
|
"setting_sun": "Untergehende Sonne",
|
||||||
|
"wyvernsnipe_reload": "Wyvernauge-Nachladen"
|
||||||
|
},
|
||||||
|
"hunting_horn": {
|
||||||
|
"bead_of_resonance": "Perle der Resonanz",
|
||||||
|
"silkbind_shockwave": "Seidenbinder-Schockwelle",
|
||||||
|
"sonic_bloom": "Schallblüte"
|
||||||
|
},
|
||||||
|
"insect_glaive": {
|
||||||
|
"all_extracts_mix": "Alle Extrakte",
|
||||||
|
"orange_extract": "Orangenes Extrakt",
|
||||||
|
"red_extract": "Rotes Extrakt",
|
||||||
|
"white_extract": "Weißes Extrakt"
|
||||||
|
},
|
||||||
|
"lance": {
|
||||||
|
"anchor_rage": "Ankerwut",
|
||||||
|
"spiral_thrust": "Spiralstoß",
|
||||||
|
"twin_wine": "Zwillingsranke"
|
||||||
|
},
|
||||||
|
"light_bowgun": {
|
||||||
|
"fanning_maneuver": "Fächermanöver",
|
||||||
|
"wyvernblast_reload": "Wyvernexplosion-Nachladen"
|
||||||
|
},
|
||||||
|
"long_sword": {
|
||||||
|
"harvest_moon": "Erntemond",
|
||||||
|
"iai_slash": "Iai-Hieb",
|
||||||
|
"soaring_kick": "Himmelhoher Tritt",
|
||||||
|
"spirit_gauge": "Elanbalken",
|
||||||
|
"spirit_gauge_autofill": "Elanbalken-Autoladung"
|
||||||
|
},
|
||||||
|
"switch_axe": {
|
||||||
|
"amped_state": "Verstärkter Zustand",
|
||||||
|
"axe_heavy_slam": "Axt: Schwerer Niederschlag",
|
||||||
|
"switch_charger": "Morph-Lader"
|
||||||
|
},
|
||||||
|
"sword_and_shield": {
|
||||||
|
"destroyer_oil": "Zerstöreröl"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"weapons": {
|
||||||
|
"bow": "Bogen",
|
||||||
|
"charge_blade": "Energieklinge",
|
||||||
|
"dual_blades": "Doppelklingen",
|
||||||
|
"great_sword": "Großschwert",
|
||||||
|
"gunlance": "Gewehrlanze",
|
||||||
|
"hammer": "Hammer",
|
||||||
|
"heavy_bowgun": "Schw. Bogengewehr",
|
||||||
|
"hunting_horn": "Jagdhorn",
|
||||||
|
"insect_glaive": "Insektenglefe ",
|
||||||
|
"lance": "Lanze",
|
||||||
|
"light_bowgun": "Lcht. Bogengewehr",
|
||||||
|
"long_sword": "Langschwert",
|
||||||
|
"switch_axe": "Morph-Axt",
|
||||||
|
"sword_and_shield": "Schwert & Schild"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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": "체력 + 파괴 + 괴이핵",
|
||||||
|
|||||||
@@ -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": "Здоровье + Повреждение + Ядро аномалии",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user