behaviours/controlminions.lua
789101112131415161718192021222324252627
end)
function ControlMinions:GetClosestMinion(item, minions)
local pt = item:GetPosition()
local inrange = {}
for k,v in pairs(minions) do
if v ~= item then
local dist = math.sqrt(distsq(pt, v:GetPosition()))
if dist <= self.minionrange then
table.insert(inrange, {mn = v, distance = dist})
end
end
end
if #inrange > 0 then
table.sort(inrange, function(a,b) return (a.distance) < (b.distance) end)
return inrange[1].mn
end
end
function ControlMinions:CanActOn(item)
7891011121314151617181920212223242526272829303132333435
end)
function ControlMinions:GetClosestMinion(item, minions)
local ptx, pty, ptz = item.Transform:GetWorldPosition()
local closest = nil
local closest_dist = nil
local inrange = {}
for k,v in pairs(minions) do
if v ~= item then
local x, y, z = v.Transform:GetWorldPosition()
local dist = math.sqrt(distsq(ptx, ptz, x, z))
if dist <= self.minionrange then
if not closest or dist < closest_dist then
closest = v
closest_dist = dist
end
end
end
end
return closest
end
function ControlMinions:CanActOn(item)
90919293949596
local ba = mn:GetBufferedAction()
if ba then
mn:FacePoint(Vector3(ba.target.Transform:GetWorldPosition()), true)
end
end
9899100101102103104
local ba = mn:GetBufferedAction()
if ba then
mn:ForceFacePoint(ba.target.Transform:GetWorldPosition())
end
end