Add ethereal quests

Replace thirsty bowl by ethereal bowl when ethereal is loaded
Add crystal quests from 3d_armor when ethereal is detected
This commit is contained in:
sys4-fr 2016-07-09 03:33:03 +02:00
parent 1ef3d7cb53
commit cba7e44d1e
13 changed files with 340 additions and 5 deletions

View File

@ -175,4 +175,27 @@ if minetest.get_modpath("moreores") then
})
end
if minetest.get_modpath("ethereal_quests") then
-- crystal_sword_crafter
ins(quests, {
'crystal_sword_crafter', "Crystal Sword Crafter", nil, {"ethereal:sword_crystal"}, 1, {mod..":bootd_crystal"}, "crystal_crafter_lover", type = t, custom_level = true, group = middle
})
-- crystal_protection
ins(quests, {
'crystal_protection', "Crystal Protection", nil, {"ethereal:crystal_ingot"}, 5, {mod..":helmet_crystal"}, "crystal_sword_crafter", type = t, custom_level = true, group = middle
})
-- crystal_protection_lover
ins(quests, {
'crystal_protection_lover', "Crystal Protection Lover", nil, {"ethereal:crystal_ingot"}, 7, {mod..":leggings_crystal"}, "crystal_protection", type = t, custom_level = true, group = middle
})
-- crystal_protection_pro
ins(quests, {
'crystal_protection_pro', "Crystal Protection Pro", nil, {"ethereal:crystal_ingot"}, 8, {mod..":chestplate_crystal"}, "crystal_protection_lover", type = t, custom_level = true, group = middle
})
end
sys4_quests.registerQuests()

Binary file not shown.

View File

@ -3,4 +3,5 @@ minetest_quests
3d_armor_stand?
shields?
intllib?
moreores?
moreores_quests?
ethereal_quests?

View File

@ -29,10 +29,14 @@ up('gold_protection_pro', nil, {mod..":shield_gold"})
up('diamond_protection_lover', nil, {mod..":shield_diamond"})
if minetest.get_modpath("moreores") then
if minetest.get_modpath("moreores_quests") then
up('mithril_protection_lover', nil, {mod..":shield_mithril"})
end
if minetest.get_modpath("ethereal_quests") then
up('crystal_protection_lover', nil, {mod..":shield_crystal"})
end
-- enhance cactus and wood protection
up('iron_digger_lover', nil, {mod..":shield_enhanced_wood", mod..":shield_enhanced_cactus"})

View File

@ -0,0 +1,5 @@
minetest_quests
ethereal
moreblocks_quests?
intllib?

Binary file not shown.

149
ethereal_quests/init.lua Normal file
View File

