From 0c46cb47d44b8e25cac43d1e5c79eca4d64ce189 Mon Sep 17 00:00:00 2001 From: cale Date: Wed, 31 Aug 2016 19:33:32 +0200 Subject: [PATCH] added 2 new pages to the crafting guide + added 2 new abilities --- mods/crafting_guide/init.lua | 117 ++++++++++++++---- mods/fishing/depends.txt | 1 + mods/fishing/init.lua | 10 +- mods/skills/abilities.lua | 100 +++++++++++---- mods/skills/init.lua | 2 +- mods/skills/textures/skills_abilities_run.png | Bin 0 -> 276 bytes 6 files changed, 178 insertions(+), 52 deletions(-) create mode 100644 mods/fishing/depends.txt create mode 100644 mods/skills/textures/skills_abilities_run.png diff --git a/mods/crafting_guide/init.lua b/mods/crafting_guide/init.lua index 0c35b7a..ef6e5aa 100644 --- a/mods/crafting_guide/init.lua +++ b/mods/crafting_guide/init.lua @@ -38,34 +38,34 @@ end function crafting_guide.get_item_formspec(page) page = page or 0 - local str = crafting_guide.form_items - local i = 0 - local x = 0 - local y = 0 - local items = {} - for name,def in pairs(minetest.registered_items) do - table.insert(items,name) - end + if page > -1 then + local i = 0 + local x = 0 + local y = 0 - table.sort(items) - - for _,name in ipairs(items) do - if minetest.get_all_craft_recipes(name) and i < (8*6)*(page+1) then - if i > (8*6)*(page)-1 then - str = str .. "item_image_button["..x..","..y..";1,1;"..name..";"..name..";]" - x = x + 1 - if x > 7 then - x = 0 - y = y +1 - end - end - i = i +1 + local items = {} + for name,def in pairs(minetest.registered_items) do + table.insert(items,name) end - end - if page == -1 then + table.sort(items) + + for _,name in ipairs(items) do + if minetest.get_all_craft_recipes(name) and i < (8*6)*(page+1) then + if i > (8*6)*(page)-1 then + str = str .. "item_image_button["..x..","..y..";1,1;"..name..";"..name..";]" + x = x + 1 + if x > 7 then + x = 0 + y = y +1 + end + end + i = i +1 + end + end + elseif page == -1 then str = str .. "label[0,0;Mining :]" str = str .. "item_image_button[0,0.5;1,1;default:axe_stone;default:axe_stone;]" str = str .. "item_image_button[1,0.5;1,1;default:simple_hammer;default:simple_hammer;]" @@ -88,6 +88,77 @@ function crafting_guide.get_item_formspec(page) str = str .. "label[4,4;Workbench :]" str = str .. "item_image_button[4,4.5;1,1;default:workbench;default:workbench;]" str = str .. "item_image_button[5,4.5;1,1;default:workbench_v2;default:workbench_v2;]" + elseif page == -2 then + local x = 0 + local y = 0 + str = str .. "label[0,0;Mobs :]" + for i,v in ipairs(mobs.mobs) do + local name = v[1] + str = str .. "item_image_button[".. x ..",".. y+0.5 ..";1,1;"..name..";"..name..";]" + x = x + 1 + if x > 7 then + x = 0 + y = y +1 + end + end + + local ores = {} + local a = {} + for _,v in pairs(minetest.registered_ores) do + if not(a[v.ore]) then + table.insert(ores, v.ore) + a[v.ore] = true + end + end + str = str .. "label[0,2.5;Ores :]" + x = 0 + y = 3 + for _,name in ipairs(ores) do + str = str .. "item_image_button[".. x ..",".. y ..";1,1;"..name..";"..name..";]" + x = x + 1 + if x > 7 then + x = 0 + y = y +1 + end + end + elseif page == -3 then + local x = 0 + local y = 0 + str = str .. "label[0,0;Treasure Chest Loot :]" + for i,name in ipairs(default.treasure_chest_items) do + str = str .. "item_image_button[".. x ..",".. y+0.5 ..";1,1;"..name..";"..name..";]" + x = x + 1 + if x > 7 then + x = 0 + y = y +1 + end + end + + str = str .. "label[0,1.5;Abilities :]" + x = 0 + y = 2 + for _,name in ipairs(skills.abilities.all) do + str = str .. "item_image_button[".. x ..",".. y ..";1,1;"..name..";"..name..";]" + x = x + 1 + if x > 7 then + x = 0 + y = y +1 + end + end + + str = str .. "label[0,3;Blueprints :]" + x = 0 + y = 3 + for _,name in ipairs(blueprint.all) do + str = str .. "item_image_button[".. x ..",".. y+0.5 ..";1,1;"..name..";"..name..";]" + x = x + 1 + if x > 7 then + x = 0 + y = y +1 + end + end + elseif page == -4 then + end return str diff --git a/mods/fishing/depends.txt b/mods/fishing/depends.txt new file mode 100644 index 0000000..3ac9eac --- /dev/null +++ b/mods/fishing/depends.txt @@ -0,0 +1 @@ +skills diff --git a/mods/fishing/init.lua b/mods/fishing/init.lua index 84a8e04..335e235 100644 --- a/mods/fishing/init.lua +++ b/mods/fishing/init.lua @@ -7,8 +7,14 @@ minetest.register_craftitem("fishing:fishing_rod", { on_use = function(itemstack, user, pointed_thing) if pointed_thing.above then if minetest.get_node(pointed_thing.under).name == "default:water_source" then - if math.random(10) == 2 then - user:get_inventory():add_item("main", "fishing:fish") + if skills.lvls[user:get_player_name()] and skills.lvls[user:get_player_name()]["hunter"] and skills.lvls[user:get_player_name()]["hunter"] > 3 then + if math.random(6) == 2 then + user:get_inventory():add_item("main", "fishing:fish") + end + else + if math.random(10) == 2 then + user:get_inventory():add_item("main", "fishing:fish") + end end end end diff --git a/mods/skills/abilities.lua b/mods/skills/abilities.lua index afbcfb9..deca946 100644 --- a/mods/skills/abilities.lua +++ b/mods/skills/abilities.lua @@ -46,7 +46,7 @@ minetest.register_globalstep(function(dtime) end end) -function skills.abilities.register_skill(name, def) +function skills.abilities.register_ability(name, def) minetest.register_craftitem("skills:ability_" .. name, { description = def.description, inventory_image = def.img, @@ -70,7 +70,7 @@ function skills.abilities.register_skill(name, def) table.insert(skills.abilities.all, "skills:ability_" .. name) end -minetest.register_craftitem("skills:skill_book", { +minetest.register_craftitem("skills:ability_book", { description = "Ability Book", inventory_image = "skills_abilities_book.png", on_use = function(itemstack, user, pointed_thing) @@ -80,19 +80,19 @@ minetest.register_craftitem("skills:skill_book", { return itemstack end }) -table.insert(default.treasure_chest_items, "skills:skill_book") +table.insert(default.treasure_chest_items, "skills:ability_book") -skills.abilities.register_skill("super_jump", { - description = "Super Jump\nLevel: 15\nSkill: thief\nTime: 7.0\nEffect: gravity = 0.1\nEnergy: 10", +skills.abilities.register_ability("super_jump", { + description = "Super Jump\nLevel: 8\nSkill: hunter\nTime: 7.0\nEffect: gravity = 0.1\nEnergy: 10", img = "skills_abilities_super_jump.png", - skill = "thief", - lvl = 15, + skill = "hunter", + lvl = 8, energy = 10, on_use = function(itemstack, user, pointed_thing) user:set_physics_override({ gravity = 0.1, }) - cmsg.push_message_player(user, "[skill] + super jump") + cmsg.push_message_player(user, "[ability] + super jump") minetest.after(7.0, function(player) if not player or not player:is_player() then @@ -101,22 +101,22 @@ skills.abilities.register_skill("super_jump", { player:set_physics_override({ gravity = 1, }) - cmsg.push_message_player(player, "[skill] - super jump") + cmsg.push_message_player(player, "[ability] - super jump") end, user) end }) -skills.abilities.register_skill("lift", { - description = "Lift\nLevel: 25\nSkill: thief\nTime: 2.0\nEffect: gravity = -0.5\nEnergy: 20", +skills.abilities.register_ability("lift", { + description = "Lift\nLevel: 12\nSkill: hunter\nTime: 2.0\nEffect: gravity = -0.5\nEnergy: 20", img = "skills_abilities_lift.png", - skill = "thief", - lvl = 25, + skill = "hunter", + lvl = 12, energy = 20, on_use = function(itemstack, user, pointed_thing) user:set_physics_override({ gravity = -0.5, }) - cmsg.push_message_player(user, "[skill] + lift") + cmsg.push_message_player(user, "[ability] + lift") minetest.after(2.0, function(player) if not player or not player:is_player() then @@ -125,28 +125,76 @@ skills.abilities.register_skill("lift", { player:set_physics_override({ gravity = 1, }) - cmsg.push_message_player(player, "[skill] - lift") + cmsg.push_message_player(player, "[ability] - lift") end, user) end }) -skills.abilities.register_skill("heal", { - description = "Heal\nLevel: 13\nSkill: farmer\nEffect: hp + 4\nEnergy: 15", - img = "skills_abilities_heal.png", - skill = "farmer", - lvl = 13, - energy = 15, +skills.abilities.register_ability("run", { + description = "Run\nLevel: 2\nSkill: hunter\nTime: 5.0\nEffect: speed = 2\nEnergy: 20", + img = "skills_abilities_run.png", + skill = "hunter", + lvl = 2, + energy = 20, on_use = function(itemstack, user, pointed_thing) - user:set_hp(user:get_hp()+4) - cmsg.push_message_player(user, "[skill][hp] + 4") + user:set_physics_override({ + speed = 2, + }) + cmsg.push_message_player(user, "[ability] + run") + + minetest.after(5.0, function(player) + if not player or not player:is_player() then + return + end + player:set_physics_override({ + speed = 1, + }) + cmsg.push_message_player(player, "[ability] - run") + end, user) end }) -skills.abilities.register_skill("grow", { - description = "Grow\nLevel: 6\nSkill: farmer\nEffect: -\nEnergy: 30", +skills.abilities.register_ability("sprint", { + description = "Sprint\nLevel: 4\nSkill: hunter\nTime: 5.0\nEffect: speed = 3\nEnergy: 20", + img = "skills_abilities_run.png", + skill = "hunter", + lvl = 1, + energy = 20, + on_use = function(itemstack, user, pointed_thing) + user:set_physics_override({ + speed = 3, + }) + cmsg.push_message_player(user, "[ability] + sprint") + + minetest.after(5.0, function(player) + if not player or not player:is_player() then + return + end + player:set_physics_override({ + speed = 1, + }) + cmsg.push_message_player(player, "[ability] - sprint") + end, user) + end +}) + +skills.abilities.register_ability("heal", { + description = "Heal\nLevel: 7\nSkill: farmer\nEffect: hp + 4\nEnergy: 15", + img = "skills_abilities_heal.png", + skill = "farmer", + lvl = 7, + energy = 15, + on_use = function(itemstack, user, pointed_thing) + user:set_hp(user:get_hp()+4) + cmsg.push_message_player(user, "[ability][hp] + 4") + end +}) + +skills.abilities.register_ability("grow", { + description = "Grow\nLevel: 3\nSkill: farmer\nEffect: -\nEnergy: 30", img = "skills_abilities_grow.png", skill = "farmer", - lvl = 6, + lvl = 3, energy = 30, on_use = function(itemstack, user, pointed_thing) if minetest.get_node(pointed_thing.under).name == "default:dirt" then diff --git a/mods/skills/init.lua b/mods/skills/init.lua index 0c48554..361a7da 100644 --- a/mods/skills/init.lua +++ b/mods/skills/init.lua @@ -177,7 +177,7 @@ end skills.register_skill("farmer") skills.register_skill("warrior") -skills.register_skill("thief") +skills.register_skill("cook") skills.register_skill("miner") skills.register_skill("hunter") diff --git a/mods/skills/textures/skills_abilities_run.png b/mods/skills/textures/skills_abilities_run.png new file mode 100644 index 0000000000000000000000000000000000000000..4c1bf9363ab78e2ae0c78d0e372ad43e1d191c0c GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPNhr9qEqqqgL6HrL9#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2!QIn0AiR-J9H^+q)5S5w;&gJt0s(_V5`z26{(D~Bk@Q*7Z3iQWbN+sX*QB#; zQkQtN&E%6(4lUQ%QE%6r>S!C+JmW*=zds+9nb$Wc#5n^wZHzT-27;G-P6&vVG;VF} zlwhm<_hH_{A1!W|4mCs=@bDxYRQ>qoA@eDo1EQ}&&ijZkGrXB?csiv?b{o(g44$rj JF6*2Ung9l@UfKWv literal 0 HcmV?d00001