From caa12a7d965f5ef2de9118d601ef3e9a9976fb53 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Wed, 14 Jun 2023 07:39:12 +0100 Subject: [PATCH] flying ducks change to flaoting ducks when in water --- mobs/flying_duck.lua | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mobs/flying_duck.lua b/mobs/flying_duck.lua index 9c3ae76..0fd7dcd 100644 --- a/mobs/flying_duck.lua +++ b/mobs/flying_duck.lua @@ -49,5 +49,23 @@ mobs:register_mob("nssm:flying_duck", { run_end = 220, punch_start = 110, punch_end = 140 - } + }, + do_custom = function(self, dtime) + + -- 5 second timer + self._land_timer = (self._land_timer or 0) + dtime + if self._land_timer < 5 then return end + self._land_timer = 0 + + -- if flying duck lands in water, change to walking/floating duck + if minetest.get_item_group(self.standing_in, "water") + and minetest.get_item_group(self.standing_on, "water") then + + local pos = self.object:get_pos() + + self.object:remove() + + minetest.add_entity(pos, "nssm:duck") + end + end })