7 Commits

Author SHA1 Message Date
GreenComfyTea
bfd9463c9e Merge branch 'main' of https://github.com/GreenComfyTea/MHR-Overlay 2023-09-15 12:58:19 +03:00
GreenComfyTea
ae336eea2f Weapon Skills: Add Arc Shot: Affinity and Arc Shot: Brace 2023-09-15 12:58:03 +03:00
GreenComfyTea
5454bdd48e Skills: Add Partbreaker 2023-09-15 12:57:11 +03:00
GreenComfyTea
80e309a5dd Abnormal Statuses: Fix Error Message 2023-09-15 12:56:41 +03:00
GreenComfyTea
f1102eaa28 Endemic Life Buffs: Add Red and Yellow Lampsquids 2023-09-15 12:55:32 +03:00
GreenComfyTea
bd02dab872 Fix dango_skills error message 2023-09-15 12:54:59 +03:00
GreenComfyTea
8887f3c235 Rename consumables to item_buffs 2023-09-15 12:54:03 +03:00
19 changed files with 151 additions and 81 deletions

View File

@@ -45,7 +45,7 @@ local utils = require("MHR_Overlay.Misc.utils");
local player_info = require("MHR_Overlay.Misc.player_info"); local player_info = require("MHR_Overlay.Misc.player_info");
local buffs = require("MHR_Overlay.Buffs.buffs"); local buffs = require("MHR_Overlay.Buffs.buffs");
local consumables = require("MHR_Overlay.Buffs.consumables"); local item_buffs = require("MHR_Overlay.Buffs.item_buffs");
local melody_effects = require("MHR_Overlay.Buffs.melody_effects"); local melody_effects = require("MHR_Overlay.Buffs.melody_effects");
local endemic_life_buffs = require("MHR_Overlay.Buffs.endemic_life_buffs"); local endemic_life_buffs = require("MHR_Overlay.Buffs.endemic_life_buffs");
local skills = require("MHR_Overlay.Buffs.skills"); local skills = require("MHR_Overlay.Buffs.skills");
@@ -129,7 +129,7 @@ buff_UI_entity.init_dependencies();
player_info.init_dependencies(); player_info.init_dependencies();
buffs.init_dependencies(); buffs.init_dependencies();
consumables.init_dependencies(); item_buffs.init_dependencies();
melody_effects.init_dependencies(); melody_effects.init_dependencies();
endemic_life_buffs.init_dependencies(); endemic_life_buffs.init_dependencies();
skills.init_dependencies(); skills.init_dependencies();
@@ -208,7 +208,7 @@ buff_UI_entity.init_module();
player_info.init_module(); player_info.init_module();
buffs.init_module(); buffs.init_module();
consumables.init_module(); item_buffs.init_module();
melody_effects.init_module(); melody_effects.init_module();
endemic_life_buffs.init_module(); endemic_life_buffs.init_module();
skills.init_module(); skills.init_module();

View File