@ -0,0 +1,149 @@
-- ethereal Quests
-- By Sys4
-- This mod add quests based on ethereal mod
if minetest.get_modpath("minetest_quests") and
minetest.get_modpath("ethereal") then
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
local ins = table.insert
local up = sys4_quests.updateQuest
---------- Quests for ethereal mod ----------
local mod = "ethereal"
local quests = sys4_quests.initQuests(mod, S)
----- Quests Groups -----
local dark = "Dark Age"
local wood = "Wood Age"
local farm = "Farming Age"
local stone = "Stone Age"
local metal = "Metal Age"
local middle = "Middle Age"
-- update quests from default
up('snow_digger', {'default:ice'}, {mod..":icebrick", mod..":snowbrick"})
local dirtNodes = {mod..":bamboo_dirt", mod..":cold_dirt", mod..":crystal_dirt", mod..":dry_dirt", mod..":fiery_dirt", mod..":gray_dirt", mod..":green_dirt", mod..":grove_dirt", mod..":jungle_dirt", mod..":mushroom_dirt", mod..":prairie_dirt"}
if minetest.get_modpath("moreblocks_quests") then
up('dirt_digger', dirtNodes, {mod..":worm", "default:desert_sand"})
up('torch_placer', nil, {mod..":glostone"})
else
ins(dirtNodes, {"default:dirt", "default:dirt_with_grass", "default:dirt_with_dry_grass", "default:dirt_with_snow"})
ins(quests, {
'dirt_digger', "Dirt Digger", "dirt blocks", dirtNodes, 1, {"default:desert_sand", mod..":worm"}, nil, type = "dig", group = dark
})
ins(quests, {
'torch_placer', "Torch Placer", nil, {"default:torch"}, 1, {mod..":glostone"}, {"coal_digger", "furnace_crafter"}, type = "place"
})
end
local treeNodes = {mod..":banana_trunk", mod..":birch_trunk", mod..":frost_tree", mod..":palm_trunk", mod..":redwood_trunk", mod..":willow_trunk", mod..":yellow_trunk"}
local woodNodes = {mod..":banana_wood", mod..":birch_wood", mod..":frost_wood", mod..":palm_wood", mod..":redwood_wood", mod..":willow_wood", mod..":yellow_wood"}
up('tree_digger', treeNodes, woodNodes)
up('wood_crafter', woodNodes, {mod..":bowl"})
local fenceNodes = {mod..":fence_banana", mod..":fence_birch", mod..":fence_frostwood", mod..":fence_mushroom", mod..":fence_palm", mod..":fence_redwood", mod..":fence_scorched", mod..":fence_willow", mod..":fence_yelowwood"}
local fenceGates = {mod..":fencegate_banana_closed", mod..":fencegate_birch_closed", mod..":fencegate_frostwood_closed", mod..":fencegate_mushroom_closed", mod..":fencegate_palm_closed", mod..":fencegate_redwood_closed", mod..":fencegate_scorched_closed", mod..":fencegate_willow_closed", mod..":fencegate_yelowwood_closed"}
local woodStairsNodes = {"stairs:slab_banana_wood", "stairs:slab_birch_wood", "stairs:slab_frost_wood", "stairs:slab_palm_wood", "stairs:slab_redwood_wood", "stairs:slab_willow_wood", "stairs:slab_yellow_wood", "stairs:stair_banana_wood", "stairs:stair_birch_wood", "stairs:stair_frost_wood", "stairs:stair_palm_wood", "stairs:stair_redwood_wood", "stairs:stair_willow_wood", "stairs:stair_yellow_wood"}
up('wood_builder', woodNodes, woodStairsNodes)
for i = 1, #woodNodes do
ins(woodStairsNodes, woodNodes[i])
end
up('wood_builder_lover', woodStairsNodes, nil)
up('sticks_crafter', nil, fenceNodes)
up('fence_placer', fenceNodes, fenceGates)
up('papyrus_digger', {mod..":bamboo"}, nil)
up('paper_crafter', nil, {mod..":paper_wall"})
up('cotton_digger', nil, {mod..":fishing_rod", mod..":fishing_rod_baited", mod..":sashimi"})
up('flower_digger', {mod..":fire_flower"}, {mod..":fire_dust", mod..":lightstring"})
up('coal_digger', nil, {mod..":charcoal_lump", mod..":scorched_tree"})
up('stone_digger_pro', nil, {"default:gravel"})
up('stone_digger_expert', nil, {mod..":stone_ladder"})
up('gravel_digger', nil, {"default:dirt"})
up('furnace_crafter', nil, {mod..":candle"})
up('iron_digger_pro', nil, {mod..":bucket_cactus"})
up('mese_digger', nil, {mod..":light_staff"})
local t = "dig"
-- leaves_digger
ins(quests, {
'leaves_digger', "Leaves Digger", nil, {"default:leaves", "default:acacia_leaves", "default:aspen_leaves", "default:jungleleaves", "default:pine_needles", mod..":bamboo_leaves", mod..":bananaleaves", mod..":birch_leaves", mod..":frost_leaves", mod..":orange_leaves", mod..":palmleaves", mod..":redwood_leaves", mod..":willow_twig", mod..":yellowleaves"}, 9, {mod..":bush", mod..":bush2", mod..":bush3", mod..":vine"}, nil, type = t, group = dark
})
-- bamboo_digger
ins(quests, {
'bamboo_digger', "Bamboo Digger", nil, {mod..":bamboo"}, 9, {mod..":bamboo_floor"}, nil, type = t, group = dark
})
-- unlock_moss
ins(quests, {
'unlock_moss', "Unlock Moss", "frost/jungle leaves or dry shrub/snowy grass", {mod..":frost_leaves", mod..":dry_shrub", mod..":snowygrass", "default:jungleleaves"}, 1, {mod..":crystal_moss", mod..":fiery_moss", mod..":gray_moss", mod..":green_moss"}, {"dirt_digger", "leaves_digger"}, type = t, group = dark
})
-- mushroom_digger
ins(quests, {
'mushroom_digger', "Mushroom Digger", "mushrooms", {"flowers:mushroom_brown", "flowers:mushroom_red"}, 2, {mod..":mushroom_soup", mod..":mushroom", mod..":mushroom_moss"}, "wood_crafter", type = t, group = wood
})
-- vegetable_digger
ins(quests, {
'vegetable_digger', "Vegetable Digger", "vegetables", {mod..":onion_4", mod..":fern"}, 2, {mod..":hearty_stew"}, "mushroom_digger", type = t, group = wood
})
-- banana_digger
ins(quests, {
'banana_digger', "Banana Digger", nil, {mod..":banana"}, 1, {mod..":banana_dough"}, "furnace_crafter", type = t, group = stone
})
-- crystal_digger
ins(quests, {
'crystal_digger', "Crystal Digger", nil, {mod..":crystal_spike"}, 2, {mod..":crystal_ingot"}, "mese_digger_lover", type = t, group = middle
})
t = "craft"
-- crystal_crafter
ins(quests, {
'crystal_crafter', "Crystal Crafter", nil, {mod..":crystal_ingot"}, 1, {mod..":shovel_crystal"}, "crystal_digger", type = t, group = middle
})
-- crystal_crafter_lover
ins(quests, {
'crystal_crafter_lover', "Crystal Crafter Lover", nil, {mod..":crystal_ingot"}, 1, {mod..":sword_crystal", mod..":crystal_gilly_staff"}, "crystal_crafter", type = t, group = middle
})
-- crystal_crafter_pro
ins(quests, {
'crystal_crafter_pro', "Crystal Crafter Pro", nil, {mod..":crystal_ingot"}, 1, {mod..":axe_crystal", mod..":pick_crystal"}, "crystal_crafter_lover", type = t, group = middle
})
-- crystal_crafter_expert
ins(quests, {
'crystal_crafter_expert', "Crystal Crafter Expert", nil, {mod..":crystal_ingot"}, 6, {mod..":crystal_block"}, "crystal_crafter_pro", type = t, group = middle
})
sys4_quests.registerQuests()
end

