diff --git a/mods/mff/mff_pclasses/admin.lua b/mods/mff/mff_pclasses/admin.lua new file mode 100755 index 00000000..7b0a7175 --- /dev/null +++ b/mods/mff/mff_pclasses/admin.lua @@ -0,0 +1,21 @@ +----------------- +-- Admin class -- +----------------- + +-- +-- https://github.com/MinetestForFun/minetest-minetestforfun-server/issues/139 +-- + +pclasses.api.register_class("admin", { + on_assigned = function(pname) + minetest.chat_send_player(pname, "Hello admin.") + end +}) + +pclasses.api.reserve_item("admin", "3d_armor:helmet_admin") +pclasses.api.reserve_item("admin", "3d_armor:chestplate_admin") +pclasses.api.reserve_item("admin", "3d_armor:leggings_admin") +pclasses.api.reserve_item("admin", "3d_armor:boots_admin") +pclasses.api.reserve_item("admin", "shields:shields_admin") +pclasses.api.reserve_item("admin", "maptools:pick_admin") +pclasses.api.reserve_item("admin", "maptools:pick_admin_with_drops") diff --git a/mods/mff/mff_pclasses/depends.txt b/mods/mff/mff_pclasses/depends.txt new file mode 100755 index 00000000..47f6a972 --- /dev/null +++ b/mods/mff/mff_pclasses/depends.txt @@ -0,0 +1,2 @@ +mff_core +pclasses \ No newline at end of file diff --git a/mods/mff/mff_pclasses/hunter.lua b/mods/mff/mff_pclasses/hunter.lua new file mode 100755 index 00000000..35a80d53 --- /dev/null +++ b/mods/mff/mff_pclasses/hunter.lua @@ -0,0 +1,29 @@ +------------------ +-- Hunter class -- +------------------ + +-- +-- See https://github.com/Ombridride/minetest-minetestforfun-server/issues/114 +-- + +pclasses.api.register_class("hunter", { + on_assigned = function(pname) + minetest.chat_send_player(pname, "You are now a hunter") + minetest.sound_play("pclasses_full_hunter") + local reinforced = pclasses.api.util.does_wear_full_armor(pname, "reinforcedleather", true) + if reinforced then + sprint.increase_maxstamina(pname, 20) + else + sprint.increase_maxstamina(pname, 10) + end + minetest.log("action", "[PClasses] Player " .. pname .. " become a hunter") + end, + on_unassigned = function(pname) + sprint.set_default_maxstamina(pname) + end, +}) + + +pclasses.api.reserve_item("hunter", "throwing:bow_minotaur_horn") +pclasses.api.reserve_item("hunter", "throwing:bow_minotaur_horn_improved") +pclasses.api.reserve_item("hunter", "throwing:arrow_mithril") diff --git a/mods/mff/mff_pclasses/init.lua b/mods/mff/mff_pclasses/init.lua new file mode 100644 index 00000000..422c908a --- /dev/null +++ b/mods/mff/mff_pclasses/init.lua @@ -0,0 +1,5 @@ +local path = minetest.get_modpath("mff_pclasses") + +dofile(path .. "/warrior.lua") +dofile(path .. "/hunter.lua") +dofile(path .. "/admin.lua") diff --git a/mods/mff/mff_pclasses/sounds/3d_armor_full_warrior.ogg-old b/mods/mff/mff_pclasses/sounds/3d_armor_full_warrior.ogg-old new file mode 100755 index 00000000..e6882043 Binary files /dev/null and b/mods/mff/mff_pclasses/sounds/3d_armor_full_warrior.ogg-old differ diff --git a/mods/mff/mff_pclasses/sounds/pclasses_full_hunter.ogg b/mods/mff/mff_pclasses/sounds/pclasses_full_hunter.ogg new file mode 100755 index 00000000..21ecf0d7 Binary files /dev/null and b/mods/mff/mff_pclasses/sounds/pclasses_full_hunter.ogg differ diff --git a/mods/mff/mff_pclasses/sounds/pclasses_full_warrior.ogg b/mods/mff/mff_pclasses/sounds/pclasses_full_warrior.ogg new file mode 100755 index 00000000..fd262bc2 Binary files /dev/null and b/mods/mff/mff_pclasses/sounds/pclasses_full_warrior.ogg differ diff --git a/mods/mff/mff_pclasses/sounds/pclasses_full_wizard.ogg b/mods/mff/mff_pclasses/sounds/pclasses_full_wizard.ogg new file mode 100755 index 00000000..28bdcb62 Binary files /dev/null and b/mods/mff/mff_pclasses/sounds/pclasses_full_wizard.ogg differ diff --git a/mods/mff/mff_pclasses/warrior.lua b/mods/mff/mff_pclasses/warrior.lua new file mode 100755 index 00000000..a8a34e23 --- /dev/null +++ b/mods/mff/mff_pclasses/warrior.lua @@ -0,0 +1,22 @@ +------------------- +-- Warrior class -- +------------------- + +-- +-- See https://github.com/Ombridride/minetest-minetestforfun-server/issues/113 +-- + +pclasses.api.register_class("warrior", { + on_assigned = function(pname) + minetest.sound_play("pclasses_full_warrior") + minetest.chat_send_player(pname, "You are now a warrior") + sprint.set_maxstamina(pname, 20) + minetest.log("action", "[PClasses] Player " .. pname .. " become a warrior") + end, + on_unassigned = function(pname) + sprint.set_default_maxstamina(pname) + end, +}) + +pclasses.api.reserve_item("warrior", "moreores:sword_mithril") +pclasses.api.reserve_item("warrior", "default:dungeon_master_s_blood_sword") diff --git a/worlds/minetestforfun/world.mt b/worlds/minetestforfun/world.mt index 8b74a028..fe823946 100755 --- a/worlds/minetestforfun/world.mt +++ b/worlds/minetestforfun/world.mt @@ -170,6 +170,7 @@ load_mod_action_timers = true load_mod_throwing = true load_mod_pclasses = true +load_mod_mff_pclasses = true load_mod_3d_armor = true load_mod_harnededleather = true load_mod_reinforcedleather = true