Fix yaks trying to attack invalid targets

This commit is contained in:
abcdefg30
2016-10-04 10:04:59 +02:00
parent 5d2a6ff2e7
commit 47968aabdc
4 changed files with 14 additions and 18 deletions

View File

@@ -236,15 +236,14 @@ end
TargetAndAttack = function(yak, target)
if not target or target.IsDead or (not target.IsInWorld) then
local enemies = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == player and self.HasProperty("Health") end)
local enemies = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == player and self.HasProperty("Health") and yak.CanTarget(self) end)
if #enemies > 0 then
target = Utils.Random(enemies)
else
yak.Wait(DateTime.Seconds(5))
end
end
if target and yak.AmmoCount() > 0 then
if target and yak.AmmoCount() > 0 and yak.CanTarget(target) then
yak.Attack(target)
else
yak.ReturnToBase()