added 2 new pages to the crafting guide + added 2 new abilities

This commit is contained in:
cale 2016-08-31 19:33:32 +02:00
parent 5f4832ece8
commit 0c46cb47d4
6 changed files with 178 additions and 52 deletions

View File

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

1
mods/fishing/depends.txt Normal file
View File

@ -0,0 +1 @@
skills

View File

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

View File

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

View File

@ -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")

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B