diff --git a/OpenRa.Game/Controller.cs b/OpenRa.Game/Controller.cs index d14619fafa..4626ac4a5d 100644 --- a/OpenRa.Game/Controller.cs +++ b/OpenRa.Game/Controller.cs @@ -138,6 +138,7 @@ namespace OpenRa.Game switch( s ) { case "Attack": return Cursor.Attack; + case "Heal": return Cursor.Heal; case "C4": return Cursor.C4; case "Move": if (movement.CanEnterCell(location)) diff --git a/OpenRa.Game/Cursor.cs b/OpenRa.Game/Cursor.cs index 65e7e8b41c..b59bbf6d3d 100644 --- a/OpenRa.Game/Cursor.cs +++ b/OpenRa.Game/Cursor.cs @@ -25,5 +25,6 @@ namespace OpenRa.Game public static Cursor Chronoshift { get { return new Cursor("chrono"); } } public static Cursor C4 { get { return new Cursor("c4"); } } public static Cursor Capture { get { return new Cursor("capture"); } } + public static Cursor Heal { get { return new Cursor("heal"); } } } } diff --git a/OpenRa.Game/Traits/AttackBase.cs b/OpenRa.Game/Traits/AttackBase.cs index a87ed99d8b..ebb76cbb6d 100644 --- a/OpenRa.Game/Traits/AttackBase.cs +++ b/OpenRa.Game/Traits/AttackBase.cs @@ -146,12 +146,12 @@ namespace OpenRa.Game.Traits if (((underCursor.Owner == self.Owner) ^ isHeal) && !mi.Modifiers.HasModifier( Modifiers.Ctrl )) return null; if (!Combat.HasAnyValidWeapons(self, underCursor)) return null; - return new Order("Attack", self, underCursor, int2.Zero, null); + return new Order(isHeal ? "Heal" : "Attack", self, underCursor, int2.Zero, null); } public void ResolveOrder(Actor self, Order order) { - if (order.OrderString == "Attack") + if (order.OrderString == "Attack" || order.OrderString == "Heal") { self.CancelActivity(); QueueAttack(self, order); diff --git a/sequences.xml b/sequences.xml index 8914d8a569..9f438213cf 100644 --- a/sequences.xml +++ b/sequences.xml @@ -388,7 +388,7 @@ - +