View File

@ -0,0 +1,3 @@
minetest_quests
moreblocks
intllib?

116
moreblocks_quests/init.lua Normal file
View File

@ -0,0 +1,116 @@
-- moreblocks Quests
-- By Sys4
-- This mod add quests based on moreblocks mod
if minetest.get_modpath("minetest_quests")
and minetest.get_modpath("moreblocks") then
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
local ins = table.insert
local up = sys4_quests.updateQuest
---------- Quests for moreblocks mod ----------
local mod = "moreblocks"
local quests = sys4_quests.initQuests(mod, S)
----- Quests Groups -----
local dark = "Dark Age"
local wood = "Wood Age"
local farm = "Farming Age"
local stone = "Stone Age"
local metal = "Metal Age"
local middle = "Middle Age"
-- update quests from default
up('wood_crafter', nil, {mod..":jungle_stick"})
up('sticks_crafter', {mod..":jungle_stick"}, {mod..":fence_jungle_wood"})
up('sticks_crafter_lover', {mod..":jungle_stick"}, nil)
up('wood_builder', nil, {mod..":wood_tile"})
up('stone_digger', nil, {"default:mossycobble"})
up('furnace_crafter', nil, {"default:glass"})
up('glass_builder', nil, {mod..":clean_glass", mod..":coal_glass"})
up('cobble_builder', nil, {mod..":stone_tile", mod..":split_stone_tile", mod..":split_stone_tile_alt"})
up('stone_builder', nil, {mod..":cactus_checker", mod..":circle_stone_bricks", mod..":coal_checker", mod..":coal_stone", mod..":plankstone"})
up('brick_builder', nil, {mod..":cactus_brick", mod..":grey_bricks"})
up('iron_digger', nil, {mod..":circular_saw", mod..":iron_glass", mod..":iron_stone"})
up('iron_digger_lover', nil, {mod..":iron_checker"})
up('mese_digger', nil, {mod..":trap_glass", mod..":trap_stone"})
local t = "dig"
-- dirt_digger
ins(quests, {
'dirt_digger', "Dirt Digger", nil, {"default:dirt", "default:dirt_with_grass", "default:dirt_with_dry_grass", "default:dirt_with_snow"}, 1, {"default:dirt_with_grass"}, nil, type = t, group = dark
})
-- tree_digger_lover
ins(quests, {
'tree_digger_lover', "Tree Digger Lover", nil, {"default:tree", "default:jungletree"}, 7, {mod..":all_faces_tree", mod..":all_faces_jungle_tree"}, nil, type = t, group = wood
})
-- junglegrass_digger
ins(quests, {
'junglegrass_digger', "Jungle Grass Digger", nil, {"default:junglegrass"}, 3, {mod..":rope", mod..":sweeper", mod..":empty_bookshelf"}, "book_crafter", type = t
})
-- stone_digger_master
ins(quests, {
'stone_digger_master', "Stone Digger Master", nil, {"default:stone"}, 1, {mod..":cobble_compressed", "default:cobble"}, "stone_digger_expert", type = t, group = stone
})
t = "craft"
-- unlock_copperpatina
ins(quests, {
'unlock_copperpatina', "Unlock Copper Patina", nil, {"default:copperblock"}, 1, {mod..":copperpatina"}, {"copper_digger", "iron_digger_pro"}, type = t, group = metal
})
-- unlock_trap_glow_glass
ins(quests, {
'unlock_trap_glow_glass', "Unlock Trap Glow Glass", nil, {mod..":glow_glass"}, 1, {mod..":trap_glow_glass"}, {"torch_placer", "mese_digger"}, type = t
})
-- unlock_trap_super_glow_glass
ins(quests, {
'unlock_trap_super_glow_glass', "Unlock Trap Super Glow Glass", nil, {mod..":super_glow_glass"}, 1, {mod..":trap_super_glow_glass"}, {"glow_glass_builder", "mese_digger"}, type = t
})
t = "place"
-- iron_stone_builder
ins(quests, {
'iron_stone_builder', "Iron Stone Builder", nil, {mod..":iron_stone"}, 1, {mod..":iron_stone_bricks"}, "iron_digger", type = t
})
-- coal_stone_builder
ins(quests, {
'coal_stone_builder', "Coal Stone Builder", nil, {mod..":coal_stone"}, 1, {mod..":coal_stone_bricks"}, "stone_builder", type = t
})
-- torch_placer
ins(quests, {
'torch_placer', "Torch Placer", nil, {"default:torch"}, 1, {mod..":glow_glass"}, {"coal_digger", "furnace_crafter"}, type = t
})
-- glow_glass_builder
ins(quests, {
'glow_glass_builder', "Glow Glass Builder", nil, {mod..":glow_glass"}, 1, {mod..":super_glow_glass"}, "torch_placer", type = t
})
-- wood_tile_builder
ins(quests, {
'wood_tile_builder', "Wood Tile Builder", nil, {mod..":wood_tile"}, 1, {mod..":wood_tile_center", mod..":wood_tile_up", mod..":wood_tile_down", mod..":wood_tile_left", mod..":wood_tile_right", mod..":wood_tile_flipped", mod..":wood_tile_full"}, "wood_builder", type = t
})
sys4_quests.registerQuests()
end

