Refactor player_skill_list

This commit is contained in:
GreenComfyTea
2023-09-19 13:50:21 +03:00
parent 43b2946939
commit 41f75d19d3
3 changed files with 13 additions and 18 deletions

View File

@@ -62,7 +62,6 @@ local get_player_data_method = player_base_type_def:get_method("get_PlayerData")
local player_lobby_base_type_def = sdk.find_type_definition("snow.player.PlayerLobbyBase"); local player_lobby_base_type_def = sdk.find_type_definition("snow.player.PlayerLobbyBase");
local player_base_type_def = sdk.find_type_definition("snow.player.PlayerBase"); local player_base_type_def = sdk.find_type_definition("snow.player.PlayerBase");
local get_player_skill_list_method = player_base_type_def:get_method("get_PlayerSkillList");
local player_weapon_type_field = player_base_type_def:get_field("_playerWeaponType"); local player_weapon_type_field = player_base_type_def:get_field("_playerWeaponType");
function this.new(type, key, name, level, duration) function this.new(type, key, name, level, duration)
@@ -154,12 +153,6 @@ function this.update()
return; return;
end end
local player_skill_list = get_player_skill_list_method:call(master_player);
if player_skill_list == nil then
error_handler.report("buffs.update", "Failed to access Data: player_skill_list");
return;
end
local weapon_type = player_weapon_type_field:get_data(master_player); local weapon_type = player_weapon_type_field:get_data(master_player);
if weapon_type == nil then if weapon_type == nil then
error_handler.report("skills.update", "Failed to access Data: weapon_type"); error_handler.report("skills.update", "Failed to access Data: weapon_type");
@@ -173,8 +166,8 @@ function this.update()
rampage_skills.update(master_player_data); rampage_skills.update(master_player_data);
if not is_player_lobby_base then if not is_player_lobby_base then
skills.update(master_player, master_player_data, weapon_type, player_skill_list); skills.update(master_player, master_player_data, weapon_type);
dango_skills.update(master_player, master_player_data, player_skill_list); dango_skills.update(master_player, master_player_data);
endemic_life_buffs.update(master_player, master_player_data); endemic_life_buffs.update(master_player, master_player_data);
abnormal_statuses.update(master_player, master_player_data); abnormal_statuses.update(master_player, master_player_data);
weapon_skills.update(master_player, master_player_data, weapon_type); weapon_skills.update(master_player, master_player_data, weapon_type);

View File

@@ -163,12 +163,7 @@ local system_array_type_def = sdk.find_type_definition("System.Array");
local get_length_method = system_array_type_def:get_method("get_Length"); local get_length_method = system_array_type_def:get_method("get_Length");
local get_value_method = system_array_type_def:get_method("GetValue(System.Int32)"); local get_value_method = system_array_type_def:get_method("GetValue(System.Int32)");
function this.update(player, player_data, player_skill_list) function this.update(player, player_data)
if singletons.player_manager == nil then
error_handler.report("dango_skills.update", "Failed to access Data: player_manager");
return;
end
this.update_dango_adrenaline(); this.update_dango_adrenaline();
this.update_dango_hunter(player_data); this.update_dango_hunter(player_data);
this.update_dango_insurance(); this.update_dango_insurance();

View File

@@ -322,6 +322,7 @@ local equip_skill_232_timer_field = player_data_type_def:get_field("_EquipSkill2
local player_base_type_def = sdk.find_type_definition("snow.player.PlayerBase"); local player_base_type_def = sdk.find_type_definition("snow.player.PlayerBase");
local player_weapon_type_field = player_base_type_def:get_field("_playerWeaponType"); local player_weapon_type_field = player_base_type_def:get_field("_playerWeaponType");
local get_player_skill_list_method = player_base_type_def:get_method("get_PlayerSkillList");
-- Latent Power -- Latent Power
local power_freedom_timer_field = player_base_type_def:get_field("_PowerFreedomTimer"); local power_freedom_timer_field = player_base_type_def:get_field("_PowerFreedomTimer");
@@ -373,8 +374,8 @@ local _equip_skill_216_bottle_up_timer_field = bow_type_def:get_field("_EquipSki
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.DataDef.PlEquipSkillId)"); local get_name_method = data_shortcut_type_def:get_method("getName(snow.data.DataDef.PlEquipSkillId)");
function this.update(player, player_data, weapon_type, player_skill_list) function this.update(player, player_data, weapon_type)
this.update_equipped_skill_data(player, player_skill_list); this.update_equipped_skill_data(player);
this.update_wind_mantle(player, weapon_type); this.update_wind_mantle(player, weapon_type);
this.update_maximum_might(player_data); this.update_maximum_might(player_data);
@@ -437,7 +438,13 @@ function this.update_generic_skill(skill_key, value_owner, value_holder, timer_o
value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints); value_owner, value_holder, timer_owner, timer_holder, is_infinite, minimal_value, level_breakpoints);
end end
function this.update_equipped_skill_data(player, player_skill_list) function this.update_equipped_skill_data(player)
local player_skill_list = get_player_skill_list_method:call(player);
if player_skill_list == nil then
error_handler.report("buffs.update", "Failed to access Data: player_skill_list");
return;
end
for skill_key, skill_data in pairs(skill_data_list) do for skill_key, skill_data in pairs(skill_data_list) do
if skill_data.is_equipped == nil then if skill_data.is_equipped == nil then
goto continue; goto continue;