1
0
mirror of https://codeberg.org/tenplus1/ambience.git synced 2025-07-12 13:30:28 +02:00

Compare commits

...

4 Commits

Author SHA1 Message Date
4acc464a8a add nil check for eye level 2021-10-29 07:36:23 +01:00
e19fca8446 fix nil check 2021-07-13 16:05:42 +01:00
d0cea9d033 play cave drips when near water 2021-07-05 09:11:21 +01:00
19673910d9 increase gain for ice crack 2021-07-03 14:08:28 +01:00
2 changed files with 11 additions and 7 deletions

View File

@ -104,7 +104,8 @@ end)
local get_ambience = function(player, tod, name) local get_ambience = function(player, tod, name)
-- play server or local music if music enabled and music not already playing -- play server or local music if music enabled and music not already playing
if play_music and MUSICVOLUME > 0 and playing[name].music < 0 then if play_music and MUSICVOLUME > 0
and playing[name] and playing[name].music < 0 then
-- count backwards -- count backwards
playing[name].music = playing[name].music -1 playing[name].music = playing[name].music -1
@ -133,13 +134,14 @@ local get_ambience = function(player, tod, name)
-- get foot and head level nodes at player position -- get foot and head level nodes at player position
local pos = player:get_pos() ; if not pos then return end local pos = player:get_pos() ; if not pos then return end
local prop = player:get_properties() local prop = player:get_properties()
local eyeh = prop.eye_height or 1.47 -- eye level with fallback
pos.y = pos.y + prop.eye_height -- eye level pos.y = pos.y + eyeh
local nod_head = pplus and name and playerplus[name] local nod_head = pplus and name and playerplus[name]
and playerplus[name].nod_head or minetest.get_node(pos).name and playerplus[name].nod_head or minetest.get_node(pos).name
pos.y = (pos.y - prop.eye_height) + 0.2 -- foot level pos.y = (pos.y - eyeh) + 0.2 -- foot level
local nod_feet = pplus and name and playerplus[name] local nod_feet = pplus and name and playerplus[name]
and playerplus[name].nod_feet or minetest.get_node(pos).name and playerplus[name].nod_feet or minetest.get_node(pos).name

View File

@ -139,7 +139,7 @@ ambience.add_set("lava", {
}) })
else else
print ("[Ambience] found env_sounds, flowing water sounds disabled.") print ("[Ambience] found env_sounds, flowing water and lava sounds disabled.")
end end
-- Only add fire sounds set if flame_sound is disabled or fire redo active -- Only add fire sounds set if flame_sound is disabled or fire redo active
@ -238,7 +238,7 @@ ambience.add_set("ice", {
frequency = 250, frequency = 250,
sounds = { sounds = {
{name = "icecrack", length = 23}, {name = "icecrack", length = 23, gain = 0.7},
{name = "desertwind", length = 8}, {name = "desertwind", length = 8},
{name = "wind", length = 9} {name = "wind", length = 9}
}, },
@ -280,7 +280,7 @@ ambience.add_set("desert", {
end end
}) })
-- Cave sounds play when below player position Y -25 -- Cave sounds play when below player position Y -25 and water nearby
ambience.add_set("cave", { ambience.add_set("cave", {
@ -293,7 +293,9 @@ ambience.add_set("cave", {
sound_check = function(def) sound_check = function(def)
if def.pos.y < -25 then local c = (def.totals["default:water_source"] or 0)
if c > 0 and def.pos.y < -25 then
return "cave" return "cave"
end end
end end