diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index f4c6e063b..4ad960bc2 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 6e790f2d5..fa3510ca8 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 2c8fcb180..6e3355421 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 4a7152acd..896dd4b30 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 2eab57417..e290af52a 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 000000000..0fde5dc80 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 000000000..0a2efd469 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 000000000..d371fc7ae 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 000000000..956db6ac4 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 12e4a8f59..bb72d4601 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, },