diff --git a/OpenRA.Mods.Cnc/Traits/Buildings/ProductionAirdrop.cs b/OpenRA.Mods.Cnc/Traits/Buildings/ProductionAirdrop.cs index a8fab53a65..e356840124 100644 --- a/OpenRA.Mods.Cnc/Traits/Buildings/ProductionAirdrop.cs +++ b/OpenRA.Mods.Cnc/Traits/Buildings/ProductionAirdrop.cs @@ -11,7 +11,7 @@ using System.Linq; using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Primitives; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/AI/HackyAI.cs b/OpenRA.Mods.RA/AI/HackyAI.cs index bd1ed93781..577d65afd8 100644 --- a/OpenRA.Mods.RA/AI/HackyAI.cs +++ b/OpenRA.Mods.RA/AI/HackyAI.cs @@ -14,7 +14,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Mods.Common; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.RA.Buildings; using OpenRA.Mods.RA.Move; using OpenRA.Mods.Common.Power; diff --git a/OpenRA.Mods.RA/AI/Squad.cs b/OpenRA.Mods.RA/AI/Squad.cs index 0ae0b05f0e..3083bb8786 100644 --- a/OpenRA.Mods.RA/AI/Squad.cs +++ b/OpenRA.Mods.RA/AI/Squad.cs @@ -10,6 +10,8 @@ using System.Collections.Generic; using System.Linq; +using OpenRA.Mods.RA; +using OpenRA.Mods.RA.Traits; using OpenRA.Support; using OpenRA.Traits; @@ -39,7 +41,7 @@ namespace OpenRA.Mods.RA.AI this.world = bot.world; this.random = bot.random; this.type = type; - this.target = Traits.Target.FromActor(target); + this.target = OpenRA.Traits.Target.FromActor(target); fsm = new StateMachine(); switch (type) @@ -68,7 +70,7 @@ namespace OpenRA.Mods.RA.AI public Actor Target { get { return target.Actor; } - set { target = Traits.Target.FromActor(value); } + set { target = OpenRA.Traits.Target.FromActor(value); } } public bool TargetIsValid diff --git a/OpenRA.Mods.RA/AI/States/AirStates.cs b/OpenRA.Mods.RA/AI/States/AirStates.cs index 235bb00b92..12ca987d88 100644 --- a/OpenRA.Mods.RA/AI/States/AirStates.cs +++ b/OpenRA.Mods.RA/AI/States/AirStates.cs @@ -11,7 +11,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; namespace OpenRA.Mods.RA.AI diff --git a/OpenRA.Mods.RA/AI/States/StateBase.cs b/OpenRA.Mods.RA/AI/States/StateBase.cs index 677829b2e2..601fec2837 100644 --- a/OpenRA.Mods.RA/AI/States/StateBase.cs +++ b/OpenRA.Mods.RA/AI/States/StateBase.cs @@ -12,7 +12,7 @@ using System; using System.Collections.Generic; using System.Linq; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.RA.Buildings; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Air/FallsToEarth.cs b/OpenRA.Mods.RA/Activities/Air/FallToEarth.cs old mode 100755 new mode 100644 similarity index 71% rename from OpenRA.Mods.RA/Air/FallsToEarth.cs rename to OpenRA.Mods.RA/Activities/Air/FallToEarth.cs index f35654c5e9..004138ccd8 --- a/OpenRA.Mods.RA/Air/FallsToEarth.cs +++ b/OpenRA.Mods.RA/Activities/Air/FallToEarth.cs @@ -1,4 +1,4 @@ -#region Copyright & License Information +#region Copyright & License Information /* * Copyright 2007-2014 The OpenRA Developers (see AUTHORS) * This file is part of OpenRA, which is free software. It is made @@ -10,31 +10,12 @@ using System.Linq; using OpenRA.GameRules; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { - class FallsToEarthInfo : ITraitInfo - { - [WeaponReference] - public readonly string Explosion = "UnitExplode"; - - public readonly bool Spins = true; - public readonly bool Moves = false; - public readonly WRange Velocity = new WRange(43); - - public object Create(ActorInitializer init) { return new FallsToEarth(init.self, this); } - } - - class FallsToEarth - { - public FallsToEarth(Actor self, FallsToEarthInfo info) - { - self.QueueActivity(false, new FallToEarth(self, info)); - } - } - - class FallToEarth : Activity + public class FallToEarth : Activity { int acceleration = 0; int spin = 0; diff --git a/OpenRA.Mods.RA/Air/Fly.cs b/OpenRA.Mods.RA/Activities/Air/Fly.cs old mode 100755 new mode 100644 similarity index 97% rename from OpenRA.Mods.RA/Air/Fly.cs rename to OpenRA.Mods.RA/Activities/Air/Fly.cs index 3408d634fa..f246e6c33e --- a/OpenRA.Mods.RA/Air/Fly.cs +++ b/OpenRA.Mods.RA/Activities/Air/Fly.cs @@ -9,9 +9,10 @@ #endregion using System.Collections.Generic; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class Fly : Activity { diff --git a/OpenRA.Mods.RA/Air/FlyAttack.cs b/OpenRA.Mods.RA/Activities/Air/FlyAttack.cs old mode 100755 new mode 100644 similarity index 95% rename from OpenRA.Mods.RA/Air/FlyAttack.cs rename to OpenRA.Mods.RA/Activities/Air/FlyAttack.cs index 0fdd308156..68e830b091 --- a/OpenRA.Mods.RA/Air/FlyAttack.cs +++ b/OpenRA.Mods.RA/Activities/Air/FlyAttack.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class FlyAttack : Activity { diff --git a/OpenRA.Mods.RA/Air/FlyCircle.cs b/OpenRA.Mods.RA/Activities/Air/FlyCircle.cs similarity index 91% rename from OpenRA.Mods.RA/Air/FlyCircle.cs rename to OpenRA.Mods.RA/Activities/Air/FlyCircle.cs index 621d2aa97b..badb3f5878 100644 --- a/OpenRA.Mods.RA/Air/FlyCircle.cs +++ b/OpenRA.Mods.RA/Activities/Air/FlyCircle.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class FlyCircle : Activity { diff --git a/OpenRA.Mods.RA/Activities/FlyFollow.cs b/OpenRA.Mods.RA/Activities/Air/FlyFollow.cs similarity index 97% rename from OpenRA.Mods.RA/Activities/FlyFollow.cs rename to OpenRA.Mods.RA/Activities/Air/FlyFollow.cs index 83ea6a0fa1..f9d005325b 100644 --- a/OpenRA.Mods.RA/Activities/FlyFollow.cs +++ b/OpenRA.Mods.RA/Activities/Air/FlyFollow.cs @@ -8,7 +8,7 @@ */ #endregion -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; namespace OpenRA.Mods.RA.Activities diff --git a/OpenRA.Mods.RA/Air/FlyTimed.cs b/OpenRA.Mods.RA/Activities/Air/FlyTimed.cs old mode 100755 new mode 100644 similarity index 94% rename from OpenRA.Mods.RA/Air/FlyTimed.cs rename to OpenRA.Mods.RA/Activities/Air/FlyTimed.cs index 07963698c0..61442b5c7d --- a/OpenRA.Mods.RA/Air/FlyTimed.cs +++ b/OpenRA.Mods.RA/Activities/Air/FlyTimed.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class FlyTimed : Activity { diff --git a/OpenRA.Mods.RA/Air/HeliAttack.cs b/OpenRA.Mods.RA/Activities/Air/HeliAttack.cs old mode 100755 new mode 100644 similarity index 95% rename from OpenRA.Mods.RA/Air/HeliAttack.cs rename to OpenRA.Mods.RA/Activities/Air/HeliAttack.cs index ab3950453e..ec045eb571 --- a/OpenRA.Mods.RA/Air/HeliAttack.cs +++ b/OpenRA.Mods.RA/Activities/Air/HeliAttack.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class HeliAttack : Activity { diff --git a/OpenRA.Mods.RA/Air/HeliFly.cs b/OpenRA.Mods.RA/Activities/Air/HeliFly.cs old mode 100755 new mode 100644 similarity index 97% rename from OpenRA.Mods.RA/Air/HeliFly.cs rename to OpenRA.Mods.RA/Activities/Air/HeliFly.cs index e9df2f7d92..37c0f424fd --- a/OpenRA.Mods.RA/Air/HeliFly.cs +++ b/OpenRA.Mods.RA/Activities/Air/HeliFly.cs @@ -9,9 +9,10 @@ #endregion using System.Collections.Generic; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { class HeliFly : Activity { diff --git a/OpenRA.Mods.RA/Air/HeliLand.cs b/OpenRA.Mods.RA/Activities/Air/HeliLand.cs old mode 100755 new mode 100644 similarity index 92% rename from OpenRA.Mods.RA/Air/HeliLand.cs rename to OpenRA.Mods.RA/Activities/Air/HeliLand.cs index e5edc77800..23cf807699 --- a/OpenRA.Mods.RA/Air/HeliLand.cs +++ b/OpenRA.Mods.RA/Activities/Air/HeliLand.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { class HeliLand : Activity { diff --git a/OpenRA.Mods.RA/Air/HeliReturn.cs b/OpenRA.Mods.RA/Activities/Air/HeliReturn.cs old mode 100755 new mode 100644 similarity index 96% rename from OpenRA.Mods.RA/Air/HeliReturn.cs rename to OpenRA.Mods.RA/Activities/Air/HeliReturn.cs index 5fa2924f02..4d9760ee4b --- a/OpenRA.Mods.RA/Air/HeliReturn.cs +++ b/OpenRA.Mods.RA/Activities/Air/HeliReturn.cs @@ -9,10 +9,10 @@ #endregion using System.Linq; -using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class HeliReturn : Activity { diff --git a/OpenRA.Mods.RA/Air/Land.cs b/OpenRA.Mods.RA/Activities/Air/Land.cs old mode 100755 new mode 100644 similarity index 94% rename from OpenRA.Mods.RA/Air/Land.cs rename to OpenRA.Mods.RA/Activities/Air/Land.cs index 8f9ffa59ca..a313bd3257 --- a/OpenRA.Mods.RA/Air/Land.cs +++ b/OpenRA.Mods.RA/Activities/Air/Land.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class Land : Activity { diff --git a/OpenRA.Mods.RA/Activities/Air/ResupplyAircraft.cs b/OpenRA.Mods.RA/Activities/Air/ResupplyAircraft.cs new file mode 100644 index 0000000000..eff39c53ad --- /dev/null +++ b/OpenRA.Mods.RA/Activities/Air/ResupplyAircraft.cs @@ -0,0 +1,34 @@ +#region Copyright & License Information +/* + * Copyright 2007-2014 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; +using System.Collections.Generic; +using System.Linq; +using OpenRA.Mods.RA.Traits; +using OpenRA.Primitives; +using OpenRA.Traits; + +namespace OpenRA.Mods.RA.Activities +{ + public class ResupplyAircraft : Activity + { + public override Activity Tick(Actor self) + { + var aircraft = self.Trait(); + var host = aircraft.GetActorBelow(); + + if (host == null) + return NextActivity; + + return Util.SequenceActivities( + aircraft.GetResupplyActivities(host).Append(NextActivity).ToArray()); + } + } +} diff --git a/OpenRA.Mods.RA/Air/ReturnToBase.cs b/OpenRA.Mods.RA/Activities/Air/ReturnToBase.cs old mode 100755 new mode 100644 similarity index 98% rename from OpenRA.Mods.RA/Air/ReturnToBase.cs rename to OpenRA.Mods.RA/Activities/Air/ReturnToBase.cs index e5410c21b2..a876978857 --- a/OpenRA.Mods.RA/Air/ReturnToBase.cs +++ b/OpenRA.Mods.RA/Activities/Air/ReturnToBase.cs @@ -10,9 +10,10 @@ using System; using System.Linq; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class ReturnToBase : Activity { diff --git a/OpenRA.Mods.RA/Air/TakeOff.cs b/OpenRA.Mods.RA/Activities/Air/TakeOff.cs similarity index 94% rename from OpenRA.Mods.RA/Air/TakeOff.cs rename to OpenRA.Mods.RA/Activities/Air/TakeOff.cs index cc8be21817..85d53dbce3 100644 --- a/OpenRA.Mods.RA/Air/TakeOff.cs +++ b/OpenRA.Mods.RA/Activities/Air/TakeOff.cs @@ -9,9 +9,10 @@ #endregion using OpenRA.Mods.Common; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class TakeOff : Activity { diff --git a/OpenRA.Mods.RA/Attack/AttackGarrisoned.cs b/OpenRA.Mods.RA/Attack/AttackGarrisoned.cs index 6e60626e91..0cfeba787f 100644 --- a/OpenRA.Mods.RA/Attack/AttackGarrisoned.cs +++ b/OpenRA.Mods.RA/Attack/AttackGarrisoned.cs @@ -13,7 +13,9 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Graphics; using OpenRA.Mods.Common.Traits.Render; +using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Render; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; namespace OpenRA.Mods.RA @@ -140,7 +142,7 @@ namespace OpenRA.Mods.RA return; var pos = self.CenterPosition; - var targetYaw = WAngle.FromFacing(Traits.Util.GetFacing(target.CenterPosition - self.CenterPosition, 0)); + var targetYaw = WAngle.FromFacing(OpenRA.Traits.Util.GetFacing(target.CenterPosition - self.CenterPosition, 0)); foreach (var a in Armaments) { @@ -160,7 +162,7 @@ namespace OpenRA.Mods.RA var sequence = a.Info.MuzzleSequence; if (a.Info.MuzzleSplitFacings > 0) - sequence += Traits.Util.QuantizeFacing(muzzleFacing, a.Info.MuzzleSplitFacings).ToString(); + sequence += OpenRA.Traits.Util.QuantizeFacing(muzzleFacing, a.Info.MuzzleSplitFacings).ToString(); var muzzleFlash = new AnimationWithOffset(muzzleAnim, () => PortOffset(self, port), diff --git a/OpenRA.Mods.RA/Cargo.cs b/OpenRA.Mods.RA/Cargo.cs index f88a948e04..de7167f0ae 100644 --- a/OpenRA.Mods.RA/Cargo.cs +++ b/OpenRA.Mods.RA/Cargo.cs @@ -13,8 +13,8 @@ using System.Linq; using System.Collections.Generic; using OpenRA.Traits; using OpenRA.Primitives; -using OpenRA.Mods.RA.Air; using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.Common.Orders; namespace OpenRA.Mods.RA diff --git a/OpenRA.Mods.RA/CrateSpawner.cs b/OpenRA.Mods.RA/CrateSpawner.cs index c01188c484..140a737238 100644 --- a/OpenRA.Mods.RA/CrateSpawner.cs +++ b/OpenRA.Mods.RA/CrateSpawner.cs @@ -11,7 +11,7 @@ using System; using System.Linq; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.RA.Buildings; using OpenRA.Primitives; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index e564035462..30ee595c3d 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -80,7 +80,20 @@ - + + + + + + + + + + + + + + @@ -112,9 +125,6 @@ - - - @@ -126,21 +136,6 @@ - - - - - - - - - - - - - - - @@ -306,6 +301,15 @@ + + + + + + + + + @@ -381,7 +385,6 @@ - @@ -428,7 +431,6 @@ - diff --git a/OpenRA.Mods.RA/ParaDrop.cs b/OpenRA.Mods.RA/ParaDrop.cs index 80888a3c61..5e4a0ad51d 100644 --- a/OpenRA.Mods.RA/ParaDrop.cs +++ b/OpenRA.Mods.RA/ParaDrop.cs @@ -11,7 +11,7 @@ using System; using System.Collections.Generic; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.RA.Effects; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Render/WithMuzzleFlash.cs b/OpenRA.Mods.RA/Render/WithMuzzleFlash.cs index 40a59d9a26..18c640e335 100644 --- a/OpenRA.Mods.RA/Render/WithMuzzleFlash.cs +++ b/OpenRA.Mods.RA/Render/WithMuzzleFlash.cs @@ -13,6 +13,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Graphics; using OpenRA.Mods.Common.Traits.Render; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; namespace OpenRA.Mods.RA.Render @@ -79,7 +80,7 @@ namespace OpenRA.Mods.RA.Render return; if (a.Info.MuzzleSplitFacings > 0) - sequence += Traits.Util.QuantizeFacing(getFacing(), a.Info.MuzzleSplitFacings).ToString(); + sequence += OpenRA.Traits.Util.QuantizeFacing(getFacing(), a.Info.MuzzleSplitFacings).ToString(); visible[barrel] = true; anims[barrel].Animation.PlayThen(sequence, () => visible[barrel] = false); diff --git a/OpenRA.Mods.RA/Render/WithShadow.cs b/OpenRA.Mods.RA/Render/WithShadow.cs index ec8723b94b..7a32064b1a 100644 --- a/OpenRA.Mods.RA/Render/WithShadow.cs +++ b/OpenRA.Mods.RA/Render/WithShadow.cs @@ -12,7 +12,8 @@ using System; using System.Collections.Generic; using System.Linq; using OpenRA.Graphics; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; namespace OpenRA.Mods.RA.Render diff --git a/OpenRA.Mods.RA/Reservable.cs b/OpenRA.Mods.RA/Reservable.cs index 386c1d768e..13deff87e3 100755 --- a/OpenRA.Mods.RA/Reservable.cs +++ b/OpenRA.Mods.RA/Reservable.cs @@ -9,7 +9,7 @@ #endregion using System; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Primitives; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs index 43f08dc9aa..2224a1009e 100644 --- a/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs +++ b/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs @@ -11,7 +11,8 @@ using System.Linq; using Eluant; using OpenRA.Mods.Common; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.RA.Buildings; using OpenRA.Primitives; diff --git a/OpenRA.Mods.RA/Scripting/Global/ReinforcementsGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/ReinforcementsGlobal.cs index 0e9462bd57..c17a186509 100644 --- a/OpenRA.Mods.RA/Scripting/Global/ReinforcementsGlobal.cs +++ b/OpenRA.Mods.RA/Scripting/Global/ReinforcementsGlobal.cs @@ -18,7 +18,7 @@ using OpenRA.Traits; using OpenRA.Scripting; using OpenRA.Effects; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; namespace OpenRA.Mods.RA.Scripting { diff --git a/OpenRA.Mods.RA/Scripting/Global/UtilsGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/UtilsGlobal.cs index 7686a3bd95..96180de80f 100644 --- a/OpenRA.Mods.RA/Scripting/Global/UtilsGlobal.cs +++ b/OpenRA.Mods.RA/Scripting/Global/UtilsGlobal.cs @@ -11,6 +11,7 @@ using System.Linq; using Eluant; using OpenRA.Scripting; +using OpenRA.Traits; namespace OpenRA.Mods.RA.Scripting { @@ -78,7 +79,7 @@ namespace OpenRA.Mods.RA.Scripting [Desc("Expands the given footprint one step along the coordinate axes, and (if requested) diagonals.")] public CPos[] ExpandFootprint(CPos[] footprint, bool allowDiagonal) { - return Traits.Util.ExpandFootprint(footprint, allowDiagonal).ToArray(); + return Util.ExpandFootprint(footprint, allowDiagonal).ToArray(); } [Desc("Returns a random integer x in the range low <= x < high.")] diff --git a/OpenRA.Mods.RA/Scripting/Properties/HelicopterProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/HelicopterProperties.cs index 4095939090..808c134880 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/HelicopterProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/HelicopterProperties.cs @@ -8,7 +8,8 @@ */ #endregion -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Scripting; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs index d459b77d52..768f3658e5 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs @@ -8,7 +8,8 @@ */ #endregion -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Scripting; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs index 670ffbb266..57380c680e 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs @@ -10,7 +10,7 @@ using System.Linq; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Scripting; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/SupportPowers/AirstrikePower.cs b/OpenRA.Mods.RA/SupportPowers/AirstrikePower.cs index fdfe835f31..89badcd4a4 100644 --- a/OpenRA.Mods.RA/SupportPowers/AirstrikePower.cs +++ b/OpenRA.Mods.RA/SupportPowers/AirstrikePower.cs @@ -13,7 +13,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Mods.Common.Effects; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Primitives; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/SupportPowers/ParatroopersPower.cs b/OpenRA.Mods.RA/SupportPowers/ParatroopersPower.cs index 133b7ff262..8f504c76df 100644 --- a/OpenRA.Mods.RA/SupportPowers/ParatroopersPower.cs +++ b/OpenRA.Mods.RA/SupportPowers/ParatroopersPower.cs @@ -13,7 +13,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Mods.Common.Effects; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Primitives; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Air/Aircraft.cs b/OpenRA.Mods.RA/Traits/Air/Aircraft.cs similarity index 96% rename from OpenRA.Mods.RA/Air/Aircraft.cs rename to OpenRA.Mods.RA/Traits/Air/Aircraft.cs index 2e0ba3f40f..b4fac4825d 100644 --- a/OpenRA.Mods.RA/Air/Aircraft.cs +++ b/OpenRA.Mods.RA/Traits/Air/Aircraft.cs @@ -12,12 +12,13 @@ using System; using System.Collections.Generic; using System.Linq; using OpenRA.Mods.Common.Orders; +using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Buildings; using OpenRA.Primitives; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { public class AircraftInfo : ITraitInfo, IFacingInfo, IOccupySpaceInfo, UsesInit, UsesInit { @@ -296,21 +297,6 @@ namespace OpenRA.Mods.RA.Air } } - public class ResupplyAircraft : Activity - { - public override Activity Tick(Actor self) - { - var aircraft = self.Trait(); - var host = aircraft.GetActorBelow(); - - if (host == null) - return NextActivity; - - return Util.SequenceActivities( - aircraft.GetResupplyActivities(host).Append(NextActivity).ToArray()); - } - } - class AircraftMoveOrderTargeter : IOrderTargeter { public string OrderID { get { return "Move"; } } diff --git a/OpenRA.Mods.RA/Air/AttackHeli.cs b/OpenRA.Mods.RA/Traits/Air/AttackHeli.cs old mode 100755 new mode 100644 similarity index 89% rename from OpenRA.Mods.RA/Air/AttackHeli.cs rename to OpenRA.Mods.RA/Traits/Air/AttackHeli.cs index b14bb33bf4..79bc7c647b --- a/OpenRA.Mods.RA/Air/AttackHeli.cs +++ b/OpenRA.Mods.RA/Traits/Air/AttackHeli.cs @@ -8,9 +8,11 @@ */ #endregion +using OpenRA.Mods.RA; +using OpenRA.Mods.RA.Activities; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { class AttackHeliInfo : AttackFrontalInfo { diff --git a/OpenRA.Mods.RA/Air/AttackPlane.cs b/OpenRA.Mods.RA/Traits/Air/AttackPlane.cs old mode 100755 new mode 100644 similarity index 92% rename from OpenRA.Mods.RA/Air/AttackPlane.cs rename to OpenRA.Mods.RA/Traits/Air/AttackPlane.cs index 6025e8a27d..ff1b593f93 --- a/OpenRA.Mods.RA/Air/AttackPlane.cs +++ b/OpenRA.Mods.RA/Traits/Air/AttackPlane.cs @@ -8,9 +8,11 @@ */ #endregion +using OpenRA.Mods.RA; +using OpenRA.Mods.RA.Activities; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { class AttackPlaneInfo : AttackFrontalInfo { diff --git a/OpenRA.Mods.RA/Traits/Air/FallsToEarth.cs b/OpenRA.Mods.RA/Traits/Air/FallsToEarth.cs new file mode 100644 index 0000000000..2f89eeaef4 --- /dev/null +++ b/OpenRA.Mods.RA/Traits/Air/FallsToEarth.cs @@ -0,0 +1,38 @@ +#region Copyright & License Information +/* + * Copyright 2007-2014 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.Linq; +using OpenRA.GameRules; +using OpenRA.Mods.RA; +using OpenRA.Mods.RA.Activities; +using OpenRA.Traits; + +namespace OpenRA.Mods.RA.Traits +{ + public class FallsToEarthInfo : ITraitInfo + { + [WeaponReference] + public readonly string Explosion = "UnitExplode"; + + public readonly bool Spins = true; + public readonly bool Moves = false; + public readonly WRange Velocity = new WRange(43); + + public object Create(ActorInitializer init) { return new FallsToEarth(init.self, this); } + } + + public class FallsToEarth + { + public FallsToEarth(Actor self, FallsToEarthInfo info) + { + self.QueueActivity(false, new FallToEarth(self, info)); + } + } +} diff --git a/OpenRA.Mods.RA/Air/FlyAwayOnIdle.cs b/OpenRA.Mods.RA/Traits/Air/FlyAwayOnIdle.cs similarity index 92% rename from OpenRA.Mods.RA/Air/FlyAwayOnIdle.cs rename to OpenRA.Mods.RA/Traits/Air/FlyAwayOnIdle.cs index 71df7075f6..2d51542247 100644 --- a/OpenRA.Mods.RA/Air/FlyAwayOnIdle.cs +++ b/OpenRA.Mods.RA/Traits/Air/FlyAwayOnIdle.cs @@ -8,10 +8,11 @@ */ #endregion +using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { [Desc("Leave the map when idle.")] class FlyAwayOnIdleInfo : TraitInfo { } diff --git a/OpenRA.Mods.RA/Air/Helicopter.cs b/OpenRA.Mods.RA/Traits/Air/Helicopter.cs similarity index 98% rename from OpenRA.Mods.RA/Air/Helicopter.cs rename to OpenRA.Mods.RA/Traits/Air/Helicopter.cs index bc2dc46471..2e303216ea 100644 --- a/OpenRA.Mods.RA/Air/Helicopter.cs +++ b/OpenRA.Mods.RA/Traits/Air/Helicopter.cs @@ -12,10 +12,11 @@ using System; using System.Collections.Generic; using System.Drawing; using System.Linq; +using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { class HelicopterInfo : AircraftInfo, IMoveInfo { diff --git a/OpenRA.Mods.RA/Air/Plane.cs b/OpenRA.Mods.RA/Traits/Air/Plane.cs similarity index 98% rename from OpenRA.Mods.RA/Air/Plane.cs rename to OpenRA.Mods.RA/Traits/Air/Plane.cs index ba159fc8c7..591f110368 100644 --- a/OpenRA.Mods.RA/Air/Plane.cs +++ b/OpenRA.Mods.RA/Traits/Air/Plane.cs @@ -10,10 +10,11 @@ using System; using System.Drawing; +using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { public class PlaneInfo : AircraftInfo, IMoveInfo { diff --git a/OpenRA.Mods.RA/Air/ReturnOnIdle.cs b/OpenRA.Mods.RA/Traits/Air/ReturnOnIdle.cs old mode 100755 new mode 100644 similarity index 97% rename from OpenRA.Mods.RA/Air/ReturnOnIdle.cs rename to OpenRA.Mods.RA/Traits/Air/ReturnOnIdle.cs index 133b3487ea..5483d354f9 --- a/OpenRA.Mods.RA/Air/ReturnOnIdle.cs +++ b/OpenRA.Mods.RA/Traits/Air/ReturnOnIdle.cs @@ -9,11 +9,12 @@ #endregion using System.Linq; +using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Buildings; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { [Desc("Return to a player owned RearmBuildings. If none available, head back to base and circle over it.")] class ReturnOnIdleInfo : TraitInfo { } diff --git a/OpenRA.Mods.RA/Air/TargetableAircraft.cs b/OpenRA.Mods.RA/Traits/Air/TargetableAircraft.cs old mode 100755 new mode 100644 similarity index 89% rename from OpenRA.Mods.RA/Air/TargetableAircraft.cs rename to OpenRA.Mods.RA/Traits/Air/TargetableAircraft.cs index f7a7259685..de13199744 --- a/OpenRA.Mods.RA/Air/TargetableAircraft.cs +++ b/OpenRA.Mods.RA/Traits/Air/TargetableAircraft.cs @@ -8,7 +8,11 @@ */ #endregion -namespace OpenRA.Mods.RA.Air +using System.Collections.Generic; +using OpenRA.Mods.RA; +using OpenRA.Traits; + +namespace OpenRA.Mods.RA.Traits { public class TargetableAircraftInfo : TargetableUnitInfo {