diff --git a/override_3darmor.lua b/override_3darmor.lua index f7786eb..ee68f47 100644 --- a/override_3darmor.lua +++ b/override_3darmor.lua @@ -12,8 +12,7 @@ local get_item_group = minetest.get_item_group local old_save_armor_inventory = armor.save_armor_inventory local old_load_armor_inventory = armor.load_armor_inventory -armor.save_armor_inventory = function(self, player) - local _, inv = self:get_valid_player(player) +local function get_inventory_armor_shield(player, inv) local playername = player:get_player_name() -- Create new shield inv data. @@ -42,7 +41,7 @@ armor.save_armor_inventory = function(self, player) on_hasty_guard = def.on_hasty_guard } - return old_save_armor_inventory(self, player) + return end end end @@ -56,55 +55,18 @@ armor.save_armor_inventory = function(self, player) -- Remove un-used hud element. remove_text_center(player, "pvp_revamped:shield_pool") +end +armor.save_armor_inventory = function(self, player) + local _, inv = self:get_valid_player(player) + + get_inventory_armor_shield(player, inv) return old_save_armor_inventory(self, player) end armor.load_armor_inventory = function(self, player) local _, inv = self:get_valid_player(player) - local results = old_load_armor_inventory(self, player) - local playername = player:get_player_name() - -- Create new shield inv data. - if inv then - for i, stack in pairs(inv:get_list("armor")) do - if stack:get_count() == 1 then - local name = stack:get_name() - local armor_shield = get_item_group(name, "armor_shield") or 0 - - if armor_shield > 0 then - local def = stack:get_definition() - local groups = def.groups - - player_persistent_data[playername].inventory_armor_shield = { - name = name, - index = i, - block_pool = groups.block_pool, - duration = groups.duration, - block_cooldown = groups.block_cooldown, - hasty_guard_duration = groups.hasty_guard_duration, - groups = groups, - on_block_activate = def.on_block_activate, - on_block_deactivated = def.on_block_deactivated, - on_block_damage = def.on_block_damage, - on_guard_break = def.on_guard_break, - on_hasty_guard = def.on_hasty_guard - } - - return results - end - end - end - end - - local data = get_player_data(playername) - - data.shield = nil - player_data[playername] = data - player_persistent_data[playername].inventory_armor_shield = nil - - -- Remove un-used hud element. - remove_text_center(player, "pvp_revamped:shield_pool") - - return results + get_inventory_armor_shield(player, inv) + return old_load_armor_inventory(self, player) end diff --git a/overrides.lua b/overrides.lua index 5d73611..f65556f 100644 --- a/overrides.lua +++ b/overrides.lua @@ -20,7 +20,6 @@ local create_wield_shield = pvp_revamped.create_wield_shield local player_data = pvp_revamped.player_data local player_persistent_data = pvp_revamped.player_persistent_data local create_hud_text_center = pvp_revamped.create_hud_text_center -local remove_text_center = pvp_revamped.remove_text_center local clear_blockdata = pvp_revamped.clear_blockdata local clear_shielddata = pvp_revamped.clear_shielddata local shield_inv = pvp_revamped.shield_inv