diff --git a/OpenRa.Game/Traits/AttackBase.cs b/OpenRa.Game/Traits/AttackBase.cs index cf17dd7b0b..b112d3ace0 100644 --- a/OpenRa.Game/Traits/AttackBase.cs +++ b/OpenRa.Game/Traits/AttackBase.cs @@ -154,6 +154,8 @@ namespace OpenRa.Game.Traits self.CancelActivity(); QueueAttack(self, order); } + else + target = null; } protected virtual void QueueAttack(Actor self, Order order) diff --git a/OpenRa.Game/Traits/AttackHeli.cs b/OpenRa.Game/Traits/AttackHeli.cs index 975fef07ae..f68bd33532 100644 --- a/OpenRa.Game/Traits/AttackHeli.cs +++ b/OpenRa.Game/Traits/AttackHeli.cs @@ -8,9 +8,8 @@ namespace OpenRa.Game.Traits protected override void QueueAttack(Actor self, Order order) { - self.CancelActivity(); - self.QueueActivity(new HeliAttack(order.TargetActor)); target = order.TargetActor; + self.QueueActivity(new HeliAttack(order.TargetActor)); // todo: fly home } } diff --git a/OpenRa.Game/Traits/AttackPlane.cs b/OpenRa.Game/Traits/AttackPlane.cs index 4b333df9ec..185bd7bf70 100644 --- a/OpenRa.Game/Traits/AttackPlane.cs +++ b/OpenRa.Game/Traits/AttackPlane.cs @@ -8,7 +8,6 @@ namespace OpenRa.Game.Traits protected override void QueueAttack(Actor self, Order order) { - self.CancelActivity(); target = order.TargetActor; self.QueueActivity(new FlyAttack(order.TargetActor)); self.QueueActivity(new ReturnToBase(self, null)); diff --git a/OpenRa.Game/Traits/Minelayer.cs b/OpenRa.Game/Traits/Minelayer.cs index e1ebd703c6..35b9f97e65 100644 --- a/OpenRa.Game/Traits/Minelayer.cs +++ b/OpenRa.Game/Traits/Minelayer.cs @@ -29,7 +29,7 @@ namespace OpenRa.Game.Traits if (limitedAmmo != null) limitedAmmo.Attacking(self); - // todo: delay a bit? + // todo: delay a bit? (req making deploy-mine an activity) Game.world.AddFrameEndTask( w => w.Add(new Actor(Rules.UnitInfo[self.Info.Primary], self.Location, self.Owner))); diff --git a/OpenRa.Game/Traits/Mobile.cs b/OpenRa.Game/Traits/Mobile.cs index a9b7c6b5bd..4e38e93bc3 100644 --- a/OpenRa.Game/Traits/Mobile.cs +++ b/OpenRa.Game/Traits/Mobile.cs @@ -56,10 +56,6 @@ namespace OpenRa.Game.Traits { self.CancelActivity(); self.QueueActivity(new Activities.Move(order.TargetLocation, 8)); - - var attackBase = self.traits.WithInterface().FirstOrDefault(); - if (attackBase != null) - attackBase.target = null; /* move cancels attack order */ } }