@@ -151,7 +151,7 @@ local virus_overcome_buff_timer_field = player_data_type_def:get_field("_VirusOv
function this.update(player, player_data) function this.update(player, player_data)
--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("consumables.update", "Failed to access Data: item_parameter"); -- error_handler.report("abnormal_statuses.update", "Failed to access Data: item_parameter");
-- return; -- return;
--end --end

View File

@@ -4,7 +4,7 @@ local buff_UI_entity;
local config; local config;
local singletons; local singletons;
local players; local players;
local consumables; local item_buffs;
local melody_effects; local melody_effects;
local utils; local utils;
local language; local language;
@@ -59,27 +59,28 @@ local package = package;
[x] DONE! Weapon buffs [x] DONE! Weapon buffs
[x] DONE! Horn music [x] DONE! Horn music
[x] DONE! abnormal_statuses: Immunity [x] DONE! abnormal_statuses: Immunity
[x] DONE! consumables: Stinkmink [x] DONE! item_buffs: Stinkmink
[x] DONE! rampage skills: Chameleos Soul [x] DONE! rampage skills: Chameleos Soul
[x] WONT IMPLEMENT! skills: Furious Buildup
[x] DONE! skills: powder mantle [x] DONE! skills: powder mantle
[x] WONT IMPLEMENT! skills: frostcraft
[x] COULDNT FIND! skills: defiance --
[x] DONE! skills: embolden [x] DONE! skills: embolden
[x] DONE! skills: strife [x] DONE! skills: strife
[x] DONE! skills: berserk [x] DONE! skills: berserk
[x] DONE! skills: dragon conversion [x] DONE! skills: dragon conversion
[x] DONE! abnormal_statuses: Pre-Sleep [x] DONE! abnormal_statuses: Pre-Sleep
[x] DONE! skills: charge master
[x] DONE! endemic_life_buffs: Red, Yellow Lampsquid
[x] DONE! weapon skills - Arc Shot: Affinity, Arc Shot: Brace
[x] DONE! Demon Ammo, Armor Ammo
More otomo skills More otomo skills
skills: Part breaker, charge master
Demon Ammo, Armor Ammo
weapon skills - Arc Shot: Affinity, Arc Shot: Brace
endemic_life_buffs: Red, Yellow Lampsquid
Add duration detection to skills Add duration detection to skills
Add duration detection to otomo moves Add duration detection to otomo moves
Add duration detection to dango skills Add duration detection to dango skills
Add duration detection to rampage skills Add duration detection to rampage skills
Add duration detection to endemic life buffs Add duration detection to endemic life buffs
[x] WONT IMPLEMENT! skills: Furious Buildup
[x] WONT IMPLEMENT! skills: frostcraft
[x] COULDNT FIND! skills: defiance
]] ]]
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager"); local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
@@ -153,6 +154,8 @@ function this.init_names()
misc_buffs.init_names(); misc_buffs.init_names();
end end
local tere = {};
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;
@@ -191,7 +194,7 @@ function this.update()
local is_player_lobby_base = master_player:get_type_definition() == player_lobby_base_type_def; local is_player_lobby_base = master_player:get_type_definition() == player_lobby_base_type_def;
consumables.update(master_player_data); item_buffs.update(master_player_data);
otomo_moves.update(master_player_data); otomo_moves.update(master_player_data);
rampage_skills.update(master_player_data); rampage_skills.update(master_player_data);
@@ -206,13 +209,17 @@ function this.update()
-- xy = ""; -- xy = "";
-- local fields = sdk.find_type_definition("snow.player.PlayerData"):get_fields(); -- local fields = master_player_data:get_type_definition():get_fields();
-- for i = 1, 999 do -- for i = 1, 999 do
-- if fields[i] ~= nil then -- if fields[i] ~= nil then
-- local value = fields[i]:get_data(master_player_data); -- local value = fields[i]:get_data(master_player_data);
-- if value ~= nil then -- if value ~= nil then
-- pcall(function() -- pcall(function()
-- if not utils.number.is_equal(value, 0) then -- if tere[fields[i]] == nil then
-- tere[fields[i]] = value;
-- elseif not utils.number.is_equal(value, tere[fields[i]]) then
-- xy = string.format("%s%s: %s\n", xy, fields[i]:get_name(), tostring(value)); -- xy = string.format("%s%s: %s\n", xy, fields[i]:get_name(), tostring(value));
-- end -- end
-- end); -- end);
@@ -364,7 +371,7 @@ function this.init_dependencies()
buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity"); buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity");
singletons = require("MHR_Overlay.Game_Handler.singletons"); singletons = require("MHR_Overlay.Game_Handler.singletons");
players = require("MHR_Overlay.Damage_Meter.players"); players = require("MHR_Overlay.Damage_Meter.players");
consumables = require("MHR_Overlay.Buffs.consumables"); item_buffs = require("MHR_Overlay.Buffs.item_buffs");
melody_effects = require("MHR_Overlay.Buffs.melody_effects"); melody_effects = require("MHR_Overlay.Buffs.melody_effects");
utils = require("MHR_Overlay.Misc.utils"); utils = require("MHR_Overlay.Misc.utils");
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");

View File

@@ -208,24 +208,24 @@ end
function this.update_dango_insurance() function this.update_dango_insurance()
if singletons.player_manager == nil then if singletons.player_manager == nil then
error_handler.report("consumables.update_dango_insurance", "Failed to access Data: player_manager"); error_handler.report("dango_skills.update_dango_insurance", "Failed to access Data: player_manager");
return; return;
end end
if singletons.quest_manager == nil then if singletons.quest_manager == nil then
error_handler.report("consumables.update_dango_insurance", "Failed to access Data: quest_manager"); error_handler.report("dango_skills.update_dango_insurance", "Failed to access Data: quest_manager");
return; return;
end end
local player_skill_list_array = get_player_skill_method:call(singletons.player_manager); local player_skill_list_array = get_player_skill_method:call(singletons.player_manager);
if player_skill_list_array == nil then if player_skill_list_array == nil then
error_handler.report("consumables.update_dango_insurance", "Failed to access Data: player_skill_list_array"); error_handler.report("dango_skills.update_dango_insurance", "Failed to access Data: player_skill_list_array");
return; return;
end end
local player_skill_list_array_length = get_length_method:call(player_skill_list_array); local player_skill_list_array_length = get_length_method:call(player_skill_list_array);
if player_skill_list_array_length == nil then if player_skill_list_array_length == nil then
error_handler.report("consumables.update_dango_insurance", "Failed to access Data: player_skill_array_list_length"); error_handler.report("dango_skills.update_dango_insurance", "Failed to access Data: player_skill_array_list_length");
return; return;
end end
@@ -240,13 +240,13 @@ function this.update_dango_insurance()
local player_skill_list = get_value_method:call(player_skill_list_array, player_id); local player_skill_list = get_value_method:call(player_skill_list_array, player_id);
if player_skill_list_array_length == nil then if player_skill_list_array_length == nil then
error_handler.report("consumables.update_dango_insurance", "Failed to access Data: player_skill_list No. " .. tostring(player_id)); error_handler.report("dango_skills.update_dango_insurance", "Failed to access Data: player_skill_list No. " .. tostring(player_id));
goto continue; goto continue;
end end
local kitchen_skill = has_kitchen_skill_method:call(player_skill_list, dango_ids.dango_insurance); local kitchen_skill = has_kitchen_skill_method:call(player_skill_list, dango_ids.dango_insurance);
if kitchen_skill == nil then if kitchen_skill == nil then
error_handler.report("consumables.update_dango_insurance", "Failed to access Data: kitchen_skill No. " .. tostring(player_id)); error_handler.report("dango_skills.update_dango_insurance", "Failed to access Data: kitchen_skill No. " .. tostring(player_id));
goto continue; goto continue;
end end
@@ -260,13 +260,13 @@ 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("consumables.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");
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("consumables.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");
return; return;
end end

