Fix trap drops. Add rope ladder.
This commit is contained in:
parent
35c08b1aa4
commit
f93da354d9
5 changed files with 111 additions and 9 deletions
2
abms.lua
2
abms.lua
|
@ -136,9 +136,9 @@ minetest.register_globalstep(function(dtime)
|
|||
player:set_hp(20)
|
||||
return
|
||||
else
|
||||
--print(dump(player:get_armor_groups()))
|
||||
if fun_caves.armor_expire and fun_caves.armor_expire[player_name] and fun_caves.armor_expire[player_name] < time then
|
||||
player:set_armor_groups({fleshy=100})
|
||||
--print(dump(player:get_armor_groups()))
|
||||
minetest.chat_send_player(player_name, minetest.colorize('#FF0000', 'Your skin feels softer...'))
|
||||
fun_caves.armor_expire[player_name] = nil
|
||||
end
|
||||
|
|
|
@ -108,6 +108,13 @@ for color, dye in pairs(colors) do
|
|||
end
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "fun_caves:dry_fiber",
|
||||
burntime = 5,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "dye:yellow",
|
||||
recipe = {
|
||||
|
|
13
goblin.lua
13
goblin.lua
|
@ -69,9 +69,6 @@ local function goblin_do(self)
|
|||
elseif self.name == 'fun_caves:goblin_king' then
|
||||
trap = traps[math.random(#traps)]
|
||||
end
|
||||
if self.name == 'fun_caves:goblin_king' then
|
||||
print(trap)
|
||||
end
|
||||
fun_caves.search_replace(pos, trap_freq, {"group:stone", "default:sandstone"}, trap)
|
||||
end
|
||||
|
||||
|
@ -400,7 +397,7 @@ minetest.register_node("fun_caves:stone_with_coal_trap", {
|
|||
description = "Coal Trap",
|
||||
tiles = {"default_cobble.png^default_mineral_coal.png"},
|
||||
groups = {cracky = 3},
|
||||
--drop = 'default:coal_lump',
|
||||
drop = 'default:coal_lump',
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
@ -425,7 +422,7 @@ minetest.register_node("fun_caves:stone_with_diamond_trap", {
|
|||
description = "Diamond Trap",
|
||||
tiles = {"default_cobble.png^default_mineral_diamond.png"},
|
||||
groups = {cracky = 3},
|
||||
--drop = 'default:diamond',
|
||||
drop = 'default:diamond',
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
@ -492,7 +489,7 @@ minetest.register_node("fun_caves:stone_with_gold_trap", {
|
|||
description = "Gold Trap",
|
||||
tiles = {"default_cobble.png^default_mineral_gold.png"},
|
||||
groups = {cracky = 3},
|
||||
--drop = 'default:gold_lump',
|
||||
drop = 'default:gold_lump',
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
@ -553,7 +550,7 @@ minetest.register_node("fun_caves:stone_with_iron_trap", {
|
|||
description = "Iron Trap",
|
||||
tiles = {"default_cobble.png^default_mineral_iron.png"},
|
||||
groups = {cracky = 3},
|
||||
--drop = 'default:iron_lump',
|
||||
drop = 'default:iron_lump',
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
@ -579,7 +576,7 @@ minetest.register_node("fun_caves:stone_with_copper_trap", {
|
|||
description = "Copper Trap",
|
||||
tiles = {"default_cobble.png^default_mineral_copper.png"},
|
||||
groups = {cracky = 3},
|
||||
--drop = 'default:copper_lump',
|
||||
drop = 'default:copper_lump',
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
|
98
nodes.lua
98
nodes.lua
|
@ -600,3 +600,101 @@ minetest.register_craftitem("fun_caves:philosophers_stone", {
|
|||
newnode = fun_caves.clone_node("default:stone")
|
||||
newnode.tiles = {'dna.png'}
|
||||
minetest.register_node("fun_caves:dna", newnode)
|
||||
|
||||
local function rope_remove(pos)
|
||||
for i = 1, 100 do
|
||||
local newpos = table.copy(pos)
|
||||
newpos.y = newpos.y - i
|
||||
local node = minetest.get_node_or_nil(newpos)
|
||||
if node and node.name and node.name == 'fun_caves:rope_ladder_piece' then
|
||||
minetest.set_node(newpos, {name='air'})
|
||||
else
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local good_params = {nil, true, true, true, true}
|
||||
for length = 10, 50, 10 do
|
||||
minetest.register_node("fun_caves:rope_ladder_"..length, {
|
||||
description = "Rope Ladder ("..length.." meter)",
|
||||
drawtype = "signlike",
|
||||
tiles = {"fun_caves_rope_ladder.png"},
|
||||
inventory_image = "fun_caves_rope_ladder.png",
|
||||
wield_image = "fun_caves_rope_ladder.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
is_ground_content = false,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
},
|
||||
groups = {snappy = 2, oddly_breakable_by_hand = 3, flammable = 2},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
if pointed_thing and pointed_thing.above then
|
||||
local pos = pointed_thing.above
|
||||
local orig = minetest.get_node_or_nil(pos)
|
||||
if orig and orig.name and orig.param2 and good_params[orig.param2] then
|
||||
for i = 1, length do
|
||||
local newpos = table.copy(pos)
|
||||
newpos.y = newpos.y - i
|
||||
local node = minetest.get_node_or_nil(newpos)
|
||||
if node and node.name and node.name == 'air' then
|
||||
minetest.set_node(newpos, {name='fun_caves:rope_ladder_piece', param2=orig.param2})
|
||||
else
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
on_destruct = rope_remove,
|
||||
})
|
||||
|
||||
if length > 10 then
|
||||
rec = {}
|
||||
for i = 10, length, 10 do
|
||||
rec[#rec+1] = 'fun_caves:rope_ladder_10'
|
||||
end
|
||||
minetest.register_craft({
|
||||
output = 'fun_caves:rope_ladder_'..length,
|
||||
type = 'shapeless',
|
||||
recipe = rec,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_node("fun_caves:rope_ladder_piece", {
|
||||
description = "Rope Ladder",
|
||||
drawtype = "signlike",
|
||||
tiles = {"fun_caves_rope_ladder.png"},
|
||||
inventory_image = "fun_caves_rope_ladder.png",
|
||||
wield_image = "fun_caves_rope_ladder.png",
|
||||
drop = {},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
is_ground_content = false,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
},
|
||||
groups = {snappy = 2, oddly_breakable_by_hand = 3, flammable = 2},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
on_destruct = rope_remove,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'fun_caves:rope_ladder_10',
|
||||
recipe = {
|
||||
{'fun_caves:dry_fiber', '', 'fun_caves:dry_fiber'},
|
||||
{'fun_caves:dry_fiber', 'fun_caves:dry_fiber', 'fun_caves:dry_fiber'},
|
||||
{'fun_caves:dry_fiber', '', 'fun_caves:dry_fiber'},
|
||||
}
|
||||
})
|
||||
|
|
BIN
textures/fun_caves_rope_ladder.png
Normal file
BIN
textures/fun_caves_rope_ladder.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
Loading…
Add table
Add a link
Reference in a new issue