Binary file not shown.

View File

@ -234,9 +234,11 @@ function sys4_quests.registerQuests()
if quest.custom_level then
maxlevel = quest[5]
end
--print(dump(quest))
if quests.register_quest("sys4_quests:"..quest[1],
{ title = modIntllib(quest[2]),
{ title = modIntllib(quest[2]),
description = sys4_quests.formatDescription(quest, maxlevel, modIntllib),
max = maxlevel,
--autoaccept = sys4_quests.hasDependencies(quest[1]),

View File

@ -1,3 +1,5 @@
minetest_quests
thirsty
ethereal?
intllib?

View File

@ -5,6 +5,34 @@
if minetest.get_modpath("minetest_quests")
and minetest.get_modpath("thirsty") then
-- if ethereal is detected then define the ethereal:bowl as a drinkable container
-- and make it craftable over thus defined by thirsty mod.
-- TODO use the minetest.clear_craft if it is commited one day...
if minetest.get_modpath("ethereal") then
thirsty.config.register_bowl = false
thirsty.config.drink_from_container['ethereal:bowl'] =
thirsty.config.drink_from_container['thirsty:wooden_bowl']
minetest.override_item('ethereal:bowl', {
liquids_pointable = true,
on_use = thirsty.on_use(nil)
})
minetest.register_craft({
output = "thirsty:wooden_bowl 0",
recipe = {
{"group:wood", "", "group:wood"},
{"", "group:wood", ""}
}
})
minetest.register_craft({
output = "ethereal:bowl",
recipe = {
{"group:wood", "", "group:wood"},
{"", "group:wood", ""}
}
})
end
local S
if minetest.get_modpath("intllib") then
@ -29,7 +57,9 @@ and minetest.get_modpath("thirsty") then
local middle = "Middle Age"
-- update quests from default
up('wood_crafter', nil, {mod..":wooden_bowl"})
if not minetest.get_modpath("ethereal") then
up('wood_crafter', nil, {mod..":wooden_bowl"})
end
up('mese_digger', nil, {mod..":water_fountain"})