View File

@@ -9,7 +9,7 @@ local utils;
local language; local language;
local error_handler; local error_handler;
local env_creature; local env_creature;
local consumables; local item_buffs;
local sdk = sdk; local sdk = sdk;
local tostring = tostring; local tostring = tostring;
@@ -50,7 +50,9 @@ this.list = {
-- peepersects = nil, -- peepersects = nil,
cutterfly = nil, cutterfly = nil,
ruby_wirebug = nil, ruby_wirebug = nil,
gold_wirebug = nil gold_wirebug = nil,
red_lampsquid = nil,
yellow_lampsquid = nil
}; };
this.peepersects_duration = 90; this.peepersects_duration = 90;
@@ -61,6 +63,7 @@ local marionette_mode_types = { "ruby_wirebug", "gold_wirebug" };
local butterflame_attack_up = 25; local butterflame_attack_up = 25;
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager"); local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
local get_player_data_method = player_manager_type_def:get_method("get_PlayerData"); local get_player_data_method = player_manager_type_def:get_method("get_PlayerData");
local get_ref_item_parameter_method = player_manager_type_def:get_method("get_RefItemParameter"); local get_ref_item_parameter_method = player_manager_type_def:get_method("get_RefItemParameter");
@@ -80,6 +83,11 @@ local atk_up_buff_second_field = player_data_type_def:get_field("_AtkUpBuffSecon
local atk_up_buff_second_timer_field = player_data_type_def:get_field("_AtkUpBuffSecondTimer"); local atk_up_buff_second_timer_field = player_data_type_def:get_field("_AtkUpBuffSecondTimer");
-- Stinkmink -- Stinkmink
local lead_enemy_timer_field = player_data_type_def:get_field("_LeadEnemyTimer"); local lead_enemy_timer_field = player_data_type_def:get_field("_LeadEnemyTimer");
-- Red Lampsquid
local atk_up_ec_second_timer_field = player_data_type_def:get_field("_AtkUpEcSecondTimer");
-- Yellow Lampsquid
local def_up_ec_second_timer_field = player_data_type_def:get_field("_DefUpEcSecondTimer");
local player_quest_base_type_def = sdk.find_type_definition("snow.player.PlayerQuestBase"); local player_quest_base_type_def = sdk.find_type_definition("snow.player.PlayerQuestBase");
-- Ruby/Gold Wirebugs -- Ruby/Gold Wirebugs
@@ -100,6 +108,14 @@ function this.update(player, player_data, item_parameter)
buffs.update_generic_buff(this.list, endemic_life_buffs_type_name, "stinkmink", this.get_endemic_life_name, buffs.update_generic_buff(this.list, endemic_life_buffs_type_name, "stinkmink", this.get_endemic_life_name,
nil, nil, player_data, lead_enemy_timer_field); nil, nil, player_data, lead_enemy_timer_field);
buffs.update_generic_buff(this.list, endemic_life_buffs_type_name, "red_lampsquid", this.get_endemic_life_name,
nil, nil, player_data, atk_up_ec_second_timer_field);
buffs.update_generic_buff(this.list, endemic_life_buffs_type_name, "yellow_lampsquid", this.get_endemic_life_name,
nil, nil, player_data, def_up_ec_second_timer_field);
end end
function this.update_ruby_and_gold_wirebugs(player, player_data) function this.update_ruby_and_gold_wirebugs(player, player_data)
@@ -127,7 +143,7 @@ end
function this.update_butterflame(player_data) 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("consumables.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");
return; return;
end end
@@ -143,7 +159,7 @@ end
function this.update_peepersects(player_data) function this.update_peepersects(player_data)
local stamina_up_buff_second_timer = stamina_up_buff_second_timer_field:get_data(player_data); local stamina_up_buff_second_timer = stamina_up_buff_second_timer_field:get_data(player_data);
if stamina_up_buff_second_timer == nil then if stamina_up_buff_second_timer == nil then
error_handler.report("consumables.update_peepersects", "Failed to access Data: stamina_up_buff_second_timer"); error_handler.report("item_buffs.update_peepersects", "Failed to access Data: stamina_up_buff_second_timer");
return; return;
end end
@@ -155,7 +171,7 @@ function this.update_peepersects(player_data)
local timer = stamina_up_buff_second_timer / 60; local timer = stamina_up_buff_second_timer / 60;
local peepersects_buff = this.list.peepersects; local peepersects_buff = this.list.peepersects;
if peepersects_buff == nil and consumables.list.dash_juice ~= nil and timer <= consumables.list.dash_juice.timer then if peepersects_buff == nil and item_buffs.list.dash_juice ~= nil and timer <= item_buffs.list.dash_juice.timer then
return; return;
end end
@@ -196,7 +212,7 @@ function this.init_dependencies()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
error_handler = require("MHR_Overlay.Misc.error_handler"); error_handler = require("MHR_Overlay.Misc.error_handler");
env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); env_creature = require("MHR_Overlay.Endemic_Life.env_creature");
consumables = require("MHR_Overlay.Buffs.consumables"); item_buffs = require("MHR_Overlay.Buffs.item_buffs");
end end
function this.init_module() function this.init_module()

View File

