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_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");
function this.new(type, key, name, level, duration)
@@ -154,12 +153,6 @@ function this.update()
return;
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);
if weapon_type == nil then
error_handler.report("skills.update", "Failed to access Data: weapon_type");
@@ -173,8 +166,8 @@ function this.update()
rampage_skills.update(master_player_data);
if not is_player_lobby_base then
skills.update(master_player, master_player_data, weapon_type, player_skill_list);
dango_skills.update(master_player, master_player_data, player_skill_list);
skills.update(master_player, master_player_data, weapon_type);
dango_skills.update(master_player, master_player_data);
endemic_life_buffs.update(master_player, master_player_data);
abnormal_statuses.update(master_player, master_player_data);
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_value_method = system_array_type_def:get_method("GetValue(System.Int32)");
function this.update(player, player_data, player_skill_list)
if singletons.player_manager == nil then
error_handler.report("dango_skills.update", "Failed to access Data: player_manager");
return;
end
function this.update(player, player_data)
this.update_dango_adrenaline();
this.update_dango_hunter(player_data);
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_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
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 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)
this.update_equipped_skill_data(player, player_skill_list);
function this.update(player, player_data, weapon_type)
this.update_equipped_skill_data(player);
this.update_wind_mantle(player, weapon_type);
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);
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
if skill_data.is_equipped == nil then
goto continue;