Fix cloak detectors revealing for everyone.

They now only reveal for their owner and their allies.
This commit is contained in:
Paul Chote
2013-08-18 15:01:13 +12:00
parent 1e53434e45
commit 9bbeb63989
2 changed files with 5 additions and 9 deletions

View File

@@ -33,15 +33,12 @@ namespace OpenRA.Mods.RA
cloak = self.TraitOrDefault<Cloak>();
}
public virtual bool TargetableBy(Actor self, Actor byActor)
public virtual bool TargetableBy(Actor self, Actor viewer)
{
if (cloak == null || !cloak.Cloaked)
return true;
if (self.Owner.IsAlliedWith(byActor.Owner))
return true;
return self.World.ActorsWithTrait<DetectCloaked>().Any(a => (self.Location - a.Actor.Location).Length < a.Actor.Info.Traits.Get<DetectCloakedInfo>().Range);
return cloak.IsVisible(self, viewer.Owner);
}
public virtual string[] TargetTypes { get { return info.TargetTypes; } }