diff --git a/OpenRA.FileFormats/Map/TileSet.cs b/OpenRA.FileFormats/Map/TileSet.cs index 4578605e2f..0c835e14cc 100644 --- a/OpenRA.FileFormats/Map/TileSet.cs +++ b/OpenRA.FileFormats/Map/TileSet.cs @@ -23,6 +23,7 @@ namespace OpenRA.FileFormats public string[] AcceptsSmudgeType = { }; public bool IsWater = false; public Color Color; + public string CustomCursor; public TerrainTypeInfo() {} public TerrainTypeInfo(MiniYaml my) { FieldLoader.Load(this, my); } diff --git a/OpenRA.Mods.RA/Move/Mobile.cs b/OpenRA.Mods.RA/Move/Mobile.cs index a9dd43d6b7..0eff2703bb 100755 --- a/OpenRA.Mods.RA/Move/Mobile.cs +++ b/OpenRA.Mods.RA/Move/Mobile.cs @@ -456,8 +456,10 @@ namespace OpenRA.Mods.RA.Move { IsQueued = forceQueued; cursor = "move"; - if (self.World.LocalPlayer.Shroud.IsExplored(location) && self.World.GetTerrainType(location) == "Rough") - cursor = "move-rough"; + + if (self.World.LocalPlayer.Shroud.IsExplored(location)) + cursor = self.World.GetTerrainInfo(location).CustomCursor ?? cursor; + if (!self.World.Map.IsInMap(location) || (self.World.LocalPlayer.Shroud.IsExplored(location) && unitType.MovementCostForCell(self.World, location) == int.MaxValue)) cursor = "move-blocked"; diff --git a/mods/d2k/tilesets/arrakis.yaml b/mods/d2k/tilesets/arrakis.yaml index 49ae901df3..86a8b200d9 100644 --- a/mods/d2k/tilesets/arrakis.yaml +++ b/mods/d2k/tilesets/arrakis.yaml @@ -31,6 +31,7 @@ Terrain: AcceptsSmudgeType: IsWater: False Color: 255,88,116,116 + CustomCursor: move-rough TerrainType@Concrete: Type: Concrete AcceptsSmudgeType: @@ -4788,4 +4789,4 @@ Templates: PickAny: False Tiles: 0: Rough - 1: Rough \ No newline at end of file + 1: Rough