diff --git a/OpenRA.Game/Traits/Activities/Activity.cs b/OpenRA.Game/Traits/Activities/Activity.cs index d2d4139084..59b9693acc 100755 --- a/OpenRA.Game/Traits/Activities/Activity.cs +++ b/OpenRA.Game/Traits/Activities/Activity.cs @@ -1,43 +1,43 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace OpenRA.Traits.Activities -{ - public abstract class Activity - { - public Activity NextActivity { get; set; } - protected bool IsCanceled { get; private set; } - - public abstract Activity Tick( Actor self ); - - public virtual void Cancel( Actor self ) - { - IsCanceled = true; - NextActivity = null; - } - - public virtual void Queue( Activity activity ) - { - if( NextActivity != null ) - NextActivity.Queue( activity ); - else - NextActivity = activity; - } - - public virtual IEnumerable GetTargets( Actor self ) - { - yield break; - } - } - - public static class ActivityExts - { - public static IEnumerable GetTargetQueue( this Actor self ) - { - return self.GetCurrentActivity().Iterate( u => u.NextActivity ).TakeWhile( u => u != null ) - .SelectMany( u => u.GetTargets( self ) ); - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OpenRA.Traits.Activities +{ + public abstract class Activity + { + public Activity NextActivity { get; set; } + protected bool IsCanceled { get; private set; } + + public abstract Activity Tick( Actor self ); + + public virtual void Cancel( Actor self ) + { + IsCanceled = true; + NextActivity = null; + } + + public virtual void Queue( Activity activity ) + { + if( NextActivity != null ) + NextActivity.Queue( activity ); + else + NextActivity = activity; + } + + public virtual IEnumerable GetTargets( Actor self ) + { + yield break; + } + } + + public static class ActivityExts + { + public static IEnumerable GetTargetQueue( this Actor self ) + { + return self.GetCurrentActivity().Iterate( u => u.NextActivity ).TakeWhile( u => u != null ) + .SelectMany( u => u.GetTargets( self ) ); + } + } +} diff --git a/OpenRA.Game/Traits/Health.cs b/OpenRA.Game/Traits/Health.cs index 22d0d27d9e..928dea33ac 100755 --- a/OpenRA.Game/Traits/Health.cs +++ b/OpenRA.Game/Traits/Health.cs @@ -78,12 +78,12 @@ namespace OpenRA.Traits /* apply the damage modifiers, if we have any. */ var modifier = (float)self.TraitsImplementing() .Concat(self.Owner.PlayerActor.TraitsImplementing()) - .Select(t => t.GetDamageModifier(attacker, warhead)).Product(); + .Select(t => t.GetDamageModifier(attacker, warhead)).Product(); - if (!ignoreModifiers) + if (!ignoreModifiers) damage = damage > 0 ? (int)(damage * modifier) : damage; - - hp = Exts.Clamp(hp - damage, 0, MaxHP); + + hp = Exts.Clamp(hp - damage, 0, MaxHP); var ai = new AttackInfo { diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs index 6b121c1320..1462962eb3 100755 --- a/OpenRA.Game/Traits/TraitsInterfaces.cs +++ b/OpenRA.Game/Traits/TraitsInterfaces.cs @@ -6,14 +6,14 @@ * as published by the Free Software Foundation. For more information, * see COPYING. */ -#endregion - -using System; -using System.Collections.Generic; -using System.Drawing; -using OpenRA.FileFormats; -using OpenRA.GameRules; -using OpenRA.Graphics; +#endregion + +using System; +using System.Collections.Generic; +using System.Drawing; +using OpenRA.FileFormats; +using OpenRA.GameRules; +using OpenRA.Graphics; using OpenRA.Network; namespace OpenRA.Traits @@ -83,7 +83,7 @@ namespace OpenRA.Traits } public interface IVisibilityModifier { bool IsVisible(Actor self); } - public interface IRadarColorModifier { Color RadarColorOverride(Actor self); } + public interface IRadarColorModifier { Color RadarColorOverride(Actor self); } public interface IHasLocation { int2 PxPosition { get; } } public interface IOccupySpace : IHasLocation @@ -128,8 +128,8 @@ namespace OpenRA.Traits void SetPosition(Actor self, int2 cell); void SetPxPosition(Actor self, int2 px); void AdjustPxPosition(Actor self, int2 px); /* works like SetPxPosition, but visual only */ - } - + } + public interface IMove : ITeleportable { int Altitude { get; set; } } public interface IFacing diff --git a/OpenRA.Mods.RA/Activities/Rearm.cs b/OpenRA.Mods.RA/Activities/Rearm.cs index bbd2e63b25..1d14e46218 100644 --- a/OpenRA.Mods.RA/Activities/Rearm.cs +++ b/OpenRA.Mods.RA/Activities/Rearm.cs @@ -17,16 +17,16 @@ namespace OpenRA.Mods.RA.Activities { public class Rearm : Activity { - readonly LimitedAmmo limitedAmmo; - int ticksPerPip = 25 * 2; - int remainingTicks = 25 * 2; - - public Rearm(Actor self) + readonly LimitedAmmo limitedAmmo; + int ticksPerPip = 25 * 2; + int remainingTicks = 25 * 2; + + public Rearm(Actor self) { limitedAmmo = self.TraitOrDefault(); - if (limitedAmmo != null) - ticksPerPip = limitedAmmo.ReloadTimePerAmmo(); - remainingTicks = ticksPerPip; + if (limitedAmmo != null) + ticksPerPip = limitedAmmo.ReloadTimePerAmmo(); + remainingTicks = ticksPerPip; } public override Activity Tick(Actor self) diff --git a/OpenRA.Mods.RA/Air/FlyCircle.cs b/OpenRA.Mods.RA/Air/FlyCircle.cs index a37bd03c18..4abe50ee4c 100644 --- a/OpenRA.Mods.RA/Air/FlyCircle.cs +++ b/OpenRA.Mods.RA/Air/FlyCircle.cs @@ -1,38 +1,38 @@ -#region Copyright & License Information +#region Copyright & License Information /* * Copyright 2007-2011 The OpenRA Developers (see AUTHORS) * This file is part of OpenRA, which is free software. It is made * available to you under the terms of the GNU General Public License * as published by the Free Software Foundation. For more information, * see COPYING. - */ -#endregion - -using System.Collections.Generic; -using OpenRA.Traits; -using OpenRA.Traits.Activities; - -namespace OpenRA.Mods.RA.Air -{ - public class FlyCircle : Activity - { - public override Activity Tick(Actor self) - { - var cruiseAltitude = self.Info.Traits.Get().CruiseAltitude; - - if (IsCanceled) return NextActivity; - - var aircraft = self.Trait(); - - var desiredFacing = aircraft.Facing + 64; // we can't possibly turn this fast. - if (aircraft.Altitude == cruiseAltitude) - aircraft.Facing = Util.TickFacing(aircraft.Facing, desiredFacing, aircraft.ROT); - - if (aircraft.Altitude < cruiseAltitude) - ++aircraft.Altitude; - - FlyUtil.Fly(self, cruiseAltitude); - return this; - } - } -} + */ +#endregion + +using System.Collections.Generic; +using OpenRA.Traits; +using OpenRA.Traits.Activities; + +namespace OpenRA.Mods.RA.Air +{ + public class FlyCircle : Activity + { + public override Activity Tick(Actor self) + { + var cruiseAltitude = self.Info.Traits.Get().CruiseAltitude; + + if (IsCanceled) return NextActivity; + + var aircraft = self.Trait(); + + var desiredFacing = aircraft.Facing + 64; // we can't possibly turn this fast. + if (aircraft.Altitude == cruiseAltitude) + aircraft.Facing = Util.TickFacing(aircraft.Facing, desiredFacing, aircraft.ROT); + + if (aircraft.Altitude < cruiseAltitude) + ++aircraft.Altitude; + + FlyUtil.Fly(self, cruiseAltitude); + return this; + } + } +} diff --git a/OpenRA.Mods.RA/Air/Helicopter.cs b/OpenRA.Mods.RA/Air/Helicopter.cs index 96e245d38a..115c61e6f8 100755 --- a/OpenRA.Mods.RA/Air/Helicopter.cs +++ b/OpenRA.Mods.RA/Air/Helicopter.cs @@ -6,11 +6,11 @@ * as published by the Free Software Foundation. For more information, * see COPYING. */ -#endregion - +#endregion + using System.Drawing; -using System.Linq; -using OpenRA.Mods.RA.Activities; +using System.Linq; +using OpenRA.Mods.RA.Activities; using OpenRA.Traits; namespace OpenRA.Mods.RA.Air @@ -71,8 +71,8 @@ namespace OpenRA.Mods.RA.Air self.CancelActivity(); self.QueueActivity(new HeliFly(order.TargetActor.Trait().PxPosition + offset)); self.QueueActivity(new Turn(Info.InitialFacing)); - self.QueueActivity(new HeliLand(false)); - + self.QueueActivity(new HeliLand(false)); + QueueResupplyActivities(order.TargetActor); } diff --git a/OpenRA.Mods.RA/LimitedAmmo.cs b/OpenRA.Mods.RA/LimitedAmmo.cs index 1935551b58..d0f5184732 100644 --- a/OpenRA.Mods.RA/LimitedAmmo.cs +++ b/OpenRA.Mods.RA/LimitedAmmo.cs @@ -23,8 +23,8 @@ namespace OpenRA.Mods.RA } public class LimitedAmmo : INotifyAttack, IPips, ISync - { - [Sync] + { + [Sync] int ammo; LimitedAmmoInfo Info;