mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2024-12-29 04:10:34 +01:00
0a0c97b74e
* latest versions of mapgen_helper and subterrane * initial work * call it "minetest_game" compatibility instead of "default" compatibility * Getting started on moving all default dependencies to a single root mod * distilling out more dependencies * fix some typos * more default dependencies * beds * start getting some MCL equivalents set up * mine gas dependencies * reorganize * add some mapgen stuff * getting close to actually being able to run mineclone with this * it actually runs! Crashes with out-of-memory error when you try to go below -64, but it's a start. * hide flowing pit plasma from creative inventory * mineclone 5 settings * Update subterrane * get rid of meselamp dependency, bring in ancient lanterns from deep roads * stair dependencies * add mcl fences * add mcl blast resistance and hardness to everything. Also an alternate name for Nethercap in MCL, since "nether" has another meaning there. * buckets of oil and syrup should work in mineclone now * 'splosions! * make hunters avoid repaired ancient lanterns * mapgen torchspine wasn't having its timer set * split mapgen compatibility code into its own file * bypass dependency indirection for df_farming. * apply threshold alpha to food items, they look better that way * bypass dependency indirection for df_mapitems * bypass dependency indirection for df_primordial_items * bypass dependency indirection for df_trees * bypass dependency indirection for df_underworld_items * bypass dependency indirection for df_caverns * fixing up the puzzle seal to work in both * fix puzzle seal formspec for mcl * create built-in substitutes for fireflies and bones mods for when those aren't available * set up mcl dungeon loot for underworld warriors, port over some translations from default * overlooked a debug * add itemslot backgrounds for mcl * added mineclone groups to all registered nodes. TODO: craftitems. This was extremely tedious. Completely untested, aside from simply running the game. * minor fixes to the built-in bones node * eatable group for edibles * clean up some TODOs * adjust pit plasma abm conditions * add df_ambience * fixing up explosions. Also make slade sand diggable in mcl, and fix a bug in web generators * make tower cap caves less chirpy, fix bigger goblin hut schematic, allow glowing spindlestem extract bottles * avoid an undeclared global check * alas, cave pearls aren't set up right for attached_node_facedir. * bunch of work on mineclone ores, moved main config into df_dependencies * add a few more ores * update depends in mod.conf * add opaque group to light-sensitive dirt types Mineclone adds the "opaque" group only to non-light nodes, and torches check for the opaque group to decide whether they can be placed there. light-sensitive nodes need the "light" paramtype to work, though. So adding the opaque group manually to these. * add a touch of reverb to one of the whisper tracks, it didn't fit with the others without it * bloodthorn also needs to be set opaque * add sound to torchspines * isolate Nethercap translation name to make it easier to swap out in Mineclone contexts * ambience tweak * fix dirt spreads https://github.com/FaceDeer/dfcaverns/issues/35 * adding achievements! Almost all untested yet. * fix a few achievements glitches * tweak some more achievements, add delay when achievements unlock other achievements * fix farming achievements, fix spindlestem callbacks on place * icons for farming achievements * more achievement icons, fix ancient lantern achievement * two more icons, update text * add icons for upper cavern layers * all achievements have icons now. Also add another sound to the magma sea ambience * hook into awards' trigger system to get "x/y" progress displayed for the multi-achievement achievements * ironically, Mineclone has an old version of awards that is incompatible with my trigger work. * every award should now have a description and a difficulty. * removing leftovers * missing callbacks for farmables * put growth restrictions on farmables so the achievement doesn't trigger inappropriately. * enable ores in MCL2, fix some undeclared globals, fix icecap growth in MCL (achievements are a good debugging tool) * get *all* the copper and iron containing nodes * fix old awards mod's handling of grouped dig items * Add a little bonus for players who activate a slade breacher - a handheld 'splosion tool * used the wrong drop method * beef up explosions in MCL, make slade brick craftable from slade sand and lava * better creative mode checks, fix crash when digging walls in MCL * Update subterrane * various bugfixes and tweaks * whipping up a simple puzzle chest to give a clue about ancient numbering The coding is done, but UI and a node mesh need to be done * prepare for some art tomorrow * chest node and sounds * images for the combination dials * add puzzle chests to the underworld buildings * update translations * oops, can't initialize the contents of puzzle chests every time or players get endless stuff * add backgrounds to item slots in MCL * wrap the existing function rather than copy and pasting it * fix bucket dependency in cooking recipes * add _mcl_saturation to edibles
159 lines
11 KiB
Lua
159 lines
11 KiB
Lua
if minetest.get_modpath("dungeon_loot") then
|
|
|
|
if df_caverns.config.enable_underworld then
|
|
dungeon_loot.register({
|
|
{name = "df_underworld_items:glow_amethyst", chance = 0.3, count = {1, 12}, y = {-32768, df_caverns.config.lava_sea_level}},
|
|
})
|
|
end
|
|
|
|
if df_caverns.config.enable_oil_sea and minetest.get_modpath("bucket") then
|
|
dungeon_loot.register({
|
|
{name = "oil:oil_bucket", chance = 0.5, count = {1, 3}, y = {-32768, df_caverns.config.ymax}},
|
|
})
|
|
end
|
|
|
|
if df_caverns.config.enable_lava_sea then
|
|
dungeon_loot.register({
|
|
{name = "df_mapitems:mese_crystal", chance = 0.25, count = {1, 5}, y = {-32768, df_caverns.config.sunless_sea_min}},
|
|
{name = "df_mapitems:glow_mese", chance = 0.1, count = {1, 3}, y = {-32768, df_caverns.config.sunless_sea_min}},
|
|
})
|
|
end
|
|
|
|
dungeon_loot.register({
|
|
{name = "df_farming:cave_wheat_seed", chance = 0.5, count = {1, 10}, y = {-32768, df_caverns.config.ymax}},
|
|
{name = "df_farming:cave_bread", chance = 0.8, count = {1, 10}, y = {-32768, df_caverns.config.ymax}},
|
|
{name = "df_farming:pig_tail_thread", chance = 0.7, count = {1, 10}, y = {-32768, df_caverns.config.ymax}},
|
|
{name = "df_farming:plump_helmet_spawn", chance = 0.4, count = {1, 8}, y = {-32768, df_caverns.config.ymax}},
|
|
{name = "df_farming:plump_helmet_4_picked", chance = 0.8, count = {1, 15}, y = {-32768, df_caverns.config.ymax}},
|
|
{name = "df_trees:glowing_bottle_red", chance = 0.6, count = {1, 20}, y = {-32768, df_caverns.config.ymax}},
|
|
{name = "df_trees:glowing_bottle_green", chance = 0.5, count = {1, 20}, y = {-32768, df_caverns.config.ymax}},
|
|
{name = "df_trees:glowing_bottle_cyan", chance = 0.4, count = {1, 15}, y = {-32768, df_caverns.config.ymax}},
|
|
{name = "df_trees:glowing_bottle_golden", chance = 0.3, count = {1, 5}, y = {-32768, df_caverns.config.ymax}},
|
|
|
|
{name = "df_farming:pig_tail_seed", chance = 0.5, count = {1, 10}, y = {-32768, df_caverns.config.level1_min}},
|
|
{name = "df_mapitems:med_crystal", chance = 0.2, count = {1, 2}, y = {-32768, df_caverns.config.level1_min}},
|
|
|
|
{name = "df_farming:dimple_cup_seed", chance = 0.3, count = {1, 10}, y = {-32768, df_caverns.config.level2_min}},
|
|
{name = "df_farming:quarry_bush_seed", chance = 0.3, count = {1, 5}, y = {-32768, df_caverns.config.level2_min}},
|
|
{name = "df_farming:sweet_pod_seed", chance = 0.3, count = {1, 5}, y = {-32768, df_caverns.config.level2_min}},
|
|
{name = "df_mapitems:big_crystal", chance = 0.1, count = {1, 1}, y = {-32768, df_caverns.config.level2_min}},
|
|
{name = "df_trees:torchspine_ember", chance = 0.3, count = {1, 3}, y = {-32768, df_caverns.config.level2_min}},
|
|
{name = "ice_sprites:ice_sprite_bottle", chance = 0.1, count = {1, 1}, y = {-32768, df_caverns.config.level2_min}},
|
|
})
|
|
|
|
end
|
|
|
|
if minetest.get_modpath("bones_loot") and df_caverns.config.enable_underworld then
|
|
|
|
if minetest.get_modpath("default") then
|
|
bones_loot.register_loot({
|
|
{name = "binoculars:binoculars", chance = 0.05, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "boats:boat", chance = 0.05, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "bucket:bucket_empty", chance = 0.3, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "fire:flint_and_steel", chance = 0.3, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "flowers:tulip_black", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "flowers:dandelion_white", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "flowers:dandelion_yellow", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "flowers:rose", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "flowers:tulip", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "flowers:chrysanthemum_green", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "flowers:geranium", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "map:mapping_kit", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "screwdriver:screwdriver", chance = 0.05, count = {1,1}, types = {"underworld_warrior"}},
|
|
-- don't give the player tnt:tnt, they can craft that from this if tnt is enabled for them
|
|
{name = "tnt:gunpowder", chance = 0.4, count = {1,10}, types = {"underworld_warrior"}},
|
|
{name = "tnt:tnt_stick", chance = 0.3, count = {1,6}, types = {"underworld_warrior"}},
|
|
|
|
{name = "vessels:steel_bottle", chance = 0.4, count = {1,3}, types = {"underworld_warrior"}},
|
|
{name = "vessels:glass_bottle", chance = 0.2, count = {1,2}, types = {"underworld_warrior"}},
|
|
{name = "vessels:glass_fragments", chance = 0.1, count = {1,4}, types = {"underworld_warrior"}},
|
|
|
|
{name = "default:book", chance = 0.05, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:paper", chance = 0.1, count = {1,6}, types = {"underworld_warrior"}},
|
|
{name = "default:skeleton_key", chance = 0.05, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:torch", chance = 0.75, count = {1,10}, types = {"underworld_warrior"}},
|
|
|
|
{name = "default:pick_bronze", chance = 0.15, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:pick_steel", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:pick_mese", chance = 0.05, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:pick_diamond", chance = 0.05, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:shovel_bronze", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:shovel_steel", chance = 0.05, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:shovel_mese", chance = 0.025, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:shovel_diamond", chance = 0.025, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:axe_bronze", chance = 0.3, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:axe_steel", chance = 0.5, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:axe_mese", chance = 0.15, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:axe_diamond", chance = 0.15, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:sword_bronze", chance = 0.5, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:sword_steel", chance = 0.75, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:sword_mese", chance = 0.35, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:sword_diamond", chance = 0.35, count = {1,1}, types = {"underworld_warrior"}},
|
|
|
|
{name = "default:coal_lump", chance = 0.5, count = {1,5}, types = {"underworld_warrior"}},
|
|
{name = "default:mese_crystal", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:diamond", chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:steel_ingot", chance = 0.2, count = {1,3}, types = {"underworld_warrior"}},
|
|
{name = "default:copper_ingot", chance = 0.1, count = {1,2}, types = {"underworld_warrior"}},
|
|
{name = "default:bronze_ingot", chance = 0.2, count = {1,5}, types = {"underworld_warrior"}},
|
|
{name = "default:gold_ingot", chance = 0.3, count = {1,3}, types = {"underworld_warrior"}},
|
|
{name = "default:mese_crystal_fragment", chance = 0.4, count = {1,5}, types = {"underworld_warrior"}},
|
|
{name = "default:obsidian_shard", chance = 0.4, count = {1,3}, types = {"underworld_warrior"}},
|
|
{name = "default:flint", chance = 0.3, count = {1,1}, types = {"underworld_warrior"}},
|
|
{name = "default:sign_wall_wood", chance = 0.1, count = {1,4}, types = {"underworld_warrior"}},
|
|
{name = "default:sign_wall_steel", chance = 0.1, count = {1,2}, types = {"underworld_warrior"}},
|
|
{name = "default:ladder_wood", chance = 0.5, count = {1,10}, types = {"underworld_warrior"}},
|
|
{name = "default:ladder_steel", chance = 0.2, count = {1,5}, types = {"underworld_warrior"}},
|
|
{name = "default:meselamp", chance = 0.1, count = {1,2}, types = {"underworld_warrior"}},
|
|
{name = "default:mese_post_light", chance = 0.25, count = {1,5}, types = {"underworld_warrior"}},
|
|
})
|
|
end
|
|
|
|
if minetest.get_modpath("mcl_core") then
|
|
bones_loot.register_loot({
|
|
-- Taken from the ruined portal loot table in mcl
|
|
{name = "mcl_core:iron_nugget", types = {"underworld_warrior"}, chance = 40/50, count ={9, 18}},
|
|
{name = "mcl_core:flint", types = {"underworld_warrior"}, chance = 40/50, count ={9, 18}},
|
|
{name = "mcl_core:obsidian", types = {"underworld_warrior"}, chance = 40/50, count ={1, 2}},
|
|
{name = "mcl_fire:fire_charge", types = {"underworld_warrior"}, chance = 40/50, count ={1, 1}},
|
|
{name = "mcl_fire:flint_and_steel", types = {"underworld_warrior"}, chance = 40/50, count ={1, 1}},
|
|
{name = "mcl_core:gold_nugget", types = {"underworld_warrior"}, chance = 15/50, count ={4, 24}},
|
|
{name = "mcl_core:apple_gold", types = {"underworld_warrior"}, chance = 15/50, count ={1, 1}},
|
|
{name = "mcl_tools:axe_gold", types = {"underworld_warrior"}, chance = 15/50, count ={1, 1}},
|
|
{name = "mcl_farming:hoe_gold", types = {"underworld_warrior"}, chance = 15/50, count ={1, 1}},
|
|
{name = "mcl_tools:pick_gold", types = {"underworld_warrior"}, chance = 15/50, count ={1, 1}},
|
|
{name = "mcl_tools:shovel_gold", types = {"underworld_warrior"}, chance = 15/50, count ={1, 1}},
|
|
{name = "mcl_tools:sword_gold", types = {"underworld_warrior"}, chance = 15/50, count ={1, 1}},
|
|
{name = "mcl_armor:helmet_gold", types = {"underworld_warrior"}, chance = 15/50, count ={1, 1}},
|
|
{name = "mcl_armor:chestplate_gold", types = {"underworld_warrior"}, chance = 15/50, count ={1, 1}},
|
|
{name = "mcl_armor:leggings_gold", types = {"underworld_warrior"}, chance = 15/50, count ={1, 1}},
|
|
{name = "mcl_armor:boots_gold", types = {"underworld_warrior"}, chance = 15/50, count ={1, 1}},
|
|
{name = "mcl_potions:speckled_melon", types = {"underworld_warrior"}, chance = 5/50, count ={4, 12}},
|
|
{name = "mcl_farming:carrot_item_gold", types = {"underworld_warrior"}, chance = 5/50, count ={4, 12}},
|
|
{name = "mcl_core:gold_ingot", types = {"underworld_warrior"}, chance = 5/50, count ={2, 8}},
|
|
{name = "mcl_clock:clock", types = {"underworld_warrior"}, chance = 5/50, count ={1,1}},
|
|
{name = "mesecons_pressureplates:pressure_plate_gold_off", types = {"underworld_warrior"}, chance = 5/50, count ={1,1}},
|
|
{name = "mobs_mc:gold_horse_armor", types = {"underworld_warrior"}, chance = 5/50, count ={1,1}},
|
|
{name = "mcl_bells:bell", types = {"underworld_warrior"}, chance = 1/50, count ={1,1}},
|
|
{name = "mcl_core:apple_gold_enchanted", types = {"underworld_warrior"}, chance = 1/50, count ={1,1}},
|
|
})
|
|
|
|
for flower_name, _ in pairs(mcl_flowers.registered_simple_flowers) do
|
|
bones_loot.register_loot({
|
|
{name = flower_name, chance = 0.1, count = {1,1}, types = {"underworld_warrior"}},
|
|
})
|
|
|
|
end
|
|
|
|
end
|
|
|
|
bones_loot.register_loot({
|
|
{name = "ice_sprites:ice_sprite_bottle", chance = 0.025, count = {1, 1}, types = {"underworld_warrior"}},
|
|
{name = "df_underworld_items:glow_amethyst", chance = 0.25, count = {1, 2}, types = {"underworld_warrior"}},
|
|
})
|
|
|
|
if df_caverns.config.enable_lava_sea then
|
|
bones_loot.register_loot({name = "df_mapitems:mese_crystal", chance = 0.25, count = {1, 2}, types = {"underworld_warrior"}})
|
|
end
|
|
|
|
end |