348 lines
9.5 KiB
Lua
348 lines
9.5 KiB
Lua
-- Basic NSSM Tools
|
|
|
|
minetest.register_node("nssm:rope", {
|
|
description = "Rope",
|
|
paramtype = "light",
|
|
walkable = false,
|
|
climbable = true,
|
|
sunlight_propagates = true,
|
|
drawtype = "plantlike",
|
|
drops = "nssm:rope",
|
|
tiles = { "rope.png" },
|
|
groups = {snappy=1},
|
|
})
|
|
|
|
-- Sun Sword
|
|
-- Good sword, sets things on fire...
|
|
|
|
minetest.register_tool('nssm:sun_sword', {
|
|
description = 'Sun Sword',
|
|
inventory_image = 'sun_sword.png',
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.6,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
snappy={times={[1]=0.80, [2]=0.40, [3]=0.20}, uses=70, maxlevel=1},
|
|
fleshy={times={[2]=0.6, [3]=0.2}, uses=70, maxlevel=1}
|
|
},
|
|
damage_groups = {fleshy=10},
|
|
},
|
|
})
|
|
|
|
minetest.register_on_punchnode(function(pos, node, puncher, pointed_thing)
|
|
if puncher:get_wielded_item():get_name() == 'nssm:sun_sword' then
|
|
if not nssm.unswappable_node(pos) then
|
|
minetest.add_node(pointed_thing.above, {name = "fire:basic_flame"})
|
|
end
|
|
end
|
|
end)
|
|
|
|
-- Swords
|
|
|
|
minetest.register_tool("nssm:ant_sword", {
|
|
description = "Ant Sword",
|
|
inventory_image = "ant_sword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.8,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
snappy={times={[1]=1.30, [2]=0.90, [3]=0.40}, uses=40, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=8},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:mantis_sword", {
|
|
description = "Mantis Sword",
|
|
inventory_image = "mantis_sword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval =0.7 ,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
fleshy={times={[2]=1.0, [3]=0.4}, uses=30, maxlevel=1},
|
|
snappy={times={[2]=0.80, [3]=0.3}, uses=40, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=7},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:masticone_fang_sword", {
|
|
description = "Masticone Fang Sword",
|
|
inventory_image = "masticone_fang_sword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval =0.7 ,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
snappy={times={[1]=0.6, [2]=0.5, [3]=0.4}, uses=200, maxlevel=1},
|
|
fleshy={times={[2]=0.8, [3]=0.4}, uses=200, maxlevel=1}
|
|
},
|
|
damage_groups = {fleshy=8},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:night_sword", {
|
|
description = "Night Sword",
|
|
inventory_image = "night_sword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval =0.4 ,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
snappy={times={[1]=0.4, [2]=0.3, [3]=0.2}, uses=300, maxlevel=1},
|
|
fleshy={times={[2]=0.7, [3]=0.3}, uses=300, maxlevel=1}
|
|
},
|
|
damage_groups = {fleshy=12},
|
|
},
|
|
})
|
|
|
|
-- Axes
|
|
|
|
minetest.register_tool("nssm:mantis_battleaxe", {
|
|
description = "Mantis Battleaxe",
|
|
inventory_image = "mantis_battleaxe.png",
|
|
tool_capabilities = {
|
|
full_punch_interval =3 ,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
fleshy={times={[2]=2, [3]=1.4}, uses=20, maxlevel=1}
|
|
},
|
|
damage_groups = {fleshy=10},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:mantis_axe", {
|
|
description = "Mantis Axe",
|
|
inventory_image = "mantis_axe.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.8,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
choppy={times={[1]=2.20, [2]=1.00, [3]=0.60}, uses=30, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=5},
|
|
},
|
|
})
|
|
|
|
-- Picks
|
|
|
|
minetest.register_tool("nssm:duck_beak_pick",{
|
|
description = "Duck Beak Pickaxe",
|
|
inventory_image = "duck_beak_pick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.6,
|
|
max_drop_level=3,
|
|
groupcaps={
|
|
cracky = {times={[1]=1.0, [2]=0.8, [3]=0.20}, uses=3, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=5},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:ant_pick", {
|
|
description = "Ant Pickaxe",
|
|
inventory_image = "ant_pick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.2,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
cracky = {times={[1]=2.00, [2]=1.20, [3]=0.80}, uses=30, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:mantis_pick", {
|
|
description = "Mantis Pickaxe",
|
|
inventory_image = "mantis_pick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
cracky = {times={[1]=1.6, [2]=1.0, [3]=0.60}, uses=20, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:stoneater_pick", {
|
|
description = "Stoneater Pickaxe",
|
|
inventory_image = "stoneater_pick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.9,
|
|
max_drop_level=0,
|
|
groupcaps={
|
|
cracky = {times={[3]=0.0}, uses=200, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=5},
|
|
},
|
|
})
|
|
|
|
-- Knives
|
|
|
|
minetest.register_tool("nssm:little_ice_tooth_knife", {
|
|
description = "Little Ice Tooth Knife",
|
|
inventory_image = "little_ice_tooth_knife.png",
|
|
tool_capabilities = {
|
|
full_punch_interval =0.3 ,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
fleshy={times={[2]=1.0, [3]=0.4}, uses=4, maxlevel=1},
|
|
snappy={times={[2]=0.80, [3]=0.3}, uses=7, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=5},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:manticore_spine_knife", {
|
|
description = "Manticore Spine Knife",
|
|
inventory_image = "manticore_spine_knife.png",
|
|
tool_capabilities = {
|
|
full_punch_interval =0.4 ,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
fleshy={times={[2]=1.0, [3]=0.4}, uses=6, maxlevel=1},
|
|
snappy={times={[2]=0.80, [3]=0.3}, uses=6, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=6},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:felucco_knife", {
|
|
description = "Felucco Knife",
|
|
inventory_image = "felucco_knife.png",
|
|
tool_capabilities = {
|
|
full_punch_interval =0.4 ,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
fleshy={times={[2]=1.0, [3]=0.4}, uses=6, maxlevel=1},
|
|
snappy={times={[2]=0.80, [3]=0.3}, uses=6, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=6},
|
|
},
|
|
})
|
|
|
|
-- Shovels
|
|
|
|
minetest.register_tool("nssm:ant_shovel", {
|
|
description = "Ant Shovel",
|
|
inventory_image = "ant_shovel.png",
|
|
wield_image = "ant_shovel.png^[transformR90",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=35, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:duck_beak_shovel", {
|
|
description = "Duck Beak Shovel",
|
|
inventory_image = "duck_beak_shovel.png",
|
|
wield_image = "duck_beak_shovel.png^[transformR90",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.6,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
crumbly = {times={[1]=1.10, [2]=0.80, [3]=0.20}, uses=5, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
|
|
-- Misc
|
|
|
|
minetest.register_tool("nssm:ant_billhook", {
|
|
description = "Ant Billhook",
|
|
inventory_image = "ant_billhook.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.8,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
choppy={times={[1]=1.40, [2]=1.00, [3]=0.60}, uses=30, maxlevel=3},
|
|
snappy={times={[1]=1.40, [2]=1.00, [3]=0.60}, uses=30, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=6},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:tarantula_warhammer", {
|
|
description = "Tarantula Warhammer",
|
|
inventory_image = "tarantula_warhammer.png",
|
|
wield_scale= {x=2,y=2,z=1.5},
|
|
tool_capabilities = {
|
|
full_punch_interval =1,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
cracky={times={[1]=0.6, [2]=0.5, [3]=0.4}, uses=80, maxlevel=1},
|
|
fleshy={times={[2]=0.8, [3]=0.4}, uses=200, maxlevel=1}
|
|
},
|
|
damage_groups = {fleshy=13},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:crab_light_mace", {
|
|
description = "Light Crab Mace",
|
|
inventory_image = "crab_light_mace.png",
|
|
tool_capabilities = {
|
|
full_punch_interval =2 ,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
fleshy={times={[2]=1.4, [3]=1}, uses=20, maxlevel=1}
|
|
},
|
|
damage_groups = {fleshy=8},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("nssm:crab_heavy_mace", {
|
|
description = "Heavy Crab Mace",
|
|
inventory_image = "crab_heavy_mace.png",
|
|
tool_capabilities = {
|
|
full_punch_interval =4 ,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
fleshy={times={[2]=2, [3]=1.4}, uses=20, maxlevel=1}
|
|
},
|
|
damage_groups = {fleshy=12},
|
|
},
|
|
})
|
|
|
|
-- Farming hoes
|
|
|
|
if minetest.get_modpath("farming") then
|
|
|
|
farming.register_hoe(":farming:felucco_hoe", {
|
|
description = "Felucco Hoe",
|
|
inventory_image = "felucco_hoe.png",
|
|
max_uses = 290,
|
|
material = "nssm:felucco_horn"
|
|
})
|
|
|
|
farming.register_hoe(":farming:ant_hoe", {
|
|
description = "Ant Hoe",
|
|
inventory_image = "ant_hoe.png",
|
|
max_uses = 350,
|
|
material = "nssm:ant_mandible"
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'nssm:ant_hoe',
|
|
recipe = {
|
|
{'nssm:ant_mandible', 'nssm:ant_mandible'},
|
|
{'', 'group:stick'},
|
|
{'', 'group:stick'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'nssm:felucco_hoe',
|
|
recipe = {
|
|
{'nssm:felucco_horn', 'nssm:felucco_horn'},
|
|
{'', 'group:stick'},
|
|
{'', 'group:stick'},
|
|
}
|
|
})
|
|
|
|
end
|
|
|