diff --git a/mobs/mordain.lua b/mobs/mordain.lua index 9915546..192f2d2 100644 --- a/mobs/mordain.lua +++ b/mobs/mordain.lua @@ -60,7 +60,7 @@ mobs:register_mob("nssm:mordain", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") if minetest.line_of_sight( {x = p.x, y = p.y + 1.5, z = p.z}, diff --git a/mobs/morde.lua b/mobs/morde.lua index c0cc95f..1b31fc9 100644 --- a/mobs/morde.lua +++ b/mobs/morde.lua @@ -62,7 +62,7 @@ mobs:register_mob("nssm:morde", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") self.health = self.health + (self.damage * 2) diff --git a/mobs/morgut.lua b/mobs/morgut.lua index 762bf4e..8808039 100644 --- a/mobs/morgut.lua +++ b/mobs/morgut.lua @@ -71,7 +71,7 @@ mobs:register_mob("nssm:morgut", { self.state = "" - mobs:set_animation(self, "run") + self:set_animation("run") self.object:set_yaw(self.dir) @@ -99,7 +99,7 @@ mobs:register_mob("nssm:morgut", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") local m = 2 @@ -182,7 +182,7 @@ mobs:register_mob("nssm:morgut", { end end - mobs:set_animation(self, "run") + self:set_animation("run") self.flag = 1 self.morgut_timer = os.time() diff --git a/mobs/morlu.lua b/mobs/morlu.lua index 3c4de9c..9ade933 100644 --- a/mobs/morlu.lua +++ b/mobs/morlu.lua @@ -73,7 +73,7 @@ mobs:register_mob("nssm:morlu", { self.state = "" - mobs:set_animation(self, "run") + self:set_animation("run") self:set_yaw(self.dir) @@ -99,7 +99,7 @@ mobs:register_mob("nssm:morlu", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") local m = 1 @@ -215,7 +215,7 @@ mobs:register_mob("nssm:morlu", { armor_elements[steal_pos].name end - mobs:set_animation(self, "run") + self:set_animation("run") self.flag = 1 self.morlu_timer = os.time() @@ -239,7 +239,7 @@ mobs:register_mob("nssm:morlu", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") if minetest.line_of_sight( {x = p.x, y = p.y +1.5, z = p.z}, diff --git a/mobs/morvalar.lua b/mobs/morvalar.lua index 72b5322..cc60288 100644 --- a/mobs/morvalar.lua +++ b/mobs/morvalar.lua @@ -2,6 +2,18 @@ local time_limit = 120 local level = tonumber(minetest.settings:get("nssb.morlendor_level")) or -30000 local posmorvalarblock = {x = 827, y = level -94, z = -817} +local function perpendicular_vector(vec) --returns a vector rotated of 90° in 2D + + local ang = math.pi / 2 + local c = math.cos(ang) + local s = math.sin(ang) + local i = vec.x * c - vec.z * s + local k = vec.x * s + vec.z * c + local j = 0 + + return {x = i, y = j, z = k} +end + local function respawn_block(self) --start a timer if it doesn't exist self.stop_timer = self.stop_timer or os.time() @@ -90,7 +102,7 @@ mobs:register_mob("nssm:morvalar", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") local m = 1 @@ -193,7 +205,7 @@ mobs:register_mob("nssm:morvalar", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") if minetest.line_of_sight( {x = p.x, y = p.y + 1.5, z = p.z}, @@ -291,7 +303,7 @@ mobs:register_mob("nssm:morvalar6", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") local m = 2 @@ -439,7 +451,7 @@ mobs:register_mob("nssm:morvalar5", { minetest.after(2, function(self) - mobs:set_animation(self, "punch") + self:set_animation("punch") nssm:tnt_boom_nssm(p, { damage_radius = 6, radius = 5, ignore_protection = false}) @@ -523,7 +535,7 @@ mobs:register_mob("nssm:morvalar4", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") if minetest.line_of_sight({x = p.x, y = p.y + 1.5, z = p.z}, {x = s.x, y = s.y + 1.5, z = s.z}) == true then @@ -759,7 +771,7 @@ mobs:register_mob("nssm:morvalar2", { if counter < 2 then - mobs:set_animation(self, "punch") + self:set_animation("punch") local v = vector.subtract(p,s) @@ -860,7 +872,7 @@ mobs:register_mob("nssm:morvalar1", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") local m = 3 @@ -962,7 +974,7 @@ mobs:register_mob("nssm:morvalar0", { local s = self.object:get_pos() local p = self.attack:get_pos() - mobs:set_animation(self, "punch") + self:set_animation("punch") local m = 5 --velocity of the kamehameha local obj = minetest.add_entity(s, "nssm:kamehameha_bad") diff --git a/mobs/morvy.lua b/mobs/morvy.lua index df9848b..4e170e4 100644 --- a/mobs/morvy.lua +++ b/mobs/morvy.lua @@ -52,13 +52,13 @@ mobs:register_mob("nssm:morvy", { custom_attack = function(self) - mobs:set_animation(self, "stand") + self:set_animation("stand") self.morvy_counter = (self.morvy_counter or 0) + 1 if self.morvy_counter == 4 then - mobs:set_animation(self, "punch") + self:set_animation("punch") self.morvy_counter = 0 diff --git a/mobs/pumpking.lua b/mobs/pumpking.lua index 3870f9a..89c113b 100644 --- a/mobs/pumpking.lua +++ b/mobs/pumpking.lua @@ -67,7 +67,7 @@ mobs:register_mob("nssm:pumpking", { if (os.time() - self.pumpking_timer) > 3 then - mobs:set_animation(self, "punch") + self:set_animation("punch") self.pumpking_timer = os.time()