Merge pull request #2754 from Mailaender/auto-target-desync-hotfix

Hotfix: Addresses Desync Issues in AutoTarget Trait
This commit is contained in:
Chris Forbes
2013-03-11 13:08:10 -07:00
2 changed files with 3 additions and 5 deletions

View File

@@ -36,8 +36,8 @@ namespace OpenRA.Mods.RA
public readonly bool AlignIdleTurrets = false;
public readonly bool CanAttackGround = true;
public readonly float ScanTimeAverage = 2f;
public readonly float ScanTimeSpread = .5f;
public readonly int MinimumScanTimeInterval = 30;
public readonly int MaximumScanTimeInterval = 60;
public abstract object Create(ActorInitializer init);

View File

@@ -107,9 +107,7 @@ namespace OpenRA.Mods.RA
Actor ChooseTarget(Actor self, float range)
{
var info = self.Info.Traits.Get<AttackBaseInfo>();
nextScanTime = (int)(25 * (info.ScanTimeAverage +
(self.World.SharedRandom.NextFloat() * 2 - 1) * info.ScanTimeSpread));
Log.Write("debug", "Actor {0}; nextScanTime: {1}", self.ActorID, nextScanTime);
nextScanTime = self.World.SharedRandom.Next(info.MinimumScanTimeInterval, info.MaximumScanTimeInterval);
var inRange = self.World.FindUnitsInCircle(self.CenterLocation, (int)(Game.CellSize * range));