From 4bdd8eaa5ffb4b8d58314e028a2be327aa48f046 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Sun, 23 Apr 2023 16:34:35 +0100 Subject: [PATCH] 2nd attempt at clamping yaw to stop spinny mobs --- api.lua | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/api.lua b/api.lua index 32eea24..ea5404e 100644 --- a/api.lua +++ b/api.lua @@ -25,7 +25,7 @@ local use_cmi = minetest.global_exists("cmi") mobs = { mod = "redo", - version = "20230403", + version = "20230423", intllib = S, invis = minetest.global_exists("invisibility") and invisibility or {} } @@ -383,6 +383,19 @@ function mob_class:set_yaw(yaw, delay) delay = mob_smooth_rotate and (delay or 0) or 0 + -- clamp yaw to a 360 range + if deg(self.object:get_yaw()) > 360 then + self.object:set_yaw(rad(0)) + elseif deg(self.object:get_yaw()) < 0 then + self.object:set_yaw(rad(360)) + end + + if deg(yaw) > 360 then + yaw = yaw % 360 + elseif deg(yaw) < 0 then + yaw = ((360 * 5) - yaw) % 360 + end + if delay == 0 then self.object:set_yaw(yaw)