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

@@ -108,10 +108,9 @@ namespace OpenRA.Mods.RA
if (!Cloaked || self.Owner.IsAlliedWith(viewer))
return true;
// TODO: Change this to be per-player? A cloak detector revealing to everyone is dumb
return self.World.ActorsWithTrait<DetectCloaked>().Any(a =>
a.Actor.Owner.Stances[self.Owner] != Stance.Ally &&
(self.Location - a.Actor.Location).Length < a.Actor.Info.Traits.Get<DetectCloakedInfo>().Range);
var centerPosition = self.CenterPosition;
return self.World.ActorsWithTrait<DetectCloaked>().Any(a => a.Actor.Owner.IsAlliedWith(viewer) &&
(centerPosition - a.Actor.CenterPosition).Length < WRange.FromCells(a.Actor.Info.Traits.Get<DetectCloakedInfo>().Range).Range);
}
public Color RadarColorOverride(Actor self)