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
89 lines
2.6 KiB
Lua
89 lines
2.6 KiB
Lua
local modname = minetest.get_current_modname()
|
|
local S = minetest.get_translator(modname)
|
|
|
|
local wisp_desc
|
|
local wisp_usage
|
|
|
|
if minetest.get_modpath("doc") then
|
|
wisp_desc = S("Mysterious blue flames may occasionally be found flickering on the edges of oil lakes, burning without oxygen and seeming to maintain their size as they drift about through the unbreathable atmosphere.")
|
|
wisp_usage = S("Gas Wisps have no known use, and fortunately they are not hostile or very dangerous.")
|
|
end
|
|
|
|
minetest.register_node("mine_gas:gas_wisp", {
|
|
description = S("Gas Wisp"),
|
|
_doc_items_longdesc = wisp_desc,
|
|
_doc_items_usagehelp = wisp_usage,
|
|
walkable = false,
|
|
is_ground_content = false,
|
|
diggable = false,
|
|
buildable_to = true,
|
|
drawtype = "plantlike",
|
|
waving = 1,
|
|
drowning = 1,
|
|
damage_per_second = 4,
|
|
post_effect_color = {a = 20, r = 20, g = 20, b = 250},
|
|
tiles = {{name = "mine_gas_wisp.png", animation =
|
|
{
|
|
type = "vertical_frames",
|
|
aspect_w = 16,
|
|
aspect_h = 16,
|
|
length = 1.5,
|
|
},
|
|
}},
|
|
light_source = 10,
|
|
use_texture_alpha = "clip",
|
|
groups = {not_in_creative_inventory=0},
|
|
paramtype = "light",
|
|
paramtype2 = "meshoptions",
|
|
place_param2 = 0,
|
|
-- * bit 4 (0x10, decimal 16) - Makes the plant mesh 1.4x larger
|
|
inventory_image = "mine_gas_wisp_inventory.png",
|
|
drop = {},
|
|
sunlight_propagates = true,
|
|
on_blast = function() end, -- unaffected by explosions
|
|
_mcl_blast_resistance = 3600000,
|
|
_mcl_hardness = 0,
|
|
})
|
|
|
|
minetest.register_abm({
|
|
label = "mine_gas:gas wisp movement",
|
|
nodenames = {"mine_gas:gas_wisp"},
|
|
neighbors = {"mine_gas:gas"},
|
|
interval = 1.0,
|
|
chance = 10,
|
|
catch_up = true,
|
|
action = function(pos, node)
|
|
local next_pos = {x=pos.x+math.random(1,3)-2, y=pos.y+math.random(1,3)-2, z=pos.z+math.random(1,3)-2}
|
|
local next_node = minetest.get_node(next_pos)
|
|
if next_node.name == "mine_gas:gas" then
|
|
minetest.swap_node(next_pos, node)
|
|
minetest.swap_node(pos, next_node)
|
|
end
|
|
pos = next_pos
|
|
|
|
end,
|
|
})
|
|
|
|
minetest.register_abm({
|
|
label = "mine_gas:gas wisp extinguish",
|
|
nodenames = {"mine_gas:gas_wisp"},
|
|
neighbors = {"air"},
|
|
interval = 10,
|
|
chance = 1,
|
|
catch_up = true,
|
|
action = function(pos, node)
|
|
for y = -1, 1 do
|
|
for x = -1, 1 do
|
|
for z = -1, 1 do
|
|
local node_name = minetest.get_node({x=pos.x+x, y=pos.y+y, z=pos.z+z}).name
|
|
if node_name == "mine_gas:gas" or minetest.get_item_group(node_name, "flammable") > 0 then
|
|
-- there's gas or a flammable adjacent, don't extinguish
|
|
return
|
|
end
|
|
end
|
|
end
|
|
end
|
|
-- no gas adjacent, extinguish
|
|
minetest.set_node(pos, {name="air"})
|
|
end,
|
|
}) |