diff --git a/mods/ts/bits/assaultmove.shp b/mods/ts/bits/assaultmove.shp new file mode 100644 index 0000000000..c2f7427608 Binary files /dev/null and b/mods/ts/bits/assaultmove.shp differ diff --git a/mods/ts/bits/attackmove.shp b/mods/ts/bits/attackmove.shp new file mode 100644 index 0000000000..a0f5dbdf12 Binary files /dev/null and b/mods/ts/bits/attackmove.shp differ diff --git a/mods/ts/chrome/ingame-player.yaml b/mods/ts/chrome/ingame-player.yaml index a5da73a7c5..37c2743cd8 100644 --- a/mods/ts/chrome/ingame-player.yaml +++ b/mods/ts/chrome/ingame-player.yaml @@ -43,8 +43,9 @@ Container@PLAYER_WIDGETS: Key: AttackMove DisableKeySound: true TooltipText: Attack Move - TooltipDesc: Selected units will move to the desired location\nand attack any enemies they encounter en route.\n\nLeft-click icon then right-click on target location. + TooltipDesc: Selected units will move to the desired location\nand attack any enemies they encounter en route.\n\nHold {(Ctrl)} while targeting to order an Assault Move\nthat attacks any units or structures encountered en route.\n\nLeft-click icon then right-click on target location. TooltipContainer: TOOLTIP_CONTAINER + TooltipTemplate: BUTTON_WITH_DESC_HIGHLIGHT_TOOLTIP Children: Image@ICON: Logic: AddFactionSuffixLogic diff --git a/mods/ts/cursors.yaml b/mods/ts/cursors.yaml index 6e0e0900d9..bc0310c307 100644 --- a/mods/ts/cursors.yaml +++ b/mods/ts/cursors.yaml @@ -102,18 +102,6 @@ Cursors: attackoutsiderange-minimap: Start: 63 Length: 5 - attackmove: - Start: 58 - Length: 5 - attackmove-minimap: - Start: 68 - Length: 5 - assaultmove: - Start: 58 - Length: 5 - assaultmove-minimap: - Start: 68 - Length: 5 harvest: Start: 53 Length: 5 @@ -230,3 +218,29 @@ Cursors: Start: 385 joystick-tl-blocked: Start: 386 + attackmove.shp: cursor + attackmove: + Start: 0 + Length: 10 + attackmove-blocked: + Start: 10 + Length: 1 + attackmove-minimap: + Start: 11 + Length: 10 + attackmove-minimap-blocked: + Start: 21 + Length: 1 + assaultmove.shp: cursor + assaultmove: + Start: 0 + Length: 10 + assaultmove-blocked: + Start: 10 + Length: 1 + assaultmove-minimap: + Start: 11 + Length: 10 + assaultmove-minimap-blocked: + Start: 21 + Length: 1 \ No newline at end of file diff --git a/mods/ts/rules/aircraft.yaml b/mods/ts/rules/aircraft.yaml index a42f9b270c..7f528bbe0d 100644 --- a/mods/ts/rules/aircraft.yaml +++ b/mods/ts/rules/aircraft.yaml @@ -1,6 +1,6 @@ DPOD: Inherits: ^Helicopter - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 10 Tooltip: @@ -65,7 +65,7 @@ DSHP: ORCA: Inherits: ^Helicopter Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 1000 Tooltip: @@ -107,7 +107,7 @@ ORCA: ORCAB: Inherits: ^Aircraft Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 1600 Tooltip: @@ -230,7 +230,7 @@ TRNSPORT: SCRIN: Inherits: ^Aircraft Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 1500 Tooltip: @@ -280,7 +280,7 @@ SCRIN: APACHE: Inherits: ^Helicopter Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 1000 Tooltip: diff --git a/mods/ts/rules/civilian-infantry.yaml b/mods/ts/rules/civilian-infantry.yaml index 0e5d1bd473..60ddedd390 100644 --- a/mods/ts/rules/civilian-infantry.yaml +++ b/mods/ts/rules/civilian-infantry.yaml @@ -29,7 +29,7 @@ UMAGON: Inherits: ^Soldier Inherits@2: ^HealsOnTiberium Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 400 Tooltip: @@ -86,7 +86,7 @@ MUTANT: Inherits: ^Soldier Inherits@2: ^HealsOnTiberium Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 100 Tooltip: @@ -112,7 +112,7 @@ MWMN: Inherits: ^Soldier Inherits@2: ^HealsOnTiberium Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 100 Tooltip: @@ -138,7 +138,7 @@ MUTANT3: Inherits: ^Soldier Inherits@2: ^HealsOnTiberium Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 100 Tooltip: @@ -214,7 +214,7 @@ SLAV: CIV1: Inherits: ^CivilianInfantry - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove WithInfantryBody: DefaultAttackSequence: attack Armament: @@ -227,7 +227,7 @@ CIV2: CIV3: Inherits: ^CivilianInfantry - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove WithInfantryBody: DefaultAttackSequence: attack Armament: diff --git a/mods/ts/rules/civilian-vehicles.yaml b/mods/ts/rules/civilian-vehicles.yaml index 3fb1cd1bf5..405d3a9b08 100644 --- a/mods/ts/rules/civilian-vehicles.yaml +++ b/mods/ts/rules/civilian-vehicles.yaml @@ -2,7 +2,7 @@ Inherits: ^Tank Inherits@VOXELS: ^VoxelActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetAll + Inherits@AUTOTARGET: ^AutoTargetAllAssaultMove Valued: Cost: 1700 Tooltip: diff --git a/mods/ts/rules/critters.yaml b/mods/ts/rules/critters.yaml index f8f7296e78..5ba05582bb 100644 --- a/mods/ts/rules/critters.yaml +++ b/mods/ts/rules/critters.yaml @@ -2,7 +2,7 @@ DOGGIE: Inherits@1: ^Infantry Inherits@2: ^RegularInfantryDeath Inherits@3: ^HealsOnTiberium - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Tooltip: Name: Tiberian Fiend Health: @@ -54,7 +54,7 @@ VISC_SML: VISC_LRG: Inherits: ^Visceroid Inherits@CRATESTATS: ^CrateStatModifiers - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Tooltip: Name: Adult Visceroid Health: @@ -84,7 +84,7 @@ VISC_LRG: JFISH: Inherits: ^Visceroid Inherits@CRATESTATS: ^CrateStatModifiers - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Tooltip: Name: Tiberium Floater Health: diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index 12efc81211..093c88197b 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -136,6 +136,15 @@ ValidTargets: Infantry, Vehicle, Creep, Water, Building, Defense InvalidTargets: NoAutoTarget +^AutoTargetGroundAssaultMove: + Inherits: ^AutoTargetGround + AutoTargetPriority@DEFAULT: + RequiresCondition: !stance-attackanything && !assault-move + AutoTargetPriority@ATTACKANYTHING: + RequiresCondition: stance-attackanything || assault-move + AttackMove: + AssaultMoveScanCondition: assault-move + ^AutoTargetAir: AutoTarget: AutoTargetPriority@DEFAULT: @@ -154,6 +163,15 @@ ValidTargets: Infantry, Vehicle, Creep, Water, Air, Building, Defense InvalidTargets: NoAutoTarget +^AutoTargetAllAssaultMove: + Inherits: ^AutoTargetAll + AutoTargetPriority@DEFAULT: + RequiresCondition: !stance-attackanything && !assault-move + AutoTargetPriority@ATTACKANYTHING: + RequiresCondition: stance-attackanything || assault-move + AttackMove: + AssaultMoveScanCondition: assault-move + ^2x1Shape: HitShape: Type: Rectangle diff --git a/mods/ts/rules/gdi-infantry.yaml b/mods/ts/rules/gdi-infantry.yaml index 7e9112e2a0..01685acbfd 100644 --- a/mods/ts/rules/gdi-infantry.yaml +++ b/mods/ts/rules/gdi-infantry.yaml @@ -1,7 +1,7 @@ E2: Inherits: ^Soldier Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Buildable: Queue: Infantry BuildPaletteOrder: 20 @@ -72,7 +72,7 @@ MEDIC: JUMPJET: Inherits: ^Soldier Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 600 Tooltip: @@ -193,7 +193,7 @@ GHOST: Inherits: ^Soldier Inherits@EXPERIENCE: ^GainsExperience Inherits@2: ^HealsOnTiberium - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 1750 Tooltip: diff --git a/mods/ts/rules/gdi-vehicles.yaml b/mods/ts/rules/gdi-vehicles.yaml index 4bfd4b10aa..dffbf999f6 100644 --- a/mods/ts/rules/gdi-vehicles.yaml +++ b/mods/ts/rules/gdi-vehicles.yaml @@ -51,7 +51,7 @@ HVR: Inherits: ^Vehicle Inherits@VOXELS: ^VoxelActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetAll + Inherits@AUTOTARGET: ^AutoTargetAllAssaultMove Valued: Cost: 900 Tooltip: @@ -106,7 +106,7 @@ HVR: SMECH: Inherits: ^Vehicle Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 500 Tooltip: @@ -149,7 +149,7 @@ SMECH: MMCH: Inherits: ^Tank Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 800 Tooltip: @@ -208,7 +208,7 @@ HMEC: Inherits: ^Tank Inherits@VOXELS: ^VoxelActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetAll + Inherits@AUTOTARGET: ^AutoTargetAllAssaultMove Valued: Cost: 3000 Tooltip: @@ -252,7 +252,7 @@ SONIC: Inherits: ^Tank Inherits@VOXELS: ^VoxelActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 1300 Tooltip: @@ -295,7 +295,7 @@ JUGG: Inherits: ^Tank Inherits@SPRITES: ^SpriteActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 950 Tooltip: diff --git a/mods/ts/rules/nod-infantry.yaml b/mods/ts/rules/nod-infantry.yaml index 57bb632cef..4feeaafe24 100644 --- a/mods/ts/rules/nod-infantry.yaml +++ b/mods/ts/rules/nod-infantry.yaml @@ -1,7 +1,7 @@ E3: Inherits: ^Soldier Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetAll + Inherits@AUTOTARGET: ^AutoTargetAllAssaultMove Buildable: Queue: Infantry BuildPaletteOrder: 30 @@ -34,7 +34,7 @@ E3: CYBORG: Inherits: ^Cyborg Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Armor: Type: Light Valued: @@ -69,7 +69,7 @@ CYBORG: CYC2: Inherits: ^Cyborg Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Armor: Type: Heavy Valued: diff --git a/mods/ts/rules/nod-vehicles.yaml b/mods/ts/rules/nod-vehicles.yaml index dddb0c1a6e..d883bfd37a 100644 --- a/mods/ts/rules/nod-vehicles.yaml +++ b/mods/ts/rules/nod-vehicles.yaml @@ -2,7 +2,7 @@ BGGY: Inherits: ^Vehicle Inherits@VOXELS: ^VoxelActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 500 Tooltip: @@ -39,7 +39,7 @@ BIKE: Inherits: ^Vehicle Inherits@VOXELS: ^VoxelActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetAll + Inherits@AUTOTARGET: ^AutoTargetAllAssaultMove Valued: Cost: 600 Tooltip: @@ -79,7 +79,7 @@ TTNK: Inherits: ^Tank Inherits@VOXELS: ^VoxelActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 800 Tooltip: @@ -190,7 +190,7 @@ ART2: Inherits: ^Tank Inherits@VOXELS: ^VoxelActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 975 Tooltip: @@ -390,7 +390,7 @@ SUBTANK: Inherits: ^Tank Inherits@VOXELS: ^VoxelActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Valued: Cost: 750 Tooltip: @@ -434,7 +434,7 @@ STNK: Inherits: ^Tank Inherits@VOXELS: ^VoxelActor Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetAll + Inherits@AUTOTARGET: ^AutoTargetAllAssaultMove Valued: Cost: 1100 Tooltip: diff --git a/mods/ts/rules/shared-infantry.yaml b/mods/ts/rules/shared-infantry.yaml index da3fb7b9e5..fcb0130445 100644 --- a/mods/ts/rules/shared-infantry.yaml +++ b/mods/ts/rules/shared-infantry.yaml @@ -1,7 +1,7 @@ E1: Inherits: ^Soldier Inherits@EXPERIENCE: ^GainsExperience - Inherits@AUTOTARGET: ^AutoTargetGround + Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Buildable: Queue: Infantry BuildPaletteOrder: 10