diff --git a/OpenRA.Mods.RA/Activities/Fly.cs b/OpenRA.Mods.RA/Activities/Fly.cs index 5a61250d26..5a53f6eb0c 100644 --- a/OpenRA.Mods.RA/Activities/Fly.cs +++ b/OpenRA.Mods.RA/Activities/Fly.cs @@ -60,7 +60,6 @@ namespace OpenRA.Mods.RA.Activities var speed = .2f * aircraft.MovementSpeedForCell(self, self.Location); var angle = aircraft.Facing / 128f * Math.PI; aircraft.center += speed * -float2.FromAngle((float)angle); - aircraft.Location = Util.CellContaining(self.CenterLocation); aircraft.Altitude += Math.Sign(desiredAltitude - aircraft.Altitude); } } diff --git a/OpenRA.Mods.RA/Activities/HeliFly.cs b/OpenRA.Mods.RA/Activities/HeliFly.cs index 1572d5cba7..418e9c6161 100644 --- a/OpenRA.Mods.RA/Activities/HeliFly.cs +++ b/OpenRA.Mods.RA/Activities/HeliFly.cs @@ -39,7 +39,6 @@ namespace OpenRA.Mods.RA.Activities if (float2.WithinEpsilon(float2.Zero, dist, 2)) { aircraft.center = Dest; - aircraft.Location = Util.CellContaining(self.CenterLocation); return NextActivity; } @@ -49,7 +48,6 @@ namespace OpenRA.Mods.RA.Activities var rawSpeed = .2f * aircraft.MovementSpeedForCell(self, self.Location); aircraft.center += (rawSpeed / dist.Length) * dist; - aircraft.Location = Util.CellContaining(self.CenterLocation); return this; } diff --git a/OpenRA.Mods.RA/Activities/Land.cs b/OpenRA.Mods.RA/Activities/Land.cs index d779648df2..e64b5324a6 100644 --- a/OpenRA.Mods.RA/Activities/Land.cs +++ b/OpenRA.Mods.RA/Activities/Land.cs @@ -42,7 +42,6 @@ namespace OpenRA.Mods.RA.Activities var angle = aircraft.Facing / 128f * Math.PI; aircraft.center += speed * -float2.FromAngle((float)angle); - aircraft.Location = Util.CellContaining(self.CenterLocation); return this; } diff --git a/OpenRA.Mods.RA/Aircraft.cs b/OpenRA.Mods.RA/Aircraft.cs index 7b87250001..a9bce837bf 100755 --- a/OpenRA.Mods.RA/Aircraft.cs +++ b/OpenRA.Mods.RA/Aircraft.cs @@ -32,7 +32,7 @@ namespace OpenRA.Mods.RA { protected readonly Actor self; [Sync] - public int2 Location; + public int2 Location { get { return Util.CellContaining( center.ToInt2() ); } } [Sync] public int Facing { get; set; } [Sync] @@ -46,10 +46,7 @@ namespace OpenRA.Mods.RA { this.self = init.self; if( init.Contains() ) - { - this.Location = init.Get(); - this.center = Util.CenterOfCell( Location ); - } + this.center = Util.CenterOfCell( init.Get() ); this.Facing = init.Contains() ? init.Get() : info.InitialFacing; this.Altitude = init.Contains() ? init.Get() : 0; @@ -67,13 +64,11 @@ namespace OpenRA.Mods.RA public void SetPosition(Actor self, int2 cell) { - Location = cell; - center = Util.CenterOfCell(cell); + SetPxPosition( self, Util.CenterOfCell( cell ) ); } public void SetPxPosition( Actor self, int2 px ) { - Location = Util.CellContaining( px ); center = px; } diff --git a/OpenRA.Mods.RA/Helicopter.cs b/OpenRA.Mods.RA/Helicopter.cs index 10223b2e1d..6f30730742 100644 --- a/OpenRA.Mods.RA/Helicopter.cs +++ b/OpenRA.Mods.RA/Helicopter.cs @@ -147,10 +147,8 @@ namespace OpenRA.Mods.RA aircraft.Altitude += (int)(Info.InstabilityMagnitude * self.World.SharedRandom.Gauss1D(5)); offsetTicks = Info.InstabilityTicks; } - - Location = Util.CellContaining(self.CenterLocation); } - + const float Epsilon = .5f; public float2 GetRepulseForce(Actor self, Actor h) {