Add files via upload
parent
01ed90d8fc
commit
2492185db9
31
init.lua
31
init.lua
|
@ -41,6 +41,10 @@ local neighbors ={
|
||||||
|
|
||||||
-- UTILITY FUNCTIONS
|
-- UTILITY FUNCTIONS
|
||||||
|
|
||||||
|
function mobkit.dot(v1,v2)
|
||||||
|
return v1.x*v2.x+v1.y*v2.y+v1.z*v2.z
|
||||||
|
end
|
||||||
|
|
||||||
function mobkit.dir2neighbor(dir)
|
function mobkit.dir2neighbor(dir)
|
||||||
dir.y=0
|
dir.y=0
|
||||||
dir=vector.round(vector.normalize(dir))
|
dir=vector.round(vector.normalize(dir))
|
||||||
|
@ -285,8 +289,8 @@ function mobkit.turn2yaw(self,tyaw,rate)
|
||||||
local nyaw = (yaw+step*dir)%(pi*2)
|
local nyaw = (yaw+step*dir)%(pi*2)
|
||||||
self.object:set_yaw(nyaw-pi)
|
self.object:set_yaw(nyaw-pi)
|
||||||
|
|
||||||
if nyaw==tyaw then return true
|
if nyaw==tyaw then return true, nyaw-pi
|
||||||
else return false end
|
else return false, nyaw-pi end
|
||||||
end
|
end
|
||||||
|
|
||||||
function mobkit.dir_to_rot(v,rot)
|
function mobkit.dir_to_rot(v,rot)
|
||||||
|
@ -571,13 +575,24 @@ function mobkit.goto_next_waypoint(self,tpos)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
function mobkit.go_forward_horizontal(self,yaw,speed) -- sets velocity in yaw direction, y component unaffected
|
function mobkit.go_forward_horizontal(self,speed) -- sets velocity in yaw direction, y component unaffected
|
||||||
local y = self.object:get_velocity().y
|
local y = self.object:get_velocity().y
|
||||||
|
local yaw = self.object:get_yaw()
|
||||||
local vel = vector.multiply(minetest.yaw_to_dir(yaw),speed)
|
local vel = vector.multiply(minetest.yaw_to_dir(yaw),speed)
|
||||||
vel.y = y
|
vel.y = y
|
||||||
self.object:set_velocity(vel)
|
self.object:set_velocity(vel)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function mobkit.drive_to_pos(self,tpos,speed,turn_rate,dist)
|
||||||
|
local pos=self.object:get_pos()
|
||||||
|
dist = dist or 0.2
|
||||||
|
if mobkit.isnear2d(pos,tpos,dist) then return true end
|
||||||
|
local tyaw = minetest.dir_to_yaw(vector.direction(pos,tpos))
|
||||||
|
mobkit.turn2yaw(self,tyaw,turn_rate)
|
||||||
|
mobkit.go_forward_horizontal(self,speed)
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
function mobkit.timer(self,s) -- returns true approx every s seconds
|
function mobkit.timer(self,s) -- returns true approx every s seconds
|
||||||
local t1 = floor(self.time_total)
|
local t1 = floor(self.time_total)
|
||||||
local t2 = floor(self.time_total+self.dtime)
|
local t2 = floor(self.time_total+self.dtime)
|
||||||
|
@ -1469,8 +1484,8 @@ function mobkit.hq_aqua_roam(self,prty,speed)
|
||||||
end
|
end
|
||||||
|
|
||||||
mobkit.turn2yaw(self,tyaw,3)
|
mobkit.turn2yaw(self,tyaw,3)
|
||||||
local yaw = self.object:get_yaw()
|
-- local yaw = self.object:get_yaw()
|
||||||
mobkit.go_forward_horizontal(self,yaw,speed)
|
mobkit.go_forward_horizontal(self,speed)
|
||||||
end
|
end
|
||||||
mobkit.queue_high(self,func,prty)
|
mobkit.queue_high(self,func,prty)
|
||||||
end
|
end
|
||||||
|
@ -1478,8 +1493,8 @@ end
|
||||||
function mobkit.hq_aqua_turn(self,prty,tyaw,speed)
|
function mobkit.hq_aqua_turn(self,prty,tyaw,speed)
|
||||||
local func = function(self)
|
local func = function(self)
|
||||||
local finished=mobkit.turn2yaw(self,tyaw)
|
local finished=mobkit.turn2yaw(self,tyaw)
|
||||||
local yaw = self.object:get_yaw()
|
-- local yaw = self.object:get_yaw()
|
||||||
mobkit.go_forward_horizontal(self,yaw,speed)
|
mobkit.go_forward_horizontal(self,speed)
|
||||||
if finished then return true end
|
if finished then return true end
|
||||||
end
|
end
|
||||||
mobkit.queue_high(self,func,prty)
|
mobkit.queue_high(self,func,prty)
|
||||||
|
@ -1530,7 +1545,7 @@ function mobkit.hq_aqua_attack(self,prty,tgtobj,speed)
|
||||||
mobkit.hq_aqua_turn(self,prty,yaw-pi,speed)
|
mobkit.hq_aqua_turn(self,prty,yaw-pi,speed)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
mobkit.go_forward_horizontal(self,yaw,speed)
|
mobkit.go_forward_horizontal(self,speed)
|
||||||
end
|
end
|
||||||
mobkit.queue_high(self,func,prty)
|
mobkit.queue_high(self,func,prty)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue