diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs
index 027d4e7c7c..9f103ed954 100644
--- a/OpenRA.Game/Traits/TraitsInterfaces.cs
+++ b/OpenRA.Game/Traits/TraitsInterfaces.cs
@@ -35,7 +35,7 @@ namespace OpenRA.Traits
// depends on the order of pips in WorldRenderer.cs!
public enum PipType { Transparent, Green, Yellow, Red, Gray, Blue, Ammo, AmmoEmpty }
- public enum TagType { None, Fake, Primary }
+ public enum TagType { None, Primary }
[Flags]
public enum Stance
diff --git a/OpenRA.Mods.Common/Traits/Render/SelectionDecorations.cs b/OpenRA.Mods.Common/Traits/Render/SelectionDecorations.cs
index 6bdc6a3e71..6a81c961cc 100644
--- a/OpenRA.Mods.Common/Traits/Render/SelectionDecorations.cs
+++ b/OpenRA.Mods.Common/Traits/Render/SelectionDecorations.cs
@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Traits
{
// depends on the order of pips in TraitsInterfaces.cs!
static readonly string[] PipStrings = { "pip-empty", "pip-green", "pip-yellow", "pip-red", "pip-gray", "pip-blue", "pip-ammo", "pip-ammoempty" };
- static readonly string[] TagStrings = { "", "tag-fake", "tag-primary" };
+ static readonly string[] TagStrings = { "", "tag-primary" };
public readonly SelectionDecorationsInfo Info;
readonly Actor self;
diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs
index 36faf6f5b1..7f75d971b5 100644
--- a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs
+++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs
@@ -2739,6 +2739,16 @@ namespace OpenRA.Mods.Common.UtilityCommands
node.Value.Nodes.RemoveAll(n => n.Key == "ShowToAllies");
node.Value.Nodes.RemoveAll(n => n.Key == "ShowToEnemies");
}
+
+ if (depth == 1 && node.Key == "Fake")
+ {
+ node.Key = "WithDecoration@fake";
+ node.Value.Nodes.Add(new MiniYamlNode("RequiresSelection", "true"));
+ node.Value.Nodes.Add(new MiniYamlNode("Image", "pips"));
+ node.Value.Nodes.Add(new MiniYamlNode("Sequence", "tag-fake"));
+ node.Value.Nodes.Add(new MiniYamlNode("ReferencePoint", "Top"));
+ node.Value.Nodes.Add(new MiniYamlNode("ZOffset", "256"));
+ }
}
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index aa84c96aa3..938442d852 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -86,7 +86,6 @@
-
diff --git a/OpenRA.Mods.RA/Traits/Buildings/Fake.cs b/OpenRA.Mods.RA/Traits/Buildings/Fake.cs
deleted file mode 100644
index 0f6c1b8dfc..0000000000
--- a/OpenRA.Mods.RA/Traits/Buildings/Fake.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-#region Copyright & License Information
-/*
- * Copyright 2007-2015 The OpenRA Developers (see AUTHORS)
- * This file is part of OpenRA, which is free software. It is made
- * available to you under the terms of the GNU General Public License
- * as published by the Free Software Foundation. For more information,
- * see COPYING.
- */
-#endregion
-
-using System.Collections.Generic;
-using OpenRA.Traits;
-
-namespace OpenRA.Mods.RA.Traits
-{
- [Desc("Display a sprite tag \"fake\" when selected.")]
- class FakeInfo : TraitInfo { }
-
- class Fake : ITags
- {
- public IEnumerable GetTags() { yield return TagType.Fake; }
- }
-}
diff --git a/mods/ra/rules/defaults.yaml b/mods/ra/rules/defaults.yaml
index cb3d9c215b..798ebf032f 100644
--- a/mods/ra/rules/defaults.yaml
+++ b/mods/ra/rules/defaults.yaml
@@ -520,7 +520,12 @@
DamageThreshold: 90
RevealsShroud:
Range: 4c0
- Fake:
+ WithDecoration@fake:
+ RequiresSelection: true
+ Image: pips
+ Sequence: tag-fake
+ ReferencePoint: Top
+ ZOffset: 256
-EmitInfantryOnSell:
-MustBeDestroyed:
diff --git a/mods/ra/sequences/misc.yaml b/mods/ra/sequences/misc.yaml
index 2e3df3bee9..d84ff40e28 100644
--- a/mods/ra/sequences/misc.yaml
+++ b/mods/ra/sequences/misc.yaml
@@ -57,6 +57,7 @@ pips:
# Start: 4
tag-fake:
Start: 18
+ Offset: 0, 2
tag-primary:
Start: 2
pip-empty: pips2