------------------ -- 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