diff --git a/OpenRA.Game/Network/Order.cs b/OpenRA.Game/Network/Order.cs index b694fc0f86..b23eb333e0 100755 --- a/OpenRA.Game/Network/Order.cs +++ b/OpenRA.Game/Network/Order.cs @@ -37,22 +37,20 @@ namespace OpenRA this.Queued = queued; } - public Order(string orderString, Actor subject) - : this(orderString, subject, null, int2.Zero, null, false) { } - public Order(string orderString, Actor subject, Actor targetActor) - : this(orderString, subject, targetActor, int2.Zero, null, false) { } - public Order(string orderString, Actor subject, int2 targetLocation) - : this(orderString, subject, null, targetLocation, null, false) { } + public Order(string orderString, Actor subject, bool queued) + : this(orderString, subject, null, int2.Zero, null, queued) { } + public Order(string orderString, Actor subject, Actor targetActor, bool queued) + : this(orderString, subject, targetActor, int2.Zero, null, queued) { } public Order(string orderString, Actor subject, int2 targetLocation, bool queued) : this(orderString, subject, null, targetLocation, null, queued) { } - public Order(string orderString, Actor subject, string targetString) - : this(orderString, subject, null, int2.Zero, targetString, false) { } - public Order(string orderString, Actor subject, Actor targetActor, int2 targetLocation) - : this(orderString, subject, targetActor, targetLocation, null, false) { } - public Order(string orderString, Actor subject, Actor targetActor, string targetString) - : this(orderString, subject, targetActor, int2.Zero, targetString, false) { } - public Order(string orderString, Actor subject, int2 targetLocation, string targetString) - : this(orderString, subject, null, targetLocation, targetString, false) { } + public Order(string orderString, Actor subject, string targetString, bool queued) + : this(orderString, subject, null, int2.Zero, targetString, queued) { } + public Order(string orderString, Actor subject, Actor targetActor, int2 targetLocation, bool queued) + : this(orderString, subject, targetActor, targetLocation, null, queued) { } + public Order(string orderString, Actor subject, Actor targetActor, string targetString, bool queued) + : this(orderString, subject, targetActor, int2.Zero, targetString, queued) { } + public Order(string orderString, Actor subject, int2 targetLocation, string targetString, bool queued) + : this(orderString, subject, null, targetLocation, targetString, queued) { } public byte[] Serialize() { @@ -120,7 +118,7 @@ namespace OpenRA var name = r.ReadString(); var data = r.ReadString(); - return new Order( name, null, data ) { IsImmediate = true }; + return new Order( name, null, data, false ) { IsImmediate = true }; } default: @@ -164,32 +162,32 @@ namespace OpenRA // Now that Orders are resolved by individual Actors, these are weird; you unpack orders manually, but not pack them. public static Order Chat(string text) { - return new Order("Chat", null, text) { IsImmediate = true }; + return new Order("Chat", null, text, false) { IsImmediate = true }; } public static Order TeamChat(string text) { - return new Order("TeamChat", null, text) { IsImmediate = true }; + return new Order("TeamChat", null, text, false) { IsImmediate = true }; } public static Order Command(string text) { - return new Order("Command", null, text) { IsImmediate = true }; + return new Order("Command", null, text, false) { IsImmediate = true }; } public static Order StartProduction(Actor subject, string item, int count) { - return new Order("StartProduction", subject, new int2( count, 0 ), item ); + return new Order("StartProduction", subject, new int2( count, 0 ), item, false ); } public static Order PauseProduction(Actor subject, string item, bool pause) { - return new Order("PauseProduction", subject, new int2( pause ? 1 : 0, 0 ), item); + return new Order("PauseProduction", subject, new int2( pause ? 1 : 0, 0 ), item, false); } public static Order CancelProduction(Actor subject, string item, int count) { - return new Order("CancelProduction", subject, new int2( count, 0 ), item); + return new Order("CancelProduction", subject, new int2( count, 0 ), item, false); } } } diff --git a/OpenRA.Game/Orders/GenericSelectTarget.cs b/OpenRA.Game/Orders/GenericSelectTarget.cs index d03984617f..8d5fd6e88d 100644 --- a/OpenRA.Game/Orders/GenericSelectTarget.cs +++ b/OpenRA.Game/Orders/GenericSelectTarget.cs @@ -48,7 +48,7 @@ namespace OpenRA.Orders { world.CancelInputMode(); foreach (var subject in subjects) - yield return new Order(order, subject, xy); + yield return new Order(order, subject, xy, false); } } diff --git a/OpenRA.Game/Orders/UnitOrderGenerator.cs b/OpenRA.Game/Orders/UnitOrderGenerator.cs index cf99c259b9..7972c5c2a5 100644 --- a/OpenRA.Game/Orders/UnitOrderGenerator.cs +++ b/OpenRA.Game/Orders/UnitOrderGenerator.cs @@ -46,11 +46,11 @@ namespace OpenRA.Orders var actorsInvolved = orders.Select(o => o.self).Distinct(); if (actorsInvolved.Any()) yield return new Order("CreateGroup", actorsInvolved.First().Owner.PlayerActor, - string.Join(",", actorsInvolved.Select(a => a.ActorID.ToString()).ToArray())) + string.Join(",", actorsInvolved.Select(a => a.ActorID.ToString()).ToArray()), false) ; foreach (var o in orders) - yield return CheckSameOrder(o.iot, o.trait.IssueOrder(o.self, o.iot, o.target)); + yield return CheckSameOrder(o.iot, o.trait.IssueOrder(o.self, o.iot, o.target, mi.Modifiers.HasModifier(Modifiers.Shift))); } } diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs index feb13bb90d..57ce0dd58d 100755 --- a/OpenRA.Game/Traits/TraitsInterfaces.cs +++ b/OpenRA.Game/Traits/TraitsInterfaces.cs @@ -39,7 +39,7 @@ namespace OpenRA.Traits public interface IIssueOrder { IEnumerable Orders { get; } - Order IssueOrder( Actor self, IOrderTargeter order, Target target ); + Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ); } public interface IOrderTargeter { diff --git a/OpenRA.Game/Widgets/Delegates/DeveloperModeDelegate.cs b/OpenRA.Game/Widgets/Delegates/DeveloperModeDelegate.cs index 9a23a72f77..05ee0f3bc3 100644 --- a/OpenRA.Game/Widgets/Delegates/DeveloperModeDelegate.cs +++ b/OpenRA.Game/Widgets/Delegates/DeveloperModeDelegate.cs @@ -43,7 +43,7 @@ namespace OpenRA.Widgets.Delegates () => world.LocalPlayer.PlayerActor.Trait().DisableShroud; devmodeBG.GetWidget("CHECKBOX_SHROUD").OnMouseDown = mi => { - world.IssueOrder(new Order("DevShroud", world.LocalPlayer.PlayerActor)); + world.IssueOrder(new Order("DevShroud", world.LocalPlayer.PlayerActor, false)); return true; }; @@ -51,7 +51,7 @@ namespace OpenRA.Widgets.Delegates () => world.LocalPlayer.PlayerActor.Trait().UnitInfluenceDebug; devmodeBG.GetWidget("CHECKBOX_UNITDEBUG").OnMouseDown = mi => { - world.IssueOrder(new Order("DevUnitDebug", world.LocalPlayer.PlayerActor)); + world.IssueOrder(new Order("DevUnitDebug", world.LocalPlayer.PlayerActor, false)); return true; }; @@ -59,13 +59,13 @@ namespace OpenRA.Widgets.Delegates () => world.LocalPlayer.PlayerActor.Trait().PathDebug; devmodeBG.GetWidget("CHECKBOX_PATHDEBUG").OnMouseDown = mi => { - world.IssueOrder(new Order("DevPathDebug", world.LocalPlayer.PlayerActor)); + world.IssueOrder(new Order("DevPathDebug", world.LocalPlayer.PlayerActor, false)); return true; }; devmodeBG.GetWidget("GIVE_CASH").OnMouseUp = mi => { - world.IssueOrder(new Order("DevGiveCash", world.LocalPlayer.PlayerActor)); + world.IssueOrder(new Order("DevGiveCash", world.LocalPlayer.PlayerActor, false)); return true; }; @@ -73,7 +73,7 @@ namespace OpenRA.Widgets.Delegates () => world.LocalPlayer.PlayerActor.Trait().FastBuild; devmodeBG.GetWidget("INSTANT_BUILD").OnMouseDown = mi => { - world.IssueOrder(new Order("DevFastBuild", world.LocalPlayer.PlayerActor)); + world.IssueOrder(new Order("DevFastBuild", world.LocalPlayer.PlayerActor, false)); return true; }; @@ -81,7 +81,7 @@ namespace OpenRA.Widgets.Delegates () => world.LocalPlayer.PlayerActor.Trait().FastCharge; devmodeBG.GetWidget("INSTANT_CHARGE").OnMouseDown = mi => { - world.IssueOrder(new Order("DevFastCharge", world.LocalPlayer.PlayerActor)); + world.IssueOrder(new Order("DevFastCharge", world.LocalPlayer.PlayerActor, false)); return true; }; @@ -89,13 +89,13 @@ namespace OpenRA.Widgets.Delegates () => world.LocalPlayer.PlayerActor.Trait().AllTech; devmodeBG.GetWidget("ENABLE_TECH").OnMouseDown = mi => { - world.IssueOrder(new Order("DevEnableTech", world.LocalPlayer.PlayerActor)); + world.IssueOrder(new Order("DevEnableTech", world.LocalPlayer.PlayerActor, false)); return true; }; devmodeBG.GetWidget("GIVE_EXPLORATION").OnMouseUp = mi => { - world.IssueOrder(new Order("DevGiveExploration", world.LocalPlayer.PlayerActor)); + world.IssueOrder(new Order("DevGiveExploration", world.LocalPlayer.PlayerActor, false)); return true; }; diff --git a/OpenRA.Game/Widgets/Delegates/DiplomacyDelegate.cs b/OpenRA.Game/Widgets/Delegates/DiplomacyDelegate.cs index 11ba8edf29..1b8cb7ff5b 100644 --- a/OpenRA.Game/Widgets/Delegates/DiplomacyDelegate.cs +++ b/OpenRA.Game/Widgets/Delegates/DiplomacyDelegate.cs @@ -139,7 +139,7 @@ namespace OpenRA.Widgets.Delegates var nextStance = GetNextStance((Stance)Enum.Parse(typeof(Stance), bw.Text)); world.IssueOrder(new Order("SetStance", world.LocalPlayer.PlayerActor, - new int2(p.Index, (int)nextStance))); + new int2(p.Index, (int)nextStance), false)); bw.Text = nextStance.ToString(); } diff --git a/OpenRA.Mods.RA/Air/Helicopter.cs b/OpenRA.Mods.RA/Air/Helicopter.cs index feaceaa9db..63c649f414 100755 --- a/OpenRA.Mods.RA/Air/Helicopter.cs +++ b/OpenRA.Mods.RA/Air/Helicopter.cs @@ -51,13 +51,13 @@ namespace OpenRA.Mods.RA.Air } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "Enter" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); if( order.OrderID == "Move" ) - return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ) ); + return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ), queued ); return null; } diff --git a/OpenRA.Mods.RA/Air/Plane.cs b/OpenRA.Mods.RA/Air/Plane.cs index 11dfe5f771..525947a942 100755 --- a/OpenRA.Mods.RA/Air/Plane.cs +++ b/OpenRA.Mods.RA/Air/Plane.cs @@ -60,13 +60,13 @@ namespace OpenRA.Mods.RA.Air } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "Enter" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); if( order.OrderID == "Move" ) - return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ) ); + return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ), queued ); return null; } diff --git a/OpenRA.Mods.RA/AttackBase.cs b/OpenRA.Mods.RA/AttackBase.cs index 039a88f1e8..c8f3ca6612 100644 --- a/OpenRA.Mods.RA/AttackBase.cs +++ b/OpenRA.Mods.RA/AttackBase.cs @@ -133,14 +133,14 @@ namespace OpenRA.Mods.RA get { yield return new AttackOrderTargeter( "Attack", 6, IsHeal ); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order is AttackOrderTargeter ) { if( target.IsActor ) - return new Order( "Attack", self, target.Actor ); + return new Order( "Attack", self, target.Actor, queued ); else - return new Order( "Attack", self, Util.CellContaining( target.CenterLocation ) ); + return new Order( "Attack", self, Util.CellContaining( target.CenterLocation ), queued ); } return null; } @@ -194,7 +194,7 @@ namespace OpenRA.Mods.RA if (target != null) { if (allowMovement) - attack.ResolveOrder(self, new Order("Attack", self, target)); + attack.ResolveOrder(self, new Order("Attack", self, target, false)); else attack.target = Target.FromActor(target); // for turreted things on rails. } diff --git a/OpenRA.Mods.RA/AutoHeal.cs b/OpenRA.Mods.RA/AutoHeal.cs index 52360f88bb..6e805de634 100644 --- a/OpenRA.Mods.RA/AutoHeal.cs +++ b/OpenRA.Mods.RA/AutoHeal.cs @@ -22,7 +22,7 @@ namespace OpenRA.Mods.RA { var attack = self.Trait(); if (target != null) - attack.ResolveOrder(self, new Order("Attack", self, target)); + attack.ResolveOrder(self, new Order("Attack", self, target, false)); else if (attack.IsAttacking) self.CancelActivity(); diff --git a/OpenRA.Mods.RA/C4Demolition.cs b/OpenRA.Mods.RA/C4Demolition.cs index 2ee93da100..e276d5f38a 100644 --- a/OpenRA.Mods.RA/C4Demolition.cs +++ b/OpenRA.Mods.RA/C4Demolition.cs @@ -31,10 +31,10 @@ namespace OpenRA.Mods.RA get { yield return new UnitTraitOrderTargeter( "C4", 6, "c4", true, false ); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "C4" ) - return new Order( "C4", self, target.Actor ); + return new Order( "C4", self, target.Actor, queued ); return null; } diff --git a/OpenRA.Mods.RA/Cargo.cs b/OpenRA.Mods.RA/Cargo.cs index 51d77d4146..2f2bfab7a0 100644 --- a/OpenRA.Mods.RA/Cargo.cs +++ b/OpenRA.Mods.RA/Cargo.cs @@ -44,13 +44,13 @@ namespace OpenRA.Mods.RA } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "Unload" ) - return new Order( order.OrderID, self ); + return new Order( order.OrderID, self, queued ); if( order.OrderID == "ReverseEnterTransport" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); return null; } @@ -71,7 +71,7 @@ namespace OpenRA.Mods.RA if( order.TargetActor != null && order.Subject.Owner == order.TargetActor.Owner ) { var passenger = order.TargetActor.Trait(); - passenger.ResolveOrder( order.TargetActor, new Order( "EnterTransport", order.TargetActor, self ) ); + passenger.ResolveOrder( order.TargetActor, new Order( "EnterTransport", order.TargetActor, self, false ) ); } } } diff --git a/OpenRA.Mods.RA/ChronoshiftDeploy.cs b/OpenRA.Mods.RA/ChronoshiftDeploy.cs index ab243dcfff..62e0d45cd2 100644 --- a/OpenRA.Mods.RA/ChronoshiftDeploy.cs +++ b/OpenRA.Mods.RA/ChronoshiftDeploy.cs @@ -38,7 +38,7 @@ namespace OpenRA.Mods.RA get { yield return new DeployOrderTargeter( "ChronoshiftDeploy", 5, () => chargeTick <= 0 ); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "ChronoshiftDeploy" ) if (chargeTick <= 0) diff --git a/OpenRA.Mods.RA/EngineerCapture.cs b/OpenRA.Mods.RA/EngineerCapture.cs index f4c38c9431..0d652655ab 100644 --- a/OpenRA.Mods.RA/EngineerCapture.cs +++ b/OpenRA.Mods.RA/EngineerCapture.cs @@ -30,10 +30,10 @@ namespace OpenRA.Mods.RA } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "CaptureBuilding" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); return null; } diff --git a/OpenRA.Mods.RA/EngineerRepair.cs b/OpenRA.Mods.RA/EngineerRepair.cs index 54564b5368..c6b5e74069 100644 --- a/OpenRA.Mods.RA/EngineerRepair.cs +++ b/OpenRA.Mods.RA/EngineerRepair.cs @@ -27,10 +27,10 @@ namespace OpenRA.Mods.RA get { yield return new EngineerRepairOrderTargeter(); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "EngineerRepair" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); return null; } diff --git a/OpenRA.Mods.RA/HackyAI.cs b/OpenRA.Mods.RA/HackyAI.cs index 57528e021d..0559ef5991 100644 --- a/OpenRA.Mods.RA/HackyAI.cs +++ b/OpenRA.Mods.RA/HackyAI.cs @@ -302,7 +302,7 @@ namespace OpenRA.Mods.RA int2 newRallyPoint = ChooseRallyLocationNear(a.Location); newRallyPoint.X += 4; newRallyPoint.Y += 4; - world.IssueOrder(new Order("SetRallyPoint", a, newRallyPoint)); + world.IssueOrder(new Order("SetRallyPoint", a, newRallyPoint, false)); } } @@ -335,7 +335,7 @@ namespace OpenRA.Mods.RA range = Math.Max(range, loopCount / 2); if (loopCount > 10) return false; } while (!a.Trait().CanEnterCell(xy) && xy != a.Location); - world.IssueOrder(new Order("Move", a, xy)); + world.IssueOrder(new Order("Move", a, xy, false)); return true; } @@ -348,7 +348,7 @@ namespace OpenRA.Mods.RA if (mcv != null) { baseCenter = mcv.Location; - world.IssueOrder(new Order("DeployTransform", mcv)); + world.IssueOrder(new Order("DeployTransform", mcv, false)); } else BotDebug("AI: Can't find the MCV."); @@ -454,7 +454,7 @@ namespace OpenRA.Mods.RA else { ai.world.IssueOrder(new Order("PlaceBuilding", ai.p.PlayerActor, - location.Value, currentBuilding.Item)); + location.Value, currentBuilding.Item, false)); } } break; diff --git a/OpenRA.Mods.RA/Harvester.cs b/OpenRA.Mods.RA/Harvester.cs index 7d82fe7256..c32022d023 100644 --- a/OpenRA.Mods.RA/Harvester.cs +++ b/OpenRA.Mods.RA/Harvester.cs @@ -104,13 +104,13 @@ namespace OpenRA.Mods.RA } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "Deliver" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); if( order.OrderID == "Harvest" ) - return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ) ); + return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ), queued ); return null; } diff --git a/OpenRA.Mods.RA/Minelayer.cs b/OpenRA.Mods.RA/Minelayer.cs index e06bdc8835..66a35a9ebc 100644 --- a/OpenRA.Mods.RA/Minelayer.cs +++ b/OpenRA.Mods.RA/Minelayer.cs @@ -38,13 +38,13 @@ namespace OpenRA.Mods.RA get { yield return new BeginMinefieldOrderTargeter(); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order is BeginMinefieldOrderTargeter ) { var start = Traits.Util.CellContaining( target.CenterLocation ); self.World.OrderGenerator = new MinefieldOrderGenerator( self, start ); - return new Order( "BeginMinefield", self, start ); + return new Order( "BeginMinefield", self, start, false ); } return null; } @@ -110,7 +110,7 @@ namespace OpenRA.Mods.RA if( mi.Button == MouseButton.Right && underCursor == null ) { minelayer.World.CancelInputMode(); - yield return new Order( "PlaceMinefield", minelayer, xy ); + yield return new Order( "PlaceMinefield", minelayer, xy, false ); } } diff --git a/OpenRA.Mods.RA/Move/Mobile.cs b/OpenRA.Mods.RA/Move/Mobile.cs index 6903c07bbc..610a1fbff8 100755 --- a/OpenRA.Mods.RA/Move/Mobile.cs +++ b/OpenRA.Mods.RA/Move/Mobile.cs @@ -140,12 +140,12 @@ namespace OpenRA.Mods.RA.Move public IEnumerable Orders { get { yield return new MoveOrderTargeter( Info ); } } // Note: Returns a valid order even if the unit can't move to the target - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order is MoveOrderTargeter ) { if( Info.OnRails ) return null; - return new Order( "Move", self, Util.CellContaining( target.CenterLocation ), false ); + return new Order( "Move", self, Util.CellContaining( target.CenterLocation ), queued ); } return null; } diff --git a/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs b/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs index bea6b33628..033b0dbc97 100755 --- a/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs +++ b/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs @@ -54,9 +54,9 @@ namespace OpenRA.Mods.RA.Orders } if (Rules.Info[ Building ].Traits.Contains()) - yield return new Order("LineBuild", Producer.Owner.PlayerActor, topLeft, Building); + yield return new Order("LineBuild", Producer.Owner.PlayerActor, topLeft, Building, false); else - yield return new Order("PlaceBuilding", Producer.Owner.PlayerActor, topLeft, Building); + yield return new Order("PlaceBuilding", Producer.Owner.PlayerActor, topLeft, Building, false); } } diff --git a/OpenRA.Mods.RA/Orders/PowerDownOrderGenerator.cs b/OpenRA.Mods.RA/Orders/PowerDownOrderGenerator.cs index 8a88ea09e5..d98919827f 100755 --- a/OpenRA.Mods.RA/Orders/PowerDownOrderGenerator.cs +++ b/OpenRA.Mods.RA/Orders/PowerDownOrderGenerator.cs @@ -35,7 +35,7 @@ namespace OpenRA.Mods.RA.Orders .FirstOrDefault(); if (underCursor != null) - yield return new Order("PowerDown", underCursor); + yield return new Order("PowerDown", underCursor, false); } } diff --git a/OpenRA.Mods.RA/Orders/RepairOrderGenerator.cs b/OpenRA.Mods.RA/Orders/RepairOrderGenerator.cs index 46a547b114..73a9b16f60 100644 --- a/OpenRA.Mods.RA/Orders/RepairOrderGenerator.cs +++ b/OpenRA.Mods.RA/Orders/RepairOrderGenerator.cs @@ -38,7 +38,7 @@ namespace OpenRA.Mods.RA.Orders if (underCursor.Info.Traits.Contains() && underCursor.GetDamageState() > DamageState.Undamaged) - yield return new Order("Repair", underCursor); + yield return new Order("Repair", underCursor, false); } } diff --git a/OpenRA.Mods.RA/Orders/SellOrderGenerator.cs b/OpenRA.Mods.RA/Orders/SellOrderGenerator.cs index c173a3c9b6..bc2cb8e31e 100755 --- a/OpenRA.Mods.RA/Orders/SellOrderGenerator.cs +++ b/OpenRA.Mods.RA/Orders/SellOrderGenerator.cs @@ -38,7 +38,7 @@ namespace OpenRA.Mods.RA.Orders var building = underCursor != null ? underCursor.Info.Traits.Get() : null; if (building != null && !building.Unsellable) - yield return new Order("Sell", underCursor); + yield return new Order("Sell", underCursor, false); } } diff --git a/OpenRA.Mods.RA/Orders/SetChronoTankDestination.cs b/OpenRA.Mods.RA/Orders/SetChronoTankDestination.cs index ddd7c6a400..88e3521b2f 100644 --- a/OpenRA.Mods.RA/Orders/SetChronoTankDestination.cs +++ b/OpenRA.Mods.RA/Orders/SetChronoTankDestination.cs @@ -33,7 +33,7 @@ namespace OpenRA.Mods.RA.Orders } if (world.LocalPlayer.Shroud.IsExplored(xy)) - yield return new Order("ChronoshiftSelf", self, xy); + yield return new Order("ChronoshiftSelf", self, xy, mi.Modifiers.HasModifier(Modifiers.Shift)); } public void Tick( World world ) { } diff --git a/OpenRA.Mods.RA/Passenger.cs b/OpenRA.Mods.RA/Passenger.cs index a72cf07c21..bf662812dc 100644 --- a/OpenRA.Mods.RA/Passenger.cs +++ b/OpenRA.Mods.RA/Passenger.cs @@ -42,10 +42,10 @@ namespace OpenRA.Mods.RA } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "EnterTransport" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); return null; } diff --git a/OpenRA.Mods.RA/Player/SurrenderOnDisconnect.cs b/OpenRA.Mods.RA/Player/SurrenderOnDisconnect.cs index 6ef3ca5738..768839f0c3 100644 --- a/OpenRA.Mods.RA/Player/SurrenderOnDisconnect.cs +++ b/OpenRA.Mods.RA/Player/SurrenderOnDisconnect.cs @@ -37,7 +37,7 @@ namespace OpenRA.Mods.RA if (client.State == Session.ClientState.Disconnected) { Disconnected = true; /* dont call this multiple times! */ - self.World.IssueOrder(new Order("Surrender", self)); + self.World.IssueOrder(new Order("Surrender", self, false)); } } } diff --git a/OpenRA.Mods.RA/PrimaryBuilding.cs b/OpenRA.Mods.RA/PrimaryBuilding.cs index 583d8fccb6..8d3cbfdab9 100755 --- a/OpenRA.Mods.RA/PrimaryBuilding.cs +++ b/OpenRA.Mods.RA/PrimaryBuilding.cs @@ -32,10 +32,10 @@ namespace OpenRA.Mods.RA get { yield return new DeployOrderTargeter( "PrimaryProducer", 1 ); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "PrimaryProducer" ) - return new Order( order.OrderID, self ); + return new Order( order.OrderID, self, false ); return null; } diff --git a/OpenRA.Mods.RA/RallyPoint.cs b/OpenRA.Mods.RA/RallyPoint.cs index 7379758fef..f13ce135de 100755 --- a/OpenRA.Mods.RA/RallyPoint.cs +++ b/OpenRA.Mods.RA/RallyPoint.cs @@ -48,10 +48,10 @@ namespace OpenRA.Mods.RA get { yield return new RallyPointOrderTargeter(); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "SetRallyPoint" ) - return new Order( order.OrderID, self, Traits.Util.CellContaining( target.CenterLocation ) ); + return new Order( order.OrderID, self, Traits.Util.CellContaining( target.CenterLocation ), false ); return null; } diff --git a/OpenRA.Mods.RA/Render/RenderSpy.cs b/OpenRA.Mods.RA/Render/RenderSpy.cs index 2a8ee92ab9..2ecb02cb7a 100755 --- a/OpenRA.Mods.RA/Render/RenderSpy.cs +++ b/OpenRA.Mods.RA/Render/RenderSpy.cs @@ -62,10 +62,10 @@ namespace OpenRA.Mods.RA.Render get { yield return new UnitTraitOrderTargeter( "Disguise", 5, "ability", true, true ); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "Disguise" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); return null; } diff --git a/OpenRA.Mods.RA/Repairable.cs b/OpenRA.Mods.RA/Repairable.cs index 7d8782b6a9..88d879bd28 100644 --- a/OpenRA.Mods.RA/Repairable.cs +++ b/OpenRA.Mods.RA/Repairable.cs @@ -42,10 +42,10 @@ namespace OpenRA.Mods.RA get { yield return new EnterOrderTargeter( "Repair", 5, false, true, target => CanRepairAt( target ), _ => CanRepair() ); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "Repair" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); return null; } diff --git a/OpenRA.Mods.RA/RepairableNear.cs b/OpenRA.Mods.RA/RepairableNear.cs index 77dce80950..d2a0fe6529 100644 --- a/OpenRA.Mods.RA/RepairableNear.cs +++ b/OpenRA.Mods.RA/RepairableNear.cs @@ -42,10 +42,10 @@ namespace OpenRA.Mods.RA } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "RepairNear" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); return null; } diff --git a/OpenRA.Mods.RA/Spy.cs b/OpenRA.Mods.RA/Spy.cs index 9c6a5e6af6..57dc2424fe 100644 --- a/OpenRA.Mods.RA/Spy.cs +++ b/OpenRA.Mods.RA/Spy.cs @@ -26,10 +26,10 @@ namespace OpenRA.Mods.RA get { yield return new UnitTraitOrderTargeter( "SpyInfiltrate", 5, "enter", true, false ); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "SpyInfiltrate" ) - return new Order( order.OrderID, self, target.Actor ); + return new Order( order.OrderID, self, target.Actor, queued ); return null; } diff --git a/OpenRA.Mods.RA/SupportPowers/ChronoshiftPower.cs b/OpenRA.Mods.RA/SupportPowers/ChronoshiftPower.cs index b39d586b8c..680b85053d 100755 --- a/OpenRA.Mods.RA/SupportPowers/ChronoshiftPower.cs +++ b/OpenRA.Mods.RA/SupportPowers/ChronoshiftPower.cs @@ -79,7 +79,7 @@ namespace OpenRA.Mods.RA && a.HasTrait()).FirstOrDefault(); if (underCursor != null) - yield return new Order("ChronosphereSelect", world.LocalPlayer.PlayerActor, underCursor); + yield return new Order("ChronosphereSelect", world.LocalPlayer.PlayerActor, underCursor, false); } yield break; @@ -128,7 +128,7 @@ namespace OpenRA.Mods.RA { // Cannot chronoshift into unexplored location if (world.LocalPlayer.Shroud.IsExplored(xy)) - yield return new Order("ChronosphereActivate", world.LocalPlayer.PlayerActor, self, xy); + yield return new Order("ChronosphereActivate", world.LocalPlayer.PlayerActor, self, xy, false); } public void Tick(World world) diff --git a/OpenRA.Mods.RA/SupportPowers/IronCurtainPower.cs b/OpenRA.Mods.RA/SupportPowers/IronCurtainPower.cs index af00e33ab4..5a266f92ce 100755 --- a/OpenRA.Mods.RA/SupportPowers/IronCurtainPower.cs +++ b/OpenRA.Mods.RA/SupportPowers/IronCurtainPower.cs @@ -77,7 +77,7 @@ namespace OpenRA.Mods.RA && a.HasTrait()).FirstOrDefault(); if( underCursor != null ) - yield return new Order( "IronCurtain", underCursor.Owner.PlayerActor, underCursor ); + yield return new Order( "IronCurtain", underCursor.Owner.PlayerActor, underCursor, false ); } } diff --git a/OpenRA.Mods.RA/SupportPowers/SonarPulsePower.cs b/OpenRA.Mods.RA/SupportPowers/SonarPulsePower.cs index a293c6c3a2..58de4d4882 100755 --- a/OpenRA.Mods.RA/SupportPowers/SonarPulsePower.cs +++ b/OpenRA.Mods.RA/SupportPowers/SonarPulsePower.cs @@ -26,7 +26,7 @@ namespace OpenRA.Mods.RA protected override void OnActivate() { - Self.World.IssueOrder(new Order("SonarPulse", Owner.PlayerActor)); + Self.World.IssueOrder(new Order("SonarPulse", Owner.PlayerActor, false)); } public void ResolveOrder(Actor self, Order order) diff --git a/OpenRA.Mods.RA/Transforms.cs b/OpenRA.Mods.RA/Transforms.cs index d897d99979..fd4cc82830 100644 --- a/OpenRA.Mods.RA/Transforms.cs +++ b/OpenRA.Mods.RA/Transforms.cs @@ -56,10 +56,10 @@ namespace OpenRA.Mods.RA get { yield return new DeployOrderTargeter( "DeployTransform", 5, () => CanDeploy() ); } } - public Order IssueOrder( Actor self, IOrderTargeter order, Target target ) + public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { if( order.OrderID == "DeployTransform" ) - return new Order( order.OrderID, self ); + return new Order( order.OrderID, self, queued ); return null; } diff --git a/OpenRA.Mods.RA/Widgets/Delegates/IngameChromeDelegate.cs b/OpenRA.Mods.RA/Widgets/Delegates/IngameChromeDelegate.cs index 5ce8f1a2c2..f668f52e10 100755 --- a/OpenRA.Mods.RA/Widgets/Delegates/IngameChromeDelegate.cs +++ b/OpenRA.Mods.RA/Widgets/Delegates/IngameChromeDelegate.cs @@ -51,7 +51,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates optionsBG.GetWidget("SURRENDER").OnMouseUp = mi => { - world.IssueOrder(new Order("Surrender", world.LocalPlayer.PlayerActor)); + world.IssueOrder(new Order("Surrender", world.LocalPlayer.PlayerActor, false)); return true; };