@@ -56,7 +56,7 @@ this.list = {
gourmet_fish = nil, gourmet_fish = nil,
}; };
local consumable_ids = { local item_ids = {
demondrug = 68157917, demondrug = 68157917,
mega_demondrug = 68157918, mega_demondrug = 68157918,
armorskin = 68157922, armorskin = 68157922,
@@ -67,10 +67,12 @@ local consumable_ids = {
hardshell_powder = 68157925, hardshell_powder = 68157925,
immunizer = 68157911, immunizer = 68157911,
--dash_juice = 68157913, --dash_juice = 68157913,
gourmet_fish = 68157909 gourmet_fish = 68157909,
demon_ammo = 68157595,
armor_ammo = 68157596
} }
local consumables_type_name = "consumables"; local item_buffs_type_name = "item_buffs";
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager"); local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
local get_player_data_method = player_manager_type_def:get_method("get_PlayerData"); local get_player_data_method = player_manager_type_def:get_method("get_PlayerData");
@@ -108,6 +110,10 @@ local def_up_item_second_timer_field = player_data_type_def:get_field("_DefUpIte
local vitalizer_timer_field = player_data_type_def:get_field("_VitalizerTimer"); local vitalizer_timer_field = player_data_type_def:get_field("_VitalizerTimer");
-- Gourmet Fish -- Gourmet Fish
local fish_regene_enable_field = player_data_type_def:get_field("_FishRegeneEnableTimer"); local fish_regene_enable_field = player_data_type_def:get_field("_FishRegeneEnableTimer");
-- Demon Ammo
local kijin_bullet_timer_field = player_data_type_def:get_field("_KijinBulletTimer");
-- Armor Ammo
local kouka_bullet_timer_field = player_data_type_def:get_field("_KoukaBulletTimer");
local data_shortcut_type_def = sdk.find_type_definition("snow.data.DataShortcut"); local data_shortcut_type_def = sdk.find_type_definition("snow.data.DataShortcut");
local get_name_method = data_shortcut_type_def:get_method("getName(snow.data.ContentsIdSystem.ItemId)"); local get_name_method = data_shortcut_type_def:get_method("getName(snow.data.ContentsIdSystem.ItemId)");
@@ -115,32 +121,38 @@ local get_name_method = data_shortcut_type_def:get_method("getName(snow.data.Con
function this.update(player_data) function this.update(player_data)
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("consumables.update", "Failed to access Data: item_parameter"); error_handler.report("item_buffs.update", "Failed to access Data: item_parameter");
return; return;
end end
local cached_language = language.current_language local cached_language = language.current_language;
this.update_demondrug(player_data, item_parameter); this.update_demondrug(player_data, item_parameter);
this.update_armorskin(player_data, item_parameter); this.update_armorskin(player_data, item_parameter);
buffs.update_generic_buff(this.list, consumables_type_name, "demon_powder", this.get_consumable_name, buffs.update_generic_buff(this.list, item_buffs_type_name, "demon_powder", this.get_item_name,
player_data, atk_up_item_second_field, player_data, atk_up_item_second_timer_field, item_parameter, demondrug_powder_timer_field); player_data, atk_up_item_second_field, player_data, atk_up_item_second_timer_field, item_parameter, demondrug_powder_timer_field);
buffs.update_generic_buff(this.list, consumables_type_name, "hardshell_powder", this.get_consumable_name, buffs.update_generic_buff(this.list, item_buffs_type_name, "hardshell_powder", this.get_item_name,
player_data, def_up_item_second_field, player_data, def_up_item_second_timer_field, item_parameter, armorskin_powder_timer_field); player_data, def_up_item_second_field, player_data, def_up_item_second_timer_field, item_parameter, armorskin_powder_timer_field);
buffs.update_generic_buff(this.list, consumables_type_name, "immunizer", this.get_consumable_name, buffs.update_generic_buff(this.list, item_buffs_type_name, "immunizer", this.get_item_name,
nil, nil, player_data, vitalizer_timer_field, item_parameter, vitalizer_timer_const_field); nil, nil, player_data, vitalizer_timer_field, item_parameter, vitalizer_timer_const_field);
buffs.update_generic_buff(this.list, consumables_type_name, "gourmet_fish", this.get_consumable_name, buffs.update_generic_buff(this.list, item_buffs_type_name, "gourmet_fish", this.get_item_name,
nil, nil, player_data, fish_regene_enable_field, nil, nil); nil, nil, player_data, fish_regene_enable_field);
buffs.update_generic_buff(this.list, item_buffs_type_name, "demon_ammo", this.get_item_name,
nil, nil, player_data, kijin_bullet_timer_field);
buffs.update_generic_buff(this.list, item_buffs_type_name, "armor_ammo", this.get_item_name,
nil, nil, player_data, kouka_bullet_timer_field);
end end
function this.update_demondrug(player_data, item_parameter) 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("consumables.update_demondrug", "Failed to access Data: demondrug_value"); error_handler.report("item_buffs.update_demondrug", "Failed to access Data: demondrug_value");
return; return;
end end
@@ -152,33 +164,33 @@ 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("consumables.update_demondrug", "Failed to access Data: demondrug_const_value"); error_handler.report("item_buffs.update_demondrug", "Failed to access Data: demondrug_const_value");
return; return;
end end
local mega_demondrug_const_value = great_demondrug_atk_up_field:get_data(item_parameter); local mega_demondrug_const_value = great_demondrug_atk_up_field:get_data(item_parameter);
if mega_demondrug_const_value == nil then if mega_demondrug_const_value == nil then
error_handler.report("consumables.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");
return; return;
end end
local consumable_key; local item_key;
if demondrug_value == demondrug_const_value then if demondrug_value == demondrug_const_value then
consumable_key = "demondrug"; item_key = "demondrug";
this.list.mega_demondrug = nil; this.list.mega_demondrug = nil;
elseif demondrug_value == mega_demondrug_const_value then elseif demondrug_value == mega_demondrug_const_value then
consumable_key = "mega_demondrug"; item_key = "mega_demondrug";
this.list.demondrug = nil; this.list.demondrug = nil;
end end
buffs.update_generic(this.list, consumables_type_name, consumable_key, this.get_consumable_name); buffs.update_generic(this.list, item_buffs_type_name, item_key, this.get_item_name);
end end
function this.update_armorskin(player_data, item_parameter) 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("consumables.update_armorskin", "Failed to access Data: armorskin_value"); error_handler.report("item_buffs.update_armorskin", "Failed to access Data: armorskin_value");
return; return;
end end
@@ -190,37 +202,37 @@ 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("consumables.update_armorskin", "Failed to access Data: armorskin_const_value"); error_handler.report("item_buffs.update_armorskin", "Failed to access Data: armorskin_const_value");
return; return;
end end
local mega_armorskin_const_value = great_armorskin_def_up_field:get_data(item_parameter); local mega_armorskin_const_value = great_armorskin_def_up_field:get_data(item_parameter);
if mega_armorskin_const_value == nil then if mega_armorskin_const_value == nil then
error_handler.report("consumables.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");
return; return;
end end
local consumable_key; local item_key;
if armorskin_value == armorskin_const_value then if armorskin_value == armorskin_const_value then
consumable_key = "armorskin"; item_key = "armorskin";
this.list.mega_armorskin = nil; this.list.mega_armorskin = nil;
elseif armorskin_value == mega_armorskin_const_value then elseif armorskin_value == mega_armorskin_const_value then
consumable_key = "mega_armorskin"; item_key = "mega_armorskin";
this.list.armorskin = nil; this.list.armorskin = nil;
end end
buffs.update_generic(this.list, consumables_type_name, consumable_key, this.get_consumable_name); buffs.update_generic(this.list, item_buffs_type_name, item_key, this.get_item_name);
end end
function this.get_consumable_name(consumable_key) function this.get_item_name(item_key)
local consumable_name = get_name_method:call(nil, consumable_ids[consumable_key]); local item_name = get_name_method:call(nil, item_ids[item_key]);
if consumable_name == nil then if item_name == nil then
error_handler.report("consumables.get_consumable_name", string.format("Failed to access Data: %s_name", consumable_key)); error_handler.report("item_buffs.get_item_name", string.format("Failed to access Data: %s_name", item_key));
return consumable_key; return item_key;
end end
return consumable_name; return item_name;
end end
function this.init_dependencies() function this.init_dependencies()

View File

@@ -9,7 +9,7 @@ local utils;
local language; local language;
local error_handler; local error_handler;
local endemic_life_buffs; local endemic_life_buffs;
local consumables; local item_buffs;
local sdk = sdk; local sdk = sdk;
local tostring = tostring; local tostring = tostring;
@@ -116,7 +116,7 @@ function this.init_dependencies()
language = require("MHR_Overlay.Misc.language"); language = require("MHR_Overlay.Misc.language");
error_handler = require("MHR_Overlay.Misc.error_handler"); error_handler = require("MHR_Overlay.Misc.error_handler");
endemic_life_buffs = require("MHR_Overlay.Buffs.endemic_life_buffs"); endemic_life_buffs = require("MHR_Overlay.Buffs.endemic_life_buffs");
consumables = require("MHR_Overlay.Buffs.consumables"); item_buffs = require("MHR_Overlay.Buffs.item_buffs");
end end
function this.init_module() function this.init_module()

View File

@@ -80,7 +80,8 @@ this.list = {
powder_mantle_blue = nil, powder_mantle_blue = nil,
strife = nil, strife = nil,
inspiration = nil, inspiration = nil,
blood_awakening = nil blood_awakening = nil,
partbreaker = nil
}; };
local skills_type_name = "skills"; local skills_type_name = "skills";
@@ -166,7 +167,7 @@ local skill_data_list = {
-- blast_resistance = { id = 78 }, -- blast_resistance = { id = 78 },
-- botanist = { id = 79 }, -- botanist = { id = 79 },
-- geologist = { id = 80 }, -- geologist = { id = 80 },
-- partbreaker = { id = 81 }, partbreaker = { id = 81, level = 0, is_equipped = false },
-- capture_master = { id = 82 }, -- capture_master = { id = 82 },
-- carving_master = { id = 83 }, -- carving_master = { id = 83 },
-- good_luck = { id = 84 }, -- good_luck = { id = 84 },
@@ -206,10 +207,10 @@ local skill_data_list = {
-- defiance = { id = 118 }, -- defiance = { id = 118 },
-- sneak_attack = { id = 119 }, -- sneak_attack = { id = 119 },
adrenaline_rush = { id = 120 }, adrenaline_rush = { id = 120 },
embolden = { id = 121 }, embolden = { id = 121 },
-- redirection = { id = 122 }, -- redirection = { id = 122 },
spiribirds_call = { id = 123 }, spiribirds_call = { id = 123 },
-- charge_master = { id = 124 }, charge_master = { id = 124 },
-- foray = { id = 125 }, -- foray = { id = 125 },
-- tune_up = { id = 126 }, -- tune_up = { id = 126 },
grinder_s = { id = 127 }, grinder_s = { id = 127 },
@@ -394,6 +395,7 @@ function this.update(player, player_data, weapon_type)
this.update_powder_mantle(player_data); this.update_powder_mantle(player_data);
this.update_blood_awakening(player, player_data); this.update_blood_awakening(player, player_data);
this.update_generic_skill("dereliction", player_data, symbiosis_skill_lost_vital_field, this.update_generic_skill("dereliction", player_data, symbiosis_skill_lost_vital_field,
nil, nil, nil, nil, true, nil, dereliction_breakpoints); nil, nil, nil, nil, true, nil, dereliction_breakpoints);
@@ -425,6 +427,7 @@ function this.update(player, player_data, weapon_type)
this.update_generic_skill("berserk", player, get_is_enable_equip_skill_225_method); this.update_generic_skill("berserk", player, get_is_enable_equip_skill_225_method);
this.update_generic_skill("dragon_conversion_elemental_attack_up", player, equip_skill_229_sum_resist_field); this.update_generic_skill("dragon_conversion_elemental_attack_up", player, equip_skill_229_sum_resist_field);
this.update_generic_skill("dragon_conversion_elemental_res_up", player, equip_skill_229_use_up_flag_field); this.update_generic_skill("dragon_conversion_elemental_res_up", player, equip_skill_229_use_up_flag_field);
this.update_generic_skill("partbreaker", nil, nil, nil, nil, nil, nil, true);
this.update_generic_skill("strife", player, get_affinity_equip_skill_233_method, this.update_generic_skill("strife", player, get_affinity_equip_skill_233_method,
nil, nil, nil, nil, nil, nil, strife_breakpoints[skill_data_list.strife.level]); nil, nil, nil, nil, nil, nil, strife_breakpoints[skill_data_list.strife.level]);
@@ -458,6 +461,8 @@ function this.update_equipped_skill_data(player)
local re_skill_data = get_skill_data_method:call(player_skill_list, skill_data.id); local re_skill_data = get_skill_data_method:call(player_skill_list, skill_data.id);
if re_skill_data == nil then if re_skill_data == nil then
skill_data.is_equipped = false;
skill_data.level = 0;
goto continue; goto continue;
end end

View File

@@ -93,7 +93,9 @@ this.list = {
all_extracts_mix = nil, all_extracts_mix = nil,
-- Bow -- Bow
herculean_draw = nil, herculean_draw = nil,
bolt_boost = nil bolt_boost = nil,
arc_shot_affinity = nil,
arc_shot_brace = nil
}; };
local weapon_skill_ids = { local weapon_skill_ids = {
@@ -391,6 +393,11 @@ local wire_buff_attack_up_timer_field = bow_type_def:get_field("_WireBuffAttackU
-- Bolt Boost -- Bolt Boost
local wire_buff_arrow_up_timer_field = bow_type_def:get_field("_WireBuffArrowUpTimer"); local wire_buff_arrow_up_timer_field = bow_type_def:get_field("_WireBuffArrowUpTimer");
-- Arc Shot: Affinity
local crit_chance_bow_timer_field = player_data_type_def:get_field("_CritChanceUpBowTimer");
-- Arc Shot: Brace
local super_armor_item_timer_field = player_data_type_def:get_field("_SuperArmorItemTimer");
local player_user_data_bow_type_def = get_ref_player_user_data_bow_method:get_return_type(); local player_user_data_bow_type_def = get_ref_player_user_data_bow_method:get_return_type();
local get_wire_buff_attack_up_time_method = player_user_data_bow_type_def:get_method("get_WireBuffAttackUpTime"); local get_wire_buff_attack_up_time_method = player_user_data_bow_type_def:get_method("get_WireBuffAttackUpTime");
local get_arrow_up_time_method = player_user_data_bow_type_def:get_method("get_ArrowUpBufTime"); local get_arrow_up_time_method = player_user_data_bow_type_def:get_method("get_ArrowUpBufTime");
@@ -458,7 +465,7 @@ function this.update(player, player_data, weapon_type)
this.update_insect_glaive_skills(player); this.update_insect_glaive_skills(player);
else else
this.update_bow_skills(player); this.update_bow_skills(player, player_data);
end end
end end
@@ -1155,7 +1162,7 @@ function this.update_extract(player, extract_key, time_holder, max_time_holder)
buffs.update_generic(this.list, weapon_skills_type_name, extract_key, this.get_weapon_skill_name, 1, extractive_time, duration); buffs.update_generic(this.list, weapon_skills_type_name, extract_key, this.get_weapon_skill_name, 1, extractive_time, duration);
end end
function this.update_bow_skills(player) function this.update_bow_skills(player, player_data)
local player_user_data_bow = get_ref_player_user_data_bow_method:call(player); local player_user_data_bow = get_ref_player_user_data_bow_method:call(player);
if player_user_data_bow == nil then if player_user_data_bow == nil then
error_handler.report("weapon_skills.update_extract", "Failed to access Data: player_user_data_bow"); error_handler.report("weapon_skills.update_extract", "Failed to access Data: player_user_data_bow");
@@ -1164,6 +1171,14 @@ function this.update_bow_skills(player)
this.update_bow_skill(player, "herculean_draw", wire_buff_attack_up_timer_field, player_user_data_bow, get_wire_buff_attack_up_time_method); this.update_bow_skill(player, "herculean_draw", wire_buff_attack_up_timer_field, player_user_data_bow, get_wire_buff_attack_up_time_method);
this.update_bow_skill(player, "bolt_boost", wire_buff_arrow_up_timer_field, player_user_data_bow, get_arrow_up_time_method); this.update_bow_skill(player, "bolt_boost", wire_buff_arrow_up_timer_field, player_user_data_bow, get_arrow_up_time_method);
buffs.update_generic_buff(this.list, weapon_skills_type_name, "arc_shot_affinity", this.get_weapon_skill_name,
nil, nil, player_data, crit_chance_bow_timer_field);
buffs.update_generic_buff(this.list, weapon_skills_type_name, "arc_shot_brace", this.get_weapon_skill_name,
nil, nil, player_data, super_armor_item_timer_field);
end end
function this.update_bow_skill(player, bow_skill_key, timer_holder, player_user_data_bow, max_time_holder) function this.update_bow_skill(player, bow_skill_key, timer_holder, player_user_data_bow, max_time_holder)

View File

@@ -46,6 +46,8 @@ this.creature_ids = {
stinkmink = 23, stinkmink = 23,
butterflame = 28, butterflame = 28,
peepersects = 29, peepersects = 29,
red_lampsquid = 34,
yellow_lampsquid = 35,
cutterfly = 50, cutterfly = 50,
ruby_wirebug = 62, ruby_wirebug = 62,
gold_wirebug = 63, gold_wirebug = 63,

View File

@@ -277,7 +277,9 @@ this.default_language = {
all_extracts_mix = "All Extracts Mix", all_extracts_mix = "All Extracts Mix",
-- Bow -- Bow
herculean_draw = "Herculean Draw", herculean_draw = "Herculean Draw",
--bolt_boost = "Bolt Boost" --bolt_boost = "Bolt Boost",
arc_shot_affinity = "Arc Shot: Affinity",
arc_shot_brace = "Arc Shot: Brace",
}, },
misc_buffs = { misc_buffs = {
@@ -305,7 +307,7 @@ this.default_language = {
otomo = "Buddy", otomo = "Buddy",
servant = "Follower", servant = "Follower",
lv = "Lv." lv = ""
}, },
customization_menu = { customization_menu = {

View File

@@ -3,7 +3,7 @@ local this = {};
local buff_UI_entity; local buff_UI_entity;
local config; local config;
local buffs; local buffs;
local consumables; local item_buffs;
local melody_effects; local melody_effects;
local endemic_life_buff; local endemic_life_buff;
local screen; local screen;
@@ -56,13 +56,13 @@ function this.update()
local _displayed_buffs = {}; local _displayed_buffs = {};
for key, consumable in pairs(consumables.list) do for key, item_buff in pairs(item_buffs.list) do
if not consumable.is_active then if not item_buff.is_active then
goto continue; goto continue;
end end
table.insert(_displayed_buffs, consumable); table.insert(_displayed_buffs, item_buff);
::continue:: ::continue::
end end
@@ -224,7 +224,7 @@ end
function this.init_dependencies() function this.init_dependencies()
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity"); buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity");
consumables = require("MHR_Overlay.Buffs.consumables"); item_buffs = require("MHR_Overlay.Buffs.item_buffs");
melody_effects = require("MHR_Overlay.Buffs.melody_effects"); melody_effects = require("MHR_Overlay.Buffs.melody_effects");
buffs = require("MHR_Overlay.Buffs.buffs"); buffs = require("MHR_Overlay.Buffs.buffs");
--singletons = require("MHR_Overlay.Game_Handler.singletons"); --singletons = require("MHR_Overlay.Game_Handler.singletons");

View File

@@ -3,7 +3,7 @@ local this = {};
local buff_UI_entity; local buff_UI_entity;
local config; local config;
local buffs; local buffs;
local consumables; local item_buffs;
local melody_effects; local melody_effects;
local endemic_life_buff; local endemic_life_buff;
local screen; local screen;
@@ -293,7 +293,7 @@ end
function this.init_dependencies() function this.init_dependencies()
config = require("MHR_Overlay.Misc.config"); config = require("MHR_Overlay.Misc.config");
buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity"); buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity");
consumables = require("MHR_Overlay.Buffs.consumables"); item_buffs = require("MHR_Overlay.Buffs.item_buffs");
melody_effects = require("MHR_Overlay.Buffs.melody_effects"); melody_effects = require("MHR_Overlay.Buffs.melody_effects");
buffs = require("MHR_Overlay.Buffs.buffs"); buffs = require("MHR_Overlay.Buffs.buffs");
--singletons = require("MHR_Overlay.Game_Handler.singletons"); --singletons = require("MHR_Overlay.Game_Handler.singletons");

View File

@@ -3,7 +3,7 @@
"HP": "HP:", "HP": "HP:",
"buildup": "Buildup:", "buildup": "Buildup:",
"gold": "Gold", "gold": "Gold",
"lv": "Lv.", "lv": "",
"mini": "Mini", "mini": "Mini",
"otomo": "Buddy", "otomo": "Buddy",
"part_anomaly_core": "Anomaly Core", "part_anomaly_core": "Anomaly Core",
@@ -446,7 +446,6 @@
"skills": { "skills": {
"dragon_conversion_elemental_attack_up": "Dragon Conversion Elem. Atk Up", "dragon_conversion_elemental_attack_up": "Dragon Conversion Elem. Atk Up",
"dragon_conversion_elemental_res_up": "Dragon Conversion Elem. Res Up", "dragon_conversion_elemental_res_up": "Dragon Conversion Elem. Res Up",
"kushala_daora_soul": "Kushala Daora Soul",
"powder_mantle_blue": "Powder Mantle (Blue)", "powder_mantle_blue": "Powder Mantle (Blue)",
"powder_mantle_red": "Powder Mantle (Red)" "powder_mantle_red": "Powder Mantle (Red)"
}, },
@@ -472,6 +471,8 @@
"weapon_skills": { "weapon_skills": {
"all_extracts_mix": "All Extracts Mix", "all_extracts_mix": "All Extracts Mix",
"amped_state": "Amped State", "amped_state": "Amped State",
"arc_shot_affinity": "Arc Shot: Affinity",
"arc_shot_brace": "Arc Shot: Brace",
"archdemon_mode": "Archdemon Mode", "archdemon_mode": "Archdemon Mode",
"axe_heavy_slam": "Axe: Heavy Slam", "axe_heavy_slam": "Axe: Heavy Slam",
"element_boost": "Element Boost", "element_boost": "Element Boost",

View File

@@ -609,6 +609,8 @@
"all_extracts_mix": "All Extracts Mix", "all_extracts_mix": "All Extracts Mix",
"amped_state": "Amped State", "amped_state": "Amped State",
"anchor_rage": "Anchor Rage", "anchor_rage": "Anchor Rage",
"arc_shot_affinity": "Arc Shot: Affinity",
"arc_shot_brace": "Arc Shot: Brace",
"archdemon_mode": "Archdemon Mode", "archdemon_mode": "Archdemon Mode",
"axe_heavy_slam": "Axe: Heavy Slam", "axe_heavy_slam": "Axe: Heavy Slam",
"bead_of_resonance": "Bead of Resonance", "bead_of_resonance": "Bead of Resonance",

View File

@@ -610,6 +610,8 @@
"all_extracts_mix": "All Extracts Mix", "all_extracts_mix": "All Extracts Mix",
"amped_state": "Amped State", "amped_state": "Amped State",
"anchor_rage": "Anchor Rage", "anchor_rage": "Anchor Rage",
"arc_shot_affinity": "Arc Shot: Affinity",
"arc_shot_brace": "Arc Shot: Brace",
"archdemon_mode": "Archdemon Mode", "archdemon_mode": "Archdemon Mode",
"axe_heavy_slam": "Axe: Heavy Slam", "axe_heavy_slam": "Axe: Heavy Slam",
"bead_of_resonance": "Bead of Resonance", "bead_of_resonance": "Bead of Resonance",

View File

@@ -606,6 +606,8 @@
"all_extracts_mix": "All Extracts Mix", "all_extracts_mix": "All Extracts Mix",
"amped_state": "Amped State", "amped_state": "Amped State",
"anchor_rage": "Anchor Rage", "anchor_rage": "Anchor Rage",
"arc_shot_affinity": "Arc Shot: Affinity",
"arc_shot_brace": "Arc Shot: Brace",
"archdemon_mode": "Archdemon Mode", "archdemon_mode": "Archdemon Mode",
"axe_heavy_slam": "Axe: Heavy Slam", "axe_heavy_slam": "Axe: Heavy Slam",
"bead_of_resonance": "Bead of Resonance", "bead_of_resonance": "Bead of Resonance",

View File

@@ -610,6 +610,8 @@
"all_extracts_mix": "All Extracts Mix", "all_extracts_mix": "All Extracts Mix",
"amped_state": "Amped State", "amped_state": "Amped State",
"anchor_rage": "Anchor Rage", "anchor_rage": "Anchor Rage",
"arc_shot_affinity": "Arc Shot: Affinity",
"arc_shot_brace": "Arc Shot: Brace",
"archdemon_mode": "Archdemon Mode", "archdemon_mode": "Archdemon Mode",
"axe_heavy_slam": "Axe: Heavy Slam", "axe_heavy_slam": "Axe: Heavy Slam",
"bead_of_resonance": "Bead of Resonance", "bead_of_resonance": "Bead of Resonance",

View File

@@ -610,6 +610,8 @@
"all_extracts_mix": "All Extracts Mix", "all_extracts_mix": "All Extracts Mix",
"amped_state": "Amped State", "amped_state": "Amped State",
"anchor_rage": "Anchor Rage", "anchor_rage": "Anchor Rage",
"arc_shot_affinity": "Arc Shot: Affinity",
"arc_shot_brace": "Arc Shot: Brace",
"archdemon_mode": "Archdemon Mode", "archdemon_mode": "Archdemon Mode",
"axe_heavy_slam": "Axe: Heavy Slam", "axe_heavy_slam": "Axe: Heavy Slam",
"bead_of_resonance": "Bead of Resonance", "bead_of_resonance": "Bead of Resonance",