add sound to torchspines

This commit is contained in:
FaceDeer
2022-08-16 00:03:43 -06:00
parent 5dbf0248e3
commit f47db1e0c2
9 changed files with 151 additions and 7 deletions

View File

@ -1,4 +1,4 @@
name = df_trees
description = Adds various types of underground fungal "trees". Light kills their saplings, they only grow in the dark.
depends = df_dependencies
optional_depends = doc, basic_materials, df_farming, mapgen_helper
optional_depends = doc, basic_materials, df_farming, mapgen_helper, looped_node_sound

Binary file not shown.

Binary file not shown.

View File

@ -1,2 +1,5 @@
dfcaverns_fungus_footstep are from https://freesound.org/people/jakeh111/sounds/60853/ under CC-BY-SA 3.0 in 2008 by jakeh111
dfcaverns_spore_tree_pitter_patter are from https://freesound.org/people/martinimeniscus/sounds/199332/ by martinimeniscus under the CC0 public domain license
dfcaverns_spore_tree_pitter_patter are from https://freesound.org/people/martinimeniscus/sounds/199332/ by martinimeniscus under the CC0 public domain license
dfcaverns_torchspine_loop is from https://freesound.org/people/PegasusCZ/sounds/569332/ by PegasusCZ under the CC0 public domain license
dfcaverns_torchspine_ignite is from https://freesound.org/people/deleted_user_4772965/sounds/256510/ by Patrick Hunt5 under the CC0 public domain license

View File

@ -3,6 +3,7 @@ local S = minetest.get_translator(minetest.get_current_modname())
local torchspine_min_delay = df_trees.config.blood_thorn_delay_multiplier*df_trees.config.tree_min_growth_delay
local torchspine_max_delay = df_trees.config.blood_thorn_delay_multiplier*df_trees.config.tree_max_growth_delay
local looped_node_sound_modpath = minetest.get_modpath("looped_node_sound")
-- Rather than make this whole mod depend on subterrane just for this, I copied and pasted a chunk of stalactite code.
local x_disp = 0.125
@ -130,6 +131,7 @@ minetest.register_node("df_trees:torchspine_1", {
local above_def = minetest.registered_nodes[minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name]
if above_def and above_def.buildable_to then
minetest.swap_node(pos, {name="df_trees:torchspine_1_lit", param2=minetest.get_node(pos).param2})
minetest.sound_play({pos = pos}, {name="dfcaverns_torchspine_ignite"}, true)
end
minetest.get_node_timer(pos):start(math.random(torchspine_min_delay, torchspine_max_delay))
end,
@ -169,6 +171,15 @@ minetest.register_node("df_trees:torchspine_1_lit", {
end,
})
if looped_node_sound_modpath then
looped_node_sound.register({
node_list = {"df_trees:torchspine_1_lit"},
sound = "dfcaverns_torchspine_loop",
max_gain = 0.5,
gain_per_node = 0.05,
})
end
minetest.register_node("df_trees:torchspine_2", {
description = S("Torchspine"),
_doc_items_longdesc = df_trees.doc.torchspine_desc,
@ -299,6 +310,7 @@ minetest.register_node("df_trees:torchspine_ember", {
on_timer = function(pos)
minetest.swap_node(pos, {name="df_trees:torchspine_1", param2=minetest.get_node(pos).param2})
minetest.get_node_timer(pos):start(math.random(torchspine_min_delay, torchspine_max_delay))
minetest.sound_play({pos = pos}, {name="dfcaverns_torchspine_ignite"}, true)
end,
})
@ -359,10 +371,8 @@ df_trees.spawn_torchspine_vm = function(vi, area, data, data_param2, height, lit
local pos = area:position(vi)
pos.y = pos.y+height-1
minetest.after(10, function()
local node = minetest.get_node(pos)
minetest.get_node_timer(pos):start(math.random()*3000)
end)
local node = minetest.get_node(pos)
minetest.get_node_timer(pos):start(math.random()*3000)
end
minetest.register_lbm({