More treasure variety
This commit is contained in:
parent
9d5dace4fb
commit
f71ca591c9
47
init.lua
47
init.lua
@ -18,26 +18,51 @@ dofile(minetest.get_modpath("tsm_pyramids").."/room.lua")
|
|||||||
local mg_name = minetest.get_mapgen_setting("mg_name")
|
local mg_name = minetest.get_mapgen_setting("mg_name")
|
||||||
|
|
||||||
local chest_stuff = {
|
local chest_stuff = {
|
||||||
{name="default:apple", max = 3},
|
normal = {
|
||||||
{name="default:steel_ingot", max = 3},
|
{name="default:steel_ingot", max = 3},
|
||||||
{name="default:copper_ingot", max = 3},
|
{name="default:copper_ingot", max = 3},
|
||||||
{name="default:gold_ingot", max = 2},
|
{name="default:gold_ingot", max = 2},
|
||||||
{name="default:diamond", max = 1},
|
{name="default:diamond", max = 1},
|
||||||
{name="default:pick_steel", max = 1},
|
{name="default:pick_steel", max = 1},
|
||||||
|
},
|
||||||
|
desert_stone = {
|
||||||
|
{name="default:mese_crystal", max = 4},
|
||||||
|
{name="default:gold_ingot", max = 10},
|
||||||
{name="default:pick_diamond", max = 1},
|
{name="default:pick_diamond", max = 1},
|
||||||
|
},
|
||||||
|
desert_sandstone = {
|
||||||
|
{name="default:apple", max = 1},
|
||||||
|
{name="default:stick", max = 64},
|
||||||
|
{name="default:acacia_bush_sapling", max = 1},
|
||||||
|
{name="default:paper", max = 9},
|
||||||
|
{name="default:shovel_bronze", max = 1},
|
||||||
|
{name="default:pick_mese", max = 1},
|
||||||
|
},
|
||||||
|
sandstone = {
|
||||||
|
{name="default:obsidian_shard", max = 5},
|
||||||
|
{name="default:apple", max = 3},
|
||||||
|
{name="default:blueberries", max = 9},
|
||||||
|
{name="default:glass", max = 64},
|
||||||
|
{name="default:bush_sapling", max = 1},
|
||||||
|
{name="default:pick_bronze", max = 1},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if minetest.get_modpath("farming") then
|
if minetest.get_modpath("farming") then
|
||||||
table.insert(chest_stuff, {name="farming:bread", max = 3})
|
table.insert(chest_stuff.desert_sandstone, {name="farming:bread", max = 3})
|
||||||
table.insert(chest_stuff, {name="farming:cotton", max = 8})
|
table.insert(chest_stuff.sandstone, {name="farming:bread", max = 4})
|
||||||
|
table.insert(chest_stuff.normal, {name="farming:cotton", max = 32})
|
||||||
|
table.insert(chest_stuff.desert_sandstone, {name="farming:seed_cotton", max = 3})
|
||||||
|
table.insert(chest_stuff.desert_sandstone, {name="farming:hoe_stone", max = 1})
|
||||||
else
|
else
|
||||||
table.insert(chest_stuff, {name="farming:apple", max = 8})
|
table.insert(chest_stuff.normal, {name="farming:apple", max = 8})
|
||||||
table.insert(chest_stuff, {name="farming:apple", max = 3})
|
table.insert(chest_stuff.normal, {name="farming:apple", max = 3})
|
||||||
end
|
end
|
||||||
if minetest.get_modpath("tnt") then
|
if minetest.get_modpath("tnt") then
|
||||||
table.insert(chest_stuff, {name="tnt:gunpowder", max = 6})
|
table.insert(chest_stuff.normal, {name="tnt:gunpowder", max = 6})
|
||||||
|
table.insert(chest_stuff.desert_stone, {name="tnt:gunpowder", max = 6})
|
||||||
else
|
else
|
||||||
table.insert(chest_stuff, {name="farming:apple", max = 3})
|
table.insert(chest_stuff.normal, {name="farming:apple", max = 3})
|
||||||
end
|
end
|
||||||
|
|
||||||
function tsm_pyramids.fill_chest(pos, stype, flood_sand, treasure_chance)
|
function tsm_pyramids.fill_chest(pos, stype, flood_sand, treasure_chance)
|
||||||
@ -65,10 +90,14 @@ function tsm_pyramids.fill_chest(pos, stype, flood_sand, treasure_chance)
|
|||||||
stacks = treasurer.select_random_treasures(3,7,9,{"minetool", "food", "crafting_component"})
|
stacks = treasurer.select_random_treasures(3,7,9,{"minetool", "food", "crafting_component"})
|
||||||
else
|
else
|
||||||
for i=0,2,1 do
|
for i=0,2,1 do
|
||||||
local stuff = chest_stuff[math.random(1,#chest_stuff)]
|
local stuff = chest_stuff.normal[math.random(1,#chest_stuff.normal)]
|
||||||
table.insert(stacks, {name=stuff.name, count = math.random(1,stuff.max)})
|
table.insert(stacks, {name=stuff.name, count = math.random(1,stuff.max)})
|
||||||
treasure_added = true
|
|
||||||
end
|
end
|
||||||
|
if math.random(1,100) <= 75 then
|
||||||
|
local stuff = chest_stuff[stype][math.random(1,#chest_stuff[stype])]
|
||||||
|
table.insert(stacks, {name=stuff.name, count = math.random(1,stuff.max)})
|
||||||
|
end
|
||||||
|
treasure_added = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
for s=1,#stacks do
|
for s=1,#stacks do
|
||||||
|
2
room.lua
2
room.lua
@ -1066,7 +1066,7 @@ function tsm_pyramids.make_room(pos, stype, room_id, rotations)
|
|||||||
end
|
end
|
||||||
-- If no chests were filled with treasure so far, fill a random chest guaranteed
|
-- If no chests were filled with treasure so far, fill a random chest guaranteed
|
||||||
if chests_with_treasure == 0 then
|
if chests_with_treasure == 0 then
|
||||||
tsm_pyramids.fill_chests(chests[math.random(1, #chests)], stype, sanded, 100)
|
tsm_pyramids.fill_chest(chests[math.random(1, #chests)], stype, sanded, 100)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if room.traps and math.random(1,4) then
|
if room.traps and math.random(1,4) then
|
||||||
|
Loading…
Reference in New Issue
Block a user