diff --git a/OpenRA.Mods.Cnc/Traits/Disguise.cs b/OpenRA.Mods.Cnc/Traits/Disguise.cs index a3b379acec..7a3d97660c 100644 --- a/OpenRA.Mods.Cnc/Traits/Disguise.cs +++ b/OpenRA.Mods.Cnc/Traits/Disguise.cs @@ -93,7 +93,7 @@ namespace OpenRA.Mods.Cnc.Traits "A dictionary of [actor id]: [condition].")] public readonly Dictionary DisguisedAsConditions = new Dictionary(); - [Desc("Cursor to show when hovering over a valid actor to disguise as.")] + [Desc("Cursor to display when hovering over a valid actor to disguise as.")] public readonly string Cursor = "ability"; [GrantedConditionReference] diff --git a/OpenRA.Mods.Cnc/Traits/Infiltration/Infiltrates.cs b/OpenRA.Mods.Cnc/Traits/Infiltration/Infiltrates.cs index 51244a3f0a..865c555379 100644 --- a/OpenRA.Mods.Cnc/Traits/Infiltration/Infiltrates.cs +++ b/OpenRA.Mods.Cnc/Traits/Infiltration/Infiltrates.cs @@ -42,6 +42,7 @@ namespace OpenRA.Mods.Cnc.Traits [Desc("Experience to grant to the infiltrating player.")] public readonly int PlayerExperience = 0; + [Desc("Cursor to display when able to infiltrate the target actor.")] public readonly string EnterCursor = "enter"; public override object Create(ActorInitializer init) { return new Infiltrates(this); } diff --git a/OpenRA.Mods.Cnc/Traits/SupportPowers/ChronoshiftPower.cs b/OpenRA.Mods.Cnc/Traits/SupportPowers/ChronoshiftPower.cs index 229cc9f20c..c30da5e12b 100644 --- a/OpenRA.Mods.Cnc/Traits/SupportPowers/ChronoshiftPower.cs +++ b/OpenRA.Mods.Cnc/Traits/SupportPowers/ChronoshiftPower.cs @@ -49,13 +49,13 @@ namespace OpenRA.Mods.Cnc.Traits public readonly bool KillCargo = true; - [Desc("Cursor sequence to use when selecting targets for the chronoshift.")] + [Desc("Cursor to display when selecting targets for the chronoshift.")] public readonly string SelectionCursor = "chrono-select"; - [Desc("Cursor sequence to use when targeting an area for the chronoshift.")] + [Desc("Cursor to display when targeting an area for the chronoshift.")] public readonly string TargetCursor = "chrono-target"; - [Desc("Cursor sequence to use when the targeted area is blocked.")] + [Desc("Cursor to display when the targeted area is blocked.")] public readonly string TargetBlockedCursor = "move-blocked"; public override object Create(ActorInitializer init) { return new ChronoshiftPower(init.Self, this); } diff --git a/OpenRA.Mods.Common/Traits/Air/Aircraft.cs b/OpenRA.Mods.Common/Traits/Air/Aircraft.cs index 375f8d2e19..529b784df4 100644 --- a/OpenRA.Mods.Common/Traits/Air/Aircraft.cs +++ b/OpenRA.Mods.Common/Traits/Air/Aircraft.cs @@ -139,7 +139,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Boolean expression defining the condition under which the regular (non-force) move cursor is disabled.")] public readonly BooleanExpression RequireForceMoveCondition = null; + [Desc("Cursor to display when able to land at target building.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to land at target building.")] public readonly string EnterBlockedCursor = "enter-blocked"; public int GetInitialFacing() { return InitialFacing; } diff --git a/OpenRA.Mods.Common/Traits/Armament.cs b/OpenRA.Mods.Common/Traits/Armament.cs index 191bbe12fe..08b7c0a428 100644 --- a/OpenRA.Mods.Common/Traits/Armament.cs +++ b/OpenRA.Mods.Common/Traits/Armament.cs @@ -76,9 +76,11 @@ namespace OpenRA.Mods.Common.Traits // TODO: instead of having multiple Armaments and unique AttackBase, // an actor should be able to have multiple AttackBases with // a single corresponding Armament each + [Desc("Cursor to display when hovering over a valid target.")] public readonly string Cursor = "attack"; // TODO: same as above + [Desc("Cursor to display when hovering over a valid target that is outside of range.")] public readonly string OutsideRangeCursor = "attackoutsiderange"; public override object Create(ActorInitializer init) { return new Armament(init.Self, this); } diff --git a/OpenRA.Mods.Common/Traits/Attack/AttackBase.cs b/OpenRA.Mods.Common/Traits/Attack/AttackBase.cs index 9f2a442430..a36871bce0 100644 --- a/OpenRA.Mods.Common/Traits/Attack/AttackBase.cs +++ b/OpenRA.Mods.Common/Traits/Attack/AttackBase.cs @@ -28,8 +28,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Armament names")] public readonly string[] Armaments = { "primary", "secondary" }; + [Desc("Cursor to display when hovering over a valid target.")] public readonly string Cursor = null; + [Desc("Cursor to display when hovering over a valid target that is outside of range.")] public readonly string OutsideRangeCursor = null; [Desc("Color to use for the target line.")] diff --git a/OpenRA.Mods.Common/Traits/Buildings/RallyPoint.cs b/OpenRA.Mods.Common/Traits/Buildings/RallyPoint.cs index 476e5d996b..7dba12ab48 100644 --- a/OpenRA.Mods.Common/Traits/Buildings/RallyPoint.cs +++ b/OpenRA.Mods.Common/Traits/Buildings/RallyPoint.cs @@ -30,6 +30,7 @@ namespace OpenRA.Mods.Common.Traits [SequenceReference("Image")] public readonly string CirclesSequence = "circles"; + [Desc("Cursor to display when rally point can be set.")] public readonly string Cursor = "ability"; [PaletteReference("IsPlayerPalette")] diff --git a/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoAircraft.cs b/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoAircraft.cs index 6de1488c78..8dd0bb7c55 100644 --- a/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoAircraft.cs +++ b/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoAircraft.cs @@ -36,7 +36,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Require the force-move modifier to display the move cursor.")] public readonly bool RequiresForceMove = false; + [Desc("Cursor to display when able to land at target building.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to land at target building.")] public readonly string EnterBlockedCursor = "enter-blocked"; public override object Create(ActorInitializer init) { return new TransformsIntoAircraft(init, this); } diff --git a/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoEntersTunnels.cs b/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoEntersTunnels.cs index f04b03fc84..5fcbcf9fca 100644 --- a/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoEntersTunnels.cs +++ b/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoEntersTunnels.cs @@ -23,7 +23,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Add to a building to expose a move cursor that triggers Transforms and issues an enter tunnel order to the transformed actor.")] public class TransformsIntoEntersTunnelsInfo : ConditionalTraitInfo, Requires { + [Desc("Cursor to display when able to enter target tunnel.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to enter target tunnel.")] public readonly string EnterBlockedCursor = "enter-blocked"; [VoiceReference] diff --git a/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoMobile.cs b/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoMobile.cs index 27b8ad9401..48156da37e 100644 --- a/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoMobile.cs +++ b/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoMobile.cs @@ -27,7 +27,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Locomotor used by the transformed actor. Must be defined on the World actor.")] public readonly string Locomotor = null; + [Desc("Cursor to display when a move order can be issued at target location.")] public readonly string Cursor = "move"; + + [Desc("Cursor to display when a move order cannot be issued at target location.")] public readonly string BlockedCursor = "move-blocked"; [VoiceReference] diff --git a/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoPassenger.cs b/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoPassenger.cs index c60a2f2451..ef5155932c 100644 --- a/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoPassenger.cs +++ b/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoPassenger.cs @@ -32,7 +32,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Require the force-move modifier to display the enter cursor.")] public readonly bool RequiresForceMove = false; + [Desc("Cursor to display when able to enter target actor.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to enter target actor.")] public readonly string EnterBlockedCursor = "enter-blocked"; public override object Create(ActorInitializer init) { return new TransformsIntoPassenger(init.Self, this); } diff --git a/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoRepairable.cs b/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoRepairable.cs index cd0e510324..3769819bd1 100644 --- a/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoRepairable.cs +++ b/OpenRA.Mods.Common/Traits/Buildings/TransformsIntoRepairable.cs @@ -33,7 +33,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Require the force-move modifier to display the enter cursor.")] public readonly bool RequiresForceMove = false; + [Desc("Cursor to display when able to be repaired at target actor.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to be repaired at target actor.")] public readonly string EnterBlockedCursor = "enter-blocked"; public override object Create(ActorInitializer init) { return new TransformsIntoRepairable(init.Self, this); } diff --git a/OpenRA.Mods.Common/Traits/Captures.cs b/OpenRA.Mods.Common/Traits/Captures.cs index 2ae2ab6fe3..a73d754d7e 100644 --- a/OpenRA.Mods.Common/Traits/Captures.cs +++ b/OpenRA.Mods.Common/Traits/Captures.cs @@ -46,8 +46,13 @@ namespace OpenRA.Mods.Common.Traits [Desc("Stance that the structure's previous owner needs to have for the capturing player to receive Experience.")] public readonly Stance PlayerExperienceStances = Stance.Enemy; + [Desc("Cursor to display when the health of the target actor is above the sabotage threshold.")] public readonly string SabotageCursor = "capture"; + + [Desc("Cursor to display when able to capture the target actor.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to capture the target actor.")] public readonly string EnterBlockedCursor = "enter-blocked"; [VoiceReference] diff --git a/OpenRA.Mods.Common/Traits/DeliversCash.cs b/OpenRA.Mods.Common/Traits/DeliversCash.cs index 3addeb7752..b97145751b 100644 --- a/OpenRA.Mods.Common/Traits/DeliversCash.cs +++ b/OpenRA.Mods.Common/Traits/DeliversCash.cs @@ -32,7 +32,7 @@ namespace OpenRA.Mods.Common.Traits [Desc("Sound to play when delivering cash")] public readonly string[] Sounds = { }; - [Desc("Cursor to show when hovering over a valid actor to deliver cash to.")] + [Desc("Cursor to display when hovering over a valid actor to deliver cash to.")] public readonly string Cursor = "enter"; [VoiceReference] diff --git a/OpenRA.Mods.Common/Traits/DeliversExperience.cs b/OpenRA.Mods.Common/Traits/DeliversExperience.cs index 3773b98e5b..a33723aa73 100644 --- a/OpenRA.Mods.Common/Traits/DeliversExperience.cs +++ b/OpenRA.Mods.Common/Traits/DeliversExperience.cs @@ -26,7 +26,7 @@ namespace OpenRA.Mods.Common.Traits [Desc("Identifier checked against AcceptsDeliveredExperience.ValidTypes. Only needed if the latter is not empty.")] public readonly string Type = null; - [Desc("Cursor to show when hovering over a valid actor to deliver experience to.")] + [Desc("Cursor to display when hovering over a valid actor to deliver experience to.")] public readonly string Cursor = "enter"; [VoiceReference] diff --git a/OpenRA.Mods.Common/Traits/Demolition.cs b/OpenRA.Mods.Common/Traits/Demolition.cs index fdc5975566..8e81159c76 100644 --- a/OpenRA.Mods.Common/Traits/Demolition.cs +++ b/OpenRA.Mods.Common/Traits/Demolition.cs @@ -44,6 +44,7 @@ namespace OpenRA.Mods.Common.Traits public readonly Stance TargetStances = Stance.Enemy | Stance.Neutral; public readonly Stance ForceTargetStances = Stance.Enemy | Stance.Neutral | Stance.Ally; + [Desc("Cursor to display when hovering over a demolishable target.")] public readonly string Cursor = "c4"; public override object Create(ActorInitializer init) { return new Demolition(this); } diff --git a/OpenRA.Mods.Common/Traits/EngineerRepair.cs b/OpenRA.Mods.Common/Traits/EngineerRepair.cs index 3cf150b3d8..cbca512c34 100644 --- a/OpenRA.Mods.Common/Traits/EngineerRepair.cs +++ b/OpenRA.Mods.Common/Traits/EngineerRepair.cs @@ -37,10 +37,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Sound to play when repairing is done.")] public readonly string RepairSound = null; - [Desc("Cursor to show when hovering over a valid actor to repair.")] + [Desc("Cursor to display when hovering over a valid actor to repair.")] public readonly string Cursor = "goldwrench"; - [Desc("Cursor to show when target actor has full health so it can't be repaired.")] + [Desc("Cursor to display when target actor has full health so it can't be repaired.")] public readonly string RepairBlockedCursor = "goldwrench-blocked"; public override object Create(ActorInitializer init) { return new EngineerRepair(init, this); } diff --git a/OpenRA.Mods.Common/Traits/EntersTunnels.cs b/OpenRA.Mods.Common/Traits/EntersTunnels.cs index f6d679e23a..a1abb46574 100644 --- a/OpenRA.Mods.Common/Traits/EntersTunnels.cs +++ b/OpenRA.Mods.Common/Traits/EntersTunnels.cs @@ -22,7 +22,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("This actor can interact with TunnelEntrances to move through TerrainTunnels.")] public class EntersTunnelsInfo : TraitInfo, Requires, IObservesVariablesInfo { + [Desc("Cursor to display when able to enter target tunnel.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to enter target tunnel.")] public readonly string EnterBlockedCursor = "enter-blocked"; [VoiceReference] diff --git a/OpenRA.Mods.Common/Traits/Harvester.cs b/OpenRA.Mods.Common/Traits/Harvester.cs index 2ad9a603df..0eace36a6d 100644 --- a/OpenRA.Mods.Common/Traits/Harvester.cs +++ b/OpenRA.Mods.Common/Traits/Harvester.cs @@ -84,7 +84,10 @@ namespace OpenRA.Mods.Common.Traits [VoiceReference] public readonly string DeliverVoice = "Action"; + [Desc("Cursor to display when able to unload at target actor.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to unload at target actor.")] public readonly string EnterBlockedCursor = "enter-blocked"; public override object Create(ActorInitializer init) { return new Harvester(init.Self, this); } diff --git a/OpenRA.Mods.Common/Traits/Mobile.cs b/OpenRA.Mods.Common/Traits/Mobile.cs index 0464f0a16f..88c7443bd1 100644 --- a/OpenRA.Mods.Common/Traits/Mobile.cs +++ b/OpenRA.Mods.Common/Traits/Mobile.cs @@ -37,7 +37,10 @@ namespace OpenRA.Mods.Common.Traits public readonly int Speed = 1; + [Desc("Cursor to display when a move order can be issued at target location.")] public readonly string Cursor = "move"; + + [Desc("Cursor to display when a move order cannot be issued at target location.")] public readonly string BlockedCursor = "move-blocked"; [VoiceReference] diff --git a/OpenRA.Mods.Common/Traits/Passenger.cs b/OpenRA.Mods.Common/Traits/Passenger.cs index ea2937cb0a..cb1d518c06 100644 --- a/OpenRA.Mods.Common/Traits/Passenger.cs +++ b/OpenRA.Mods.Common/Traits/Passenger.cs @@ -47,7 +47,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Boolean expression defining the condition under which the regular (non-force) enter cursor is disabled.")] public readonly BooleanExpression RequireForceMoveCondition = null; + [Desc("Cursor to display when able to enter target actor.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to enter target actor.")] public readonly string EnterBlockedCursor = "enter-blocked"; public override object Create(ActorInitializer init) { return new Passenger(this); } diff --git a/OpenRA.Mods.Common/Traits/Repairable.cs b/OpenRA.Mods.Common/Traits/Repairable.cs index 4e89cc5730..0490eae5f9 100644 --- a/OpenRA.Mods.Common/Traits/Repairable.cs +++ b/OpenRA.Mods.Common/Traits/Repairable.cs @@ -37,7 +37,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Boolean expression defining the condition under which the regular (non-force) enter cursor is disabled.")] public readonly BooleanExpression RequireForceMoveCondition = null; + [Desc("Cursor to display when able to be repaired at target actor.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to be repaired at target actor.")] public readonly string EnterBlockedCursor = "enter-blocked"; public override object Create(ActorInitializer init) { return new Repairable(init.Self, this); } diff --git a/OpenRA.Mods.Common/Traits/RepairableNear.cs b/OpenRA.Mods.Common/Traits/RepairableNear.cs index dc581ccb8a..834eb56b2a 100644 --- a/OpenRA.Mods.Common/Traits/RepairableNear.cs +++ b/OpenRA.Mods.Common/Traits/RepairableNear.cs @@ -34,7 +34,10 @@ namespace OpenRA.Mods.Common.Traits [Desc("Boolean expression defining the condition under which the regular (non-force) enter cursor is disabled.")] public readonly BooleanExpression RequireForceMoveCondition = null; + [Desc("Cursor to display when able to be repaired near target actor.")] public readonly string EnterCursor = "enter"; + + [Desc("Cursor to display when unable to be repaired near target actor.")] public readonly string EnterBlockedCursor = "enter-blocked"; public override object Create(ActorInitializer init) { return new RepairableNear(init.Self, this); } diff --git a/OpenRA.Mods.Common/Traits/RepairsBridges.cs b/OpenRA.Mods.Common/Traits/RepairsBridges.cs index d2d97f0a1d..782a192053 100644 --- a/OpenRA.Mods.Common/Traits/RepairsBridges.cs +++ b/OpenRA.Mods.Common/Traits/RepairsBridges.cs @@ -27,10 +27,10 @@ namespace OpenRA.Mods.Common.Traits "Possible values are Exit, Suicide, Dispose.")] public readonly EnterBehaviour EnterBehaviour = EnterBehaviour.Dispose; - [Desc("Cursor to use when targeting an unrepaired bridge.")] + [Desc("Cursor to display when targeting an unrepaired bridge.")] public readonly string TargetCursor = "goldwrench"; - [Desc("Cursor to use when repairing is denied.")] + [Desc("Cursor to display when repairing is denied.")] public readonly string TargetBlockedCursor = "goldwrench-blocked"; [NotificationReference("Speech")] diff --git a/OpenRA.Mods.Common/Traits/Sellable.cs b/OpenRA.Mods.Common/Traits/Sellable.cs index 081ace995c..758527cc40 100644 --- a/OpenRA.Mods.Common/Traits/Sellable.cs +++ b/OpenRA.Mods.Common/Traits/Sellable.cs @@ -35,7 +35,7 @@ namespace OpenRA.Mods.Common.Traits [Desc("Skip playing (reversed) make animation.")] public readonly bool SkipMakeAnimation = false; - [Desc("Cursor type to use when the sell order generator hovers over this actor.")] + [Desc("Cursor to display when the sell order generator hovers over this actor.")] public readonly string Cursor = "sell"; public override object Create(ActorInitializer init) { return new Sellable(init.Self, this); }