diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index f4c6e063..4ad960bc 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -2160,7 +2160,9 @@ local follow_flop = function(self) self.object:set_acceleration({x = 0, y = DEFAULT_FALL_SPEED, z = 0}) local sdef = minetest.registered_nodes[self.standing_on] + -- Flop on ground if sdef and sdef.walkable then + mob_sound(self, "flop") self.object:set_velocity({ x = math.random(-FLOP_HOR_SPEED, FLOP_HOR_SPEED), y = FLOP_HEIGHT, diff --git a/mods/ENTITIES/mcl_mobs/api.txt b/mods/ENTITIES/mcl_mobs/api.txt index 6e790f2d..fa3510ca 100644 --- a/mods/ENTITIES/mcl_mobs/api.txt +++ b/mods/ENTITIES/mcl_mobs/api.txt @@ -151,6 +151,7 @@ functions needed for the mob to work properly which contains the following: 'damage' sound heard when mob is hurt. 'death' played when mob is killed. 'jump' played when mob jumps. There's a built-in cooloff timer to avoid sound spam + 'flop' played when mob flops (like a stranded fish) 'fuse' sound played when mob explode timer starts. 'explode' sound played when mob explodes. diff --git a/mods/ENTITIES/mobs_mc/LICENSE-media.md b/mods/ENTITIES/mobs_mc/LICENSE-media.md index 2c8fcb18..6e335542 100644 --- a/mods/ENTITIES/mobs_mc/LICENSE-media.md +++ b/mods/ENTITIES/mobs_mc/LICENSE-media.md @@ -136,6 +136,10 @@ Origin of those models: * `mobs_mc_blaze_breath.ogg` * `mobs_mc_blaze_died.ogg` * `mobs_mc_squid_hurt.ogg` +* [kyles](https://freesound.org/people/kyles/) + * `mobs_mc_squid_flop.*.ogg` (CC0) + * Source: + * `mobs_mc_squid_flop.*.ogg` (CC0) * [thefilmbakery](https://freesound.org/people/thefilmbakery/) (CC0) * `mobs_mc_blaze_hurt.ogg` * Source: diff --git a/mods/ENTITIES/mobs_mc/guardian.lua b/mods/ENTITIES/mobs_mc/guardian.lua index 4a7152ac..896dd4b3 100644 --- a/mods/ENTITIES/mobs_mc/guardian.lua +++ b/mods/ENTITIES/mobs_mc/guardian.lua @@ -30,6 +30,7 @@ mobs:register_mob("mobs_mc:guardian", { war_cry = "mobs_mc_guardian_random", damage = {name="mobs_mc_guardian_hurt", gain=0.3}, death = "mobs_mc_guardian_death", + flop = "mobs_mc_squid_flop", distance = 16, }, animation = { diff --git a/mods/ENTITIES/mobs_mc/guardian_elder.lua b/mods/ENTITIES/mobs_mc/guardian_elder.lua index 2eab5741..e290af52 100644 --- a/mods/ENTITIES/mobs_mc/guardian_elder.lua +++ b/mods/ENTITIES/mobs_mc/guardian_elder.lua @@ -32,6 +32,7 @@ mobs:register_mob("mobs_mc:guardian_elder", { war_cry = "mobs_mc_guardian_random", damage = {name="mobs_mc_guardian_hurt", gain=0.3}, death = "mobs_mc_guardian_death", + flop = "mobs_mc_squid_flop", base_pitch = 0.6, distance = 16, }, diff --git a/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.1.ogg b/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.1.ogg new file mode 100644 index 00000000..0fde5dc8 Binary files /dev/null and b/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.1.ogg differ diff --git a/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.2.ogg b/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.2.ogg new file mode 100644 index 00000000..0a2efd46 Binary files /dev/null and b/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.2.ogg differ diff --git a/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.3.ogg b/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.3.ogg new file mode 100644 index 00000000..d371fc7a Binary files /dev/null and b/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.3.ogg differ diff --git a/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.4.ogg b/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.4.ogg new file mode 100644 index 00000000..956db6ac Binary files /dev/null and b/mods/ENTITIES/mobs_mc/sounds/mobs_mc_squid_flop.4.ogg differ diff --git a/mods/ENTITIES/mobs_mc/squid.lua b/mods/ENTITIES/mobs_mc/squid.lua index 12e4a8f5..bb72d460 100644 --- a/mods/ENTITIES/mobs_mc/squid.lua +++ b/mods/ENTITIES/mobs_mc/squid.lua @@ -24,6 +24,7 @@ mobs:register_mob("mobs_mc:squid", { sounds = { damage = "mobs_mc_squid_hurt", death = "mobs_mc_squid_hurt", + flop = "mobs_mc_squid_flop", -- TODO: sounds: random, damage, death distance = 16, },