mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2024-11-16 07:20:31 +01:00
crabman77
8d2683b94b
fix wrong stamina value to hunter remove old call of function, moved to assign api
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, 20)
|
|
minetest.log("action", "[PClasses] Player " .. pname .. " become a hunter")
|
|
end,
|
|
on_unassigned = function(pname)
|
|
sprint.decrease_maxstamina(pname, 20)
|
|
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
|