mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2024-11-14 06:20:32 +01:00
3035e9660e
- MFF PClasses : Remove hunter armor bonus upon unassigning
82 lines
3.4 KiB
Lua
Executable File
82 lines
3.4 KiB
Lua
Executable File
------------------
|
|
-- Hunter class --
|
|
------------------
|
|
|
|
--
|
|
-- See https://github.com/Ombridride/minetest-minetestforfun-server/issues/114
|
|
--
|
|
|
|
local tmp = {}
|
|
|
|
pclasses.api.register_class("hunter", {
|
|
on_assigned = function(pname, inform)
|
|
if inform then
|
|
minetest.chat_send_player(pname, "You are now a hunter")
|
|
minetest.sound_play("pclasses_full_hunter", {to_player=pname, gain=1})
|
|
end
|
|
sprint.increase_maxstamina(pname, 10)
|
|
minetest.log("action", "[PClasses] Player " .. pname .. " become a hunter")
|
|
end,
|
|
on_unassigned = function(pname)
|
|
sprint.decrease_maxstamina(pname, 10)
|
|
if tmp[pname] then
|
|
sprint.decrease_maxstamina(pname, 10)
|
|
tmp[pname] = nil
|
|
end
|
|
end,
|
|
on_update = function(pname)
|
|
local reinforced = pclasses.api.util.does_wear_full_armor(pname, "reinforcedleather", true)
|
|
if reinforced then
|
|
if not tmp[pname] then
|
|
tmp[pname] = true
|
|
sprint.increase_maxstamina(pname, 10) -- 10 more
|
|
end
|
|
else
|
|
if tmp[pname] then
|
|
tmp[pname] = false
|
|
sprint.decrease_maxstamina(pname, 10)
|
|
end
|
|
end
|
|
end,
|
|
switch_params = {
|
|
color = {r = 30, g = 170, b = 00},
|
|
tile = "default_wood.png",
|
|
holo_item = "throwing:bow_minotaur_horn_improved"
|
|
},
|
|
informations = pclasses.api.textify("Being a hunter is mostly being tactical, or just kicking in and firing arrows like madness." ..
|
|
"Being a hunter, you're in the only class which member can use new and exclusive" ..
|
|
"ranged weapons, like spears, arbalests and bows. Your stamina is increased to" ..
|
|
"40, you're a sport person, able to sprint for a long time, which is found to be" ..
|
|
"useful when you hunt down animals and mobs who can't run faster than you walk.." ..
|
|
"and even more when you need to cowardly run away... anyway. The point is, being" ..
|
|
"a hunter is great, since you can access new and exclusive weapons, and leather" ..
|
|
"armors, crafted from leather. Obviously.. Those clothes are pretty strong, and" ..
|
|
"will protect you more than wooden pieces (at least the reinforced one), with the" ..
|
|
"satation consumption of wearing nothing. If you want to risk it and become a" ..
|
|
"hunter, you should look for a green pedestal with a bow so fancy over it that you" ..
|
|
"can already tell that we're gonna make you use loads of ores for it. (actually" ..
|
|
"you need to fight a super strong mob, but it's just details...)") .. "image[2.4,5.6;6,4;pclasses_showcase_hunter.png]"
|
|
})
|
|
|
|
minetest.register_on_leaveplayer(function(player)
|
|
tmp[player:get_player_name()] = false
|
|
end)
|
|
|
|
pclasses.api.reserve_item("hunter", "throwing:bow_minotaur_horn")
|
|
pclasses.api.reserve_item("hunter", "throwing:bow_minotaur_horn_loaded")
|
|
pclasses.api.reserve_item("hunter", "throwing:bow_minotaur_horn_improved")
|
|
pclasses.api.reserve_item("hunter", "throwing:bow_minotaur_horn_improved_loaded")
|
|
pclasses.api.reserve_item("hunter", "throwing:arrow_mithril")
|
|
pclasses.api.reserve_item("hunter", "throwing:arbalest_auto")
|
|
pclasses.api.reserve_item("hunter", "throwing:arbalest_auto_loaded")
|
|
pclasses.api.reserve_item("hunter", "spears:spear_stone")
|
|
pclasses.api.reserve_item("hunter", "spears:spear_steel")
|
|
pclasses.api.reserve_item("hunter", "spears:spear_obsidian")
|
|
pclasses.api.reserve_item("hunter", "spears:spear_diamond")
|
|
pclasses.api.reserve_item("hunter", "spears:spear_mithril")
|
|
|
|
for _, i in pairs({"helmet", "chestplate", "boots", "leggings"}) do
|
|
pclasses.api.reserve_item("hunter", "3d_armor:" .. i .. "_hardenedleather")
|
|
pclasses.api.reserve_item("hunter", "3d_armor:" .. i .. "_reinforcedleather")
|
|
end
|