Small stuff (#8)

* cave pearls and spindleshrooms (name subject to change) now are things. Not in mapgen yet.

* add the wandering "gas wisp" to light up some of the gas-filled caverns

* make wisps rarely spawned by gas explosions

* revamp spindlestems into a sort of mineral detector, add glowing extract bottles

* optimize pngs

* add gas wisps to mapgen

* add spindlestems to cavern level 1, most level 1 warrens are now lit up

* update internal names, adjust mineral detection range

* add cave pearls to some level 2 warrens and tunnels

* switch experimental simplecrafting_lib support to crafting mod

* Pearls don't grow on falling nodes

* put spindlestems with goblin caps, make them always grow red when near those

* bunch of documentation

* add castle coral to replace cave coral, which has been repurposed into column decoration

* documentation for cave coral, update some locale text

* add a recipe for cooking oil into paraffin

* add old bones to the underworld

* MIT license for bones_loot

* also cook black cap gills into paraffin, they're oily

* add salt crystals to the bloodthorn caverns, illuminating the floor

* documentation for salt crystals

* auto-generate minetestmapper colors.

need to update the spindlestem colours manually

* add spindlestem to fungiwood caverns too, and increase warren coverage

* in anticipation of eventually adding stuff below the Slade, making glowing pit erosion self-limiting.

* add a bit of displacement to the underside of the slade layer

* Unique images and names for cooking recipes.

* revamp bones loot

* add softer footsteps for some fungus types

* update mapgen_helper

* update cave coral screenshot

* mention glowing salts in bloodthorn caverns
This commit is contained in:
FaceDeer
2019-08-18 22:20:07 -05:00
committed by GitHub
parent 5e113ec200
commit 12919e9a16
184 changed files with 2787 additions and 521 deletions

View File

@ -1,6 +1,8 @@
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP.."/intllib.lua")
dofile(MP.."/wisp.lua")
local gas_desc
local gas_usage
@ -150,6 +152,10 @@ if minetest.get_modpath("tnt") then
action = function(pos, node)
if minetest.find_node_near(pos, 1, "air") then
tnt.boom(pos, {radius=1, damage_radius=6})
-- One in a hundred explosions will spawn a gas wisp
if math.random() < 0.01 then
minetest.set_node(pos, {name="mine_gas:gas_wisp"})
end
end
end,
})

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-03-26 00:49-0600\n"
"POT-Creation-Date: 2019-08-05 20:30-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,35 +17,52 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: dfcaverns\mine_gas\init.lua:11
#: mine_gas\init.lua:13
msgid ""
"Gaseous hydrocarbons formed from the detritus of long dead plants and "
"animals processed by heat and pressure deep within the earth."
msgstr ""
#: dfcaverns\mine_gas\init.lua:12
#: mine_gas\init.lua:14
msgid ""
"Gas is highly hazardous. Heavier than air, it pools in deep caverns and "
"asphyxiates the unwary."
msgstr ""
#: dfcaverns\mine_gas\init.lua:14
#: mine_gas\init.lua:16
msgid ""
"When exposed to air and an ignition source it can produce a deadly explosion."
msgstr ""
#: dfcaverns\mine_gas\init.lua:17
#: mine_gas\init.lua:19
msgid "Some coal deposits have cracks that seep a steady flow of mine gas."
msgstr ""
#: dfcaverns\mine_gas\init.lua:18
#: mine_gas\init.lua:20
msgid "Mining out such a deposit seals the crack."
msgstr ""
#: dfcaverns\mine_gas\init.lua:26
#: mine_gas\init.lua:28
msgid "Mine Gas"
msgstr ""
#: dfcaverns\mine_gas\init.lua:46
#: mine_gas\init.lua:48
msgid "Gas Seep"
msgstr ""
#: mine_gas\wisp.lua:8
msgid ""
"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."
msgstr ""
#: mine_gas\wisp.lua:9
msgid ""
"Gas Wisps have no known use, and fortunately they are not hostile or very "
"dangerous."
msgstr ""
#: mine_gas\wisp.lua:13
msgid "Gas Wisp"
msgstr ""

View File

@ -1 +1,4 @@
name = mine_gas
name = mine_gas
description = An explosive, asphyxiating heavier-than-air gas to add hazards to caves
depends = default
optional_depends = tnt, doc

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

86
mine_gas/wisp.lua Normal file
View File

@ -0,0 +1,86 @@
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP.."/intllib.lua")
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,
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 = true,
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
})
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,
})