fog/core/overriders_shovels.lua
2020-07-31 20:29:35 +02:00

79 lines
2.0 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--[[
Fate of the Gods - Adds roleplay mechanics.
Copyright © 2020 Hamlet and contributors.
Licensed under the EUPL, Version 1.2 or as soon they will be
approved by the European Commission subsequent versions of the
EUPL (the "Licence");
You may not use this work except in compliance with the Licence.
You may obtain a copy of the Licence at:
https://joinup.ec.europa.eu/software/page/eupl
https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32017D0863
Unless required by applicable law or agreed to in writing,
software distributed under the Licence is distributed on an
"AS IS" basis,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
See the Licence for the specific language governing permissions
and limitations under the Licence.
--]]
--
-- Procedure
--
local pr_OverrideShovels = function()
local t_list = {
'default:shovel_wood', 'default:shovel_stone', 'default:shovel_bronze',
'default:shovel_steel', 'default:shovel_mese', 'default:shovel_diamond'
}
for i_element = 1, 6 do
minetest.override_item(t_list[i_element], {
after_use = function(itemstack, user, node, digparams)
itemstack:add_wear(digparams.wear)
if (user:is_player() == true) then
local s_USER_NAME = user:get_player_name()
local s_KEY_XP = s_USER_NAME .. '_i_xp_shovel'
local s_KEY_RANK = s_USER_NAME .. '_i_rank_shovel'
local i_CURRENT_XP = 0
local i_CURRENT_CLASS = 0
-- Add the new experience points
fog.pr_ToolXPwrite(s_KEY_XP)
-- Update the associated variable
i_CURRENT_XP = fog.fn_ToolXPread(s_KEY_XP)
-- Update the level rank
i_CURRENT_CLASS = fog.fn_ToolClassCheck(i_CURRENT_XP)
-- Save the rank for the current tool
fog.pr_ToolLVLwrite(s_KEY_RANK, i_CURRENT_CLASS)
-- Update the wield item tool capabilities
fog.pr_ToolOverrider(itemstack, i_CURRENT_CLASS, 'shovel')
-- Update the character's sheet
fog.pr_OverrideFormspec()
end
return itemstack
end
})
end
end
--
-- Main body
--
pr_OverrideShovels()